全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件
2345 13
2010-04-28
悬赏 1 个论坛币 未解决

model:

!3发点4收点运输问题;

sets:


warehouses/wh1..wh3/: capacity;


vendors/v1..v4/: demand;


links(warehouses,vendors): cost, volume;

endsets

!目标函数;


min=@sum(links: cost*volume);

!需求约束;


@for(vendors(J):


@sum(warehouses(I): volume(I,J))=demand(J));

!产量约束;


@for(warehouses(I):


@sum(vendors(J): volume(I,J))<=capacity(I));

!这里是数据;

data:


capacity=100 100 100;


demand=14 3 16 4;


cost=3 5 2 6


7 4 8 9


10 2 1 8;

enddata

end



我想加个约束条件:y1,y2,y3分别表示三家工厂是否开办,若y1=0,即工厂y1不提供给任何顾客产品量,则工厂y1不开办;y1=1,即工厂y1提供给顾客产品量,则工厂y1开办。有谁知道怎么加吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-5-2 00:09:57
model:
!3发点4收点运输问题;
sets:
warehouses/wh1..wh3/: capacity,y;
vendors/v1..v4/: demand;
links(warehouses,vendors): cost, volume;
endsets

!目标函数;
min=@sum(links: cost*volume);
!需求约束;
@for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J));
!产量约束;
@for(warehouses(I):
@sum(vendors(J): volume(I,J))<=capacity(I));
@for(warehouses(I):y(i)=@if(@sum(vendors(J):volume(i,j))#gt#0,1,0));

!这里是数据;
@for(warehouses:@bin(y));
data:
capacity=100 100 100;
demand=14 3 16 4;
cost=3 5 2 6
7 4 8 9
10 2 1 8;
enddata
end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-2 00:10:25
Local optimal solution found.
   Objective value:                              88.00000
   Extended solver steps:                               0
   Total solver iterations:                             4


                       Variable           Value        Reduced Cost
                 CAPACITY( WH1)        100.0000            0.000000
                 CAPACITY( WH2)        100.0000            0.000000
                 CAPACITY( WH3)        100.0000            0.000000
                        Y( WH1)        1.000000            0.000000
                        Y( WH2)        0.000000            0.000000
                        Y( WH3)        1.000000            0.000000
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-2 09:10:48
我还有个问题哦:model:
!5发点7收点运输问题;
sets:
warehouses/wh1..wh5/: capacity,y;
vendors/v1..v7/: demand;
links(warehouses,vendors): cost, volume;
endsets

!目标函数;
min=@sum(links: cost*volume);
!需求约束;
@for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J));
!产量约束;
@for(warehouses(I):
@sum(vendors(J): volume(I,J))<=capacity(I));
@for(warehouses(I):y(i)=@if(@sum(vendors(J):volume(i,j))#gt#0,1,0));

!这里是数据;
@for(warehouses:@bin(y));
data:
capacity=100 100 100 100 100;
demand=14 3 16 4 10 9 1;
  cost=3 5 2 6 1 5 9
       7 4 8 9 2 10 9
       10 2 1 8 4 10 1
       5 10 6 1 4 2 8
       9 6 2 7 3 2 4;
enddata
end

其实我的目标函数不止是min=@sum(links: cost*volume),应该还要加上开办工厂的费用的总和。就是如果y1=0,那么f1=50;
f=50 30 75 60 40;
你能再帮我计算下吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-3 09:11:12
model:
!5发点7收点运输问题;
sets:
warehouses/wh1..wh5/: capacity,y,f0,f1;
vendors/v1..v7/: demand;
links(warehouses,vendors): cost, volume;
endsets

!目标函数;
min=@sum(links: cost*volume);
!需求约束;
@for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J));
!产量约束;
@for(warehouses(I):
@sum(vendors(J): volume(I,J))<=capacity(I));
@for(warehouses(I):
y(i)=@if(@sum(vendors(J):volume(i,j))#gt#0,1,0);
f1(i)=y(i)*f0(i);
);

!这里是数据;
@for(warehouses:@bin(y));
data:
capacity=100 100 100 100 100;
demand=14 3 16 4 10 9 1;
  cost=3 5 2 6 1 5 9
       7 4 8 9 2 10 9
       10 2 1 8 4 10 1
       5 10 6 1 4 2 8
       9 6 2 7 3 2 4;
f0=50 30 75 60 40;
enddata
end
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-5-3 09:11:57
Global optimal solution found.
   Objective value:                              97.00000
   Extended solver steps:                               1
   Total solver iterations:                            48


                       Variable           Value        Reduced Cost
                        Y( WH1)        1.000000            0.000000
                        Y( WH2)        0.000000            0.000000
                        Y( WH3)        1.000000            0.000000
                        Y( WH4)        1.000000            0.000000
                        Y( WH5)        1.000000            0.000000

                       F1( WH1)        50.00000            0.000000
                       F1( WH2)        0.000000            0.000000
                       F1( WH3)        75.00000            0.000000
                       F1( WH4)        60.00000            0.000000
                       F1( WH5)        40.00000            0.000000
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群