projekt 16/04 zadanie 3
Autor:
Tomasz
Jakubczyk
Prowadzący:
Piotr Witoński
Zadanie
Przyjąć następujące założenia dotyczące firmy kurierskiej:
firma składa się z bazy i kilku oddziałów;
firma obsługuje wielu stałych klientów;
flota firmy składa się z samochodów różnych typów;
firma zajmuje się dostarczaniem przesyłek do swoich klientów.
Należy zasymulować działanie takiej firmy tworząc sieć połączeń między bazą a oddziałami oraz między oddziałami a klientami. Oprogramować wizualizację symulacji. Ustalić eksperymentalnie, gdzie robią się najdłuższe kolejki.
Przyjęte dodatkowe założenia
Klient nadaje paczkę w oddziale lub oddziale który jest jednocześnie baza.
Oddział sortuje paczki. Jeśli adresat należy do oddziału, to paczka zostaje wysłana do niego pierwszym dostępnym samochodem razem z innymi paczkami czekającymi na dostarczenie do klientów. Jeśli adresat nie należy do oddziału paczka zostaje wysłana pierwszym dostępnym samochodem do bazy razem z innymi paczkami czekającymi na wysłanie do bazy.
Baza po otrzymaniu paczki sprawdza w którym oddziale jest adresat i wysyła ja pierwszym dostępnym samochodem razem z paczkami czekającymi na wysłanie do tego oddziału.
Oddział po otrzymaniu paczki z bazy wysyła ja pierwszym dostępnym samochodem do klienta razem ze wszystkimi paczkami czekającymi na dostarczenie do klientów w rejonie.
Przebieg wykonywany jest w fazach będących liczbami naturalnymi (co zwiększa czytelność, a ewentualnie łatwo jest konwertować na daty), nadanie i posortowanie zajmuje jedna fazę, tak samo każde przewiezienie samochodem.
Rozdzielanie paczek do samochodów:
paczki najwcześniej nadane ze zbiorów jadących w to samo miejsce zajmują samochód najpierw
zawsze dopełniać samochód jadący w dane miejsce paczkami które tam jada
te paczki które zostaną czekają do następnej fazy
paczki ładowane są do najmniejszego wolnego samochodu który może je pomieścić
jeśli żaden wolny samochód nie mieści paczek to największy dostępny zabiera ile zmieści, a reszta musi pojechać innym samochodem według tych samych zasad
Opis uruchamiania
Program testujący ma trzy opcje: new - wprowadzenie nowych danych, start - wykonanie symulacji (zwraca przebieg do konsoli i zapisuje go do pliku), exit - koniec programu
Wprowadzanie danych: Najpierw należy podać nazwę pliku w którym zostanie zapisany przebieg. Następnie należy podać ilość oddziałów ilość i typy samochodów oraz ilość i nazwy klientów. Na koniec można wprowadzić ilość przesyłek, ich nadawców i odbiorców oraz czas nadania, albo wpisując w ilość przesyłek "-1" losowo wygenerować przesyłki.
Klient należy do jednego oddziały i może wysyłać i dostawać paczki |
|
Baza spełnia funkcje oddziału i jest połączona ze wszystkimi oddziałami |
|
Średni samochód o pojemności 50 |