在 AMPL 中编写大量约束
writing large number of constraints in AMPL
我正在尝试解决 AMPL 中 TSP 的小实例。但是,即使对于一个小实例,subtour 消除约束也太多了。在 AMPL 中编写这些约束的有效方法是什么。谢谢
这是AMPL中一组subtour消除约束的常用公式
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
呈指数增长,您可以按照 here.
在 AMPL 脚本中动态添加它们,而不是提前添加所有这些
我正在尝试解决 AMPL 中 TSP 的小实例。但是,即使对于一个小实例,subtour 消除约束也太多了。在 AMPL 中编写这些约束的有效方法是什么。谢谢
这是AMPL中一组subtour消除约束的常用公式
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
呈指数增长,您可以按照 here.