数学规划及软件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•可行解(只满足约束)与最优解(取到最优值)
2020/5/22 020年5月2日5时23分
数学规划类型
• 连续规划: 全部决策变量取值均 为连续数值 (实数)
• 离散规划: 部分或全部决策变量 只取离散数值
2020/5/22 020年5月2日5时23分
数学规划 ( Mathematical
连Pro• 线gr性am规划m(iLnPg) ) 目标和约束均为线性函数
7. 行中注有“!”符号的后面部分为注释。如:
8.
! It’s Comment.
8. 在模型的任何地方都可以用“TITLE” 对模型命名 (最多72个字符),如:
202T0/5I/22T0L2E0年Th5月is 2M日o5d时el2i3s 分only an Example
使用LINDO的一些注意事项
美国芝加哥(Chicago)大学的Linus Schrage教授于 1980年前后开发, 后来成立 LINDO系统公司 (LINDO Systems Inc.), 网址:lindo
LINDO: Linear Interaction and Discrete Optimizer LINGO: Linear Interaction General Optimizer
150 个约束的规划问题
2020/5/22 020年5月2日5时23分
LINGO软件的主要功能和特点
1.求解线性规划和非线性规划问题 2.模型输入简练直观 3.运行速度快 计算能力强 4.内置建模语言 提供内部函数 较少语句直
观描述大规模优化模型 5.引入集合 容易建模 6.数据交换方便(与EXCEL和数据库)
2020/5/22 020年5月2日5时23分
输出结果表示的意思是:
“LP OPTIMUM FOUND AT STEP2” 表示单纯形法在两次迭代(旋转)后得到最优解。 “OBJECTIVE FUNCTION VALUE 1) 7.454545 ” 表示最优目标值为7.454545.(注意:在LINDO中目标函数 所在的行总是被认为是第1行,这就是这里“1)”的含 义)。
2020/5/22 020年5月2日5时23分
模型求解:
用鼠标点击工具栏中的图标 , 或从菜单中选择Solve|Solve(Ctrl+S)命令
LINDO首先开始编译这个 模型,编译没有错误则开 始求解; 求解时会首先显示如右图 所示的LINDO “求解器运行状态窗口 ”。
2020/5/22 020年5月2日5时23分
但用“SUB”和“SLB”表示的上下界约束不计入模型 的约束,也不能给出其松紧判断和敏感性分析。
2020/5/22 020年5月2日5时23分
使用LINDO的一些注意事项
14. “END”后对0-1变量说明:INT n 或 INT name 15. “END”后对整数变量说明:GIN n 或 GIN name
16. 简单错误的检查和避免:
输入模型时可能会有某些输入错误. 当问题规模 较大时, 要查找错误是比较困难的。在LINDO 中有一 些可帮助寻找错误的功能,其中之一就是菜单命令 “Report | Picture(Alt+5)” , 它的功能是可以将 目标函数和约束表达式中的非零系数通过列表(或图 形)显示出来。
使用LINDO的一些注意事项
1. “>”(或“<”)号与“>=”(或“<=”)功能相同 2. 变量与系数间可有空格(甚至回车), 但无运算符
3. 变量名以字母开头,不能超过8个字符
4. 变量名不区分大小写(包括LINDO中的关键字)
5. 目标函数所在行是第一行,第二行起为约束条件
6. 行号(行名)自动产生或人为定义。行名以“)”结 束
2020/5/22 020年5月2日5时23分
例1 简单的线性规划(LP)问题: Max z 2 x 3 y s.t . 4 x 3 y 10 3 x 5 y 12 x, y 0
在空白的模型窗口中输入这个LP模型:
max 2x+3y st 4x+3y<=10
3x+5y<12 end
2020/5/22 020年5月2日5时23分
2020/5/22 020年5月2日5时23分
“VALUE” 给出最优解中各变量(VARIABLE)的值: X =1.272727, Y =1.636364.
“REDUCED COST” 给出最优的单纯形表中目标函数行 (第1行)中变量对应的系数. “SLACK OR SURPLUS(松驰或剩余)” 给出约束对应 的松驰变量的值: 第2、3行松驰变量均为0, 说明对于最优解 来讲,两个约束(第2、3行)均取等号,即都是紧约束。
数学规划模型、案例与 软件求解
王文祥 2019.7
2020/5/22 020年5月2日5时23分
Outline 一. 数学规划模型与优化软件简介 二. LINDO/LINGO软件 三. 建模实例 四. LINGO建模语言
2020/5/22 020年5月2日5时23分
一. 数学规划模型与优化软件简介
2020/5/22 020年5月2日5时23分
紧接着弹出一对话框,询问你是否需要做灵敏性分析 (DO RANGE (SENSITIVITY) ANALYSIS? )先选 择“否(N)”按钮,这个窗口就会关闭。然后,再 把状态窗口也关闭。
2020/5/22 020年5月2日5时23分
报告窗口
用鼠标选择“Window | Reports Window”(报告窗口), 就可以查看该窗口的内容
求解器运行状态窗口显示的相应信息及含义:
名称
含义
Status 当前状态
显示当前求解状态:“Optimal”表示已 达到最优解;其他可能的显示还有三个:
Feasible(可行解), Infeasible(不可行), Unbounded(最优值无界)。
Iterations 迭代次数
显示迭代次数:“2”表示经过了2次迭 代。
续 • 非线性规划(NLP) 目标或约束中存在非线性函数
规 划
✓ 二次规划(QP) 目标为二次函数、约束为线性
离 • 整数规划(IP) 决策变量(全部或部分)为整数
散 ✓ 整数线性规划(ILP),整数非线性规划(INLP)
规 ✓ 纯整数规划(PIP), 混合整数规划(MIP)

✓ 一般整数规划,0-1(整数)规划
2020/5/22 020年5月2日5时23分
常用优化软件
1.LINDO/LINGO软件 2.MATLAB优化工具箱
/mathematica优化程序包 3.EXCEL软件的优化功能 4.SAS(统计分析)软件的优化功能
2020/5/22 020年5月2日5时23分
LINDO 公司软件产品简要介绍
2020/5/22 020年5月2日5时23分
LINDO和LINGO能求解的数学规划模型
数学规划模型
连续规划
整数规划(IP)
线性规划 二次规划
(LP)
(QP)
LINDO
2020/5/22 020年5月2日5时23分
非线性规划 (NLP)
LINGO
二. LINDO/LINGO软件简介
• LINDO 是专门用于求解数学规划的软件包。 LINDO 执行速度很快、易于方便输入,因此在数 学、科研和工业界得到广泛应用。
9. 变量不能出现在一个约束条件的右端 10. 表达式中不接受括号“( )”和逗号“,”等任何符号, 例:
400(X1+X2)需写为400X1+400X2 11. 表达式应化简,如2X1+3X2- 4X1应写成 -2X1+3X2 12. 缺省假定所有变量非负;可在模型的“END”语句后
用“FREE name”将变量name的非负假定取消 13. 可在 “END”后用“SUB” 或“SLB” 设定变量上下界 14. 例如: “sub x1 10”的作用等价于“x1<=10”
2020/5/22 020年5月2日5时23分
“DUAL PRICES” 给出对偶价格(或影子价格)的值:表示 最优解下“资源”增加1单位时“效益”的增量。 第2、3行对偶价格分别为 .090909,.545455。 “NO. ITERATIONS= 2” 表示用单纯形法进行了两次迭代。
2020/5/22 020年5月2日5时23分
如图: 2020/5/22 020年5月2日5时23分
LINDO程序有以下特点:
★ 程序以“MAX”(或“MIN”)开始,表示目标最大化(或 最小化)问题,后面直接写目标函数表达式和约束表达式; ★ 目标函数和约束之间用“ST”分开;(或用“s.t.”) ★ 程序以“END”结束( “END” 也可以省略)。 ★ 系数与变量之间的乘号必须省略。 ★ 系统对目标函数所在行自动生成行名“1)”,对约束默认 的行名分别是“2)” “3)”…,用户也可以自己输入行名;行名 放在对应的约束之前。 ★ 书写相当灵活,不必对齐,不区分字符的大小写。 ★ 默认所有的变量都是非负的, 所以不必输入非负约束。 ★ 约束条件中的“<=” 及“>=”可分别用“<” 及“>”代替。 ★ 一行中感叹号“!”后面的文字为是注释语句,可增强程 序的可读性,不参与模型的建立。
Close关闭
显示计算所用时间(秒):“0.00”说明 计算太快了,用时还不到0.005秒。
显示和控制刷新本界面的时间间隔: “1”表示1秒;用户可以直接在界面上 修改这个时间间隔。
当模型规模比较大时,求解时间会很长, 可以在程序运行过程中用鼠标点击该按 钮终止计算。
该按钮是关闭状态窗口,并不终止计算
2020/5/22 020年5月2日5时23分
名称
IP Bound 整数规划的界
含义
显示整数规划的界(对最大化问题显示 上界;对最小化问题,显示下界)
Branches分枝数 显示分枝定界算法已经计算的分枝数:
Elapsed Time 所用时间
UpdateInterval 刷新本界面时间 间隔
Interrupt Solver 中断求解程序
• LINDO 主要用于解线性规划、二次规划。也可以 用于线性方程组的求解以及代数方程求根等。
• LINDO 中包含了建模语言和许多常用的数学函数 (包括大量概论函数),可供使用者建立规划问 题时调用。
• 一般用LINDO(Linear Interactive and Discrete Optimizer)解决线性规划
2020/5/22 020年5月2日5时23分
• 最大规模的模型的非零系数可以达到1,000,000个 • 最大变量个数可以达到100,000个,最大目标函数
和约束条件个数可以达到32000个 • 最大整数变量个数可以达到100,000个 • LINDO 6 .1 学生版至多可求解多达300 个变量和
•数学规划是优化问题的一个分支,起始 于20世纪30年代末,50年代与60年代发展成 为一个完整的分支并受到数学界和社会各界 的重视。七八十年代是数学规划飞速发展时 期,无论是从理论上还是算法方面都得到了 进一步完善。时至今日数学规划仍然是运筹 学领域中热点研究问题。从国内外的数学建 模竞赛的试题中看,有一半以上的问题可用 数学规划进行求解。
Infeasibility 约束不满足的量(即各个约束条件不满足 不可行性 的“数量”的和):“0”表示解是可行的。
Objective 当前目标值
显示目标函数当前的值:7.45455。
Best IP 整数规划当前最
佳目标值
显示整数规划当前的最佳目标值: “N/A” (No Answer)表示无答案或无 意义,因为这个模型中没有整数变量, 不是整数规划(IP)。
2020/5/22 020年5月2日5时23分
Байду номын сангаас学规划模型的一般形式
min(ormax) z f (x) s.t. hi(x) 0, i 1,...,m
gj(x) 0, j 1,...,l xDRn
(1) 约 (2) 束 (3) 条

可行域 s. t. (subjetoc)t“受约束于”之意.
三要素:决策变量;目标函数;约束条件
2020/5/22 020年5月2日5时23分
三个变量范围限定命令(FREE、SUB、SLB)的作用
求解如下的LP问题:
MAX 2x – 3y + 4z S.T. 4x + 3y + 2z ≤ 10
-3x + 5y - z ≤ 12 x + y + 5z ≥ 8
-5x - y - z ≥ 2 0≤y≤20, z≥30
相关文档
最新文档