MAS 714课程笔记12: 线性规划

1 线性规划问题概述

 写成矩阵&向量的形式,有:

 1.1 线性规划举例

        这也是本小节所使用的例子

        比如我们要使用corn、hops和malt来制作ale和beer,每种饮品所需要的原材料、可以带来的收益、以及各种原料材料的数量如下图所示

        

        我们现在需要求得最大的收益

1.1.1 线性规划方程

 但是上式和1中的标准型还是有一定的区别的

标准型:

我们记n为变量的数量;m为限制条件的数量;L为编码输入的位数

1.1.2 标准型线性规划方程 的转化

  • 对于小于等于0的式子:

 

  • 对于大于等于0的式子

 

  • min  到 max

  • 无限制到非负性

2 几个n维空间上的概念

2.1 超平面 Hyperplane

由一个线性方程决定的n-1维子空间(在2D空间中,超平面就是一条分界线)

2.2 半空间 halfspace

满足一个线性不等式的点集合

类比到2D空间。就是某一条直线以上/以下的区域

2.3 凸集 convex set

如果点x和点y在一个凸集内,那么 对于所有 λ∈[0,1]的λ,λx+(1-λ)y也在这个凸集内

 比如这就是一个凸集

比如这就不是凸集

2.4 极点 extreme point

        如果一个凸集中的点不能被写成\frac{1}{2}(x+y) (x和y是凸集中两个不同的点),那么这个点就是凸集的极点

        

        以这张图为例,只有五个顶点是极点,其他点都不是绩点

2.4.1 并不是所有的凸集都有极点

         

        这个是凸集,但是没有极点 

 3 可视化线性规划

回到那个线性规划的问题

 

  •  每一个constraint相当于一个半空间
  •  半空间的交集是一个convex set——更进一步说,convex的交集是convex set
  • 蓝色的区域就是feasible  region

 

 线性规划的目标函数可以写成以上形式,找最“晚”和凸集相交的地方

4 线性规划类型

4.1 目标函数没有边界

 比如目标函数还是13A+23B,但是我们的feasible region只是x>0且y>0

 4.2 没有解

比如此时,一个限制条件是绿色部分,另一个是灰色部分

4.3 最优解集的非空集合 

如前面所述

5 极点定理

如果最优解集非空,那么存在一个最优解是极点

说明:如果u不是极点,那么u可以写成\frac{1}{2}(x+y)的形式,我们沿着x或者y中一个方向走,这条路径使得结果不减,直到到达边界为止

 6 单纯形法 Simplex Algorithm

 6.1 Basic Feasible Solution (BFS)

基 (basis):n个变量中的m个变量组成的子集

6.2 Simplex Algorithm举例

还是以

为例 

 首先转化为标准型,此时的基是新增的几个变量

然后我们用第一个约束式的B替换Sc成为新的基中元素(原因后面会讲)

替换后的结果如下:

 然后我们用第一个约束式的A替换SH成为新的基中元素(原因后面会讲)

替换后的结果如下: 

 

 6.3 抉择原因

1)第一步为什么选择B?

         因为B的系数大,我们选择B之后,B将不再为0,而是一个大于0的数,那么相比于A,先修改B对于Z的提升更大一些,那么能更快地找到最优点

2)第一步为什么替换Sc?

如果说1)的原因只是能够更快地到达最优点的话,那么2)则是必须的条件了。

        我们看三个式子等号右边的值/B的系数之后的结果:32、40、59.5。我们这里选择的是结果最小的那个。

        比如我们这一步替换了Sh,那我我们Sc那一行变成:10A+15/4 Sh-Sc=120

        基是{Sc,H,Sm},非基的元素为0,基的元素大于等于0,此时我们会得到Sc为120,矛盾。

        所以只能替换Sc

3) 为什么结束了

到这一步,就结束了,因为Z所在这一行的系数都已经是非正的了,表明Z已经是最优情况

7 Unboundness

 

此时,Z没有边界。

我们可以这么设置值:

此时Z就和x5成正比,但是x5是没有边界的

 这个就是前面线性规划分类的第一种情况

8 degenerate

Simplex Algorithm中,每次目标函数都会不减,但是不一定增加。

目标函数不增的情况我们称为degenerate iteration

当我们有n+1或者更多的超平面相交在一个点的时候,我们每次迭代得到的新的基可能会移动到相同的顶点上。在这种情况下,算法可能会陷入一个死循环,就是看起来在不断迭代,但是目标值不增不减,因为始终停留在这个点上

 解决方法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值