3、向:同方向同步长连续探索探寻新的探索方向步长减半结束检测无约束单纯形法(1)算法思想单纯形(Simplex)概念:n维空间中的n+1面体无约束单纯形法f(xh)=max{f(x0),f(x1),…,f(xn)}---高点f(xl)=min{f(x0),f(x1),…,f(xn)}---低点x=---除最高点外的所有点的形心xhx2x1xxrxr=x+a(x-xh)---反射点,a反射系数,一般取a=1.无约束单纯形法分三种情况选择新点:xe=x+y(xr-x)若f(xr)>f(xe),则xe->xh否则,xr->xh1。如果
4、f(xl)>f(xr),进一步扩展扩展系数y>1,一般y=2.xhx2xlxxrxef(xr)比所有单纯形点上值小不进一步扩展,避免狭窄单纯形无约束单纯形法分三种情况选择新点:xe=x+y(xr-x)若f(xr)>f(xe),则xe->xh否则,xr->xh1。如果f(xl)>f(xr),进一步扩展扩展系数y>1,一般y=2.xhx2xlxxrxef(xr)比所有单纯形点上值小无约束单纯形法分三种情况选择新点:2。如果max{f(xi),ih}f(xr)f(xl),则xr->xhxhx2x1xxrxef(xr)在单纯形
5、点上值之间,但最少比第二最大值小.3。如果f(xr)>max{f(xi),ih},则f(xh’)=min{f(xh),f(xr)}压缩xc=x+b(xh’-x),0xh否则,以xl为中心压缩整个单纯形:xi=xi+0.5(xl-xi),i=0,1,2,…,nxhx2xlx2xhf(xr)可以在单纯形点上值之上,但最少比第二最大值大.xhx2x1xxrxcxhx2xxrxcx1试探顺序无约束单纯形法终止条件:初始单纯形:x0=(a1,a2,…,an)x
6、1=(a1+p,a2+q,…,an+q)x2=(a1+q,a2+p,…,an+q)……xn=(a1+q,a2+q,…,an+p)p=a为单纯形边长无约束单纯形法(2)算法(略)(3)举例=0.2反射系数压缩比扩展系数结束单纯形大小无约束单纯形法还需继续…新的单纯形无约束单纯形法无约束单纯形法初始单纯形所选的尺度与方向对结果有大的影响。单纯形可能退化到低维空间情况。有人指出,对于变量很多的情况,如n>10时,效率不高。(4)算法分析复合形法(1)算法思想对于n维变量空间,单纯形是n+1个顶点.复合形法是多个单纯形合并成的超多面
7、体,顶点数n+1.复合形法与单纯形极为相似,其不同之处:1.复合形法不限制顶点个数为n+1,复合形法顶点个数是k,2nkn+1.2.复合形法需要检查顶点的可行性,即是否满足约束.初始复合形法生成1.随机测试找到一个可行点2.随机生成其它点3.计算可行点的中心点4.中心点不可行时,不计最远点重新计算中心5.将不可行点向中心拉靠6.初始复合形初始复合形法生成设可行,不可行。(1)计算(2)算法(反射、扩张、收缩、压缩)XhXgXlXc(2)计算最高点次高点最低点最高点之外其它点的中心Step1:反射XhXgXlXcXr(3
8、)Xc是可行点时,在可行域内找反射点.XhXgXlXcXr减半,拉入可行域内。Xr不可行时,(4)Xc是非可行点时,重新构造复合形,并转(1).XhXgXlXcXlXcXcXl新的取点区域范围将不可行点拉入可行区内可行点不可行点f(Xr)