应用 LINGO 、 MATLAB 软件求解线性规划一、 LINGO 使用简介 LINGO 软件是美国的 LINDO 系统公司( Lindo System Inc )开发的一套用于求解最优化问题的软件包。 LINGO 除了能用于求解线性规划和二次规划外,还可以用于非线性规划求解以及一些线性和非线性方程(组)的求解等。 LINGO 软件的最大特色在于它允许优化模型中的决策变量为整数,而且执行速度快。 LINGO 内置了一种建立最优化模型的语言, 可以简便地表达大规模问题,利用 LINGO 高效的求解器可快速求解并分析结果,这里简单介绍 LINGO 的使用方法。 LINGO 可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络优化和排队论模型中的最优化问题等。一个 LINGO 程序一般会包含集合段、数据输入段、优化目标和约束段、初始段和数据预处理段等部分,每一部分有其独特的作用和语法规则,读者可以通过查阅相关的参考书或者 LINGO 的 HELP 文件详细了解,这里就不展开介绍了。 LINGO 的主要功能特色为:既能求解线性规划问题,也有较强的求解非线性规划问题的能力;输入模型简练直观;运算速度快、计算能力强;内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述大规模的优化模型;将集合的概念引入编程语言,很容易将实际问题转换为 LINGO 模型; 并且能方便地与 Excel 、数据库等其他软件交换数据。 LINGO 的语法规定: (1)求目标函数的最大值或最小值分别用 MAX= …或 MIN= …来表示; (2)每个语句必须以分号“;”结束,每行可以有许多语句, 语句可以跨行; (3)变量名称必须以字母(A~Z) 开头,由字母、数字(0~9) 和下划线所组成,长度不超过 32个字符,不区分大小写; (4)可以给语句加上标号,例如[OBJ]MAX=200 * X1+300 * X2 ; (5)以惊叹号“!”开头,以分号“;”结束的语句是注释语句;(6)如果对变量的取值范围没有作特殊说明,则默认所有决策变量都非负; (7) LINGO 模型以语句“ MODEL :”开头,以“ END ”结束,对于比较简单的模型,这两个语句可以省略。??????????????0, 12 4 16 4 82. 32 max 21 2 1 21 21xx x x xxts xxS在 LINGO 的 MODEL 窗口内输入如下模型: model: max=2 * x1+3 * x2; x1+2 * x2<=8; 4* x1<=16; 4* x2<=12; End 用 LINGO 求解线性规划问题: 选菜单 Lingo|Solve (或按 Ctrl+U ),或用鼠标点击“求解”按纽,如果模型有语法错误,则弹出一个标题为“ LINGO Error Message ”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或 LINGO 的 Help )。改正错误以后再求解,如果语法通过, LINGO 用内部所带的求解程序求出模型的解, 然后弹出一个标题为“ LINGO Solver Status ”(求解状态)的窗口, 其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息, 点击 Close 关闭窗口, 屏幕上出现标题为“ Solution Report ”(解的报告)的信息窗口, 显示优化计算(线性规划中换基迭代)的步数、优化后的目标函数值、列出各变量的计算结果。本例的具体内容如下: Global optimal solution found at iteration: 5 Objective value: Variable Value Reduced Cost X1 X2 Row Slack or Surplus Dual Price 1 2 3 4 该报告说明:运行 5步找到全局最优解,目标函数值为 14 ,变量值分别为。“ Reduced Cost ”的含义是需缩减成本系数或需增加利润系数(最优解中取值非零的决策变量的 Reduced Cost 值等于零)。“ Row ”是输
应用LINGO、MATLAB软件求解线性规划研讨 来自淘豆网m.daumloan.com转载请标明出处.