数学规划及Lingo

合集下载

Lingo超经典案例大全

Lingo超经典案例大全

Lingo超经典案例大全Lingo超经典案例大全LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器〞。

Lingo超强的优化计算能力在许多方面〔线性规划、非线性规划、线性整数规划、非线性整数规划、非线性混合规划、二次规划等〕比matlab、maple等强得多,Lingo编程简洁明了,数学模型不用做大的改动〔或者不用改动〕便可以直接采纳Lingo语言编程,十分直观。

Lingo模型由4个段构成:〔1〕集合段〔sets endsets〕;〔2〕数据段〔data enddata);(3)初始段〔init endinit〕;〔4〕目标与约束段。

Lingo的五大优点:1. 对大规模数学规划,LINGO语言所建模型较简洁,语句不多;2. 模型易于扩展,因为@FOR、@SUM等语句并没有指定循环或求和的上下限,假如在集合定义部分增加集合成员的个数,则循环或求和自然扩展,不需要改动目标函数和约束条件;3. 数据初始化部分与其它部分语句分开,对同一模型用不同数据来计算时,只需改动数据部分即可,其它语句不变;4. “集合〞是LINGO有特色的概念,它把实际问题中的事物与数学变量及常量联系起来,是实际问题到数学量的抽象,它比C语言中的数组用处更为广泛。

5. 使用了集合以及@FOR、@SUM等集合操作函数以后可以用简洁的语句表达出常见的规划模型中的目标函数和约束条件,即使模型有大量决策变量和大量数据,组成模型的语句并不随之增加.一、求解线性整数规划、非线性整数规划问题:1.线性整数规划:model:max=x1+x2;x1+9/14*x20.001;@abs(x2-1)>0.001;end求得x1=2,x2=2.若再次排除这组解,发觉Lingo解不出第三组解了,这时我们可以断定:此优化模型有两组解:x1=3,x2=1和x1=2,x2=2.求解模型时需留意:Lingo中,默认变量均为非负;输出的解可能是最优解中的一组,要推断、检验是否还有其他解〔依据具体问题的解的状况或用排除已知最优解的约束条件法〕。

规划建模

规划建模

EXCEL中定义Ranges名

① ② ③ ④ ⑤
按鼠标左键拖曳选择Range, 释放鼠标按钮, 选择“插入|名称|定义”, 输入希望的名字, 点击“确定”按钮。
一个例子

两个料场向六个工地供应水泥。料场和 工地的坐标给定。每个料场每天能提供 20吨水泥,各工地每天需求已知。制定 恭料方案,使每天总运力最小。
数学规划分类

按目标函数个数分类

单目标规划 多目标规划 线性规划 非线性规划 整数规划 0-1型整数规划

按模型中函数类型分类


按决策变量类型分类

线性规划
max f ( X ) s.t. g i ( X ) 0, i 1,2, , m h j ( X ) 0, j 1,2, , n f , g i , h j , (i 1,2, , m, j 1,2, , n) 都是线性函数。
基本运算符--关系运算符

LINGO有三种关系运算符:“=”、 “<=”和“>=”。LINGO中还能用“<” 表示小于等于关系,“>”表示大于等于 关系。LINGO并不支持严格小于和严格 大于关系运算符。
数学函数



@abs(x) 返回x的绝对值 @sin(x) 返回x的正弦值,x采用弧度制 @cos(x) 返回x的余弦值 @tan(x) 返回x的正切值 @exp(x) 返回常数e的x次方 @log(x) 返回x的自然对数 @sign(x) 如果x<0返回-1;否则,返回1 @floor(x) 返回x的整数部分。 @smax(x1,x2,…,xn) 返回x1,…,xn中的最大值 @smin(x1,x2,…,xn) 返回x1,x2,…,xn中的最小值

lingo及举例

lingo及举例

location2
Lingo程序入门
LINGO模型的构成:4个段
集合段(SETS ENDSETS)
数据段(DATA ENDDATA)
LP:移到数据段
初始段(INIT ENDINIT)
目标与 约束段
局部最优:89.8835(吨公里 )
Lingo程序入门
Lingo举例
例4:匹配问题 某班8名同学准备分成4个调查队(每队两人)前往四个地区进行
高 ﹣(取反) ^ ﹡/
低 ﹢﹣
Lingo程序入门
(2)逻辑运算符 #not# 否定该操作数的逻辑值,#not#是一个一元运算符 #eq# 若两个运算数相等,则为true;否则为flase #ne# 若两个运算符不相等,则为true;否则为flase #gt# 若左边的运算符严格大于右边的运算符,则为true;否则为flase #ge# 若左边的运算符大于或等于右边的运算符,则为true;否则为flase #lt# 若左边的运算符严格小于右边的运算符,则为true;否则为flase #le# 若左边的运算符小于或等于右边的运算符,则为true;否则为flase #and# 仅当两个参数都为true时,结果为true;否则为flase #or# 仅当两个参数都为false时,结果为false;否则为true 这些运算符的优先级由高到低为:
c=0.02 0.07 0.04 0.03 0.05;
b=7 3 10; enddata
5 i 1
ci
xi
5 i 1
Aji
xi
bj ,
j
1, 2, 3
min=@sum(feed(i):c(i)*x(i)); !定义目标函数并求最小化问题
@for(nutr( j):@sum(feed(i):a( j,i)*x(i))>=b( j)); !定义约束条件

用lingo求解线性规划问题

用lingo求解线性规划问题

用lingo求解线性规划问题中国石油大学胜利学院程兵兵摘要食物营养搭配问题是现代社会中常见的问题,其最终的目的是节省总费用.本文通过对营养问题的具体剖析.构建了一般的线性规划模型。

并通过实例应用Lingo数学软件求解该问题.并给出了价值系数灵敏度分析,得出蔬菜价格的变动对模型的影响.关键词线性规划,lingo,灵敏度分析。

一、问题重述与分析营养师要为某些特殊病人拟订一周的菜单,可供选择的蔬菜及其费用和所含营养成分的数量以及这类病人每周所需各种营养成分的最低数量如下表1所示。

有以下规定:一周内所用卷心菜不多于2份,其他蔬菜不多于4份。

问题一:若病人每周需要14份蔬菜,问选用每种蔬菜各多少份,可使生活费用最小.问题二:当市场蔬菜价格发生怎样波动时,所建模型的适用性。

表 1 所需营养和费用营养搭配是一个线性规划问题,在给定蔬菜的情况下,要求菜单所需的营养成分必须达到要求,并在此条件下求出什么样的搭配所花费的费用最少.第一个要求是满足各类营养的充足,根据表中数据列出不等式。

第二要求为问题一中,蔬菜的份数必须为14,第三要求为在一周内,卷心菜不多于2份,其他不多于4份,根据以上条件列出各类蔬菜份数的限定条件,并可表示出费用的表达式.对于第二问,就是价值系数的变化对总费用的影响,模型的适用范围。

三、模型假设第一,假设各蔬菜营养成分保持稳定,满足题干要求。

第二,假设各蔬菜价格在一定时间内保持相对稳定。

第三,假设各类蔬菜供应全部到位,满足所需要求量. 第四,假设所求出最优解时不要求一定为整数。

四、符号约定(1)Z 代表目标函数,此题即为费用。

(2)i c 为价值系数,此题即为每份蔬菜的价格。

下标i 代表蔬菜的种类。

(3)i x 为决策变量,表示各种蔬菜的数量。

(4)i b 为最低限定条件,表示蔬菜最低营养需要。

五、模型建立根据以上各种假设和符号约定,建立模型如下。

所求的值就是min,也就是最优化结果.s 。

运筹学课程设计(lingo和excel规划求解)

运筹学课程设计(lingo和excel规划求解)

一、课程设计题目 《运筹学课程设计》 二、课程设计的目的 1.培养学生理论联系实际的工作作风,严肃认真、实事求是的科学态度和勇于探索的 创新精神。 2.培养学生综合运用所学运筹学知识与运用软件分析和解决工程技术问题的能力。 3.通过课程设计实践,训练并提高学生在运筹学模型建立、综合运用EXCEL和LINGO求 解模型和使用办公软件编写技术文档等方面的能力。 三、课程设计的主要内容和要求(包括原始数据、技术参数、设计要求、工作量要求 等) 1. 自选题目:从教师所给练习册和教材中各选两题,每题10分。 2. 提高题目: 在教师给定的五道题中选择三道题,建立数学模型并求解,每题20分。 1) 智能手机的生产计划 某 IT 制造商生产三种型号的智能手机,每季度的合同需求量如下表所示:
五、主要参考文献 [1] 谢金星, 薛毅. 优化建模与LINDO/LINGO软件. 北京: 清华大学出版社, 2005年7 月第1版. [2] 袁新生, 邵大宏, 郁时炼.LINGO和Excel在数学建模中的应用. 北京: 科学出版 社, 2007年1月第1版.
交通运输学院课程设计
[3] 马建华. 运筹学. 北京: 清华大学出版社, 2014年7月第1版. [4] 林健良. 运筹学及实验. 广州:华南理工大学出版社, 2005年9月第1版. [5] 邢光军, 孙建敏等. 实用运筹学:案例、方法及应用. 北京: 人民邮电出版社, 2015年6月第1版. [6] 李引珍. 管理运筹学. 北京:科学出版社, 2012年9月第1版. [7] 陈士成. 实用管理运筹学——基于Excel. 北京: 清华大学出版社, 2011年4月第1 版. [8] 叶向. 实用运筹学——运用Excel 2010 建模和求解. 北京: 中国人民大学出版社, 2013年5月第2版. [9] 王泽文. 数学实验与数学建模案例.北京:高等教育出版社, 2012年9月第1版. [10] 张杰, 郭丽杰等. 运筹学模型及其应用. 北京: 清华大学出版社, 2012年8月第1 版. [11] Excel Home 编著. Excel应用大全. 人民邮电出版社,2008年3月第1版 [12] 王文平,侯来银,来向红主编. 运筹学. 北京:科学出版社,2007 年.

Lingo的基本使用方法

Lingo的基本使用方法

1. LINGO入门
内容提要
2.在LINGO中使用集合
3. 运算符和函数
4. LINGO的主要菜单命令
5. LINGO命令窗口
6.习题
1. LINGO入门
1. LINGO入门 2.在LINGO中使用集合 3. 运算符和函数 4. LINGO的主要菜单命令 5. LINGO命令窗口 6.习题
LINGO软件的主要特色
运行状态窗口
扩展 的求 解器 (求解 程序) 状态 框
使用的特殊求解程序 : B-and-B (分枝定界算法) Global (全局最优求解程序) Multistart(用多个初始点求解的程序)
目前为止找到的可行 解的最佳目标函数值
有效步数
目标函数值的界
特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序)
INV (0) 10
加上变量的非负约束
注:LINGO中没有数组,只能对每个季度分别定义变量,如正常 产量就要有RP1,RP2,RP3,RP4 4个变量等。写起来就比较麻 烦,尤其是更多(如1000个季度)的时候。
记四个季度组成的集合QUARTERS={1,2,3,4},它们就是上 面数组的下标集合,而数组DEM,RP,OP, INV对集合QUARTERS中 的每个元素1,2,3,4分别对应于一个值。LINGO正是充分利用 了这种数组及其下标的关系,引入了“集合”及其“属性”的概 念,把QUARTERS={1,2,3,4}称为集合,把DEM,RP,OP, INV 称为该集合的属性(即定义在该集合上的属性)。
两种命令模式
Windows模式: 通过下拉式菜单命令驱动LINGO运行(多数

用Lingo求解整数(0-1)规划模型.


Lingo 程序: max=2*x1+5*x2+3*x3+4*x4;
-4*x1+x2+x3+x4>=0; -2*x1+4*x2+2*x3+4*x4>=1; x1+x2-x3+x4>=1; @bin(x1);@bin(x2);@bin(x3);@bin(x4);
温州大学城市学院
例 2 用Lingo软件求解整数规划问题 min z 2 x1 5 x2 3 x3
温州大学城市学院
注意:
Lingo 默认变量的取值从0到正无穷大,
变量定界函数可以改变默认状态.
@free(x): 取消对变量x的限制(即x可取任意实数值)
例 4 求函数 z x 2 y 2 的最小值.
2 2
温州大学城市学院 例 4 求函数 z x 2 y 2 的最小值.
,8
温州大学城市学院
温州大学城市学院
上机作业题
要求:
1、建立数学模型,
2、用lingo循环语句编写程序.
温州大学城市学院
上机作业题
人员安排问题
某城市的巡逻大队要求每天的各个时间段都有一 定数量的警员值班, 以便随时处理突发事件, 每人连续 工作6h, 中间不休息. 如表所示是一天8个班次所需值 班警员的人数情况统计:
成绩 甲 乙 丙 丁 自由泳 / s 56 63 57 55 蛙泳 / s 74 69 77 76 蝶泳 / s 61 65 63 62 仰泳 / s 63 71 67 62
甲, 乙, 丙, 丁 四名队员各自游什么姿势 , 才最有可能取得好成绩?
温州大学城市学院

运筹学软件(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例题和答案

数学建模值班lingo例题和答案
例1
某工厂有两条生产线,分别用生产M和P两种型号的产品,利润分别为200元/个和300元/个,生产线的最大生产能力分别为每日100和 120,生产线每生产一个M产品需要1个劳动日(1个工人工作8小时成为1个劳动日)进行调试、检测等工作,而每个P产品需要2个劳动日,该厂工人每天共计能提供160劳动日,假如原材料等其他条件不受限制,问应如何安排生产计划,才能使获得的利润最大?
解:设两种产品的生产量分别为x和x,则
目标函数max z = 200x +300x,
例2
生产计划安排问题(@if函数的应用)。

某企业用A,B两种原油混合加工成甲、乙两种成品油销售。

数据见下表,表中百分比是成品油中原油A的最低含量。

成品油甲和乙的销售价与加工费之差分别为5和5.6(单位:千元/吨),原油A,B的采购价分别是采购量x(单位:吨)的分段函数
f(x)和g(x)(单位:千元/吨),该企业的现有资金限额为7200(千元),生产成品油乙的最大能力为2000吨。

假设成品油全部能销售出去,试在充分利用现有资金和现有库存的条件下,合理安排采购和生产计划,使企业的收益最大。

解:设原油A,B的采购量分别为x, y,原油A用于生产成品油甲、乙的数量分别为x,,原油B用于生产成品油甲、乙的数量分别为x1,x,则采购原油
A,B的费用分别为f(x)和g(x),目标函数是收益最大,约束条件有采购量约束,生产能力约束、原油含量约束、成品油与原油的关系、资金约束。

建立规划模型如下:
max z = 5(X1+x1)+5.6(X2+x2)- f(x)-g(x)。

lingo与lindo


广西大学数学与信息科学学院 韦琳娜 ln_wln@
1 在Lingo中使用Lindo模型
• Lindo与Lingo都是LINDO系统公司开发的专门用 于求解最优化问题的软件包。与Lindo相比, Lingo软件主要具有两大优点: • (1)除具有LINDO的全部功能外,还可用于求解 非线性规划问题,包括非线性整数规划问题。 • (2)LINGO包含了内置的建模语言,允许以简 练、直观的方式描述较大规模的优化问题,模型 中所需的数据可以以一定格式保存在独立的文件 中。
X 1.272727 Y 1.636364
3)
.000000
.545455
NO.ITERATIDNS=2 DO RANGE (SENSITIVITY)ANALYSIS
?
:GO 减少的成本 LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1 ) 7.4545450 VARIABLE VALUE REDUCED COST X 1.272727 .000000 对偶价格 Y 1.636364 .000000 ROW SLACK OR SURPLUS DUAL PRICES 2) .000000 .090909 3) .000000 .545455 NO.ITERATIDNS=2 单纯形进行了2次迭代 DO RANGE (SENSITIVITY)ANALYSIS ?
注意LINDO软件在使用单纯形法时,目标函数行使用的 公式是: Z c1 x1 c2 x2 cn xn 0. 而我们第2章中使用 的公式是: Z c1 x1 c2 x2 cn xn 0. 因此它的检验数 值与我们第2章中介绍的差一个符号。
Lingo 入门
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档