Lingo及优化模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优化模型与LINDO/LINGO优化软件
简要提纲
• LINDO公司的主要软件产品及功能简介
• LINDO软件的使用简介 • LINGO软件的使用简介 • 建模与求解实例(结合软件使用)
LINDO 公司软件产品简要介绍
美国芝加哥(Chicago)大学的Linus Schrage教授于1980 年前后开发, 后来成立 LINDO系统公司(LINDO Systems Inc.), 网址:http://www.lindo.com
(约束条件不变) x1系数范围(64,96)
64.000000 8.000000 16.000000 x2系数范围(48,72) RIGHTHAND SIDE RANGES CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE
2
3 4
50.000000
480.000000 100.000000
ROW SLACK OR SURPLUS DUAL PRICES 2 3 4 0.000000 0.000000 40.000000 48.000000 2.000000 0.000000
reduced cost值表 示当该非基变量 增加一个单位时 (其他非基变量 保持不变)目标 函数减少的量(对 max型问题) 也可理解为: 为了使该非基变 量变成基变量, 目标函数中对应 系数应增加的量
建模时需要注意的几个基本问题
1、尽量使用实数优化,减少整数约束和整数变量
2、尽量使用光滑优化,减少非光滑约束的个数
如:尽量少使用绝对值、符号函数、多个变量求 最大/最小值、四舍五入、取整函数等 3、尽量使用线性模型,减少非线性约束和非线性变 量的个数 (如x/y <5 改为x<5y)
4、合理设定变量上下界,尽可能给出变量初始值
OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 X2 ROW 72.000000 24.000000 8.000000
DO RANGE(SENSITIVITY) ANALYSIS?
1桶 牛奶 或 12小时 8小时 每天: 50桶牛奶 3公斤A1 获利24元/公斤
4公斤A2
获利16元/公斤
时间480小时 至多加工100公斤A1
制订生产计划,使每天获利最大 • 35元可买到1桶牛奶,买吗?若买,每天最多买多少? • 可聘用临时工人,付出的工资最多是每小时几元? • A1的获利增加到 30元/公斤,应否改变生产计划?
0.8千克B1
获利44Βιβλιοθήκη Baidu/千克
至多100公斤A1
制订生产计划,使每天净利润最大
• 30元可增加1桶牛奶,3元可增加1小时时间,应否投 资?现投资150元,可赚回多少? • B1,B2的获利经常有10%的波动,对计划有无影响?
1桶 牛奶 或
12小时
3千克 A1 1千克
获利24元/千克
0.8千克 B1
1桶 牛奶 或
12小时
3公斤A1 4公斤A2
获利24元/公斤 获利16元/公斤
8小时 每天 50桶牛奶 时间480小时 至多加工100公斤A1 决策变量 x1桶牛奶生产A1 x2桶牛奶生产A2
目标函数
获利 24×3x1 获利 16×4 x2 每天获利 Max z 72 x1 64 x2 原料供应
10.000000
53.333332 INFINITY
6.666667
80.000000 40.000000
x1系数由24 3=72 增加为303=90, 在允许范围内
• A1获利增加到 30元/千克,应否改变生产计划
不变!
结果解释 影子价格有意义时约束右端的允许变化范围
RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 X2 ROW 72.000000 24.000000 8.000000
5、模型中使用的参数数量级要适当 (如小于103)
需要掌握的几个重要方面
1、LINDO:
正确阅读求解报告(尤其要掌握敏感性分析)
2、LINGO: 掌握集合(SETS)的应用; 正确阅读求解报告; 正确理解求解状态窗口; 学会设置基本的求解选项(OPTIONS) ; 掌握与外部文件的基本接口方法
例1 加工奶制品的生产计划
ROW SLACK OR SURPLUS DUAL PRICES
0.000000
0.000000 40.000000
48.000000
2.000000 0.000000
• 35元可买到1桶牛奶,要买吗? 35 <48, 应该买! • 聘用临时工人付出的工资最多每小时几元? 2元!
最优解不变时目标函 RANGES IN WHICH THE BASIS IS UNCHANGED: 数系数允许变化范围 Yes
LINDO: Linear INteractive and Discrete Optimizer LINGO: Linear INteractive General Optimizer What‘s Best!: (SpreadSheet e.g. EXCEL) (V6.1) (V8.0) (V7.0)
模型求解
OBJECTIVE FUNCTION VALUE 1) 3460.800 VARIABLE VALUE REDUCED COST X1 0.000000 1.680000 X2 168.000000 0.000000 X3 19.200001 0.000000 X4 0.000000 0.000000 X5 24.000000 0.000000 X6 0.000000 1.520000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 3.160000 3) 0.000000 3.260000 4) 76.000000 0.000000 5) 0.000000 44.000000 6) 0.000000 32.000000 NO. ITERATIONS= 2
1) 3360.000
最优解下“资源”增 VARIABLE VALUE 加1单位时“效益”的 X1 20.000000 增量 X2 30.000000 影子价格
原料增1单位, 利润增48 时间加1单位, 利润增2 能力增减不影响利润
2)
3) 4)
REDUCED COST
0.000000
0.000000
LINDO API: LINDO Application Programming Interface (V2.0)
演示(试用)版、学生版、高级版、超级版、工业版、 扩展版… (求解问题规模和选件不同)
LINDO和LINGO软件能求解的优化模型
优化模型
连续优化
整数规划(IP)
线性规划 (LP)
二次规划 (QP)
非线性规划 (NLP) LINGO
LINDO
LINDO/LINGO软件的求解过程
1. 确定常数
2. 识别类型
LINDO/LINGO预处理程序
LP QP NLP IP 全局优化(选) 分枝定界管理程序
ILP
线性优化求解程序 1. 单纯形算法 2. 内点算法(选)
IQP
INLP
非线性优化求解程序 1、顺序线性规划法(SLP) 2、广义既约梯度法(GRG) (选) 3、多点搜索(Multistart) (选)
0.000000
DO RANGE (SENSITIVITY) ANALYSIS? No
20桶牛奶生产A1, 30桶生产A2,利润3360元。
模型求解
OBJECTIVE FUNCTION VALUE 1) VARIABLE X1 X2 3360.000 VALUE 20.000000 30.000000 REDUCED COST 0.000000 0.000000
3*x1<=100;
ROW SLACK OR SURPLUS
原料无剩余 三 2 0.000000 48.000000 种 时间无剩余 3 0.000000 2.000000 资 加工能力剩余40 4 40.000000 0.000000 源 ―资源” 剩余为零的约束为紧约束(有效约束)
结果解释
OBJECTIVE FUNCTION VALUE
53.333332 INFINITY
6.666667
80.000000 40.000000
原料最多增加10
时间最多增加53
• 35元可买到1桶牛奶,每天最多买多少? 最多买10桶!
例2 奶制品的生产销售计划 在例1基础上深加工
1桶 牛奶 或 3千克A1 12小时 1千克 获利24元/公斤
2小时,3元 获利16元/公斤 8小时 4公斤A2 1千克 获利32元/千克 0.75千克B2 50桶牛奶, 480小时 2小时,3元
x1 x2 50
12 x1 8 x2 480
约束条件
劳动时间 加工能力 非负约束
3x1 100 x1 , x2 0
线性 规划 模型 (LP)
模型求解
OBJECTIVE FUNCTION VALUE
Max=72*x1+64*x2;
x1+x2<=50;
12*x1+8*x2<=480; 3*x1<=100;
(目标函数不变)
64.000000 8.000000 16.000000 RIGHTHAND SIDE RANGES CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE
2
3 4
50.000000
480.000000 100.000000
10.000000
获利44元/千克
2小时,3元 获利16元/kg 8小时 4千克 A2
1千克
决策 变量 目标 函数 约束 条件
2小时,3元 出售x1 千克 A1, x2 千克 A2, X3千克 B1, x4千克 B2 x5千克 A1加工B1, x6千克 A2加工B2 利润
0.75千克 B2
获利32元/千克
Max z 24 x1 16 x2 44 x3 32 x4 3x5 3x6
x1 x5 x2 x6 加工能力 50 3 4 附加约束 4( x1 x5 ) 2( x2 x6 )
2 x5 2 x6 480
非负约束
原料 供应
劳动 时间
x1 x5 100
x3 0.8 x5
x4 0.75 x6 x1 , x6 0
OBJECTIVE FUNCTION VALUE 1) 3460.800 软件实现 VARIABLE VALUE REDUCED COST x1 x5 x2 x6 X1 0.000000 1.680000 2) 50 X2 168.000000 0.000000 3 4 X3 19.200001 0.000000 0.000000 0.000000 2) 4 x1 3x2 4 x5 3x6 600 X4 X5 24.000000 0.000000 X6 0.000000 1.520000 3) 4( x1 x5 ) 2( x2 x6 ) ROW SLACK OR SURPLUS DUAL PRICES 2 x5 2 x6 480 2) 0.000000 3.160000 0.000000 3.260000 3) 4 x1 2 x2 6 x5 4 x6 480 3) 4) 76.000000 0.000000 5) 0.000000 44.000000 DO RANGE 6) 0.000000 32.000000 (SENSITIVITY) NO. ITERATIONS= 2 ANALYSIS? No
1)
VARIABLE X1
3360.000
VALUE 20.000000 REDUCED COST 0.000000
X2
30.000000
0.000000
ROW SLACK OR SURPLUS DUAL PRICES 2 0.000000 48.000000
3
4
0.000000
40.000000
2.000000
结果解释
Max=72*x1+64*x2;
x1+x2<=50; 12*x1+8*x2<=480;
OBJECTIVE FUNCTION VALUE 1) VARIABLE X1 X2 3360.000 VALUE 20.000000 30.000000 REDUCED COST 0.000000 0.000000 DUAL PRICES
相关文档
最新文档