总结AMPL中的特定元素

时间:2014-09-24 08:33:50

标签: ampl

Hello优化人员

我打算添加一个限制,禁止两个特定城市之间的流量过高。

我打算在.mod文件中使用以下内容:

 set N:= Kiruna Stockholm Boliden;
 var x{N,N} binary;

 minimize sum{i in N, j in N} x[i,j];

 subject to Constraint1:
      sum{i in N, j in N} x[Kiruna, Stockholm] <= 4;

然而,这给了我错误。如何正确进行此摘要?

提前致谢!

1 个答案:

答案 0 :(得分:1)

代码中有几个错误:

  1. 您使用数据语法初始化模型中的集合N。您应该将set N的声明分开并为其设置数据,或者使用模型语法对其进行初始化:

    set N:= {'Kiruna', 'Stockholm', 'Boliden'};
    
  2. minimize后面应该是目标名称和冒号:

    minimize obj: sum{i in N, j in N} x[i,j];
    
  3. 应引用字符串KirunaStockholm

    x['Kiruna', 'Stockholm'] <= 4;
    
  4. 如果x[i, j]表示城市ij之间的流量,并且您希望它不超过4,那么您需要一组约束而不是求和:

    subject to Constraint1{i in N, j in N}: x[i, j] <= 4;