实验4.docx
《实验4.docx》由会员分享,可在线阅读,更多相关《实验4.docx(12页珍藏版)》请在冰豆网上搜索。
实验4
4.1实验目的与要求
学会建立整数规划模型、对策论模型,学会用LINGO软件求解。
4.2基本实验
1.遗嘱问题
一个行为古怪的阿拉伯酋长留下一份遗嘱,遗嘱中将他的骆驼群分给他的三个儿子:
长子至少得到驼群的1/2,次子至少得到驼群的1/3,三子至少得到驼群的1/9,剩余的捐献给慈善机构。
遗嘱中并没有指出到底驼群的数目是多少,只是告诉了这个驼群的数目是个奇数,并且这个指定的慈善机构刚好得到一匹骆驼。
利用整数线性规划模型确定这个酋长到底留下了多少匹骆驼,并且指出每个儿子各得到多少匹。
解:
目标函数:
maxy=3x1+2x2+5x3
约束条件:
x1+x2+x3+1=y
x1≥y/2
x2≥y/3
x3≥y/9
y为奇数
LINGO程序:
min=y;
x1+x2+x3+1=y;
x1>=y/2;
x2>=y/3;
x3>=y/9;
z=y/2+0.5;
@gin(z);@gin(x1);@gin(x2);@gin(x3);
运行结果:
结果分析:
酋长留下了27匹骆驼,长子分得14匹,次子分得9匹,三子分得3匹。
2.固定费用问题
由于工作需要,张先生打算办理长途电话业务。
现有A、B和C三家电话公司,其中A公司每月固定话费16元,通话费0.25元/min;B公司每月固定话费25元,通话费0.21元/min;C公司每月固定话费18元,通话费0.22元/min。
在一般情况下,张先生每月使用的长途电话时间是200min。
请问张先生如何选择这三家公司,使得每月的电话费最少?
解:
目标函数:
minz=16y1+0.25x1+25y2+0.21x2+18y3+0.22x3
约束条件:
x1+x2+x3=200,y1、y2、y3=0或1,y1+y2+y3≥1
LINGO程序:
min=16*y1+0.25*x1+25*y2+0.21*x2+18*y3+0.22*x3;
x1+x2+x3=200;
y1+y2+y3>=1;
x1<=200*y1;
x2<=200*y2;
x3<=200*y3;
@bin(y1);
@bin(y2);
@bin(y3);
运行结果:
结果分析:
选择第三家电话公司即可,话费最低为62元。
3.串并联系统可靠性问题
有一台电器由三个部件组成,这三个部件串联,假如有一个部件发生故障,电器就不能工作。
可以通过在每个部件里安装1到2个备份元件来提高该电器的可靠性(不发生故障的概率)。
表4.1列出了可靠性和成本费用。
假如制造该电器的已有资金共10万元,那么怎样来构造这件电器呢?
表4.1每种元件的可靠性及成本费用(单位:
万元)
并联元
件数
部件1
部件2
部件3
可靠性
费用
可靠性
费用
可靠性
费用
1
0.6
1
0.7
3
0.5
2
2
0.8
2
0.8
5
0.7
4
3
0.9
3
0.9
6
0.9
5
解:
LINGO程序:
sets:
part/A1,A2,A3,B1,B2,B3,C1,C2,C3/:
c,p,x,d,e,f;
endsets
data:
c=123356245;
d=111000000;
e=000111000;
f=000000111;
b=10;
g=1;
p=0.60.80.90.70.80.90.50.70.9;
enddata
max=@prod(part:
p^x);
@sum(part:
c*x)<=b;
@sum(part:
d*x)=g;
@sum(part:
e*x)=g;
@sum(part:
f*x)=g;
@for(part:
@Bin(x));
运行结果:
结果分析:
部件1并联2个元件,部件2并联1个元件,部件3并联3个元件,可靠性最大值为0.504。
4.选课策略
某学校规定,运筹学专业的学生毕业时必须至少学习过2门数学课程、3门运筹学课程和2门计算机课程.这些课程的编号、名称、学分、所属类别和先修课程要求如表4.2所示.那么,毕业时学生最少可以学习这些课程中的哪些课程?
表4.2课程选择
编号
课程名称
所属类别
先修课程
1
数学分析
数学
—
2
线性代数
数学
—
3
最优化方法
数学、运筹学
数学分析、线性代数
4
数据结构
数学、计算机
计算机编程
5
应用统计
数学、运筹学
数学分析、线性代数
6
计算机模拟
计算机、运筹学
计算机编程
7
计算机编程
计算机
—
8
预测理论
运筹学
应用统计
9
数学试验
运筹学、计算机
数学分析、线性代数
解:
第xi表示选课表中第i门课程的选择,(i=1,2…..9)
xi=1表示选修题目表中编号顺序的9门课程的第i门
目标函数:
minz=x1+x2+x3+x4+x5+x6+x7+x8+x9
约束条件:
x1+x2+x3+x4+x5≥2
x3+x5+x6+x8+x9≥3
x4+x6+x7+x9≥2
x1+x2-2x3≥0
x1+x2-2x5≥0
x7–x4≥0
x7–x6≥0
x5–x8≥0
x1+x2–2x9≥0
xi=0or1(i=1,2…..9)
将其转化为matlab标准型为:
MATLAB程序及结果:
>>z=[5,4,4,3,4,3,2,2,3];f=[1,1,1,1,1,1,1,1]
a=[1,1,1,1,1,0,0,0,0;0,0,1,0,1,1,0,1,0;0,0,0,1,0,1,1,0,1;-2,0,0,0,0,0,0;1,1,0,0,-2,0,0,0,0;0,0,0,-1,0,0,1,0,0;0,0,0,0,0,-1,1,0,0;0,0,0,0,1,0,0;1,1,0,0,0,0,0,0,-2];
b=[2;3;2;0;0;0;0;0;0]
[x,y]=bintprog(f,-a,-b,[],[]);x,y,c=z*x
Optimizationtweminzted
结果分析至少学习6门课程,课程编号分别是1,2,5,6,7,8
5.最小覆盖问题
某公司拿出15百万美元,最多建造7个发射台来覆盖15个相邻社区中尽可能多的人口。
表4.3给出了每个发射台可以覆盖的社区以及建造这个发射台的费用,表4.4给出了各个社区的人口数目,确定出哪几个发射台需要建造?
表4.3发射台可以覆盖的社区以及建造发射台的费用
发射台
所覆盖社区
建造费用(百万美元)
1
1,2
3.60
2
2,3,5
2.30
3
1,7,9,10
4.10
4
4,6,8,9
3.15
5
6,7,9,11
2.80
6
5,7,10,12,14
2.65
7
12,13,14,15
3.10
表4.4各个社区的人口数目(单位:
千人)
社区
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
人口
4
3
10
14
6
7
9
10
13
11
6
12
7
5
16
解:
目标函数为:
maxz=7x1+19x2+37x3+44x4+35x5+43x6+40x7-3x1x2-4x1x3-6x2x6-13x3x4-13x3x5-11x3x6-20x4x5-9x5x6-17x6x7+9x3x5x6+13x3x4x5
约束条件为:
x1+x2+x3+x4+x5+x6+x7≤7
3.60x1+2.30x2+4.10x3+3.15x4+2.80x5+2.65x6+3.10x7≤15
x1、x1、x3、x4、x5、x6、x7=0或1
LINGO程序:
max=7*x1+19*x2+37*x3+44*x4+35*x5+43*x6+40*x7-3*x1*x2-4*x1*x3-6*x2*x6-13*x3*x4-13*x3*x5-11*x3*x6-20*x4*x5-9*x5*x6-17*x6*x7+9*x3*x5*x6+13*x3*x4*x5;
x1+x2+x3+x4+x5+x6+x7<=7;
3.60*x1+2.30*x2+4.10*x3+3.15*x4+2.80*x5+2.65*x6+3.10*x7<=15;
@bin(x1);@bin(x2);@bin(x3);@bin(x4);@bin(x5);@bin(x6);@bin(x7);
运行结果:
结果分析:
建2、4、5、6、7号发射台,最多覆盖129千人。
6.对策问题1
重新考虑“石头-剪子-布”的游戏,假定:
石头胜剪子得3分,反之输3分;剪子胜布得2分,反之输2分;布胜石头得1分,反之输1分;平局双方不得分.在这种情况下,双方如何选择策略?
解:
石头
剪子
布
石头
(0,0)
(3,-3)
(-1,1)
剪子
(-3,3)
(0,0)
(2,-2)
布
(1,-1)
(-2,2)
(0,0)
7.对策问题2
甲掷一枚硬币,可能出现正面或反面,但甲自己知道而乙不知道.因此,无论硬币出现哪一面,甲可以任意宣称硬币出现正面或反面,并让乙猜是同意还是不同意.当甲的宣称与所掷硬币面相同时,若乙猜同意,乙得5元,甲得2元,若乙猜不同意,则甲得5元,乙得2元;当甲的宣称与硬币出现的面不符时,乙猜同意,则乙得3元,甲得8元,反之,乙得8元,甲得3元.求甲乙二人各自的最优策略和各自的羸得值.
解:
4.3加分实验(乒乓球团体赛上场队员排序)
乒兵球团体赛的比赛规则如下:
从一个队中挑选出的三名比赛队员和一个队长(可由参赛队员兼任,亦可由其他人员专任)组成.比赛之前,双方队长应抽签决定A、B、C和X、Y、Z的选择,并向裁判提交每个运动员分配到一个字母的队伍名单.现行的比赛顺序:
第一场A-X,第二场B-Y,第三场C-Z,第四场A-Y,第五场B-X.每场比赛为三局两胜制.当一个队已经赢得三场个人比赛时,该次比赛应结束.
现有甲队挑选出的三名比赛队员分别是:
A1,A2,A3,乙队挑选出的三名比
赛队员分别是:
B1,B2,B3根据以往的历史资料,甲队与乙队比赛,甲队运动员在每一局中获胜的概率如表4.5所示.
表4.5两队比赛,甲队运动员在每一局中获胜的概率
队员
B1
B2
B3
A1
0.50
0.55
0.60
A2
0.45
0.50
0.55
A3
0.40
0.45
0.50
你所要完成的问题如下:
(1)甲队教练将如何安排上场运动员的次序,使得本队获胜的概率最大.
(2)如果每一局比赛,Ai胜B3的概率改为0.45,A3胜Bi的概率改为0.55.在这种情况下,甲队教练将如何调整甲队队员的上场次序?