Algorytm genetyczny bez szukania współrzędnych
This commit is contained in:
parent
ac60fefa76
commit
be1be8fcd2
41
Piotrek.py
41
Piotrek.py
@ -11,21 +11,21 @@ class main():
|
||||
self.pathfinding_tractorless = pathfinding_tractorless.pathfinding_tractorless()
|
||||
self.pathfinding_tractor = pathfinding_tractor.pathfinding_tractor()
|
||||
|
||||
def wspolrzedne(self): #wyznacza wspolrzedne pol danego rodzaju na planszy
|
||||
znalezione_pola = []
|
||||
k = 0
|
||||
ktore_pole = self.traktor.get_modes_values() #rodzaj pól zależy od ustawionego trybu pracy agenta
|
||||
for i in self.field.field_matrix:
|
||||
l = 0
|
||||
for j in i:
|
||||
if j in ktore_pole:
|
||||
znalezione_pola.append(k*10+l)
|
||||
l = l + 1
|
||||
k = k + 1
|
||||
pierwsze_szukane_pole = znalezione_pola[0] #początkowa współrzędna, w każdym przypadku pole startowe [0,0]
|
||||
znalezione_pola.append(pierwsze_szukane_pole)
|
||||
print("Współrzędne szukanych pól: " + str(znalezione_pola))
|
||||
return znalezione_pola
|
||||
# def wspolrzedne(self): #wyznacza wspolrzedne pol danego rodzaju na planszy
|
||||
# znalezione_pola = []
|
||||
# k = 0
|
||||
# ktore_pole = self.traktor.get_modes_values() #rodzaj pól zależy od ustawionego trybu pracy agenta
|
||||
# for i in self.field.field_matrix:
|
||||
# l = 0
|
||||
# for j in i:
|
||||
# if j in ktore_pole:
|
||||
# znalezione_pola.append(k*10+l)
|
||||
# l = l + 1
|
||||
# k = k + 1
|
||||
# pierwsze_szukane_pole = znalezione_pola[0] #początkowa współrzędna, w każdym przypadku pole startowe [0,0]
|
||||
# znalezione_pola.append(pierwsze_szukane_pole)
|
||||
# print("Współrzędne szukanych pól: " + str(znalezione_pola))
|
||||
# return znalezione_pola
|
||||
|
||||
def koszt_przejazdu(self,znalezione_pola): #wyznacza koszt trasy przez pola danego rodzaju w zadanej kolejnosci
|
||||
self.liczba_pol = len(znalezione_pola)
|
||||
@ -261,11 +261,10 @@ class main():
|
||||
# print("Populacja po optymalizacji: " + str(populacja_po_optymalizacji))
|
||||
return populacja_po_optymalizacji
|
||||
|
||||
def algorytm_genetyczny(self):
|
||||
self.znalezione_pola = self.wspolrzedne()
|
||||
self.koszt_trasy = self.koszt_przejazdu(self.znalezione_pola)
|
||||
def algorytm_genetyczny(self,coords):
|
||||
self.koszt_trasy = self.koszt_przejazdu(coords)
|
||||
# Utworzenie pokolenia
|
||||
self.pierwsze_pokolenie = self.tworzenie_pokolenia(self.znalezione_pola,10)
|
||||
self.pierwsze_pokolenie = self.tworzenie_pokolenia(coords,10)
|
||||
# Funkcja przystosowania
|
||||
self.przystosowanie, self.najnizszy_koszt, self.najwyzszy_koszt, self.srednie_przystosowanie_pierwszego_pokolenia, self.najtanszy_osobnik = self.ocena_przystosowania(self.pierwsze_pokolenie)
|
||||
# Populacja pośrednia wybrana metodą ruletki
|
||||
@ -322,6 +321,6 @@ class main():
|
||||
self.pathfinding_tractor.pathfinding_tractor(self.field, self.traktor, self.ui, self.najtansza_trasa, l)
|
||||
l = l + 1
|
||||
|
||||
def main(self):
|
||||
self.algorytm_genetyczny()
|
||||
def main(self,coords):
|
||||
self.algorytm_genetyczny(coords)
|
||||
self.wykonanie_trasy()
|
Loading…
Reference in New Issue
Block a user