线性规划优化:单纯形法

      欢迎来到雲闪世界。到目前为止,本系列已经介绍了线性规划的基础知识。在本文中,我们将从基本概念转向底层细节!本文将介绍单纯形法,这是通常用于解决线性规划问题的算法。虽然我们将使用单纯形法手动解决一个简单的线性规划示例,但我们的重点是算法的直觉,而不是记住算法步骤(我们有计算机来做这种事情!)。

以下是我们将要介绍的内容:

  1. 为什么需要单纯形法

  2. 从图形解决方案转向代数解决方案

  3. 用一个简单的例子来演示单纯形法的工作原理

为什么需要单纯形法 在本系列的第一篇文章中,我们讨论了线性规划的属性如何使其仅将约束的角点视为潜在的最优解。这是一个非常强大的功能,可将无限的解空间缩小到有限的解空间。在我们回顾的例子中,我们只有几个约束和几个变量——我们甚至手动解决了其中一些!看了一些简单的例子后,人们可能会认为,采用穷举、蛮力(查看每个角点)的方法来寻找最优解就足够了。 虽然对于较小的 LP 问题,蛮力法是可行的,但随着问题变得越来越复杂,角点的数量可能会激增。角点总数(包括可行和不可行)取决于 (1) 问题中的变量数量和 (2) 约束数量。

角总数的公式

下面是多个变量和约束组合的角点数量增长的一些例子:

角点数量的快速增长

角点的快速增长需要一种更聪明的方式来寻找最优解——进入单纯形法!单纯形法是一种聪明的方法,它只考虑所有可能解决方案的一小部分,同时仍能保证全局最优结果——我们将在下文中详细介绍。 从图形解决方案转向代数解决方案 在学习线性规划的基础知识时,查看具有两个决策变量的优化问题的图形表示确实很有用。我们在第 1 部分中介绍了这一点。虽然这对于加深对基础知识的理解非常有效,但它不能很好地推断出更复杂的问题。它的用处基本上仅限于教学目的。 为了进一步加深对 LP 的理解,并准备开始讨论单纯形法的细节,我们需要了解如何将 LP 问题转换成代数格式。 建立代数系统的主要组成部分之一是将约束不等式转换为等式。在 LP 上下文之外,没有很好的数学方法可以做到这一点。但请记住,对于 LP,我们实际上只对角点感兴趣?并且所有角点都在线上?由于我们实际上只关心解空间的边界,因此我们基本上忽略了不等式!同样,这是因为我们无论如何都不会担心不在空间边界线上的区域。 很好,让我们把所有不等号都换成等号,这样就可以了,对吧?别那么急!当我们考虑角点时,我们通常不会同时在所有线上。因此,我们需要添加一种方法来“跳”上和跳下特定的约束线。这有点难以用语言解释——讽刺的是,我将用图形来解释这个概念……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值