_LINGO数学建模讲课新
第2章 LINGO基础知识

2﹣ 5/ 3 (2﹢4)/5
第二章 2.3.2 逻辑运算符
Matlab数学建模案例分析
1)#not#:否定该操作数的逻辑值,#not#是一个一元运算符; 2)#eq#:若两个运算数相等,则为true;否则为false; 3)#ne#:若两个运算符不相等,则为true;否则为false; 4 ) #gt# :若左边的运算符严格大于右边的运算符,则为 true ;否则为 false; 5)#ge#:若左边的运算符大于或等于右边的运算符,则为true;否则为 false; 6 ) #lt# :若左边的运算符严格小于右边的运算符,则为 true ;否则为 false; 7)#le#:若左边的运算符小于或等于右边的运算符,则为true;否则为 false; 8)#and#:仅当两个参数都为true时,结果为true;否则为false; 9)#or# 仅当两个参数都为false时,结果为false;否则为true。
第二章 2.3 LINGO基本运算符
Matlab数学建模案例分析
算术运算符是针对数值进行操作的。LINGO提供了5种二元运算符: “^”:乘方; “﹡”:乘; “/”:除; “﹢”:加; “﹣”:减。 LINGO唯一的一元算术运算符是取反函数“﹣”。
【例2.2】 算术运算符示例。
第二章
Matlab数学建模案例分析
图2-1 LINGO11.0窗口
第二章 2.1.1 LINGO文件菜单(File Menu)
Matlab数学建模案例分析
图2- 2 文件菜单
第二章 2.1.3 LINGO求解模型菜单
Matlab数学建模案例分析
图2- 4 LINGO模型求解菜单
第二章 2.1.4 窗口菜单(Windows Menu)
《 数学建模 》教学大纲(新)

《数学建模》教学大纲一、课程的基本信息课程编码:课程性质:专业必修课总学时:64学时学分:4开课单位:信息管理学院适用专业:信息与计算科学先修课程:高等数学、线性代数、概率论与数理统计二、课程目的与任务数学建模(实验)课程是信息与计算科学专业的必修课,是利用数学和计算机基础平台进行实践应用课程之一。
是基础数学科学联系实际的主要途径之一。
通过该课程的学习,要使学生系统地获得数学建模的基本知识、基本理论和方法,培养和训练学生的数学建模素质。
要求学生具有熟练的计算推导能力;通过数学模型有关的概念、特征的学习和数学模型应用实例的介绍,培养学生双向翻译能力,数学推导计算和简化分析能力,熟练运用计算机能力;培养学生联想、洞察能力、综合分析能力;培养学生应用数学解决实际问题的能力。
熟练掌握一至两种数学软件(matlab,lingo等),为学生适应日后在社会中实际应用奠定必要的基础。
三、课程教学基本要求数学建模是研究如何将数学方法和计算机知识结合起来用于解决实际生活中存在问题的一门边缘交叉学科,数学建模是集经典数学、现代数学和实际问题为一体的一门新型课程,是应用数学解决实际问题的重要手段和途径。
要求掌握的初等模型、简单优化模型、微分方程模型、差分方程模型、概率统计模型等模型及求解方法。
由于课时的关系,可以适当删减某些比较难的内容,但是务必要使学生在学习过程有所得,要求至少掌握基本建模方法思想,会使用操作数学软件工具解决基本数值分析问题。
五、课程教学基本内容导引建立数学模型教学内容:1、什么是数学建模2、为什么学习数学建模3、怎样学习数学建模MATLAB软件初步(1)MATLAB软件初步(2)重点:1、数学建模基本方法;2、数学建模能力的培养;难点:MATLAB软件应用;第1章数据分析模型教学内容:1.1 薪金到底是多少1.2 评选举重总冠军1.3 估计出租车的总数1.4 解读CPIMATLAB 矩阵1.5 NBA赛程的分析与评价——全国大学生数学建模竞赛2008年D题MATLAB 多项式重点:1、薪金到底是多少;2、评选举重总冠军;3、NBA赛程的分析与评价;难点: MATLAB 矩阵;第2章简单优化模型教学内容:2.1 倾倒的啤酒杯2.2 铅球掷远2.3 不买贵的只买对的MATLAB符号计算2.4 影院里的视角和仰角MATLAB 绘图2.5 易拉罐形状和尺寸的最优设计——全国大学生数学建模竞赛2006年C题重点:1、倾倒的啤酒杯;2、不买贵的只买对的;3、易拉罐形状和尺寸的最优设计;难点:MA TLAB 绘图;第3章差分方程模型教学内容:3.1 贷款购房3.2 管住嘴迈开腿MATLAB m文件与m函数3.3 物价的波动3.4 动物的繁殖与收获期中测试3.5 中国人口增长预测——全国大学生数学建模竞赛2007年A 题MATLAB 数据拟合重点:1、贷款购房;2、物价的波动;3、中国人口增长预测难点:MA TLAB m文件与m函数第4章微分方程模型教学内容:4.1 人口增长MATLAB 插值4.2 火箭发射MATLAB 实验报告4.3 给药方案4.4 海上追踪LINGO基础入门4.5 SARS的传播——全国大学生数学建模竞赛2003年A题和C题LINGO 线性规划重点:1、人口增长;2、火箭发射;3、SARS的传播难点:LINGO 线性规划第5章随机数学模型教学内容:5.1 博彩中的数学5.2 报童售报与飞机预订票LINGO集5.3 作弊行为的调查与估计5.4 汽车租赁与基因遗传LINGO 实验报告5.5 自动化车床管理——全国大学生数学建模竞赛1999年A 题LINGO 线性规划重点:1.博彩中的数学2.作弊行为的调查与估计3.自动化车床管理难点:LINGO 线性规划六、考核方式与成绩评定考核方式:考查考试用时:2学时成绩评定:本课程成绩构成比例为:期末考试成绩占总成绩的60%,期中考试成绩占总成绩的20%,平时成绩占总成绩的20%;平时成绩的构成及比例为:考勤占5%,课堂测验成绩占5%,实验成绩占5%,作业占5%。
数学建模软件LinDoLinGo的简介(修改版)

优化模型的基本类型
若x的一个或多个分量只取离散数值,则优 化模型称为离散优化,或称为组合优化。 如果x的一个或多个分量只取整数数值,称 为整数规划,并可以进一步明确地分为纯 整数规划(x的所有分量只取整数数值)和 混合整数规划(x的部分分量只取整数数 值)。特别地,若x的分量中取整数数值的 范围还限定为只取0或1,则称0-1规划。 此外,整数规划也可以分成整数线性规划 和整数非线性规划。
LINDO/LINGO软件 使用简介
LinDo/LinGo简介
LINDO(Linear Interactive and Discrete Optimizer),即“交互式的线性和离散优化求解 器”,可以用来求解线性规划(LP)和二次规划 (QP);
LINGO(Linear Interactive and General Optimizer),即“交互式的线性和通用优化求解 器”,除了用来求解线性规划(LP)、二次规划 (QP)和非线性规划,还可用于线性和非线性方程 组的求解。
最大的特色:允许决策变量是整数(即整数规划,包 括0-1规划)。
优化建模的一般形式
优化模型是一种特殊的数学模型,优化建 模方法是一种特殊的数学建模方法。
优化模型一般有以下三个要素: 1)决策变量 2)目标函数 3)约束条件
优化建模的一般形式
优化模型从数学上可表述成如下一般形式:
opt z f (x)
连续优化
优化
整数规划
线性规划
二次规划
非线性规划
问题求解的难度增加
优化模型的简单分类和求解难度
简单例子
max
z 2x 3y;
s.t.
4x 3y 10; 3x 5y 12; x, y 0.
运筹学软件(LINGO)简介

目标与约束段
对于产品数量的平衡方程而言, 由于下标I=1时的约束关系 与I=2,3,4时有所区别(因为定义的变量INV是不包含INV(0)), 因 此把I=1的约束关系单独写出“INV(1)=10+RP(1)+OP(1)-DEM(1);”, 而对I=2,3,4对应的约束, 增加了一个逻辑表达式来刻划: @FOR(QUARTERS(I)|I#GT#1: INV(I)=INV(I-1)+RP(I)+OP(I)-DEM(I););
② 变量定界函数 @GIN(X): @BIN(X): @FREE(X): 限制X为整数. 限制X为0或1. 取消对X的符号限制.
@BND(L,X,U): 限制 L ≤ X ≤ U .
注: 有关其它函数的介绍, 请参考LINGO的帮助文件.
4、运算符说明 ① 运算符 算数运算符: +(加法), -(减法或负号), *(乘法), /(除法), ^(求幂). 关系运算符: <(即<=,小于等于), >(即>=,大于等于). 注:优化模型中的约束一般没有严格小于、严格大于关系. =(等于),
逻辑运算符: #AND#(与), #EQ#(等于), #OR#(或), #NE#(不等于), #NOT#(非); #GT#(大于).
#GE#(大于等于), #LT#(小于),#LE#(小于等于).
注: 逻辑运算的结果为“真”(TRUE)和“假”(FALSE), LINGO 中用数字1代表TRUE, 其它值都是FALSE.
2、状态窗口说明(例1)
Variables(变量数量) Total(变量总数) Nonlinear(非线性变量) Integer(整数数量)
注:由于LINGO对中文操作系 统的兼容性不好, 所以有些 显示字符和单词被截掉了.
《玩转数模软件》lingo篇——数学建模协会

Elapsed Runtime (hh:mm:ss) (求解花费 的时间)
数学建模协会
当前模型的类型 :LP,QP,ILP,IQP,PILP, PIQP,NLP,INLP,PINLP (以I开头表示 IP,以PI开头表示PIP) 当前解的状态 : "Global Optimum", "Local Optimum", "Feasible", "Infeasible“(不可行), "Unbounded“(无界), "Interrupted“(中断), "Undetermined“(未确定) 当前约束不满足的总量(不是不 满足的约束的个数):实数(即使 该值=0,当前解也可能不可行, 因为这个量中没有考虑用上下界 命令形式给出的约束)
参数设置命令窗口
厚 德 载 物 , 厚 积 薄 发
数学建模协会
Lingo 程序编辑
厚 德 载 物 , 厚 积 薄 发
例:某家具公司制造书桌、餐桌和椅子,所用 的资源有三种:木料、木工和漆工。生产数据 如下表所示: 现有资源 每个书桌 每个餐桌 每个椅子 总数 木料 漆工 木工 8单位 4单位 2单位 6单位 2单位 1.5单位 1单位 1.5单位 0.5单位 48单位 20单位 8单位
数学建模协会
弹出来的对话框是:
Variables(变量数量): 变量总数(Total)、 非线性变量数(Nonlinear)、 厚 整数变量数(Integer)。
德 Constraints(约束数量): 载 约束总数(Total)、 非线性约束个数(Nonlinear)。 物 Nonzeros(非零系数数量): , 总数(Total)、 非线性项系数个数(Nonlinear)。 厚 积 Generator Memory 薄 Used (K) (内存使用 发 量)
LINGO教程

2012学年暑期数学建模培训
7.例题 x3
s.t .
2 x1 x 2 x 3 5
4 x1 3 x 2 x 3 3 x1 x2 x3 2
x1 , x2 , x3 0
2012学年暑期数学建模培训
例2
max z 5 x1 10 x 2 3 x 3 6 x 4
2012学年暑期数学建模培训
@log(x) 返回x的自然对数 @lgm(x) 返回x的gamma函数的自然对数 @sign(x) 如果x<0返回-1;否则,返回1 @floor(x) 返回x的整数部分。 当x>=0时,返回不超过x的最大整数; 当x<0时,返回不低于x的最大整数。 @smax(x1,x2,…,xn) 返回x1,x2,…,xn 中的最大值 @smin(x1,x2,…,xn) 返回x1,x2,…,xn 中的最小值
2012学年暑期数学建模培训
例4
学生
性别
年龄 构成的语言程序
!集部分
sets: students/John,Jill,Rose,Mike/:sex,age; !学生集:性别属性sex,1表示男性,0表示女性;年龄属性 age. linkmf(students,students)|sex(&1) #eq# 1 #and# sex(&2) #eq# 0: friend; !男学生和女学生的联系集:友好程度属性friend,[0,1]之间 的数。 linkmf2(linkmf) | friend(&1,&2) #ge# 0.5 : x; !男学生和女学生的友好程度大于0.5的集; endsets
lingo学习笔记文档数学建模
选项设置• Preprocess:预处理(生成割平面);• Preferred Branch:优先的分枝方式:“Default”(缺省方式)、“Up”(向上取整优先)、“Down”(向下取整优先);• IP Optimality Tol:IP最优值允许的误差上限(一个百分数,如5%即0.05);• IP Objective Hurdle:IP目标函数的篱笆值,即只寻找比这个值更优最优解(如当知道当前模型的某个整数可行解时,就可以设置这个值);• IP Var Fixing Tol:固定一个整数变量取值所依据的一个上限(如果一个整数变量的判别数(REDUCED COST)的值很大,超过该上限,则以后求解中把该整数变量固定下来)。
Nonzero Limit:非零系数的个数上限;Iteration Limit:最大迭代步数;Initial Contraint Tol:约束的初始误差上限;Final Contraint Tol:约束的最后误差上限;Entering Var Tol:进基变量的REDUCEDCOST的误差限;Pivot Size Tol:旋转元的误差限Report/StatisticsROWS= 5 VARS= 4 INTEGER VARS= 2( 0 = 0/1) QCP= 4NONZEROS= 19 CONSTRAINT NONZ= 12( 6 = +-1) DENSITY=0.760 SMALLEST AND LARGEST ELEMENTS IN ABSOLUTE VALUE= 0.300000 277.000 OBJ=MIN, NO. <,=,>: 2 0 2, GUBS <= 1 VUBS >=SINGLE COLS= 0 REDUNDANT COLS= 0第一行:模型有5行(约束4行),4个变量,两个整数变量(没有0-1变量),从第4行开始是二次规划的实际约束。
LINGO基本语法和编程
问题旳模型(能够看出是LP模型 )
目旳函数是全部费用旳和 MIN {400RP(I ) 450OP(I ) 20INV (I )} I 1,2,3,4
位置为(x j , y j ),日储量为ej , j 1,2 ;从料场 j 向工地i 旳
运送量为cij 。
2 6
2
2
MIN f
cij x j ai y j bi
1
j1 i1
2
s.t.
cij di , i 1, 2, , 6
2
j 1
6
cij ej , j 1, 2
3
“X=5,2; Y=1,7;”
输入程序
定义目旳和约束,与前例旳措施是类似(这里
包括了派生集合),请注意这里用到了集合函
在程序开头用TITLE语句 对这个模型取了一种标题 “LOCATION PROBLEM; 而且对目旳行([OBJ])和 两类约束
注:在程序中若没有Model和End也能执行,但提 议写完整原则旳程序
LINGO程序基本构造
2:五段(Section)构造
Model:
Title “Example” 集合段 数据段 初始段 计算段 目的和约束段
五段构造中目旳和约束段一般 是不可少旳,集合段用得比较 多,数据段次之,初始段和计 算段不一定有。这些段旳顺序 可调换。
集合及其属性
• QUARTERS集合旳属性
• DEM
• RP
LINGO使用说明(比较简单)
@sum( xb1(j) : a(i,j)*x(j)) +c(i) <= b(i);
); 同时我们在E盘新建了一个名为DATA.XLS的EXCLE文件;关于 EXCLE的使用,这里不更多说明。需要指出的是‘ DA ’ , ‘ DB ’ , ‘ DC ’是EXCLE中对一系列单元格的命名,即先选中某个一维或多维单元格 区域,然后再在显示单元格行列坐标的文本框中写入对这个区域的命 名,再回车确认。这样就可以通过这个命名来控制访问EXCLE的数据 了。至于另一种操作方法请查找相关的help文件。 以上只是介绍了LINGO基本的知识,上面的程序未经调试,可能存 在一些问题!还有希望大家能尽可能使用help文件,在其中有着详细的 解答!
相应Lingo代码如下: @max( xb1( i ) : b( i )*c( i ) ) <=33 ;
同样MAX语句也可以用于多维变量。 4.MIN语句:
MIN语句的功能是从一组取值与下标有关的表达式中返回它们 的最小值。用法与MAX的相同。
三.EXCEL电子表格接口
在你解决一个模型的时候,或许会有大量的数据要整合到你的 代码中去,而这些数据大部分时候会被保存在电子表格中。而且 EXCEL也是用来处理你所得到的数据较好的一个选择。出于上述原
当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗 口:
外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将 被包含在主窗口之下。在主窗口内的标题为LINGO Model – LINGO1的 窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实 现。 示例:求解线性规划问题:
LINGO在数学建模中的应用
一、LINGO简介LINGO[1]是美国LINDO系统公司开发的求解数学规划系列软件中你的一个,它的主要功能是求解大型线性、非线性和整数规划问题,LINGO的不同版本对模型的变量总数、非线性变量数目、整型变量数目和约束条件的数量做出不同的限制.LINGO的主要功能特色为:(1)既能求解线性规划问题,也有较强的求解非线性规划问题的能力;(2)输入模型简练直观;(3)运行速度快、计算能力强.(4)置建模语言,提供几十个部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型;(5)将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型;(6)能方便地与EXCEL、数据库等其他软件交换数据.LINGO像其他软件一样,对他的语法有规定,LINGO的语法规定如下:(1)求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示;(2) 每个语句必须以字母开头,由字母、数字和下划线所组成,昌都不超过32个字符,不区分大小写;(3)每个语句必须以分号“;”结束,每行可以有多个语句,语句可以跨行;(4)如果对变量的取值围没有特殊说明,则默认所有决策变量都非负;(5)LINGO模型以语句“MODEL”开头,以语句“END”结束,对于比较简单的模型,这这两个语句可以省略.LINGO提供了五十几个部函数,使用这些函数可以大大减少编程工作量,这些函数都是以字符@开头,下面简单介绍其中的集合操作函数和变量定界函数及用法.集合是LINGO建模语言中最重要的概念,使用集合操作函数能够实现强大的功能,LINGO 提供的常用集合操作函数有@FOR(s:e)、@SUM(s:e)、@MAX(s:e)、@MIN(s:e)等.@FOR(s:e)常用在约束条件中,表示对集合s 中的每个成员都生成一个约束条件表达式,表达式的具体形式由参数e 描述;@SUM(s:e) 表示对集合s 中的每个成员,分别得到表达式e 的值,然后返回所有这些值的和;@MAX(s:e) 表示对集合s 中的每个成员,分别得到表达式e 的值,然后返回所有这些值中的最大值;@MIN(s:e) 表示对集合s 中的每个成员,分别得到表达式e 的值,然后返回所有这些值中的最小值.LINGO 默认变量的取值可以从零到正无穷大,变量定界函数可以改变默认状态,如对整数规划,限定变量取整数,对0-1规划,限定变量取0 1或.LINGO 提供的变量定界函数有:@BIN(X)、@BND(L,X,U)、@GIN(X)、@FREE(X).@BIN(X)限定X 为0或1,在0-1规划中特别有用;@GIN(X)限定X 为整数,在整数规划中特别有用;@BND(L,X,U)限定L <X <U,可用作约束条件;@FREE(X)取消对X 的限定,即X 可以取任意实数.二、LINGO 在线性规划中的应用具有下列三个特征的问题称为线性规划问题(Linear program)[2]简称LP 问题,其数学模型称为线性规划(LP)模型.线性规划问题数学模型的一般形式为:求一组变量(1,2,,)j x j n =L 的值,使其满足1122max(min),n n z c x c x c x =+++L2111122111211222221122***.0,1,2,,,,..n j n n n n nn nn n n x j na x a x a xb a x a x a x b s t a x a x a x b ⎧⎪⎪⎪⎨⎪⎪≥=⎪⎩+++++++++L L L L L式中“*”代表“≥”、“ ≥”或“=”.上述模型可简写为1max(min),nj j j z c x ==∑1*0,1,2,,,1,2,,..nij j j ji a x x j n b i m s t =⎧⎪⎨⎪≥=⎩=∑L L 其中,变量j x 称为决策变量,函数1nj jj z c x==∑称为目标函数,条件1*nj jij c x b =∑称为约束条件,0j x ≥ 称为非负约束.在经济问题中,又称j c 为价值系数,i b 为资源限量. 线性规划在科学决策与经营管理中实效明显[3],但是对于规模较大的线性模型,其求解过程非常繁琐,不易得出结果.而 LINGO 中的部集合函数有@FOR(s:e)、@SUM(s:e)、@MAX(s:e)、@MIN(s:e)等,可以用这些集合函数使程序编程简单可行,下面举例说明.例1 某工厂有两条生产线,分别用来生产M 和P 两种型号的产品,利润分别为200元每个和300元每个,生产线的最大生产能力分别为每日100和120,生产线没生产一个M 产品需要1个劳动日(1个工人工作8小时称为1个劳动日)进行调试、检测等工作,而每个P 产品需要2个劳动日,该工厂每天共计能提供160个劳动日,假如原材料等其他条件不受限制,问应如何安排生产计划,才能使获得的利润最大?解 设两种产品的生产量分别为1x 和2x ,则该问题的数学模型为:目标函数 12max 200300z x x =+约束条件 1212100,120,160,0,1,2.i x x x x x i ≤⎧⎪≤⎪⎨+≤⎪⎪≥=⎩编写LINGO 程序如下:MODEL:SETS:SHC/1,2 /:A,B,C,X; YF/1,2,3 /:J;ENDSETSDATA:A=1,2 ; B=100,120; C=200,300;ENDDATAMAX=@SUM(SHC:C*X);@FOR(SHC(I):X(I)<B(I)); @SUM(SHC(I):A(I)*X(I))<=160; END程序运行结果如下Global optimal solution found.Objective value: 29000.00 Total solver iterations: 0 Variable Value Reduced CostA( 1) 1.000000 0.000000A( 2) 2.000000 0.000000B( 1) 100.0000 0.000000B( 2) 120.0000 0.000000C( 1) 200.0000 0.000000C( 2) 300.0000 0.000000X( 1) 100.0000 0.000000X( 2) 30.00000 0.000000J( 1) 0.000000 0.000000J( 2) 0.000000 0.000000J( 3) 0.000000 0.000000Row Slack or Surplus Dual Price 1 29000.00 1.000000 2 0.000000 50.00000 3 90.00000 0.000000 4 0.000000 150.0000最优解为12100,30,x x ==最优值为29000.00z =.即每天生产100个M 产品30个P 产品,可获得29000元利润.三、LINGO 在整数规划和0-1规划中的应用1 求解整数规划整数规划[4]分为整数规划和混合整数规划,要求全部变量都为非负整数的数学规划称为纯整数规划,只要求部分变量为非负整数的数学规划称为混合整数规划.下面只讨论约束条件和目标函数均为线性的整数规划问题,即整数线性规划问题(以下简称整数规划,记为ILP),其数学模型的一般形式是()1max min nj j j z c x ==∑,()()11,2,,..01,2,,nij j i j j j a x b i n s t x j n x =⎧≤=⎪⎪⎪≥=⎨⎪⎪⎪⎩∑L L 全为整数或部分为整数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
检查数据和模型中 的名称是否重复使 用:选择该选 项,LINGO将检查 数据和模型中的名 称是否重复使用, 如基本集合的成员 名是否与决策变量 名重复
最小化内存使用 量:是否最小化内 存使用量。缺省 设置为“是”。 使用这个功能的 一个缺点是可能 引起计算速度下 降
LINGO|Options|General Solver(通用求解程序)选项卡
填充数据库表:当LINGO向电子表(如 EXCEL文件)或数据库中输出数据时, 如果电子表或数据库中用来接收收据的 空间大于实际输出的数据占用的空间, 是否对多余的表空间进行数据填充? (缺省值为不进行填充)
LINGO|Options|Interface(界面)选项卡
状态栏:如果选择该选 项,则LINGO系统在 主窗口最下面一行显 示状态栏;否则不显 示 状态窗口:如果 选择该选项, 则LINGO系统 每次运行 LINGO| Solve命 令时会在屏幕 上弹出状态窗 口;否则不弹 出 工具栏:如果选择 该选项,则显示 工具栏;否则不 显示
LINGO|Options|General Solver(通用求解程序)选项卡
线性化程度:决定求解模型时线性化的程度,有四种可能的设置: Solver Decides:若变量数小于等于12个,则尽可能全部线性化;否则 不做任何线性化(缺省设置) None:不做任何线性化 Low:对函数@ABS(), @MAX(), @MIN(), @SMAX(), @SMIN(),以 及二进制变量与连续变量的乘积项做线性化 High:同上,此外对逻辑运算符#LE#, #EQ#, #GE#, #NE#做线性化
求解 器 (求 解程 序 )状 态框
解的目标函数值
目前为止的 迭代次数
• 运行状态窗口
使用的特殊求解程序 : B-and-B (分枝定界算法) Global (全局最优求解程序) Multistart(用多个初始点求解的程序 ) 目前为止找到的可行 解的最佳目标函数值
扩展 的求 解器( 求解 程序) 状态 框
第一节 LINGO使用介绍
一. LINGO界面 二. LINGO编写格式
LINGO的界面
• LINGO软件的主窗口(用 户界面),所有其他窗口 都在这个窗口之内。
• 当前光标 的位置 • 模型窗口(Model Window),用于输入 LINGO优化模型(即 LINGO程序)。
• 状态行(最左边显 示“Ready”,表示 “准备就绪”)
目录 上页 下页 返回 结束
引例:如何求解下列LP问题?
min s.t.
2 x1 3 x 2
min=2*x1+3*x2; x1+x2>=350; x1>=100;
2*x1+x2<=600;
x1 x 2 350 x1 100 2 x1 x 2 600 x1 , x 2 0
LINGO|Options (Ctrl+I) 选项设置
Window|Close All (Alt+X) 关闭所有窗口
File|Print (F7) 打印文件
LINGO|Solution (Alt+O)显示解答
Help|Con ents (F1) 在线帮助
File|Save (F4) 保存文件
Edit|Paste (Ctrl+V) 粘贴 Edit|Redo (Ctrl+Y) 恢复操作
自动 按深度优先 选择具有最坏界的节点 选择具有最好界的节点
LINGO|OPTIONS|Integer Solver(整数求解程序)选项卡
分枝 控制分枝策略中 优先对变量取整 的方向,有三种 选择: Both:LINGO自动 决定(缺省) Up:向上取整优先 Down:向下取整 优先 绝对误差限:当变量与整数的绝 对误差小于这个值时,该变量被 认为是整数。缺省值为10-6
废弃本次操作, 退出对话框 显示本对话框 的帮助信息
选项卡 新的设置生效
新的设置生 效,并关闭 窗口
LINGO︱Options︱Interface(界面)选项卡
版本信息屏幕
界面
默认保存文件格式
求解状态窗口 工具栏
错误信息对话框 LINGO系统状态栏 简洁输出 输出是否填充多余库表空间
解的截断,小于此值报告为0
线性化的大M系数:设 置线性化的大M系数 (缺省值为106)
线性化的误差限: 设置线性化的误 差限(缺省值为 10-6)
LING序)选项卡
检查数据和模型中的名称是 否重复使用:选择该选 项,LINGO将检查数据和模 型中的名称是否重复使用, 如基本集合的成员名是否与 决策变量名重复 允许无限制地使用基本集 合的成员名:选择该选项可 以保持与LINGO4.0以前的 版本兼容:即允许使用基 本集合的成员名称直接作 为该成员在该集合的索引 值(LINGO4.0以后的版本 要求使用@INDEX函数)
“工欲善其事,必先利其器”,手中有一个方便的求解
最优化问题的工具就显得很重要。LINGO系列优化 软件包就给我们提供了理想的选择。
Lingo与matlab的比较
这个没法比较,因为两者的定位不同。就像我们无法比较 word和excel那个好用一样。一般是按需选择,交叉使用的关 系。 lingo是专门处理优化问题的软件,比matlab自带的优化工具 箱强大,但功能单一,无法处理别的问题。 matlab是综合类的工程数学软件,利用其语言和自带命令可以 方便地编写处理各种问题的程序包,自带的工具箱涵盖的范围 也很丰富。 两者的关系可以说一个是小而精,一个是大而全。
• 运行状态窗口
当前模型的类型 :LP,QP,ILP,IQP,PILP, PIQP,NLP,INLP,PINLP (以I开头表示 IP,以PI开头表示PIP)
当前解的状态 : "Global Optimum", "Local Optimum", "Feasible", "Infeasible“(不可行), "Unbounded“(无界), "Interrupted“(中断), "Undetermined“(未确定) 当前约束不满足的总量(不是不 满足的约束的个数):实数(即使 该值=0,当前解也可能不可行, 因为这个量中没有考虑用上下界 命令形式给出的约束)
控制分枝策略中优 先对哪些变量进行 分枝,有两种选择: LINGO Decides: LINGO自动决定(缺 省设置) Binary:二进制(0-1) 变量优先
相对误差限:当变量与整数的相 对误差小于这个值时,该变量 被认为是整数。缺省值为8*10-6
Edit | Go To Line (Ctrl+T) 定位某行 LINGO|Solve (Ctrl+S) 求解模型
LINGO|Picture (Ctrl+K) 模型图示
Window|Tile (Alt+T) 平铺窗口 上下文 相关的 帮助
File|New (F2) 新建文件
Edit|Cut (Ctrl+X) 剪切
数学建模之LINGO软件
河北联合大学理学院
LINGO软件使用 简介及技巧
一、LINGO使用介绍 二、利用LINGO求解优化模型实例
目录
上页
下页
返回
结束
LINGO是一种专门用于求解数学规划问题的 软件包. 广泛应用LINGO主要用于求解线性规划、非 线性规划、二次规划和整数规划问题,也可以用于 求解一些线性和非线性方程组及代数方程求根等. 其特点是程序执行速度很快,易于输入、修改、求 解和分析一个数学规划问题。
Window|Send to Back (Ctrl+B) 窗口后置
LINGO系统(LINGO)主菜单
LINGO|Options命令
当前设置变为默认设 打开一个含有7 置,下次启动LINGO 个选项卡的窗 时这些设置仍然有效 口,通过它修改 LINGO系统的 各种控制参数 恢复LINGO系统定 和选项。 义的原始默认设置( 缺省设置)
检查数量级的平衡性 矩阵分解: 尝试大模型分解为小模型
LINGO︱Options︱Integer Solver(整数求解程序)
分支:方向,优先级(自动,二进制变量优先)
整性:绝对误差,相对误差
整数
求解程序:
最优性:目标函数的绝对误差限,相对误差限,开始采用相对误差限的时间
误差限:篱笆值,节点选择,强分支的层数
模型的重新生成:控制重新生成模型的频率,有三种可能的设置: Only when text changes:只有当模型的文本修改后才再生成模型; When text changes or with external references:当模型的文本修改或模型含 有外部引用时(缺省设置); Always:每当有需要时。
矩阵生成器的内 存限制:缺省值 为32M,矩阵生 成器使用的内存 超过该限制, LINGO将报告 "The model generator ran out of memory" 对偶计算:求解时控制对偶计算的级别,有三种 可能的设置: None: 不计算任何对偶信息; Prices:计算对偶价格(缺省设置); Prices and Ranges:计算对偶价格并分析敏感性; Prices, Opt Only: 只计算最优行的对偶价格 。 运行限制: 迭代次数:求解 一个模型时,允 许的最大迭代次 数(缺省值为无 限) 运行限制: 运行时间:求解 一个模型时,允 许的最大运行时 间(秒)(缺省 值为无限)
目标函数值的界 特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序)
有效步数
工具栏
File|Open (F3) 打开文件 Edit|Copy (Ctrl+C) 复制 Edit|Find (Ctrl+F) 查找 Edit|Undo (Ctrl+Z) 取消操作 Edit|Match Parenthesis (Ctrl+P) 匹配括号