lingo-lindo简介
- 格式:doc
- 大小:194.50 KB
- 文档页数:12
Lingo、lindo简介一、软件概述 (1)二、快速入门 (4)三、Mathematica函数大全--运算符及特殊符号 (11)参见网址: /一、软件概述(一)简介LINGO软件是由美国LINDO系统公司研发的主要产品。
LINGO是Linear Interactive and General Optimizer的缩写,即交互式的线性和通用优化求解器。
LINGO可以用于求解非线性规划,也可以用于一些线性和非线性方程组的求解等,功能十分强大,是求解优化模型的最佳选择。
其特色在于内置建模语言,提供十几个内部函数,可以允许决策变量是整数(即整数规划,包括 0-1 整数规划),方便灵活,而且执行速度非常快。
能方便与EXCEL,数据库等其他软件交换数据。
LINGO实际上还是最优化问题的一种建模语言,包括许多常用的函数可供使用者建立优化模型时调用,并提供与其他数据文件(如文本文件、Excel 电子表格文件、数据库文件等)的接口,易于方便地输入、求解和分析大规模最优化问题。
(二)LINGO的主要特点:Lingo 是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。
Lingo 提供强大的语言和快速的求解引擎来阐述和求解最佳化模型。
1 简单的模型表示LINGO 可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。
LINGO的建模语言允许您使用汇总和下标变量以一种易懂的直观的方式来表达模型,非常类似您在使用纸和笔。
模型更加容易构建,更容易理解,因此也更容易维护。
2 方便的数据输入和输出选择LINGO 建立的模型可以直接从数据库或工作表获取资料。
同样地,LINGO 可以将求解结果直接输出到数据库或工作表。
使得您能够在您选择的应用程序中生成报告。
3 强大的求解器LINGO拥有一整套快速的,内建的求解器用来求解线性的,非线性的(球面&非球面的),二次的,二次约束的,和整数优化问题。
您甚至不需要指定或启动特定的求解器,因为LINGO会读取您的方程式并自动选择合适的求解器。
4交互式模型或创建Turn-key应用程序您能够在LINGO内创建和求解模型,或您能够从您自己编写的应用程序中直接调用LINGO。
对于开发交互式模型,LINGO提供了一整套建模环境来构建,求解和分析您的模型。
对于构建turn-key解决方案,LINGO提供的可调用的DLL 和OLE界面能够从用户自己写的程序中被调用。
LINGO也能够从Excel宏或数据库应用程序中被直接调用。
5 广泛的文件和HELP功能LINGO附带您需要快速开始使用LINGO的所有工具。
LINGO用户手册包含对Lingo所有命令和特征的深度说明。
这是一本综合教科书,讨论了所有主要的线性,整数和非线性优化问题分类。
LINGO同时还带有许多基于真实世界的实例。
(三)LINGO的应用LINGO 是最优化问题的一种建模语言,包括许多常用的函数可供使用者建立优化模型时调用,并提供与其他数据文件(如txt、Excel电子表格文件、数据库文件等)的接口,易于方便地输入、求解和分析大规模最优化问题。
由于这些特点,Lindo系统公司的线性、非线性和整数规划求解程序已经被全世界数千万的公司用来做最大化利润和最小化成本的分析。
LINGO 的主要应用范围包含:生产线规划、运输、财务金融、投资分配、资本预算、混合排程、库存管理、资源配置等等。
LINGO 软件作为著名的专业优化软件,其功能比较强、计算效果比较好,与那些包含部分优化功能的非专业软件相比,通常具有明显的优势。
此外,LINGO 软件使用起来非常简便,很容易学会,在优化软件(尤其是运行于个人电脑上的优化软件)市场占有很大份额,在国外运筹学类的教科书中也被广泛用做教学软件。
(四)步骤一般地,使用LINGO 求解运筹学问题可以分为以下两个步骤来完成:1)根据实际问题,建立数学模型,即使用数学建模的方法建立优化模型;2)根据优化模型,利用LINGO 来求解模型。
主要是根据LINGO 软件,把数学模型转译成计算机语言,借助于计算机来求解。
例题:在线性规划中的应用max Z =5 X1+3 X2+6X3,s.t. X1 +2 X2 + X3 ≤182 X1 + X2 +3 X3 =16X1 + X2 + X3 =10X1 ,X2 ≥0 , X3 为自由变量应用LINGO 来求解该模型,只需要在 lingo窗口中输入以下信息即可:max=5•x1 +3•x2 +6•x3 ;x1 +2•x2 + x3 <=18 ;2•x1 + x2+3•x3 =16 ;x1 + x2 + x3 =10 ;@free( x3) ;然后按运行按钮,得到模型最优解,具体如下:Objective value: 46.00000Variable Value Reduced Costx1 14.00000 0.000000x2 0.000000 1.000000x3 -4 .000000 0.000000由此可知,当 x1 =14 , x2 =0 , x3 =-4 时,模型得到最优值,且最优值为 46。
说明:在利用LINGO求解线性规划时,如自变量都为非负的话,在LINGO 中输入的信息和模型基本相同;如自变量为自由变量,可以使用函数 @free来把系统默认的非负变量定义自由变量,如实例一中的 x3。
二、快速入门LINDO是一种专门用于求解数学规划问题的软件包。
由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。
因此在数学、科研和工业界得到广泛应用。
LINDO主要用于解线性规划、二次规划和整数规划等问题。
也可以用于一些非线性和线性方程组的求解以及代数方程求根等。
LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。
一般用LINDO(Linear Interactive and Discrete Optimizer)解决线性规划(LP—Linear Programming)、整数规划(IP—Integer Programming)问题。
其中LINDO 6 .1 学生版至多可求解多达300个变量和150个约束的规划问题。
其正式版(标准版)则可求解的变量和约束在1量级以上。
LINGO则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)。
其中LINGO 6.0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦在10^4量级以上。
虽然LINDO和LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。
要学好用这两个软件最好的办法就是学习他们自带的HELP文件。
下面拟举数例以说明这两个软件的最基本用法。
例1汽油混合问题,线性规划问题一种汽油的特性可用两个指标描述:其点火性用“辛烷数”描述,其挥发性用“蒸汽压力”描述。
某炼油厂有四种标准汽油,设其标号分别为1,2,3,4,其特性及库存量列于下表1中,将上述标准汽油适量混合,可得两种飞机汽油,某标号为1,2,这两种飞机汽油的性能指标及产量需求列于表2中。
问应如何根据库存情况适量混合各种标准汽油,使既满足飞机汽油的性能指标,而产量又为最高。
(又使2号汽油满足需求,并使得1号汽油产量最高?)目标函数:max z=x1+x2+x3+x4约束条件:x5+x6+x7+x8>=250000x1+x5<=380000x2+x6<=265200x3+x7<=408100x4+x8<=1301002.85x1-1.42x2+4.27x3-18.49x4>=02.85x5-1.42x6+4.27x7-18.49x8>=016.5x1+2.0x2-4.0x3+17x4>=07.5x5-7.0x6-13.0x7+8.0x8>=0xj>=0(j=1,2 (8)下面我们就用LINDO来解这一优化问题。
输入语句:max(不区分大小写) x1+x2+x3+x4ST(大写或写subject to)x5+x6+x7+x8>=250000x1+x5<=380000x2+x6<=265200x3+x7<=408100x4+x8<=1301002.85x1-1.42x2+4.27x3-18.49x4>=02.85x5-1.42x6+4.27x7-18.49x8>=016.5x1+2.0x2-4.0x3+17x4>=07.5x5-7.0x6-13.0x7+8.0x8>=0End然后再按运算符键即可得结果。
LINDO是规定Xj非负的,我们可发现输入方式与我们的数学书写的形式基本一致,运算后,计算机会问您是否需要灵敏度分析,我们选择是,结果如下:Global optimal solution found.Objective value: 933400.0Total solver iterations: 7Variable Value Reduced CostX1 264937.9 0.000000X2 135702.1 0.000000X3 408100.0 0.000000X4 124660.0 0.000000X5 115062.1 0.000000X6 129497.9 0.000000X7 0.000000 0.000000X8 5440.011 0.000000Row Slack or Surplus Dual Price1 933400.0 1.0000002 0.000000 -1.0000003 0.000000 1.0000004 0.000000 1.0000005 0.000000 1.0000006 0.000000 1.0000007 0.000000 0.0000008 43454.00 0.0000009 5129700. 0.00000010 0.000000 0.000000Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase Decrease X1 1.000000 0.0 0.0X2 1.000000 0.0 0.0X3 1.000000 INFINITY 0.0X4 1.000000 15.13186 0.0X5 0.0 0.0 0.0X6 0.0 0.0 0.0X7 0.0 0.0 INFINITYX8 0.0 0.0 1.162101Righthand Side RangesRow Current Allowable Allowable RHS Increase Decrease2 250000.0 261836.3 182249.13 380000.0 41014.33 15247.024 265200.0 30601.41 82317.485 408100.0 27374.90 10176.586 130100.0 2350.135 6321.8407 0.0 43454.00 116890.88 0.0 43454.00 INFINITY9 0.0 5129700. INFINITY10 0.0 1890676. 396936.1下面给出其结果的一般解释:“LP OPTIMUM FOUND AT STEP 7”表示LINDO在(用单纯形法)7次迭代或旋转后得到最优解。