Lingo及优化模型

合集下载

数学建模——LINDO_LINGO的实用与优化模型

数学建模——LINDO_LINGO的实用与优化模型
目标:制定每天的供应计划,即从 A, B 两料场分别
向各工地运送多少吨水泥,使总的吨公里数最小。
决策变量:ci j (料场j到工地i的
运量)~12维
26
mi n
cij [(x j ai )2 ( y j bi )2 ]1/ 2
j 1 i1
2
s.t.
cij di , i 1,..., 6
X1
20.000000
0.000000
X2
30.000000
0.000000
end
ROW SLACK OR SURPLUS DUAL PRICES

原料无剩余 2)
0.000000
48.000000

时间无剩余 3)
0.000000
2.000000
资 源
加工能力剩余40
4)
40.000000
0.000000
不变!
结果解释
影子价格有意义
RANGES IN WHICH THE BASIS IS UNCHANGED: 时约束右端的允
OBJ COEFFICIENT RANGES
许变化范围
VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE
(目标函数不变)
例如: “sub x1 10”的作用等价于“x1<=10”
但用“SUB”和“SLB”表示的上下界约束不计入模 型的约束,也不能给出其松紧判断和敏感性分析。
14. “END”后对0-1变量说明:INT n 或 INT name
15. “END”后对整数变量说明:GIN n 或 GIN name
LINGO求解举例 — 例:选址问题

lingo优化模型例题

lingo优化模型例题

lingo优化模型例题
例题:假设我们有一个优化模型,我们要最小化一个目标函数
f(x) = 3x^2 - 5x + 2,其中 x 是决策变量。

我们的决策变量 x 的取值范围是 [-10, 10]。

我们要求 x 的取值使得目标函数 f(x) 最小化。

可以使用LINGO 语言来编写这个优化模型,以下是一个例子:```
SETS:
x /-10..10/;
MIN = f(x);
MODEL:
VARIABLE x;
OBJECTIVE = 3 * x^2 - 5 * x + 2;
x >= -10;
x <= 10;
END
```
在这个例子中,我们首先定义了一个集合 x,表示决策变量 x
的取值范围。

然后,我们定义了一个目标函数 MIN,表示要
最小化的目标函数。

在 MODEL 部分,我们定义了一个决策变量 x,并且在OBJECTIVE 部分定义了要最小化的目标函数。

最后,在 x 的
取值范围上添加了约束条件。

LINGO 编程语言可以通过求解器来求解这个优化模型,求解
器可以通过给定的约束条件和目标函数找到使目标函数最小化的决策变量取值。

以上是一个基本的LINGO 优化模型的例子,根据具体的问题,你可以根据需要修改约束条件和目标函数来适应不同的优化问题。

优化模型与LINGO优化软件

优化模型与LINGO优化软件
资 源 单位产品资源消耗量 甲 A B C 单位产品利润 2 4 0 2 乙 2 0 5 3 12 16 15 资源拥有量
m ax z 2 x1 3 x 2 s .t . 2 x1 2 x 2 1 2 4x 16 1 5 x2 15 x1 , x 2 0
状态窗口说明(例1)
•Constraints(约束数量) •Nonzeros(非零系数数量) •内存使用量 •求解花费的时间
全局最优解 求解步骤数
3、报告 窗口说明 (例1)
最优解 变量的检验数 松弛或剩余变量的值 对偶价格的值
单纯形法计算步骤框图(目标函数求max)
至少存在一个元素ais>0
LINGO的窗口介绍
LINGO的主窗口 LINGO模型窗口 LINGO状态窗口 LINGO报告窗口

例1的运算 结果: 主 窗 口 模型窗口 报告窗口 状态窗口
1、主窗口与 模型窗口说明
定 位 某 行
模 型 求 解
模 型 图 示
查 找
匹 配 括 号
显 示 解 答
选 项 设 置
2、状态窗口说明(例1)
③ LINGO中的语句顺序是不重要的,因为LINGO总 是根据“Max=”或“Min=”语句寻找目标函数,其它 语句都是约束条件. ④ LINGO 程序中不区分大小写字母 .( 实际上任何 小写字符将被转换为大写字符) ⑤ LINGO中的变量必须以字母开头,且最多不能超 过32个字符. ⑥ 在LINGO中,以@开头的都是函数的调用. ⑦ LINGO已假定所有变量非负, 可用限定变量取值 范围的函数 @BIN 、 @GIN 、 @FREE 、 @BND 改 变变量的非负假定.
•求解器状态框 •模型的类型 •解的状态 •Objective(解的目标函数值) •Infeasibility(约束不满足总量) •到目前为止的迭代次数 •扩展的求解器状态框

(外校培训课件)优化模型与LINGO软件求解——LINGO学习集全资料文档

(外校培训课件)优化模型与LINGO软件求解——LINGO学习集全资料文档

NLP: 非线性规划
(2)最优状态 全局全优
(3)最优目标值: 10
约束条件情况最优解: (1)约束总个数X4=100,按方法4 (2)非线性个数X6=50, 按方法6
25
[例1] 下料(截割问题)及求解
❖ [模型-2]的求解结果:
最优目标函 数值:90
x1=40, 按方法1截割 x2=20, 按方法2截割 x6=30. 按方法6截割
26
[例1] 下料(截割问题)及求解
❖ 求解结果分析:
在追求“余料最少”目标时,“≥”约 束把条件放宽了。
修正方法:改为“=”约束
模型(1)的求解结果: 最优目标(余料)=10m
(x4,x6)=(100,50) 耗用原料 = 150根
是否符 合原问 题要求?
不符合。 (1)问题出在哪里? (2)如何修正?
2
一、竞赛题中的优化模型总结
❖ 2.优化类竞赛题小结 ❖ 在全国数模竞赛中,优化问题是出现频率最
高的一类竞赛题。 ❖ 从1992-20××年全国大学生数模竞赛试题
的解题方法统计结果来看,优化模型共出现 了17次以上,占到了50%。 ❖ 即每两道竞赛题中就有一道涉及到利用优化 理论来建模和求解。
3
一、竞赛题中的优化模型总结

13
(三) 典型数学规划问题及求解
❖ 例1 下料(截割)问题及求解 ❖ 例2 运输问题及求解 ❖ 例3 非线性规划问题及求解 ❖ 例4 分派(选址)问题及求解 ❖ 例5 动态规划问题及求解
14
[例1] 下料(截割)问题及求解
1. 问题提出 2. 建立数学模型 3. 编写LINGO求解程序 4. 执行程序 5. 获得计算结果并分析 6. 修正模型,重新求解 7.课后作业 8.编程小结

优化模型与Lingo软件

优化模型与Lingo软件
解最优化问题,后经不断完善和扩充,并成立 LINDO公司进行商业化运作,取得了巨大的成 功。全球《财富》杂志500强的企业中,一半 以上使用该公司产品,其中前25强企业中有23 家使用该产品。
➢该软件包功能强大,版本也很多,而我们 使
用的只是演示版(试用版),演示版与正式版 功能基本上是 类似的,只是能够求解问题的规
s.t. 3x 5y 12 x, y 0
Lingo软件介绍
点击图标
运行,屏幕上显示运行状态窗口如下: 对于Lingo运行状态窗口,
我们给于以下解释:
变量数目:变量总数 (Total)、非线型变量 数(Nonlinear)、整数 变量数(Integer)
约束变量:约束总数 ( Total )、非线性约束 个数(Nonlinear)

命令SLB、SUB类似的函数@ SLB、 @ SUB.

@BIN(X):限制X为0或1。注意Lindo中的命令是INT,但Lingo中

这个函数却不是@INT.

@FREE(X) :取消对X的符号限制(即可取负数,0或正数).

@GIN(X):限制X为整数.
LINGO中的集
• 对实际问题建模的时候,总会遇到一群或 多群相联系的对象,比如工厂、消费者群 体、交通工具和雇工等等。LINGO允许把 这些相联系的对象聚合成集(sets)。一旦 把对象聚合成集,就可以利用集来最大限 度的发挥LINGO建模语言的优势。
Global Optimum、Local Optimum、Feasible、
State
当前解的状态IInnfteearrsuipbtlee(d(不中可断行))、、uUndnebtoeurmndineedd((无未界确)、

LINGO软件在优化模型中的应用

LINGO软件在优化模型中的应用
羊羽lingo是linearinteractivegeneraloptimizer的缩写即交互式的线性和通用优化求解器由美国lindo系统公司推出的可以用于求解非线性规划也可以用于一些线性和非线性方程组的求解等功能十分强大是求解优化模型的最佳选择
LINGO软件 ——在优化模型中的应用
腾讯微博:羊羽
LINGO软件在优化模型中的应用
LINGO软件在优化模型中的应用
解:设每天用x1 桶牛奶在甲车间生产,用x2 桶牛 奶在乙车间生产,可获利z 元。
则该问题的数学模型为: max z=72x1+64x2 s.t x1+x2≤50 12x1+8x2≤480 3x1≤100 x1,x2≥0
LINGO软件在优化模型中的应用
结果:
这个线性规划的最优解为x1=20,x2=30,最优值 为z=3360,即用20 桶牛奶在甲车间生产,30 桶 牛奶在乙车间生产,可获最大利润3360 元。
优点
3)强大的求解器 LINGO拥有一整套快速的,内建的求 解器用来求解线性、非线性、二次约束和 整数优化问题。
LINGO软件在优化模型中的应用
优点
4)交互式模型 在LINGO内可以直接创建和求解模型, 也可以从自己编写的应用程序中直接调用 LINGO。对于开发交互式模型,LINGO提 供了一整套建模环境,用来求解和分析构 建的模型。
从该问题的求解我们可以看到用LINGO 软件求 解线性规划是非常方便、快捷的,比单纯形法人 工计算效率高很多。
LINGO软ห้องสมุดไป่ตู้在优化模型中的应用
附加问题:
1) 若用35元可以买到1桶牛奶,应否作这项投资? 若投资,每天最多购买多少桶牛奶? 2) 若可以聘用临时工人以增加劳动时间,付给临 时工人的工资最多是每小时几元? 3) 由于市场需求变化,甲车间奶制品的获利增加 到30元,应否改变生产计划?

Lingo与运筹与优化模型

Lingo与运筹与优化模型

成员 (A,M,1) (A,M,2) (A,N,1) (A,N,2) (B,M,1) (B,M,2) (B,N,1) (B,N,2)
成员列表被忽略时,派生集成员由父集 成员所有的组合构成,这样的派生集成为稠 密集。如果限制派生集的成员,使它成为父 集成员所有组合构成的集合的一个子集,这 样的派生集成为稀疏集。同原始集一样,派 生集成员的声明也可以放在数据部分。一个 派生集的成员列表有两种方式生成:①显式 罗列;②设臵成员资格过滤器。当采用方式 ①时,必须显式罗列出所有要包含在派生集
个生日属性等等。 Lingo有两种集:原始集和派生集。 原始集由一些最基本的对象组成。 派生集是从其它集派生得来的,它可以 是另一个集的子集,也可以由其它几个集中 的元素组成。也就是说,它的成员来自于其 它已存在的集。
2、模型的集部分 一个典型的 Lingo 程序由 model :开头, 以end结尾,程序由集、目标函数与约束、数 据和初始化四部分组成。其中只有目标函数 与约束部分是必须的,其余三个部分均为可 选部分。 在Lingo模型中使用集之前,必须在集部 分事先定义。集部分以关键字sets:开始,以 endsets 结束。一个模型可以没有集部分、有
地表达规模较大的模型。集是Lingo建模语言 的基础,是程序设计最强有力的基本构件。 下面我们逐步介绍集的相关知识。只有 掌握这些内容后,才能真正掌握利用Lingo描 述数学模型的基本方法。
1、集的基本概念 集其实就是一群相关对象组成的集合, 这些对象也称为集的成员。一个集可能是一 系列产品或雇员等。每个集成员可能有一个 或多个与之有关联的特征,称之为属性。属 性值可以预先给定,也可以是未知的,有待 于Lingo求解。例如,产品集中的每个产品可 以有一个价格属性;雇员集中的每位雇员可 以有一个性别属性、薪水属性,也可以有一

Lingo-中各项的含义

Lingo-中各项的含义

Lingo solution report中各项的含义(一)优化模型的组成优化模型包括以下3部分:l Objective Function:目标函数是一个能准确表达所要优化问题的公式。

l Variables:Decision variables(决策变量),在模型中所使用的变量。

l Constraints:约束条件。

(二)Lingo软件使用的须知(1)LINGO中不区分大小写字母,变量(和行名)可以使用不超过32个字符表示,且必须以字母开头。

(2)在命令方式下(Command Window中),必须先输入MODEL:表示开始输入模型。

LINGO中模型以“MODEL:”开始,以“END”完毕。

对简单的模型,这两个语句也可以省略。

(3)LINGO中的语句的顺序是不重要的,因为LINGO总是根据“MAX=”或“MIN=”语句寻找目标函数,而其它语句都是约束条件(当然注释语句和TITLE 除外)。

(4)LINGO模型是由一系列语句组成,每个语句以分号“;”完毕。

(5)LINGO中以感叹号“!”开始的是说明语句(说明语句也需要以分号“;”完毕)。

(6)LINGO中解优化模型时假定所有变量非负(除非用限定变量函数free 或sub或slb另行说明)。

(三)Solution Report各项的含义例1 将以下模型粘贴到Lingo中求解,其中第一行MODEL和最后一行END在Lingo Model 窗口下可以不要。

MODEL:min = 2*x1 + 3*x2;x1 + x2 >= 350;x1 >= 100;2*x1 + x2 <= 600;END得到如下的结果报告Global optimal solution found.Objective value: 800.0000Infeasibilities: 0.000000 !指矛盾约束的数目;Total solver iterations: 2Model Class: LPTotal variables: 2Nonlinear variables: 0Integer variables: 0Total constraints: 4Nonlinear constraints: 0Total nonzeros: 7Nonlinear nonzeros: 0Variable Value Reduced CostX1 250.0000 0.000000X2 100.0000 0.000000Row Slack or Surplus Dual Price1 800.0000 -1.0000002 0.000000 -4.000000 ! 模型第一行表示目标函数,第二行对应第一个约束;3 150.0000 0.0000004 0.000000 1.000000下面对Solution Report(LINGO的结果报告窗口)的各个部分进行说明:Global optimal solution found 表示全局最优解找到.Objective value: 800.0000 表示最优目标值为800.0000.Total solver iterations: 2 表示用单纯行法进行了两次迭代.Variable 表示变量, 此问题中有两个变量X1, X2.Value 给出最优解中各变量(Variable)的值: X1=250.0000, X2=100.0000.Reduced Cost 实际上是与最优单纯形表中的检验数相差一个负号的一个数。

数学建模优化模型与Lingo Lindo软件

数学建模优化模型与Lingo Lindo软件


表二 :5名队员4中泳姿百米平均成绩
队员





蝶泳 66.8 57.2
78
70
67.4
仰泳 75.6
66
67.8
74.2
71
蛙泳
87
66.4 84.6
69.6
83.8
自由泳 58.6
53
59.4
57.2
62.4
线 性 规
·划
模 型
决策变量:引入0-1变量xij 若选择队员 i 参加泳姿 j
例-1 某服务部门一周中每天需要不同数目的
雇员:周一到周四每天至少需要50人,周五
需要80人,周六和周日需要90人。现规定应
聘者需连续工作5天,试确定聘用方案,即周
线
一到周日每天聘用多少人,是5在满足需要的 前况下聘用总人数最少?

优化模型

决策变量:记周一到周日每天聘用的人数分别为X1,

X2,X3,X4,X5,X6 ,X7,这就是问题的决策变量。
的比赛,记 xij=1,否则记 xij=0.这就是问题的决策变量, 共20个。
目标函数:当队员队员 i 入选泳姿 j 的比赛时,
cij xij表示他的成绩,否则cij xij=0。于是接力队的成绩
可以表示为:
45
f
cij xij
j1 i1
约束条件:根据组成接力队的要求, xij 应该满足下面
方案。显然这不是解决问题的最好方法,随着问题
线
规模的变大,穷举法的计算量是无法接受的。

可以用0-1变量表示一个队员是否入选接力队, 从而建立这个问题的0-1规划模型.

利用LINGO建立最优化模型

利用LINGO建立最优化模型

利用LINGO建立最优化模型洪文1,朱云鹃1,金震1,王其文21(安徽大学商学院 合肥 230039)2(北京大学光华管理学院 北京 100871)摘 要:本文借助于最优化软件LINGO建立了最小树、最短路、最大流、最小费用流和货郎担问题的LINGO模型,并对模型中的难点给出了注释。

利用本文提供的模型,可以很容易地求出上述5个最优化问题的最优解。

关键词:最小树、最短路、最大流、最小费用流、货郎担问题、LINGO中图分类号:0211.6 文献标识码:A 文章编号:0 引言求解最小树、最短路、最大流、最小费用流和货郎担问题的方法虽然很多,但是利用最优化求解软件LINGO建立相应的模型来求解上述5个问题是一种新的尝试。

本文建立的模型有两个突出的特点。

第一个特点是模型的数据与公式完全分离,这样使得问题的求解变得特别方便(对于不同的问题只要更换数据即可)。

第二个特点是这五个模型都是利用最优化求解软件LINGO编写而成,可进行快速求解。

1 LINGO简介LINGO是一个简单而实用的最优化软件。

利用线性和非线性最优化的方法,LINGO可以用公式简明地表示复杂的规划问题,并可以快速地求出问题的最优解。

LINGO是由美国芝加哥LINDO系统公司研制。

该公司根据用户信息、线性和非线性规划的理论和方法及计算机发展的需要不断推出新的版本。

目前LINGO已成为世界上最为流行的最优化软件之一。

LINGO在我国已经有了相当多的用户。

它的主要特点是:1)LINGO含有一系列的接口函数。

这些接口函数可用在文本文件、电子表格和数据库中,可与外部的输入/输出源进行连接。

2)LINGO可以直接嵌入到Excel中,也可以将Excel嵌入到LINGO模型中。

这样就可以将数据与模型分离,使得模型的维护和调试变得非常容易。

3)LINGO使用Windows的窗口展开优化分析功能,使用对话框展示各种功能。

清晰、直观、易学易用。

4)LINGO具有强大的计算功能。

Lingo与优化建模

Lingo与优化建模

4
➢ 运行状态窗口
Variables(变量数量): 变量总数(Total)、 非线性变量数(Nonlinear)、 整数变量数(Integer)。
Constraints(约束数量): 约束总数(Total)、 非线性约束个数(Nonlinear)。
Nonzeros(非零系数数量): 总数(Total)、 非线性项系数个数(Nonlinear)。
决策变量
x D n
目标函数
约 束 条 件
• 无约束优化(没有约束)与约束优化(有约束) • 可行解(只满足约束)与最优解(取到最优值)
局部最优解与整体最优解
f(x)
* x1
ox2 x
• 局部最优解 (Local Optimal Solution, 如 x1 ) • 整体最优解 (Global Optimal Solution, 如 x2 )
结构设计 资源分配 生产计划 运输方案
➢解决优化问题的手段:
• 经验积累,主观判断 • 作试验,比优劣 • 建立数学模型,求解最优策略
➢数学模型一般形式:
优化问题三要素:决策变量;目标函数;约束条件
min f (x)
s.t. hi (x) 0, i 1,...,m g j (x) 0, j 1,...,l
扩展 的求 解器 (求解 程序) 状态 框
目前为止找到的可行 解的最佳目标函数值
有效步数
目标函数值的界
特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序)
计算结果:
程序语句输入的备注:
•LINGO总是根据“MAX=”或“MIN=”寻找目标函数, 而除注释语句和TITLE(标题)语句外的其他语句都是 约束条件,因此语句的顺序并不重要 。

优化建模与LINDO,LINGO优化软件

优化建模与LINDO,LINGO优化软件

ROW SLACK OR SURPLUS DUAL PRICES

原料无剩余
2)
0.000000

时间无剩余
3)
0.000000
资 源
加工能力剩余40
4)
40.000000
48.000000 2.000000 0.000000
“资源” 剩余为零的约束为紧约束(有效约束)
结果解释
OBJECTIVE FUNCTION VALUE
1. 优化模型与优化软件简介
优化模型和优化软件的重要意义
(最)优化:在一定条件下,寻求使目标最大(小)的决策
最优化是工程技术、经济管理、科学研究、 社会生活中经常遇到的问题, 如: 结构设计 资源分配 生产计划 运输方案 解决优化问题的手段 • 经验积累,主观判断 • 作试验,比优劣 • 建立数学模型(优化模型),求最优策略(决策) CUMCM赛题:约一半以上与优化有关,需用软件求解
2)
0.000000
48.000000
3)
0.000000
2.000000
4) 40.000000
0.000000
NO. ITERATIONS= 2
reduced cost值表 示当该非基变量 增加一个单位时 (其他非基变量 保持不变)目标 函数减少的量(对 max型问题)
也可理解为:
为了使该非基变 量变成基变量, 目标函数中对应 系数应增加的量
2
50.000000 10.000000
6.666667 90,在允许范
3 480.000000 53.333332
80.000000 围内
4 100.000000 INFINITY 40.000000

优化模型讲解 附LINGO程序

优化模型讲解 附LINGO程序

优化模型讲解附LINGO程序数学建模培训讲义――优化模型与LINGO软件二○一一年七目录1 静态优化模型 ........................................................................... .. (1)1.1 最优生产计划问题 ........................................................................... ........................... 1 1.2 存贮模型 ........................................................................... . (2)2 线性规划模型 ........................................................................... .. (2)2.1 LINGO简介 ........................................................................... ...................................... 2 2.2 配料问题 ........................................................................... ........................................... 3 2.3 练习:运输问题 ........................................................................... . (4)3 整数规划模型 ........................................................................... .. (4)3.1 电影院广告问题 ........................................................................... ............................... 4 3.2 练习:生产计划问题 ........................................................................... .. (5)4 0-1规划 ........................................................................... (5)4.1 背包问题 ........................................................................... ........................................... 5 4.2 矿井选址问题 ........................................................................... ................................... 6 4.3 练习:混合泳接力队的选拔问题 ........................................................................... (7)5 LINGO应用 ........................................................................... .. (8)5.1 变量定界函数 ........................................................................... ................................... 8 5.2 集合 ........................................................................... ................................................... 8 5.3 帆船生产问题 ........................................................................... .. (9)5.4 派生集合 ........................................................................... ..........................................11 5.5 通过电子表格(Excel)文件传递数据................................................................... 12 5.6 旅游问题 ........................................................................... .. (13)优化模型与LINGO软件优化问题是计划管理工作中经常要碰到的问题,比如,出门旅行就要考虑选择什么样的路线和交通工具,才能使旅行费用最省或使所花费的时间最少。

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

0.8千克B1
获利44元/千克
至多100公斤A1
制订生产计划,使每天净利润最大
• 30元可增加1桶牛奶,3元可增加1小时时间,应否投 资?现投资150元,可赚回多少? • B1,B2的获利经常有10%的波动,对计划有无影响?
1桶 牛奶 或
12小时
3千克 A1 1千克
获利24元/千克
0.8千克 B1
获利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
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
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
LINDO API: LINDO Application Programming Interface (V2.0)
演示(试用)版、学生版、高级版、超级版、工业版、 扩展版… (求解问题规模和选件不同)
LINDO和LINGO软件能求解的优化模型
优化模型
连续优化
整数规划(IP)
线性规划 (LP)
二次规划 (QP)
ROW SLACK OR SURPLUS DUAL PRICES 2 3 4 0.000000 0.000000 40.000000 48.000000 2.000000 0.000000
reduced cost值表 示当该非基变量 增加一个单位时 (其他非基变量 保持不变)目标 函数减少的量(对 max型问题) 也可理解为: 为了使该非基变 量变成基变量, 目标函数中对应 系数应增加的量
(约束条件不变) 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
非线性规划 (NLP) LINGO
LINDO
LINDO/LINGO软件的求解过程
1. 确定常数
2. 识别类型
LINDO/LINGO预处理程序
LP QP NLP IP 全局优化(选) 分枝定界管理程序
ILP
线性优化求解程序 1. 单纯形算法 2. 内点算法(选)
IQP
INLP
非线性优化求解程序 1、顺序线性规划法(SLP) 2、广义既约梯度法(GRG) (选) 3、多点搜索(Multistart) (选)
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
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元
优化模型与LINDO/LINGO优化软件
简要提纲
• LINDO公司的主要软件产品及功能简介
• LINDO软件的使用简介 • LINGO软件的使用简介 • 建模与求解实例(结合软件使用)
LINDO 公司软件产品简要介绍
美国芝加哥(Chicago)大学的Linus Schrage教授于1980 年前后开发, 后来成立 LINDO系统公司(LINDO Systems Inc.), 网址:
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 原料供应
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
(目标函数不变)
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
1桶 牛奶 或 12小时 8小时 每天: 50桶牛奶 3公斤A1 获利24元/公斤
4公斤A2
获利16元/公斤
时间480小时 至多加工100公斤A1
制订生产计划,使每天获利最大 • 35元可买到1桶牛奶,买吗?若买,每天最多买多少? • 可聘用临时工人,付出的工资最多是每小时几元? • A1的获利增加到 30元/公斤,应否改变生产计划?
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
1)
VARIABLE X1
3360.000
VALUE 20.000000 REDห้องสมุดไป่ตู้CED 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
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;
结果解释
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
建模时需要注意的几个基本问题
1、尽量使用实数优化,减少整数约束和整数变量
2、尽量使用光滑优化,减少非光滑约束的个数
如:尽量少使用绝对值、符号函数、多个变量求 最大/最小值、四舍五入、取整函数等 3、尽量使用线性模型,减少非线性约束和非线性变 量的个数 (如x/y <5 改为x<5y)
相关文档
最新文档