《算法导论》之线性规划(1)关于标准型和松弛型的理解

一般线性规划

一个线性规划问题是一个线性函数最小化或最大化的问题,该线性函数服从一组有限个线性约束。如果要最小化,则称此线性规划为最小化线性规划;如果要最大化,则称为最大化线性规划。
已知一组实数a1,a2,…,an和一组变量x1,x2,…,xn。给出定义在这些变量上的线性函数f:

首先,考虑两个变量的线性规划:
最大化 : x1+x2
满足约束 :
所有满足上述约束式的变量x1和x2的取值为线性规划的一个可行解。
按照以前的学习来理解,我们可以画出关于上述不等式的坐标图,如下:

我们将可行解的集合(图中的阴影部分)称为可行区域。在这个可行区域中,存在最大化解,那么希望最大化的函数称为 目标函数。从概念上来说,我们可以对区域中任何一个点求值,这个值称为目标值。那么我们从图中可以找出一个有最大目标值的点作为最优解。

对于上面这个例子,当x1=2,x2=6 时,取得最优解,且目标值为8。

标准型和松弛型

在标准型中,我们已知n个实数c1,c2,…,cn;m个实数b1,b2,…,bm,以及mn个实数aij,其中i=1,2,…,n。我们希望找到n个实数x1,x2,…,xn,
最大化:
满足约束条件:
因此,称 为目标函数,不等式(1)和(2)中的m+n个不等式为约束。其中(2)中的n个约束为非负约束。

注意 :一个任意的线性规划不必有非负约束,但是标准型需要。

转换线性规划为标准型
已知一个线性函数满足若干线性约束,要求最小化或最大化它,我们总可以将这个线性规划转化成标准型。一个线性规划可能有如下四个原因不是标准型:
(1)目标函数可能是最小化而不是最大化。
(2)可能有变量不具有非负约束。
(3)可能有等式约束,即有一个等号而不是一个小于等于号。
(4)可能是不等式约束,但不是小于等于号,而是一个大于等于号。
当然,从一个线性规划转化成另外一个线性规划,两者应当是等价的。
何为等价?
对两个最大化线性规划L和L’,如果对L每个目标值为z的可行解,都存在一个对应的L’的目标值为z的可行解,且对L’的每个目标值为z的可行解,都存在一个对应的L的目标值为z的可行解,则称L和L’是等价的。
解决方案:
针对(1)两边取负即可
针对(2)假设某个变量xj不具有非负约束。那么将xj用xj’-xj”代替,并增加非负约束xj’≥0,xj”≥0。若目标函数有项为cjxj,将其替换为cjxj’-cjxj”。如果约束i有aijxj,则替换为aijxj’-aijxj”。经过此操作后,新的线性规划的任意可行解与原先可行解之间的关系为,且转换前后目标值不改变!
针对(3)非常简单,假设有等式f(x1,x2,…,xn)=b,用f(x1,x2,…,xn)≤b和f(x1,x2,…,xn)≥b来代替。
针对(4)两边取负。
下面看一个例子,(1)~(3)分别为上述存在的问题,(4)是改过后的标准型。
这里写图片描述
转换线性规划为松弛型
我们将其转换成只有非负约束是不等式约束,其他约束均是等式约束的形式。
是一个不等式约束,我们引入新变量s,并重写不等式为两个约束我们称s是一个松弛变量,其度量了左右之间的松弛程度。
当从标准型转化为松弛型时,使用Xn+i来表示与第i个不等式相关的松弛变量。因此,第i个约束是,非负约束Xn+i≥0。
例如,对上述标准型引入松弛变量x4,x5,x6后,得到
在上述线性规划中,除了非负约束之外,所以约束都是等式约束,且每个变量都满足非负约束。我们也会使用z来表示目标函数。得到松弛型

和标准型一样,松弛型的符号更为简洁。
以上就是我对线性规划中标准型和松弛型的理解及整理,有不当望指出哈。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值