使用LINDO的一些注意事项.ppt

上传人:xt****7 文档编号:5186985 上传时间:2020-01-22 格式:PPT 页数:49 大小:1.61MB
返回 下载 相关 举报
使用LINDO的一些注意事项.ppt_第1页
第1页 / 共49页
使用LINDO的一些注意事项.ppt_第2页
第2页 / 共49页
使用LINDO的一些注意事项.ppt_第3页
第3页 / 共49页
点击查看更多>>
资源描述
使用LINDO的一些注意事项 或 或 功能相同变量与系数间可有空格 甚至回车 但无运算符变量名以字母开头 不能超过8个字符变量名不区分大小写 包括LINDO中的关键字 目标函数所在行是第一行 第二行起为约束条件行号 行名 自动产生或人为定义 行名以 结束行中注有 符号的后面部分为注释 如 It sComment 在模型的任何地方都可以用 TITLE 对模型命名 最多72个字符 如 TITLEThisModelisonlyanExample 变量不能出现在一个约束条件的右端表达式中不接受括号 和逗号 等任何符号 例 400 X1 X2 需写为400X1 400X2表达式应化简 如2X1 3X2 4X1应写成 2X1 3X2缺省假定所有变量非负 可在模型的 END 语句后用 FREEname 将变量name的非负假定取消可在 END 后用 SUB 或 SLB 设定变量上下界例如 subx110 的作用等价于 x1 10 但用 SUB 和 SLB 表示的上下界约束不计入模型的约束 也不能给出其松紧判断和敏感性分析 14 END 后对0 1变量说明 INTn或INTname15 END 后对整数变量说明 GINn或GINname 使用LINDO的一些注意事项 二次规划 QP 问题 LINDO可求解二次规划 QP 问题 但输入方式较复杂 因为在LINDO中不许出现非线性表达式需要为每一个实际约束增加一个对偶变量 LAGRANGE乘子 在实际约束前增加有关变量的一阶最优条件 转化为互补问题 END 后面使用QCP命令指明实际约束开始的行号 然后才能求解建议总是用LINGO解QP 注意 对QP和IP 敏感性分析意义不大 状态窗口 LINDOSolverStatus 当前状态 已达最优解迭代次数 18次约束不满足的 量 不是 约束个数 0当前的目标值 94最好的整数解 94整数规划的界 93 5分枝数 1所用时间 0 00秒 太快了 还不到0 005秒 刷新本界面的间隔 1 秒 选项设置 Preprocess 预处理 生成割平面 PreferredBranch 优先的分枝方式 Default 缺省方式 Up 向上取整优先 Down 向下取整优先 IPOptimalityTol IP最优值允许的误差上限 一个百分数 如5 即0 05 IPObjectiveHurdle IP目标函数的篱笆值 即只寻找比这个值更优最优解 如当知道当前模型的某个整数可行解时 就可以设置这个值 IPVarFixingTol 固定一个整数变量取值所依据的一个上限 如果一个整数变量的判别数 REDUCEDCOST 的值很大 超过该上限 则以后求解中把该整数变量固定下来 NonzeroLimit 非零系数的个数上限 IterationLimit 最大迭代步数 InitialContraintTol 约束的初始误差上限 FinalContraintTol 约束的最后误差上限 EnteringVarTol 进基变量的REDUCEDCOST的误差限 PivotSizeTol 旋转元的误差限 Report Statistics 第一行 模型有5行 约束4行 4个变量 两个整数变量 没有0 1变量 从第4行开始是二次规划的实际约束 第二行 非零系数19个 约束中非零系数12个 其中6个为1或 1 模型密度为0 760 密度 非零系数 行数 变量数 第三行的意思 按绝对值看 系数最小 最大分别为0 3和277 第四行的意思 模型目标为极小化 小于等于 等于 大于等于约束分别有 个 广义上界约束 GUBS 不超过 个 变量上界约束 VUBS 不少于 个 所谓GUBS 是指一组不含有相同变量的约束 所谓VUBS 是指一个蕴涵变量上界的约束 如从约束X1 X2 X3 0可以看出 若X3 0 则X1 0 X2 0 因为有非负限制 因此X1 X2 X3 0是一个VUBS约束 第五行的意思 只含 个变量的约束个数 个 冗余的列数 个 ROWS 5VARS 4INTEGERVARS 2 0 0 1 QCP 4NONZEROS 19CONSTRAINTNONZ 12 6 1 DENSITY 0 760SMALLESTANDLARGESTELEMENTSINABSOLUTEVALUE 0 300000277 000OBJ MIN NO 202 GUBS 0SINGLECOLS 0REDUNDANTCOLS 0 LINDO行命令 命令脚本文件 批处理 可以采用命令脚本 行命令序列 WINDOWS环境下行命令的意义不大 Example演示 用FILE TAKECOMMANDS F11 命令调入 必须是以LINDOPACKED形式 压缩 保存的文件 FILE SAVE命令 SAVE行命令 LINGO软件简介 目标与约束段集合段 SETSENDSETS 数据段 DATAENDDATA 初始段 INITENDINIT LINGO模型的构成 4个段 LINGO模型的优点 包含了LINDO的全部功能提供了灵活的编程语言 矩阵生成器 LINGO模型 例 选址问题 某公司有6个建筑工地 位置坐标为 ai bi 单位 公里 水泥日用量di 单位 吨 假设 料场和工地之间有直线道路 用例中数据计算 最优解为 总吨公里数为136 2 线性规划模型 决策变量 cij 料场j到工地i的运量 12维 选址问题 NLP 2 改建两个新料场 需要确定新料场位置 xj yj 和运量cij 在其它条件不变下使总吨公里数最小 决策变量 cij xj yj 16维 非线性规划模型 LINGO模型的构成 4个段 集合段 SETSENDSETS 数据段 DATAENDDATA 初始段 INITENDINIT 目标与约束段 局部最优 89 8835 吨公里 LP 移到数据段 边界 集合的类型 集合派生集合基本集合稀疏集合稠密集合元素列表法元素过滤法直接列举法隐式列举法 setname member list attribute list setname parent set list member list attribute list SETS CITIES A1 A2 A3 B1 B2 ROADS CITIES CITIES A1 B1A1 B2A2 B1A3 B2 D ENDSETS SETS STUDENTS S1 S8 PAIRS STUDENTS STUDENTS ENDSETS 集合元素的隐式列举 运算符的优先级 三类运算符 算术运算符逻辑运算符关系运算符 集合循环函数 四个集合循环函数 FOR SUM MAX MIN function setname set index list condition expression list objective MAX SUM PAIRS I J BENEFIT I J MATCH I J FOR STUDENTS I constraints SUM PAIRS J K J EQ I OR K EQ I MATCH J K 1 FOR PAIRS I J BIN MATCH I J MAXB MAX PAIRS I J BENEFIT I J MINB MIN PAIRS I J BENEFIT I J Example 状态窗口 SolverType B and BGlobalMultistart ModelClass LP QP ILP IQP PILP PIQP NLP INLP PINLP State GlobalOptimumLocalOptimumFeasibleInfeasibleUnboundedInterruptedUndetermined 7个选项卡 可设置80 90个控制参数 程序与数据分离 文本文件 使用外部数据文件 Cut orCopy Paste方法 FILE输入数据 TEXT输出数据 文本文件 OLE函数与电子表格软件 如EXCEL 连接 ODBC函数与数据库连接LINGO命令脚本文件 LG4 LONGO模型文件 LNG LONGO模型文件 LTF LONGO脚本文件 LDT LONGO数据文件 LRP LONGO报告文件 常用文件后缀 FILE和 TEXT 文本文件输入输出 MODEL SETS MYSET FILE myfile txt FILE myfile txt ENDSETSMIN SUM MYSET I SHIP I COST I FOR MYSET I CON1 SHIP I NEED I CON2 SHIP I SUPPLY I DATA COST FILE myfile txt NEED FILE myfile txt SUPPLY FILE myfile txt TEXT result txt SHIP DUAL SHIP DUAL CON1 ENDDATAEND myfile txt文件的内容 格式 Seattle Detroit Chicago Denver COST NEED SUPPLY SHIP 12 28 15 20 1600 1800 1200 1000 1700 1900 1300 1100 演示MyfileExample lg4 OLE 与EXCEL连接 MODEL SETS MYSET COST SHIP NEED SUPPLY ENDSETSMIN SUM MYSET I SHIP I COST I FOR MYSET I CON1 SHIP I NEED I CON2 SHIP I SUPPLY I DATA MYSET OLE D JXIE BJ2004MCM mydata xls CITIES COST NEED SUPPLY OLE mydata xls OLE mydata xls SOLUTION SHIP ENDDATAEND mydata xls文件中必须有下列名称 及数据 CITIES COST NEED SUPPLY SOLUTION 在EXCEL中还可以通过 宏 自动调用LINGO 略 也可以将EXCEL表格嵌入到LINGO模型中 略 演示MydataExample lg4 ODBC 与数据库连接 输入基本集合元素 setname ODBC datasource tablename columnname 输入派生集合元素 setname ODBC source table column1 column2 目前支持下列DBMS 如为其他数据库 则需自行安装驱动 ACCESS DBASE EXCEL FOXPRO ORACLE PARADOX SQLSERVER TEXEFILES 使用数据库之前 数据源需要在ODBC管理器注册 输入数据 Attr list ODBC source table column1 column2 输出数据 ODBC source table column1 column2 Attr list 具体例子略 建模实例与求解 最短路问题下料问题露天矿的运输问题钢管运输问题 最短路问题 求各点到T的最短路 问题1 如何下料最节省 例钢管下料 问题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为整数 按模式2切割15根 按模式5切割5根 按模式7切割5根 共25根 余料35米 虽余料增加8米 但减少了2根 与目标1的结果 共切割27根 余料27米 相比 钢管下料问题2 对大规模问题 用模型的约束条件界定合理模式 增加一种需求 5米10根 切割模式不超过3种 现有4种需求 4米50根 5米10根 6米20根 8米15根 用枚举法确定合理切割模式 过于复杂 决策变量 xi 按第i种模式切割的原料钢管根数 i 1 2 3 r1i r2i r3i r4i 第i种切割模式下 每根原料钢管生产4米 5米 6米和8米长的钢管的数量 满足需求 模式合理 每根余料不超过3米 整数非线性规划模型 钢管下料问题2 目标函数 总根数 约束条件 整数约束 xi r1i r2i r3i r4i i 1 2 3 为整数 增加约束 缩小可行域 便于求解 原料钢管总根数下界 特殊生产计划 对每根原料钢管模式1 切割成4根4米钢管 需13根 模式2 切割成1根5米和2根6米钢管 需10根 模式3 切割成2根8米钢管 需8根 原料钢管总根数上界 31 模式排列顺序可任定 钢管下料问题2 需求 4米50根 5米10根 6米20根 8米15根 每根原料钢管长19米 LINGO求解整数非线性规划模型 Localoptimalsolutionfoundatiteration 12211Objectivevalue 28 00000VariableValueReducedCostX110 000000 000000X210 000002 000000X38 0000001 000000R113 0000000 000000R122 0000000 000000R130 0000000 000000R210 0000000 000000R221 0000000 000000R230 0000000 000000R311 0000000 000000R321 0000000 000000R330 0000000 000000R410 0000000 000000R420 0000000 000000R432 0000000 000000 模式1 每根原料钢管切割成3根4米和1根6米钢管 共10根 模式2 每根原料钢管切割成2根4米 1根5米和1根6米钢管 共10根 模式3 每根原料钢管切割成2根8米钢管 共8根 原料钢管总根数为28根 演示cut02a lg4 cut02b lg4 露天矿里铲位已分成矿石和岩石 平均铁含量不低于25 的为矿石 否则为岩石 每个铲位的矿石 岩石数量 以及矿石的平均铁含量 称为品位 都是已知的 每个铲位至多安置一台电铲 电铲平均装车时间5分钟 卡车在等待时所耗费的能量也是相当可观的 原则上在安排时不应发生卡车等待的情况 露天矿生产的车辆安排 CUMCM 2003B 矿石卸点需要的铁含量要求都为29 5 1 品位限制 搭配量在一个班次 8小时 内满足品位限制即可 卸点在一个班次内不变 卡车载重量为154吨 平均时速28km 平均卸车时间为3分钟 问题 出动几台电铲 分别在哪些铲位上 出动几辆卡车 分别在哪些路线上各运输多少次 平面示意图 问题数据 问题分析 与典型的运输问题明显有以下不同 这是运输矿石与岩石两种物资的问题 属于产量大于销量的不平衡运输问题 为了完成品位约束 矿石要搭配运输 产地 销地均有单位时间的流量限制 运输车辆只有一种 每次满载运输 154吨 车次 铲位数多于铲车数意味着要最优的选择不多于7个产地作为最后结果中的产地 最后求出各条路线上的派出车辆数及安排 近似处理 先求出产位 卸点每条线路上的运输量 MIP模型 然后求出各条路线上的派出车辆数及安排 模型假设 卡车在一个班次中不应发生等待或熄火后再启动的情况 在铲位或卸点处由两条路线以上造成的冲突问题面前 我们认为只要平均时间能完成任务 就认为不冲突 我们不排时地进行讨论 空载与重载的速度都是28km h 耗油相差很大 卡车可提前退出系统 等等 如理解为严格不等待 难以用数学规划模型来解个别参数队找到了可行解 略 符号 xij 从i铲位到j号卸点的石料运量 车 单位 吨 cij 从i号铲位到j号卸点的距离公里 Tij 从i号铲位到号j卸点路线上运行一个周期平均时间分 Aij 从号铲位到号卸点最多能同时运行的卡车数辆 Bij 从号铲位到号卸点路线上一辆车最多可运行的次数次 pi i号铲位的矿石铁含量p 30 28 29 32 31 33 32 31 33 31 qj j号卸点任务需求 q 1 2 1 3 1 3 1 9 1 3 10000吨cki i号铲位的铁矿石储量万吨cyi i号铲位的岩石储量万吨fi 描述第i号铲位是否使用的0 1变量 取1为使用 0为关闭 近似 优化模型 1 道路能力 卡车数 约束 2 电铲能力约束 3 卸点能力约束 4 铲位储量约束 5 产量任务约束 6 铁含量约束 7 电铲数量约束 8 整数约束 xij为非负整数fi为0 1整数 计算结果 LINGO软件 计算结果 派车 结论 铲位1 2 3 4 8 9 10处各放置一台电铲 一共使用了13辆卡车 总运量为85628 62吨公里 岩石产量为32186吨 矿石产量为38192吨 此外 6辆联合派车 方案略 最大化产量 结论 略 目标函数变化此外 车辆数量 20辆 限制 其实上面的模型也应该有 铁路运价表 钢管运输问题 CUMCM 2000B 常用解法 二次规划先计算最小运费矩阵两种运输方式 铁路 公路 混合最短路问题是普通最短路问题的变种 需要自己设计算法 钢管运输问题 CUMCM 2000B fi表示钢厂i是否使用 xij是从钢厂i运到节点j的钢管量yj是从节点j向左铺设的钢管量 zj是向右铺设的钢管量 钢管运输问题 CUMCM 2000B LINDO LINGO得到的结果比matlab得到的好 其他优化赛题 飞行管理问题空洞探测问题钻井布局问题抢渡长江问题等等 That sall AnyQuestions 谢谢大家
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!