lingo实验报告材料

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

一、实验名称:推销员指派问题 二、实验目的及任务:

1、掌握Lingo 软件的使用方法

2、编写简单的Lingo 程序

3、解决Lingo 中的最优指派问题

三、实验容

1、问题描述

一个公司要分派5个推销员去5个地区推销某种产品,5个推销员在各个地区推销这种产品的预期利润如下表所示。若每个推销员只能去一个地区。应如何分派这5个推销员才能使公司的利润为最大?

2、模型建立

决策变量:设⎩⎨⎧=个地区个人去第不指派第个地区个人去第指派第j i 0j i 1ij x (i,j=1,2,3,4,5)

目标函数:设总利润为z ,第i 个人去第j 个地区的利润为A ij (i,j=1,2,3,4,5)

,假设A ij 为指派矩阵,则

Max ∑∑===5

15

1i j ij ij x A z

约束条件:

1.第j 个地区只有一个人去:

15

1

=∑=i ij

x

(j=1,2,3,4,5)

2.第i 个人只去一个地区:

15

1

=∑=j ij

x

(i=1,2,3,4,5)

由此得基本模型:

Max ∑∑===515

1

i j ij ij x A z

S,t, 15

1

=∑=i ij x (j=1,2,3,4,5)

15

1

=∑=j ij

x

(i=1,2,3,4,5)

10或=ij x (i,j=1,2,3,4,5)

3、Lingo 程序 (一)常规程序 Lingo 输入:

model :

max =1*x11+8*x12+9*x13+2*x14+1*x15+5*x21+6*x22+3*x23+10*x24+7*x25+3*x31+10*x32+4*x33+11*x34+3*x35+7*x41+7*x42+5*x43+4*x44+8*x45+4*x51+2*x52+6*x53+3*x54+9*x 55;

x11+x12+x13+x14+x15=1; x21+x22+x23+x24+x25=1; x31+x32+x33+x34+x35=1; x41+x42+x43+x44+x45=1; x51+x52+x53+x54+x55=1; x11+x21+x31+x41+x51=1; x12+x22+x32+x42+x52=1; x13+x23+x33+x43+x53=1; x14+x24+x34+x44+x54=1; x15+x25+x35+x45+x55=1; end

Lingo 输出:

Global optimal solution found.

Objective value: 45.00000 Infeasibilities: 0.000000 Total solver iterations: 8

Variable Value Reduced Cost

X11 0.000000 7.000000

X12 0.000000 0.000000

X13 1.000000 0.000000

X14 0.000000 7.000000

X15 0.000000 8.000000

X21 0.000000 4.000000

X22 0.000000 3.000000

X23 0.000000 7.000000

X24 1.000000 0.000000

X25 0.000000 3.000000

X31 0.000000 7.000000

X32 1.000000 0.000000

X33 0.000000 7.000000

X34 0.000000 0.000000

X35 0.000000 8.000000

X41 1.000000 0.000000

X42 0.000000 0.000000

X43 0.000000 3.000000

X44 0.000000 4.000000

X45 0.000000 0.000000

X51 0.000000 4.000000

X52 0.000000 6.000000

X53 0.000000 3.000000

X54 0.000000 6.000000

X55 1.000000 0.000000

Row Slack or Surplus Dual Price

1 45.00000 1.000000

2 0.000000 9.000000

3 0.000000 10.00000

4 0.000000 11.00000

5 0.000000 8.000000

6 0.000000 9.000000

7 0.000000 -1.000000

8 0.000000 -1.000000

9 0.000000 0.000000

10 0.000000 0.000000

11 0.000000 0.000000

(二)集合函数程序

Lingo输入:

model:

sets:

person/1..5/;

area/1..5/;

assign(person,area):A,x;

endsets

data:

A=1,8,9,2,1

5,6,3,10,7

3,10,4,11,3

7,7,5,4,8

4,2,6,3,9;

enddata

max=sum(assign:A*x);

for(person(i):sum(area(j):x(i,j))=1);

for(area(j):sum(person(i):x(i,j))=1);

for(assign(i,j):bin(x(i,j)));

end

Lingo输出:

Global optimal solution found.

Objective value: 45.00000 Objective bound: 45.00000 Infeasibilities: 0.000000

Extended solver steps: 0

Total solver iterations: 0

Variable Value Reduced Cost

A( 1, 1) 1.000000 0.000000

A( 1, 2) 8.000000 0.000000

A( 1, 3) 9.000000 0.000000

A( 1, 4) 2.000000 0.000000

A( 1, 5) 1.000000 0.000000

A( 2, 1) 5.000000 0.000000

A( 2, 2) 6.000000 0.000000

A( 2, 3) 3.000000 0.000000

A( 2, 4) 10.00000 0.000000

A( 2, 5) 7.000000 0.000000

A( 3, 1) 3.000000 0.000000

A( 3, 2) 10.00000 0.000000

A( 3, 3) 4.000000 0.000000

A( 3, 4) 11.00000 0.000000

A( 3, 5) 3.000000 0.000000

A( 4, 1) 7.000000 0.000000

A( 4, 2) 7.000000 0.000000

A( 4, 3) 5.000000 0.000000

A( 4, 4) 4.000000 0.000000

相关文档
最新文档