woniu317的专栏

在闲暇之余将自己的所学所思分享,与大家共同学习进步,个人邮箱:woniu317@126.com...

线性规划

1 定义

在数学中,线性规划问题是目标函数和约束条件都是线性的最优化问题。约束条件不允许为严格的不等式,即不许出现“<”,“>”,从而保证了能够取得最值(但也不一定存在)。

约束条件组成的可行区域是凸的,目标函数取最优值时与可行区域的交集必然为一个单独的定点或者为一条线段。

2 求解方法

方法一:

一种简单直观的求解方法就是求出每个交点的处的坐标,然后分别带入目标函数,便可得到目标函数的最优值。

方法二:

顺时针跟着线转动,当转动到一个交点时计算此处以及周围与它相邻的目标函数的值,若该焦点取得最值则求得最优值。

方法三:

无论是方法一还是方法二都需要求出交点,显然方法二可能只需要求出部分交点。我们通过转动坐标轴来避免计算交点,从而提高计算效率。为了便于坐标轴的转动,我们需要将一般线性规划问题转化为松弛型。而其中间过程为标准型。最后通过转动求的最优解。

2.1 标准型和约束型

线性规划的标准型中除非负约束外,其他约束只允许出现“≤”且目标函数必须是最大化,不能存在等式约束。一般型的线性规划问题很容易能够转化为标准型:

例有目标函数(最小化)z = -2x1+3x2,约束条件:

x1 + x2 = 7

x1 – 2x2 ≤ 4

x1 ≥ 0

(1)    将最小化变为最大化

z’ = 2x1 – 3x2

(2)    用两个变量x’2和x’’2替换x2

令:x2 = x’2 – x’’2

(3)    将等式转化为不等式

x1 + x’2 – x’’2≤ 7

x1 + x’2 – x’’2≥ 7

(4)    将≥变为≤

-x1 - x’2+ x’’2 ≤ -7

(5)    最后用x2,x3分别替换掉x’2和x’’2

至此,上述线性规划转化为标准型,目标函数(最大化)z’ = 2x1 – 3x2 + 2x3

约束条件:

x1 + x2 – x3≤ 7

-x1 - x2 + x3 ≤-7

x1 – 2x2 + 2x3 ≤ 4

x1, x2, x3 ≥ 0

  线性规划的松弛型中只有非负约束为不等式,其它约束都为等式形式。

2.2 转动

通过转动使得所有基本变量全部为负,可得当所有基本变量取0时目标函数便可以取得最优值。

转动的步骤:

(1)  选取一个在目标函数中系数为正的变量作为转入变量;

(2)  选取一个使得转入变量增幅最小的等式,将其非基本变量作为转出变量;

(3)  用转出变量代替转入基本变量,自变量发生变化,即坐标系发生变化;

(4)  重复以上三步,直到目标函数中基本变量全部为正。

而将一般线性规划问题转化为标准型,再转化为松弛型,最终通过转动从而求得目标函数最优值的方法称为单纯性算法。


以上为今儿听线性规划报告的个人理解,欢迎批评指正.

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/woniu317/article/details/16908893
文章标签: 数学
个人分类: 算法导论
上一篇汉明距离 vs 编辑距离
下一篇基于路网距离的最近邻居查询
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭