数学建模之目标规划(四)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我们用Dem,Rp,Op,Inv分别表示需求量、正常 生产的产量、加班生产的产量、库存量,则:
目标函数:
min 400Rp(I ) 450Op(I ) 20Inv(I ) I 1,2,3,4
约束条件: (1)Rp(I)<40,I=1,2,3,4 (2)Inv(I)=Inv(I-1)+Rp(I)+Op(I)-Dem(I),
f
P1d1
P2
( w22 d
2
w23 d3
)
在有了优先因子这个概念后我们就可以得到新
的数学模型来解决刚才的问题:
min f P1d1 P2 (w22d2 w23d3 );
12
x1
x1
8x2
d1
d
2
d1 42000, d2 3300,
s.t.
x2 d3 d3 480,
1.0x1 0.6x2 3600,
0.6x1
0.8x2
2400,
x1, x2 0, dq , dq 0, q 1, 2, 3
3、目标规划的数学模型:
在建立线性规划模型的基础上,我们建立目标规划 模型的基本步骤为: 1、对各个目标确定目标期望值; 2、对各个目标引进偏差变量,建立目标约束方程; 3、确定目标优先等级和相对权重系数,建立达成函 数。
目标规划
引例:
某工厂计划生产甲、乙两种产品,均需通过A,B两 道工序,有关信息如下所示,问如何确定一周内的 生产计划,使工厂获利最大?
定额(工时 甲产品(件)乙产品(件) 一周内有效
/件)
工时
工序A
1.0
工序B
0.6
0.6
3600
0.8
2400
利润(元/
12
8
件)
设x1,x2分别表示甲、乙两种产品在一周内的生产 件数,则可得到线性规划模型如下:
求解 器(求 解程 序)状 态框
当前模型的类型 :LP,QP,ILP,IQP,PILP, PIQP,NLP,INLP,PINLP (以I开头表示 IP,以PI开头表示PIP)
解的目标函数值
当前解的状态 : "Global
Optimum", "Local Optimum", "Feasible", "Infeasible“(不可行), "Unbounded“(无界), "Interrupted“(中断), "Undetermined“(未确定)
2、优先因子:
在目标规划中,目标要求在两个以上时,可通过赋予 优先权系数表达不同的重要性程度,优先权系数称为 优先因子. 规定p1 pi p j pn ,并且当 i j时, pi np j , n是一个充分大的正数.表示 pi远远 比p j重要.
优先因子是一个定性的概念,表示不同的优先级别 在数量上不能比较,它不是数.
(5)计算段:以“CALC: ”开始,“ENDCALC”结 束,对一些原始数据进行计算处理。
我们用Lingo来解决刚开始提出的生产问题: 按照逐级优化原则:
第一级: model: min=d1_; 12*x1+8*x2+d1_-d1=42000; x1+0.6*x2<=3600; 0.6*x1+0.8*x2<=2400; end
42000,
系统约 束
上述问题为单目标决策优化问题,在现实社会中, 系统的目标常常是多元化的。
继续刚才的问题来说,若工厂在制定最优生产计划 时,决策者除了希望实现超过42000元的利润目标 外,根据市场和资源条件又提出了如下两个目标:
尽可能的扩大甲产品的生产,使甲产品的数量不低 于3300件的目标期望值;尽可能的减少乙产品的生 产,使乙产品的数量不超过480件的目标期望值。问 工厂如何确定一周内的最优生产计划?
max f 12x1 8x2
1.0x1 0.6x2 3600
s.t.
0.6
x1
0.8
x2
2400
x1
0,
x2
0
这个模型是在现有资源约束下,追求利润的最大 化。但是,在现代企业管理决策中,决策者考虑 的目标和因素往往是多方面的,不仅仅是唯一的 目标利润最大化。
现在提出新问题: 该工厂决策者根据市场需求预测,综合考虑各方面 因素,希望该周内实现利润值42000元,则问题转化 为如何确定最优生产计划,实现42000的利润目标?
目标规划是在线性规划的基础上,为适应企业经营管 理中多目标决策的需要而发展起来的.它是在决策者 所规定的若干目标值,及实现目标的先后顺序,并在 给定资源条件下,求得偏离目标值最小的方案的一种 数学方法.
二 目标规划的基本概念:
1、偏差量:
令d 超出目标值的差距. 令d 未达到目标值的差距. 约定 :当实际值超过目标值时, d 0,且d 0; 而当实际值未达到目标值时, d 0,且d 0; 当实际值与目标值相等时, d d 0.
目前为止找到的可行 解的最佳目标函数值
有效步数
目标函数值的界
特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序)
LINGO模型最基本的组成要素: 一般来说, LINGO中建立的优化模型可以由五个部 分组成: (1)集合段:以“ SETS:” 开始,“ENDSETS”结 束,定义必要的集合变量及其元素和属性。 (2)目标与约束段:目标函数、约束条件等,没有 段的开始和结束标记,因此实际上就是除其它四个 段(都有明确的段标记)外的LINGO模型。
4、目标规划(GP)比线性规划(LP)有如下优点:
⑴ LP只能处理单目标的优化问题,GP可以统筹兼顾 处理多种目标要求;
⑵ LP立足于可行解上,而GP可在相互矛盾的约束条 件中求得满意解;
⑶ GP的满意解是指,尽可能达到或接近一个或多个 目标值;
⑷ LP的约束条件不分主次,而GP对约束条件可给予 轻重缓急的处理.
GP数学模型可表为
K
L
min f (d )
pk
(wkld
l
wkldl
)
k 1 l 1
n
aij x j (, )bi ,
i 1,2,, m
j1
n
clj x j dl dl gl ,
l 1,2,, L
j1 xj 0
j 1,, n
dl , dl 0,
l 1,2,, L
(3)数据段:以“DATA:”开始“ENDDATA”结束, 对集合的属性(数组)输入必要的常数数据。
(4)初始段:以“INIT: ”开始, “ENDINIT”结 束,对集合的属性(数组)定义初值(因为求解算法 一般是迭代算法,所以用户如果能给出一个比较 好的迭代初值,对提高算法的计算效果是有益的)。
问题的特点: 决策者提出了一个明确的目标要求,即g=42000 这个问题不是极值问题,而是在若干个目标要求及原 来的线性约束下,确定能否实现这些目标以及实现这 些目标要求的具体条件.
为此,我们引入了目标规划模型:
一 目标规划产生的背景:
1961美国学者A.Charnes和W.Cooper首次在《管理模 型及线性规划的工业应用》一书中首次提出目标规 划的概念,1965年以后逐渐形成独立分支.
也就是说,在解决目标规划问题中,应首先考虑第 一级目标,其次,在第一级目标不退化的条件下, 再考虑第二级目标,依此类推。
用图解法求目标规划的满意解
min
f
(d )
p1d1
p2
d
2
4 p3d3
3
p3d
4
s.t.
2x1 1.5x2 d1 d1 210
x1
d
2
d2
60
x1
d3 d3 40
Constraints(约束数量): 约束总数(Total)、 非线性约束个数(Nonlinear)。
Nonzeros(非零系数数量): 总数(Total)、 非线性项系数个数(Nonlinear)。
Generator Memory Used (K) (内存使用 量)
• Elapsed Runtime (hh:mm:ss) (求解花费的时间)
三、目标规划的求解
1、图解法: 对于两个变量的目标规划问题,可用图解法求出满意 解,具体过程如下:
⑴ 建立直角坐标系,确定单位; ⑵ 画出各约束条件方程表示的直线,其中画目标约 束直线时,不考虑偏差量; ⑶ 找出偏差量大于零的方向,并用箭头标出; ⑷ 按目标函数中的优先序,求出目标规划的满意解.
逐级优化原则: 级别较高(同级权重较大)的目标优先实现,在其 不退化的前提下,再考虑次级目标(同级权重较 小)尽可能实现。
第二级: model: min=5*d2_+3*d3; 12*x1+8*x2+d1_-d1=42000; x1+d2_-d2=3300; x2+d3_-d3=480; d1_=0; x1+0.6*x2<=3600; 0.6*x1+0.8*x2<=2400; end
例: 某公司需要决定下四个季度的帆船生产量, 分别为40、60、75、25条,这些需求必须按 时满足。每个季度正常的生产能力是40条, 每条船的生产费用为400美元。如果加班生 产,每条船的生产费用为450美元。每个季度 末,每条船的库存费用为20美元。假定生产 提前期为0,初始库存为10条,如何安排生产 可使总费用最小?
在刚才的问题中如果认为超过42000元的利润 首先要达到目标要求,其次再达到产值的目标 要求,则GP的目标函数可表为:
min f p1d1 p2 d2 d3
还应注意的是,在同一优先级别中,为区分不 同目标要求的重要程度,可在它们前边增加权 系数,它们是数字,数越大表明该目标越重要.
min
I 1, 2,3, 4 Inv(0) 10;
下面我们用Lingo来解决较为复杂的目标规划问题, 见例题:
我们从线性规划引出目标规划,然后介绍了目标规 划模型的基本概念和如何建立,最后介绍了目标规 划的求解,到此为止,目标规划基本上也讲解完 了。下面给大家推荐一篇国赛特等奖论文:
x2
d4
d
4
40
x1
,
x2
,
d
i
,
di
0
i 1, 2,3, 4
首先画出建立坐标系,画出约束条件:
x2
d1
d1
A
d
4
d
3
B d
3
d
4
o
d
2
d
2
x1 40
A
:
x2 87
d
2
20
d
4
47其余偏差量为零Fra bibliotekx1 60
B
:
x2 60 d3 20
x1
d
4
20
其余偏差量为零
目前为止的 迭代次数
当前约束不满足的总量(不是不 满足的约束的个数):实数(即使 该值=0,当前解也可能不可行, 因为这个量中没有考虑用上下界 命令形式给出的约束)
扩展 的求 解器 (求解 程序) 状态 框
使用的特殊求解程序 : B-and-B (分枝定界算法) Global (全局最优求解程序) Multistart(用多个初始点求解的程序)
2、用Lingo解决目标规划问题:
方法: 按目标的优先级次序,依次用lingo求解。每次求得 的值再作为下一次的约束条件。也就是按照逐级优 化原则进行求解。 我们先回顾一下Lingo的一些基础知识。
Variables(变量数量): 变量总数(Total)、 非线性变量数(Nonlinear)、 整数变量数(Integer)。
注意 : d , d 中,至少有一个为零 ,即d d 0.
在有了偏差量这个概念后我们就可以得到新 的数学模型来解决刚才的问题:
由偏差量构成的目标函
数,称为“达成函数”
min f1 d
目标约束
s.t.
1102.0.6xx1x11800x.26.8xx22d13264d00100,, x1, x2 0, d1 , d1 0