LINGO模型实例及求解讲解学习
LINGO模型实例及求解分析
运 筹 学 实 验
钢管下料问题2
目标函数(总根数) 满足需求
Min x1 x2 x3
模式合理:每根 余料不超过3米
约束 条件
安 阳 师 范 学 院 数 学 与 统 计 学 院
1 2 3 4 5 6 安 阳 7
师 范 学 院 数 学 与 统 计 学 院
运 筹 学 实模式 验
钢管下料问题1
4米钢管根数 4 3 2 1 1 0 0 6米钢管根数 0 1 0 2 1 3 0
合理切割模式
8米钢管根数 0 0 1 0 1 0 2 余料(米) 3 1 3 3 1 1 3
为满足客户需要,按照哪些种合理模式,每种模式 切割多少根原料钢管,最为节省? 两种 标准 1. 原料钢管剩余总余量最小
每根原料钢管长19米
ห้องสมุดไป่ตู้
原料钢管总根数下界: 4 50 5 10 6 20 8 15 26 (最佳切割方式) 19
安 特殊生产计划(简单切割方式):对每根原料钢管 阳 师 范 模式1:切割成4根4米钢管,需13根; 学 院 模式2:切割成1根5米和2根6米钢管,需10根; 数 学 模式3:切割成2根8米钢管,需8根。 与 统 原料钢管总根数上界:31 26 x1 x2 x3 31 计 学 院 模式排列顺序可任定 1 2 3
r11 x1 r12 x2 r13 x3 50
r21 x1 r22 x2 r23 x3 10
16 4r11 5r21 6r31 8r41 19
16 4r12 5r22 6r32 8r42 19
lingo案例
LINGO是一种用于线性规划、整数规划、非线性规划、混合整数规划等数学建模和优化问题的软件工具。
它可以用于解决各种实际问题,包括生产计划、物流、资源分配、网络设计等。
以下是一个简单的LINGO案例,以帮助您了解如何使用LINGO进行优化建模和求解问题:**问题描述:**假设有一家制造公司,他们生产两种产品:A和B。
公司有两个工厂,每个工厂都有不同的生产能力和成本。
公司希望确定每个工厂应该生产多少产品A和B,以最大化利润,同时满足生产能力和市场需求的限制。
**问题数据:**- 工厂1的生产能力:最多生产500个A和300个B- 工厂2的生产能力:最多生产400个A和600个B- 产品A的利润:每个A产品的利润为30美元- 产品B的利润:每个B产品的利润为40美元- 生产一个A产品的成本:工厂1为10美元,工厂2为15美元- 生产一个B产品的成本:工厂1为12美元,工厂2为10美元- 市场需求:产品A的市场需求为600个,产品B的市场需求为800个**LINGO建模和求解:**在LINGO中,可以使用数学表达式来建立优化模型。
以下是一个LINGO模型的示例:```SETS:FACTORIES = 1..2;ENDSETSDATA:CAPACITY(FACTORIES) = 500 300400 600;PROFIT = 30 40;COST(FACTORIES) = 10 1512 10;DEMAND = 600 800;ENDDATAVARIABLES:X(FACTORIES) = 0;ENDVARIABLESMAX = @SUM(FACTORIES, PROFIT(FACTORIES) * X(FACTORIES))SUBJECT TOCAPACITY_CONSTRAINT(F)$(FACTORIES): @SUM(FACTORIES, COST(F, FACTORIES) * X(FACTORIES)) <= CAPACITY(F);DEMAND_CONSTRAINT(I)$(FACTORIES): @SUM(FACTORIES,X(FACTORIES)) >= DEMAND(I);POSITIVE_X(F)$(FACTORIES): X(F) >= 0;ENDSUBMODEL:MAX;SOLVE;```上述LINGO模型首先定义了SETS、DATA、VARIABLES和MAX,然后使用SUBJECT TO部分定义了约束条件,最后使用MODEL和SOLVE命令求解优化问题。
运筹学实例分析及lingo求解讲解
运筹学实例分析及lingo 求解一、线性规划某公司有6个仓库,库存货物总数分别为60、55、51、43、41、52,现有8个客户各要一批货,数量分别为35,37,22,32,41,32,43,38。
各供货仓库到8个客户处的单位货物运输价见表试确定各仓库到各客户处的货物调运数量,使总的运输费用最小。
解:设ijx 表示从第i 个仓库到第j 个客户的货物运量。
ij c表示从第i 个仓库到第j 个客户的单位货物运价,i a 表示第i 个仓库的最大供货量,j d 表示第j 个客户的订货量。
目标函数是使总运输费用最少,约束条件有三个:1、各仓库运出的货物总量不超过其库存数2、各客户收到的货物总量等于其订货数量3、非负约束数学模型为:∑∑===6181)(min i j ijij x c x f⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧≥===≤∑∑==08,,2,1,6,2,1,,..6181ij j i ij i j ij x j d x i a x t s 编程如下:model : Sets :Wh/w1..w6/:ai; Vd/v1..v8/:dj;links(wh,vd):c,x;endsetsData:ai=60,55,51,43,41,52;dj=35,37,22,32,41,32,43,38;c=6,2,6,7,4,2,5,94,9,5,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;EnddataMin=@sum(links(i,j):c(i,j)*x(i,j));@for(wh(i):@sum(vd(j):x(i,j))<=ai(i));@for(vd(j):@sum(wh(i):x(i,j))=dj(j));endGlobal optimal solution found.Objective value: 664.0000Total solver iterations: 0Variable Value Reduced Cost AI( W1) 60.00000 0.000000 AI( W2) 55.00000 0.000000 AI( W3) 51.00000 0.000000 AI( W4) 43.00000 0.000000 AI( W5) 41.00000 0.000000 AI( W6) 52.00000 0.000000 DJ( V1) 35.00000 0.000000 DJ( V2) 37.00000 0.000000 DJ( V3) 22.00000 0.000000 DJ( V4) 32.00000 0.000000 DJ( V5) 41.00000 0.000000 DJ( V6) 32.00000 0.000000 DJ( V7) 43.00000 0.000000 DJ( V8) 38.00000 0.000000 C( W1, V1) 6.000000 0.000000 C( W1, V2) 2.000000 0.000000 C( W1, V3) 6.000000 0.000000 C( W1, V4) 7.000000 0.000000 C( W1, V5) 4.000000 0.000000 C( W1, V6) 2.000000 0.000000 C( W1, V7) 5.000000 0.000000C( W2, V1) 4.000000 0.000000 C( W2, V2) 9.000000 0.000000 C( W2, V3) 5.000000 0.000000 C( W2, V4) 3.000000 0.000000 C( W2, V5) 8.000000 0.000000 C( W2, V6) 5.000000 0.000000 C( W2, V7) 8.000000 0.000000 C( W2, V8) 2.000000 0.000000 C( W3, V1) 5.000000 0.000000 C( W3, V2) 2.000000 0.000000 C( W3, V3) 1.000000 0.000000 C( W3, V4) 9.000000 0.000000 C( W3, V5) 7.000000 0.000000 C( W3, V6) 4.000000 0.000000 C( W3, V7) 3.000000 0.000000 C( W3, V8) 3.000000 0.000000 C( W4, V1) 7.000000 0.000000 C( W4, V2) 6.000000 0.000000 C( W4, V3) 7.000000 0.000000 C( W4, V4) 3.000000 0.000000 C( W4, V5) 9.000000 0.000000 C( W4, V6) 2.000000 0.000000 C( W4, V7) 7.000000 0.000000 C( W4, V8) 1.000000 0.000000 C( W5, V1) 2.000000 0.000000 C( W5, V2) 3.000000 0.000000 C( W5, V3) 9.000000 0.000000 C( W5, V4) 5.000000 0.000000 C( W5, V5) 7.000000 0.000000 C( W5, V6) 2.000000 0.000000 C( W5, V7) 6.000000 0.000000 C( W5, V8) 5.000000 0.000000 C( W6, V1) 5.000000 0.000000 C( W6, V2) 5.000000 0.000000 C( W6, V3) 2.000000 0.000000 C( W6, V4) 2.000000 0.000000 C( W6, V5) 8.000000 0.000000 C( W6, V6) 1.000000 0.000000 C( W6, V7) 4.000000 0.000000 C( W6, V8) 3.000000 0.000000 X( W1, V1) 0.000000 5.000000 X( W1, V2) 19.00000 0.000000 X( W1, V3) 0.000000 5.000000X( W1, V5) 41.00000 0.000000 X( W1, V6) 0.000000 2.000000 X( W1, V7) 0.000000 2.000000 X( W1, V8) 0.000000 10.00000 X( W2, V1) 1.000000 0.000000 X( W2, V2) 0.000000 4.000000 X( W2, V3) 0.000000 1.000000 X( W2, V4) 32.00000 0.000000 X( W2, V5) 0.000000 1.000000 X( W2, V6) 0.000000 2.000000 X( W2, V7) 0.000000 2.000000 X( W2, V8) 0.000000 0.000000 X( W3, V1) 0.000000 4.000000 X( W3, V2) 11.00000 0.000000 X( W3, V3) 0.000000 0.000000 X( W3, V4) 0.000000 9.000000 X( W3, V5) 0.000000 3.000000 X( W3, V6) 0.000000 4.000000 X( W3, V7) 40.00000 0.000000 X( W3, V8) 0.000000 4.000000 X( W4, V1) 0.000000 4.000000 X( W4, V2) 0.000000 2.000000 X( W4, V3) 0.000000 4.000000 X( W4, V4) 0.000000 1.000000 X( W4, V5) 0.000000 3.000000 X( W4, V6) 5.000000 0.000000 X( W4, V7) 0.000000 2.000000 X( W4, V8) 38.00000 0.000000 X( W5, V1) 34.00000 0.000000 X( W5, V2) 7.000000 0.000000 X( W5, V3) 0.000000 7.000000 X( W5, V4) 0.000000 4.000000 X( W5, V5) 0.000000 2.000000 X( W5, V6) 0.000000 1.000000 X( W5, V7) 0.000000 2.000000 X( W5, V8) 0.000000 5.000000 X( W6, V1) 0.000000 3.000000 X( W6, V2) 0.000000 2.000000 X( W6, V3) 22.00000 0.000000 X( W6, V4) 0.000000 1.000000 X( W6, V5) 0.000000 3.000000 X( W6, V6) 27.00000 0.000000 X( W6, V7) 3.000000 0.000000Row Slack or Surplus Dual Price 1 664.0000 -1.000000 2 0.000000 3.000000 3 22.00000 0.000000 4 0.000000 3.000000 5 0.000000 1.000000 6 0.000000 2.000000 7 0.000000 2.000000 8 0.000000 -4.000000 9 0.000000 -5.000000 10 0.000000 -4.000000 11 0.000000 -3.000000 12 0.000000 -7.000000 13 0.000000 -3.000000 14 0.000000 -6.000000 15 0.000000 -2.000000由以上结果可以清楚的看到由各仓库到各客户处的货物调运数量,由此得出的符合条件的最佳运货方案,而使运费最低,最低为664。
lingo讲座.ppt
Erlang繁忙概率。 4.@pel(a,x) 当到达负荷为a,服务系统有x个服务器且不允许排队时的Erlang
繁忙概率。 5.@pfd(n,d,x) 自由度为n和d的F分布的累积分布函数。
如果x<0返回-1;否则,返回1
@floor(x)
返回x的整数部分。
@smax(x1,x2,…,xn) 返回x1,x2,…,xn中的最大值
@smin(x1,x2,…,xn) 返回x1,x2,…,xn中的最小值
概率函数 1.@pbn(p,n,x) 二项分布的累积分布函数。当n和(或)x不是整数时,用线性插
复杂变量:集合
Lingo中没有数组,代之以集合及其属性
集是一群相联系的对象,这些对象也称为集的成员。 一个集可能是一系列产品、卡车或雇员。每个集成员 可能有一个或多个与之有关联的特征,我们把这些特征 称为属性。属性值可以预先给定,也可以是未知的, 有待于LINGO求解。例如,产品集中的每个产品可以有 一个价格属性;卡车集中的每辆卡车可以有一个牵引力 属性;雇员集中的每位雇员可以有一个薪水属性,也可 以有一个生日属性等等。
何时会提升速度?
与数据段不同的是:模型中的变量在这里赋值之后,在模型中 几乎一定会被改变!
(2)Lingo中的运算符与内部函数
三类运算符:算术运算符, 逻辑运算符, 关系运算符
优先级 最高
最低
运算符 #NOT# -(负号) ^ */ + -(减法) #EQ# #NE# #GT# #GE# #LT# #LE# #AND# #OR# <(=) = >(=)
运用Lingo进行线性规划求解(实例)
LinDo
输入模型 求解
点击求解按钮 结果
即可
♂返回
!注释内容,可用中文
输
!目标函数:最大-max,最小-min,大小写不分
max 3 x1+5 x2+4 x3
入
!约束,以subject to开始
模
subject to
型
2 x1+3 x2<=1500
2 x2+4 x3<=800
3*x1+2*x2+5*x3<=2 000; end
注意与LinDo的区别
目标函数中加等号 变量与系数之间用“*” Model:-end可省略
♂返回
LinGo 模 式
Model: Sets: !定义集合
Endsets
Data:
!定义数据
Enddata 调用函数与计算
end
♂返回
model: !开始
数
@sum(set(set_index_list)|condition:expressi
on)
@min(max)(set(set_index_list)|condition:ex pression)
♂返回
Global optimal solution found at
iteration:
3
结
Objective value: 2675.000
果
Variable Value
Reduced Cost
C( 1) 3.000000
0.000000
C( 2) 5.000000
0.000000
C( 3) 4.000000
0.000000
lingo学习实例讲解大全
§2 LINGO 中的集
对实际问题建模的时候,总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通 工具和雇工等等。LINGO 允许把这些相联系的对象聚合成集(sets)。一旦把对象聚合成集, 就可以利用集来最大限度的发挥 LINGO 建模语言的优势。
伯数字(0,1,…,9)组成的总长度不超过 32 个字符的字符串,且不区分大小写。 注意:该命名规则同样适用于集成员名和属性名等的命名。 Member_list 是集成员列表。如果集成员放在集定义中,那么对它们可采取显式罗列和
隐式罗列两种方式。如果集成员不放在集定义中,那么可以在随后的数据部分定义它们。 ① 当显式罗列成员时,必须为每个成员输入一个不同的名字,中间用空格或逗号搁开,
warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand; links(warehouses,vendors): cost, volume; endsets ! 目标 函数; min=@sum(links: cost*volume); ! 需求 约束; @for(vendors(J):
这里的 member1 是集的第一个成员名,memberN 是集的最末一个成员名。LINGO 将自动产生 中间的所有成员名。LINGO 也接受一些特定的首成员名和末成员名,用于创建一些特殊的集。 列表如下:
隐式成员列表格式
示例
所产生集成员
1..n
1..5
用LINGO求解线性规划的例子
附1:用LINGO求解线性规划的例子一奶制品加工厂用牛奶生产A1、A2两种奶制品,1桶牛奶可以在设备甲上用12小时加工成3公斤A1,或者在设备乙上用8小时加工成4公斤A2。
根据市场需求,生产的A1、A2能全部售出,且每公斤A1获利24元,每公斤A2获利16元。
现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间为480小时,并且设备甲每天至多能加工100公斤A1,设备乙的加工能力没有限制。
试为该厂制定一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:1)若用35元可以购买到1桶牛奶,应否作这项投资?若投资,每天最多购买多少桶牛奶?2)若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?3)由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?数学模型:设每天用x1桶牛奶生产A1 ,用x2桶牛奶生产A2目标函数:设每天获利为z元。
x1桶牛奶可生产3x1公斤A1,获利24*3x1,x2桶牛奶可生产4*x2公斤A2,获利16*4x2,故z=72x1+64x2约束条件:原料供应:生产A1、A2的原料(牛奶)总量不超过每天的供应50桶,即x1+x2≤50劳动时间:生产A1、A2的总加工时间不超过每天正式工人总的劳动时间480小时,即12x1+8x2≤480设备能力:A1的产量不得超过设备甲每天的加工能力100小时,即3x1≤100非负约束:x1、x2均不能为负值,即x1≥0,x2≥0综上所述可得max z=72x1+64x2s.t.x1+x2≤5012x1+8x2≤4803x1≤100x1≥0,x2≥0显然,目标函数和约束条件都是线性的,这是一个线性规划(LP),求出的最优解将给出使净利润最大的生产计划,要讨论的问题需要考虑参数的变化对最优解和影响,一般称为敏感性(或灵敏度)分析。
LINGO求解线性规划用LINGO求解线性规划时,首先在LINGO软件的模型窗口输入一个LP模型,模型以MAX或MIN 开始,按线性规划问题的自然形式输入(见下面例子所示)。
运用Lingo进行线性规划求解(实例)
LINGO
支持多种线性规划算法,包括单纯形法、网络算法等。
要点二
Gurobi
主要采用高级优化算法,如分支定界法、动态规划等。
LINGO与Gurobi的比较
LINGO
支持各种类型的约束条件,包括整数约束、非线性约束 等。
Gurobi
特别擅长处理大规模、非线性问题,但对线性问题的处 理能力稍弱。
LINGO
界面简洁,建模语言直观,易于学习和掌握。
Excel
需要结合多个函数和工具进行建模,对于复杂问题操作相对繁琐。
LINGO与Excel的比较
LINGO
针对优化问题进行了优化,求解速度 较快,精度较高。
Excel
求解速度较慢,对于大规模问题可能 无法得到满意的结果。
LINGO与Gurobi的比较
LINGO软件特点
高效求解
LINGO采用先进的求解算法,能够快速求解大规 模线性规划问题。
灵活建模
LINGO支持多种建模语言,用户可以根据需要选 择合适的语言进行建模。
图形界面
LINGO提供直观的图形界面,方便用户进行模型 设计和结果查看。
LINGO软件应用领域
生产计划
LINGO可用于制定生产计划,优化资源配置, 提高生产效率。
金融投资
LINGO可以用于金融投资组合优化,帮助投 资者实现风险和收益的平衡。
物流优化
LINGO可以帮助企业优化物流配送路线,降 低运输成本。
资源分配
LINGO可用于资源分配问题,如人员、设备、 资金的分配,以达到最优效果。
2023
PART 02
线性规划基本概念
REPORTING
线性规划定义
线性规划是数学优化技术的一种,它通过将问 题抽象为数学模型,利用数学方法来寻找最优 解。
Lingo的典型应用举例
4
A
2
3
4
5
6
7
8
9
10
料场的位置用(pxj,pyj)表示,日存储量用gj表示, 从料场j向工地i的日运输量为Cij。 则对问题(1), pxj,pyj是已知数,决策变量是Cij。 料场j到工地i的距离为:
( px j xi ) 2 + ( py j yi ) 2
目标函数是总的吨千米数最小,约束条件有两个。 一是满足各工地的日需求,二是各料场的总出货量不超 过日存储量。建立数学模型如下:
当前可供蔬菜养分含量( ) 表2.1 当前可供蔬菜养分含量(mg)和价格
养分 蔬菜 A1 A2 A3 A4 A5 A6 青 豆 胡萝卜 花 菜 卷心菜 芹 菜 土 豆 铁 0.45 0.45 0.65 0.4 0.5 0.5 6 每份蔬菜所含养分数量 磷 20 28 40 25 26 75 125 维生素A 维生素 维生素C 维生素 415 4065 850 75 76 235 12500 22 5 43 27 48 8 345 烟酸 0.3 0.35 0.6 0.2 0.4 0.6 5 每份价格 (元) 2.1 1.0 1.8 1.2 2.0 1.2
用0-1变量xij表示分配情况,xij=1表示指派第i个人 完成第j项任务,xij=0表示不分配。则上述问题可以表示 为如下0-1线性规划:
min
z = ∑∑ cij xij ,
i =1 j =1
n
n
n ∑ xij = 1, j = 1,2,..., n, i =1 s.t. n x = 1, i = 1,2,..., n, x = 0或1. ij ∑ ij j =1
min
z = ∑∑ Cij ( px j xi ) + ( py j yi ) ,
LINGO模型实例及求解
钢管下料问题2
目标函数(总根数) Mix1 nx2x3
约束 条件 满足需求
模式合理:每根 余料不超过3米
r1x11r1x22r1x33501 6 4 r 1 15 r2 16 r3 18 r4 119
r2x 11r2x 22r2x 33101 6 4 r1 25 r2 26 r3 28 r4 219
j 1
6
cij e j , j 1,2
i 1
决策变量: ci j,(xj,yj)~16维
非线性规划模型
LINGO模型的构成:4个段
集合段(SETS ENDSETS)
数据段(DATA ENDDATA)
LP:移到数据段
初始段(INIT ENDINIT) 目标与 约束段
局部最优:89.8835(吨公里 )
1)现有 2 料场,位于 A (5, 1), B (2, 7), 记(xj,yj),j=1,2, 日储量 ej 各有 20 吨。
目标:制定每天的供应计划,即从 A, B 两料场分别向
各工地运送多少吨水泥,使总的吨公里数最小。
决策变量:ci j min (料场j到工地i的
运量)~12维 s.t.
26
钢管下料
切割模式
按照客户需要在一根原料钢管上安排切割的一种组合。
4米1根 6米1根
8米1根
余料1米
4米1根 6米1根
6米1根
余料3米
8米1根
8米1根
余料3米
合理切割模式的余料应小于客户需要钢管的最小尺寸
钢管下料问题1 合理切割模式
模式 1 2 3 4 5 6 7
4米钢管根数 4 3 2 1 1 0 0
X3 8.000000
1.000000
《Lingo软件学习》PPT课件
xij
0或1
j 1, 2, , n, i j i=1,2, ,n, j i i, j 1, 2, n
三、职员时序安排模型
一项工作一周7天都需要有人(比如护士工作),每天 (周一至周日)所需的最少职员数为20、16、13、16、19、 14和12,并要求每个职员一周连续工作5天,试求每周所 需最少职员数,并给出安排。注意这里我们考虑稳定后的 情况。
LINGO中的函数有基本元算符,数学函数,金融函数,变 量限定函数等,全部函数请参照Edit|paste funtion。
算术运算符是针对数值进行操作的。LINGO提供了5种二元运算符:
^ 乘方 ﹡ 乘
/除
﹢加
﹣减
LINGO唯一的一元算术运算符是取反函数“﹣”
LINGO具有9种逻辑运算符: #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
68
min z
cij xij
i1 j 1
8
xij ai
i 1, 2, , 6
利用LINGO开发高级模型选讲课件
整数规划在解决组合优化问题时非常有用,例如排班问题、背包问题等。
01
02
03
03
CHAPTER
LINGO高级功能
LINGO中的集合类似于数学中的集合,用于表示一组元素。在LINGO中,可以使用集合来定义决策变量、约束条件等。
模型优化在许多领域都有广泛应用,如生产调度、物流运输、金融投资等。
通过将问题转化为线性方程组,寻找最优解,适用于资源分配、生产计划等问题。
线性规划
处理目标函数或约束条件中含有非线性项的问题,如最大化利润、最小化成本等。
非线性规划
在满足约束条件下,寻找整数解,常用于组合优化问题,如排班、选址等。
整数规划
利用LINGO开发高级模型选讲课件
目录
LINGO软件介绍LINGO建模基础LINGO高级功能LINGO求解算法LINGO模型优化LINGO软件应用案例
01
CHAPTER
LINGO软件介绍
高效求解器
LINGO内置了多种求解算法,可以快速求解各种类型的优化问题。
直观的建模语言
LINGO采用直观的建模语言,用户可以轻松地描述优化问题,无需编写复杂的算法代码。
线性规划问题可以通过单纯形法、椭球法等算法求解,LINGO内置了高效的求解器,可以快速找到最优解。
线性规划在生产计划、资源分配、投资决策等领域有广泛应用。
01
02
03
1
2
3
非线性规划求解算法用于解决目标函数或约束条件中包含非线性函数的问题。
LINGO支持采用梯度法、牛顿法、拟牛顿法等非线性规划求解算法,能够处理复杂的非线性问题。
LINGO的一个小例子及相关解释
LINGO的一个小例子及相关解释北航:孔继利第一部分:在LINGO Model窗口,键入如下的最优化模型:!目标函数;max=100*x+150*y;!约束条件;x<=80;y<=100;x*2+y<=180;1.从中可以看出,最优化模型包含三个要素:目标函数、变量、约束。
2.在LINGO的模型中,每一行都必须要用一个分号结尾。
如果没有这些分号,模型将无法求解。
3. LINGO模型的一个表达式可以分几行输入,但是表达式必须用一个分号结束。
如:max=100*x+150*y;4.在LINGO中为了提高模型的可读性,需要增加注释。
注释以“!”开始,以“;”结束。
5. LINGO不区分字母的大小写。
6. LINGO中的变量名都必须用字母A~Z开始,接下来是其他字符、数字或底线。
第二部分:点击“solve”按钮,在编译不出错的情况下,将给出“求解状态窗口”和“模型解答报告”。
该模型的“求解状态窗口”的如下图:其中,变量框(Variables)显示的是变量的总数。
它也显示非线性变量和整数变量的个数。
一般,非线性变量和整数变量的个数越多,求解越困难,耗费的时间越多。
模型中变量的数目不包含取定值的变量。
约束框(Constraints)显示的是模型约束的总数和非线性约束的总数。
非零框(Nonzeros)显示的是模型中非零系数的总数和非线性变量中非零系数的总数。
内存显示框(Memory Used)显示正在使用的模型所需的内存大小。
耗用时间框(Elapsed Runtime)显示用于编译和求解模型所需的时间。
最优状态框(Optimizer Status)显示最优解得状态。
State(状态):给出现行解的状态。
可能的结果有“全局最优解”、“局部最优解”、“可行解”、“不可行解”、“无界解”、“中断”和“未定”。
Iterations(跌代):求解的跌代次数。
Infeasibility(不可行):矛盾约束的数目。
数学建模lingo作业-习题讲解
基础题:1.目标规划问题最近,某节能灯具厂接到了订购16000套A 型和B 型节能灯具的订货合同,合同中没有对这两种灯具的各自数量做要求,但合同要求工厂在一周内完成生产任务并交货。
根据该厂的生产能力,一周内可以利用的生产时间为20000min ,可利用的包装时间为36000min 。
生产完成和包装一套A 型节能灯具各需要2min ;生产完成和包装完成一套B 型节能灯具各需要1min 和3min 。
每套A 型节能灯成本为7元,销售价为15元,即利润为8元;每套B 型节能灯成本为14元,销售价为20元,即利润为6元。
厂长首先要求必须按合同完成订货任务,并且即不要有足量,也不要有超量。
其次要求满意销售额达到或者尽量接近275000元。
最后要求在生产总时间和包装总时间上可以有所增加,但过量尽量地小。
同时注意到增加生产时间要比包装时间困难得多。
试为该节能灯具厂制定生产计划。
解:将题中数据列表如下:根据问题的实际情况,首先分析确定问题的目标级优先级。
第一优先级目标:恰好完成生产和包装完成节能灯具16000套,赋予优先因子p1;第二优先级目标:完成或者尽量接近销售额为275000元,赋予优先因子p2; 第三优先级目标:生产和包装时间的增加量尽量地小,赋予优先因子p3; 然后建立相应的目标约束。
在此,假设决策变量12,x x 分别表示A 型,B 型节能灯具的数量。
(1) 关于生产数量的目标约束。
用1d -和1d +分别表示未达到和超额完成订货指标16000套的偏差量,因此目标约束为1111211min ,..16000z d d s t x x d d -+-+=+++-=要求恰好达到目标值,即正、负偏差变量都要尽可能地小(2) 关于销售额的目标约束。
用2d -和2d +分别表示未达到和超额完成满意销售指标275000元的偏差值。
因此目标约束为221222min ,..1520-275000.z d s t x x d d --+=++=要求超过目标值,即超过量不限,但必须是负偏差变量要尽可能地小,(另外:d +要求不超过目标值,即允许达不到目标值,就是正偏差变量要尽可能地小) (3) 关于生产和包装时间的目标约束。
用Lingo求解整数(0-1)规划模型解读
1
2 3 4
6:00~9:00
9:00~12:00 12:00~15:00 15:00~18:00
70
80 65 90
5
6 7 8
18:00~21:00
21:00~24:00 24:00~3:00 3:00~6:00
80
100 120 90
现在在不考虑时间段中警员上班和下班的情况下, 巡逻大队至少需要多少警员才能满足值班需要? 设第 i 个班次开始上班的警员数为 xi .
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
温州大学城市学院 (3) 集合的循环函数 集合的循环函数可以使所有的元素重复完成一些操作.
函数 函数功能
@for
@sum @min @max
形成集合所有元素需满足的约束条件
计算集合中元素所在表达式的和 计算集合中元素所在表达式的最小值 计算集合中元素所在表达式的最大值
例4 maxM=@max(students(i):Math); !数学的最高分;
!定义集合;
!数据赋值;
!所有工作时间求和;
@for(ren(i):rent=@min(job(j):time(i,j))); !求每个人的最短工作时间; @for(job(j):jobt=@min(ren(i):time(i,j))); !求每份工作最短的用时;
线性规划问题的Lingo求解ppt课件
的顶点,如此迭代下去直到最优,或者判断不可行或者判断无界为止。
5.1.2 应用举例
例5-1(运输问题) 两个粮库A1,A2,向三个粮站B1,B2,B3调运大米,两个粮库现存大 米分别为4t,8t,三个两站至少需要大米分别为2t,4t,5t,两个粮库到三个粮站的距 离(km)如下表,求使运费最低。 B1 A1 12 B2 24 B3 8 库存 4
和最低) 问题分析:这是一个多阶段生产计划问题,设计多阶段存储,只需要制定1~4月份的 生产计划,不妨假定1月初无库存,4月底卖完,当月生产的不作为当月的库存,库 存量无限制。 模型建立(1): 设xi为第i月产量,di为销售量,ei为存储费,ci为单位成本,则目 标生产成本为:
1月到j月的总销售量,即:
线性规划问题 的Lingo求解
5.1 一般线性规划模型的建立与求解
5.1.1 基本理论
线性规划问题的标准形式是等约束的,用矩阵表示如下:
m in f ( x ) cx Ax b s .t . x 0
一般线性规划问题都可以通过引入松弛变量与剩余变量的方法化成标准形式。 线性规划模型的一般性质:
4
j1
c jx
j
第j月到j+1月的库存量(记作第j+1月的库存量)应该是1月到j月的总产量减去
x d
i 1 i i 1
j
j
i
总的库存费用为:
4
j j d ej i i 1 x j 1 i 1 i 1 3
3
总成本为:
j j c x de jx j i i j 1 j 1 j 1 i 1 i 1
相应的Lingo程序如下:
数学建模实验报告关于LINGO的解题方法及其思路分析
数学建模实验报告1.解析:此题属于0-1模型问题。
设队员序号为i ,泳姿为j ,记c ij 为队员i 第j 种泳姿的百米成绩,若选择队员i 参加泳姿j 的比赛,记x ij =1, 否则记xij =0;则有,目标函数为∑∑===4151j i ij ij x c Z Min ,每个人最多选泳姿为1,则有5,1,141=≤∑=i xj ij,每种泳姿有且仅有1人,则有4,1,151==∑=j xi ij。
若丁的蛙泳成绩退步及戊的自由泳成绩进步,则将c43的值和c54的值改变即可。
实验过程及运行结果如下:若丁的蛙泳成绩退步为1'15"2及戊的自由泳成绩进步57"5,计算结果如下:通过计算结果可知,在原数据的情况下,队伍的选择应该是甲参加自由泳,乙参加蝶泳,丙参加仰泳,丁参加蛙泳,戊不参加任何比赛,且最好的时间是253.2秒。
若丁的蛙泳成绩退步为1'15"2及戊的自由泳成绩进步57"5,则组成接力的比赛队伍调整为乙参加蝶泳,丙参加仰泳,丁参加蛙泳,戊参加自由泳,甲不参加任何比赛。
2.解析:此题属于线性规划问题。
已知某工厂用1A 、2A 两台机床加工1B 、2B 、3B 三种不同的零件,设1A 生产1B 、2B 、3B 的个数分别为1x 、2x 、3x ,2A 生产1B 、2B 、3B 的个数分别为4x 、5x 、6x ,则目标函数为min=1*2*1x +2*3*2x +3*5*3x +1*3*4x +1*3*5x +3*6*6x ;1A 加工的工时小于80小时,2A 加工的工时小于100小时,生产1B 、2B 、3B 的总数分别为70个、50个、20个。
实验过程及运行结果如下:通过计算结果可知,当1A 生产1B 、2B 、3B 的个数分别为68个、0个、4个,2A 生产1B 、2B 、3B 的个数分别为2个、50个、16个的时候,才能得到最低的成本640元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
根4米、1根5米和1根6米钢管, 共10根;
模式3:每根原料钢管切割成2 根8米钢管,共8根。 原料钢管总根数为28根。
运 筹 学
背包问题
实
验
某人打算外出旅游并登山,路程比较远,途中要
坐火车和飞机,考虑要带许多必要的旅游和生活用
品,例如照相机、摄像机、食品、衣服、雨具、书
籍等等,共n件物品,重量分别为ai,而受航空行
RR安阳1123
2.000000 0.000000
R师21 0.000000
R范22 1.000000
RRR学院数学233312
0.000000 1.000000 1.000000
R与33 0.000000
R统41 0.000000
RR计学院4423
0.000000 2.000000
0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
运 筹
决策变量
xi
~按第i
种模式切割的原料钢管根数(i=1,2,…7)
学
实验目标1(总余量)Min Z1 3x1 x2 3x3 3x4 x5 x6 3x7
模 4米 6米 8米 余 式 根数 根数 根数 料
14
0
03
约束 满足需求
4x1 3x2 2x3 x4 x5 50
23
1
对大规模问题,用模型的约束条件界定合理模式
安
阳 师
决策变量
(15维)
范
学 院 数
xi ~按第i 种模式切割的原料钢管根数(i=1,2,3)
学 与 统 计 学
r1i, r2i, r3i, r4i ~ 第i 种切割模式下,每根原料钢管 生产4米、5米、6米和8米长的钢管的数量
院
运
筹 学
钢管下料问题2
实
数
学 与
模式3:切割成2根8米钢管,需8根。
统 计
原料钢管总根数上界:31
学 院
模式排列顺序可任定
x1
26
x2
x1
x3
x2
x3
31
运 筹
LINGO求解整数非线性规划模型
学
实
L验ocal optimal solution found at iteration: 12211
模式1:每根原料钢管切割成3
计学规定切割模式不能超过3种。如何下料最节省?
院
运 筹 学
钢管下料
切割模式
实
验按照客户需要在一根原料钢管上安排切割的一种组合。
4米1根 6米1根
8米1根
余料1米
安 阳
4米1根
6米1根
6米1根
余料3米
师
范
学
院
数 学
8米1根
8米1根
余料3米
与
统
计学合理切割模式的余料应小于客户需要钢管的最小尺寸
院
运 筹 学
最优值:25。 与目标1的结果“共切割
学 院
按模式5切割5根,
27根,余料27米” 相比
数 学
按模式7切割5根,
与 统
共25根,余料35米
虽余料增加8米,但减少了2根
计
学 院
当余料没有用处时,通常以总根数最少为目标
运
筹 学
钢管下料问题2
实 验
增加一种需求:5米10根;切割模式不超过3种。
现有4种需求:4米50根,5米10根,6米20根,8米 15根,用枚举法确定合理切割模式,过于复杂。
范
学 院
r31x1 r32 x2 r33 x3
20
16 4r13 5r23 6r33 8r43 19
数 学 与
r41x1 r42 x2 r43 x3 15
统
整数约束: xi ,r1i, r2i, r3i, r4i (i=1,2,3)为整数
计
学
整数非线性规划模型
院
运
筹增加约束,缩小可行域,便于求解
验 目标函数(总根数) Min x1 x2 x3
约束 条件 满足需求
模式合理:每根 余料不超过3米
安 r11x1 r12 x2 r13 x3 50
阳 师
r21x1 r22 x2 r23 x3 10
16 4r11 5r21 6r31 8r41 19
16 4r12 5r22 6r32 8r42 19
0 1 x2 2x4 x5 3x6 20
安3
2
0
1 3 x3 x5 2x7 15
阳 师
4
1范5ຫໍສະໝຸດ 12 10 1
3 1
整数约束: xi 为整数
学 院
6
0
数 学
7
0
与 需 50
统 计
求
3 0 20
01 23 15
最优解:x2=12, x5=15, 其余为0;
最优值:27
学 院
按模式2切割12根,按模式5切割15根,余料27米
学 实
验 需求:4米50根,5米10 根,6米20根,8米15根 每根原料钢管长19米
原料钢管总根数下界: (最佳切割方式)
4
50
5
10 6 19
20
8
15
26
安 阳
特殊生产计划(简单切割方式):对每根原料钢管
师 范
模式1:切割成4根4米钢管,需13根;
学 院
模式2:切割成1根5米和2根6米钢管,需10根;
运
筹学目标2(总根数)
实
Min
Z2 x1 x2 x3 x4 x5 x6 x7
验
约束条 4x1 3x2 2x3 x4 x5 50 最优解:x2=15,
件不变 x2 2x4 x5 3x6 20
x5=5, x7=5,
x3 x5 2x7 15
其余为0;
安 阳 师 范
xi 为整数 按模式2切割15根,
Objective value:
28.00000
Variable Value Reduced Cost
根4米和1根6米钢管,共10根;
X1 10.00000
0.000000
X2 10.00000 X3 8.000000
2.000000 1.000000
模式2:每根原料钢管切割成2
R11 3.000000
运
筹 学 实
LINGO模型实例与求解
验
下料问题
背包问题
安
阳
师
范 学
选址问题
院
数
学 与
指派问题
统
计
学
院
运 筹 学 实 验
客户需求
下料问题
原料钢管:每根19米
4米50根
6米20根
8米15根
安 阳
问题1.
如何下料最节省 ?
节省的标准是什么?
师
范
学 院
问题2.
客户增加需求:
5米10根
数
学
与统由于采用不同切割模式太多,会增加生产和管理成本,
钢管下料问题1
合理切割模式
实模式
验
4米钢管根数
6米钢管根数
8米钢管根数
1
4
0
0
余料(米) 3
2
3
1
0
1
3
2
0
1
3
4
1
2
0
3
5
1
1
1
1
安6
0
3
0
1
阳7
0
0
2
3
师
范 学
为满足客户需要,按照哪些种合理模式,每种模式
院 数
切割多少根原料钢管,最为节省?
学
与 统
两种
1. 原料钢管剩余总余量最小
计 学
标准
院
2. 所用原料钢管总根数最少