Matlab学习系列27. 多目标规划

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

27. 多目标规划

一、线性规划的局限性

1. 线性规划要求所求解问题必须满足全部的约束,而实际问题中并非所有约束都需要严格的满足;

2. 线性规划只能处理单目标的优化问题,从而对一些次目标只能转化为约束处理,而实际问题中,目标和约束是可以相互转化的,处理时不一定要严格区分;

3. 线性规划在处理问题时,将各个约束(也可看成目标)的地位看成同等重要,实际问题中,各个目标的重要性有层次上的差别,在同一层次也可能有不同权重;

4. 线性规划寻找最优解,而许多实际问题只要找到满意解就可以了。

例1 (线性规划——生产安排问题) 某企业生产甲、乙两种产品,需要用到A,B,C三种设备,每天产品盈利与设备使用工时及限制如下表:

问:该企业应如何安排生产,能使总利润最大?

解:设甲乙产品的产量分别为x 1, x 2,建立线性规划模型:

12121212max 200300 s. t. 2212 416 515 ,0

z x x x x x x x x =++≤≤≤≥

用Lingo 可求得最优解:x 1=3, x 2=3, z *=1500.

但实际上,企业的经营目标不仅仅是利润,还需要考虑多个方面,比如:增加下列因素(目标)

(1) 力求使利润不低于1500元;

(2) 考虑市场需求,甲乙两种产品的产量比应尽量保持1:2; (3) 设备A 位贵重设备,严格禁止超时使用;

(4)设备C 可以适当加班,但要控制,设备B 既要求充分利用,又尽可能不加班,在重要性上,设备B 是设备C 的3倍。

这就需要用目标规划。

二、目标规划的基本概念

1. 设置偏差变量

偏差变量——表示实际值与目标值之间的差异;

d +——表示超出目标的差值,称为正偏差变量;当实际值超过目标值时,有d - = 0,d + > 0;

d -——表示未达到目标的差值,称为负偏差变量;当实际值未达到目标值时,有d + = 0,d - > 0.

注:若实际值与目标值一致,有d - = d + = 0.

2. 统一处理目标与约束

目标规划中,约束有两类,一类是对资源有严格限制的,用严格的等式或不等式约束来处理(同线性规划),例如,例1中设备A 禁止超时使用,则有刚性约束:

122212x x +≤

另一类约束是可以不严格限制的,连同原线性规划的目标,构成柔性约束,例如,例1中希望利润不低于1500元,则目标可表示为

12min{}

2003001500

d x x d d --+

⎧⎨+++=⎩ 甲乙两种产品产量尽量保持1:2的比例,则目标可表示为

12

min{}

20d d x x d d +--+

⎧+⎨-+-=⎩ 设备C 可以适当加班,但要控制,则目标可表示为

2min{}

515

d x d d +-+

⎧⎨+-=⎩ 设备B 要求充分利用,又尽可能不加班,则目标可表示为

1min{}

416

d d x d d +--+

⎧+⎨+-=⎩ 结论:若希望不等式保持大于等于,则极小化负偏差;若希望不等式保持小于等于,则极小化正偏差;若希望保持等式,则同时极小化正负偏差。

3. 目标的优先级与权系数

目标规划中,目标的优先分为两个层面,第一个层面是目标分成不同的优先级,在求解目标规划时,必须先优化优先级高的目标,再

优化优先级低的目标;通常用P 1, P 2, …表示不同的因子,并规定P k >>P k+1.

第二个层面是目标处于同一优先级,但两个目标的权重不同,此时应两目标同时优化,但用权重系数的大小来表示目标重要性的差别。

目标规划建模中,除刚性约束必须严格满足外,对所有目标约束均允许有偏差。其求解过程要从高到低逐层优化,中不增加高层次目标的偏差值的情况下,逐次使低层次的偏差达到极小。

例1按目标规划的方法可建立如下目标规划模型:设备A 是刚性约束,其余是柔性约束;首先,最重要的指标是企业的利润,故将其优先级列为第一级;其次,甲乙两种产品的产量保持1:2的比例,列为第二级;再次,设备C ,B 的工作时间要有所控制,列为第三级。中第三级中,设备B 的重要性是设备C 的3倍,因此其权重不一样,设备B 前的系数是C 前系数的3倍,于是得到:

1122233341212111222133244min ()(33)

s. t. 2212

2003001500 20 416 515

z Pd P d d P d d d x x x x d d x x d d x d d x d d -+-+-+

-+-+-+-+=++++++≤+++=-+-=+-=+-=12 ,,,0, 1,2,3,4

i i x x d d i -+≥=

三、目标规划模型的一般形式:

设, 1,,j x j n =是目标规划的决策变量,共有m 个刚性约束(等式或不等式约束),有l 个柔性目标约束,其目标规划约束的偏差为

,, 1

,,j j d d j l +-

=,有个q 优先级别,分别为1,,q P P ,在同一个优先级k

P

中有不同的权重,分别记为,, 1,...,kj kj w w j l +-

=,则目标规划模型的一般

形式为:

1

1

11

min ()

s. t. (,) , 1,

, () , 1,

, () 0,q

l

k kj j kj j k j n

ij j i j n

ij j i i i j j z P w d w d a x b i m c x d d g i l x --++

===-+==+≤=≥=+-==≥∑∑∑∑刚性约束柔性约束 1,

, ,0, 1,

,i i j n

d d i l

-+=≥=

注:建立目标规划模型时,需要确定目标值、优先等级、权系数等,这些具有一定的主观性和模糊性,可以用专家评定法予以量化。

序贯式算法是求解目标规划的一种早期算法,其核心是根据优先级的先后次序,将目标规划问题分解成一系列的单目标规划问题,然后再依次求解。

/~jxie/lindo 例1模型的求解: Lingo 代码:

相关文档
最新文档