算法导论笔记 第二十九章 线性规划
引言
定义:
线性约束:线性等式与线性不等式总成
最大(小)线性规划:求服从于一组有限个线性约束的函数的最大(下)值
可行解:满足约束式的变量取值
可行区域:可行解在二维平面上的区域
目标函数:希望最大(小)的函数
目标值:目标函数在一个特定点上的值
单纯形:每个约束定义了n维空间中的一个半空间,这些半空间的交集形成的可行区域为单纯形
单纯形算法:(以下用求最大值为例)从单纯形的某个顶点开始执行顺序迭代,每次迭代都沿着单纯形的一边从当前顶点移动到目标值不小于当前顶点另一个顶点,直到这个顶点的周围顶点的目标值都小于当前顶点。此时的局部最优值为全局最优。
线性规划算法:
第一类多项式时间算法:椭球算法
第二类多项式时间算法:内点法
整数线性规划:要求取点的值都是整数,此时该问题是NP问题,不存在多项式时间解
29.1
定义:
标准型:所有约束条件都是不等式,不等式都是多项式小于等于值,求的是最大化,且变量有非负约束
松弛型:所有约束条件都是等式,除非是要求变量非负的约束
基本量:松弛型中等式左边的量(xk=xi+xj+m)
非基本量:松弛型中等式右边的量
松弛变量:松弛型中我们添加的变量
普通线性规划转换为标准型
- 求最小化:将目标函数取负
- 不具有非负约束:将一个x改成x1-x2,并赋予x1 ,x2非负约束
- 等式约束:同时用两个不等式代替,一个≥,一个≤
- 有大于等于号:不等式两边取负
普通线性规划转换为松弛型
- 原本变量不具有非负约束:将一个x改成x1-x2,并赋予x1 ,x2非负约束
- 将不等式都移项为Pk≥0,其中Pk为可以含有常量的多项式,用一个新变量xn+k来代替
29.2
将问题转化为线性规划问题,包括
- 最短路径
- 最小费用流
- 最大流
- 多商品流