线性规划——单纯形算法の板子

本文介绍了线性规划的基本概念,包括标准型和非标准型的转化,并重点讲解了求解线性规划的单纯形算法,讨论了其几何意义和代数原理。此外,还探讨了对偶原理及其在处理特定类型线性规划问题中的应用。文中通过实例展示了如何将线性规划问题转化为网络流问题,以及如何利用费用流解决线性规划问题。
摘要由CSDN通过智能技术生成

以下内容全是口胡,请谨慎观看 ——From ATP

什么是线性规划?

参见高中数学必修五第三章

根据ATP的理解。。。线性规划就是设出一些变量,给出一些对于变量取值的限制,同时给出一个与这些变量相关的目标函数,要求在满足限制的前提下最大化或最小化目标函数。

举个例子:设有变量 x1,x2,x3 ,那么下面这一坨东西:

Maxmize   5x1+2x23x3
满足约束:
2x1+3x35
3x24x38
4x12x27
x1,x2,x30

就是一个线性规划啦。。(上面那一坨东西是ATP随便打上去的有没有解就不一定了= =)

形式化地,设 x 为n维列向量代表设定的变量, A 为m*n的矩阵代表每个限制中每个变量的系数, B 为m维列向量代表每个限制中的常数项, C 为n维行向量代表目标函数的系数。举个栗子说,对于上面那一坨东西,它的各个元素表示如下:

A=204032340

B=587

C=[523]

我们在这里仅讨论线性规划的标准型。线性规划的标准型表示如下:
Maxmize    Cx
S.T.   AxB,x0

但是很多时候好像遇到的线性规划并不是标准型?难道它们不能做吗。。。其实并不是,在大多数情况下,不是标准型的线性规划都可以通过做一些适当的转化表示成标准型。比如……

  1. 目标函数要求最小化( Minmize )?
    似乎可以把所有系数取反,求得答案以后再反回来?
    在某些情况下,下面提到的“对偶定理”会更加好用。

  2. 首先线性规划的限制应该都是大于等于或者小于等于这种形式的(不然计算机怎么搞出“无限接近”这种类型的答案来= =),但是在标准型里面限制都要求是小于等于,如果遇到别的符号?
    如果是带“ ”的限制,直接把所有系数取反就可以;而如果是带“=”的限制,例如 a=b ,我们可以转化成 ab ba 两个限制。

总之通过类似这样的变换我们可以把任意的线性规划转化为标准型,并且它们的最优解都是不变的。

求解线性规划——单纯形算法

求解线性规划最常用的算法是单纯形算法。它的理论时间复杂度是指数级别的。。但是跑得奇快无比啊并且也基本上卡不掉。。所以放心大胆用就是了。。

单纯形算法的几何意义很多地方都有解释。。但是这里ATP主要解释它在代数方面的原理。

首先,为了对线性规划使用单纯形算法,我们需要把线性规划转化为“松弛型”,也就是说把所有的不等式变为等式。以下都用m来表示限制个数,n来表示变量个数。

为了做到这一点,我们对于每一个形如 i=1nAk,ixiBk 的限制增加一个叫做“基变量”的东西,把它称作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值