Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:dydaktyka:csp:lab3 [2016/03/16 02:10]
msl [Pierwsze laboratoria]
pl:dydaktyka:csp:lab3 [2019/06/27 15:50] (aktualna)
Linia 14: Linia 14:
   * **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]]
Linia 20: Linia 21:
     - 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
Linia 27: Linia 27:
     - 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.
  
  
Linia 62: Linia 62:
 </​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.
  
-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. ​+==== 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%>
 Sortowanie tablicy na potrzeby definiowania kolejności przeszukiwania zmiennych można zrealizować używając funkcji [[http://​www.minizinc.org/​2.0/​doc-lib/​doc-builtins-array.html|sort_by]]. Sortowanie tablicy na potrzeby definiowania kolejności przeszukiwania zmiennych można zrealizować używając funkcji [[http://​www.minizinc.org/​2.0/​doc-lib/​doc-builtins-array.html|sort_by]].
 </​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.
  
  
  
pl/dydaktyka/csp/lab3.1458090612.txt.gz · ostatnio zmienione: 2019/06/27 15:52 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0