我正在尝试解决AMPL中的小型TSP实例。但是即使对于一个小的实例,小区消除约束也太多了。在AMPL中编写这些约束的有效方法是什么。感谢
答案 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脚本动态添加它们。