Merge pull request 'genetic_algorithm' (#29) from genetic_algorithm into master
Reviewed-on: #29
This commit is contained in:
commit
88f5a1acd0
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