用lingo解决运输问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用lingo解决运输问题

Lingo程序代码及运行结果(选取部分):

程序代码:

model:

sets:

xiao/1..4/:s;

chan/1..3/:h;

link(chan,xiao):x,y;

endsets

data:

y=3 7 6 4

2 4

3 2

4 3 8 5;

h=5 2 3;

s=3 3 2 2;

enddata

min=@sum(link:x*y);

@for(xiao(j):@sum(chan(i):x(i,j))=s(j));

@for(chan(i):@sum(xiao(j):x(i,j))=h(i));

运行结果及结果分析:

Objective value: 32.00000

产地1分别将数量为3和2的产品运往销地甲和丁;产地2将数量为2的产品运往销地丙;产地3将数量为3的产品运往销地乙;该运输问题的最小费用为32.

程序代码:

model:

sets:

xiao/1..4/:s;

chan/1..3/:h;

link(chan,xiao):x,y;

endsets

data:

y=10 6 7 12

16 10 5 9

5 4 10 10;

h=4 9 4;

s=5 2 4 6;

enddata

min=@sum(link:x*y);

@for(xiao(j):@sum(chan(i):x(i,j))=s(j));

@for(chan(i):@sum(xiao(j):x(i,j))=h(i));

运行结果及结果分析:

Objective value: 118.0000

产地1将数量为1、2、1的产品分别运往销地甲、乙、丙;产地将数量为3、6的产品运往销地丙、丁;产地3将数量为4的产品运往销地甲。最小费用为118.

程序代码:

model:

sets:

xiao/1..5/:s;

chan/1..4/:h;

link(chan,xiao):x,y;

endsets

data:

y=10 20 5 9 10

2 10 8 30 6

1 20 7 10 4

8 6 3 7 5;

h=5 6 2 9;

s=4 4 6 2 4;

enddata

min=@sum(link:x*y);

@for(xiao(j):@sum(chan(i):x(i,j))=s(j));

@for(chan(i):@sum(xiao(j):x(i,j))<=h(i));

运行结果及结果分析:

Objective value: 90.00000

产地1分别将数量为1、2的产品运往销地丙、丁;产地2分别将数量为4、2的产品运往销地甲、戊;产地3将数量为2的产品运往销地戊;产地4分别将数量为4、5的产品运往销地乙、丙;最小运费为90.

程序代码:

model:

sets:

xiao/1..5/:s;

chan/1..5/:h;

link(chan,xiao):x,y;

endsets

data:

y=10 18 29 13 22

13 10000 21 14 16

0 6 11 3 10000

9 11 23 18 19

24 28 36 30 34;

h=100 120 140 80 60;

s=100 120 100 60 80;

enddata

min=@sum(link:x*y);

@for(xiao(j):@sum(chan(i):x(i,j))=s(j));

@for(chan(i):@sum(xiao(j):x(i,j))<=h(i));

运行结果及结果分析:

Objective value: 5520.000

产地1将数量为100的产品运往销地甲;产地2分别将数量为40、80的产品运往销地丙、戊;产地3分别将数量为的产品运往销地乙、丙、丁;产地4将数量为80的产品运往销地乙;产地5将数量为20的产品运往销地乙。最小运费为5520.

相关文档
最新文档