Написание большого количества ограничений в AMPL
Я пытаюсь решить небольшие случаи TSP в AMPL. Но ограничений на устранение недочетов слишком много даже для небольшого экземпляра. Что было бы эффективным способом написать эти ограничения в AMPL. Спасибо
1 ответ
Решение
Вот обычная формулировка набора ограничений на удаление подуровня в AMPL
subj to SubtourElim {k in SS diff {0,2**n-1}}:
sum {i in POW[k], j in S diff POW[k]: (i,j) in LINKS} X[i,j] +
sum {i in POW[k], j in S diff POW[k]: (j,i) in LINKS} X[j,i] >= 2;
взято с http://ampl.com/FAQ/tsp.mod.
Поскольку число ограничений растет экспоненциально с n
вместо того, чтобы добавлять их все заранее, вы можете динамически добавлять их в сценарий AMPL, как описано здесь.