lingo解题报告内容解释

1.2菜单介绍

1.2.1 File

1 New

新建一个窗口,当你执行这个命令时,会出现如下对话框:

 

 

你可以在对话框中选择你想要建立的类型.类型如下:

1)扩展名为(*.lg4)

LG4格式是LINGO4.0的版本,是在Windows下最主要的储存文件格式,这种格式支持字体格式,自定义格式以及动态连接,  LG4以二进制格式存储,所以不能被其它的应用软件直接读取.

2)扩展名为(*.lng)

LNG是捷便的存储方式,4.0版本前的标准文件格式,为了与前版本的兼容,所以还一直在用,LNG文件是以ASCII形式存储的,所以能被支持文本文件的应用程序读取.该格式不支持多种字体.

3)扩展名为(*.ltd)

LTD是数据文件,可以从@FILE函数导入数据,@FILE函数只能读取文本文件,所以所有的LTD文件是以ASCII形式存储,也不支持多种字体.

4)扩展名为(*.ltf)

LTFLINGO的调试文件格式,也是以ASCII格式存储,能直接被LINGOFile|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|LogOutput时,系统出现保存对话框,系统就会将命令窗口中的输出结果保存到指定的文件中.

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),另一个是打断(interruptSolver)求解按钮,该按钮的作用是阻止LINGO求解下一个迭代.在线性模型中,LINGO一般能给出优化解(除整数规划时没有整数解),如果这线性模型被打断了,LINGO返回的将是无意义的,应该被忽略的值.

注意:如果你按了interruptsolver这个按钮,解的情况是这样的:

·        毫无疑问这不是最优解;

·        解可能不能全部满足约束条件;

·        如果这个是线性模型,这个解毫无意义.

2 文本框

在该窗口中有一个文本框,该文本框的作用是更新状态窗口的相隔时间,单位为秒,在默认时为2.

3)状态窗口(Solver StatusBox

状态窗口的详细的介绍如下:

 

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;第三:取到最优值时变量XY分别为1.1428570.1428571.

我们用数学软件Maple来验证该结果:

>  with(simplex):

maximize( x+y, {4*x+3*y <= 5, 3*x+4*y <= 4 } );

> evalf(%);

 

比较LINGOMaple所求的结果,完全一致.

SolutionReport中还包括The Reduced Costs, Slack or Surplus, Dual Price.

 

Reduced Cost

假设Xreduce 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 atiteration:            0

  Objectivevalue:                                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

该解中变量HARRYReduced Cost3.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 atiteration:            0

  Objectivevalue:                                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

 

变量TOMDICK的取值没有变化分别为2.0000000.8571429.从变量HARRYReduced 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 atiteration:            0

  Objectivevalue:                                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.000000

4       0.000000           3.000000

X=20.00000Y=60.00000代入目标函数和约束条件:

1    Max=300;      300

2    20<=40;       20

3    60<=60;       0

4    20+60<=80;    0

 

Dual Price

如果该行右边数值加1,就得到优化模型相应的加上该行的Dual Price或减去该行的Dual Price。举例如下:

在例2中第4行的Dual Price3,现在我们在第4行的右边加上1等到如下模型:

Max = 3 * X + 4 * Y;

           X          <= 40;

                     Y <= 60;

           X +      Y <=81;(本来是80

解该模型,得到的Solution Report如下:

  Global optimal solution found at iteration:            2

  Objectivevalue:                                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.000000

Objective value值从300增加到303

 

2  Range

点击Range命令在当前模型中会产生一个Range report窗口,在该窗口中有两段分别是,Objective Coefficient Ranges(目标函数系数范围)和RighthandSide Ranges(约束条件右边的范围)在例2模型下,产生的range report窗口内容如下:

 

 Ranges in which the basis is unchanged:

 

                                     Objective Coefficient Ranges

                                 Current        Allowable       Allowable

               Variable     Coefficient        Increase         Decrease

                      X        3.000000         1.000000        3.000000

                      Y        4.000000         INFINITY        1.000000

 

                                          Righthand Side Ranges

                    Row         Current        Allowable       Allowable

                                     RHS        Increase         Decrease

                      2        40.00000         INFINITY        20.00000

                      3        60.00000        20.00000         20.00000

                  4        80.00000        20.00000         20.00000

 

Objective Coefficient Ranges

Objective Coefficient Ranges中的第一列为目标函数的变量名称,第二列为对应变量名的系数,第三列是系数可增加的最大范围,第四列是系数可减少的最大范围.

改变目标函数的变量系数(在给定的范围内),不改变优化求解中变量的取值.

 

Right-handSide Ranges

Right-handSide Ranges中的第一列为row的名称,第二列是常数项或者是右边的值.第三列是该模型的右边最多可以加的量,第四列是该模型的右边最多可以减的量.我们可以回想,在solution report中有DualPrice列,在右边加11必须不大于Righthand Side Ranges中,Allowable Increase对应的值),就得到优化模型相应的加上该行的DualPrice或减去该行的Dual Price.

3 Options

该菜单中包含绝大部分的LINGO参数,可设置的tabs内容如下:

·        Interface,

·        GeneralSolver,

·        LinearSolver,

·        NonlinearSolver,

·        IntegerPre-Solver

·        IntegerSolver, and

·        GlobalSolver.

Interfacetabs面中可以控制LINGO系统的界面(包括是否显示工具栏,界面的大小),输出形式(Terse Output)以及默认的文件格式.其它的tabs内容可以参考帮助文件.

4 Model Statistics

统计该模型的信息,包括行数、变量数、约束条件数等等;在如下模型中:

model:

max=2* x1+3*x2;

x1+2*x2+x3=8;

4*x1+x4=16;

4*x2+x5=12;

end

执行LINGO|ModelStatistics后得到如下:

 Rows=      4 Vars=       2 No. integervars=      0  ( all are linear)

 Nonzeros=       9 Constraint nonz=       4(        1 are +- 1) Density= 0

 Smallestand largest elements in abs value=   1.00000        16.0000

 No.< :       3 No.=:       0 No. >:       0, Obj= MAX, GUBs<=       2

 Singlecols=    0

其中Single cols表示松弛变量;现在我们在上面模型中添加三个松弛变量,模型变为:

model:

max=2*x1+3*x2+0*x3+0*x4+0*x5;

x1+2*x2+x3=8;

4*x1+x4=16;

4*x2+x5=12;

end

执行LINGO|ModelStatistics后得到如下:

Rows=      4 Vars=       5 No. integervars=      0  ( all are linear)

Nonzeros=      12 Constraint nonz=       7(        4 are +- 1) Density= 0

Smallest andlargest elements in abs value=   1.00000        16.0000

No. <:       0 No.=:       3 No. > :      0, Obj= MAX, GUBs <=       2

Singlecols=    3

Single cols由原来的0变到3.

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/353269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenShift上的无痛集装箱化JBoss通用贷款处理

我们从头到尾讨论了各个层次&#xff0c;但尚未为您提供除Red Hat之外的任何应用程序开发工具。我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了。 容器开发套件&#xff08;CDK&#xff09; 。 到目前为止&#xff0c;您所拥有的只是一个…

多任务编程—多进程

什么是多任务编程&#xff1f; 多任务编程其实和计算机系统内核有关&#xff0c;通过程利用多个计算机内核同时执行程序&#xff0c;以此来提升程序执行的效率。 多任务编程其中包括&#xff0c;多进程、多线程和多协程&#xff0c;这三种多任务编程各有各的优点和缺点&#xf…

java锁实现_Java锁实现

java锁实现我们都将第三方库用作开发的正常部分。 通常&#xff0c;我们无法控制其内部。 JDK随附的库是一个典型示例。 这些库中的许多库都使用锁来管理争用。 JDK锁具有两种实现。 一个使用原子CAS样式指令来管理索赔过程。 CAS指令往往是最昂贵的CPU指令类型&#xff0c;并且…

洛谷 P1027 Car的旅行路线

P1027 Car的旅行路线 题目描述 又到暑假了&#xff0c;住在城市 AA 的 CarCar 想和朋友一起去城市 BB 旅游。她知道每个城市都有 44 个飞机场&#xff0c;分别位于一个矩形的 44 个顶点上&#xff0c;同一个城市中 22 个机场之间有 11 条笔直的高速铁路&#xff0c;第 II 个城市…

API

api 百科名片 API&#xff08;Application Programming Interface,应用程序编程接口&#xff09;是一些预先定义的函数&#xff0c;目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解内部工作机制的细节。目…

jsf标签p:ajax_JSF简单Ajax示例

jsf标签<p:ajax>今天&#xff0c;我们将看到一些使用JSF的Ajax简单样本。 如果要查看有关JSF / Web应用程序的其他文章&#xff0c;请单击以下链接&#xff1a; 重定向后的JSF持久化对象和消息 &#xff0c; 使用JAAS和JSF进行用户登录验证 &#xff0c; JSF&#xff1a;…

BIOS维修技术

BIOS是电脑中最基础且最重要的程序&#xff0c;为电脑提供最低级且最直接的硬件控制&#xff0c;电脑的原始操作都是依照固化在BIOS里的程序来完成的。因此如果BIOS出现故障将会导致影响电脑的正常工作。BIOS故障有很多&#xff0c;根据常见的BIOS故障现象及其产生的原因&#…

使用Java Servlet,JSP标签和Stormpath快速构建Java Web App

建筑物身份管理&#xff0c;包括身份验证和授权&#xff1f; 尝试Stormpath&#xff01; 我们的REST API和强大的Java SDK支持可以消除您的安全风险&#xff0c;并且可以在几分钟内实现。 注册 &#xff0c;再也不会建立auth了&#xff01; 我们刚刚发布了Java SDK的主要升级版…

谚语幸运的开始

谚语:幸运的开始 今天收到一个朋友的邮件&#xff0c;打开一看&#xff0c;是幸运谚语&#xff0c;自以为谚语写的非常好&#xff0c;所以转写出来与朋友们分享&#xff01;希望你能得到幸运哦&#xff01;荷兰的谚语幸运谚语幸运的开始关于金钱&#xff1a;你有了钱&#xff…

apache camel_什么时候使用Apache Camel?

apache camelApache Camel是JVM / Java环境中我最喜欢的开源框架之一。 它可以轻松集成使用多种协议和技术的不同应用程序。 本文介绍了何时使用Apache Camel以及何时使用其他替代方法。 问题&#xff1a;企业应用程序集成&#xff08;EAI&#xff09; 由于新产品和新应用&…

GitHub多人协作简明教程

本文面向已经了解/熟悉git基本命令但是并不熟悉如何使用GitHub进行多人协作开发项目的同学。 为了简单起见&#xff0c;这里假设只有两个开发人员&#xff0c;HuanianLi 和 DaxiangLi。他们在GitHub上的地址和角色为&#xff1a; HuanianLi: https://github.com/huanianli # M…

2020地区mysql表_2020年甘肃省军队文职考试职位表下载:张掖地区招13人

2020年6月15日全军面向社会招考文职人员公告已发布&#xff0c;全国招聘27073人&#xff0c;甘肃省招聘370人&#xff0c;其中张掖地区总共招聘13人。此次考试博士招考岗位报名时间为2020年6月17日至21日&#xff0c;其他招考岗位报名时间为7月1日至10日。考试时间为2020年8月2…

superhot预告片下载_预告片:裸指关节SOA

superhot预告片下载我正在研究这个想法&#xff0c;但我不知道它是否对你们有吸引力。 我想就您是否需要进一步探讨提出您的意见。 这是一笔交易&#xff1a;我遇到了一些团队&#xff0c;这些团队在使用SOA技术时由于其工具的绝对复杂性而陷入泥潭。 我只在Java中看到过这种情…

多少秒算长镜头_下中国象棋,能算多少步才算高手?

下象棋&#xff0c;你能算多少步&#xff1f;这是一个让初学者很困扰&#xff0c;也很感兴趣的话题。 很多象棋爱好者说&#xff1a;我最多看2步&#xff0c;我觉得能看5步以上的&#xff0c;就是超级高手高手高高手了。 但一代象棋宗师、14届全国冠军胡荣华的看法则颇有“玄学…

对基于消息队列的Activiti异步执行器进行基准测试

一点历史 永不停息​​的一件事是&#xff0c;Activiti如何以惊人的规模在一些大型组织中使用。 过去&#xff0c;这导致了各种优化和重构&#xff0c;其中包括异步执行器-替换旧的作业执行器。 对于未启动的用户&#xff1a;这些执行器在流程实例中处理计时器和异步继续。 特别…

2020德勤面试开始了吗_2020公务员面试公告已出,5月28日开始面试

重磅&#xff01;上海市2020年度考试录用公务员职位报名及面试工作公告出了&#xff01;报岗时间&#xff1a;2020年5月11日10:00至5月15日18:00岗位调剂&#xff1a;2020年5月18日10:00至5月20日18:00面试时间&#xff1a;2020年5月28日至6月1日面试时需携带哪些证件和材料?答…

阿米洛键盘取消win_阿米洛花旦娘静电容V2键盘测评:不止是一把好看的键盘

文丨me王bigfun社区原文地址&#xff1a;【开箱/测评】阿米洛花旦娘静电容V2键盘&#xff0c;不止是一把好看的键盘 - bigfun序&#xff1a;我想要换一把好的键盘&#xff0c;因为这把雷柏的V500键盘已经跟了我4年&#xff0c;现在的它又老又丑&#xff0c;抚摸起来的手感还很生…

NY : 括号匹配问题

括号配对问题 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;3描述现在&#xff0c;有一行括号序列&#xff0c;请你检查这行括号是否配对。 输入第一行输入一个数N&#xff08;0<N<100&#xff09;,表示有N组测试数据。后面的N行输入多…

【代码笔记】Web-ionic-select

一&#xff0c;效果图。 二&#xff0c;代码。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>Todo</title> <meta name"viewport" content"initial-scale1, maximum-scale1, user-scalableno…

adf开发_ADF:动态视图对象

adf开发今天&#xff0c;我想写有关动态视图对象的信息&#xff0c;该对象允许我在运行时更改其数据源&#xff08;SQL查询&#xff09;和属性。 我将使用oracle.jbo.ApplicationModule :: createViewObjectFromQueryStmt方法来解决此问题。 我将逐步介绍如何执行此操作 创建…