如何使用LINGO软件[1]ppt课件.ppt_第1页
如何使用LINGO软件[1]ppt课件.ppt_第2页
如何使用LINGO软件[1]ppt课件.ppt_第3页
如何使用LINGO软件[1]ppt课件.ppt_第4页
如何使用LINGO软件[1]ppt课件.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

Lingo入门 广西大学数学与信息科学学院韦琳娜j wln 1 1在Lingo中使用Lindo模型 Lindo与Lingo都是LINDO系统公司开发的专门用于求解最优化问题的软件包 与Lindo相比 Lingo软件主要具有两大优点 1 除具有LINDO的全部功能外 还可用于求解非线性规划问题 包括非线性整数规划问题 2 LINGO包含了内置的建模语言 允许以简练 直观的方式描述较大规模的优化问题 模型中所需的数据可以以一定格式保存在独立的文件中 2 1在Lingo中使用Lindo模型 Lingo9 0完全支持Lindo模型程序的书写格式 在Lingo9 0模型窗口中选择菜单命令 File Open F3 注意在Lingo9 0以前的版本中 如Lingo8 0 File ImportLINDOFile F12 命令可以将Lindo模型文件转化成Lingo模型 这个菜单命令的意思是 导入Lindo文件 在LINGO9 0中已无必要 所以该命令已经被取消了 3 后缀 ldt 表示LINGO数据文件 后缀 ltf 表示LINGO命令脚本文件 后缀 lgr 表示LINGO报告文件 后缀 mps 表示MPS 数学规划系统 格式的模型文件 表示所有文件 后缀 lg4 表示LINGO格式的模型文件 是一种特殊的二进制格式文件 保存了我们在模型窗口中能够看到的所有文件和其他对象及其格式信息 只有LINGO能读出它 用其他系统打开这种文件时会出现乱码 后缀 lng 表示文本格式的模型文件 并且以这个格式保存模型时LINGO将给出警告 因为模型中的格式信息 如字体 颜色 嵌入对象等 将会丢失 LINDO格式的模型文件 4 2用Lingo求解二次规划 QP 模型 例2 1某厂生产的一种产品有甲 乙两个牌号 讨论在产销平衡的情况下如何确定各自的产量 使总的利润最大 所谓产销平衡指工厂的产量等于市场上的销量 没有卖不出去的产品的情况 显然 销售总利润既取决于两种牌号产品的销量和 单件 价格 也依赖于产量和 单件 成本 按照市场经济规律 甲的价格p1固然会随其销量x1的增长而降低 同时乙的销量x2的增长也会使甲的价格有稍微的下降 可以简单地假设价格与销量成线性关系 即p1 b1 a11x1 a12x2 b1 a11 a12 0 a11 a12 类似地 乙的价格p2遵循同样的规律 即有p2 b2 a21x1 a22x2 b2 a21 a22 0 a22 a21 例如 假定实际中b1 100 a11 1 a12 0 1 b2 280 a21 0 2 a22 2 此外 假设工厂的生产能力有限 两种牌号产品的产量之和不可能超过100件 且甲的产量不可能超过乙的产量的两倍 甲乙的单件生产成本分别是q1 2和q2 3 假定为常数 求甲 乙两个牌号的产量x1 x2使总利润最大 5 优化模型 决策变量 决策变量就是甲 乙两个牌号的产量 也是销量 x1 x2目标函数 显然 目标函数就是总利润z x1 x2 即z x1 x2 p1 q1 x1 p2 q2 x2 100 x1 0 1x2 x1 280 0 2x1 2x2 3 x2 98x1 277x2 x12 0 3x1x2 2x22约束条件 题中假设工厂的生产能力有限 两种产品的产量之和不可能超过100件 且产品甲的产量不可能超过乙的产量的两倍 写成数学表达式 就是x1 x2 100 x1 2x2 6 综上所述 max 98x1 277x2 x12 0 3x1x2 2x22 1 1 s t x1 x2 100 1 2 x1 2x2 1 3 x1 x2 1 4 7 LINGO中的变量名由字母和数字组成 但必须以字母开头 长度不能超过32个字符 只能是英文字符 不能含有中文字符 行号 TITLE 语句和注释语句是LINGO中唯一可以使用汉字字符的地方行号必须以字母或下划线开头 LINGO中不区分大小写字母LINGO中已假定所有变量非负 8 通过 LINGO Generate DisplayModel Ctrl G 命令可以看到完整的模型以及每行语句对应的行号了 9 可使用 LINGO Picture 命令检查模型中的简单错误 该命令将目标函数和约束表达式中的非零系数通过列表 或图形 显示出来 10 用 LINGO Solve Ctrl S 命令来运行这个程序 如果想要了解运行状态窗口中各项的含义 可先点击工具栏上的图标 再点击运行状态窗口 屏幕上自动弹出运行状态窗口的帮助信息 11 求解结果报告窗口 12 3敏感性分析 敏感性分析的作用是给出 Rangesinwhichthebasisisunchanged 即研究当目标函数的系数和约束右端项在什么范围变化 此时假定其他系数保持不变 时 最优基 矩阵 保持不变 注意 这里LINGO不询问是否进行敏感性分析 如果需要进行敏感性分析 必须用 LINGO Options 命令打开系统选项对话框 在 GeneralSolver 标签下的 DualComputations 下拉列表中选中 Prices Range 再按下 OK 按钮激活敏感性分析功能 修改了系统选项后 以后只需调用 LINGO Range 命令即可进行敏感性分析了 13 修改运行时的内存限制 激活敏感性分析 14 例3 1一奶制品加工厂用牛奶生产A1 A2两种奶制品 1桶牛奶可以在甲车间用12h加工成3kgA1 或者在乙车间用8h加工成4kgA2 根据市场需求 生产出的A1 A2全部能售出 且每千克A1获利24元 每千克A2获利16元 现在加工厂每天能得到50桶牛奶的供应 每天正式工人总的劳动时间为480h 并且甲车间的设备每天至多能加工100kgA1 乙车间的设备的加工能力可以认为没有上限限制 即加工能力足够大 试为该厂制定一个生产计划 使每天获利最大 并进一步讨论以下3个附加问题 1 若用35元可以买到1桶牛奶 是否作这项投资 若投资 每天最多购买多少桶牛奶 2 若可以聘用临时工人以增加劳动时间 付给临时工人的工资最多是每小时几元 3 由于市场需求变化 每千克A1的获利增加到30元 是否应该改变生产计划 15 优化模型 决策变量 设每天用x1桶牛奶生产A1 用x2桶牛奶生产A2目标函数 设每天获利为z 元 x1桶牛奶生产3x1 kg A1 获利24 3x1 x2桶牛奶生产4x2 kg A2 获利16 4x1 故z 72x1 64x2 约束条件 原料供应 生产A1 A2的原料 牛奶 总量不得超过每天的供应 即x1 x2 50 桶 劳动时间 生产A1 A2的总加工时间不得超过每天正式工人总的劳动时间 即12x1 8x2 480 h 设备能力 A1的产量不得超过甲车间设备每天的加工能力 即3x1 100 非负约束 x1 x2均不能为负值 16 综上所述 Maxz 72x1 64x2 s t x1 x2 50 12x1 8x2 480 3x1 100 x1 x2 0 线性规划模型 LP 17 模型分析与假设 比例性 可加性 连续性 xi对目标函数的 贡献 与xi取值成正比 xi对约束条件的 贡献 与xi取值成正比 xi对目标函数的 贡献 与xj取值无关 xi对约束条件的 贡献 与xj取值无关 xi取值连续 A1 A2每公斤的获利是与各自产量无关的常数 每桶牛奶加工出A1 A2的数量和时间是与各自产量无关的常数 A1 A2每公斤的获利是与相互产量无关的常数 每桶牛奶加工出A1 A2的数量和时间是与相互产量无关的常数 加工A1 A2的牛奶桶数是实数 线性规划模型 18 模型求解 图解法 约束条件 目标函数 z c 常数 等值线 在B 20 30 点得到最优解 目标函数和约束条件是线性函数 可行域为直线段围成的凸多边形 目标函数的等值线为直线 最优解一定在凸多边形的某个顶点取得 19 Lingo优化模型 这是一个 连续 线性规划 LP 问题 20 LINGO Solve 求解结果报告 1 若用35元可以买到1桶牛奶 是否作这项投资 若投资 每天最多购买多少桶牛奶 2 若可以聘用临时工人以增加劳动时间 付给临时工人的工资最多是每小时几元 3 由于市场需求变化 每千克A1的获利增加到30元 是否应该改变生产计划 LINGO Range 敏感性分析 21 结论 应该批准用35元买1桶牛奶的投资 但每天最多购买10桶牛奶 可以用低于2元 h的工资聘用临时工人以增加劳动时间 但最多增加53 3333h 若每千克A1的获利增加到30元 则x1系数变为30 3 90 在允许的范围内 所以不应改变生产计划 但最优值变为90 20 64 30 3720 22 例4 1SAILCO公司需要决定下四个季度的帆船生产量 下四个季度的帆船需求量分别是40条 60条 75条 25条 这些需求必须按时满足 每个季度正常的生产能力是40条帆船 每条船的生产费用为400美元 如果加班生产 每条船的生产费用为450美元 每个季度末 每条船的库存费用为20美元 假定生产提前期为0 初始库存为10条船 如何安排生产可使总费用最小 4在LINGO中使用集合 23 DEM 需求量 RP 正常生产的产量 OP 加班生产的产量 INV 库存量目标函数 约束条件 能力限制RP I 40 I 1 2 3 4产品数量的平衡方程INV I INV I 1 RP I OP I DEM I INV 10 变量的非负约束 24 Lingo优化模型 集合 属性 集合的属性相当于以集合的元素为下标的数组 25 Lingo模型的基本要素 1 集合段 SETS 2 目标与约束段 3 数据段 DATA 作用在于对集合的属性 数组 输入必要的常数数据 格式为 attribute 属性 value list 常数列表 常数列表 value list 中数据之间可以用逗号 分开 也可以用空格分开 回车的作用也等价于一个空格 变量名 运行时赋值 4 初始段 INIT 赋初值 5 计算段 CALC 预处理 26 例4 2建筑工地的位置 用平面坐标a b表示 距离单位 km 及水泥日用量d 单位 t 由下表给出 目前有两个临时料场位于P 5 1 Q 2 7 日储量各有20t 求从A B两料场分别向各工地运送多少吨水泥 使总的吨公里数最小 两个新的料场应建在何处 节省的吨公里数有多大 工地的位置 a b 及水泥日用量d 27 优化模型 记工地的位置为 ai bi 水泥日用量为di i 1 2 6 料场位置为 xj yj 日储量为ej j 1 2 从料场j向工地i的运送量为cij 决策变量 在问题 1 中 决策变量就是料场j向工地i的运送量cij 该问题是个LP问题 在问题 2 中 决策变量除了料场j向工地i的运送量cij 新建料场位置 xj yj 也是决策变量 该问题是个NLP问题 目标函数 f是总吨公里数 运量乘以运输距离 28 约束条件 各工地的日用量必须满足 所以各料场的运送量不能超过日储量 所以Cij非负 29 综上所述 该问题的数学规划模型是 30 Lingo优化模型 NLP demand supply 这种直接把元素列举出来的集合 称为基本集合 link s t s demand t supply 这种基于其他集合派生出来的二维或多维集合称为派生集合 Demand supply称为link的父集合 按列赋值 31 局部最优解 32 全局最优解 33 Lingo优化模型 LP 34 全局最优解 35 总结 集合的不同类型及其关系 36 5运算符 优先级运算符Highest NOT negation EQ NE GT GE LT LE AND OR Lowest 算术运算符 逻辑运算符 a AND OR NOT 逻辑值之间b EQ NE GT GE LT LE 数与数之间a b 运算结果都是逻辑值关系运算符 数与数之间 表示优化模型的约束条件 37 函数 注意 LINGO9 0与之前的版本相比 增加了很多新的内部函数 使用这些新函数的优化模型在LINGO9 0之前的各种版本中无法执行 我们可以使用下拉菜单 Edit PasteFunction 在LINGO的模型窗口下直接输入所需的各种内部函数 此外 可先点击工具栏上的图标 再点击 Edit PasteFunction 下你所感兴趣的函数 屏幕上将弹出该函数功能的帮助信息 38 Edit PasteFunction 菜单命令 39 6LINGO软件与外部文件的接口 1 通过Windows剪贴板传递数据 1 Edit Paste Ctrl V 一般仅用于剪贴板中的内容是文本 包括多信息文本 即RTF格式的文本 的情形 2 Edit PasteSpecial Ctrl V 可以用于剪贴板中的内容不是文本的情形 如可以嵌入 插入 其他应用程序中生成的对象 object 或对象的链接 link 40 2 通过文本文件传递数据 1 输入 FILE filename 可以在集合段和数据段使用 但不允许嵌套使用 filename文件中记录之间必须用 分开 2 输出 TEXT filename 通常只在数据段使用 41 3 通过Excel电子表格文件传递数据 OLE xlsFile range1 rangen xlsFile是电子表格文件的名称 应当包括扩展名 如 xls 还可以包含完整的路径名 只要字符数不超过64均可 range列表是指文件中包含数据的单元范围 单元范围的格式与Excel中工作表的单元范围格式一致 42 该函数只能在

温馨提示

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

评论

0/150

提交评论