AMPL внедряет ILP-рецептуру - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь решить проблему сбора призов-штейнеров-деревьев с помощью AMPL.Я нашел для этого формулировку ILP, но теперь у меня есть проблемы с ее внедрением в AMPL.Особенно ограничение в (с). ILP-формулировка Я надеюсь, что кто-нибудь может мне помочь.

моя попытка:

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;

1 Ответ

0 голосов
/ 04 декабря 2018

Не уверен, что следующее работает, но, возможно, поможет вам приступить к работе

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<>v и очень заинтересованесли вы нашли решение.

...