数学建模中的优化模型

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

基本 1桶 模型 牛奶 或
12小时
3公斤A1
4公斤A2
获利24元/公斤
获利16元/公斤
8小时 每天 50桶牛奶 时间480小时 至多加工100公斤A1 x1桶牛奶生产A1 x2桶牛奶生产A2
决策变量
目标函数
获利 24×3x1 获利 16×4 x2 每天获利 Max z 72x1 64x2 原料供应
研究 r, g变化时对模型结果的影响 估计r=2, g=0.1 3 20g • 设r=2不变 t , 0 g 0.15 g t 对g的(相对)敏感度
30
Δ t /t dt g S (t , g ) Δ g / g dg t
3 S (t , g ) 3 3 20g
Global optimal solution found. Objective value: 632.0000 Extended solver steps: 0 Total solver iterations: 3 Variable Value Reduced Cost X1 64.00000 -2.000000 X2 168.0000 -3.000000 X3 0.000000 -4.000000
x1 x2 50
约束条件
劳动时间 加工能力 非负约束
12x1 8x2 480 3x1 100
线性 规划 模型 (LP)
x1 , x2 0
模型分析与假设
比 例 性 xi对目标函数的“贡 献”与xi取值成正比 xi对约束条件的“贡 献”与xi取值成正比 xi对目标函数的“贡 献”与xj取值无关 xi对约束条件的“贡 献”与xj取值无关 xi取值连续
线性规划模型
A1,A2每公斤的获利是与各自 产量无关的常数
每桶牛奶加工A1,A2的数量, 时 间是与各自产量无关的常数 A1,A2每公斤的获利是与相互 产量无关的常数 每桶牛奶加工A1,A2的数量,时 间是与相互产量无关的常数 加工A1,A2的牛奶桶数是实数
可 加 性
连续性
模型求解
x1 x2 50
max=2*x1+3*x2+4*x3; 1.5*x1+3*x2+5*x3<600; 280*x1+250*x2+400*x3<60000; x1*(x1-80)>0; x2*(x2-80)>0; x3*(x3-80)>0; @gin(x1);@gin(x2);@gin(x3);
例2 加工奶制品的生产计划 问 题
例1 汽车厂生产计划
汽车厂生产三种类型的汽车,已知各类型每辆车对 钢材、劳动时间的需求,利润及工厂每月的现有量.
小型
钢材(吨) 劳动时间(小时) 1.5 280
中型
3 250
大型
5 400
现有量
600 60000
利润(万元)
2
3
4
• 制订月生产计划,使工厂的利润最大. • 如果生产某一类型汽车,则至少要生产80辆, 那么最优的生产计划应作何改变?
IP 结果输出 IP 的最优解 x1=64, x2=168,x3=0, 最优值z=632
汽车厂生产计划
• 若生产某类汽车,则至少生产80辆,求生产计划.
s. t. 1.5x1 3x2 5x3 600
Max z 2x1 3x2 4x3
x1 0, x2 0, x3 80
常用优化软件
1. LINGO软件 2. MATLAB优化工具箱 3. EXCEL软件的优化功能 4. SAS(统计分析)软件的优化功能 5. 其他
2.简单的优化模型
——
生猪的出售时机
问 饲养场每天投入4元资金,用于饲料、人力、设 题 备,估计可使80千克重的生猪体重增加2公斤。
市场价格目前为每千克8元,但是预测每天会降 低 0.1元,问生猪应何时出售。 如果估计和预测有误差,对结果有何影响。
其中3个子模型应去掉,然后 逐一求解,比较目标函数值, 再加上整数约束,得最优解:
x1 80, x2 0, x3 80
x1 80, x2 80, x3 80

x1 , x2 , x3 0

x1=80,x2= 150,x3=0,最优值z=610
• 若生产某类汽车,则至少生产80辆,求生产计划.
20
t 对r 的(相对)敏感度
t
15 10 5 0 1.5
Δ t / t dt r S (t , r ) Δ r / r dr t
60 S (t , r ) 3 40 r 60
2
2.5
r
3
生猪每天体重增加量r 增加1%,出售时间推迟3%。
敏感性分析
4r 40g 2 t rg
图解法
约 l2 : 12x1 8x2 480 束 12x1 8x2 480 l4 条 3x1 100 l3 : 3x1 100 件 c l4 : x1 0, l5 : x2 0 x1 , x2 0 目标 函数
l1 : x1 x2 50
x2 A
l1 B l2 C Z=3600 l3
• 若生产某类汽车,则至少生产80辆,求生产计划. 方法3:化为非线性规划 最优解同前.
x1 ( x1 80) 0
x1=0 或 80
x2=0 或 80 x3=0 或 80
非线性规划 (Non- Linear x2 ( x2 80) 0 Programming, x3 ( x3 80) 0 简记NLP) 一般地,整数规划和非 线性规划的求解比线性 规划困难得多,特别是 问题规模较大或者要求 得到全局最优解时.
Q(t ) (8 gt)(80 rt ) 4t
4r 40g 2 t =10 rg
10天后出售,可多得利润20元
敏感性分析
4r 40g 2 t rg
估计r=2, g=0.1
研究 r, g变化时对模型结果的影响 • 设g=0.1不变
40 r 60 t , r 1.5 r
1桶 牛奶 或 12小时 8小时 3公斤A1 获利24元/公斤
4公斤A2
获利16元/公斤
每天: 50桶牛奶
时间480小时 至多加工100公斤A1
制订生产计划,使每天获利最大 • 35元可买到1桶牛奶,买吗?若买,每天最多买多少? • 可聘用临时工人,付出的工资最多是每小时几元? • A1的获利增加到 30元/公斤,应否改变生产计划?
每天利润的增值 每天投入的资金
保留生猪直到利润的增值等于每天的费用时出售
由 S(t,r)=3 若 1.8 w 2.2(10%), 则 7 t 13 (30%) 建议过一周后(t=7)重新估计 p, p, w, w , 再作计算。
3. 数学规划模型
例1 汽车厂生产计划 例2 加工奶制品的生产计划 例3 运输问题
分 投入资金使生猪体重随时间增加,出售单价随 析 时间减少,故存在最佳出售时机,使利润最大
建模及求解
估计r=2, g=0.1
若当前出售,利润为80×8=640(元)
t天 出售 生猪体重 w=80+rt 出售价格 p=8-gt 销售收入 R=pw 资金投入 C=4t
利润 Q=R-C=pw -C 求 t 使Q(t)最大 Q(10)=660 > 640
建模时需要注意的几个基本问题
1、尽量使用实数优化,减少整数约束和整数变量 2、尽量使用光滑优化,减少非光滑约束的个数 如:尽量少使用绝对值、符号函数、多个变量求 最大/最小值、四舍五入、取整函数等 3、尽量使用线性模型,减少非线性约束和非线性变 量的个数(如x/y <5 改为x<5y) 4、合理设定变量上下界,尽可能给出变量初始值 5、模型中使用的参数数量级要适当(如小于103)
x3 My3 , x3 80y3 , y3 {0,1}
Objective Value: 610.0000 Variable Value Reduced Cost X1 80.000000 -2.000000 X2 150.000000 -3.000000 X3 0.000000 -4.000000 最优解同前 Y1 1.000000 0.000000 Y2 1.000000 0.000000 Y3 0.000000 0.000000
Max z 72x1 64x2
z=c (常数) ~等值线
0
l5
Z=0
x1 D Z=2400
在B(20,30)点得到最优解 最优解一定在凸多边 形的某个顶点取得。
简要提纲
1. 优化模型简介 2. 简单的优化模型 3. 数学规划模型 4. 图论,动态规划(选讲) 5. 建模与求解实例
1. 优化模型简介
优化问题的一般形式
无约束优化:最优解的分类和条件
约束优化的简单分类
优化建模如何创新?
• 方法1:大胆创新,别出心裁 ---- 采用有特色的目标函数、约束条件等 ---- 你用非线性规划,我用线性规划 ---- 你用整数/离散规划,我用连续规划/网络优化 ---- …… • 方法2:细致入微,滴水不漏 ---- 对目标函数、约束条件处理特别细致 ---- 有算法设计和分析,不仅仅是简单套用软件 ---- 敏感性分析详细/ 全面 ---- ……
线性规划 模型(LP)
x1 , x2 , x3 0
模型 求解
结果为小数, 怎么办?
Objective Value: 632.2581 Variable Value Reduced Cost X1 64.516129 0.000000 X2 167.741928 0.000000 X3 0.000000 0.946237 Row Slack or Surplus Dual Price 2 0.000000 0.731183 3 0.000000 0.003226
汽车厂生产计划
模型建立
钢材
小型
1.5
中型
3 250
大型
5 400
现有量
600 60000
设每月生产小、中、大型 汽车的数量分别为x1, x2, x3
时间 280
利润
2百度文库
3
4
Max z 2x1 3x2 4x3
s. t. 1.5x1 3x2 5x3 600
280x1 250x2 400x3 60000
1)舍去小数:取x1=64,x2=167,算出目标函数值 z=629,与LP最优值632.2581相差不大. 2 )试探:如取 x1=65 , x2=167 ; x1=64 , x2=168 等, 计算函数值z,通过比较可能得到更优的解. • 但必须检验它们是否满足约束条件. 为什么? 3)模型中增加条件:x1, x2, x3 均为整数,重新求解.
方法2:引入0-1变量,化为整数规划
x1=0 或 80
x2=0 或 80 x3=0 或 80
LINGO 中对 0-1 变量的限定: @bin(y1); @bin(y2); @bin(y3);
x1 My1 , x1 80y1 , y1 {0,1} M为大的正数, x2 My2 , x2 80y2 , y2 {0,1} 本例可取1000
模型求解
整数规划(Integer Programming,简记IP)
IP可用LINGO直接求解
Max z 2x1 3x2 4x3
s. t. 1.5x1 3x2 5x3 600
max=2*x1+3*x2+4*x3; 1.5*x1+3*x2+5*x3<600; 280x1 250x2 400x3 60000 280*x1+250*x2+400*x3 <60000; x1 , x2 , x3为非负整数 @gin(x1);@gin(x2);@gin(x3);
x1 0, x2 80, x3 0
280x1 250x2 400x3 60000 x1 0, x2 80, x3 80 x1,x2,, x3=0 或 80 x1 80, x2 0, x3 0 x1 80, x2 80, x3 0 方法1:分解为8个LP子模型
t
20
10
0 0.06
0.08
0.1
0.12
0.14
g 0.16
生猪价格每天的降低量g增加1%,出售时间提前3%。
强健性分析
研究 r, g不是常数时对模型结果的影响
w=80+rt w = w(t)
p=8-gt p =p(t)
Q(t ) p(t )w(t ) 4t
Q(t ) 0
p(t ) w(t ) p(t ) w(t ) 4
相关文档
最新文档