运筹学复习资料(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运筹学复习
一、单纯形方法(表格、人工变量、基础知识)
线性规划解的情况:唯一最优解、多重最优解、无界解、无解。
其中,可行域无界,并不意味着目标函数值无界。
无界可行域对应着解的情况有:唯一最优解、多重最优解、无界解。
有界可行域对应唯一最优解和多重最优解两种情况。
线性规划解得基本性质有:满足线性规划约束条件的可行解集(可行域)构成一个凸多边形;凸多边形的顶点(极点)与基本可行解一一对应(即一个基本可行解对应一个顶点);线性规划问题若有最优解,则最优解一定在凸多边形的某个顶点上取得。
单纯形法解决线性规划问题时,在换基迭代过程中,进基的非基变量的选择要利用比值法,这个方法是保证进基后的单纯型依然在解上可行。
换基迭代要求除了进基的非基变量外,其余非基变量全为零。
检验最优性的一个方法是在目标函数中,用非基变量表示基变量。
要求检验数全部小于等于零。
“当x
1由0变到45/2时,x
3
首先变为0,故x
3
为退出基变量。
”这句话是最
小比值法的一种通俗的说法,但是很有意义。
这里,x
1为进基变量,x
3
为出基变
量。
将约束方程化为每个方程只含一个基变量,目标函数表示成非基变量的函数。
单纯型原理的矩阵描述。
在单纯型原理的表格解法中,有一个有趣的现象就是,单纯型表中的某一列的组成的列向量等于它所在的单纯型矩阵的最初的基矩阵的m*m矩阵与其最初的那一列向量的乘积。
最初基变量对应的基矩阵的逆矩阵。
这个样子:
'1
222 1 0 -32580 1 010 0 158P B P -⎡⎤⎡⎤⎡⎤
⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥
⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦
51=5
所有的检验数均小于或等于零,有最优解。
但是如果出现非基变量的检验数
为0,则有无穷多的最优解,这时应该继续迭代。
解的结果应该是:
X *= a X 1*+(1-a)X 2* (0<=a<=1)
说明:最优解有时不唯一,但最优值唯一;在实际应用中,有多种方案可供选择;当问题有两个不同的最优解时,问题有无穷多个最优解。
无最优解的情况就是:应该进基的变量所对应的列的系数全部小于零。
若存在某个λj >0,且所有的a ij <0,则不存在有界最优解。
人为地构造一个单位矩阵来充当初始可行基,再通过单纯形迭代将它们逐个地从基变量中替换出来。
若经过基的变换,基变量中不再含有非零的人工变量,这表示原问题有解。
若在最终表中当所有C j -z j ≤ 0 ,而在其中还有某个非零人工变量,这表示无可行解。
大M 法原理核心:打破原来的约束,再设法恢复。
大M 法基本思想:假定人工变量在基变量中的价值系数为一个绝对值很大的-M (M>>0,对于极小化问题用+M),这样只要基变量中还存在人工变量,目标函数就不可能实现极值。
两阶段法原理:第一阶段是据给定的问题构造其辅助问题,为原问题求初始基本可行解。
加上人工变量后,要求的就是人工变量退出,辅助问题是人工变量之和的最小值必须为零。
第二阶段是将第一阶段求出的最优解,作为第二阶段的初始基本可行解,然后在原问题的目标函数下进行优化,以决定原问题的最优解。
注意:单纯形法中
1.每一步运算只能用矩阵初等行变换;
2.表中第3列(b列)的数总应保持非负(≥0);
3.当所有检验数均非正(≤0)时,得到最优单纯形表。
若直接对目标求最
h,要求所有检验数均非负;
4.当最优单纯形表存在非基变量对应的检验数为零时,可能存在无穷多解;
5.关于退化和循环。
如果在一个基本可行解的基变量中至少有一个分量
x
=0 (i=1,2,…,m),则称此基本可行解是退化的基本可行解。
一般情况下,退Bi
化的基本可行解(极点)是由若干个不同的基本可行解(极点)在特殊情况下合
并成一个基本可行解(极点)而形成的。
退化的结构对单纯形迭代会造成不利的
影响。
可能出现以下情况:①进行进基、出基变换后,虽然改变了基,但没有改变
基本可行解(极点),目标函数当然也不会改进。
进行若干次基变换后,才脱离
退化基本可行解(极点),进入其他基本可行解(极点)。
这种情况会增加迭代次
数,使单纯形法收敛的速度减慢。
②在特殊情况下,退化会出现基的循环,一旦
出现这样的情况,单纯形迭代将永远停留在同一极点上,因而无法求得最优解。
二、对偶问题和灵敏度分析
对偶问题的基本性质:对偶问题(D)的对偶问题,是原问题(P);若X/是问题
(P)的一可行解, Y/是问题(D)的一个可行解,则有:CX/≤Y/b。
若X*,Y*分别为问
题(P)和问题(D)的可行解,且CX*=Y*b;则X*和Y*分别为问题(P)和问题(D)的最
优解。
若问题(P)的目标函数值Z无上界,则问题(D)无可行解;若问题(D)的目
标函数值W无下界,则问题(P) 无可行解。
对偶定理:若问题(P)和问题(D)
之一有最优解,则另一个问题也一定有最优解,且目标函数值相等。
由对偶定理可知,从原问题的最终单纯表中可直接得到其对偶问题的最优
解。
在两个互为对偶的线性规划中,可任选一个进行求解。
若X*,Y*分别为问题(P)和问题(D)的可行解,且CX*=Y*b;则,X*和Y*分别为
问题(P)和问题(D)的最优解。
用对偶性质重新解释单纯形法。
单纯形法:在整个迭代过程中,始终保持该问题解的可行性(即满足 01≥='-b B b )
,而其对偶问题的互补解初始时并不满足可行性条件(即检验数不完全部小于等于0);当不可行性完全消失(即满足1j j B j
c C B P λ-=- ≤0)时,原问题
和对偶问题同时达到最优。
对偶单纯形法:在整个迭代过程中,始终保持其对偶问题解的可行性(即
1j j B j
c C B P λ-=- ≤0),而该问题的初始解并不满足可行性条件(即不完全部大于等于
0);当不可行性完全消失(即满足01≥='-b B b )时,原问题和对偶问题同时达到最优。
对偶单纯形法步骤:
列出初始单纯形表,保证所有的检验数01≤-=-j B j j
P B C c λ;
检验:若满足01
≥='-b B b ,则获得最优解,否则下一步;
基变换首先确定退出基变量,其次决定进入基变量, 然后求新的基本可行解。
返回到(2)。
影子价格(对偶问题的经济解释)
三种资源A 、B 、C ,价格为Y *=(7/2,0,1/2),三种资源剩余量分别为(0,25/2,0),目标函数:W =7/2×45 +0×80 +1/2×90 = 405/2。
经济意义:反映了资源与总收益之间的关系,即当第i 种资源每增加一个单位时,在其他条件不变的情况下,该资源对目标值的贡献就是y i 。
灵敏度分析研究线性规划中,j i ij c b a ,,的变化对最优解的影响。
目标函数系数C (价格)变化的灵敏度分析:C 的变化导致检验数的变化,如果新的检验数小于等于零,则原来的解依然是最优解;如果新的检验数大于零,那么新的问题还没有取到最优解,还需要进一步运算才行。
01≤--N B C C B N 是判断
是否继续的标准。
内时,最优解不变
在范围的改变量
当是非基变量的系数,则:若1结论i i i i i c c c c λ-≤∆∆
内时,最优解不变,0|min ,0|max 在范围
的改变量是基变量的系数,则当:若2结论⎭⎬⎫
⎩⎨⎧∈<''≤∆≤⎭⎬⎫⎩⎨⎧∈>''∆N P a a c N P a a c c c j ij ij j i j ij
ij j i i i λλ 对于基变量的变化,变化值如果小于检验数的相反数,则最优解不变。
基便量系数发生改变将改变所有变量检验数。
增加一个新变量的灵敏度分析:如果该行的检验数为小于等于零,那么新变量为非基变量,此表达到最优。
反之,就要迭代求解。
如何求检验数很重要,要用到第一章中的知识。
比较。
0与111
+-+-n B n P B C c 这里要了解各项的含义。
增加一个新约束的灵敏度分析,将最优解代入新的约束中,若满足新约束,则原最优解不变;若不满足新约束,则原最优解改变,将新增的约束条件添入最终的单纯形表中,并增加一个基变量,继续迭代。
添加新约束后,有时要对原问题所对偶单纯形法,并且要消元构造单位阵,基矩阵。
新约束条件的常数项至少为多少时不影响原最优解
对偶单纯形法非常重要!
三.运输问题
运输问题的一般描述:设某种物资有m 个产地 A1 A2,…,Am ,其产量分别为 a1 a2,…,am ,另外有n 个销地 B1 B2,…,Bn ,其销量分别为 b1 b2,…,bn ,已知从Ai 到Bj 的单位运费为Cij(i=1,2,…,m;j=1,2,…,n),试问应如何组织调运才能使总运费最低。
产销平衡运输问题模型特点:由平衡条件易知:m+n 个方程线性相关,而任意m+n –1个方程线性无关;基变量的个数为m+n –1,非基变量的个数为mn-(m+n –1)=(m –1)(n –1)≥1,有无限多方案;系数矩阵只包括1和0。
有产销不平衡问题,a 的和大于b 的和,为产大于销的问题。
解决运输问题应该运用运输单纯型法,步骤是:
(1)确定初始基本可行解(初始方案),这里有最小元素法和元素差额法。
最小元素法:列出运输表,表中x ij 位置暂先空着,在表中找出单位运价最
小者C
kt ,取x
kt
=min{a
k
,b
t
}把x
kt
的值填在相应的格内(若有几个单位运价同时达
到最小,就任取其中之一);如果a
k >b
t
划去第t列,第k行的产量调整为a
k
-b
t
;
如果 a
k <b
t
划去第k行,第t列的销量调整为b
t
-a
k
;如果 a
k
=b
t
划去第t列,第
k行的产量调整为0,或划去第k行,第t列的销量调整为0。
(2)检验(计算所有非基变量x
ij
的检验数)——位势法。
位势法:首先将数字格(基变量)的单价C
ij 分解为行位u
i
和列位v
j
即:u
i
+v
j
=C
ij
(数字格)。
根据方程组解出u
i 和v
j
;然后通过u
i
和v
j
计算出非基变量的检验数。
通常令u
1=0解方程组,得行列的位势值。
其中,非基变量检验数为C
ij
-(u
i
+v
j
)。
最优性条件:所有的非基变量检验数均大于等于0,若不满足此条件转入(3)。
(3)基变换(方案改进)。
闭回路(几何)法:从空格(非基变量所在格)出发,沿垂直或水平方向前进;在前进的过程中可穿过数字格、也可穿过空格,在某个适当的数字格内转弯(900),经过这样若干次转向后回到出发点,形成一个闭回路。
可以证明*:每一个空格都有并且只有一条闭回路(存在且唯一),其形状可能是矩形、也可能是曲折的多边形。
然后确定进基变量和退基变量,进基变量就是检验数小于0的空格,退基变量是从该进基变量出发,运用闭回路法,在转角处,从起点开始标“+”、“-”、“+”、“-”,标“-”的量中,最小的一个退基,减去运输量值,其余的标“+”的加上该运输量值,标“-”的减去该运输量值。
产销不平衡问题:要虚设一个行或列,这里,(1)有数字格(基变量)的个数为m+n-1,如果缺少数字必须添0补救;(2)当最终表中某个非基变量检验数为0时,表明该问题有两个基本可行解均为最优解。
四.目标规划和整数规划
目标规划分为单目标规划、多目标规划。
多目标规划中有级别相同的目标规划和具有优先级目标规划。
假设利润目标为140(百元),此目标称之为预定目标,实际完成的量与预
定目标之间可能出现偏差,通常用d+、d-(d+、d-≥0)表示,称为偏差变量。
其中:d+表示超过预定指标的部分,d-表示未达到预定指标的部分。
在客观条件下,最终完成的结果可能出现以下三种情况:①d+>0,d-=0表明超额完成预定指标;
②d->0,d+=0表明未达到预定指标;③d+ =d- =0表明恰好完成预定指标。
在新的规划问题中,需要添加一个目标约束,目标约束的形式由其具体要完
成的目标表示,比如,原来的线性规划的目标函数是MaxZ=8x
1 + 6x
2
,现在的新
的线性规划中就要添加这样的目标约束:8x
1 + 6x
2
+d---d+=140。
意思就是:尽量
达到这个目标,如果达不到,加上一个便可以达到了。
目标规划中,重要特征如下:①增加了目标约束;②目标中只出现偏差变量且为求极小化问题;③d+×d-=0。
单目标规划求解:用单纯形法求满意解,注意求极小化问题最优性条件是检验数全部大于等于零。
多目标规划求解中级别相同的多目标规划的数学模型:实现利润目标122(百元),产品A的产量不多于10,这时设:d i+,d i-(i=1,2)分别为超过目标值的部分,及未完成目标值的部分。
目标函数是minZ=d1-+d2+
目标约束是:8x
1 + 6x
2
+d1-- d1+=122和x1+d2--d2+=10。
这里,分析一下语句,实现目标利润为122百元,但是有可能达不到这个数,所以,尽量达不到的负偏差变量要小。
A的产量不多于10,即便多于10,也没关系,但是正偏差变量要尽量小。
因此,得目标函数。
多目标规划求解中具有优先级的多目标规划数学模型:P1:充分利用设备有效台时,不加班;P2:产品B的产量不多于4;P3:实现利润130(百元)。
最重要的是1号,在2号和3号完不成的情况下,也要优先保证1号完成。
但是,并不是说,1号完成之后,2号和3号才能完成。
在实际生活中,也有1号未完成但是2号和3号完成的情况。
模型约束:4x
1 + 2x
2
+ d1-- d1+= 60 ①
x
2
+ d2-- d2+= 4 ②
8x
1 + 6x
2
+ d3-- d3+= 130 ③
2x
1 + 4x
2
≤48 ④
x
1,x
2
,d i+,d i-(i=1,2,3) ≥0
目标函数:MIN Z(x)= P1(d1- + d1+)+ P2 d2++ P3d3-
在这里,1号目标是正负偏差量之和,就是取要恰好达到之意。
图解法求解目标规划:按照上面的规划,可以有下列步骤:(1)根据系统约束④,确定可行域;(2)不考虑偏差,即:d i+=d i-=0(i=1,2,3),然后按顺序作出目标约束相应的直线,并标出d i+>0,d i->0的方向;(3)按优先顺序找出该目标的满意解。
目标规划的目标:(1)决策人希望恰好实现预定的第i个目标,Min Z=d i++
d i -;(2)决策人不希望超过预定的第i个目标,MinZ=d
i
+;(3)决策人希望超过
预定的第i个目标,minZ=d i-。
整数规划:线性规划中要求决策变量全部或部分为整数。
分为以下,纯整数
规划:所有决策变量x
j
(j=1,2,…,n)均取整数;混合整数规划:部分决策变量取整数;0-1整数规划:所有决策变量只取0或1,这类变量又称为逻辑变量。
经典方法是分支定界法和割平面法。
分支定界法步骤:
先不考虑变量的整数约束,求解相应的线性规划;
分支:如果求解某一个值并非整数,那么就予以分支,比如,由于x
1,x
2
均不满足整数条件,故可由x
1(或x
2
)进行分枝,使x
1
满足:x
1
≤3 或 x
1
≥4,
将3< x
1<4 的非整数部分割掉,于是问题B
分成了两个子问题B
1
,B
2
,然后分别
求出其最优解,B
1
最优解:X1*=(3,8/3),Z1=141/3,B2最优解X2*=(4,1),Z2=14;
定界:问题(B
2)已获得整数最优解,可将Z
2
=14作为问题(A)的下界,同
时将Z
0=143/4作为问题(A)的上界。
可以断定Z
2
=14≤ Z < Z
=143/4;
返回到(2)继续对B
1中的x
2
进行分枝,使x
2
满足:x
2
≤2或x
2
≥3将2< x
2
<
3之间的非整数部分割掉。
于是问题B 2又分成了两个子问题B 3和B 4再分别求出其最优解。
割平面法步骤:
不考虑其整数条件,用单纯形法求解相应的线性规划问题,求出最终单纯形表;
构造Gomory 约束(割平面):在最终单纯形表中,任意选择一个非整数变量(如x 2),写出该变量所在行的方程式:x 2 + 1/2x 3–1/2x 4=5/2,将各变量的系数及常数项分解为整数与非负真分数之和;再将系数为整数的变量移到方程式左端,系数为分数的变量移到方程式右端,x 2–x 4-2=1/2-(1/2x 3+1/2x 4)。
求得Gomory 约束为:1/2-(1/2x 3+1/2x 4)≤0
将Gomory 约束化为方程,填入到最终单纯形表中,继续求问题的最优解。
用对偶单纯性法求解。
分派问题使用0-1整数规划的一种特殊类型,但是由于它的形式比较特殊,所以有自己特殊的解法。
有n 项任务,指派n 个人(广义)去完成,第i 个人完成第j 项任务的效率为C ij (i=1,2,…,n;j=1,2,…,n);要求每个人只能承担一项任务,并且每一项任务都有一个人个来承担;问如何分派可以使总的效率达到最高。
(C ij )为效率矩阵。
建立数学模型:1,分派第i 个人去承担第j 项任务;0,不分派第i 个人去承担第j 项任务。
要求每人只能承担一项工作,每项工作只能由一个人来承担。
它是特殊的0-1规划;它是m=n ,a i =b j =1的特殊运输问题;它的所有可行解的个数为n !。
同解性原理:如果在效率矩阵(C ij )的第i (i=1,2,…,n )行(列)加(减)一个常数k i ,那么新效率矩阵与原效率矩阵有相同的最优解。
匈牙利解法:
化简效率矩阵:使其每行、每列至少有一个零元素;
检验:用尽可能少的直线去覆盖所有的零元素,当覆盖线的条数n 0=n 时,可转入(4)确定最优方案,当 n 0<n 时转入下一步(3)继续化简;
移动零元素:在未被直线覆盖的元素中找出最小元,对不在覆盖线上的元素减去这个最小元,在两覆盖线交点上加上这个最小元,其他元素不变。
具体步骤:
变换指派问题的费用矩阵,使其在各行各列都出现0元素,首先每行元素减去该行的最小元素,然后每列减去该列的最小元素;
进行试指派(画○),从含0元素最少的行或列开始,圈出一个0元素,用○表示,然后划去该○所在的行和列中的其余0元素,用×表示,依次类推。
若矩阵中的○的个数等于n,则得最优解,若矩阵中的○的个数<n,则进行第三步;
做能复盖所有0元素的最小直线集合:对没有○的行打√号、对打√号的行上所有0元素的列打√号、再对打√号的列上所有○的行打√号、重复以上步骤直到得不出新的打√号为止,对没有打√号的行画横线,所有打√号的列画纵线,所得到的直线既是复盖所有0元素的最小直线集合;
在没有被直线复盖的元素中找出最小元素,让打√号的列加上这个元素,打√号的行减去这个元素。
求最大效率的问题,求最小效率的问题,都很重要。
五.矩阵对策
我们称具有对策行为的模型为对策模型或对策。
对策模型的种类可以千差万别,但本质上都必须包括三个基本要素:
局中人,一场竞争或斗争称为一局对策,一局对策中的决策者称为该局对策的局中人(只有两个局中人,称为两人对策;两人以上称为多人对策)。
策略,一局对策中,可供局中人选择的一个实际可行的完整的行动方案称为一个策略。
策略的全体称为策略集,策略集可以是有限或无限的。
若策略集为有限集称为有限对策,否则称为无限对策。
参加对策的每个局中人(i∈I)都有自己的策略集,一般,每一局中人的策略集中至少应包括两个策略。
局中人Ⅰ策略
集合: S1={α
1,α
2
,…,α
m
},局中人Ⅱ策略集合: S2={β
1
,β
2
,…,β
n
}{α
i
,
β
j
}称为局势。
策略不能只理解为局中人的一个“动作”。
某局中人在一个对策中的一个策略,是指他为对付其他局中人而采取的一个从头到尾的整个行动方案。
赢得函数或称支付函数(简称支付),在一局对策中,当局势给定以后,就用一个数来表示得失(或输赢),显然,这种“得失”或“输赢”是局势的函数,
称为支付函数。
s
i 是第i个局中人的一个策略,则n个局中人的策略组 S=(s
1
,
s 2…s
n
)称为一个局势。
当局势出现后,对策结果也就确定了,即对任一局势S,
局中人i可能得到一个赢得H。
显然H是局势S的函数,称为第i个局中人的赢得函数(支付函数)。
齐王赛马中,局中人集合I={1,2}齐王的策略集用{α
1 ,α
2,
,α
3
,α
4
,
α
5 ,α
6
}表示田忌的策略集用{β
1
,β
2,
,β
3
,β
4
,β
5
,β
6
}表示,这样齐王
的任一策略α
i 和田忌的任一策略β
j
,就决定了一个局势S
ij
,如果α
1
=(上、中、
下)、β
1 =(上、中、下)则在局势S
11
下齐王的赢得值为H
1
(S
11
)=3。
田忌的
赢得值为H
2(S
11
)=-3。
零和对策:若在一局对策中,全体局中人的支付总和为0,则将该对策称为零和对策,否则称为非零和对策。
有限二人零和对策也称为矩阵对策。
11。