Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:csp:lab2 [2016/03/09 00:00] msl [Modele łączone - n-hetmans return!] |
pl:dydaktyka:csp:lab2 [2019/06/27 15:50] (aktualna) |
* Problem: ponownie problem n-hetmanów. | * Problem: ponownie problem n-hetmanów. |
* Należy: | * Należy: |
- Odkopać model n-hetmanów z poprzednich zajęć. | - Odkopać model n-hetmanów z poprzednich zajęć. Ewentualnie pobrać ten: {{:pl:dydaktyka:csp:csp_n_hetmans.zip|}} |
- Dopisać do niego drugą możliwość wyboru zmiennych decyzyjnych i ograniczeń | - Dopisać do niego drugą możliwość wyboru zmiennych decyzyjnych i ograniczeń |
* Jeżeli ostatnio zmienne były indeksowane kolumnami i wskazywały na numer wiersza, należy dopisać model odwrotny . | * Jeżeli ostatnio zmienne były indeksowane kolumnami i wskazywały na numer wiersza, należy dopisać model odwrotny. |
- Powiązać ze sobą ograniczeniami oba zestawy zmiennych. | - Powiązać ze sobą ograniczeniami oba zestawy zmiennych. |
* Pomocne może być globalne ograniczenie [[http://www.minizinc.org/2.0/doc-lib/doc-globals-channeling.html|''inverse'']] | * Pomocne może być globalne ograniczenie [[http://www.minizinc.org/2.0/doc-lib/doc-globals-channeling.html|''inverse'']] |
daje solverovi znać, że tablica zmiennych array zawiera liczby i należy ją przeszukiwać, najpierw wybierając zmienne o najmniejszej dziedzinie (''first_fail''), następnie przypisywać im jak najmniejsze wartości (''indomain_min'') i przeszukiwać całą przestrzeń rozwiązań (''complete''). | daje solverovi znać, że tablica zmiennych array zawiera liczby i należy ją przeszukiwać, najpierw wybierając zmienne o najmniejszej dziedzinie (''first_fail''), następnie przypisywać im jak najmniejsze wartości (''indomain_min'') i przeszukiwać całą przestrzeń rozwiązań (''complete''). |
| |
Istnieją bardziej zaawansowane metody określania strategii w poszczególnych solverach, ale MiniZinc chcąc być językiem niezależnych od solvera nie może sobie na to pozwolić. Aktualnie konstrukcje pozwalające na pełną kontrolę nad procesem przeszukiwania działają jedynie dla solvera Gecode i wymagają dodania pewnych patchy do standardowej dystrybucji MiniZinc. | Istnieją bardziej zaawansowane metody określania strategii w poszczególnych solverach, ale MiniZinc chcąc być językiem niezależnym od solvera nie może sobie na to pozwolić. Aktualnie konstrukcje pozwalające na pełną kontrolę nad procesem przeszukiwania działają jedynie dla solvera Gecode i wymagają dodania pewnych patchy do standardowej dystrybucji MiniZinc. |
| |
==== n-hetmans again ==== | ==== n-hetmans again ==== |