Genetinis Algoritmas (MethodGA, KnapGen2)

Archyvai

ga.jar - Genetinio Algoritmo(GA) modeliavimo paketas.
methodGA.jar - GA kaip optimizavimo metodas GMJ pakete. "Method" dalyje pasirinkti "MethodGA" metodą.
KnapGen2.jar - GA paketas sprendžiantis Knapsack uždavinį. Į GMJ paketą jis įtrauktas kaip užduotis "Task" dalyje pavadinimu "KnapGen2".

Vartotojo gidas

GA tiek ir kaip metodas, tiek ir kaip užduotis turi tuos pačius parametrus. Todėl juos bendrai ir pakomentuosiu:

Iteracijų skaičius (Iterations)

Nurodoma kiek GA iteracijų atlikti.

Individų skaičius (Individuals, Population)

Individų skaičius vienoje iteracijoje.

Mutacijos tikimybė (Mutation)

Su tokia tikimybe bus atliekama mutacija.

Kryžminimo tikimybė (Crossover)

Su tokia tikimybe bus atliekamas kryžminimas.

Geriausi individai (Elites)

Nurodytas procentas (0-1) geriausių individų bus perkialiamą į naują iteraciją be jokių pokyčių. Skaičiuojant perkialiamų individų skaičių apvalinama į viršų, t.y. net ir 0,0...01 iššauks vieno individo perkėlimą.

Mutacijos tipas (Mutation type)

Vieno geno mutacija (Single gene mutation). Mutuoja tik vienas individo genas. Visi kiti mutacijos parametrai neturi įtakos.
Paprasta mutacija (Simple partial mutation). Mutuoja nurodyta individo genų dalis. Kiek individų genų turi mutuoti nusako parametras Mutuojanti dalis (Mutating part).
Mutacija ieškant geriausio varianto (Searching best mutation). Atliekama paprasta mutacija, bet į rezultatus patenka tik geriausias individas. Parametru Mutacijos geriausio paieškos lygis (Mutation best search level) galima nurodyti kiek kartų bandyti atrasti geriausią.

Kryžminimo tipas (Crossover type)

Paprastas kryžminimas (Simple crossover). Atliekamas paprastas individų kryžminimas.
Kryžminimas ieškant geriausio varianto (Searching best crossover). Atliekama paprastas kryžminimas, bet į rezultatus patenka tik geriausi individai. Parametru Kryžminimo geriausio paieškos lygis (Crossover best search level) galima nurodyti kiek kartų bandyti atrasti geriausią.

Kryžminimo stilius (Crossover style)

Kryžminimas per vieną tašką (Single point crossover). Kryžminama per vieną tašką.
Kryžminimas per du taškus (Two points crossover). Kryžminama per du taškus.
Kryžminimas atsitiktinai (Random crossover). Kryžminama genus išrenkant atsitiktinai.