LINGO练习题答案

合集下载

lingo练习题

lingo练习题

1:SAILCO 公司需要决定下四个季度的帆船生产量。

下四个季度的帆船需求量分别是40 条,60 条,75 条,25 条,这些需求必须按时满足。

每个季度正常的生产能力是40 条帆船,每条船的生产费用为400 美元。

如果加班生产,每条船的生产费用为450 美元。

每个季度末,每条船的库存费用为20 美元。

假定生产提前期为0,初始库存为10 条船。

如何安排生产可使总费用最小?
例2:某公司有6 个建筑工地要开工,每个工地的位置(用平面坐标a, b 表示,距离单位:公里)及水泥日用量d(吨)依次为3,5,4,7,6,11。

目前有两个临时料场位于P (5, 1), Q (2, 7) ,日储量各有20 吨。

假设从料场到工地之间均有直线道路相连,试制定每天的供应计划,即从A, B 两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。

为了进一步减少吨公里数,打算舍弃两个临时料场,改建两个新的,日储量仍各为20吨,问应建在何处,节省的吨公里有多大。

例3 最短路问题在公路网中,司机希望找到一条从一个城市到另一个城市的最短路. 假设图表示的是该公路网, 节点表示货车可以停靠的城市,弧上的权表示两个城市之间的距离(百公里). 那么,货车从城市S 出发到达城市T,如何选择行驶路线,使所经过的路程
最短?。

线性规划问题及Lingo求解

线性规划问题及Lingo求解

1、某钢管零卖商从钢管厂进货。

将钢管按客户需求切割后出厂,从厂进货时得到原料钢管厂都19米。

(1)现有一客户需50根4米,20根6米,15根8米,如何下料才能最省?(2)若零售商采用不同切割方法太多,将会导致生产过程复杂化,从而增加生产和管理成本,所以零售商采用不同切割方法不超过3种,此外,该客户除许(1 )中三种钢管还需10根5米钢管。

如何下料最省?答:(1)分析问题:问题的目标就是如何下料最省,考虑到一根钢管如何进行切割才会使用料最省。

可以想到以下的方案。

假设19米的钢管有无限多,下面给出此问题的建模过程。

建模:根据题意,由一根钢管切割出要求( 1 )的共有七种方案,如上表所示。

现设:有x1根钢管按方案一进行切割,有x2根钢管按方案二进行切割有x3根钢管按方案三进行切割,有x4根钢管按方案四进行切割,有x5根钢管按方案五进行切割,有x6根钢管按方案六进行切割,有x7根钢管按方案七进行切割。

目标函数:若以切割后剩余总量最少为目标则:min( 3x1+x2+3x3+x4+3x5+3x6+x7 )若以原料钢管总根数最少为目标则:min( x1+x2+x3+x4+x5+x6+x7)约束条件:切割出是4米的钢管数目:4x1+x4+x5+2x6+3x7>=50切割出是6米的钢管数目:3x2+x4+2x5+x7>=20切割出是8米的钢管数目:2x3+x4+x6>=15综合上述分析可得如下线性规划模型:min Z=3x1+x2+3x3+x4+3x5+3x6+x7s.t.厂4x1+x4+x5+2x6+3x7>=503x2+x4+2x5+x7>=20<2x3+x4+x6>=15Xj>=0,j=1,2,3 (7)运用LINGO进行运算得出以下结果:Global optimal solution found at iteration:Objective value: 26.66667「iabl e Value Reduced Cost X1 0.000000 1.666667 X2 0.000000 1.000000 X3 0.000000 1.666667 X4 15.00000 0.000000 X5 0.000000 2.666667 X6 0.000000 1.666667 X711.666670.000000Row Slack or Surplus Dual Price1 26.66667 -1.0000002 0.000000 -0.3333333 36.666667 0.000000 40.000000-0.6666667结果用15根钢管按方案四进行切割,有 12根钢管按方案七进行切割。

lingo教程(有样例)

lingo教程(有样例)

Lingo 模型Lingo 是较好的最优化建模工具(详细使用说明见Lingo模型参考),Lingo 模型由两部分组成:(一) 目标(objective):最优化目标。

(二)限制条件(constraint). (下载网址:)1.我的食谱由四种食品组成:,果仁巧克力,冰淇淋,可乐,奶酪.一块果仁巧克力价格为50 美分,一杯冰淇淋价格为20美分, 一瓶可乐价格为30美分, 一快奶酪价格为80美分.我每天的营养最低需求: 500 卡路里,6 盎司巧克力,10 盎司〔讲评〕师:该问题的目标是什么?生:食谱中饮食的成本最低师:限制条件?生:满足每天卡路里,巧克力,糖,脂肪的最低需求师:选择哪些变量?生:果仁巧克力,冰淇淋,可乐,奶酪的数量( 参考模型:lingo-LP1.lg4)讨论:如果巧克力冰淇淋的价格变为原来的两倍,食谱将如何改动?练习:1.1.你决意生产两种糖果:硬糖和软糖,糖果仅由糖,坚果,和巧克力制成.你现在有100盎司糖,20盎司坚果,30盎司巧克力.软糖须含有至少20%的坚果.硬糖须含有至少10%的坚果和10%的巧克力.一盎司的软糖售价为25美分, 一盎司的硬糖售价为20美分. 试安排生产计划( 参考模型:lingo-LP1-1.lg4)1.2.某公司生产 A, B, C 三种产品,售价分别为: A, $10;B,$56;C,$100.生产一单位A,需1小时的劳力; 生产一单位 B,需2小时的劳力加上2单位的A; 生产一单位 C,需3小时的劳力加上1单位的B.现有40小时的劳力, 试安排生产计划.( 参考模型:lingo-LP1-2.lg4)2.Donovan公司生产一种电子产品.已知明年四季度的需求(须按时交货):季度1,4000件; 季度2,2000件; 季度3,3000件; 季度4,10000件;公司员工每年有一个季度休假,每个员工年薪为$30,000,每季度最多可生产500件产品.每个季度末公司须为每件存货付存储费$30.公司现有600件产品,如何安排明年的生产?〔讲评〕师:该问题的目标是什么?生:员工年薪与存储费总和最低师:限制条件?生:每季度初的库存与该季度生产量的和须满足该季度的需求师:如何表示员工总数?生甲:各季度上班的员工x(1),x(2),x(3),x(4)总和生乙:甲的总和是员工总数的3倍,因为每个员工工作3个季度。

数学建模实习:Lingo程序编程题

数学建模实习:Lingo程序编程题

以下问题要求在作业本上写出Lingo程序及求解结果。

1、某电子厂生产三种产品供应给政府部门:晶体管、微型模块、电路集成器。

该工厂从物理上分为四个加个区域:晶体管生产线、电路印刷与组装、晶体管与模块质量控制、电路集成器测试与包装。

生产中的要求如下:生产一件晶体管需要占用晶体管生产线0.1h的时间,晶体管质量控制区域0.5h的时间,另加0.70元的直接成本;生产一件微型模块需要占用质量控制区域0.4h的时间,消耗3个晶体管,另加0.5元的直接成本;生产一件电路集成器需要占用电路印刷区域0.1h的时间,测试与包装区域0.5h的时间,消耗3个晶体管、3个微型模块,另加2.00元的直接成本。

假设三种产品(晶体管、微型模块、电路集成器)的销售量是没有限制的,销售价格分别为2元,8元,25元。

在未来的一个月里,每个加工区域均有200h的生产时间可用,请建立数学模型,帮助确定生产计划,使工厂的收益最大。

2、求课本P55页上习题4的解,注意班次1与班次6中护士是有交集的。

3、选址问题
某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里),水泥日用量di (单位:吨)
1)现有2料场,位于A (5, 1), B (2, 7),
记(x j,y j),j=1,2, 日储量e j各有20吨。

目标:制定每天的供应计划,即从A, B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。

2)改建两个新料场,需要确定新料场位置(xj,yj)和运量cij,在其它条件不变下使总吨公里数最小。

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

用Lingo求解整数(0-1)规划模型
要求:
1、建立数学模型, 2、用lingo循环语句编写程序.
上机作业题 人员安排问题
某城市的巡逻大队要求每天的各个时间段都有一
定数量的警员值班, 以便随时处理突发事件, 每人连续 工作6h, 中间不休息. 如表所示是一天8个班次所需值 班警员的人数情况统计:
班次
时间段
人数 班次
时间段
人数
1
6:00~9:00
例 4 求函数 z x 22 y 22 的最小值.
例 4 求函数 z x 22 y 22 的最小值.
解: 编写Lingo 程序如下:
min=(x+2)^2+(y-2)^2; @free(x); 求得结果: x=-2, y=2
二、Lingo 循环编程语句
(1) 集合的定义 包括如下参数: 1) 集合的名称.
12,8 3,0; enddata
!数据赋值;
max=@sum(bliang(i):a(i)*x(i)); !目标函数;
@for(yshu(j):@sum(bliang(i):x(i)*c(j,i))<=b(j));
!约束条件;
例6:人员选拔问题
队员号码 身高 / m 位置 队员号码 身高 / m 位置
例 2 用Lingo软件求解整数规划问题
min z 2 x1 5 x2 3 x3
4 x1 x2 x3 0
2
x1
4 x2
2 x3
2
x1
x2
x3
2
xi 0 且取整数, i 1, 2, 3
Lingo 程序:
min=2*x1+5*x2+3*x3; -4*x1-x2+x3>=0; -2*x1+4*x2-2*x3>=2; x1-x2+x3>=2; @gin(x1);@gin(x2);@gin(x3);

LINGO练习

LINGO练习

∑=nj i ijij xc1,1 解非线性方程组⎪⎩⎪⎨⎧=+++=+4222222y y x x y x2 装配线平衡模型 一条装配线含有一系列的工作站,在最终产品的加工过程中每个工作站执行一种或几种特定的任务。

装配线周期是指所有工作站完成分配给它们各自的任务所化费时间中的最大值。

平衡装配线的目标是为每个工作站分配加工任务,尽可能使每个工作站执行相同数量的任务,其最终标准是装配线周期最短。

不适当的平衡装配线将会产生瓶颈——有较少任务的工作站将被迫等待其前面分配了较多任务的工作站。

问题会因为众多任务间存在优先关系而变得更复杂,任务的分配必须服从这种优先关系。

这个模型的目标是最小化装配线周期。

有2类约束:① 要保证每件任务只能也必须分配至一个工作站来加工; ② 要保证满足任务间的所有优先关系。

例 有11件任务(A —K )分配到4个工作站(1—4),任务的优先次序如下图。

每件任务所花费的时间如下表。

3 旅行售货员问题(又称货郎担问题,Traveling Salesman Problem )有一个推销员,从城市1出发,要遍访城市2,3,…,n 各一次,最后返回城市1。

已知从城市i 到j 的旅费为ij c,问他应按怎样的次序访问这些城市,使得总旅费最少?可以用多种方法把TSP 表示成整数规划模型。

这里介绍的一种建立模型的方法,是把该问题的每个解(不一定是最优的)看作是一次“巡回”。

在下述意义下,引入一些0-1整数变量:ij x ⎩⎨⎧≠=其它情况,且到巡回路线是从,0,1j i j i 其目标只是使为最小。

这里有两个明显的必须满足的条件:访问城市i 后必须要有一个即将访问的确切城市;访问城市j 前必须要有一个刚刚访问过的确切城市。

用下面的两组约束分别实现上面的两个条件。

ni xnj ij,,2,1,11 ==∑=nj xni ij,,2,1,11==∑=到此我们得到了一个模型,它是一个指派问题的整数规划模型。

用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处理实例多目标问题精品教育文档

数学建模必备知识lingo处理实例多目标问题精品教育文档

•.LNG:文本格式的模型文件,不保存模型中的格式信 息(如字体、颜色、嵌入对象等);
•.LDT:LINGO数据文件; •.LTF:LINGO命令脚本文件; •.LGR:LINGO报告文件; •.LTX: LINDO格式的模型文件;
除“LG4”文件外, 另外几种格式的文件 都是普通的文本文件, 可以用任何文本编辑 器打开和编辑。
本例中目标函数也可以等价地写成
SUM(QUARTERS(i): 400*RP(i) +450*OP(i) +20*INV(i) ),
“SUM”相当于求和符号“∑”, 由于本例中目标函数对集合QUARTERS的所有元素(下 标) 都要求和,所以可以将下标i省去。
约束的定义方式
循环函数 FOR(集合(下标):关于集合的属性的约束关系式)
除具有除具有lindo的全部功能外除具有除具有lindo的全部功能外的全部功能外的全部功能外还可用于求解非线还可用于求解非线还可用于求解非线还可用于求解非线?内置建模语言允许以简练直观的方式描述较内置建模语言允许以简练直观的方式描述较大规模的优化问题所需的数据可以以一定格式大规模的优化问题所需的数据可以以一定格式保存在独立的文件中
约束的定义方式
本例中,对于产品数量的平衡方程,由于下标i=1时的 约束关系式与i=2,3,4时有所区别,所以不能省略下 标“i”。实际上,i=1时要用到变量INV(0),但定义 的属性变量中INV不包含INV(0)(INV(0)=10是一个已 知的)。 为了区别i=1和i=2,3,4,把i=1时的约束关系式单独写 出,即“INV(1)=10+RP(1)+OP(1)-DEM(1);” ; 而对i=2,3,4对应的约束,对下标集合的元素(下标i) 增加了一个逻辑关系式“i#GT#1”(这个限制条件与集 合之间有一个竖线“|”分开,称为过滤条件)。 限制条件“i#GT#1”是一个逻辑表达式,意思就是i>1; “#GT#”是逻辑运算符号,意思是“大于(Greater Than的字首字母缩写)” 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、用LINGO软件解方程组221212222359xxxx。 2、用LINGO软件解方程组1211221222/64xxxxx。 3、用LINGO软件解线性规划问题

4、用LINGO软件解二次规划问题 且12,xx都是整数 5、用LINGO软件解下列问题 (1)max 12z=xx

12121212

..26,4520,,0,,stxxxxxxxx为整数

(2) min 2212z=x-3-2x()()

2212

1212

..-50,24,,0stxxxxxx。

(3) min 2212z=x++x(1)(1)

2212

2

..-20,1stxxx。

max23,..4310,3512,,0.zxystxyxyxy

22121122

121212

max982770.32,..100,2,,0,xxxxxxstxxxxxx 6、用LINGO软件分别产生序列 (1){1,3,5,7,9,11};(2){1,4,9,16,25,36};(3)1111{1,,,,}6122030.

7、已知向量c={1,3,0.5,7,5,2},用LINGO软件解答下列问题。

(1)求向量c前5个数中的最大值;(2)求向量c后4个数平方中的最小值;(3)求向量

c

中所有数的和。

8、某学校游泳队要从5名队员中选4名参加4乘100米混合泳接力赛。 5名队员4种泳姿的百米成绩(单位:秒) ----------------------------------------------------------------------------------- 李 王 张 刘 赵 蝶泳 66.8 57.2 78 70 67.4 仰泳 75.6 66 67.8 74.2 71 蛙泳 87 66.4 84.6 69.6 83.8 自由泳 58.6 53 59.4 57.2 62.4 ----------------------------------------------------------------------------------- 如何选拔? (1)请建立“0----1规划”模型; (2)用Lingo求解。

9、某帆船制造公司要决定下两年八个季度的帆船生产量。八个季度的帆船需求量分别是40条、60条、75条、25条、30条、65条、50条、20条,这些需求必须按时满足,既不能提前也不能延后。该公司每季度的正常生产能力是40条帆船,每条帆船的生产费用为400美圆。如果是加班生产的,则每条生产费用为450美圆。帆船跨季度库存的费用为每条20美圆。初始库存是10条帆船。如何生产? 10、现要将8名同学分成4个调查队(每组2人)前往4个地区进行社会调查。假设他们任意两人组成一队的工作效率为已知,见下表(由于对称性,只须列出

上三角部分):

任意两人组成一队的工作效率 学生 S1 S2 S3 S4 S5 S6 S7 S8 S1 9 3 4 2 1 5 6 S2 1 7 3 5 2 1 S3 4 4 2 9 2 S4 1 5 5 2 S5 8 7 6 S6 2 3 S7 4 问如何组队可以使总效率最高? 参考答案 1、MODEL: X1^2+2*X2^2=22;3*X1-5*X2=-9; @gin(x1);@gin(x2); END

2、MODEL: X1^0.5-2*x1*X2=-2;X1^2=64*X2; END

3、MODEL: max=2*x+3*y; 4*x+3*y<=10; 3*x+5*y<=12; END 4、MODEL: max=98*x1+277*x2-x1^2-0.3*x1*x2-2*x2^2; x1<=2*x2;x1+x2<=100; @gin(x1); @gin(x2); END 5、(1) MODEL: max=x1+x2; 2*x1+x2<=6; 4*x1+5*x2<=20; @gin(x1); @gin(x2); END (2) MODEL: min=(x1-3)^2+(x2-2)^2; x1^2+x2^2<=5; x1+2*x2<=4; @gin(x1); @gin(x2); END (3)MODEL:

min=(x1+1)^2+(x2+1)^2; x1^2+x2^2<=2; x2>=1;

END 6、(1)model: sets: number/1..6/:x; endsets @for (number(I): x(I)=2*I-1); end

(2)model: sets: number/1..6/:x; endsets @for (number(I): x(I)=I^2); end (3) model: sets: number/1..5/:x; endsets @for (number(I): x(I)=1/(I*(I+1))); end 7、(1)model: data: N=6; enddata sets: number/1..N/:x; endsets data: x=1 3 0.5 7 5 2; enddata maxc=@max(number(I)| I#le#5:x); end (2) model: data: N=6; enddata sets: number/1..N/:x; endsets data: x=1 3 0.5 7 5 2; enddata minc=@min(number(I)| I#ge#N-3:x^2); end (3) model: data: N=6; enddata sets: number/1..N/:x; endsets data: x=1 3 0.5 7 5 2; enddata s=@sum(number(I)| I#le#N:x); end

8、解:若第i名队员参加第j种泳姿比赛,则令1ijx;否则令0ijx;共有20

个决策变量ijx。第i名队员的第j种泳姿成绩记为ijc,则

目标函数为:5141minijijijxc 约束条件有:每名队员顶多能参加一种泳姿比赛 5,4,3,2,1,141ixjij; 每种泳姿有且仅有一人参加 .4,3,2,1,151jxiij

这样就能建立如下“0----1规划”模型: 5141minijijijxc

s.t. 5,4,3,2,1,141ixjij .4,3,2,1,151jxiij

.4,3,2,1,5,4,3,2,1,10jixij或 Lingo程序如下: sets: row/1..4/; col/1..5/; links(row,col):c,x; endsets data: c=66.8 57.2 78 70 67.4 75.6 66 67.8 74.2 71 87 66.4 84.6 69.6 83.8 58.6 53 59.4 57.2 62.4; enddata min=@sum(links:c*x);

@for(col(j):@sum(row(i):x(i,j))<=1); @for(row(i):@sum(col(j):x(i,j))=1); @for(links:@bin(x));

答:14433221,,,xxxx均等于1,即,依次取第2个人王、第3个人张、第4个人刘、

第1个人李参加蝶泳、仰泳、蛙泳、自由泳,成绩为253.2秒。 9、解:八个季度的需求量数组记为xq,则 xq=[40,60,75,25,30,65,50,20]. 类似地,用数组zc, jb, kc分别表示八个季度的正常生产量、加班生产量、季度末库存量。

目标函数是全部费用之和:.))(20)(450)(400(min81iikcijbizc 约束条件:生产能力 8,...,2,1,40)(iizc; 数量平衡 .8,...,3,2),()()()1()(),1()1()1(10)1(iixqijbizcikcikcxqjbzckc 以上是模型。怎样用Lingo编程呢? 把下标的范围当作集合,本题的集合是{1,2,3,4,5,6,7,8};定义在集合上的一个个数组,都分别称为该集合的属性,本题这个集合有四个属性,分别是xq,zc,jb,kc . 先看本题的Lingo程序,再看注解: model: sets: jihe/1..8/:xq,zc,jb,kc; endsets data: xq=40,60,75,25,30,65,50,20; enddata min=@sum(jihe:400*zc+450*jb+20*kc); @for(jihe:zc<=40); kc(1)=10+zc(1)+jb(1)-xq(1); @for(jihe(i)|i#gt#1:kc(i)=kc(i-1)+zc(i)+jb(i)-xq(i)); end

10、解:构造一个效率集合xljh,其属性xl就是上表中那28个数据,如:

xl(S1,S5)=2, xl(S3,S7)=9。 用y(Si,Sj)=1表示Si与Sj组成一个队;用y(Si,Sj)=0表示Si与Sj不是一个队。 目标函数:81),(),(maxjiSjSiySjSixl

约束条件:每名学生必须且只能参加某一个队,即,对于第k名同学而言,他与其他人所组成的队的个数必须等于1,故有

1),(81jikjkiSjSiy或, k=1,2,3,…,8

另外,10),(或SjSiy (以上就是本题的优化模型,是“0----1线性规划”) model: sets: xsjh/1..8/; xljh(xsjh,xsjh)|&2#gt#&1:xl,y; endsets data: xl=9,3,4,2,1,5,6,1,7,3,5,2,1,4,4,2,9,2,1,5,5,2,8,7,6,2,3,4; enddata max=@sum(xljh(i,j):xl(i,j)*y(i,j));

相关文档
最新文档