当前位置:文档之家› Lingo软件的介绍

Lingo软件的介绍

例1.如何在LINGO中求解如下的LP问题:
min f ( x) 2 x1 3x2 s.t. x1 x2 350 x1 100 2x1 x2 600 x1 , x2 0
LINGO代码:
min=2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600;
最优解不变时目标函 数系数允许变化范围
(约束条件不变) x1系数范围(64,96)
x2系数范围(48,72)
x1系数由24 3=72 增加为303=90, 在允许范围内
• A1获利增加到 30元/kg,应否改变生产计划?
不变!
影子价格有意义(不变)时约束右端的允许 变化范围 结果解释
Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase Decrease X1 72.00000 24.00000 8.000000 X2 64.00000 8.000000 16.00000 Righthand Side Ranges Row Current Allowable Allowable RHS Increase Decrease 原料最多增加10 MILK 50.00000 10.00000 6.666667 时间最多增加53 TIME 480.0000 53.33333 80.00000 CPCT 100.0000 INFINITY 40.00000 充分条件 !
纯整数规划(PIP) 混合整数规划(MIP)
连续规划
整数规划(IP)
LINGO软件能求解的优化模型
优化模型
连续优化
整数规划(IP)
线性规划 (LP)
二次规划 (QP)
非线性规划 (NLP) LINGO
LINDO
LINGO的主要功能特色
(1) 既能求解线性规划问题,也有较强的求解非线性规划 问题的能力;
基本模型
获利24元/kg 0.8kg B1 获利16元/kg 获利32元/kg 0.75kg B2 x3 kg B1, x4 kg B2 获利44元/kg
变量
目标 函数 约束 条件
x5 kg A1加工B1, x6 kg A2加工B2 利润
max z 24 x1 16 x2 44 x3 32 x4 3x5 3x6
12 x1 8 x2 480 3x1 100
线性 规划 模型 (LP)
x1 , x2 0
模型求解
软件实现
LINGO
model: Global optimal solution found. max = 72*x1+64*x2; Objective value: 3360.000 [milk] x1 + x2<50; Total solver iterations: 2 [time] Variable Value Reduced Cost 12*x1+8*x2<480; X1 20.00000 0.000000 [cpct] 3*x1<100; X2 30.00000 0.000000 end Row Slack or Surplus Dual Price 1 3360.000 1.000000 MILK 0.000000 48.00000 TIME 0.000000 2.000000 CPCT 40.00000 0.000000
敏感度分析 (“LINGO|Range” )
Ranges in which the basis is unchanged: Objective Coefficient Ranges Current Allowable Allowable Variable Coefficient Increase Decrease X1 72.00000 24.00000 8.000000 X2 64.00000 8.000000 16.00000 Righthand Side Ranges Row Current Allowable Allowable RHS Increase Decrease MILK 50.00000 10.00000 6.666667 TIME 480.0000 53.33333 80.00000 CPCT 100.0000 INFINITY 40.00000
Lingo软件
• 软件简介 • 简单编程及灵敏度分析
• 使用简介
• 数据处理 • 练习与总结
LINDO 公司软件产品简要介绍
美国芝加哥(Chicago)大学的Linus Schrage教授于1980 年前后开发, 后来成立 LINDO系统公司(LINDO Systems Inc.), 网址:
20桶牛奶生产A1, 30桶生产A2,利润3360元.
结果解释
model: max = 72*x1+64*x2; [milk] x1 + x2<50; [time] 12*x1+8*x2<480; [cpct] 3*x1<100; end Global optimal solution found. Objective value: 3360.000 Total solver iterations: 2 Variable Value Reduced Cost X1 20.00000 0.000000 X2 30.00000 0.000000 Row Slack or Surplus Dual Price 1 3360.000 1.000000 原料无剩余 MILK 0.000000 48.00000 三 TIME 0.000000 2.000000 时间无剩余 种 CPCT 40.00000 0.000000 加工能力剩余40
• 35元可买到1桶牛奶, 每天最多买多少?
最多买10桶!
例3 奶制品的生产销售计划 在例2基础上深加工
12h 1桶 牛奶 或 8h 3kgA1 1kg 2h, 3元 4kgA2 1kg 2h, 3元 获利24元/kg
0.8kgB1
获利16元/kg 0.75kgB2
获利44元/kg
50桶牛奶, 480h
至多100kgA1
获利32元/kg
制订生产计划,使每天净利润最大
• 30元可增加1桶牛奶,3元可增加1h时间,应否投资?现投资 150元,可赚回多少? • B1,B2的获利经常有10%的波动,对计划有无影响? • 每天销售10kgA1的合同必须满足,对利润有什么影响?
3kg A1 12h 1kg 1桶 2h, 3元 牛奶 或 4kg A2 8h 1kg 2h, 3元 决策 出售x1 kg A1, x2 kg A2,
4kgA2
获利16元/kg
时间480h
至多加工100kgA1
制订生产计划,使每天获利最大 • 35元可买到1桶牛奶,买吗?若买,每天最多买多少?
• 可聘用临时工人,付出的工资最多是每小时几元?
• A1的获利增加到 30元/kg,应否改变生产计划?
基本 1桶 模型 牛奶 或
12h
3kgA1
4kgA2
(2) 输入模型简练直观; (3) 运行速度快,计算能力强; (4) 内置建模语言,提供几十个内部函数,从而能以较少 语句,较直观的方式描述较大规模的优化模型; (5) 将集合的概念引入编程语言,很容易将实际问题转换 为LINGO模型;
(6) 能方便地与Excel、文本文件等其他软件交换数据;
简单编程
• 35元可买到1桶牛奶,要买吗? 35 <48, 应该买! • 聘用临时工人付出的工资最多每小时几元? 2元!
说明
敏感度分析 (“LINGO|Range” ) 用该命令产生当前模型的灵敏性分析报告:研究 当目标函数的费用系数和约束右端项在什么范围 (此时假定其它系数不变)时,最优基保持不变 。灵敏性分析是在求解模型时作出的,因此在求 解模型时灵敏性分析是激活状态,但是默认是不 激活的。为了激活灵敏性分析,运行 LINGO|Options…,选择General Solver Tab, 在 Dual Computations列表框中,选择Prices and Ranges选项。灵敏性分析耗费相当多的求解时间 ,因此当速度很关键时,就没有必要激活它。
获利24元/kg
获利16元/kg
8h 每天 50桶牛奶 时间480h 决策变量 x1桶牛奶生产A1
至多加工100kgA1
x2桶牛奶生产A2
目标函数
获利 24×3x1 获利 16×4 x2 每天获利 max z 72 x1 64 x2 原料供应
x1 x2 50
约束条件
劳动时间 加工能力 非负约束
资 源
“资源” 剩余为零的约束为紧约束(有效约束)
Global optimal solution found. 结果解释 Objective value: 3360.000 Total solver iterations: 2 最优解下“资源”增加 Variable Value Reduced Cost 1单位时“效益”的增 X1 20.00000 0.000000 量 X2 30.00000 0.000000 影子价格 Row Slack or Surplus Dual Price 1 3360.000 1.000000 MILK 0.000000 48.00000 原料增加1单位, 利润增长48 TIME 0.000000 2.000000 时间增加1单位, 利润增长2 CPCT 40.00000 0.000000 加工能力增长不影响利润
LINDO: Linear INteractive and Discrete Optimizer LINGO: Linear INteractive General Optimizer What’s Best!: (SpreadSheet e.g. EXCEL) (V6.1) (V8.0) (V7.0)
相关主题