AMPL 错误 - 未绑定变量
AMPL EROR - unbounded variable
我正在使用求解器 gurobi 解决问题,但出现以下错误:Gurobi 5.1.0: unbounded; variable.unbdd 返回。
我的代码:
example.mod
set nusos;
set centr within nusos;
set links within ( nusos cross nusos );
set origens within centr;
set destins within centr;
set odpair within ( origens cross destins );
set destperorig { i in origens } :=
setof { (i1, j1) in odpair : i = i1 } j1;
param g{odpair} >0;
param t0{links};
param Tdreta { i in nusos, k in origens }:=
if i in destperorig[k] then -1.0*g[k, i]
else
if i = k then sum {j in destperorig[k]} g[k, j] else 0;
node N {i in nusos, k in origens}: net_out = Tdreta[i, k];
arc v_k { (i, j) in links, k in origens } >= 0,
from N[i, k], to N[j, k] ;
var v { (i, j) in links };
minimize Vg: sum { (i, j) in links } v[i, j]*t0[i, j];
example.dat
set nusos:= 1 2 3 4 5 6 7 8 9;
set centr:= 1 2 3 4;
set links:=
(1,5)
(3,8)
(5,6)
(5,8)
(5,9)
(6,7)
(7,2)
(7,9)
(8,5)
(8,6)
(9,4)
(9,7);
set origens:= 1 3;
set destins:= 2 4;
set odpair:=
(1,2)
(3,4);
param g:=
1 2 400
3 4 400;
param t0:=
1 5 0.1
3 8 0.1
5 6 0.2
5 8 0.7
5 9 0.5
6 7 1.0
7 2 0.1
7 9 0.1
8 5 1.0
8 6 1.0
9 4 0.08
9 7 0.7;
我看不出问题所在。有什么建议吗?请解释。
你的问题是无界的,因为变量 v
是无界的,只出现在 objective 中。因此,您可以通过选择 v
.
的适当小值来使 objective 任意小
我正在使用求解器 gurobi 解决问题,但出现以下错误:Gurobi 5.1.0: unbounded; variable.unbdd 返回。
我的代码:
example.mod
set nusos;
set centr within nusos;
set links within ( nusos cross nusos );
set origens within centr;
set destins within centr;
set odpair within ( origens cross destins );
set destperorig { i in origens } :=
setof { (i1, j1) in odpair : i = i1 } j1;
param g{odpair} >0;
param t0{links};
param Tdreta { i in nusos, k in origens }:=
if i in destperorig[k] then -1.0*g[k, i]
else
if i = k then sum {j in destperorig[k]} g[k, j] else 0;
node N {i in nusos, k in origens}: net_out = Tdreta[i, k];
arc v_k { (i, j) in links, k in origens } >= 0,
from N[i, k], to N[j, k] ;
var v { (i, j) in links };
minimize Vg: sum { (i, j) in links } v[i, j]*t0[i, j];
example.dat
set nusos:= 1 2 3 4 5 6 7 8 9;
set centr:= 1 2 3 4;
set links:=
(1,5)
(3,8)
(5,6)
(5,8)
(5,9)
(6,7)
(7,2)
(7,9)
(8,5)
(8,6)
(9,4)
(9,7);
set origens:= 1 3;
set destins:= 2 4;
set odpair:=
(1,2)
(3,4);
param g:=
1 2 400
3 4 400;
param t0:=
1 5 0.1
3 8 0.1
5 6 0.2
5 8 0.7
5 9 0.5
6 7 1.0
7 2 0.1
7 9 0.1
8 5 1.0
8 6 1.0
9 4 0.08
9 7 0.7;
我看不出问题所在。有什么建议吗?请解释。
你的问题是无界的,因为变量 v
是无界的,只出现在 objective 中。因此,您可以通过选择 v
.