|
【答案】应助回帖
感谢参与,应助指数 +1
我没有具体看模型,修改后至少有一个结果:
代码:
model:
sets:
factory/1..7/:a;
warhouse/1..4/:v,f,z,b;
customer/1..11/:c;
link1(factory,warhouse):m,x;
link2(warhouse,customer):n,y;
endsets
data:
a=130 24 82 60 1130 50 330;
c=96.42 353.21 174.19 102.67 51.67 282.97 230.55 53.415 198.14 77.00 85.74;
v=3 2 4 5;
f=4000 3000 2000 1000;
b=1000 1000 1000 1000;
m=0 228 203 434 334 120 280
228 0 361 244 102 151 210
280 210 483 162 123 330 0
334 102 472 133 0 281 123;
n=203 361 472 483 434 244 133 162 0 228 334
280 141 299 421 421 491 389 322 199 228 0
102 210 142 199 192 138 577 387 288 271 316
169 74 49 120 151 281 281 522 403 422 238;
enddata
min=@sum(link1(i,j):m(i,j)*x(i,j)*z(j))+@sum(link2(j,k):n(j,k)*y(j,k)*z(j))
+@sum(link1(i,j):v(j)*x(i,j)*z(j))+@sum(warhouse(j):f(j)*z(j));
@for(factory(i):@sum(warhouse(j):x(i,j))<=a(i));
@sum(link2(j,k):y(j,k))=@sum(link1(i,j):x(i,j));
@for(customer(k):@sum(warhouse(j):y(j,k))>=c(k));
@for(warhouse:@bin(z));
@for(warhouse(j):@sum(factory(i):x(i,j))<=99999999*z(j));
@for(warhouse(j):@sum(factory(i):x(i,j))<=b(j));
end
LINGO 14求解结果(部分):
Global optimal solution found.
Objective value: 154529.9
Objective bound: 154529.9
Infeasibilities: 0.000000
Extended solver steps: 0
Total solver iterations: 41
Elapsed runtime seconds: 0.05
Model Class: MIQP
Total variables: 76
Nonlinear variables: 74
Integer variables: 4
Total constraints: 28
Nonlinear constraints: 1
Total nonzeros: 278
Nonlinear nonzeros: 70
你可以使用网络流行的LINGO 9,10,11任一Crack Extended Version求解出相同结果。 |
|