第3讲 LINGO基本使用方法
课件:数学建模LINGO软件的使用方法

例:某公司需决定下四个季度的帆船生产量.下四个季度的
帆船需求量分别是40条,60条,75条,25条, 这些需求必须按 时满足.每个季度正常的生产能力是40条帆船,每条船的生产 费用为450美元. 每个季度末,每条船的库存费用为20美元. 假 定生产提前期为0, 初始库存为10条船. 如何安排生产可使总 费用最少?
集合的派生方法:
sets: A/1..5/:a1,a2,a3; B/1,2/:b1,b2; link(A,B):C; endsets data: a1=1,2,3,4,5; a2=6,5,4,3,2; a3=3,3,3,3,3; b1=5,6; b2=3,4; c=1 2 3 4 5 6 7 8 9 0; enddata
运算符:
max
约束名: 在 )之内
约束条件用st标记
LINGO模型特征
max= 系数与变量之间的乘号用 * 表示
在[ ]之内 省略
模型以MODEL:开始以END结束
LINGO模型要素: 集合段: 以SETS开始,以ENDSETS结束 数据段: 以DATA开始,以ENDDATA结束 初始段: 以INIT开始,以ENDINIT结束 计算段: 以DATA开始,以ENDCALC结束
集合循环函数:
@function(setname[(set-index-list) [∣condition ] ]: expression-list);
@FOR : 集合元素的循环函数(常用于约束条件) @MAX(MIN) : 集合属性的最大(小)值函数 @PROD : 集合属性的乘积函数 @SUM : 集合属性的求和函数 常用函数,文件输入输出函数等
LINGO运算符和函数:
算术运算符: + _ * / ^
LINGO软件的使用方法

2
2
答案
model: max=98*x1+277*x2-x1^2 -0.3*x1*x2-2*x2^2; x1+x2<100; x1<2*x2; @gin(x1); @gin(x2); end ※@gin()是调用的整数函数
第三节 在LINGO中使用集合
• 例题:某公司要决定下四个季度帆船生 产量。下四个季度需求量分别是40条, 60条,75条,25条。每季度生产能力40 条,生产费用400美元/条,如果加班生产 费用450美元/条,每季度库存费20美元/ 条。假定生产提前期为0,初始库存10条, 问如何安排生产总费用最小?
显式列举法 元素列表 隐式列举法
第四节 运算符及其优先级
• 算术运算符:+,-,*,/,^ • 逻辑运算符: #AND#,#OR#.#NOT#,#EQ#,#NE#,#GT#,# GE#,#LT#,#LE#,TRUE,FALSE • 关系运算符:<(即<=),=,>(即>=)
优先级
优先级 表: 最高 运算符 #NOT#,-(负号) ^ *,/ +,-(减号) #EQ#,#NE#,#GT#,#GE#, #LT#,#LE# #AND#,#OR# <,=,>
集合循环函数
• 用法:@function(setname:expression_list); • 具体如下:@for @sum @max @min
变量界定函数
• • • • @BND(L,X,U)-限制L<=X<=U @BIN(X)-限制X为0或1 @FREE(X)-取消对X的符号限制 @GIN(X)-限制X为整数
• • • • • • • • • 以model:开始,以end结束。 不区分大小写。 目标函数为max=。 语句以;结束。 数与变量之间的乘号不能省。 约束S.t.省略不写。 <与<=,>与>=是等价的。 非负约束可以不输入。 说明语句以!开头。
第三章LINGO软件的基本使用方法

1、 除具有 LINDO 的全部功能外,还可用于求解非线性规划问题,包括非线性整数规划问题。 2、 LINGO 包含了内置的建模语言,允许以简练、直观的方式描述较大规模的优化问题,模型
Objective Infeasibility
当前解的目标函数值
实数
当前约束不满足的总量(不是 实数(即使该值=0,当前解也可能不可行,因为这
不满足的约束的个数)
个量中没有考虑用上下界命令形式给出的约束)
Iterations
目前为止的迭代次数
非负整数
表 3-2 LINGO 状态窗口中关于扩展的求解器各项的含义
§3.1.2 在 LINGO 中使用 LINDO 模型
在 Windows 操作系统下双击 LINGO 图标或从 Windows 操作系统下选择 LINGO 软件运行,启 动 LINGO 软件,屏幕上首先显示如图 3-3 所示的窗口。
图 3-3 LINGO 初始界面
图 3-3 中最外层的窗口是 LINGO 软件的主窗口(LINGO 软件的用户界面),所有其他窗口都 在这个窗口之内。当前光标所在的窗口上标有“LINGO MODEL – LING01”,这就是模型窗口(Model Window),也就是用于输入 LINGO 优化模型(即 LINGO 程序)的窗口。初步观察可以看到,图 3-3 这个界面与 LINDO 软件的界面非常类似,只是在 LINGO 软件的主窗口中,最下面增加了一个 状态行(仔细观察,可以发现菜单和工具栏也略有区别)。目前,状态行最左边显示的是“Ready”, 表示 “准备就绪”;右下角现实的是当前时间,时间前面是当前光标的位置“Ln 1,Col 1”(即
LINGO教程(基本语法)

H
20
输出结果: 运行菜单命令“LINGO|Solve”
最大利润=11077.5
最优整数解 X=(35,65)
H
21
输出结果备注: LINGO是将它作为PINLP(纯整数非线性规划)来求解,因此找到的是局部最优解。
通过菜单 “WINDOW| Status Window”看到状态窗口,可 看到最佳目标值“Best Obj” 与问题的上界“Obj Bound”已 经是一样的,当前解的最大 利润与这两个值非常接近, 是计算误差引起的。如果采 用全局最优求解程序(后面介 绍),可以验证它就是全局最 优解。
•限定变量取整数值的语句为“@GIN(X1)”和“@GIN(X2)”,不可以写成“@GIN(2)”,否 则LINGO将把这个模型看成没有整数变量。
•LINGO中函数一律需要以“@”开头,其中整型变量函数(@BIN、@GIN)和上下界 限定函数(@FREE、@SUB、@SLB)与LINDO中的命令类似。而且0/1变量函数 是@BIN函数。
H
18
一个简单的LINGO程序
例 直接用LINGO来解如下二次规划问题:
Max98x127x72x120.3x1x22x22 1
s.t. x1x2100
2
x12x2
3
x1,x2 0 为整数
4
输入窗口如下:
H
19
程序语句输入的备注:
•LINGO总是根据“MAX=”或“MIN=”寻找目标函数,而除注释语句和TITLE语句外的其 他语句都是约束条件,因此语句的顺序并不重要 。
H
27
集合及其属性
• QUARTERS集合的属性
• DEM
• RP
• OP
• INV
第三章_LINGO软件使用入门

派生集: 派生集:
Setname(parent_set_list(源集列表))[/member_list/][:attribute_list];
例如
SETS: PRODUCT/A B/; MACHINE/M N/; WEEK/1..2/; ALLOWED( PRODUCT,MACHINE,WEEK); ENDSETS
表3.1 优先级 最高 运算符 #NOT# -(负号) ∧ * / + -(减法) #EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR# < = >
最低
二、基本的数学函数
在LINGO中写程序时可以调用大量的内部函数,这 些函数以“@”符号打头(类似调用命令).LINGO中 数学函数的用法与其它语言中的数学函数的用法类似, 主要有以下函数: @ABS(X):绝对值函数,返回X的绝对值. @COS(X):余弦函数,返回X的余弦值(X的单位是弧 @COS(X) 度). @EXP(X):指数函数,返回ex的值. @FLOOR(X):取整函数,返回X的整数部分(向最靠 近0的方向取整). @LGM(X):返回X的伽马(Gamma)函数的自然对数 值.
LINGO有5个主菜单: 有 个主菜单 个主菜单:
• • • • • File(文件) (文件) Edit(编辑) (编辑) LINGO(LINGO系统) 系统) ( 系统 Windows(窗口) (窗口) Help(帮助) (帮助)
这些菜单的用法与Windows下其他应用程序的 这些菜单的用法与 下其他应用程序的 标准用法类似,下面只对主菜单中LINGO系统的主 标准用法类似,下面只对主菜单中 系统的主 要命令进行简要介绍. 要命令进行简要介绍.
给出了工具栏的简要功能说明. 图1.2给出了工具栏的简要功能说明. 给出了工具栏的简要功能说明
lingo用法

LINGO使用指南LINGO是用来求解线性和非线性优化问题的简易工具。
LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。
§1 LINGO快速入门当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。
在主窗口内的标题为LINGO Model –LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。
下面举两个例子。
例1.1 如何在LINGO中求解如下的LP问题:在模型窗口中输入如下代码:min=2*x1+3*x2;x1+x2>=350;x1>=100;2*x1+x2<=600;然后点击工具条上的按钮即可。
例1.2 使用LINGO软件计算6个发点8个收点的最小费用运输问题。
产销单位运价如下表。
销地产地B1 B2 B3 B4 B5 B6 B7 B8 产量A1 6 2 6 7 4 2 5 9 60A2 4 9 5 3 8 5 8 2 55A3 5 2 1 9 7 4 3 3 51A4 7 6 7 3 9 2 7 1 43A5 2 3 9 5 7 2 6 5 41A6 5 5 2 2 8 1 4 3 52销量35 37 22 32 41 32 43 38使用LINGO软件,编制程序如下:model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/: capacity;vendors/v1..v8/: demand;links(warehouses,vendors): cost, volume; endsets!目标函数;min=@sum(links: cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I): volume(I,J))=demand(J)); !产量约束;@for(warehouses(I):@sum(vendors(J): volume(I,J))<=capacity(I)); !这里是数据;data:capacity=60 55 51 43 41 52;demand=35 37 22 32 41 32 43 38;cost=6 2 6 7 4 2 9 54 95 3 8 5 8 25 2 1 9 7 4 3 37 6 7 3 9 2 7 12 3 9 5 7 2 6 55 5 2 2 8 1 4 3;enddataend然后点击工具条上的按钮即可。
第3讲LINGO基本使用方法
新余学院 建模组
目前为止找到的可行 解的最佳目标函数值
有效步数
目标函数值的界
特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序)
上一页
下一页
Xinyu University MCM
优优优化化化建建建模模模
(2) min z 3x1 2x2 x3
s.t. 2x1 x2 x3 5, 4x1 3x2 x3 3 x1 x2 x3 2 x1, x2 , x3 0
2020/1/15
新余学院 建模组
上一页
下一页
Xinyu University MCM
二、在LINGO中使用集合
注意:用“[]”表示该部分内容可选。下同,不再赘述。
2020/1/15
新余学院 建模组
上一页
下一页
Xinyu University MCM
优优优化化化建建建模模模
例语1法可:以定se义tn一a个m名e[为/mstuedmenbts的er原_l始is集t/,][它:a具tt有ri成bu员tJeo_hlni、stJ]i;ll、Rose和Mike
MonthM..MonthN Jill 0 Oc1t4..Ja按n 列赋值 Oct,Nov,Dec,Jan
Rose 0 17 MonthYearM..MonthYeMariNkeOc1t201031.;.Jan2002
Oct2001,Nov2001,Dec2001 ,Jan2002
enddata
③ 集成员不放在集定义中,而在随后的数据部分来定义。
2020/1/15
新余学院 建模组
LINGO基本用法与运算函数
例如,目标函数中有求和表达式ΣCijXij(i从1 到10,j从1到20),若用直接输入的方式,将有 200个系数与200个变量相乘再相加,需要输入 长长一大串,既不便于输入,又不便于修改, 别人看不懂,可读性较差.
LINGO提供了建模语言,能够用较少语 句描述目标函数和约束条件,为建立大规 模数学规划模型提供了方便.我们以一个 运输规划模型为例说明其用法。
办法是用现成软件求解.LINGO是专门
用来求解各种规划问题的软件包,其功
能十分强大,是解决最优化问题的最佳
选择。
LINGO的基本用法和运算 函数
§1.1 LINGO 入门
LINGO的基本用法和运算 函数
一、概况
LINGO 是 美 国 LINDO 系 统 公 司 ( Lindo SystemInc)开发的求解数学规划系列软件中的一 个(其它软件为LINDO,GINO,What’s Best等 等),的主要功能是求解大型线性、非线性和整数 规 划 , 目 前 的 版 本 是 11.0 . 可 以 从 Internet 网 址 http://下载该软件的安装文件lingo11.exe,执行该 文件即可在计算机内安装LINGO 软件系统,首次 运行该软件时,要求用户输入密码,如果输入了正 确的密码,则该软件就成了正式版,如果密码不对 或不输入密码,则该软件就成为演示版.
1.目标函数(求某个数学表达式的最大值或最 小值);
2. 决策变量,即目标函数值取决于哪些变量;
3. 约束条件,即对变量附加一些条件限制(等 式或不等式).
LINGO的基本用法和运算 函数
例1:某工厂有两条生产线,分别用来生产 M和P两种型号的产品,利润分别为200元/个 和300元/个,生产线的最大生产能力分别为 每日100和120,生产线每生产一个M产品需 要1个劳动日进行调试、检测等工作,而每个 P产品需要2个劳动日,该厂每天只有160个 劳动日可用,假如原材料等其它条件不受限 制,问应如何安排生产计划,使获得的利润 最大?
(方案)Lingo的基本使用方法.ppt
最新.课件
2
优化模型和算法的重要意义
最优化: 在一定条件下,寻求使目标最大(小)的决策
最优化是工程技术、经济管理、科学研究、社会生活中 经常遇到的问题, 如:
结构设计 资源分配
生产计划
运输方案
解决优化问题的手段
经验积累,主观判断
作试验,比优劣
建立数学模型,求解最最新优.课策件 略
3
1. 确定常数 2. 识别类型
LINGO软件的求解过程
LINGO预处理程序 LP QP NLP IP 全局优化(选)
分枝定界管理程序 ILP IQP INLP
线性优化求解程序
非线性优化求解程序
1. 单纯形算法 2. 内点算法(选)
1、顺序线性规划法(SLP) 2、广义既约梯度法(GRG) (选) 3、多点搜索(Multistart) (选)
最新.课件
12
输出结果: 运行菜单命令“LINGO|Solve” 最大利润=11077.5
最优整数解 X=(35,65)
最新.课件
13Leabharlann 输出结果备注:LINGO是将它作为PINLP(纯整数非线性规划)来求解,因此找到 的是局部最优解。
通过菜单 “WINDOW| Status Window”看到状态窗 口,可看到最佳目标值 “Best Obj”与问题的上界 “Obj Bound”已经是一样的 ,当前解的最大利润与这两
最新.课件
8
LINGO 11.0功能增强,性能稳定,解答结果可靠。LINGO 软 件主要具有两大优点:
可用于求解经典的数学规划问题,包括非线性整数规划问题;
内置建模语言,允许以简练、直观的方式描述较大规模的优化 问题,所需的数据可以以一定格式保存在独立的文件中。
LINGO基本用法
LINGO基本用法1、概况 (1)2、LINGO的基本用法 (1)3、用LINGO编程语言建立模型 (2)4、建立LINGO/LINDO优化模型需要注意的几个基本问题 (3)5、对求解结果的分析 (3)LINGO基本用法LINGO是专门用来求解各种规划问题的软件包,其功能十分强大,是求解优化模型的最佳选择。
1、概况LINGO是美国LINDO系统公司开发的求解数学规划系列软件中的一个,它的主要功能是求解大型线性、非线性和整数规划问题,LINGO分为Demo、Solve Suite、Super、Hyper、Industrial、Extended等六种不同版本。
只有Demo版是免费的。
LINGO的不同版本对模型的变量总数,非线性变量的数目,整形变量数目和约束条件的数量作出了不同的限制。
LINGO的主要功能:(1) 既能求解线性规划问题,也有较强的求解非线性规划问题的能力;(2) 输入模型简练直观(3) 运行速度快,计算能力强(4) 内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型(5) 将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型(6) 能方便地与Excel,数据库等其他软件交换数据2、LINGO的基本用法通常一个优化模型由下列三部分所组成:(1) 目标函数:一般表示成求某个数学表达式的最大值或最小值。
(2) 决策变量:目标函数值取决于哪些变量(3) 约束条件:对变量附加一些条件限制(通常用等式或不等式表示)注:LINGO默认所有决策变量都非负,因而变量非负条件可以不必输入。
LINGO的语法规定:(1) 求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示;(2) 每个语句必须以分号";"结束,每行可以有多个语句,语句可以跨行;(3) 变量名称必须以字母(A~Z)开头,由字母,数字(0~9)和下划线所组成,长度不超过32个字符,不区分大小写;(4) 可以给语句加上标号,例如[OBJ] MAX= 20*X1+300*X2;(5) 以!开头,以;号结束的语句是注释语句;(6) 如果对变量的取值范围没有作特殊说明,则默认所有决策变量都非负;(7) LINGO模型以语句“MODEL:”开头,以“END”结束,对于比较简单的模型,这两个语句可以省略。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对偶(影子)价格
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
一个简单的LINGO程序
例 直接用LINGO来解如下二次规划问题:
2 Max 98x1 277x2 x12 0.3x1 x2 2 x2 s.t. x1 x2 100 x1 2 x2 x1 , x2 0 为整数
粘贴 查找 保存文件 匹配括号 显示解答 在线帮助 关闭所有窗口
剪切 打印文件
取消操作
定位某行
模型图示 上下文相 关的帮助 窗口后置 求解模型
打开文件
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
程序特点:
(1)LINGO中模型以“MODEL:”开始,以“END” 结束。 对简单的模型,这两个语句可以省略。 (2)LINGO中语句是模型的基本单位,每个语句都必须以分号“;”结尾, 尽可能地每一行只写一个语句; (3)在系数与变量之间必须增加运算符“*”(即乘号不能省略);. (4)不区分大小写字母;但LINGO中的变量和行名可以超过8个 字符,只是不超过32个字符,且仍必须以字母开头. (5)变量可以放在约束条件的右端,为了提高求解效率,应尽可 能地采用线性表达式(目标函数、约束条件); (6)LINGO中已假定所有变量非负,但可以用@free,@sub,@slb等函数取消 非负限制; (7)感叹号“!”开始的是注释语句,也必须以分号“;”结尾.
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
例2 ② 隐式罗列:不必罗列出每个集成员。 !集部分; 可采用语法:setname/member1..memberN/[: attribute_list]; sets: students:sex,age; 未指定集合中的成员 隐式成员列表格式 示例 所产生集成员 endsets 1..n 1..5 1,2,3,4,5 !数据部分; StringM..StringN Car2..car14 Car2,Car3,Car4,…,Car14 data: DayM..DayN Mon,Tue,Wed,Thu,Fri students,sex,age= John 1 Mon..Fri 16 0 Oct..Jan 14 MonthM..MonthN Jill 按列赋值 Oct,Nov,Dec,Jan Rose 0 17 Oct2001,Nov2001,Dec2001 MonthYearM..MonthYearN Oct2001..Jan2002 Mike 1 13; ,Jan2002 enddata ③ 集成员不放在集定义中,而在随后的数据部分来定义。
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
第3讲:LINGO基本使用方法
LINGO入门 在LINGO中使用集合
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
一、LINGO入门 1.1 LINGO的主要特色 LINGO软件主要的两大优点: (1) 除具有LINDO的全部功能外,还可以用于求解非线性规划问题; (2) LINGO包含有内置的建模语言,可以以简练、直观的方式描述 大规模的优化问题. 例如:对于具有1000个变量的优化问题,LINDO必须设1000个变 量,而且必须一个一个地输入,而LINGO不必如此. 1.2 LINGO的界面
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
目标函数最优值 最优的单纯型表中目标 单纯型法在2次迭代后得到最优解
目标函数取得最优值时的变量值
函数行中变量对应的系 数(即检验数);其中 基变量的该值为0;非 基变量的该值不为0,
பைடு நூலகம்
约束对应的松弛变量的值,此处说明对最优 解而言,两约束均取等号,即为“紧约束”.
2013-7-16
新余学院
建模组
• Elapsed Runtime (hh:mm:ss) (求解花费的时间)
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
• 运行状态窗口
求解 器(求 解程 序)状 态框
当前模型的类型 :LP,QP,ILP,IQP,PILP, PIQP,NLP,INLP,PINLP (以I开头表示 IP,以PI开头表示PIP) 当前解的状态 : "Global Optimum", "Local Optimum", "Feasible", "Infeasible“(不可行), 解的目标函数值 "Unbounded“(无界), "Interrupted“(中断), "Undetermined“(未确定)
•LINGO中函数一律需要以“@”开头,其中整型变量 函数(@BIN、@GIN)和上下界限定函数(@FREE、 @SUB、@SLB)与LINDO中的命令类似。而且0/1变 量函数是@BIN函数。
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
• 运行状态窗口
Variables(变量数量): 变量总数(Total)、 非线性变量数(Nonlinear)、 整数变量数(Integer)。 Constraints(约束数量): 约束总数(Total)、 非线性约束个数(Nonlinear)。 Nonzeros(非零系数数量): 总数(Total)、 非线性项系数个数(Nonlinear)。 Generator Memory Used (K) (内存使用 量)
当前约束不满足的总量(不是不 满足的约束的个数):实数(即使 该值=0,当前解也可能不可行, 因为这个量中没有考虑用上下界 命令形式给出的约束)
目前为止的 迭代次数
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模 使用的特殊求解程序 : B-and-B (分枝定界算法) Global (全局最优求解程序) Multistart(用多个初始点求解的程序)
语法:setname[/member_list/][:attribute_list];
• attribute_list:可选,属性列表
① 显式罗列:每个成员用不同的名字代表,中间用空格或逗号 搁开,允许混合使用。 ② 隐式罗列:不必罗列出每个集成员。 语法:setname/member1..memberN/[: attribute_list]; 注:这里的member1是集的第一个成员名,memberN是集的最末 一个成员名。LINGO将自动产生中间的所有成员名。LINGO也 接受一些特定的首成员名和末成员名,用于创建一些特殊的集。 列表如下:
• 运行状态窗口
目前为止找到的可行 解的最佳目标函数值 扩展 的求 解器 (求解 程序) 状态 框
2013-7-16
目标函数值的界 特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序)
有效步数
新余学院
建模组
上一页
下一页
通过菜单 “WINDOW| Status Window”看到状态窗 口,可看到最佳目标值 “Best Obj”与问题的上界 “Obj Bound”已经是一样的, 当前解的最大利润与这两个 值非常接近,是计算误差引 起的。如果采用全局最优求 解程序(后面介绍),可以验 证它就是全局最优解。
2013-7-16
输出结果: 运行菜单命令“LINGO|Solve”
最大利润=11077.5
最优整数解 X=(35,65)
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
输出结果备注: LINGO是将它作为PINLP(纯整数非线性规划)来求解, 因此找到的是局部最优解。
优化 建 模 优化建模 优 化 建模
二、在LINGO中使用集合
2.1 为什么使用集
集是LINGO建模语言的基础,是程序设计最强有力的基本构 件。借助于集,能够用一个单一的、长的、简明的复合公式表示 一系列相似的约束,从而可以快速方便地表达规模较大的模型。
2.2 什么是集 集:是一群相联系的对象,这些对象也称为集的成员。 属性:每个集成员一个或多个与之有关联的特征 一个集可能是一系列产品、卡车或雇员等。
原始集(primitive set):一个原始集是由一些最基本的对象组成的。
2013-7-16
新余学院
建模组
上一页
下一页
Xinyu University MCM
优化 建 模 优化建模 优 化 建模
2.3 模型的集部分(可选部分)
集部分以关键字“sets:”开始,以“endsets”结束。 一个模型可以没有集部分,或有一个简单的集部分,或有多 个集部分。集部分可以放置于模型的任何地方。但是一个集及其 属性在模型约束中被引用之前必须定义了它们 2.3.1 定义原始集 为了定义一个原始集,必须详细声明: • 集的名字 • 集的成员(可选) • 集成员的属性(可选) 语法:setname[/member_list/][:attribute_list];