Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:csp:lab3 [2016/03/16 02:08] msl |
pl:dydaktyka:csp:lab3 [2019/06/27 15:50] (aktualna) |
* **Etap 2:** | * **Etap 2:** |
- Należy uzupełnić ograniczenia pod odpowiednimi komentarzami tak, aby problem był rozwiązywalny dla małych ''n'' | - Należy uzupełnić ograniczenia pod odpowiednimi komentarzami tak, aby problem był rozwiązywalny dla małych ''n'' |
| - Podpowiedź - wygodne może być złożenie ograniczeń korzystając z alternatywy ''\/'' |
* **Etap 3:** | * **Etap 3:** |
- zastosować globalne ograniczenie [[http://www.minizinc.org/2.0/doc-lib/doc-globals-packing.html|diffn]] | - zastosować globalne ograniczenie [[http://www.minizinc.org/2.0/doc-lib/doc-globals-packing.html|diffn]] |
- Dodać nadmiarowe ograniczenia | - Dodać nadmiarowe ograniczenia |
- Podpowiedź - jaka jest relacja między pakowanie a harmonogramowaniem pracy, np. używając ograniczenia {{:pl:dydaktyka:csp:cumulative.png?linkonly|cumulative}} | - Podpowiedź - jaka jest relacja między pakowanie a harmonogramowaniem pracy, np. używając ograniczenia {{:pl:dydaktyka:csp:cumulative.png?linkonly|cumulative}} |
- Podpowiedź - wygodne może być złożenie ograniczeń korzystając z alternatywy ''\/'' | |
* **Etap 5:** | * **Etap 5:** |
- Zmienić procedurę szukania tak, aby najpierw próbowała ustalić rozmiar prostokąta, zaczynając od najmniejszych wartości | - Zmienić procedurę szukania tak, aby najpierw próbowała ustalić rozmiar prostokąta, zaczynając od najmniejszych wartości |
- Porównać obie strategie szukania z domyślną - która strategia wydaje się bardziej opłacalna w trudnych przypadkach? | - Porównać obie strategie szukania z domyślną - która strategia wydaje się bardziej opłacalna w trudnych przypadkach? |
- Podpowiedź 1 - kolejność przeszukiwania zmiennych można wymusić przez adnotację ''input_order'' - w tym celu należy wcześniej zmienne włożyć w odpowiedniej kolejności do jednej tablicy zmiennych używając np. ''array comprehension''. | - Podpowiedź 1 - kolejność przeszukiwania zmiennych można wymusić przez adnotację ''input_order'' - w tym celu należy wcześniej zmienne włożyć w odpowiedniej kolejności do jednej tablicy zmiennych używając np. ''array comprehension''. |
- Podpowiedź 2 - tablicę można odwrócić używające funkcji ''reverse''. | - Podpowiedź 2 - dla uproszczenia tablicę można odwrócić używające funkcji ''reverse'' --- ale nie jest to konieczne. |
| |
| |
</code> | </code> |
| |
===== Prawdziwy problem: ładowanie węgla na kontenerowce ===== | ===== Prawdziwy problem: ładowanie węgla ===== |
| |
| ==== Krótki opis ==== |
Głównym problemem, z którym przyjdzie nam się zmierzyć, będzie problem harmonogramowania pracy portu, który ma załadować węgiel na odpowiednie kontenerowce. Zastosowane poniżej materiały pochodzą z Uniwersytetu w Melbourne, ponieważ problem ten jest realnym wyzwaniem dla prężnie funkcjonującego w Australii eksportu węgla. | Głównym problemem, z którym przyjdzie nam się zmierzyć, będzie problem harmonogramowania pracy portu, który ma załadować węgiel na odpowiednie kontenerowce. Zastosowane poniżej materiały pochodzą z Uniwersytetu w Melbourne, ponieważ problem ten jest realnym wyzwaniem dla prężnie funkcjonującego w Australii eksportu węgla. |
| |
==== Pierwsze laboratoria ==== | |
| |
W ramach pierwszego laboratorium należy zapoznać się z problemem i rozwiązać poziom "A". Jest on analogiczny do problemu pakowania, przedstawionego powyżej. | ==== Plan Zajęć ==== |
| |
| W ramach pierwszego laboratorium należy zapoznać się z problemem i rozwiązać poziom "A". Jest on analogiczny do problemu pakowania, przedstawionego powyżej. W ramach drugiego laboratorium zajmiemy się pozostałymi fazami. |
| |
<WRAP center round tip 60%> | <WRAP center round tip 60%> |
</WRAP> | </WRAP> |
| |
| ==== Materiały ==== |
| |
| - Proszę pobrać i rozpakować {{:pl:dydaktyka:csp:portschedule.zip|dane problemu}}. |
| - Plik ''handout.pdf'' zawiera szczegółowy opis projektu |
| - Plik ''portschedule.mzp'' jest plikiem projektu MiniZinc. Należy go otworzyć w MiniZincIDE. Plik źródłowy jest wzbogacony o liczne komentarze, które powinny ułatwić budowę modelu. |
| |
| |
| |