Lingo知识学习的教育资料

上传人:不*** 文档编号:93090704 上传时间:2019-07-16 格式:DOC 页数:76 大小:681KB
返回 下载 相关 举报
Lingo知识学习的教育资料_第1页
第1页 / 共76页
Lingo知识学习的教育资料_第2页
第2页 / 共76页
Lingo知识学习的教育资料_第3页
第3页 / 共76页
Lingo知识学习的教育资料_第4页
第4页 / 共76页
Lingo知识学习的教育资料_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《Lingo知识学习的教育资料》由会员分享,可在线阅读,更多相关《Lingo知识学习的教育资料(76页珍藏版)》请在金锄头文库上搜索。

1、LINGO教程 LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。1 LINGO快速入门l 安装:实验室的所有电脑都已经事先安装好了Lingo 8(或者9, 10, 11)。如果要在自己的电脑上安装这个软件,建议从网上下载一个破解版的, 按照提示一步一步地安装完毕。l 简单例子:当你在windows系统下开始运行LINGO时,会得到类似于下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model L

2、INGO1的窗口是LINGO的默认模型窗口,建立的模型都要在该窗口内编码实现。下面举两个例子。例 1 某工厂在计划期内要安排生产I、II两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表所示。 产品I产品II设备 1 28台时原材料A 4 016kg原材料B 0 412kg该工厂每生产一件产品I可获利2元,每生产一件产品II可获利3元,问应该如何安排生产计划使该厂获利最多?我们用下面的数学模型来描述这个问题。设x_1、x_2分别表示在计划期内产品I、II的产量。因为设备的有效台时是8,这是一个限制产量的条件,所以在确定产品I、II的产量时,要考虑不超过设备的有效台时数,即可

3、用不等式表示为x_1 + 2x_2 =8同理,因原材料A、B的限量,可以得到以下不等式4x_1 =164x_2 =12该工厂的目标是在不超过所有资源限量的条件下,如何确定产量x_1、x_2以得到最大的利润。若用z表示利润,这时z=2x_1+3x_2.综合上述,该计划问题可用数学模型表示为:目标函数 max z=2x_1+3x_2约束条件 x_1 + 2x_2 =84x_1 =164x_2 =0一般来说,一个优化模型将由以下三部分组成:1. 目标函数(Objective Function):要达到的目标。2. 决策变量(Decision variables):每组决策变量的值代表一种方案。在优化

4、模型中需要确定决策变量的最优值,优化的目标就是找到决策变量的最优值使得目标函数取得最优。3. 约束条件(Constraints):对于决策变量的一些约束,它限定决策变量可以取的值。在写数学模型时,一般第一行是目标函数,接下来是约束条件,再接着是一些非负限制等。在模型窗口输入如下代码:Max = 2*x1+3*x2;!This is a linear program.X1+2*x2=8;4*x116;4*x212;注意:1.每一个lingo表达式最后要跟一个分号; 2.多数电脑中没有符号,lingo中=代替;为了方便可以用代替大于等于。3.我们可以添加一些注释,增加程序的可读性。注释以一个!(叹

5、号必须在英文状态下输入,它会自动变为绿色)开始,以;(分号)结束。4Lingo中不区分变量名的大小写。变量名必须以字母(A-Z)开头,后面的字符可以是字母、数字、下划线。变量名不能超过32个字符。点击工具栏上的按钮或者用Lingo菜单下的solve求解这个模型,如果模型没有语法错误,即可得到如下结果。 Global optimal solution found. 已经找到全局最优解 Objective value: 14.00000 目标函数值 Infeasibilities: 0.000000 不可行的约束数 Total solver iterations: 1 迭代次数 Variable

6、Value Reduced Cost X1 4.000000 0.000000 X2 2.000000 0.000000 Row Slack or Surplus Dual Price 1 14.00000 1.000000 2 0.000000 1.500000 3 0.000000 0.1250000 4 4.000000 0.000000Reduced Cost()非基变量变为基变量时目标函数的系数必须的增加值。Dual Price(对偶价格或者影子价格)在编译阶段没有语法错误,lingo会调用内部的求解器开始为你的模型搜索最优解,还最后会显示一个求解状态窗口:求解状态窗口内各项:Var

7、iables Box(变量框)l Total: 模型中的变量总个数 (total number of variables in the model)l Nonlinear: 模型中非线形变量的个数(the number of the total variables that are nonlinear)注: X * X + Y = 100; 中X是非线性变量,Y是线性变量。l Integer: 模型中整数变量的个数(total number of integer variables in the model)注意:计算各种变量个数时,不计算可以确定变量值的变量。如:如果约束条件中x=10,那么

8、这个变量不被看做是一个变量Constraints Boxl Total:所有的约束条件个数(total constraints in the expanded model)l Nonlinear:所有的非线性约束的个数(the number of these constraints that are nonlinear)Nonzeroes Box(约束框)Total:模型中非零系数的个数。Nonlinear:非线性变量个数。如果一个约束条件里中的所有变量都是确定的,则约束条件不进行计数。The Nonzeros box shows the total nonzero coefficients

9、in the model and the number of these that appear on nonlinear variablesNonzeroes Box(非零框)显示该模型的总非零系数和非线性的这些变量出现的数目。Generator Memory Used Box求解时使用的内存量Elapsed Runtime Box求解模型时用的时间,这个会受电脑运行的其他程序的影响。Solver Status BoxFieldDescriptionModel ClassDisplays the models classification. Possible classes are LP(线

10、性规划), QP(二次规划), ILP(整数线性规划), IQP(整数二次规划), PILP(纯整数线性规划), PIQP(纯整数二次规划), NLP(非线性规划), INLP(整数非线性规划), and PINLP(纯整数非线性规划).StateGives the Status of the current solution. Possible states are Global Optimum(全局最优), Local Optimum(局部最优), Feasible(可行), Infeasible(不可行), Unbounded(无界), Interrupted(中断), and Unde

11、termined(不确定).Objective目标函数的当前值Current value of the objective function.Infeasibility约束条件冲突的个数IterationsNumber of solver iterations.(算法的迭代次数)Extended Solver Status BoxFieldDescriptionSolver TypeThe type of specialized solver in use, and will be either B-and-B(分支定界法), Global(全局最优求解法), or Multistart(多个

12、初始点求解法).Best ObjThe objective value of the best solution found so far.(目前得到的最优解对应的目标函数值)Obj BoundThe theoretical bound on the objective.(目标函数值的理论上下界)StepsThe number of steps taken by the extended solver.(特殊的几种求解程序运行的步骤数:如分支定界法已求解的分支数,全局最优法已求解的子问题数)ActiveThe number of active subproblems remaining to

13、be analyzed(有效的步数)。Lingo程序的一些规则:1. 在Lingo中最开始都是“MAX=”或者“MIN=”开始表示求目标函数的最大或者最小值。2. 变量和它前面的系数之间要用“*”连接, 中间可以有空格。3. 变量名不区分大小写,但必须以字母开始, 不超过32个字符。4. 数学表达式结束时要用分号“;”表示结束。表达式可以写在多行上,但是表达式中间不能用分号。5. 在电脑系统中一般没有“小于等于”符号,在Lingo采用“=”表示“大于等于”。小于等于也可以用更简单的“”表示。Lingo模型语言:例1.2 运输问题使用LINGO软件计算6个仓库8个销售地的最小费用运输问题。产销单位运价如下表。单位 销地运价产地V1V2V3V4V5V6V7V8库存量WH16267425960WH24953858255WH3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 教育学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号