Go to file
2020-06-15 12:00:05 +02:00
package_location_classifier Poprawka 2020-05-11 14:15:54 +02:00
agent.py Zaktualizuj 'agent.py' 2020-06-15 02:29:35 +00:00
Andrzej_Preibisz.md genetic route algorithm 2020-06-15 03:17:57 +02:00
attributes.py genetic route algorithm 2020-06-15 03:17:57 +02:00
cyfra.png image_test 2020-06-15 01:33:12 +00:00
Drzewo.png genetic route algorithm 2020-06-15 03:17:57 +02:00
environment.md genetic route algorithm 2020-06-15 03:17:57 +02:00
forklift_loaded.png genetic route algorithm 2020-06-15 03:17:57 +02:00
forklift.png dodanie skręcania i tekstury wózka 2020-04-30 16:36:55 +02:00
genetic_algorithm.md genetic route algorithm 2020-06-15 03:17:57 +02:00
genetic_algorithm.py Merge branch 'master' of https://git.wmi.amu.edu.pl/s444360/SI_2020 2020-06-15 12:00:05 +02:00
genetic_route.py Zaktualizuj 'genetic_route.py' 2020-06-15 01:35:00 +00:00
Jakub Damiński.md Opis projektu - początek 2020-06-15 01:57:43 +00:00
main.py Merge branch 'master' of https://git.wmi.amu.edu.pl/s444360/SI_2020 2020-06-15 12:00:05 +02:00
model_weights.h5 wagi 2020-06-15 01:45:58 +00:00
products_types.py genetic route algorithm 2020-06-15 03:17:57 +02:00
Readme.md genetic route algorithm 2020-06-15 03:17:57 +02:00
route_planning.md genetic route algorithm 2020-06-15 03:17:57 +02:00
siec.py tworzenie modelu 2020-06-15 02:15:28 +00:00
sieci_n.py sieci_nauka 2020-06-15 01:30:38 +00:00
sieci.md sieci_n.md 2020-06-15 01:43:55 +00:00
srodowisko_agenta.png genetic route algorithm 2020-06-15 03:17:57 +02:00
Test_Results.png genetic route algorithm 2020-06-15 03:17:57 +02:00
Test_results.xlsx Poprawka, dodanie wyników testowania 2020-05-11 13:44:58 +02:00
warehouse.py genetic route algorithm 2020-06-15 03:17:57 +02:00
wyniki_testu.PNG dodane zdjęcie z wynikami testu 2020-05-10 15:36:12 +02:00

Język, biblioteki, moduły

Projekt piszemy w języku Python 3. Graficzna reprezentacja jest stworzona przy użyciu biblioteki Pygame. Oprócz tego zostały również użyte moduły: queue, collections, oraz itertools i enum.

Środowisko agenta

Środowiskiem agenta jest krata o wymiarze 20 na 20. Reprezentowana jest ona przez 2-wymiarową listę składającą się z obiektów klasy Tile, oraz Pack.

Generowanie mapy

Generowanie mapy w ramach której będzie działać agent odbywa się przy pomocy znacznie zmodyfikowanego algorytmu Depth First Search, z nałożonym ograniczeniem ilości regałów które mogą być wygenerowane na mapie. Na obrazku poniżej pokazane jest przykładowe środowisko agenta. Przykladowe Srodowisko

Obiekty

Obiekt Tile reprezentuje pole na kracie - regał, lub podłogę. Przechowuje on także pozycję pola na kracie. Obiekt Pack reprezentuje paczkę. Zawiera on informacje o tym na jakim polu leży paczka, jej kategorię a także status. Status może przyjąć wartość LOOSE(paczka leży na podłodze),
STORED(paczka jest na właściwym regale we właściwym miejscu magazynu), albo STORED_BAD_LOCATION(paczka jest na regale, ale w złej lokalizacji).

Regał

Reprezentowany jest przez obiekt Tile posiadający kategorię 'rack' Kategoria zawiera informacje czy pole danej kategorii może przechowywać paczkę, czy agent może po nim przejść(po podłodze może, po regale nie). Regał posiada również informacje jaka gabarytowo paczka może być na nim przechowywana.

Agent

Agent jest reprezentowany przez czarny okrąg na planszy. W kodzie programu jest on reprezentowany przez obiekt klasy Agent, obecnie posiada on informacje o swoich współrzędnych oraz o tym, czy właśnie transportuje paczkę czy nie. Przy początku symulacji agent zostaje umieszczony w losowym miejscu, które nie jest regałem, ani nie leży na nim paczka. Możliwe ruchy do wykonania przez agenta na planszy to: • ruch 1 pole w prawo • ruch 1 pole w lewo • ruch 1 pole do góry • ruch 1 pole w dół Agent może wykonywać tylko 1 z tych ruchów w jednym kroku, czyli nie jest w stanie poruszyć się jednocześnie w prawo i do góry (na skos).