400 likes | 503 Views
第 七 章. 目 标 规 划. 第七章 目标规划. 在科学研究、经济建设和生产实践中,人们经常遇到一类含有多个目标的数学规划问题,我们称之为多目标规划。本章介绍一种特殊的多目标规划叫目标规划( goal programming), 这是美国学者 Charnes 等在1952年提出来的。目标规划在实践中的应用十分广泛,它的重要特点是对各个目标分级加权与逐级优化,这符合人们处理问题要分别轻重缓急保证重点的思考方式。 本章分目标规划模型、目标规划的几何意义与图解法和求解目标规划的单纯形方法等三个部分进行介绍。. 7 .1 目标规划模型.
E N D
第 七 章 目 标 规 划
第七章目标规划 在科学研究、经济建设和生产实践中,人们经常遇到一类含有多个目标的数学规划问题,我们称之为多目标规划。本章介绍一种特殊的多目标规划叫目标规划(goal programming),这是美国学者Charnes等在1952年提出来的。目标规划在实践中的应用十分广泛,它的重要特点是对各个目标分级加权与逐级优化,这符合人们处理问题要分别轻重缓急保证重点的思考方式。 本章分目标规划模型、目标规划的几何意义与图解法和求解目标规划的单纯形方法等三个部分进行介绍。
7.1 目标规划模型 7.1.1 问题提出 为了便于理解目标规划数学模型的特征及建模思路, 我们首先举一个简单的例子来说明. 例7.1.1 某公司分厂用一条生产线生产两种产品A和B ,每周生产线运行时间为60小时,生产一台A产品需要4小时,生产一台B产品需要6小时.根据市场预测,A、B产品平均销售量分别为每周9、8台,它们销售利润分别为12、18万元。在制定生产计划时,经理考虑下述4项目标:
7.1 目标规划模型 7.1.1 问题提出 (续) 首先,产量不能超过市场预测的销售量; 其次,工人加班时间最少; 第三,希望总利润最大; 最后,要尽可能满足市场需求, 当不能满足时, 市场认为B产品的重要性是A产品的2倍. 试建立这个问题的数学模型. 讨论: 若把总利润最大看作目标,而把产量不能超过市场预测
7.1 目标规划模型 7.1.1 问题提出 (续) 的销售量、工人加班时间最少和要尽可能满足市场需求的目标看作约束,则可建立一个单目标线性规划模型 设决策变量 x1,x2分别为产品A,B的产量 Max Z = 12x1 + 18x2 s.t. 4x1 + 6x2 60 x1 9 x2 8 x1 , x2 0
7.1 目标规划模型 7.1.1 问题提出 (续) 容易求得上述线性规划的最优解为(9,4)T到 (3,8)T所在线段上的点, 最优目标值为Z* = 180, 即可选方案有多种. 在实际上, 这个结果并非完全符合决策者的要求, 它只实现了经理的第一、二、三条目标,而没有达到最后的一个目标。进一步分析可知,要实现全体目标是不可能的。
7.1 目标规划模型 7.1.2 目标规划模型的基本概念 把例7.1.1的4个目标表示为不等式.仍设决策变量 x1,x2分别为产品A,B的产量. 那麽, 第一个目标为: x1 9 ,x2 8 ; 第二个目标为: 4x1 + 6x2 60 ; 第三个目标为: 希望总利润最大,要表示成不等式需要找到一个目标上界,这里可以估计为252(=129 + 188),于是有 12x1 + 18x2 252; 第四个目标为: x1 9,x2 8;
7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) 下面引入与建立目标规划数学模型有关的概念. (1)、正、负偏差变量d+,d - 我们用正偏差变量d+ 表示决策值超过目标值的部分;负偏差变量d - 表示决策值不足目标值的部分。因决策值不可能既超过目标值同时又末达到目标值,故恒有 d+ d - = 0 . (2)、绝对约束和目标约束 我们把所有等式、不等式约束分为两部分:绝对约束和目标约束。
7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) 绝对约束是指必须严格满足的等式约束和不等式约束;如在线性规划问题中考虑的约束条件,不能满足这些约束条件的解称为非可行解,所以它们是硬约束。设例7.1.1 中生产A,B产品所需原材料数量有限制,并且无法从其它渠道予以补充,则构成绝对约束。 目标约束是目标规划特有的,我们可以把约束右端项看作要努力追求的目标值,但允许发生正式负偏差,用在约束中加入正、负偏差变量来表示,于是称它们是软约束。
7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) 对于例7.1.1, 我们有如下目标约束 x1 + d1- -d1+ = 9 (7.1.1) x2 + d2- -d2+ = 8 (7.1.2) 4x1 + 6x2+ d3- -d3+ = 60 (7.1.3) 12x1+18x2+ d4- -d4+ =252 (7.1.4)
7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) (3)、优先因子与权系数. 对于多目标问题,设有L个目标函数f1,f2,,fL, 决策者在要求达到这些目标时,一般有主次之分。为此,我们引入优先因子Pi ,i = 1,2,,L.无妨设预期的目标函数优先顺序为f1,f2,,fL,我们把要求第一位达到的目标赋于优先因子P1,次位的目标赋于优先因子P2、…,并规定 Pi >> Pi+1,i = 1,2,,L-1.
7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) 即在计算过程中, 首先保证P1级目标的实现,这时可不考虑次级目标;而P2级目标是在实现P1级目标的基础上考虑的,以此类推。当需要区别具有相同优先因子的若干个目标的差别时,可分别赋于它们不同的权系数wj 。优先因子及权系数的值,均由决策者按具体情况来确定. (4)、目标规划的目标函效. 目标规划的目标函数是通过各目标约束的正、负偏差变量和赋于相应的优先等级来构造的.
§7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) 决策者的要求是尽可能从某个方向缩小偏离目标的数值。于是,目标规划的目标函数应该是求极小:min f = f (d+,d -). 其基本形式有三种: ① 要求恰好达到目标值,即使相应目标约束的正、负偏差变量都要尽可能地小。这时取 min (d+ + d - ); ② 要求不超过目标值,即使相应目标约束的正偏差变量要尽可能地小。这时取 min (d+ );
§7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) ③ 要求不低于目标值,即使相应目标约束的负偏差变量要尽可能地小。这时取 min (d- ); 对于例7.1.1, 我们根据决策者的考虑知 第一优先级要求 min(d1+ + d2+ ); 第二优先级要求 min(d3+ ); 第三优先级要求 min(d4- ); 第四优先级要求 min(d1- + 2d2- ),这里, 当不能满足市场需求时, 市场认为B产品的重要性是A产品的2倍.即减少B产品的影响是A产品的2倍,因此我们引入了2:1的权系数。
§7.1 目标规划模型 7.1.2 目标规划模型的基本概念 (续) 综合上述分析,我们可得到下列目标规划模型 Min f = P1(d1+ + d2+ ) + P2 d3+ + P3 d4- + P4(d1- + 2d2- ) s.t. x1+ d1- -d1+ = 9 x2 + d2- -d2+ = 8 4x1 + 6x2+ d3- -d3+ = 60 (7.1.5) 12x1 + 18x2+d4- -d4+ =252 x1 , x2, di- ,di+ 0 , i = 1,2,3,4.
§7.1 目标规划模型 7.1.3 目标规划模型的一般形式 根据上面讨论,我们可以得到目标规划的一般形式如下
§7.1 目标规划模型 7.1.3 目标规划模型的一般形式 (续) (LGP)中的第二行是K个目标约束,第三行是m个绝对约束,ckj和gk是目标参数。 §7.2 目标规划的几何意义及图解法 对只具有两个决策变量的目标规划的数学模型,我们可以用图解法来分析求解.通过图解示例,可以看到目标规划中优先因子,正、负偏差变量及权系数等的几何意义。
§7.2目标规划的几何意义及图解法 §7.2 目标规划的几何意义及图解法 (续) 下面用图解法来求解例7.1.1 我们先在平面直角坐标系的第一象限内,作出与各约束条件对应的直线,然后在这些直线旁分别标上 G-i ,i = 1,2,3,4。图中x,y分别表示问题(7.1.5)的x1和x2;各直线移动使之函数值变大、变小的方向用 +、- 表示 di+ ,di- (如图7.1.1所示).
x 20 15 10 5 G-1 - + + + - G-2 - + G-4 G-3 - 0 5 10 15 20 y 图7 - 1 §7.2目标规划的几何意义及图解法
§7.2目标规划的几何意义及图解法 下面我们根据目标函数的优先因子来分析求解.首先考虑第一级具有P1优先因子的目标的实现,在目标函数中要求实现min(d1++ d2+ ),取d1+=d2+ =0.图 7 – 2 中阴影部分即表示出该最优解集合的所有点。 我们在第一级目标的最优解集合中找满足第二优先级要求min(d3+ )的最优解.取d3+= 0,可得到图 7 – 3 中阴影部分即是满足第一、第二优先级要求的最优解集合。
G-1 x 20 15 10 5 + - + - + A(3,8) G-2 + - G-3 G-4 - 0 5 10 15 20 y §7.2目标规划的几何意义及图解法 图7 - 2
G-1 x 20 15 10 5 + - + - + A(3,8) G-2 + - G-3 G-4 - 0 5 10 15 20 y §7.2目标规划的几何意义及图解法 图7 – 3
§7.2目标规划的几何意义及图解法 第三优先级要求 min(d4- ),根据图示可知,d4- 不可能取0值,我们取使d4- 最小的值72得到图7–4 中两阴影部分的交线(黑色粗线),其表示满足第一、第二及第三优先级要求的最优解集合。 最后,考虑第四优先级要求 min(d1- + 2d2- ) ,即要在黑色粗线段中找出最优解。由于d1- 的权因子小于d2- ,因此在这里可以考虑取d2- =0。于是解得d1-=5,最优解为A点x = 3,y = 8。
G-1 x 20 15 10 5 + - + - + A(3,8) G-2 + - G-3 G-4 - 0 5 10 15 20 y §7.2目标规划的几何意义及图解法 图7 – 4
§7.3 求解目标规划的单纯形方法 目标规划的数学模型,特别是约束的结构与线性规划模型没有本质的区别,只是它的目标不止是一个,虽然其利用优先因子和权系数把目标写成一个函数的形式, 但在计算中无法按单目标处理, 所以可用单纯形法进行适当改进后求解。在组织、构造算法时,我们要考虑目标规划的数学模型一些特点,作以下规定: (1) 因为目标规划问题的目标函数都是求最小化,所以检验数的最优准则与线性规划是相同的;
§7.3 求解目标规划的单纯形方法 (续) (2) 因为非基变量的检验数中含有不同等级的优先因子, Pi >> Pi+1,i = 1,2,,L-1. 于是从每个检验数的整体来看: Pi+1(i = 1,2,,L-1)优先级第k个检验数的正、负首先决定于 P1,P2 ,… ,Pi优先级第k个检验数的正、负。若P1级第k个检验数为0,则此检验数的正、负取决于P2级第k个检验数;若P2级第k个检验数仍为0,则此检验数的正、负取决于P3级第k个检验数,依次类推。换一句话说,当某Pi 级第k个检验数为负数时,计算中不必再考察Pj( j > I )级第k个检验数的正、负情况;
§7.3 求解目标规划的单纯形方法 (续) (3)根据(LGP)模型特征,当不含绝对约束时,di- (i=1,2,… ,K)构成了一组基本可行解。在寻找单纯形法初始可行点时,这个特点是很有用的。 解目标规划问题的单纯形法的计算步骤 (1)建立初始单纯形表.在表中将检验数行按优先因子个数分别列成K行。初始的检验数需根据初始可行解计算出来,方法同基本单纯形法。当不含绝对约束时,di- (i=1,2,… ,K)构成了一组基本可行解,这时只需利用相应单位向量把各级目标行中对应di- (i=1,2,… ,K)的量消成0即可得到初始单纯形表。置k = 1;
§7.3 求解目标规划的单纯形方法 (续) (2)检查当前第k行中是否存在大于0,且对应的前k-1行的同列检验数为零的检验数。若有取其中最大者对应的变量为换入变量,转(3)。若无这样的检验数,则转(5); (3)按单纯形法中的最小比值规则确定换出变量,当存在两个和两个以上相同的最小比值时,选取具有较高优先级别的变量为换出变量,转(4);
§7.3 求解目标规划的单纯形方法 (续) (4)按单纯形法进行基变换运算,建立新的单纯形表,(注意:要对所有的行进行转轴运算)返回(2); (5)当k = K 时,计算结束。表中的解即为满意解。否则置k = k+1,返回(2)。
§7.3 求解目标规划的单纯形方法 (续) 例7.3.1 试用单纯形法来求解例7.1.1的目标规划模型(7.1.5) Min f = P1(d1+ + d2+ ) + P2 d3+ + P3 d4- + P4(d1- + 2d2- ) s.t. x1+ d1- -d1+ = 9 x2+ d2- -d2+ = 8 4x1+ 6x2 + d3- -d3+ = 60 12x1 + 18x2+d4- -d4+ =252 x1 , x2, di- ,di+ 0 , i = 1,2,3,4.
§7.3 求解目标规划的单纯形方法 (续) 解: 首先处理初始基本可行解对应的各级检验数。 由于P1 , P2优先级对应的目标函数中不含di- , 所以其检验数只需取系数负值。分别为 ( 0,0,0,-1,0,-1,0,0,0,0 ;0) 和 ( 0,0,0, 0,0,0,0,-1,0,0 ;0)
x1 x2 d1- d1+ d2- d2+ d3- d3+ d4- d4+ RHS P1 0 0 0 -1 0 -1 0 0 0 0 0 P2 0 0 0 0 0 0 0 -1 0 0 0 P3 0 0 0 0 0 0 0 0 -1 0 0 P4 0 0 -1 0 -2 0 0 0 0 0 0 d1- 1 0 1 -1 0 0 0 0 0 0 9 d2- 0 1 0 0 1 -1 0 0 0 0 8 d3- 4 6 0 0 0 0 1 -1 0 0 60 d4- 12 18 0 0 0 0 0 0 1 -1 252
x1 x2 d1- d1+ d2- d2+ d3- d3+ d4- d4+ RHS P1 0 0 0 -1 0 -1 0 0 0 0 0 P2 0 0 0 0 0 0 0 -1 0 0 0 P3 12 18 0 0 0 0 0 0 0 -1 252 P4 0 0 -1 0 -2 0 0 0 0 0 0 d1- 1 0 1 -1 0 0 0 0 0 0 9 d2- 0 *1 0 0 1 -1 0 0 0 0 8 d3- 4 6 0 0 0 0 1 -1 0 0 60 d4- 12 18 0 0 0 0 0 0 1 -1 252
§7.3 求解目标规划的单纯形方法 (续) P3优先级对应的目标函数中含d4- ,所以其检验数需要把第四个约束行加到取负值的这一行上,得到 ( 12,18,0,0,0,0,0,0,0,-1;252 )T P4优先级对应的目标函数中含(d1- + 2d2- ),所以其检验数需要把第一个约束行与第二个约束行的2倍加到取系数负值的这一行上,得到 ( 1,2,0,-1,0,-2,0,0,0,0;25 )。 列目标规划的初始单纯形表
x1 x2 d1- d1+ d2- d2+ d3- d3+ d4- d4+ RHS P1 0 0 0 -1 0 -1 0 0 0 0 0 P2 0 0 0 0 0 0 0 -1 0 0 0 P3 12 18 0 0 0 0 0 0 0 -1 252 P4 1 2 0 -1 0 -2 0 0 0 0 25 d1- 1 0 1 -1 0 0 0 0 0 0 9 d2- 0 *1 0 0 1 -1 0 0 0 0 8 8 d3- 4 6 0 0 0 0 1 -1 0 0 60 10 d4- 12 18 0 0 0 0 0 0 1 -1 252 14
§7.3 求解目标规划的单纯形方法 (续) (1)k = 1,在初始单纯形表中基变量为 (d1-,d2-,d3-,d4-)T =(9,8,60,252)T ; (2)因为P1与P2优先级的检验数均已经为非正,所以这个单纯形表对P1与P2优先级是最优单纯形表; (3)下面考虑P3优先级,第二列的检验数为18,此为进基变量,计算相应的比值 bi/aij写在 列。通过比较,得到d2-对应的比值最小,于是取a22(标为 * 号)为转轴元进行矩阵行变换得到新的单纯形表;
x1 x2 d1- d1+ d2- d2+ d3- d3+ d4- d4+ RHS P1 0 0 0 -1 0 -1 0 0 0 0 0 P2 0 0 0 0 0 0 0 -1 0 0 0 P3 12 0 0 0 -18 18 0 0 0 -1 108 P4 1 0 0 -1 -2 0 0 0 0 0 9 d1- 1 0 1 -1 0 0 0 0 0 0 9 9 x2 0 1 0 0 1 -1 0 0 0 0 8 d3- *4 0 0 0 -6 6 1 -1 0 0 12 3 d4- 12 0 0 0 -18 18 0 0 1 -1 108 9
§7.3 求解目标规划的单纯形方法 (续) (4)下面继续考虑P3优先级,第一列的检验数为18,此为进基变量,计算相应的比值 bi/aij写在 列。通过比较,得到d3-对应的比值最小,于是取a31(标为 * 号)为转轴元进行矩阵行变换得到新的单纯形表;
x1 x2 d1- d1+ d2- d2+ d3- d3+ d4- d4+ RHS P1 0 0 0 -1 0 -1 0 0 0 0 0 P2 0 0 0 0 0 0 0 -1 0 0 0 P3 0 0 0 0 0 0 -3 3 0 -1 99 P4 0 0 0 -1 -0.5 -1.5 -.25 .25 0 0 6 d1- 0 0 1 -1 1.5 -1.5 -.25 .25 0 0 6 x2 0 1 0 0 1 -1 0 0 0 0 8 x1 1 0 0 0 -1.5 1.5 .25 -.25 0 0 3 d4- 0 0 0 0 0 0 -3 3 1 -1 99
§7.3 求解目标规划的单纯形方法 (续) (5)当前的单纯形表各优先级的检验数均满足了上述条件, 故为最优单纯形表。我们得到最优解x1=3,x2=8 。