当前位置:文档之家› 最优化模型-线性规划

最优化模型-线性规划


7.2.3 二维变量的线性规划模型 2. 问题分析
原料 M1 的日可用量限制为 6x1 4x2 24 ; 原料 M2 的日可用量限制为 x1 2x2 6 ; 根据市场调查,内墙涂料的日需求量不超过外墙 涂料的日需求量加上 1 吨,即 x2 x1 1 ; 同时,内墙涂料的最大日需求量是 2 吨,即 x2 2 ; 题目隐含决策变量的非负限制,即 x1 0, x2 0 .
第7章 最优化模型
7.2节 线性规划
7.2.1 线性规划简介
1. 基本概念
线性规划(linear programming,LP)就是对满 足有限多个线性的等式或不等式约束条件的决策变 量的一个线性目标函数求最大值或最小值的最优化 问题. 线性规划模型的一般表达式可写成
max (或 min) z c1x1 c2 x2 cn xn s.t. a11x1 a12 x2 a1n xn (或 , )b1
7
6
5
4
x2
3
2
E
D
C
1F
可行域
0A
B
0
1
2
3
4
5
6
7
x1
图7.3 例7.2.1的线性规划模型的可行域
x2
4 3.5
3 2.5
2 1.5
1 0.5
0 -0.5
-1 -1
z=18
z=13
E
D
z=4
F
z=5x1+4x2 z 增加的方向
C 最优解 x1=3, x2=1.5 z=21
A z=0
B z=20
7.2.1 线性规划简介
2. 线性规划的算法
科学家希望能设计出求解线性规划问题的多项 式时间算法,特别是希望能从初始可行解出发,穿越 可行域的内部到达最优解.
1984 年,美国贝尔实验室的 N. K. Karmarkar 提出“投影尺度算法”,通过切割可行域内部求得线 性规划问题的最优解,并且是多项式时间算法. Karmarkar 的成果激起了内点算法的研究热潮,迄今 已经发展出多种内点算法. 对于大规模线性规划问 题,内点算法比单纯形算法具有更高的计算效率.
7.2.2 线性规划的MATLAB实现
函数 linprog 的语法格式: (1)[x,z]=linprog(c,A,b,Aeq,beq,lb,ub) 输入项 c、A、b、Aeq、beq、lb 和 ub 分别是(7.2.2) 式当中的向量或矩阵 c、A、b、Aeq、beq、lb 和 ub; 输出项 x 和 z 分别是最优解和最优值. 注 7.2.2 linprog 所求解的线性规划问题(7.2.2) 的上下界约束 lb x ub 即 l j x j u j , j 1, 2,, n , 其 中 lb (l1, l2 ,, ln )T , ub (u1, u2,, un )T . 如 果 决 策 变量都非负约束,则 lb=zeros(n,1),ub=[](或缺省).
7.2.1 线性规划简介
1. 基本概念
没有可行解的线性规划模型称为不可行 (infeasible). 不可行的线性规划模型没有最优解.
如果最大(小)化线性规划模型的目标函数可以 在可行域取得任意大(小)的值,则称为无界 (unbounded). 无界的线性规划模型也没有最优解.
由于严格不等式约束有可能导致线性规划模型 虽然具有非空的可行域,但是目标函数却不存在最大 (小)值(例如 max z=x, s.t. x<1),所以不考虑严格 不等式约束.
0
1
2
3
4
5
x1
图7.4 例7.2.1的线性规划模型的最优解
7.2.3 二维变量的线性规划模型 3. 图解法 2)价值系数的灵敏度分析
将线性规划模型(7.2.3)的目标函数改写成 max z c1x1 c2 x2
根据问题的实际意义,价值系数 c1 和 c2 都是正数. c1 和 c2 能够在一定范围内变化而不引起最优解的改变.
如图 7.5 所示, c1 和 c2 的变化将改变目标函数直 线的斜率,想象目标函数直线以点 C 为轴向顺时针或 逆时针方向旋转,只要它位于直线 6x1 4x2 24 和 x1 2x2 6 之间,最优解就保持在点 C(但是最优值 会有所改变).
7
6 6x1+4x2=24
5 5x1+4x2=21
7.2.1 线性规划简介
2. 线性规划的算法
在代数上,线性规划的最优值可以在可行域的基 可行解(对应于凸多面体的顶点)处取得,单纯形法 从一个基可行解出发,求出使目标函数有所改进的相 邻的基可行解,迭代下去,直至求得最优的基可行解.
虽然在实际应用中单纯形算法可以很好的解决 大规模线性规划问题,但是在理论上单纯形算法的计 算复杂性还不够理想,它是指数时间算法,即找到最 优解的迭代次数是 O(2n ) ,其中 n 为决策变量的个数.
7.2.1 线性规划简介
1. 基本概念
决策变量的上下界约束是线性规划模型的一类 特殊的线性不等式约束条件,在实践中,一般 x j 0 , 但有时 xj 0 或 x j 无符号限制. 在理论上和计算上, 决策变量的上下界约束一般要单列.
满足约束条件的决策变量就是可行解(feasible solution),可行解的集合称为可行域(feasible region). 使目标函数达到最大值(或最小值)的可行解称为最 优解(optimal solution),相应的目标函数值就是最 优值(optimal value).
7.2.2 线性规划的MATLAB实现
MATLAB 优化工具箱函数 linprog 用于求解以下 形式的线性规划模型:
min z cT x,
s.t. A x b
(7.2.2)
Aeq x beq
lb x ub 其中 A 和 Aeq 是矩阵,x、c、b、beq、lb 和 ub 是列 向量(但 MATLAB 允许用行向量).
a21x1 a22x2 a2n xn (或 , )b2
am1x1 am2x2 amn xn (或 , )bm
x j 0, j 1, 2,, n
(7.2.1)
7.2.1 线性规划简介
1. 基本概念
未知数 x j 称为决策变量; 目标函数经常记为 z 或 w,称为目标变量; 目标函数的变量系数 c j 称为价值系数; 约束条件的变量系数 aij 称为工艺系数; 约束条件右端的常数 bi 称为资源限量; 约束条件前的记号“s.t.”是“subject to”的缩写, 意即“受约束于”.
1 2 c1 c2 3 2
(7.2.4)
如果 c1 5 保持不变,则10 3 c2 10 ;
如果 c2 4 保持不变,则 2 c1 6 .
注 7.2.5 当(7.2.4)式的等号成立时,目标函数
直线与直线 6x1 4x2 24 或 x1 2x2 6 重合,此时最
优解有无穷多个,点 C(3,1.5)仍是其中之一.
如图 7.3 所示,线性规划模型(7.2.3)的可行域包 括六边形 ABCDEF 的边界和内部,是一个有界的凸 集,点 A、B、C、D、E 和 F 都是由可行域的两条相 邻边界相交而得的角点,称为极点(extreme point).
如图 7.4 所示,向量(5,4)是目标函数 z 5x1 4x2 的梯度向量,指向 z 增加得最快的方向,并且垂直于 直线族 z 5x1 4x2 的任一条直线;最优解在 C(3,1.5), 相应的目标函数最大值为 z=21;再进一步增加 z 的值, 直线 z 5x1 4x2 的任意点都在可行域之外.
7.2.3 二维变量的线性规划模型 3. 图解法 3)资源限量的灵敏度分析
将线性规划模型(7.2.3)的第一个不等式约束改写 成 6x1 4x2 b1 ,只允许 b1 变化,而模型的其他系数 都保持不变. b1 的变化会引起可行域的变化,从而导 致最优解和最优值的变化,但是 b1 能够在一定范围内 变化而不引起影子价格 z b1 的变化.
7.2.1 线性规划简介
2. 线性规划的算法
1947 年,美国空军数学家 G. D. Dantzig 发明了 求解线性规划问题的单纯形算法(simplex algorithm). 在随后的几十年里,单纯形法经过不断的改进,在实 际应用中取得巨大的成功.
单纯形算法是一种迭代算法. 当可行域非空并且 最优解存在时,在几何上,线性规划的最优值可以在 凸多面体的某个顶点处取得,单纯形法从凸多面体的 某个顶点出发,移动到使目标函数有所改进的相邻顶 点,迭代下去,直至到达最优的顶点.
7.2.3 二维变量的线性规划模型 2. 问题分析
线性规划模型由三个基本部分组成: (1)决策变量;(2)目标函数;(3)约束条件. 本题需要确定内、外墙涂料的日产量,所以决策 变量可定义为 x1 =外墙涂料的日产量, x2 =内墙涂料的日产量 公司打算最大化两种涂料的日总利润,已知每吨 内、外墙涂料的利润为 4 千元和 5 千元,所以两种涂 料的日总利润为 z 5x1 4x2 ,公司的目标为求 z 的最 大值: max z 5x1 4x2 .
7.2.3 二维变量的线性规划模型 1. 问题提出
例 7.2.1 涂料公司用 M1 和 M2 两种原料生产 内、外墙涂料,M1 和 M2 的日最大可用量分别为 24 吨和 6 吨,每吨外墙涂料利润为 5 千元,需要用 6 吨 M1 和 1 吨 M2,每吨内墙涂料利润为 4 千元,需要 用 4 吨 M1 和 2 吨 M2. 根据市场调查,内墙涂料的 日需求量不超过外墙涂料的日需求量加上 1 吨,同时, 内墙涂料的最大日需求量是 2 吨. 公司打算确定最优 的产品组合,使得日总利润达到最大.
7.2.3 二维变量的线性规划模型 2. 问题分析
根据题意,可以建立线性规划模型 max z 5x1 4x2 s.t. 6x1 4x2 24 x1 2x2 6 x1 x2 1 x2 2 x1, x2 0
相关主题