简单的优化模型
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
每天:50桶牛奶 时间: 480小时 至多加工100千克A1
制订生产计划,使每天获利最大
• 35元可买到1桶牛奶,买吗?若买,每天最多买多少? • 可聘用临时工人,付出的工资最多是每小时几元? • A1的获利增加到 30元/千克,是否应改变生产计划?
建立模型 决策变量 目标函数
约束条件
x1桶牛奶生产A1 x2桶牛奶生产A2
例2 选课策略
课号
课名
学分
所属类别
先修课要求
1
微积分
5
数学
2
线性代数
4
数学
3
最优化方法
4
数学;运筹学 微积分;线性代数
4
数据结构
3
数学;计算机
计算机编程
5
应用统计
4
数学;运筹学 微积分;线性代数
6
计算机模拟
3
计算机;运筹学
计算机编程
7
计算机编程
2
计算机
8
预测理论
2
运筹学
应用统计
9
数学实验
3
运筹学;计算机 微积分;线性代数
78
70
67.4
j=2
75.6
66
67.8
74.2
71
j=3
87
66.4
84.6
69.6
83.8
j=4
58.6
53
59.4
57.2
62.4
若选择队员i参加泳姿j 的比赛,记xij=1, 否则记xij=0
目标 函数
45
Min Z
cij xij
j 1 i1
约束 条件
每人最多入选泳姿之一
4
xij 1, i 1, 5
30.000000
0.000000
ROW SLACK OR SURPLUS DUAL PRICES
原料增1单位, 利润增48 2) 时间增1单位, 利润增2 3) 能力增减不影响利润 4)
0.000000 0.000000 40.000000
48.000000 2.000000 0.000000
• 35元可买到1桶牛奶,要买吗? 35 <48, 应该买! • 聘用临时工人付出的工资最多每小时几元? 2元!
丙 1’18” 1’07”8 1’24”6 59”4
丁 1’10” 1’14”2 1’09”6 57”2
戊 1’07”4 1’11” 1’23”8 1’02”4
讨论 丁蛙泳c43 =69.675.2,戊自由泳c54=62.4
57.5, 方案是否调整? 敏感性分析? IP规划一般没有与LP规划相类似的理论,LINDO 输出的敏感性分析结果通常是没有意义的。
要求至少选两门数学课、三门运筹学课和两门计算机课
为了选修课程门数最少,应学习哪些课程 ?
选修课程最少,且学分尽量多,应学习哪些课程 ?
0-1规划模型
决策变量
课号
课名
所属类别
1
微积分
数学
2
线性代数
数学
3 最优化方法 数学;运筹学
4
数据结构
数学;计算机
5
应用统计
数学;运筹学
6 计算机模拟 计算机;运筹学
c43, c54 的新数据重新输入模型,用LINDO求解 最优解:x21 = x32 = x43 = x51 = 1, 成绩为4’17”7
乙~ 蝶泳、丙~ 仰泳、 原 甲~ 自由泳、乙~ 蝶泳、
丁~ 蛙泳、戊~ 自由泳
方 案
丙~ 仰泳、丁~ 蛙泳.
指派(Assignment)问题:每项任务有且只有一人承担, 每人只能承担一项,效益不同,怎样分派使总效益最大.
1)
3360.000
VARIABLE VALUE REDUCED COST
X1
20.000000
0.000000
st 2)x1+x2<50 3)12x1+8x2<480 4)3x1<100
X2
30.000000
0.000000
end
ROW SLACK OR SURPLUS DUAL PRICES
2)
st
OBJECTIVE FUNCTION VALUE
2)x1+x2<50
1)
3360.000
3)12x1+8x2<480
VARIABLE VALUE REDUCED COST
4)3x1<100
X1
20.000000
0.000000
X2
30.000000
0.000000
end
ROW SLACK OR SURPLUS DUAL PRICES
分派问题 若干项任务分给一些候选人来完成,每人的专长不同, 完成每项任务取得的效益或需要的资源就不同,如何分 派任务使获得的总效益最大,或付出的总资源最少。
若干种策略供选择,不同的策略得到的收益或付出的 成本不同,各个策略之间有相互制约关系,如何在满 足一定条件下作出决择,使得收益最大或成本最小。
例1 混合泳接力队的选拔
5名候选人的百米成绩
蝶泳 仰泳 蛙泳 自由泳
甲 1’06”8 1’15”6 1’27” 58”6
乙 57”2 1’06” 1’06”4 53”
丙 1’18” 1’07”8 1’24”6 59”4
丁 1’10” 1’14”2 1’09”6 57”2
戊 1’07”4 1’11” 1’23”8 1’02”4
注意:最优解不唯一!
可将x9 =1 易为x6 =1 LINDO无法告诉优化 问题的解是否唯一。
多目标规划
• 对学分数和课程数加权形成一个目标,如三七开。
Min Y 1Z 2W 0.7Z 0.3W
课号
课名
学分
9
Z xi i 1
1
微积分
2
线性代数
5 4
W 5x1 4x2 4x3 3x4 4x5
下面我们通过一个例题来说明LINDO 软件包的使用方法.
LINDO和LINGO软件能求解的优化模型
连续优化
优化模型 整数规划(IP)
线性规划 二次规划
(LP)
(QP)
LINDO
非线性规划 (NLP)
LINGO
例1 加工奶制品的生产计划
1桶 牛奶 或
12小时 8小时
3千克A1 4千克A2
获利24元/千克 获利16元/千克
j 1
每种泳姿有且只有1人
5
xij 1, j 1, 4
i 1
模型求解 输入LINDO求解
MIN 66.8x11+75.6x12+87x13+58.6x14 +… … +67.4x51+71 x52+83.8x53+62.4x54
SUBJECT TO x11+x12+x13+x14 <=1 …… x41+x42+x43+x44 <=1 x11+x21+x31+x41+x51 =1 …… x14+x24+x34+x44+x54 =1
3 最优化方法
4
4
数据结构
3
3x6 2x7 2x8 3x9
5
应用统计
4
6 计算机模拟
3
7 计算机编程
2
最优解: x1 = x2 = x3 = x4 = x5 = x6 = x7 = x9 =1,
8
预测理论
2
其它为0;总学分28。
9
数学实验
3
多目标规划
讨论与思考
Min Y 1Z 2W 1 2 1, 0 1, 2 1
结果解释
最优解不变时目标
DO RANGE(SENSITIVITY) ANALYSIS? Yes
RANGES IN WHICH THE BASIS IS UNCHANGED:
系数允许变化范围
OBJ COEFFICIENT RANGES
(约束条件不变)
VARIABLE CURRENT ALLOWABLE ALLOWABLE
如何选拔队员组成4100米混合泳接力队?
丁的蛙泳成绩退步到1’15”2;戊的自由泳成绩进 步到57”5, 组成接力队的方案是否应该调整?
穷举法:组成接力队的方案共有5!=120种。
0-1规划模型 cij(秒)~队员i 第j 种泳姿的百米成绩
cij
i=1
i=2
i=3
i=4
i=5
j=1
66.8
57.2
学分最多
9
Min Z xi i 1
Max W 5x1 4x2 4x3 3x4 4x5 3x6 2x7 2x8 3x9
两目标(多目标)规划 Min{Z, W}
多目标优化的处理方法:化成单目标优化。
• 以课程最少为目标, 不管学分多少。
最优解如上,6门课 程,总学分21 。
• 以学分最多为目标, 不管课程多少。
9
Z xi i 1
W 5x1 4x2 4x3 3x4 4x5 3x6 2x7 2x8 3x9
1 2 / 3
最优解与1=0,2=1的结果相同——学分最多
1 3 / 4
最优解与1=1,2=0的结果相同——课程最少
用LINDO、LINGO优化工具箱解线性规划
一、LINDO软件包
约束条件 先修课程要求 x3=1必有x1 = x2 =1
x3 x1 , x3 x2
2x3 x1 x2 0 x4 x7 x4 x7 0
2x5 x1 x2 0 x6 x7 0
x8 x5 0
2x9 x1 x2 0
讨论:选修课程最少,学分尽量多,应学习哪些课程?
课程最少
最优解显然是选修所 有9门课程 。
多目标规划
• 在课程最少的前提下 以学分最多为目标。
课号
课名
学分
1
微积分
5
2
线性代数
4
3 最优化方法
4
4
数据结构
3
5
应用统计
4
6
计算机模拟
3
7 计算机编程
2
8
预测理论
2
9
数学实验
3
9
增加约束 xi 6, i 1
以学分最多为目标求解。
最优解: x1 = x2 = x3 = x5 = x7 = x9 =1, 其它为0;总 学分由21增至22。
0-1规划模型
课号
课名
先修课要求
1
微积分
2
线性代数
3
最优化方法 微积分;线性代数
4
数据结构
计算机编程
5
应用统计 微积分;线性代数
6
计算机模拟
计算机编程
7
计算机编程
8
预测理论
应用统计
9
数学实验 微积分;线性代数
模型求解(LINDO) 最优解: x1 = x2 = x3 = x6 = x7 = x9 =1, 其它为0;6门课程,总学分21
三
原料无剩余 2)
0.000000
48.000000
种
时间无剩余 3)
0.000000
2.000000
资 源
加工能力剩余40
4)
40.000000
0.000000
“资源” 剩余为零的约束为紧约束(有效约束)
模型求解
OBJECTIVE FUNCTION VALUE
1)
3360.000
VARIABLE VALUE REDUCED COST
获利 24×3x1
获利 16×4 x2
每天获利 max z 72x1 64x2
原料供应
x1 x2 50
线性 规划
劳动时间
12 x1 8x2 480
模型
加工能力 非负约束
3x1 100
x1, x2 0
(LP)
模型求解
max 72x1+64x2
OBJECTIVE FUNCTION VALUE
也可理解为:
为了使该非基变 量变成基变量, 目标函数中对应 系数应增加的量
结果解释
OBJECTIVE FUNCTION VALUE
1) 3360.000
最优解下“资源”增加1 VARIABLE VALUE
单位时“效益”的增量
X1
20.000000
REDUCED COST 0.000000
影子价格
X2
第五章 简单的优化模型
5.1 线性规划模型 5.2 用Matlab求解线性规划问题 5.3 建模案例:投资的收益与风险 5.4 整数规划建模案例:接力队选 拔和选课策略 5.5 用Lindo求解整数规划问题
y
优 化 问 题
5.4 接力队选拔和选课策略
0.000000
48.000000
3)
0.000000
2.000000
DO RANGE (SENSITIVITY) ANALYSIS? No
4) 40.000000
0.000000
NO. ITERATIONS= 2
20桶牛奶生产A1, 30桶生产A2,利润3360元.
结果解释
max 72x1+64x2
7 计算机编程
计算机
8
预测理论
运筹学
9
数学实验 运筹学;计算机
约束条件
最少2门数学课, 3门运筹学课, 2门计算机课。
xi=1 ~选修课号i 的 课程(xi=0 ~不选)
目标函数 选修课程总数最少
9
Min Z xi i 1
x1 x2 x3 x4 x5 2
x3 x5 x6 x8 x9 3 x4 x6 x7 x9 2
END INT 20
最优解:x14 = x21 = x32 = x43 = 1, 其它变量为0;
成绩为253.2(秒)=4’13”2
甲~ 自由泳、乙~ 蝶泳、 丙~ 仰泳、丁~ 蛙泳.
蝶泳 仰泳 蛙泳 自由泳
甲 1’06”8 1’15”6 1’27” 58”6
乙 57”2 1’06” 1’06”4 53”
X1
20.000000
0.000000
X2
30.000000
0.000000
ROW SLACK OR SURPLUS DUAL PRICES
2)
0.000000
48.000000
3)
0.000000
2.000000
4) 40.000000
0.000000
NO. ITERATIONS= 2
reduced cost值表 示当该非基变量 增加一个单位时 (其他非基变量 保持不变),目标 函数减少的量(对 max型问题) .