运筹学实例分析及lingo求解

合集下载

运筹学实验报告lingo

运筹学实验报告lingo

二. 实验题目
1、求解线性规划:
max
z x 1 2x
2
2x 1 5x 2 12 s.t. x 1 2x 2 8 x , x 0 2 1
并对价值系数、右端常量进行灵敏度分析。
2、已知某工厂计划生产I,II,III三种产品,各 产品需要在A、B、C设备上加工,有关数据如下:
Allowable Decrease:允许减少量
Current RHS :当前右边常数项
结论1:
该线性规划问题的最优解为:X*=(35,10,0)T 最优值为:z*=215
结论2:
c1=5 c1在(4,8)内原最优解不变,但最优值是要变的 c2=4 c2在(2.7,5)内原最优解不变,但最优值是要变的 c3=3 c3在(-∞ ,7)内原最优解,最优值都是不变的 b1=45 b1在(40, 50)内原最优基不变,但最优解和最优值是要变的 b2=80 b2在(67.5, 90)内原最优基不变,但最优解和最优值是要变的 b3=90 b3在(65, ∞ )内原最优基不变,但最优解和最优值是要变的
Row 1 2 3 4 Slack or Surplus 215.0000 0.000000 0.000000 25.00000 Dual Price 1.000000 3.000000 1.000000 0.000000
激活灵敏度计算功能
法一:打开command window,输入range;
法二:LINGO——options —— General Solver —Dual Computations——Prices & Ranges
LINGO
Outline
一.熟悉LINDO软件的灵敏度分析功能

运用lingo解决问题的例子

运用lingo解决问题的例子

运用lingo解决问题的例子
以下是一个运用LINGO解决实际问题的例子:
问题描述:
某公司生产A、B两种产品,已知生产1单位A产品需要3单位原料1和2单位原料2,同时产生2单位废料;生产1单位B产品需要4单位原料1和2单位原料2,同时产生3单位废料。

该公司有10单位原料1和8单位原料2,同时最多可以产生10单位废料。

请为公司制定一个生产计划,使得A、B两种产品的产量最大。

模型建立:
1. 设x1为A产品的产量,x2为B产品的产量。

2. 设原料1的消耗为3x1 + 4x2,原料2的消耗为2x1 + 2x2,废料产生为2x1 + 3x2。

3. 原料1的限制条件为3x1 + 4x2 <= 10,原料2的限制条件为2x1 +
2x2 <= 8,废料的限制条件为2x1 + 3x2 <= 10。

4. 目标函数为max x1 + x2,即最大化A、B两种产品的产量之和。

LINGO代码:
SETS:
I / 1 /;
J / 1,2 /;
K / I,J /;
PARAMETERS:
C(K) / 3I + 4J, 2I + 2J, 2I + 3J /; D(I) / 10 /;
E(I) / 8 /;
F(I) / 10 /;
VARIABLES:
X(K) / >=0 /;
MAXIMIZE Z: X(1) + X(2); SUBJECT TO:
3X(1) + 4X(2) <= D(1);
2X(1) + 2X(2) <= E(1);
2X(1) + 3X(2) <= F(1); ENDSETS
END。

附1:用LINGO求解线性规划的例子一奶制品加工厂用牛奶生产A1、A2

附1:用LINGO求解线性规划的例子一奶制品加工厂用牛奶生产A1、A2

附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*3x,x2桶牛奶可生产4*x2公1斤A2,获利16*4x2,故z=72x1+64x2约束条件:原料供应:生产A1、A2的原料(牛奶)总量不超过每天的供应50桶,即x1+x2≤50劳动时间:生产A1、A2的总加工时间不超过每天正式工人总的劳动时间480小时,即12x1+8x2≤480设备能力:A1的产量不得超过设备甲每天的加工能力100小时,即3x1≤100≥0非负约束:x1、x2均不能为负值,即x1≥0,x2综上所述可得max z=72x1+64x2s.t.x1+x2≤5012x1+8x2≤4803x1≤100x1≥0,x2≥0显然,目标函数和约束条件都是线性的,这是一个线性规划(LP),求出的最优解将给出使净利润最大的生产计划,要讨论的问题需要考虑参数的变化对最优解和影响,一般称为敏感性(或灵敏度)分析。

LINGO求解线性规划用LINGO求解线性规划时,首先在LINGO软件的模型窗口输入一个LP模型,模型以MAX或MIN 开始,按线性规划问题的自然形式输入(见下面例子所示)。

用LINGO软件求解目标规划问题

用LINGO软件求解目标规划问题

10 x1 + 15 x2 + d1 d1+ = 40 + x1 + x2 + d 2 d 2 = 10 s.t. d1+ = 0 x1 , x2 , d , d + ≥ 0, j = 1,2 j j
用LINGO求解,得最优解 d = d 具体LINGO程序及输出信息如下:LINGO程序为(参见图 4.4.4):
+ 1
=0, 1
d2 = 6 ,最优值为6.
精品课程《运筹学》
图4.4.4
精品课程《运筹学》
LINGO运算后输出为(参见图4.4.5):
图4.4.5 精品课程《运筹学》
d 对应于第三优先等级,将d1+ =0, 2 = 6 作为约束条件, 建立线性规划问题:
min z = d 3 10 x1 + 15 x2 + d1 d1+ = 40 + x1 + x2 + d 2 d 2 = 10 x2 + d 3 d 3+ = 7 s.t. d1+ = 0, d 2 = 6 + x1 , x2 , d j , d j ≥ 0, j = 1,2,3
10 x1 + 15 x 2 + d 1 d 1+ = 40 + x1 + x 2 + d 2 d 2 = 10 s.t. x 2 + d 3 d 3+ = 7 x1 , x 2 , d , d + ≥ 0, j = 1,2,3 j j
精品课程《运筹学》
解:首先对应于第一优先等级,建立线性规 划问题:
x1 = 4, x2 = 0, d1+ = d1 = 0 , 用LINGO求解,得最优解是

Lingo软件在运筹学中的应用

Lingo软件在运筹学中的应用

Lingo软件在运筹学中的应用Lingo软件在运筹学中的应用随着信息技术的不断发展,计算机软件在各个领域中的应用越来越广泛,尤其是在运筹学领域。

运筹学是研究在复杂决策环境下,如何高效地进行决策的学科。

Lingo软件作为一款运筹学建模和求解工具,为运筹学的研究和应用带来了很大的便利和效率。

本文将介绍Lingo软件在运筹学中的应用,并通过实例来说明其实际效果。

首先,Lingo软件在线性规划问题中的应用非常广泛。

线性规划是一种数学优化技术,用于在给定的约束条件下最大化或最小化线性目标函数。

Lingo软件提供了直观的图形用户界面,使得用户可以轻松地建立线性规划模型,并通过内置的求解器进行求解。

用户只需输入决策变量、约束条件和目标函数,Lingo就能自动找到最优解。

这对于一些复杂的决策问题,如生产规划、资源调度和供应链优化等,提供了很大的帮助。

其次,Lingo软件在整数规划和混合整数规划问题中也有着广泛的应用。

整数规划是在线性规划的基础上,将决策变量限制为整数解的优化问题。

混合整数规划在整数规划的基础上,允许部分决策变量取非整数解。

这种类型的决策问题在实际中很常见,如生产工作安排、旅行路线规划和仓储优化等。

Lingo软件提供了强大的分支定界算法和割平面算法,能够有效地求解整数规划和混合整数规划问题。

用户只需调整问题的参数,Lingo就能快速找到最优解,大大减少了优化问题的求解时间。

此外,Lingo软件还可以用于非线性规划问题的建模和求解。

非线性规划是在线性规划的基础上,将决策变量限制为非线性函数的优化问题。

非线性规划在许多实际问题中都有着广泛的应用,如投资组合优化、工程设计和市场定价等。

Lingo软件提供了多种求解算法,如牛顿法、拟牛顿法和遗传算法等,能够有效地求解非线性规划问题。

用户只需选择合适的算法和调整参数,Lingo就能找到最优解或是近似最优解。

最后,Lingo软件还具有灵活的扩展性和集成性。

它可以与其他优化软件和模拟软件进行集成,提供更强大的求解能力和模型分析能力。

运筹学lingo实验报告

运筹学lingo实验报告

运筹学lingo实验报告
运筹学lingo实验报告
一、引言
实验目的
本次实验旨在探索运筹学lingo在解决实际问题中的应用,了解lingo的基本使用方法和解题思路。

实验背景
运筹学是一门研究决策和规划的学科,其能够帮助我们优化资源分配、解决最优化问题等。

lingo是一种常用的运筹学工具,具有强大的求解能力和用户友好的界面,被广泛应用于各个领域。

二、实验步骤
准备工作
•安装lingo软件并激活
•熟悉lingo界面和基本功能
确定问题
•选择一个运筹学问题作为实验对象,例如线性规划、整数规划、网络流等问题
•根据实际问题,使用lingo的建模语言描述问题,并设置变量、约束条件和目标函数
运行模型
•利用lingo的求解器,运行模型得到结果
结果分析
•分析模型求解结果的合理性和优劣,对于不符合要求的结果进行调整和优化
结论
•根据实验结果,总结lingo在解决该问题中的应用效果和局限性,对于其他类似问题的解决提出建议和改进方案
三、实验总结
实验收获
•通过本次实验,我熟悉了lingo软件的基本使用方法和建模语言,增加了运筹学领域的知识和实践经验。

实验不足
•由于时间和条件的限制,本次实验仅涉及了基本的lingo应用,对于一些复杂问题的解决还需要进一步学习和实践。

•在以后的学习中,我将继续深入研究lingo的高级功能和应用场景,以提升运筹学问题的求解能力。

以上就是本次实验的相关报告内容,通过实验的实践和总结,我对lingo在运筹学中的应用有了更深入的理解,为今后的学习和研究奠定了基础。

运筹学实例分析及lingo求解

运筹学实例分析及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.000000C( W1, V8) 9.000000 0.000000 C( 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.000000X( W1, V4) 0.000000 7.000000 X( 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.000000X( W6, V8) 0.000000 3.000000 Row 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求解整数规划及非线性规划问题

实验二、利用Lingo求解整数规划及非线性规划问题

建立数学模型
根据问题要求,建立相应的数 学模型,包括变量、约束条件 和目标函数等。
设置求解参数
根据问题类型和规模,设置合 适的求解参数,如求解方法、 迭代次数等。
分析结果
对求解结果进行分析,验证模 型的正确性和可行性。
05 整数规划问题求解实例
问题描述
问题背景
本实验将通过一个具体的整数规划问题,展示如 何利用LINGO软件进行求解。该问题涉及到生产 计划优化,目标是最大化利润,同时满足一系列 约束条件。
非线性规划问题在数学、经济、工程等领域有广泛应用,是 优化理论的重要分支。
非线性规划问题的分类
01
按照目标函数的性质,非线性规划问题可以分为凸规
划和凹规划。
02
按照约束条件的性质,非线性规划问题可以分为无约
束、有界约束和等式约束三种类型。
03
按照决策变量的个数,非线性规划问题可以分为单变
量和多变量规划。
定义约束条件
使用LINGO的FROM命令定义约束条件,例 如FROM ... >= ... (P1,P2,...,Pn)。
LINGO求解过程及果分析
求解过程
在LINGO中输入模型,选择求解器类型(整数求解器或线性求解器),设置参数,运行求解过程。
结果分析
查看求解结果,包括最优解、最优值、松弛解等信息。对结果进行解释和评估,分析其对实际问题的 指导意义。
07 实验总结与展望
实验收获与体会
掌握整数规划和非线性规划的基本概念和求解方法
通过实验,我深入了解了整数规划和非线性规划的基本概念和求解方法,包括数学模型 建立、约束条件处理、目标函数处理等。
熟练使用LINGO软件
通过实验,我掌握了LINGO软件的基本操作和参数设置,能够利用LINGO软件求解整 数规划和非线性规划问题。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运筹学实例分析及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:Total solver iterations: 0Variable Value Reduced Cost AI( W1)AI( W2)AI( W3)AI( W4)AI( W5)AI( W6)DJ( V1)DJ( V2)DJ( V3)DJ( V4)DJ( V5)DJ( V6)DJ( V7)DJ( V8)C( W1, V1)C( W1, V2)C( W1, V3)C( W1, V4)C( W1, V5)C( W1, V6)C( W1, V8) C( W2, V1) C( W2, V2) C( W2, V3) C( W2, V4) C( W2, V5) C( W2, V6) C( W2, V7) C( W2, V8) C( W3, V1) C( W3, V2) C( W3, V3) C( W3, V4) C( W3, V5) C( W3, V6) C( W3, V7) C( W3, V8) C( W4, V1) C( W4, V2) C( W4, V3) C( W4, V4) C( W4, V5) C( W4, V6) C( W4, V7) C( W4, V8) C( W5, V1) C( W5, V2) C( W5, V3) C( W5, V4) C( W5, V5) C( W5, V6) C( W5, V7) C( W5, V8) C( W6, V1) C( W6, V2) C( W6, V3) C( W6, V4) C( W6, V5) C( W6, V6) C( W6, V7) C( W6, V8) X( W1, V1) X( W1, V2)X( W1, V4) X( W1, V5) X( W1, V6) X( W1, V7) X( W1, V8) X( W2, V1) X( W2, V2) X( W2, V3) X( W2, V4) X( W2, V5) X( W2, V6) X( W2, V7) X( W2, V8) X( W3, V1) X( W3, V2) X( W3, V3) X( W3, V4) X( W3, V5) X( W3, V6) X( W3, V7) X( W3, V8) X( W4, V1) X( W4, V2) X( W4, V3) X( W4, V4) X( W4, V5) X( W4, V6) X( W4, V7) X( W4, V8) X( W5, V1) X( W5, V2) X( W5, V3) X( W5, V4) X( W5, V5) X( W5, V6) X( W5, V7) X( W5, V8) X( W6, V1) X( W6, V2) X( W6, V3) X( W6, V4) X( W6, V5) X( W6, V6)X( W6, V8)Row Slack or Surplus Dual Price 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15由以上结果可以清楚的看到由各仓库到各客户处的货物调运数量,由此得出的符合条件的最佳运货方案,而使运费最低,最低为664。

二、运输规划重庆有三家电子厂分别是新普,隆宇和恒华,生产的笔记本电脑将要运向北京,天津,广东,上海四个城市销售,其产量和销售量见下表:(单位:万台)表:1-1问:哪种销售方案将会取得最少的运输费用,费用为多少针对该运输问题,为了方便计算,可以设新普(A 1),隆宇(A 2)和恒华(A 3)分别销往北京(B 1)、天津(B 2)、广东(B 3)和上海(B 4)四个城市销售量为111213142122232431323334x x x x x x x x x x x x 、、、、、、、、、、、.建立以下模型:表:1-2目标(The objective )最少费用:34333231242322312114131211415x x 8x 8x 3x 5x 9x 4x 7x 6x 2x 6x z Min +++++++++++==∑∑==i j j i j i x c约束条件:供应限制(The supply constrains ) 指标约束(The damandconstrains )⎪⎩⎪⎨⎧≤+++≤+++≤+++21x x x x 25x x x x 30x x x x 343332312423222114131211 ⎪⎪⎩⎪⎪⎨⎧=++=++=++=++12x x x 22x x x 17x x x 15x x x 342414332312322212312111LINGO 模型: model: sets:origin/1..3/:a; sale/1..4/:b;routes(origin,sale):c,x; endsets data: a=30,25,21; b=15,17,22,12;c=6,2,6,7,4,9,5,3,8,8,1,5; enddata[OBJ]min=@sum(routes:c*x);@for(origin(i):[SUP]@sum(sale(j):x(i,j))<=a(i));@for(sale(j):[DEM]@sum(origin(i):x(i,j))=b(j));endlingo结果:Global optimal solution found.Objective value:Infeasibilities:Total solver iterations: 6Variable Value Reduced Cost X( 1, 1)X( 1, 2)X( 1, 3)X( 1, 4)X( 2, 1)X( 2, 2)X( 2, 3)X( 2, 4)X( 3, 1)X( 3, 2)X( 3, 3)X( 3, 4)Row Slack or Surplus Dual Price OBJSUP( 1)SUP( 2)SUP( 3)DEM( 1) DEM( 2) DEM( 3) DEM( 4)从计算结果可以得出,新普(A1)分别销往北京(B1)、天津(B2)、广东(B3)和上海(B4)四个城市销售量为分别为2万台,17万台,1万台,0万台,剩余10万台;隆宇(A2)分别销往北京(B1)、天津(B2)、广东(B3)和上海(B4)四个城市销售量为别为13万台,0万台,0万台,12万台,剩余0万台;恒华(A3)分别销往北京(B1)、天津(B2)、广东(B3)和上海(B4)四个城市销售量为分别为0万台,0万台,21万台,0万台,剩余0万台;总费用为161个单位.三、整数规划某公司打算向它的3个营业区增设6个销售店,每个营业区至少增设一个。

从各区赚取的利润与增设的销售店个数有关,其数据如下表所示。

试求各区应分配几个增设的销售店,才能使总利润最大。

要设置集合zone/A,B,C/,表示三个地区。

因为获得的利润与地区和各地的销售点增加数均相关,所以可以仿照运输模型,用number/1..4/表示每个地区可选的销售点增加数,然后用一个派生集links(zone,number):c,profit ,定义⎩⎨⎧=,其他个销售点地区新增,在01j i c ijprofit(i,j)为在i 地区新增j 个销售点能获得的利润。

可写出约束条件为:41341111,2,3016ij j ij ij i j c i c c j ===⎧==⎪⎪⎪=⎨⎪⎪=⎪⎩∑∑∑,或所求函数为max=@sum(links:c*profit);Lingo程序如下:model:sets:zone/A,B,C/; !A,B,C三个地区;number/1..4/; !各地区可选择新建的销售点数目,可选1~4中的一个数,通过links把zone和number联系起来;links(zone,number):c,profit; !若在i地区新建j个销售点,则c(i,j)=1,否则c(i,j)=(i,j)表示在i地区新建j个销售点的利润;endsetsdata:profit=200 280 330 340210 220 225 230160 170 180 200;enddatamax=@sum(links:c*profit);@for(zone(I):@sum(number(J):c(I,J))=1); !对于每一个地区,新建销售点的数目是一定的,c的和为1;@sum(zone(I):@sum(number(J):c(I,J)*J))=6; !三个地区新建的销售点总数为6;@for(links(i,j):@bin(c(i,j))); !每一个c(i,j)只能取0或1;end用Lingo求解,结果如下:Global optimal solution found.Objective value:Extended solver steps: 0Total solver iterations: 0Variable Value Reduced Cost C( A, 1)C( A, 2)C( A, 3)C( A, 4)C( B, 1)C( B, 2)C( B, 3)C( B, 4)C( C, 1)C( C, 2)C( C, 3)C( C, 4)则在A,B,C区域应分别新增3,1,2个销售点,可获得的最大利润为710万元。

相关文档
最新文档