改进单纯形法

更新时间:2022-08-25 15:57

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

单纯形法

简介

由GeorgeDantzig发明的单纯形法(simplexalgorithm)在数学优化领域中常用于线性规划问题的数值求解。

Nelder-Mead法或称下山单纯形法,与单纯形法名称相似,但二者关联不大。该方法由Nelder和Mead于1965年发明,是用于优化多维无约束问题的一种数值方法,属于更普遍的搜索算法的类别。这两种方法都使用了单纯形的概念。单纯形是 维中的 个顶点的凸包,是一个多胞体:直线上的一个线段,平面上的一个三角形,三维空间中的一个四面体等等,都是单纯形。

单纯形法的提出及依据

单纯形法是美国数学家GeorgeDantzig于1947年首先提出的。其理论根据是:线性规划问题的可行域是n维向量空间R中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到,该顶点所对应的可行解称为基本可行解

单纯形法的基本思想

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

单纯形法的特点

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

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

改进的单纯形法

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

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

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

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

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

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

4.若R1>R2,R1=R2,X1=X2,代入

其中(i=1,2,…,t),Ximax、Ximin为参数X_i的上、下限; 为0到1之间的随机数。

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

6.若计数器m

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}