【精品】单纯形法求解全过程详解
- 格式:pdf
- 大小:444.89 KB
- 文档页数:9
线性规划问题解法:(1)图解法: 优点---只管易掌握,有助于理解结构。
缺点---只能解决低维的问题,对高维无能为力。
(2)单纯形法:单纯形法把寻优的目标集中在所有基本可行解(即可行域顶点)中。
单纯形法的一般步骤如下:1、寻找一个初始的基本可行解。
2、检查现行的基本可行解是否最优,如果为最优,则停止迭代,已找到最优解,否则转一步。
3、移至目标函数值有所改善的另一个基本可行解,然后转会到步骤(2)。
步骤1: 约束方程 表示为: 用可行基B的逆阵B-1左乘等式两端,再通过移项可推得: 若令所有非基变量 ,则基变量 由此可得初始的基本可行解:其过程为:存在问题:1、要判断m 个系数列向量是否恰好构成一个基并不是一件容易的事。
基由系数矩阵A中m 个线性无关的系数列向量构成。
但是要判断m 个系数列向量是否线性无关并非易事。
2、即使系数矩阵A中找到了一个基B ,也不能保证该基恰好是可行基。
因为不能保证基变量XB =B-1b ≥0。
3、为了求得基本可行解,必须求基B的逆阵B-1。
但是求逆阵B-1也是一件麻烦的事。
结论:在线性规划标准化过程中设法得到一个m 阶单位矩阵I 作为初始可行基B为了设法得到一个m 阶单位矩阵I 作为初始可行基B,可在规划标准化过程中作如下处理:1、若在化标准形式前,m 个约束方程都是“≤”的形式,那么在化标准形时只需在一个约束不等式左端都加上一个松弛变量x n+i (i=12…m)。
2、若在化标准形式前,约束方程中有“≥”不等式,那么在化标准形时除了在方程式左端减去剩余变量使不等式变成等式以外,还必须在左端再加上一个非负新变量,称为人工变量.3、若在化标准形式前,约束方程中有等式方程,那么可以直接在等式左端添加人工变量。
【步骤一完成:寻找一个初始的基本可行解】 AX=bB B N N X AX=(BN)=BX +NX =bX ⎛⎫ ⎪⎝⎭-1-1B N X =B b-B NX N X =0-1B X =B b1B b X=0-⎛⎫ ⎪⎝⎭-1-1-1B N B N N B AX=b BX +NX =b X =B b-B NX X =0,X =B b→→→步骤2: 假如已求得一个基本可行解将这一基本可行解代入目标函数,可求得相应的目标函数值其中 分别表示基变量和非基变量所对应的价值系数子向量。
程序求解单纯形法
单纯形法是一种求解线性规划问题的常用方法。
它通过一系列的迭代步骤,从一个初始的基本可行解开始,逐步改进解,直到找到最优解或证明问题无最优解。
以下是使用单纯形法求解线性规划问题的一般步骤:
1. 构建初始基本可行解:选择一个初始的基本可行解,通常可以通过引入松弛变量或人工变量来构建。
2. 计算目标函数值:计算当前基本可行解下的目标函数值。
3. 检查最优性:如果当前基本可行解满足最优性条件(目标函数值最小或最大),则停止迭代,当前解即为最优解。
4. 寻找改进方向:如果当前基本可行解不满足最优性条件,则需要找到一个改进的方向。
这可以通过计算每个非基变量(即未被选入基本可行解的变量)的检验数来完成。
5. 选择进入变量:根据检验数,选择一个具有正检验数的非基变量作为进入变量。
6. 确定离开变量:为了保持基本可行解的可行性,需要选择一个离开变量。
通常选择一个具有最小比值的基变量作为离开变量。
7. 更新基本可行解:通过替换离开变量和进入变量,构建一个新的基本可行解。
8. 重复步骤 2 至步骤 7,直到找到最优解或证明问题无最优解。
需要注意的是,单纯形法的具体实现可能因问题的规模和结构而有所不同。
在实际应用中,可以使用编程语言或优化软件来实现单纯形法。
希望以上内容对你有所帮助。
如果你有具体的线性规划问题需要求解,我可以根据具体问题提供更详细的帮助。
单纯形法的一般描述和求解步骤:一般的线性规划问题的求解有以下几个步骤。
(1)确定初始基本可行解。
为了确定初始可行解,首先要找出初始可行基。
设一线性规划问题为⎪⎩⎪⎨⎧=≥==∑∑==nj xj b x P x c Z n j j j nj jj ,,2,1,0max 11(1-14)可分两种情况讨论。
1.若),,2,1(n j P j =中存在一个单位基,则将其作为初始可行基:⎪⎪⎪⎪⎪⎭⎫⎝⎛==100010001),,,(21m P P P B 2.若),,2,1(n j P j =中不存在一个单位基,则人为的构造一个单位初始基。
关于这个方法将在下面提到。
(2)检验最优解。
得到初始基本可行解后,要检验该解是否最优解。
如果是最优解,则停止运算;否则转入(3)基变换。
下面给出最优性判定定理。
一般情况下,经过迭代后可以得到以非基变量表示基变量的表达式∑+=='-'=nm j j iji i m i x ab x 1),,2,1(,(1-15)将式(1-15)代入式(1-14)的目标函数,整理后得j nm i ni ij i jmi i i x a c cb c Z ∑∑∑+==='-'+'=111)(max令∑='=m i i i b c Z 10,∑=+==mi ji i j n m j a c Z 1),,1(,于是j nm j j j x Z c Z Z ∑+=-+=10)(max再令),,1(,n m j Z c j j j +=-=σ则得到以非基变量表示的目标函数的表达式jnm j jx Z Z ∑+=+=10max σ由以上推导可得出下列最优解的判定定理。
(1)最优解的判定定理:若T m b b b X )0,,0,,,,(21)0( '''=为对应于基B 的一个基本可行解,且对于一切n m j ,,1 +=有0≤j σ,则)0(X 是最优解,称j σ为检验数。
三、单纯形法的解题步骤第一步:作单纯形表.)(1)把原线性规划问题化为标准形式;)(2)找出初始可行基,通常取约束方程组系数矩阵中的单位矩阵;)(3)目标函数非基化;)(4)作初始单纯形表.第二步:最优解的判定.(1) 若所有检验数都是非正数,即,则此时线性规划问题已取得最优解.(2) 若存在某个检验数是正数,即,而所对应的列向量无正分量,则线性规划问题无最优解.如果以上两条都不满足,则进行下一步.第三步:换基迭代.,并确定所在列的非基变量为进基变量.(1)找到最大正检验数,设为(2)对最大正检验数所在列实施最小比值法,确定出主元,并把主元加上小括号.主元是最大正检验数所在列,用常数项与进基变量所对应的列向量中正分量的比值最小者;替换出基变量,从而得到新的基变量.也就是主元所在(3)换基:用进基变量(4)利用矩阵的行初等变换,将主元变为1,其所在列其他元素都变为零,从此得到新的单纯形表;(5)回到第二步,继续判定最优解是否存在,然后进行新一轮换基迭代,直到问题得到解决为止.例3 求.解(1)化标准型:令,引进松弛变量,其标准型为求(2)作单纯形表:在约束方程组系数矩阵中的系数构成单位矩阵,故取为基变量,目标函数已非基化了,作初始单纯形表并“换基迭代”(见表6.8).表 6.8(3)最终结果:此时检验数均为非正数,线性规划问题取得最优解,最优解为标函数取得最优值.目性规划问题的最优解为:.原线目标函数的最优值为14,即.例4 用单纯形方法解线性规划问题.求.解此数学模型已是标准型了,其中约束方程含有一个二阶单位矩阵(1、2行,3、4列构成),取为基变量,而目标函数没有非基化.从约束方程找出,,代入目标函数, 经整理后,目标函数非基化了.作单纯形表,并进行换基迭代(见表6.9).最大检验数,由最小比值法知:为主元,对主元所在列施以行初等变换,基变量出基,非基变量进基.表 6.9目前最大检验数,其所在列没有正分量,所以该线性规划问题没有最优解.例5用单纯形方法解线性规划问题.求解此数学模型已是标准型了,其中约束方程含有一个二阶单位矩阵,取为基变量,而目标函数没有非基化.从约束方程找出,,代入目标函数,经整理得,目标函数已非基化.作单纯形表,并进行换基迭代(见表6.10).最大检验数,由最小比值法知:为主元,对主元所在列施以行初等变换,基变量出基,非基变量x2进基,先将主元化为1,然后再将主元所在列的其他元素化为零.表 6.10至此,检验数均为非正数,故得基础可行解.原问题的最优解为:.最优值为6,即.如果我们再迭代一次,将基变量出基,非基变量进基(见表6.11).表 6.11可得到另一个基础可行解,原问题的最优解为:,最优值仍为6,说明该线性规划问题有无穷多最优解,其最优解均为6.如何知道线性规划问题有无穷多最优解呢?这主要反映在单纯形表中.如果非基变量所对应的检验数为0,我们可对此列继续进行换基迭代,就可以得到另一个基础可行解.以此作下去,可得到许多基础可行解,即相对应的最优解有无穷多个.(4) 011 0。