楼主: ggbod1234
2044 13

与Lingo使用者讨论一道题目 [推广有奖]

  • 0关注
  • 0粉丝

小学生

57%

还不是VIP/贵宾

-

威望
0
论坛币
46 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
125 点
帖子
18
精华
0
在线时间
43 小时
注册时间
2009-5-21
最后登录
2010-6-1

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开办。有谁知道怎么加吗?

关键词:lingo Lin ING NGO 使用者 lingo

回帖推荐

zhaozyuan 发表于3楼  查看完整内容

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 ...

zhaozyuan 发表于2楼  查看完整内容

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))

本帖被以下文库推荐

沙发
zhaozyuan 发表于 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
已有 1 人评分经验 论坛币 收起 理由
胖胖小龟宝 + 10 + 10 热心帮助其他会员

总评分: 经验 + 10  论坛币 + 10   查看全部评分

使用道具

藤椅
zhaozyuan 发表于 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

使用道具

板凳
ggbod1234 发表于 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;
你能再帮我计算下吗?

使用道具

报纸
zhaozyuan 发表于 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

使用道具

地板
zhaozyuan 发表于 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

使用道具

7
ggbod1234 发表于 2010-5-3 09:17:57 |只看作者 |坛友微信交流群
你这个所计算出来的目标函数还是没有加上开办工厂的费用
我的目标函数应该是min=@sum(links: cost*volume)+@sum(fi*yi);

使用道具

8
zhaozyuan 发表于 2010-5-3 20:40:56 |只看作者 |坛友微信交流群
这个简单的很 您自己加上吧 您的一个论坛币 自己留着吧 要不我给你几个

使用道具

9
ggbod1234 发表于 2010-5-3 20:53:34 |只看作者 |坛友微信交流群
因为我是初学者,我尝试过加上去,但是运算不出结果,你能帮我再编写下吗?谢谢了!

使用道具

10
zhaozyuan 发表于 2010-5-4 22:42:02 |只看作者 |坛友微信交流群
model:
!5发点7收点运输问题;
sets:
warehouses/wh1..wh5/: capacity,y,f0,f1;
vendors/v1..v7/: demand;
links(warehouses,vendors): cost, volume;
endsets

!目标函数;
!@sum(links: cost*volume);
min=@sum(links: cost*volume)+@sum(warehouses:f1*y);

!需求约束;
@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

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-17 22:51