单纯形法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单纯形法

可按现代电子计算机标准程序求解线性规划模型的一般方法。分为代数形式

的单纯形法和表格形式的单纯形法。前者提供基本算法所依据的逻辑规则,适用

于在电子计算机上进行求解运算;后者将变量和数据列成表格,适用于笔算。两

者在数学上是等价的。单纯形法是由美国数学家G.B.丹齐克(1914~)于1947

年提出来的,它与苏联数学家Л.Β.坎托罗维奇(1912~)于1938年提出的

解乘数法相类似。

根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2, (x)

的值称为一个解,满足所有的约束条件的解称为可行解。使目标函数达到最大n

值(或最小值)的可行解称为最优解。这样,一个最优解能在整个由约束条件所

确定的可行区域内使目标函数达到最大值(或最小值)。求解线性规划问题的目

的就是要找出最优解。

可能出现下列情况之一:①存在着一个最优解;②存在着无穷多个最优解;

③不存在最优解,这只在两种情况下发生,即没有可行解或各项约束条件不阻止

目标函数的值无限增大(或向负的方向无限增大)。

要缩小对最优解的搜索范围,就必须认识最优解的一般性质,最优解如果存

在的话,则它必然处于可行区域的边界上。

任何一项约束条件的边界方程是用“=”号来替换该约束条件中的“≤”或

“≥”号而得到的。每一个边界方程确定一个超平面。因此,可行区域的边界是

由那些满足一个或同时满足几个边界方程(即处在作为边界的一个或几个超平面

上)的可行解所组成,而且最优解必在其中。最优解不仅是在可行区域的边界上,

而且也在这个区域的一个隅角上。一个可行解,如果不处在由另两个可行解连接

起来的任何线段上,它就是一个角点可行解。如果连接两个角点可行解的线段处

在可行区域的边界上,这两个角点可行解就称为相邻的角点可行解。角点可行解

具有下列三个重要性质:①如果存在着一个最优解,那么它必定是角点可行解。

如果存在有多个最优解,那么至少有两个最优解必定是相邻的角点可行解。②只

存在有限个数的角点可行解。③如果一个角点可行解按目标函数值来衡量时比其

所有的相邻角点可行解更好一些,那它就比所有其他角点可行解都更好,也就是

最优解。

上述这些性质构成单纯形法的原理基础。最后一个性质的重要性在于它为一个角点可行解是否是最优解提供了一种简便的检验标准,因而毋需列举所有的可行解。单纯形法正是利用了这个性质,只要检查少数的角点可行解,并且一旦这个最优性检验获得通过就可立即停止运算。

单纯形法的运算步骤可归结为:①起始步骤──在一个角点可行解上开始。

②迭代步骤──移动至一个更好一些的相邻角点可行解(根据需要反复进行这一步骤)。③停止法则──在当前角点可行解比所有相邻角点可行解都更好些时停止。当前角点可行解就是一个最优解。

单纯形法的优点及其成功之处在于它只需要较少的有限次数的迭代,即可找到最优解。

单纯形法的提出及依据

单纯形法是美国数学家George Dantzig于1947年首先提出的。

其理论根据是:线性规划问题的可行域是n维向量空间R n中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到,该顶点所对应的可行解称为基本可行解。

单纯形法的基本思想

单纯形法是一种多变量函数的寻优方法,其主要思想是先找一个基本可行解,判断是否为最优解,如果不是则找另外一个解,再进行判定,如此迭代运算,直至找到最优解或者判定其无界。

单纯形法的特点

单纯形法是一种直接、快速的搜索最小值方法,其优点是对目标函数的解析性没有要求,收敛速度快,适用面较广。

单纯形法的一般解题步骤可归纳如下:

1.把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。

2.若基本可行解不存在,即约束条件有矛盾,则问题无解。

3.若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解。

4.按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解。

5.若迭代过程中发现问题的目标函数值无界,则终止迭代。

改进的单纯形法

原单纯形法不是很经济的算法。1953年美国数学家G.B.丹齐克为了改进单纯形法每次迭代中积累起来的进位误差,提出改进单纯形法。其基本步骤和单纯形法大致相同,主要区别是在逐次迭代中不再以高斯消去法为基础,而是由旧基阵的逆去直接计算新基阵的逆,再由此确定检验数。这样做可以减少迭代中的累积误差,提高计算精度,同时也减少了在计算机上的存储量。

改进的单纯形法是在单纯形操作中引入变异操作,以此来增强全局搜索能力。具体做法是:

首先,进行基本单纯形法操作,快速得到局部极小值,再对极小值点在取值范围内进行变异操作,并重新进行基本单纯形法操作,直到得到最优解为止。该算法的计算步骤如下:

(1)选取初始单纯形,初始步长L,最大变异次数m max,计数器m=0;

(2)进行基本单纯形操作,找到一个极值点X1;

(3)以极值点臵作新的顶点,再选取初始单纯形,并进行新一轮的单纯形操作,得到新的极值点,两极值点对应的目标函数为R1,R2;

(4)若R1 > R2,R1 = R2,X1 = X2,

代入:(i=1,2,…,t)(1)

式中,X i max、X i min为参数X_i的上、下限;为0到1之间的随机数。

(5)若,对进行变异操作,计数器m=m+1:

(6)若计数器m < m max,转(1),否则输出结果X1。

参考文献

1.刘勇,陈国东.基于单纯形法的LINGO求解一般指派问题的探讨[J].中国

管理信息化.2008(6)

2.李春风,许承权,蒲文利.改进的单纯形法及其在非线性参数估计中的应用

[J].海洋测绘,2009,29(6)

在数学最优化理论单纯形算法由创造美国数学家乔治Dantzig在1947是普遍算法为数字解答线性规划问题。学报计算在科学和设计列出它作为世纪的名列前茅10种算法之一。[1]

一个无关,但相似地名为方法是Nelder-Mead方法或下坡单纯形法归结于Nelder & Mead (1965)和a数字方法为优选许多尺寸跌宕的问题,属于更加一般的类搜索算法.

相关文档
最新文档