码迷,mamicode.com
首页 > 其他好文 > 详细

运筹学——线性规划及单纯形法求解

时间:2016-08-01 19:16:16      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

1. 线性规划的概念

线性规划是研究在一组线性不等式或等式约束下使得某一线性目标函数取最大(或最小)的极值问题。

 

2. 线性规划的标准形

 

技术分享

 

特点目标函数极大等式约束变量非负

技术分享技术分享

则线性规划标准形的矩阵表达式为:

 

技术分享

约定:技术分享

 

如何化标准形:

(I) 目标函数实现极大化,即技术分享,令技术分享,则技术分享

(II)约束条件为不等式

约束条件为“技术分享” 不等式,则在约束条件的左端加上一个非负的松弛变量;

约束条件为“技术分享” 不等式,则在约束条件的左端减去一个非负的松弛变量。

(III)若存在无约束的变量技术分享,可令技术分享,其中技术分享

 

3. 单纯形法求解

(I) 化为标准形(要求技术分享),确定初始基技术分享,建立初始单纯形表(假设A矩阵中存在单位矩阵);

 

技术分享

(II)若技术分享,则已得到最优解,停止。否则转入下一步;

(III)若在技术分享中,存在技术分享,而技术分享,则无最优解,停止。否则转入下一步;

(IV)由技术分享,确定技术分享为换入变量,按技术分享规则

技术分享

可确定技术分享为换出变量;

(V)以技术分享为主元进行迭代

即将技术分享 迭代成技术分享

并将单纯形表技术分享列中的技术分享换成技术分享,得到新的单纯形表;

重复(ⅱ)~(ⅴ)。

4. 单纯形法求解例示

 
 
 
  技术分享

 

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

两阶段法

第一阶段求初始基可行解:在原线性规划问题中加入人工变量,使约束矩阵出现单位子矩阵,然后以这些人工变量之和W求最小为目标函数,构造如下模型:

 
  技术分享

 

对上述模型求解(单纯形法),若W=0,说明问题存在基本可行解,可以进行第二个阶段;否则,原问题无可行解,停止运算。

 

第二阶段:在第一阶段的最终表中,去掉人工变量,将目标函数的系数换成原问题的目标函数系数,作为第二阶段计算的初始表(用单纯形法计算)。

 

技术分享

 

例:

第一阶段

 

技术分享

第二阶段

 

技术分享

∴最优解为(4 1 9 0 0),目标函数 Z = –2

 

退化: 即计算出的θ(用于确定换出变量)存在有两个以上相同的最小比值,会造成下一次迭代中由一个或几个基变量等于零,这就是退化(会产生退化解)。

虽任意换出变量,目标函数值不变,但此时不同的基却表示为同一顶点,其特例是永远达不到最优解。需作如下处理:

⑴. .当技术分享中出现两个以上最大值时,选下标最小非基变量换入变量;

⑵.当θ中出现两个以上最小值时,选下标最小的基变量为换出变量。

参考文献:

[1] 《运筹学》教材编写组. 运筹学. 北京: 清华大学出版社.

运筹学——线性规划及单纯形法求解

标签:

原文地址:http://www.cnblogs.com/lotusto/p/5726954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!