好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

标题Ingo操作介绍(精编版).pdf

50页
  • 卖家[上传人]:说****
  • 文档编号:222930700
  • 上传时间:2021-12-13
  • 文档格式:PDF
  • 文档大小:568.53KB
  • / 50 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 标题: Ingo 操作介绍1.2 菜单介绍1.2.1 File 1 New 新建一个窗口, 当你执行这个命令时, 会出现如下对话框: 你可以在对话框中选择你想要建立的类型. 类型如下 : 1)扩展名为 (*.lg4) LG4 格式是 LINGO 4.0 的版本 ,是在 Windows 下最主要的储存文件格式, 这种格式支持字体格式 , 自定义格式以及动态连接, LG4 以二进制格式存储, 所以不能被其它的应用软件直接读取 . 2)扩展名为 (*.lng) LNG 是捷便的存储方式,是 4.0 版本前的标准文件格式,为了与前版本的兼容,所以还一直在用 ,LNG 文件是以ASCII 形式存储的 ,所以能被支持文本文件的应用程序读取.该格式不支持多种字体 . 3)扩展名为 (*.ltd) LTD 是数据文件 , 可以从 FILE函数导入数据,FILE 函数只能读取文本文件,所以所有的 LTD 文件是以ASCII 形式存储 , 也不支持多种字体. 4)扩展名为 (*.ltf) LTF 是 LINGO 的调试文件格式, 也是以 ASCII 格式存储 ,能直接被LINGO 的 File|Take command 执行 . 2 Log Output 输出文本文件,可以将随后原输出到报告窗口的内容输出到文本中. 该命令与Maple中的 writeto命令非常相似. 在 Maple中输入如下: x:=sin(5.);writeto(c:/maple.txt);y:=x+1:print(x,y);print(x); y; writeto(terminal); y;执行菜单中的Edit|Excute|Worksheet, 按钮,窗口重新显示如下: x:=sin(5.);writeto(c:/maple.txt);y:=x+1:print(x,y); print(x);x:=-.9589242747 y; writeto(terminal); y;0.4010757253而在 C 盘的 maple.txt 文件的内容为:-.9589242747, .0410757253 -.9589242747 .0410757253 从中可以知道,用了writeto(filename)命令以后把结果输出到filename中. 直到碰到 writeto(terminal)命令时,才重新在工作窗口中显示.当你点击菜单File|Log Output 时,系统出现保存对话框,系统就会将命令窗口中的输出结果保存到指定的文件中. 3 Import LINDO File 该命令是用来导入LINDO 软件保存的LINDO 文件 (*.LTX) 格式 . 只要在 LINGO 中导入LINDO 文件格式 , LINGO 系统自动将该文件转化为LINGO 可执行语句 . 1.2.2 Edit 1 Paste Function 用该命令可以在当前点插入LINGO 的内部函数 , 2 Select Fonts 设置字体类型, 字体大小,字体颜色 . 1.2.3 LINGO 1 Solve 用 solve 命令对当前窗口中的模型求解, 该命令只对report script 窗口起作用 , 不能对数据窗口求解 . 当你对一个模型进行求解, LINGO首先检查该模型的语句格式是否正确, 如果LINGO发现在语句中存在错误, 将会出现类似于如下的对话框:在上图的 Error Text 框中 , LINGO 提示发生语句错误的行数及该行的内容. 在通常情况下, LINGO 系统能很好的指出错误, 但是有时也会提供错误的信息. 如果在编译的过程中没有语法的错误, LINGO将调用适当的内部函数对模型进行优化求解 . 假如我们在工作窗口输入如下内容:点击菜单LINGO|SOLVE ,或者点击工具栏,将会在屏幕上显示LINGO 解的状态窗口( Solver Status Windows ):该状态窗口用于跟踪整个求解过程, 下面我们将详细的描写该窗口中的一些主要的内容. 1) 按钮在解的状态窗口提供了两个按钮, 一个为关闭按钮(Close), 另一个是打断(interrupt Solver)求解按钮,该按钮的作用是阻止LINGO求解下一个迭代. 性模型中,LINGO一般能给出优化解(除整数规划时没有整数解),如果这线性模型被打断了,LINGO返回的将是无意义的, 应该被忽略的值. 注意:如果你按了interrupt solver 这个按钮 , 解的情况是这样的:毫无疑问这不是最优解; 解可能不能全部满足约束条件; 如果这个是线性模型,这个解毫无意义. 2) 文本框在该窗口中有一个文本框, 该文本框的作用是更新状态窗口的相隔时间, 单位为秒 , 在默认时为2 秒. 3)状态窗口( Solver Status Box)状态窗口的详细的介绍如下:Model Class:模型类别显示的模型类别为LP, QP ILP, QP, ILP, IQP, LP, NLP等State:Possible states are Global Optimum, Local Optimum, Feasible, Infeasible, Unbounded, Interrupted, and Undetermined.Objective:目标函数的当前值.Infeasibility:不满足约束条件的个数.Iterations :迭代次数其中缩写类型描述LP 线性模型所有的表达式是线性,并且模型的约束条件中变量没有被约束为整数。

      QP 二次模型所有表达式是线性或二次型,没有整数约束ILP 整数线性模型所有的表达式是线性,在变量中存在整数约束IQP 整数二次模型所有表达式是线性或二次型, 在变量中存在整数约束PILP 纯整数线性模型所有表达式是线性,所有变量是整数PIQP 纯整数二次模型所有表达式是线性或二次型,所有变量是整数NLP 非线性模型至少存在一个非线性的表达式一旦 LINGO 处理完成该模型, 建立一个包括该模型解的报告(Solve Report)窗口 . 你可以通过拉窗口的滚动条, 检查该窗口内部的内容. 该窗口如下:第一: Solution Report 告诉我们求该模型迭带的次数是0 次;第二:该目标函数的最大值是 1.285714;第三:取到最优值时变量X、Y 分别为 1.142857、0.1428571.我们用数学软件Maple来验证该结果: with(simplex):maximize( x+y, 4*x+3*y = 5, 3*x+4*y evalf(%);比较 LINGO 与 Maple所求的结果 , 完全一致 . 在 Solution Report 中还包括 The Reduced Costs, Slack or Surplus, Dual Price 栏. Reduced Cost:假设 X 的 reduce cost值为 10,则 X 系数加上10 时,求优化模型变量取值不变. 例如下模型:MAX = 4.0 * TOM + 3.0 * DICK +2.0 *HARRY; 2.5 * TOM +3.1 *HARRY = 5; 2.0 * TOM + 0.7 * DICK +0.4 *HARRY = 1;求解得到solution report 如下: Global optimal solution found at iteration: 0 Objective value: 10.57143 Variable Value Reduced Cost TOM 2.000000 0.000000 DICK 0.8571429 0.000000 HARRY 0.000000 3.611429 Row Slack or Surplus Dual Price 1 10.57143 1.000000 2 0.000000 1.257143 3 0.000000 4.285714该解中变量HARRY的 Reduced Cost为 3.611429,现在我们把HARRY前的系数加2,得到的新模型如下:MAX = 4.0 * TOM + 3.0 * DICK +4.0 *HARRY; 2.5 * TOM +3.1 *HARRY = 5; 2.0 * TOM + 0.7 * DICK +0.4 *HARRY = 1;再求解得到solution report如下: Global optimal solution found at iteration: 0 Objective value: 10.57143 Variable Value Reduced Cost TOM 2.000000 0.000000 DICK 0.8571429 0.000000 HARRY 0.000000 1.611429 Row Slack or Surplus Dual Price 1 10.57143 1.000000 2 0.000000 1.257143 3 0.000000 4.285714变量 TOM 、DICK的取值没有变化分别为2.000000、0.8571429. 从变量HARRY 的Reduced Cost中看到从原来得3.611429到现在得1.611429差为 2. 如果如果系数变化在Reduced Cost内 , 优化取值不变.Slack or Surplus(小于:松弛,大于:过剩):如果满足约束条件, 则该值是左右差的绝对值.如果不满足约束条件, 则该值为负数.如果该值为0, 说明两边相等.例 2 模型如下:Max = 3 * X + 4 * Y; X = 40; Y = 60; X + Y = 80;解该模型,得到的Solution Report 如下: Global optimal solution found at iteration: 0 Objective value: 300.0000 Variable Value Reduced Cost X 20.00000 0.000000 Y 60.00000 0.000000 Row Slack or Surplus Dual Price 1 300.0000 1.000000 2 20.00000 0.000000 3 0.000000 1.0000004 0.000000 3.000000把 X=20.00000,Y=60.00000代入目标函数和约束条件:1 Max=300; 3002 20=40; 203 60=60; 04 20+60=80; 0Dual Price:如果该行右边数值加1,就得到优化模型相应的加上该行的Dual Price或减去该行的Dual Price。

      举例如下:在例 2 中第 4 行的 Dual Price为 3,现在我们在第4 行的右边加上1 等到如下模型:Max = 3 * X + 4 * Y; X = 40; Y = 60; X + Y = 81;(本来是80)解该模型,得到的Solution Report 如下: Global optimal solution found at iteration: 2 Objective value: 303.0000 Variable Value Reduced Cost X 21.00000 0.000000 Y 60.00000 0.000000 Row Slack or Surplus Dual Price 1 303.0000 1.000000 2 19.00000 0.000000 3 0.000000 1.000000 4 0.000000 3.000000Objective value值从 300 增加到 303 2 Range 点击 Range 命令在当前模型中会产生一个Range report 窗口,在该窗口中有两段分别是,Objective Coefficient Ranges (目标函数系数范围)和Righthand Side Ranges(约束。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.