LINGO软件学习入门课件.ppt_第1页
LINGO软件学习入门课件.ppt_第2页
LINGO软件学习入门课件.ppt_第3页
LINGO软件学习入门课件.ppt_第4页
LINGO软件学习入门课件.ppt_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LINGO软件学习 一 优化模型与优化软件简介 二 LINGO软件的基本使用方法 三 LINGO软件求解线性规划问题 一 优化模型与优化软件简介 数学规划模型 实际问题中的优化模型 x 决策变量 f x 目标函数 gi x 0 约束条件 数学规划 线性规划 LP 二次规划 QP 非线性规划 NLP 整数规划 IP 线性规划问题的标准形式 目标函数 约束条件 非线性规划 约束集或可行域 常用优化软件 LINDO LINGO软件MATLAB优化工具箱 mathematica优化程序包EXCEL软件的优化功能SAS 统计分析 软件的优化功能 建模时需要注意的几个基本问题 1 尽量使用实数优化 减少整数约束和整数变量2 尽量使用光滑优化 减少非光滑约束的个数如 尽量少使用绝对值 符号函数 多个变量求最大 最小值 四舍五入 取整函数等3 尽量使用线性模型 减少非线性约束和非线性变量的个数 如x y 5改为x 5y 4 合理设定变量上下界 尽可能给出变量初始值5 模型中使用的参数数量级要适当 如小于103 二 LINGO软件的基本使用方法 1LINGO入门 第一步 启动LINGO 屏幕显示如下 标记LINGO的外窗口是主框架窗口 主框架窗口的上面包含所有的命令菜单和命令工具栏 标记LINGOMODEL LINGO1的子窗口是一个新的 空白的模型窗口 第二步 在模型窗口中输入模型 输入 model max 2 x1 3 x2 4 x1 3 x2 10 3 x1 5 x2 12 end 第三步 求解模型 1 选择菜单LINGO Solve或者按工具栏的 2 LINGO开始编译模型 如有语法错误将返回一个错误的消息并指明错误出现的位置 如果通过编译 LINGO将激活Solver运算器寻求模型的最优解 3 首先出现solverstatus窗口 其作用是监控solver的进展和显示模型的维数等信息 4 计算完成后出现SolutionReport窗口显示模型解的详细信息 运行状态窗口 Variables 变量数量 变量总数 Total 非线性变量数 Nonlinear 整数变量数 Integer Constraints 约束数量 约束总数 Total 非线性约束个数 Nonlinear Nonzeros 非零系数数量 总数 Total 非线性项系数个数 Nonlinear GeneratorMemoryUsed K 内存使用量 ElapsedRuntime hh mm ss 求解花费的时间 运行状态窗口 求解器 求解程序 状态框 当前模型的类型 LP QP ILP IQP PILP PIQP NLP INLP PINLP 以I开头表示IP 以PI开头表示PIP 当前解的状态 GlobalOptimum LocalOptimum Feasible Infeasible 不可行 Unbounded 无界 Interrupted 中断 Undetermined 未确定 解的目标函数值 当前约束不满足的总量 不是不满足的约束的个数 实数 即使该值 0 当前解也可能不可行 因为这个量中没有考虑用上下界命令形式给出的约束 目前为止的迭代次数 运行状态窗口 扩展的求解器 求解程序 状态框 使用的特殊求解程序 B and B 分枝定界算法 Global 全局最优求解程序 Multistart 用多个初始点求解的程序 目前为止找到的可行解的最佳目标函数值 目标函数值的界 特殊求解程序当前运行步数 分枝数 对B and B程序 子问题数 对Global程序 初始点数 对Multistart程序 有效步数 运行程序的LINGO报告窗口 如下图 注 LINGO不询问是否进行敏感性分析 敏感性分析需要将来通过修改系统选项启动敏感性分析后 再调用 REPORT RANGE 菜单命令来实现 现在同样可以把模型和结果报告保存在文件中 解释 Objectivevalue 最优目标值Infeasibilities 不可行性Totalsolveriterations 单纯形法的迭代次数Variable 变量Value 给出最优解中各变量的值ReducedCost 各个变量的检验数SlackorSurplus 约束条件的松驰变量或剩余变量的值DualPrice 对偶价格或影子价格 2Lingo的基本用法注意事项 1 每一个模型都以model 开始 又以end结束 也可省略此结构 2 目标函数必须由 min 或 max 开头 3 可以用表示 4 LINGO的每一语句 结束 5 注释以 开始 以 结束 6 变量名 不区分大小写 由字母数字下划线组成 第一个字符必须是字母 变量名最长为32个字符7 变量和数字放在约束条件的左 右端均可 但最好变量在左 数字在右 8 Lingo变量默认域为非负实数 可以改变默认域 程序语句输入的备注 LINGO总是根据 MAX 或 MIN 寻找目标函数 而除注释语句和TITLE语句外的其他语句都是约束条件 因此语句的顺序并不重要 限定变量取整数值的语句为 GIN X1 和 GIN X2 不可以写成 GIN 2 否则LINGO将把这个模型看成没有整数变量 LINGO中函数一律需要以 开头 其中整型变量函数 BIN GIN 和上下界限定函数 FREE SUB SLB 与LINDO中的命令类似 而且0 1变量函数是 BIN函数 数学函数LINGO提供了大量的标准数学函数 abs x 返回x的绝对值 sin x 返回x的正弦值 x采用弧度制 cos x 返回x的余弦值 tan x 返回x的正切值 exp x 返回常数e的x次方 log x 返回x的自然对数 lgm x 返回x的gamma函数的自然对数 sign x 如果x 0时 返回不超过x的最大整数 当x 0时 返回不低于x的最大整数 smax x1 x2 xn 返回x1 x2 xn中的最大值 smin x1 x2 xn 返回x1 x2 xn中的最小值 三 LINGO软件求解线性规划问题 熟悉LINGO软件的使用方法 功能 利用LINGO软件求解一般线性规划问题 熟悉LINGO软件的启动步骤 熟悉LINGO软件的各菜单 命令按钮的作用 学会如何使用LINGO的帮助文件 学会输入线性规划模型的基本格式 1 求解线性规划 model max x1 2 x2 2 x1 5 x2 12 x1 2 x2 8 End注意 乘法一定用 2 求解线性规划 model max 20 x1 10 x2 5 x1 4 x25 end 1 解线性规划 练习 2 求解问题 3 求解 4 解下列规划 2019 12 19 31 可编辑 返回 5 求解问题 6 求解问题 返回 7 求下述整数规划问题的最优解 8 如何在LINGO中求解如下的IQP问题 LINGO代码 max 98 x1 277 x2 x1 2 0 3 x1 x2 2 x2 2 x1 x2 100 x1 2 x2 gin x1 gin x2 50桶牛奶 时间480小时 至多加工100公斤A1 制订生产计划 使每天获利最大 35元可买到1桶牛奶 买吗 若买 每天最多买多少 可聘用临时工人 付出的工资最多是每小时几元 A1的获利增加到30元 公斤 应否改变生产计划 每天 例1 加工奶制品的生产计划 x1桶牛奶生产A1 x2桶牛奶生产A2 获利24 3x1 获利16 4x2 原料供应 劳动时间 加工能力 决策变量 目标函数 每天获利 约束条件 非负约束 线性规划模型 LP 时间480小时 至多加工100公斤A1 模型求解 OBJECTIVEFUNCTIONVALUE1 3360 000VARIABLEVALUEREDUCEDCOSTX120 0000000 000000X230 0000000 000000ROWSLACKORSURPLUSDUALPRICES2 0 00000048 0000003 0 0000002 0000004 40 0000000 000000NO ITERATIONS 2 20桶牛奶生产A1 30桶生产A2 利润3360元 Max 72 x1 64 x2 x1 x2 50 12 x1 8 x2 480 3 x1 100 模型求解 reducedcost值表示当该非基变量增加一个单位时 其他非基变量保持不变 目标函数减少的量 对max型问题 OBJECTIVEFUNCTIONVALUE1 3360 000VARIABLEVALUEREDUCEDCOSTX120 0000000 000000X230 0000000 000000ROWSLACKORSURPLUSDUALPRICES2 0 00000048 0000003 0 0000002 0000004 40 0000000 000000NO ITERATIONS 2 也可理解为 为了使该非基变量变成基变量 目标函数中对应系数应增加的量 OBJECTIVEFUNCTIONVALUE1 3360 000VARIABLEVALUEREDUCEDCOSTX120 0000000 000000X230 0000000 000000ROWSLACKORSURPLUSDUALPRICES2 0 00000048 0000003 0 0000002 0000004 40 0000000 000000 原料无剩余 时间无剩余 加工能力剩余40 三种资源 资源 剩余为零的约束为紧约束 有效约束 结果解释 Max 72 x1 64 x2 x1 x2 50 12 x1 8 x2 480 3 x1 100 OBJECTIVEFUNCTIONVALUE1 3360 000VARIABLEVALUEREDUCEDCOSTX120 0000000 000000X230 0000000 000000ROWSLACKORSURPLUSDUALPRICES2 0 00000048 0000003 0 0000002 0000004 40 0000000 000000 结果解释 最优解下 资源 增加1单位时 效益 的增量 原料增1单位 利润增48 时间加1单位 利润增2 能力增减不影响利润 影子价格Shadowprice 35元可买到1桶牛奶 要买吗 35 48 应该买 聘用临时工人付出的工资最多每小时几元 2元 对偶计算 包括对偶价格和敏感性分析 LINGO Options GeneralSolver 通用求解程序 选项卡 要使用敏感性分析必须要在这选择使用敏感性分析 RANGESINWHICHTHEBASISISUNCHANGED OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172 00000024 0000008 000000X264 0000008 00000016 000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250 00000010 0000006 6666673480 00000053 33333280 0000004100 000000INFINITY40 000000 最优解不变时目标系数允许变化范围 x1系数范围 64 96 x2系数范围 48 72 A1获利增加到30元 千克 应否改变生产计划 x1系数由24 3 72增加为30 3 90 在允许范围内 不变 约束条件不变 结果解释 LINGO Range 结果解释 RANGESINWHICHTHEBASISISUNCHANGED OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172 00000024 0000008 000000X264 0000008 00000016 000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250 00000010 0000006 6666673480 00000053 33333280 0000004100 000000INFINITY40 000000 影子价格有意义时约束右端的允许变化范围 原料最多增加10 时间最多增加53 35元可买到1桶牛奶 每天最多买多少 最多买10桶 目标函数不变 注意 充分但可能不必要 30元可增加1桶牛奶 3元可增加1小时时间 应否投资 现投资150元 可赚回多少 B1 B2的获利经常有10 的波动 对计划有无影响 每天50桶牛奶 时间480小时至多加工100公斤A1 制订生产计划 使每天获利最大 问题 决策变量 目标函数 约束条件 非负约束 利润 原料供应 劳动时间 加工能力 附加约束 模型分析与假设 模型求解 软件实现 LINDO6 1 OBJECTIVEFUNCTIONVALUE1 3460 800VARIABLEVALUEREDUCEDCOSTX10 0000001 680000X2168 0000000 000000X319 2000010 000000X40 0000000 000000X524 0000000 000000X60 0000001 520000ROWSLACKORSURPLUSDUALPRICES2 0 0000003 1600003 0 0000003 2600004 76 0000000 0000005 0 00000044 0000006 0 00000032 000000NO ITERATIONS 2 OBJECTIVEFUNCTIONVALUE1 3460 800VARIABLEVALUEREDUCEDCOSTX10 0000001 680000X2168 0000000 000000X319 2000010 000000X40 0000000 000000X524 0000000 000000X60 0000001 520000ROWSLACKORSURPLUSDUALPRICES2 0 0000003 1600003 0 0000003 2600004 76 0000000 0000005 0 00000044 0000006 0 00000032 000000NO ITERATIONS 2 结果解释 每天销售168千克A2和19 2千克B1 利润3460 8 元 8桶牛奶加工成A1 42桶牛奶加工成A2 将得到的24千克A1全部加工成B1 除加工能力外均为紧约束 OBJECTIVEFUNCTIONVALUE1 3460 800VARIABLEVALUEREDUCEDCOSTX10 0000001 680000X2168 0000000 000000X319 2000010 000000X40 0000000 000000X524 0000000 000000X60 0000001 520000ROWSLACKORSURPLUSDUALPRICES2 0 0000003 1600003 0 0000003 2600004 76 0000000 0000005 0 00000044 0000006 0 00000032 000000 增加1桶牛奶使利润增长3 16 12 37 92 增加1小时时间使利润增长3 26 30元可增加1桶牛奶 3元可增加1小时时间 应否投资 现投资150元 可赚回多少 投资150元增加5桶牛奶 可赚回189 6元 大于增加时间的利润增长 结果解释 B1 B2的获利有10 的波动 对计划有无影响 RANGESINWHICHTHEBASISISUNCHANGED OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX124 0000001 680000INFINITYX216 0000008 1500002 100000X344 00000019 7500023 166667X432 0000002 026667INFINITYX5 3 00000015 8000002 533334X6 3 0000001 520000INFINITY B1获利下降10 超出X3系数允许范围 B2获利上升10 超出X4系数允许范围 波动对计划有影响 生产计划应重新制订 如将x3的系数改为39 6计算 会发现结果有很大变化 结果解释 问题1 如何下料最节省 例3钢管下料 问题2 客户增加需求 节省的标准是什么 由于采用不同切割模式太多 会增加生产和管理成本 规定切割模式不能超过3种 如何下料最节省 按照客户需要在一根原料钢管上安排切割的一种组合 切割模式 合理切割模式的余料应小于客户需要钢管的最小尺寸 钢管下料 为满足客户需要 按照哪些种合理模式 每种模式切割多少根原料钢管 最为节省 合理切割模式 2 所用原料钢管总根数最少 钢管下料问题1 两种标准 1 原料钢管剩余总余量最小 xi 按第i种模式切割的原料钢管根数 i 1 2 7 约束 满足需求 决策变量 目标1 总余量 按模式2切割12根 按模式5切割15根 余料27米 最优解 x2 12 x5 15 其余为0 最优值 27 整数约束 xi为整数 当余料没有用处时 通常以总根数最少为目标 目标2 总根数 钢管下料问题1 约束条件不变 最优解 x2 15 x5 5 x7 5 其余为0 最优值 25 xi为整数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论