Я решаю проблему планирования (кратко описано здесь: Планирование SWI Prolog CLP (FD) переключено на ECLP).
Я могу быстро получить какое-то решение, но теперь я хочу включить некоторую задачу оптимизации.
Часть строки проблемы / графика выглядит как D1,D2,N1,N2,A0,A1,A2,..,A9
, где стоимость этих переменных равна C1,C1,C1,C1,C2,C2,C2,...,C2
. Таким образом, с этой точки зрения любая перестановка присваиваний A0..A9
имеет одинаковую стоимость. Но, очевидно, в процессе маркировки решатель откатывает все возможности.
Краткое примечание: я вычисляю это только в моей голове, но я думаю, что пространство поиска только для этой описанной части похоже на число подмножеств размера 10 из области размера 15 * 10 ! . Это довольно много места для возврата. И с точки зрения затрат / оптимизации, а также удовлетворения ограничений, каждая перестановка имеет одинаковую стоимость / выполнимость - порядок переменных не имеет значения.
Могу ли я как-то повлиять на процедуру маркировки / поиска, чтобы не беспокоиться о порядке переменных в каком-либо списке? Или вы можете предоставить какой-нибудь способ, как смоделировать проблему, чтобы можно было работать таким образом?