lingo软件程序问题,高手帮帮忙
发布网友
发布时间:2022-05-02 15:59
我来回答
共1个回答
热心网友
时间:2022-06-20 18:51
这个问题不是太难。
我的求解如下【原创,绝对不是复制网上的,里面的集合及变量名称都是个人的习惯,但后面都有注释,希望能够帮上你;如仍有问题,发邮件至511757449@qq.com,也可直接在百度Hi上留言】:
Model:
Title Distribution Problem;
Sets:
procer/1,2/:cost,capacity,x;!定义两个制造厂,属性为生产成本、生产能力、生产量;
warehouse/1,2/:y;!定义两个仓库,y代表存储量;
market/1,2,3/:demand;!定义三个市场,属性为需求量;
linkpw(procer,warehouse):a,b;!连接制造厂与仓库,a代表搬运成本,b代表搬运量;
linkwm(warehouse,market):c,d;!连接仓库与市场,c代表搬运成本,d代表搬运量;
Endsets
Data:
cost=112 120;
capacity=100000 80000;
demand=50000 70000 50000;
a=5 4 6 3;
c=3 7 5 7 6 2;
Enddata
Min=@sum(procer:cost*x)+@sum(linkpw:a*b)+@sum(linkwm:c*d);
@for(procer:x<=capacity);!各制造厂生产量不超过其生产能力;
@for(procer(i):@sum(linkpw(i,j):b(i,j))=x(i));
@for(warehouse(j):y(j)=@sum(linkpw(i,j):b(i,j)));
@for(warehouse(j):@sum(linkwm(j,k):d(j,k))=y(j));
@for(market(k):@sum(linkwm(j,k):d(j,k))>=demand(k));!仓库向市场搬运量满足市场需求量;
部分求解结果如下:
Global optimal solution found at iteration: 0
Objective value: 0.2093000E+08
Model Title: Distribution Problem
Variable Value Reced Cost
COST( 1) 112.0000 0.000000
COST( 2) 120.0000 0.000000
CAPACITY( 1) 100000.0 0.000000
CAPACITY( 2) 80000.00 0.000000
X( 1) 100000.0 0.000000
X( 2) 70000.00 0.000000
Y( 1) 50000.00 0.000000
Y( 2) 120000.0 0.000000
DEMAND( 1) 50000.00 0.000000
DEMAND( 2) 70000.00 0.000000
DEMAND( 3) 50000.00 0.000000
A( 1, 1) 5.000000 0.000000
A( 1, 2) 4.000000 0.000000
A( 2, 1) 6.000000 0.000000
A( 2, 2) 3.000000 0.000000
B( 1, 1) 50000.00 0.000000
B( 1, 2) 50000.00 0.000000
B( 2, 1) 0.000000 2.000000
B( 2, 2) 70000.00 0.000000
C( 1, 1) 3.000000 0.000000
C( 1, 2) 7.000000 0.000000
C( 1, 3) 5.000000 0.000000
C( 2, 1) 7.000000 0.000000
C( 2, 2) 6.000000 0.000000
C( 2, 3) 2.000000 0.000000
D( 1, 1) 50000.00 0.000000
D( 1, 2) 0.000000 2.000000
D( 1, 3) 0.000000 4.000000
D( 2, 1) 0.000000 3.000000
D( 2, 2) 70000.00 0.000000
D( 2, 3) 50000.00 0.000000