在AMPL中写入大量约束

时间:2015-03-27 10:08:59

标签: ampl

我正在尝试解决AMPL中的小型TSP实例。但是即使对于一个小的实例,小区消除约束也太多了。在AMPL中编写这些约束的有效方法是什么。感谢

1 个答案:

答案 0 :(得分: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呈指数级增长,而不是提前添加所有约束,您可以按照here所述的AMPL脚本动态添加它们。