4.6.2014
projekt_16_04_zad_3: projekt 16/04 zadanie 3
file:///F:/Moje%20dokumenty/projects/projekt_16_04/projekt_16_04_zad_3/projekt_16_04_zad_3/doxygen/html/index.html
1/2
projekt 16/04 zadanie 3
Autor:
Tomasz Jakubczyk
Prowadzacy:
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.
Przyjete dodatkowe zalożenia
Klient nadaje paczke w oddziale lub oddziale ktory jest jednoczesnie baza.
Oddzial sortuje paczki. Jesli adresat nalezy do oddzialu, to paczka zostaje wyslana do niego
pierwszym dostepnym samochodem razem z innymi paczkami czekajacymi na dostarczenie do
klientow. Jesli adresat nie nalezy do oddzialu paczka zostaje wyslana pierwszym dostepnym
samochodm do bazy razem z innymi paczkami czekajacymi na wyslanie do bazy.
Baza po otrzymaniu paczki sprawdza w ktorym oddziale jest adresat i wysyla ja pierwszym
dostepnym samochodem razem z paczkami czekajacymi na wyslanie do tego oddzialu.
Oddzial po otrzymaniu paczki z bazy wysyla ja pierwszym dostepnym samochodem do klienta
razem ze wszystkimi paczkami czekajacymi na dostarczenie do klientow w rejonie.
Przebieg wykonywany jest w fazach bedacych liczbami naturalnymi (co zwieksza czytelnosc, a
ewentualnie latwo jest konwertowac na daty), nadanie i posortowanie zajmuje jedna faze, tak
samo kazde przewiezienie samochodem.
Rozdzielanie paczek do samochodow:
paczki najwczesniej nadane ze zbiorow jadacych w to samo miejsce zajmoja samochod
najpierw
zawsze dopelniac samochod jadacy w dane miejsce paczkami ktore tam jada
te paczki ktore zostana czekaja do nastepnej fazy
paczki ladowane sa do najmniejszego wolnego samochodu ktory moze je pomiescic
jesli zaden wolny samochod nie miesci paczek to najwieksy dostepny zabiera ile zmiesci, a
reszta musi pojechac innym samochodem wedlug tych samych zasad
4.6.2014
projekt_16_04_zad_3: projekt 16/04 zadanie 3
file:///F:/Moje%20dokumenty/projects/projekt_16_04/projekt_16_04_zad_3/projekt_16_04_zad_3/doxygen/html/index.html
2/2
Opis uruchamiania
Program testujacy 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 nalerzy podac nazwe pliku w ktorym zostanie zapisany przebieg.
Nastepnie nalazy podac ilosc oddzialow ilosc i typy samochodow oraz ilosc i nazwy klientow. Na
koniec mozna wprowadzic ilosc przesylek, ich nadawcow i odbiorcow oraz czas nadania, albo
wpisujac w ilosc przesylek "-1" losowo wygenerowac przesylki.
Hierarchia klas
Ta lista dziedziczenia posortowana jest z grubsza, choć nie całkowicie, alfabetycznie:
[poziom szczegółów
1 2
]
engine
Zapewnia sterowanie przebiegiem symulacji
klient
Klient nalezy do jednego oddzialy i moze wysylac i dostawac paczki
oddzial
Oddzial ma klientow i samochody
baza
Baza spelnia funkce oddzialu i jest polaczona ze wszystkimi odzialami
paczka
Paczka idzie od nadawcy do odbiorcy
samochod
Samochody przewoza paczki
duzy
Duzy samochod o pojemnosci 100
maly
Maly samochod o pojemnosci 10
sredni
Sredni samochod o pojemnosci 50