第一章 LP问题及单纯形法A4Word格式.docx
- 文档编号:21772609
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:39
- 大小:700.19KB
第一章 LP问题及单纯形法A4Word格式.docx
《第一章 LP问题及单纯形法A4Word格式.docx》由会员分享,可在线阅读,更多相关《第一章 LP问题及单纯形法A4Word格式.docx(39页珍藏版)》请在冰豆网上搜索。
这两种产品都要分别在A、B、C、D四种不同的设备上加工。
按工艺资料规定,生产每件产品需要占用各设备的时间及各种设备每天的生产能力见下表。
问该企业每天生产Ⅰ、Ⅱ两种产品各多少件获利最大?
解:
设x1,x2分别为产品Ⅰ、Ⅱ的日产量,总利润为Z千元,则该问题的数学模型为:
式中,记号“maxZ”表示求函数Z的最大值。
例2、某饲养场要利用n种天然饲料来配制一批混合饲料,要求在这批混合饲料中必须含有m种不同的营养成份,并要求第i种营养成份的含量不低于bi;
已知第i种营养成份在第j种天然饲料中每单位的含量为aij,第j种天然饲料每单位的价格为cj,那么在保证营养的条件下,应用怎样的配比才能使混合饲料的总费用最小?
设第j种天然饲料的用量为xj(j=1,2,┄,n),混合饲料的总费用为f,则本问题可归结为以下数学模型:
线性规划模型的一般形式为:
式中,xj称为决策变量,
(1)式称为目标函数,
(2)式为约束条件,其中xj≥0又称为变量取值非负条件。
满足全部约束条件的一组变量xj(j=1,2,┄,n)的值称之为可行解。
使目标函数值Z达到最优的可行解称之为最优解。
从制定生产计划的角度来看,可行解就是一个可行的生产方案,最优解就是最优的生产方案。
在运筹学中,把这种求一组变量的值,使其满足一组只含有线性不等式或等式的约束条件,并使某个线性目标函数取得最优值(最大值或最小值)的条件极值问题称为线性规划,缩写为“LP”。
在工农业生产、交通运输等各种领域中,许多问题都可归结为LP问题。
显然线性规划问题是描述实际问题的数学模型,它具有三个组成要素:
1、决策变量:
是问题中有待确定的未知因素,用以表示LP问题中可用数量表示的方案和措施。
2、目标函数:
是LP问题中所追求的目标的数学表达式,是决策变量的函数,按目标要求加上max、min。
3、约束条件:
是实现LP问题目标的限制因素,也是资源条件对决策变量取值的限制,形式为含有决策变量的等式或不等式。
引用(“∑”)记号,LP模型的一般形式可写为:
式中,常数Cj称为价值系数,aij是直接消耗系数,即变量xj取值为1时,第i种资源的直接消耗数量,bi是第i种资源的限制用量。
LP的向量表示:
式中
C=(c1,c2,…,cn),是目标函数系数组成的行向量;
X=(x1,x2,…,xn)T,是模型中所有变量组成的列向量;
pj=(a1j,a2j,…,amj)T,是约束条件中xj的系数组成列向量;
b=(b1,b2,…,bm)T,是约束条件右边常数组成的列向量;
O=(0,0,…,0)T,是n维零向量。
LP模型的矩阵表示为:
;
建立线性规划问题数学模型的一般步骤为:
1、根据决策内容定义决策变量;
2、根据问题中目标要求建立目标函数;
3、根据问题中的了限制条件建立约束条件。
(二)线性规划模型的标准形式
为了研究LP问题的一般解法,下面我们给出LP模型的标准形式。
[定义2]我们把下面形式的线性规划模型规定为标准形
式中,
均为常数。
其矩阵形式为
式中X≥O表示所有xj≥0(j=1,2,┄,n),没有比较大小之意。
为了以后讨论问题明确起见,对标准模型还规定rank(A)=m<
n,显然去除了约束条件中多余的方程后,即可符合r(A)=m的规定。
这里又可称AX=b为约束方程组。
显然标准模型有四点要求:
1.目标函数求极大值;
2.除非负约束条件外,其他所有约束条件全为等式,且rank(A)=m<
n;
3.约束等式右端常数项bi非负;
4.决策变量取值非负。
一般线性规划模型可通过以下手段化为标准模型:
1、若目标函数为
可改为
。
这是因为
<
=>
2、若有bi<
0,可将第i个约束条件两端同乘(-1)使bi>
0;
3、对于
,可以在不等式左边加入一个松弛变量xS使之变成等式,xS表示未被充分利用的资源数量。
xS≥0;
4.对于
,可以在不等式左边减去一个剩余变量xS使之变成等式,xS表示超过决策者最低要求的数量。
5.若有变量xj无取值约束,可令
,代入模型作变量替换;
6.若有变量xi≤0时,
,代入模型作变量替换。
这样可将所有变量转化为取值非负的变量。
例8把下列线性规划问题化为标准型
=〉
(三)线性规划问题的解
若变量X=(x1,x2,…,xn)T的一组取值满足全部约束条件,则称该组变量值为LP的一个可行解,并称可行解集
为LP的可行域。
使目标函数值达到最优(最大或最小)的可行解称为LP的最优解。
目标函数的最优值是一个确定的、有限的实数。
只要最优值存在就必有最优解。
当LP有最优解时,才称该LP有解,否则为无解。
显然LP无可行解,必无解;
若LP有可行解,但其可行域无界,也属于无解。
又称这种可行解为无界解,或称LP无界。
假定rank(A)=m<
n,则A的列向量P1,P2,┄,Pn中必存在m个列向量线性无关,它们可构成可逆方阵B,我们称B为LP的一个基。
设基B=(P1,P2,┄,Pm),则称其中列向量对应的变量x1,x2,…,xm为关于基B的基变量,其它变量为非基变量。
令约束方程组AX=b中非基变量为零,求得的解称为LP的基解。
基解未必满足变量取值非负条件,所以基解不一定是可行解,如果基解满足非负条件,必是可行解。
于是我们称满足非负条件的基解为基可行解,基可行解对应的基B称为可行基。
如果某个基可行解中至少有一个基变量等于零,则称其为退化解。
例8设LP问题为
解:
因A中子矩阵
是一个基,则与P1,P2对应的变量x1,x2为基变量,令约束方程组中非基变量x3,x4=0,求得的解X1=(-4,11/2,0,0)T就是一个基解,由于X1不满足非负条件,所以X1不是可行解。
同理,
也是一个基,对应的基变量为x1,x3,令约束方程组中非基变量x2,x4=0,求得的解X2=(2/5,0,11/5,0)T也是一个基本解,由于X2满足非负条件,又是可行解,故X2是基可行解,其目标值为Z2=8.6。
与X2对应的基B2是一个可行基。
也是一个基,对应的基变量为x1,x4,令约束方程组中非基变量x2,x3=0,求得的解X3=(-1/3,0,0,11/6)T也是一个基本解,因X3不满足非负条件,故不是可行解。
也是一个基,对应的基变量为x2,x3,令约束方程组中非基变量x1,x4=0代入约束方程组求得的解X4=(0,1/2,2,0)T也是一个基本解,因X4满足非负条件,又是可行解,故X4是基可行解,其目标值为Z4=5。
与X4对应的基B4也是一个可行基。
也是一个基,对应的基变量为x2,x4,令约束方程组中非基变量x1,x3=0,求得的解X5=(0,-1/2,0,2)T也是一个基本解,因X5不满足非负条件,故不是可行解。
也是一个基,对应的基变量为x3,x4,令约束方程组中非基变量x1,x2=0,求得的解X6=(0,0,1,1)T也是一个基本解,因X6满足非负条件,又是可行解,故X6是基可行解,其目标值为Z6=5。
与X6对应的基B6是一个可行基。
由此可见,只有找出可行基才能求出基可行解。
因为上述三个基可行解X2,X4,X6中X2对应的目标函数值Z2=8.6最大,所以X2是最优解。
以后我们就是要在基可行解中去寻求最优解。
由上例我们不难看出,当约束条件较多时(A必较大),这时要从A中确定一个可行基并非易事,而如果确定不了可行基,就求不出基可行解。
为此,我们通常把松弛变量确定为基变量,因为松弛变量在A中对应的列向量为单位向量。
如果每个约束方程中都有一个松弛变量,则这些松弛变量在A中对应的单位列向量可以组成一个单位矩阵,这个单位矩阵必为可行基。
如果有的约束方程中没有松弛变量,我们还可以人为制造一些人工变量来构造可行基,这一方法将在下一节介绍。
2两个变量LP问题的图解法
图解法的步骤为:
1.建立直角坐标系;
2.图示约束条件找到可行域R;
3.图示目标函数,寻求最优解。
例1用图解法求解下列线性规划问题
显然两个变量的取值(x1,x2)可用坐标平面上动点的坐标(x1,x2)来表示,而每个约束不等式则表示一个半平面,比如,x1+x2≤12就是以直线x1+x2=12为边界的左下方的半平面。
因为其左下方半平面上任一点的坐标值均满足x1+x2≤12,而左上方的点均不满足。
由此可知,满足六个约束不等式的点应属于六个半平面的公共部分(包括边界线),即图1-1中的五边形OQ1Q2Q3Q4。
因此,可行域R是由这些半平面公共部分构成的点集。
不同的LP问题,可行域R可以是空集、单点集、射线、线段,但一般在多维情况下是有界或无界的凸多面体。
可行域点集(空集除外)均有一个特点,即在这种点集中任取两个点,则连结这两点的线段上的点仍属于该点集。
这种的点集称为凸集。
下面给出凸集的数学定义。
[定义3]设C是一点集,若在C中任取两个点X1、X2,对任意实数α∈[0,1]均有αX1+(1-α)X2∈C,则称点集C为凸集。
空集可看成凸集的特例。
[定义4]设X是凸集C中的一个点,若不存在X1,X2∈C,X1≠X2及实数α∈(0,1)使
X=αX1+(1-α)X2
则称X是凸集C的极点(顶点)。
显然凸多边形、凸多面体的顶点均为极点。
求解LP问题就是在特定的凸集(可行域)上寻找使目标函数值达到最优的点X*=(x1*,x2*)。
为此,我们考察目标函数直线族:
L:
2x1+3x2=z
对应不同的Z值有不同的直线,但在其中任一条直线上,各点对应的目标函数值均相等,因此称它们为目标函数“等值线”。
显然L是平行的等值线族。
当Z值增加时,直线向右上方平移,直线与可行域R的交点坐标均为Z值相等的可行解,当直线平移到可行域的边界时,与可行域R仅有一个交点Q2,这时目标函数Z值达到最大(与R上其他点比较),因此Q2点的坐标(4,2)是最优解,对应的目标函数最优值Z*=14。
图1-1
根据图解法,我们一难看出LP问题解的各种可能情况。
1、有唯一最优解。
如Q2。
2、无穷多最优解。
当目标函数等值线与可行域某一边界线平行时。
3、无界解。
当可行域无界时,可能出现。
4、无可行解。
若上例中第一个约束条件是“≥”号,这样就不能构成可行域,于是R=Ф。
综上,由图解法我们还可以得到如下启示。
1.若LP的可行域R存在,则可行域必是一个凸集。
2.若R=Ф,则该LP无可行解。
3.若R≠Ф,且为有界的凸集,则必有最优解(可能唯一,也可能无穷多);
如果R是无界凸集,则最优解可能存在且唯一,也可能有无穷多,还可能无解。
4.最优解一定在可行域顶点处达到,而且可行域的每个顶点对应着一个基本可行解,如O(0,0),Q1(4,0),Q2(4,2),Q3(2,3),Q4(0,3)都是基本可行解。
5.求解思路:
从任一顶点开始,比较相邻顶点的目标函数值找出目标函数值最优的顶点即为最优解所对应的顶点。
3线性规划的单纯形解法
由图解法得到的结论可知,LP的最优解如果存在,一定可以在其可行域的顶点上达到。
对于有界的可行域,其顶点个数是有限的,因此,求LP的最优解,只要在可行域的有限个顶点上去找即可。
另外,根据LP的有关理论知,LP的可行域顶点与其基本可行解一一对应,于是求LP的最优解时,只要从基本可行解中去找。
这就是单纯形解法的思想,单纯形解法是求解LP的最有效的方法之一。
具体过程是先找一个基本可行解,然后判断其是否为最优解,如果不是,就去寻找另一个更好的基可行解,再判断,如此下去,直到找出最优解或判断出无最优解为止。
为此本节我们要解决三个问题:
第一,如何找到第一个(初始的)基本可行解;
第二,如何判断求得的基本可行解是否为是最优解;
第三,如果判断出所求基本可行解不是最优解,又如何寻找另一个更好的基可行解。
下面我们直接用例子来单纯形法的原理及计算步骤。
例3-1求解第一节中例1-2的LP问题。
(1)将原LP模型化成标准形,即
(2)求初始基可行解
当每个约束方程中都有松弛变量时,我们可以取所有松弛变量作为基变量。
这是因为在系数矩阵A中,松弛变量对应的系数列向量是单位向量,这些单位向量能构成单位矩阵。
又因为以此单位矩阵作为基一定能求得基可行解,所以该单位矩阵就是可行基。
对应的松弛变量就是基变量。
对于约束方程中没有松弛变量的情况,我们可以人为地构造基变量(即构造可行基),具体方法在下节中讨论。
本例中我们选松弛变量x3,x4,x5,x6为基变量,令非基变量x1=x2=0,即可解得初始基可行解X1=(0,0,12,8,16,12)T,为便于检验求得的解是否最优和进一步求解,我们把上述模型用表格表示,称之为单纯形表(见表1)。
表1(初始单纯形表)
基变量XB
X1X2X3X4X5X6
bθ>
X3
X4
X5
X6
221000
120100
400010
0[4]0001
1212/2
88/2
16——
1212/4→
检验数σj
23↑0000
显然表中基变量的值就是最后一列的常数,非基变量值总是取零。
于是由一张单纯形表就能直接读出一个基可行解。
即X1=(0,0,12,8,16,12)T,对应的目标函数值Z(X1)=0。
(3)最优性检验(即最优解的判断)
当目标函数中不含基变量时,目标函数中决策变量的系数具有判断最优解的作用,因此称其为检验数,记为σj(j=1,2,┄,n)。
我们把检验数σj写入表中最后一行。
检验上表中的解是否为最优解的准则是:
当所有检验数无正数时,即所有σj≤0时,表中给出的解就是最优解。
也就是说我们只要看看表中最后一行检验数中有没有正数即可,有就不是,没有就是。
这是因为如果有正检验数,则目标函数值还能变大,比如,表中σ1=2,σ2=3,是正数,表示目标函数中x1,x2的系数都是正数,于是当x1,x2变成基变量,取值由0变成正数时,目标函数值就会变大。
所以X1不是最优解。
注意:
检验数必须是不含基变量的目标函数中决策变量的系数。
如果目标函数中含有基变量,可用消元法把其中基变量消去,求出原目标函数的不含基变量的等价目标函数才能得到检验数。
(4)求另一个目标值更大的基可行解
为了求另一个目标值更大的新基可行解,我们必须从非基变量x1,x2中选择一个调入基变量,使其取值由0变成一个正数,这样目标函数值Z才会变大,这里称被调入的变量为进基变量。
确定一个进基变量后,基变量就多一个,为此,还要从原基变量中选择一个调出,使其变成非基变量,取值变为0,称这个调出变量为出基变量。
我们把用一个非基变量替换一个基变量的过程称为换基迭代。
为了从非基变量x1,x2中选出一个进基变量,我们来比较一下它们分别进基后的效果。
如果让x1进基,令x1=θ>
0,x2仍为0,则Z=2θ;
如果让x2进基,令x2=θ>
0,x1仍为0,则Z=3θ。
由此可见,选正系数大的x2进基比正系数小的x1进基更好,因为目标函数值Z增加得多。
所以我们先选正系数大的x2进基(一次只能选一个,不要同时进基)。
从表上看,x2对应的正检验数最大,于是称这种确定进基变量的原则为最大正检验数原则。
即由最大正检验数确定进基变量。
x2进基后,基变量多一个,为此,还要从原基变量中选一个调出变成非基变量,取值变为0。
由于换基后的新解是否可行,与x2进基后的取值大小有关,为此,我们令x2=θ>
0,将约束方程组改写为:
x3=12-2x1-2x2=12-2θ≥0,于是θ≤12/2
x4=8-x1-2x2=8-2θ≥0,于是θ≤8/2
x5=16-4x1=16≥0,与θ大小无关
x6=12-4x2=12-4θ≥0,于是θ≤12/4
由此可见,要使换基后的新解可行,x2进基后的取值
θ=min(12/2,8/2,12/4)=12/4=3
这就是说,要使换基后的新解可行,x2进基后的最大取值应是上述三个比值中的最小比值12/4=3。
从单纯形表上不难看出,上面的比值θ就是各约束方程的右边常数bi与进基变量x2列正系数ai2>
0的比值。
因此我们可以在表上直接计算比值θ(见表1)。
当x2=12/4=3时,约束方程4x2+x6=12中x6=0,正好符合基变量出基后变成非基变量的取值变为0的条件,于是我们就选择该方程中x6为出基变量。
从表上看,x6就是最小正比值12/4所在行上的基变量。
因此在表上算出最小正比值,就能确定出基变量。
人们称这种确定出基变量的原则为最小正比值原则。
为了便于求得新的基可行解,我们把约束方程4x2+x6=12两边除以4,再把x2=3-x6/4分别代入其他方程和目标函数消去其中x2。
这样可得到了一个与原LP问题同解的等价模型。
把该等价模型用单纯形表表示即表2。
表中给出了另一个基可行解X2=(0,3,6,2,16,0)T,对应的目标值为:
Z(X2)=9>
Z(X1)=0,
这表明新解X2的目标值要比X1目标值大。
至此第三个问题解决了。
对新解X2再检验,因表2中检验数行仍有正数,所以X2仍不是最优解。
为此,要重复上述过程(4),再求更好的基可行解。
以后这一换基迭代过程都在表上完成,不必写出说明。
并且各张单纯形表可连在一起,这样可以省去表头(见表3)。
为了说明在表上迭代求解步骤,我们把进基变量列与出基变量行交点上的元素称为主元素,可以加括号或画上圈来标明。
表3
现在归纳一下单纯形法的计算步骤。
1、将模型化为标准形,并确定基变量和检验数;
2、建立初始单纯形表;
3、最优性检验。
检验准则是:
当σj≤0时,则表中给出的解即为最优解。
若不是最优解,转下一步;
4、求另一个目标值更大的基可行解。
1按最大正检验数原则确定进基变量;
2按最小正比值原则确定出基变量;
3为了能在新表中直接给出新解,我们要将进基变量列变成单位向量。
为此,我们用矩阵的初等行变换把主元素变成“1”(即将主元素行除以主元素),再把主元素列的其他元素消成“0”。
计算结果填入新表中。
新表中给出的新解是不是最优解,还要返回第3步去检验,如此重复迭代,直到求出最优解或判断出无最优解为止。
关于无解的判断和最优解不唯一的情况,我们用下面的例子来说明。
例3-2、用单纯形法求解下列LP问题。
(显然LP1中目标函数等值线与第二个约束条件对应的边界线平行)
1、将LP1化为标准形列表求解:
因第二个单纯形表中所有检验数均非正,所以最优解为:
x1=0,x2=4,x3=2,x4=0,对应maxZ=8。
但是在检验数行中有一个非基变量x1的检验数是0,遇到这种情况可以证明该问题有无穷多最优解,因为第二个表中检验数行对应的等价目标函数为Z=0×
x1-x4+8,所以让x1进基取正数值,得到的新解目标函数值仍然是8。
这说明可求出两个最优解(见表)。
两个不同的最优解对应着可行域的两个顶点,于是连接这两个顶点的线段上的点都是最优解。
由此我们可以给出一个判断准则:
当单纯形表中所有检验数均非正时,若还有非基变量的检验数等于0,则表明该LP问题有无穷最优解。
2、将LP2化为标准形列表求解:
在第二个表中,按最大正检验数原则确定进基变量时,x2应为“进基”变量,但此时无法按最小正比值确定“出基”变量,因为进基变量x2列无正数,遇到这种情况可证明该LP问题无界(即无最优解)。
因LP2的标准形为:
若取约束方程组中x1=x2=θ≥0,可得一可行解为x1=θ,x2=θ,x2=θ+4,x4=2,对应的目标函数值为Z=3θ,于是有
,即当x2取值很大时,Z→∞。
由此我们又可以给出一个判断准则:
在迭代求解中,当出现进基变量列无正数时,就得不到正的比值θ,从而无法确定出基变量,此时可断定该LP问题无界(即无最优解)。
练习题:
用单纯形法求解下面LP问题
答案:
X1=4,X2=6,X3=0,对应的目标函数值为12。
上面我们介绍了单纯形算法,其中检验数是用矩阵的初等行变换计算的。
关于检验数也可以用公式来计算,下面我们来推导检验数的计算公式。
一般线性规划标准模型的矩阵形式为
假设B=(P1,P2,┄,Pm)为一个可行基,则系数矩阵A可分块写成:
A=(P1,P2,┄,Pm|Pm+1,┄,Pn)=(BN),
再记
C=(C1,┄,Cm,|Cm+1,┄,Cn)=(CBCN)
则有:
于是一般LP模型的标准形可改写为:
因前面假设B是可行基,则B-1存在。
用B-1左乘约束方程BXB+NXN=b两边得:
XB=B-1b–B-1NXN
将它代入目标函数式中消去基变量XB得其等价的目标函数为:
Z=CBB-1b+(CN—CBB-1N)XN
式中CBB-1b是一个常数,(CN—
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第一章 LP问题及单纯形法A4 LP 问题 单纯 A4
![提示](https://static.bdocx.com/images/bang_tan.gif)