七、线性规划问题

1、线性规划问题定义

\qquad 线性规划问题的一般表示形式如下所示:假设现有 n n n个变量, m m m个约束,令最大化(或者最小化) c 1 x 1 + c 2 x 2 + . . . + c n x n c_1x_1+c_2x_2+...+c_nx_n c1x1+c2x2+...+cnxn为目标函数,约束条件如下所示:
a 11 x 1 + . . . + a 1 n x n ≤ b 1 . . . a m 1 x 1 + . . . + a m n x n ≤ b m x i ≥ 0 , 1 ≤ i ≤ n a_{11}x_1+...+a_{1n}x_n\leq b_1 \\ ...\\ a_{m1}x_1+...+a_{mn}x_n\leq b_m\\ x_i \geq 0, 1\leq i \leq n a11x1+...+a1nxnb1...am1x1+...+amnxnbmxi0,1in
\qquad 形式满足上述条件的的规划模型为线性规划模型。线性规划有以下性质:

  • 在线性规划问题中,每一个线性不等式代表的是在 n n n维空间里面用于限定问题边界的超平面, n n n表示的是变量的个数。
  • 如果一个线性规划问题有最优解,那么可行解会被包含在一个多面体的内部
  • 线性规划的最优解总是在多面体的某一个顶点取到

\qquad 有了线性规划问题的各种性质之后,线性规划问题的求解过程可以分为以下三步:
\qquad 1、首先找到多面体的一个顶点
\qquad 2、在找到的顶点的基础之上,找到一个目标函数更好的相邻的顶点,调到这个顶点上
\qquad 3、在无法找到更好的顶点的时候停止算法,当前顶点记为最优解

2、单纯形算法

\qquad 基变量对应的是多面体上的一个顶点,则上述过程可以通过单纯形法进行实现,单纯形法的算法流程如下所示:
在这里插入图片描述
\qquad 寻找初始基变量可以采用人工变量法,从而整体使用两阶段单纯形法对线性规划问题进行求解:
在这里插入图片描述
\qquad 单纯形法是最原始的求解线性规划问题的算法,当前线性规划求解器中大多数是使用了内点法进行线性规划问题的求解,如Khachiyan椭圆算法(第一个多项式时间的算法),Karmarkar算法(第一个实用的解决线性规划的内点法),内点法在非常大型的线性规划问题求解时相对于单纯形法要更加有效。

THE END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dragon Fly

多谢老板赏钱[抱拳抱拳抱拳]

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值