genetic_algorithm #29
38
algorytm_genetyczny.py
Normal file
38
algorytm_genetyczny.py
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import random
|
||||||
|
|
||||||
|
EKRAN_SZEROKOSC = 770
|
||||||
|
EKRAN_WYSOKOSC = 770
|
||||||
|
blockSize = 70
|
||||||
|
LICZBA_REGALOW = 14
|
||||||
|
LICZBA_MIEJSC_DLA_PACZKE = 1
|
||||||
|
LICZBA_SKRZYNEK_NA_LISTY = 1
|
||||||
|
|
||||||
|
|
||||||
|
def wygeneruj_osobnika(zasieg_wspolrzednych, ilosc_wspolrzednych):
|
||||||
|
# ilosc_wspolrzednych = ilosc_wspolrzednych/2
|
||||||
|
osobnik = list()
|
||||||
|
for j in range(ilosc_wspolrzednych):
|
||||||
|
x = random.randint(0, zasieg_wspolrzednych)
|
||||||
|
y = random.randint(0, zasieg_wspolrzednych)
|
||||||
|
e = (x, y)
|
||||||
|
while e in osobnik:
|
||||||
|
x = random.randint(0, zasieg_wspolrzednych)
|
||||||
|
y = random.randint(0, zasieg_wspolrzednych)
|
||||||
|
e = (x, y)
|
||||||
|
osobnik.append(e)
|
||||||
|
return osobnik
|
||||||
|
|
||||||
|
|
||||||
|
def wygeneruj_populacje_poczatkowa(liczebnosc_populacji):
|
||||||
|
populacja = list()
|
||||||
|
zasieg = int(EKRAN_WYSOKOSC / blockSize)
|
||||||
|
ilosc_wspolrzednych = (LICZBA_REGALOW + LICZBA_MIEJSC_DLA_PACZKE + LICZBA_SKRZYNEK_NA_LISTY)
|
||||||
|
for i in range(liczebnosc_populacji):
|
||||||
|
osobnik = wygeneruj_osobnika(zasieg, ilosc_wspolrzednych)
|
||||||
|
while osobnik in populacja:
|
||||||
|
osobnik = wygeneruj_osobnika(zasieg, ilosc_wspolrzednych)
|
||||||
|
populacja.append(osobnik)
|
||||||
|
return populacja
|
||||||
|
|
||||||
|
|
||||||
|
print(wygeneruj_populacje_poczatkowa(100))
|
Loading…
Reference in New Issue
Block a user