【问题标题】:AMPL implement ILP-formulationAMPL 实施 ILP 公式
【发布时间】:2018-06-25 21:50:13
【问题描述】:

我尝试用 AMPL 解决一个奖品收集斯坦纳树优化问题。我确实为此找到了 ILP 公式,但现在我在将其实施到 AMPL 中时遇到了问题。特别是(c)中的约束。 ILP-formulation希望有人能帮帮我。

我的尝试:

param n; #Anzahl der Knoten

set V := 1..n; #Knotenmenge
set E within {i in V, j in V: i<j}; #Kantenmenge
set T {i in V}; #Terminalmenge 

param p {i in V};
param w {(i,j) in E};
param r in V;


var x {(i,j) in E} binary;
var y {k in V: k != r} binary;

maximize profit: sum {i in V} p[i]*y[i] - sum {(i,j) in E} w[i,j]*x[i,j];

subject to Verhältnis: sum {(i,j) in E} x[i,j] = sum {i in V} y[i] - 1 ;
subject to Terminal{i in T}: y[i] = 1;

【问题讨论】:

  • 在此处粘贴您的代码将帮助您获得答案,而不是发布图片。
  • 您能否具体说明是什么导致了您的问题?

标签: ampl


【解决方案1】:

不确定以下是否有效,但可能会帮助您继续前进

set Vt within V     #Vt subset of V
set card(Vt) >= 2   #|Vt| >= 2
set v in Vt
set E_Vt --> "maybe set similar as E but with Vt"

subject to constraint_C: sum{(i,j) in E_Vt} x[i,j] <= sum{i in Vt and i<>v} y[i]

我自己不知道怎么写 i in Vt\{v} 这就是我写i&lt;&gt;v 的原因,如果你找到解决方案我很感兴趣。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多