单目标优化问题 常用的 测试函数(MATLAB版)

 

 

 

 

      ###############################################

      #                测试函数                     #

      ###############################################

 

#1. De jong 函数F1 

#   min f1(x1,x2,x3) = x1^2+x2^2+x3^2;  -5.12<=x1,x2,x3<=5.12;

#   一个极小点f1(0,0,0)=0 

#     《遗传算法原理及应用》周明 孙树栋 编著 p125。

#   GA参数取默认值(以下未交代的GA参数都取默认值)

#   xu注:注意,含下标的变量在变量定义域表达式的表示形式要和数学表达式

#         中的一致!

#

      x1^2+x2^2+x3^2;  -5.12<=x1,x2,x3<=5.12;

 

     

      # 以连加形式表示上式(只可以字母i为变量下标):

   

      sum(1, 3, xi^2);   -5.12<=xi<=5.12;

    

      sum(1, 3, x[i]^2); -5.12<=x[i]<=5.12;

 

      # 指定 i 或 k 或 j 等字母为变量下标的连加形式表达式:

      # 说明:当指定某字母为变量下标,其变量名就不能含该字母 !

 

      sumx(1, 3, i, xi^2);    -5.12<=xi<=5.12;

 

      sumx(1, 3, k, xk^2);    -5.12<=xk<=5.12;

 

      sumx(1, 3, j, xj^2);    -5.12<=xj<=5.12;

 

      # 变量下标带 [ ] 的连加形式表达式: 

 

      sumx(1, 3, i, x[i]^2);  -5.12<=x[i]<=5.12; 

 

 

#1-a  min f(x) = sum(1, 100, (x-0.5)^2);

#     0<=xi<=1.0; i=1, 2, ..., 100;

#     最优解:f(0.5, 0.5, ..., 0.5) = 0

#  

      sum(1, 100, (xi-0.5)^2); 0<=xi<=1.0;

 

 

#1-1. * De jong 函数F2 , 又称 Rosonbrock马鞍函数

#     min f2(x1,x2) = 100*(x1^2-x2)^2+(1-x1)^2;  

#     它具有一个全局极小点f(1,1)=0 .该函数虽然

#     是单峰值函数,但它却是病态的(螺旋型),难以进行全局极小化。

#     摘自: 《遗传算法原理及应用》p125

#

#     这函数是二参数、单极值的非二次函数,但在x2=x1处有一狭

#     长深谷,其最小值在(x1,x2)=(1,1)时,min f=0,

#     寻优中可能陷入局部解.

#

#     Rosenbrock 函数是一个二维单峰值函数,具有一个全局极小点

#     f(1.0,1.0)=0.0,但它却是病态的,在函数曲面上沿着曲线x2=x1^2

#     有一条较为狭窄的山谷,传统的梯度优化方法搜索到谷边缘时,往往

#     会发生振荡,难以进行全局优化。

#     但它在全局极小点邻近的狭长区域内取值变化极为缓慢, 可用于评价

#     算法的搜索性能。

#     摘自:多点正交交叉的遗传算法 刘 清等

#     xu注:当变量定义域表达式中存在二个以上的变量时得用','分隔!

#

     100*(x1^2-x2)^2+(1-x1)^2;   -2.048<=x1,x2<=2.048;

    

     100*(x1^2-x2)^2+(1-x1)^2;   -10.0<=x1,x2<=10.0;

 

     100*(x1^2-x2)^2+(1-x1)^2;   -100.0<=x1,x2<=100.0;

 

     

#1-2. De jong 函数F3

#    min f3(x1,x2,...,x5)=sum(integer(xi)); 

#    -5.12<=xi<=-5.12   i=1,2,...,5    这是一个不连续函数,

#    该函数参数多,不可导,是五参数的阶梯函数,

#    在 -5.12<=xi<=-5.0 区域内的每一点,它都取全局极小值:

#    f3(x1,x2,x3,x4,x5)= -30。

#    摘自:《遗传算法原理及应用》p125

#

     floor(x1)+ floor(x2)+floor(x3)+floor(x4)+floor(x5);  -5.12<=x1,x2,x3,x4,x5<=5.12;

 

     sum(1, 5, floor(xi));   -5.12<=xi<=5.12;

 

     sumx(1, 5, i, floor(xi)); -5.12<=xi<=5.12;

 

 

#1-3 De Jong 函数F4

#    min f4(x1,x2,...,x30)=sum(i*xi^4)+rnd;

#    -1.28<=xi<=1.28, i=1,2,...,30;  

#    这是一个含噪声rnd的4次函数,当不考虑噪声的影响时,它具有

#    一个全局极小值f4(0,0,...,0)=0。

#    摘自:《遗传算法原理及应用》p125

#    原De Jong 函数,该噪声是分布为N(0,1)的高斯随机变量

#    RandG(0,1)。据文献介绍,当函数不存在全局最小值时,该函数

#    是有缺陷的。

#    为此,有人建议以均匀分布的[0,1)的随机变量代替之。这可保证

#    最小值定位于0。

#    Quartic [F4] is a simple unimodal function padded with noise.

#    The gaussian noise makes sure that the algorithm never gets

#    the same value on the same point.Algorithms that do not do

#    well on this test function will do poorly on noisy data.

#   

     sum(1,30,i*xi^4)+RandG(0,1); -5.12<=xi<=5.12;

   

     sum(1,30,i*xi^4)+rand(0,1); -5.12<=xi<=5.12;

 

 

#1-4 De Jong 函数F5  

#    min f5(x1,x2)=1/(1/500+sum(1/(j+sum((xi-aij)^6)))),

#    -65.536<=xi<=65.536, j=1,2,...,25; i=1,2;

#    a1j= -32,-16,0,16,32,       -32,-16,...,0,16,32

#    a2j= -32,-32,-32,-32,-32,   -16,-16,...,32,32,32

#    它总共有25个局部极小值,其中有一个是全局极小值:

#     f5(-32,-32)=0.998。  

#    摘自:《遗传算法原理及应用》p125

#    该函数是具有 2 5 个稀疏尖峰的多模态函数。

#    xu注:  本程序规定常数项一维数组命名为c, 二维数组命名为a,

#          即分别以c[j]和a[i,j]表示。

#          它们的二组数据即可记录在同一txt文件中,也可分别记

#          录在二个不同的txt文件中。文件应保存在本地文件夹内。

#            该数学表达式的常数项数组可调用1-4 ConstTermsData.txt

#          给予输入。

#    xu注:min f( -31.97833, -31.97833 ) = 0.998003840

#          若是f5(x1,x2)=0.002+sum(1/(j+sum((xi-aij)^6)))

#          min f = 0.00200

 

     1/(1/500+sumx(1,25,j,1/(j+sumx(1,2,i,(xi-a[i,j])^6))));  -65.536<=xi<=65.536;

 

     1/(0.002+sumx(1,25,j,1/(j+sumx(1,2,i,(xi-a[i,j])^6))));  -65.536<=xi<=65.536;

    

     0.002+sumx(1,25,j,1/(j+sumx(1,2,i,(xi-a[i,j])^6)));  -65.536<=xi<=65.536;

 

 

#2. Schaffer函数

#   min f(x1, x2), 该函数在(x[1], x[2])=(0,0)处有一个全局最小值0。

#

    0.5+((sin(sqrt(x[1]^2+x[2]^2))*sin(sqrt(x[1]^2+x[2]^2))-0.5)/((1.0+0.001*(x[1]^2+x[2]^2))*(1.0+0.001*(x[1]^2+x[2]^2))));   -100<=x[1],x[2]<=100;

   

    0.5+((sin(sqrt(x1^2+x2^2)))^2-0.5)/(1.0+0.001*(x1^2+x2^2))^2; -100<=x1,x2<=100;

 

    0.5+((sin(sqrt(pow(x1,2)+pow(x2,2))))^2-0.5)/(1.0+0.001*(pow(x1,2)+pow(x2,2)))^2; -100<=x1,x2<=100;

 

 

#3. * Schaffer函数

#   在其定义域内只有一个全局极小点min f(0,0)=0,  -100<=x1,x2<=100;

#

    ((x^2+y^2)^0.25)*((sin(50*(x^2+y^2)^0.1)^2)+1.0); -5.12<=x,y<=5.12;

 

    ((x1^2+x2^2)^0.25)*((sin(50*(x1^2+x2^2)^0.1)^2) +1.0);  -10<=x1,x2<=10;

 

    pow(pow(x1,2)+pow(x2,2), 0.25)*(pow(sin(50*pow((x1^2+x2^2),0.1)),2)+1.0);  -100<=x1,x2<=100;

 

 

#3-1 min f=sum(1, D-1, pow(x[i+1]^2+x[i]^2, 0.25)

#          *(1.0+pow(sin(50.0*pow(x[i+1]^2+x[i]^2, 0.1)), 2))),

#    -100<=x[i],x[i+1]<=100,  i=1,2,...,D-1;

#    其min f(0,0,...,0)=0;  其全局极小点与邻近的局部极小点之间

#    有High barrier height.是演化算法的典型测试函数。

#    摘自:《快速演化算法研究》 高飞等。

 

    sum(1, 9, pow(x[i+1]^2+x[i]^2, 0.25)*(1.0+pow(sin(50.0*pow(x[i+1]^2+x[i]^2, 0.1)), 2))); -100<=x[i],x[i+1]<=100;

 

    sum(1, 29, pow(x[i+1]^2+x[i]^2, 0.25)*(1.0+pow(sin(50.0*pow(x[i+1]^2+x[i]^2, 0.1)), 2)));  -100<=x[i],x[i+1]<=100;

 

 

#4. * Schaffer's 函数

#   此函数只有一个最小值点min f(0,0)=-1;

#   该最小值点周围有很多局部极值点,形成二圈圈沟,其函数值分别为

#   -0.990283和-0.962776,因此很容易陷入在这些极小点处。

#   注:也可按多峰值函数处理,效果亦佳。

#

    (sin(sqrt(x^2+y^2))^2-0.5)/(1+0.001*(x^2+y^2))^2 -0.5; -100<x,y<100;

 

 

#4-1 Schaffer 函数, 此函数有一个全局最大值解 max f(0,0)=1.0 。

#    该最大值点周围有两圈圈脊,取值分别为0.990284 和0.962776,

#    而且这些局部极值与最大值间的值差很小,因此,优化过程中极易

#    停滞在这些局部极值点处。因而,该函数可以很好地衡量进化算法

#    的性能.

#

    0.5-((sin(sqrt(x^2+y^2)))^2-0.5)/(1.0+0.001*(x^2+y^2))^2;-100<x,y<100;

 

 

#4-2 Multimodal sine envelope sine wave function.

#    min f=sum(1, D-1, 0.5+((sin(sqrt(x[i+1]^2+x[i]^2)))^2

#     -0.5)/(1.0+0.001*(x[i+1]^2+x[i]^2))^2),

#     -100<=x[i],x[i+1]<=100, i=1,2,...,D-1;

#    该函数有一个全局极小值 min f(0, 0,..., 0)=0,  该全局极小点

#    被无数的局部极小点所围绕, 并且全局极小点与这些局部极小点之

#    间存在极大值点。该函数是评价演化算法全局收敛性及搜索性能的

#    经典函数。 

#    摘自:快速演化算法研究  高飞等.

#

     sum(1, 9, 0.5+((sin(sqrt(x[i+1]^2+x[i]^2)))^2-0.5)/(1.0+0.001*(x[i+1]^2+x[i]^2))^2); -100<=x[i],x[i+1]<=100;

 

     sum(1, 29, 0.5+((sin(sqrt(x[i+1]^2+x[i]^2)))^2-0.5)/(1.0+0.001*(x[i+1]^2+x[i]^2))^2); -100<=x[i],x[i+1]<=100;

 

 

#4-3 min f(x1,x2)=(((sin(sqr(x1^2+x2^2))^2-0.5)

#                /(1+0.001*(x1^2+x2^2))^2))-0.5;  -4<=x1,x2<=4;

#   其全局最优值在点(0,0).在全局最优值附近有无穷个取值相同的局部

#   最优值,且性态震荡强烈,一般的优化算法很难找到其全局最优解, 因

#   此常常被国内外很多学者用于对优化问题的测试.

#   摘自: Tang W, Guo ZM, Tang JH, Li DP. Optimizing complex

#   functions by chaos genetic algorithm. Journal of Harbin

#   Engineering University, 2000,21(5):1~5 (in Chinese with

#   English abstract).

#   其全局最优的精确解为(f=0.3679, x1=0, x2=0 ?);

#   xu注:f(x1,x2) = -1.00000, x1=0, x2=0; 

#

    (((sin(sqrt(x1^2+x2^2)))^2-0.5)/(1.0+0.001*(x1^2+x2^2))^2)-0.5;  -4<=x1,x2<=4;

 

 

#5. * Shubert函数 

#   min f(x,y)=(sum(i*cos((i+1)*x)+i))*(sum(i*cos((i+1)*y)+i)),

#   i=1:5, -10<=x,y<=10

#   该函数是一个多模态函数, 在其定义域内共有760个局部最小点,

#   其中的18 个点是全局最小点f = -186. 731 ,

#   因而该函数对于测试小生境遗传算法性能是非常适合的.

#   摘自: MICHALEWICZ Z.

#   Genetic Algorithms + Data Structures = Evolution Programs [M] .

#   Beijing :Science Press ,2000 :1 - 128.

#   xu注:取小生境距=0.50~0.80, 最优保存数=22

 

    (cos(2*x[1]+1)+2*cos(3*x[1]+2)+3*cos(4*x[1]+3)+4*cos(5*x[1]+4)+5*cos(6*x[1]+5))*(cos(2*x[2]+1)+2*cos(3*x[2]+2)+3*cos(4*x[2]+3)+4*cos(5*x[2]+4)+5*cos(6*x[2]+5));  -10<= x[1],x[2]<=10;

 

    sum(1,5,i*cos((i+1)*x1+i))*sum(1,5,i*cos((i+1)*x2+i)); -10<=x1,x2<=10;

 

    sum(1,5,i*cos((i+1)*x+i))*sum(1,5,i*cos((i+1)*y+i)); -10<=x,y<=10;

 

 

#5-1  f(x)=sum(1,5,i*cos((i+1)*x1+i))*sum(1,5,i*cos((i+1)*x2+i))

           +(x1+1.42513)^2+(x2+0.80032)^2;

#    where -10 ≤ xi ≤ 10, i = 1, 2. There are about 760 local minima

#    and one global minimum f* = -176.1375 at x* = (-1.3068,-1.4248).

#    Levy No. 5-1 is identical to Levy No. 5 except for the addition

#    of a quadratic term. The large number of local optimizers makes

#    it extremely difficult for any approximation method to find the

#    global minimizer.

#    摘自:《An Evolutionary Algorithm for Minimizing Multimodal

#          Functions》D.G. Sotiropoulos, V.P. Plagianakos and M.N.

#          Vrahatis University of Patras, Department of Mathematics,

#          Division of Computational Mathematics & Informatics,

#    xu注:f( -1.42513, -0.80032 ) = -186.730911255 ?

 

     sum(1, 5, i*cos((i+1)*x1+i))*sum(1,5,i*cos((i+1)*x2+i))+(x1+1.42513)^2+(x2+0.80032)^2;  -10<=x1,x2<=10;

 

 

#6. Shubert函数

#   该函数有9个全局最小值-24.062499,位于(x,y):

#   (-6.774576,-6.774576)、(-6.774576,-0.491391)、

#   (-6.774576,5.791794)、(-0.491391,-6.774576)、

#   (-0.491391,-0.491391)、(-0.491391,5.791794)、

#   (5.791794,-6.774576)、(5.791794,-0.491391)、

#   (5.791794,5.791794)

#   取最优保存数=10~12, 其余默认值。

#

    -(sin(2*x+1)+2*sin(3*x+2)+3*sin(4*x+3)+4*sin(5*x+4)+5*sin(6*x+5))-(sin(2*y+1)+2*sin(3*y+2)+3*sin(4*y+3)+4*sin(5*y+4)+5*sin(6*y+5));  -10<=x,y<=10;

 

    -sum(1,5,i*sin((i+1)*x+i))-sum(1,5,i*sin((i+1)*y+i)); -10<=x,y<=10;

 

 

#7. Easom函数

#   min f(x1,x2) = -cos(x1)*cos(x2)*exp(-((x1-pi)^2)-(x2-pi)^2);

#   -10<x1,x2<10 ;  

#   在(x1,x2)=(pi, pi)处有全局最小值-1。

#

    -cos(x1)*cos(x2)*exp(-((x1-pi)^2)-(x2-pi)^2);  -10<x1,x2<10 ;

 

    -cos(x1)*cos(x2)*exp(-((x1-pi)^2)-(x2-pi)^2);  -100<=x1,x2<=100;

   

    -cos(x1)*cos(x2)*exp(-pow((x1-pi),2)-pow((x2-pi),2));  -500<=x1,x2<=500;

 

 

#7-1  min f(x,y) = sin(x)*sin(y);   -pi<=x,y<=pi;

#     有二个全局最小值:

#       1.  f( 1.57080, -1.57080 ) = -1.000000000

#       2.  f( -1.57080, 1.57080 ) = -1.000000000

#     来源:一种基于多群体搜索的实数遗传算法  程之刚等  国防科技大学。

#

      sin(x)*sin(y);   -pi<=x,y<=pi;

 

 

#8. Branin RCOS函数  在三个不同点:

#   (x[1],x[2])=(-pi,12.275) 、(pi, 2.2750)和(9.42478, 2.4750)

#   处有全局最小值 0.397887

#   xu注:当有二个以上的变量定义域表达式时,表达式之间得用'&&'分隔。

#         如下式有  0<=x[2]<=15  &&  -5<=x[1]<=10; 

#

    (x[2]-(5.1/(4*3.14159265359^2))*x[1]^2+(5/3.14159265359)*x[1]-6)*(x[2]-(5.1/(4*3.14159265359^2))*x[1]^2+(5/3.14159265359)*x[1]-6)+10*(1-1/(8*3.14159265359))*cos(x[1])+10;  0<=x[2]<=15  &&  -5<=x[1]<=10;

 

    (x[2]-(5.1/(4*3.14159265359^2))*x[1]^2+(5/3.14159265359)*x[1]-6)*(x[2]-(5.1/(4*3.14159265359^2))*x[1]^2+(5/3.14159265359)*x[1]-6)+10*(1-1/(8*3.14159265359))*cos(x[1])+10;  -5<=x[1]<=10  &&  0<=x[2]<=15;

  

    (x[2]-(5.1/(4*pi*pi))*x[1]*x[1]+(5/pi)*x[1]-6)*(x[2]-(5.1/(4*pi*pi))*x[1]*x[1]+(5/pi)*x[1]-6)+10*(1-1/(8*pi))*cos(x[1])+10;  -5<=x[1]<=10 && 0<=x[2]<=15;

 

 

#9. Six-hump Camel Back Function    六峰驼返回函数

#   该函数共有六个局部极小点,其中

#   f(-0.089842,0.71266)=f(0.089842,-0.71265)=-1.031628489

#   为二个全局最小点。

#   来源: MICHALEWICZ Z.

#    Genetic Algorithms + Data Structures = Evolution Programs [M] .

#    Beijing :Science Press ,2000 :1 - 128.

#   xu注:当有二个以上的变量定义域表达式时,表达式之间得用'&&'分隔。

#         如0<=x[2]<=15  &&  -5<=x[1]<=10; 

#

    (4.0-2.1*x[1]^2+(1/3.0)*x[1]^4)*x[1]^2+x[1]*x[2]+(-4.0+4.0*x[2]^2)*x[2]^2;  -3<=x[1]<=3 && -2<=x[2]<=2;

   

    (4.0-2.1*pow(x1,2)+(1/3.0)*pow(x1,4))*pow(x1,2)+x1*x2+(-4.0+4.0*pow(x2,2))*pow(x2,2);  -3<=x1<=3 && -2<=x2<=2;

 

 

#10. 在定义域内有200个极大和极小值

#

    fabs((1-x)*x^2*sin(200*pi*x)); 0<x<1;

 

 

#11 * Rosenbrock's函数:

#   sum(1, D-1, 100*(x[i]^2-x[i+1])^2+(1-x[i])^2)

#     -5.12<=x[i]<=5.12   i=1:D

#   De jong 函数F2 的高维函数。

#   最优解  min f(1,1,1, ..., 1,1)=0.0;

#   文献[10]中采用传统GA求解了n=2时的问题.在Rosenbrock函数曲面山谷

#   中的点的最速下降方向几乎与到函数最小值的最好方向垂直,因而传统算

#   法(如最速下降法)较难求解此问题.在高维情况下传统GA难以高效地求

#   解该问题.

#  

#   xu注:D=30, 小生境初距=0.3  终止代数=1000,其余参数取默认值;

#        (090408)

#

      sum(1,3,100*(x[i]^2-x[i+1])^2+(1-x[i])^2); -5.12<=x[i],x[i+1]<=5.12;

 

      sum(1,5,100*(x[i]^2-x[i+1])^2+(1-x[i])^2); -5.12<=x[i],x[i+1]<=5.12;

 

      sum(1,10,100*(x[i]^2-x[i+1])^2+(1-x[i])^2); -5.12<=x[i],x[i+1]<=5.12;

 

      sum(1,30,100*(x[i]^2-x[i+1])^2+(1-x[i])^2); -5.12<=x[i],x[i+1]<=5.12;

 

      sum(1,30,100*(x[i+1]-x[i]^2)^2+(x[i]-1)^2); -30<=x[i],x[i+1]<=30;

 

 

#11-1.Rosenbrock's 函数   A widely used multimodal test function

#   sum(1, D-1, 100*(x[i+1]-xi^2)^2+(1-xi)^2);

#     =sum(1, D-1, 100*(x[i]-x[i-1]^2)^2+(1-x[i-1])^2;

#   global minimum  f(x) = 0  x(i) = 1.0, i=1:D

#   Rosenbrock 函数是一个经典复杂优化问题,可被当成多模优化函数,

#   它的全局最优点位于一个平滑、狭长的抛物线形山谷内.由于函数仅

#   为优化算法提供了少量信息,使算法很难辨别搜索方向,找到全局最小

#   点的机会微乎其微,该函数通常用于评价优化算法的执行效率.

#   在下一节的实验测试过程中,我们也发现优化算法一般只能获得该函

#   数的局部极值.其全局最优解:f(1,1,1,...,1)=0. 

#   摘自:《多点交叉学习组织进化算法》 吕艳萍1,2, 李绍滋1+, 周昌乐1

#   Journal of Software 软件学报 Vol.18, Supplement, December 2007

#

    sum(1, 30, 100*(x[i+1]-x[i]^2)^2+(1-x[i])^2);-2.048<=x[i],x[i+1]<=2.048; 

 

    sum(1, 50, 100*(x[i+1]-x[i]^2)^2+(1-x[i])^2);-2.048<=x[i],x[i+1]<=2.048;

   

    sum(1, 100, 100*(x[i+1]-x[i]^2)^2+(x[i]-1)^2);-2.048<=x[i],x[i+1]<=2.048;

 

 

#11-2  Min f(x)=(sin(pi*y1))^2+sum(1, n-1, (y1-1)^2

#              *(1+10*(sin(pi*y[i+1]))^2))+(y[n]-1)^2

#     where yi=1+(xi-1)/4, (i = 1, . . . , n) and xi ∈ [-10, 10],

#     i = 1, 2, 3. There are about 125 local minima and one global

#     minimum f* = 0  at x* = (1, 1, 1).  No. 5-2 is difficult

#     due to the combinations of diffirent periods of the sine

#     function.

#     摘自:《An Evolutionary Algorithm for Minimizing Multimodal

#          Functions》D.G. Sotiropoulos, V.P. Plagianakos and M.N.

#          Vrahatis University of Patras, Department of Mathematics,

#          Division of Computational Mathematics & Informatics,

#    

 

   (sin(pi*(1+(x[1]-1)/4)))^2+sum(1, 2, ((1+(x[1]-1)/4)-1)^2*(1+10*(sin(pi*(1+(x[i+1]-1)/4)))^2))+((1+(x[3]-1)/4)-1)^2; -10<=x[1],x[3],x[i+1]<=10;

 

   (sin(pi*(1+(x[1]-1)/4)))^2+sum(1, 9, ((1+(x[1]-1)/4)-1)^2*(1+10*(sin(pi*(1+(x[i+1]-1)/4)))^2))+((1+(x[10]-1)/4)-1)^2; -10<=x[1], x[10],x[i+1]<=10;

 

   (sin(pi*(1+(x[1]-1)/4)))^2+sum(1, 29, ((1+(x[1]-1)/4)-1)^2*(1+10*(sin(pi*(1+(x[i+1]-1)/4)))^2))+((1+(x[30]-1)/4)-1)^2; -10<=x[1],x[30],x[i+1]<=10;

 

   (sin(pi*(1+(x[1]-1)/4)))^2+sum(1, 99, ((1+(x[1]-1)/4)-1)^2*(1+10*(sin(pi*(1+(x[i+1]-1)/4)))^2))+((1+(x[100]-1)/4)-1)^2; -10<=x[1],x[100],x[i+1]<=10;

 

 

 

#12. * X.FenXiang函数   这是一个多峰函数,有四个全局最小点:

#    f(1,1)=0, f(-1,1)=0, f(1,-1)=0, f(-1,-1)=0

#    较难完全同时搜索到全局极小化点,很有代表性。

#

     100*(x[1]^2-x[2]^2)^2+(1-x[1]^2)^2;  -2.048<=x[1],x[2]<=2.048;

 

 

#13. Goldstein and Price function (GP)   该函数在其定义域内

#    只有一个全局极小值 f(0,-1)=3.0 。

#

     (1+(x1+x2+1)^2*(19-14*x1+3*x1^2-14*x2+6*x1*x2+3*x2^2))*(30+(2*x1-3*x2)^2*(18-32*x1+12*x1^2+48*x2-36*x1*x2+27*x2^2)); -2<=x1,x2<=2;

 

 

#14. Hump function(HM)   该函数有二个全局最小值:

#    f(0.0898,-0.7126)=f(-0.0898,0.7126) = 0.0

#

     1.0316285+4*x1^2-2.1*pow(x1,4)+1/3*pow(x1,6)+x1*x2-4*x2^2+4*pow(x2,4); -5<x1,x2<5;

 

 

#15  * Rastrigin's Function    

#    A widely used multimodal test function Minimize:

#    min f(x)=10.0*n+sum(x[i]^2 - 10.0*cos(2*Pi*x[i]))  

#    -5.12<= x[i]<=5.12

#    global minimum f(x)=0   x[i]=0,  i=1:n

#    Rastrigin’s 函数是一个复杂的多模问题, 具有大量的

#    局部极值点, 主要用于检验算法的群体多样性.

#

     10.0*2+x1^2+x2^2-10*(cos(2*pi*x1)+cos(2*pi*x2));-5.12<=x1,x2<=5.12;

 

     10.0*10+sum(1,10,x[i]^2-10.0*cos(2*pi*x[i])); -5.12<=x[i]<=5.12;

 

 

#15-1.* Rastrigin's函数

#   min f5=sum(1, D, xi^2-10*cos(2*pi*xi)+10);

#   -5.12<=xi<=5.12; min f5(0, 0, ... , 0)=0;

#   函数是一个复杂的多模问题, 在xi=0(i=1,2,...,n)时达到全局极小点,

#   存在10D个的局部极值点(0.995,1.990,2.985,3.980,4.985 等).

#   主要用于检验算法的群体多样性.

#

 

    sum(1, 30, xi^2-10*cos(2*pi*xi)+10);  -5.12<=xi<=5.12;

 

    sum(1, 50, xi^2-10*cos(2*pi*xi)+10);  -5.12<=xi<=5.12;

 

    sum(1, 80, xi^2-10*cos(2*pi*xi)+10);  -5.12<=xi<=5.12;

 

    sum(1, 100, xi^2-10*cos(2*pi*xi)+10);  -5.12<=xi<=5.12;

 

 

#16. Bohachevsky函数#1   有一个f(0,0)=0.0 全局最小值。

#

     x1^2+2*x2^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7; -50<=x1,x2<=50;

 

 

#17. Bohachevsky 函数 #2  有f(0,0)=0 全局最小值。

#

     x1^2+2*x2^2-0.3*cos(3*pi*x1)*cos(4*pi*x2)+0.3; -50<=x1,x2<=50;

 

 

#18. Bohachevsky 函数 #3  有f(0,0)=0 全局最小值。

#

     x1^2+2*x2^2-0.3*cos(3*pi*x1+4*pi*x2)+0.3; -50<=x1,x2<=50;

 

 

#19. Bohachevsky测试函数 3,最优解为-0.24,分布在[0,-0.24]

#    和[0,0.24]。

#    xu注:取小生境距=0.2(取小于两峰值间距,变量定义域也不大),

#          其余默认值;

#

     x^2+y^2-0.3*cos(3*pi*x)+0.3*cos(4*pi*y)+0.3;  -1.0<=x,y<=1.0;

 

 

#20. 多峰函数,有四个全局最大值2.118,对称分布于

#    (+0.64,+0.64),(-0.64,-0.64),(+0.64,-0.64),

#    (-0.64,+0.64),存在大量局部极大值,

#    尤其是在中间区域有一取值与全局最大值很接近的局部极大值

#    2.077)凸台。

#    xu注:

#    最小值:

#     f( -0.64097, -0.64097 ) = -2.118763447

#     f( -0.64097, 0.64097 ) = -2.118763447

#     f( 0.64097, -0.64097 ) = -2.118763447

#     f( 0.64097, 0.64097 ) = -2.118763447

#    最大值:

#     f( -0.88118, -0.88118 ) = 0.632694185

#     f( -0.88118, 0.88118 ) = 0.632694185

#     f( 0.88118, -0.88118 ) = 0.632694185

#     f( 0.88118, 0.88118 ) = 0.632694185

#   

     -(1+x*sin(4*pi*x)-y*sin(4*pi*y+pi)+sin(6*sqrt(x^2+y^2))/(6*sqrt(x^2+y^2+10^(-15))));  -1<=x,y<=1;

 

 

#21. 函数6,有四个全局最小值-2.260,分布在:

#    (0.63492,0.63492),(-0.63492,0.63492),

#    (0.63492,-0.63492),(-0.63492,-0.63492)

#    xu注:

#     f( 0.63492, 0.63492 ) = -2.259986401

#     f( -0.63492, 0.63492 ) = -2.259986401

#     f( -0.63492, -0.63492 ) = -2.259986401

#     f( 0.63492, -0.63492 ) = -2.259986401

#

     -(1+x*sin(4*pi*x)-y*sin(4*pi*y+pi)); -1<=x,y<=1;

 

#22. Needle-in-a-haystack问题,当a=0.05;b=3,其最优解近似

#    为-3600,分布在(0,0)。

#    4个局部极值点为(+5.12,+5.12),(-5.12,-5.12),

#    (+5.12,-5.12),(-5.12,+5.12)。

#    xu注:

#     1. f( 0.00000, 0.00000 ) = -3600.000000000

#     2. f( -5.12000, -5.12000 ) = -2748.782226563

#     3. f( -5.12000, 5.12000 ) = -2748.782226563

#     4. f( 5.12000, -5.12000 ) = -2748.782226563

#     5. f( 5.12000, 5.12000 ) = -2748.782226563

#

     -((3/(0.05+(x^2+y^2)))^2+(x^2+y^2)^2);  -5.12<=x,y<=5.12;

 

 

#23. Camel函数,有6个局部极小点:

#    (1.607105, 0.568651),(-1.607105, -0.568651)、

#    (1.703607, -0.796084),(-1.703607, 0.796084)、

#    (-0.0898,0.7126), (0.0898,-0.7126),

#    其中(-0.0898,0.7126)和(0.0898,-0.7126)

#    为两个全局最小点,最小值为-1.031628。

#    xu注:

#    1.  f( -0.08984, 0.71266 ) = -1.031628489

#    2.  f( 0.08984, -0.71266 ) = -1.031628489

#

     (4-2.1*(x^2)+x^4/3)*x^2+x*y+(-4+4*y^2)*y^2;  -5.12<=x,y<=5.12;

 

 

#24. Rastrigrin 函数,全局最小值为0,分布在(0,0)处。

#

     20+x^2-10*cos(2*pi*x)+y^2-10*cos(2*pi*y);  -5.12<=x,y<=5.12;

 

 

#25. Sphere Model函数,全局最小值为0,分布在(0,0)。

#

     x^2+y^2;  -5.12<=x,y<=5.12;

 

 

#26. * Rana函数:

#    min f = x*sin(sqrt(fabs(y+1-x)))*cos(sqrt(fabs(y+1+x)))

#            +(y+1)*cos(sqrt(fabs(y+1-x)))*sin(sqrt(fabs(y+1+x))); 

#    -512<=x,y<=512;  全局最优解约为-511.708,分布在(-512,-512)。

#      The Rana function is a non-separable, highly multimodal

#    function.The left figure shows the two dimensional landscape of

#    the non-rotated version. The best solutions are at the corners.

#    Applying a simple parameter shift makes this function

#    non-symmetric.

#    来源:Genitor Colorado State University.

#    xu注:较难找到最优解,其实最优解还不是-511.708892822,但经常找到

#          的是它。

#          f( -512.00000, -511.99540 ) = -511.708892822  多数情况

#          f( -512.00000, -511.99560 ) = -511.708892822

#          f( -488.63258, 512.00000 ) = -511.732879639

#              小生境初距=500~1000,其余默认值

#          f( 487.50042, 504.22052 ) = -552.609375000

#          f( 505.20298, 486.14774 ) = -564.045166016

#         采用多峰值函数寻优方式,同时得到:

#         1.  f( -488.63258, 512.00000 ) = -511.732879639

#         2.  f( -512.00000, -511.99560 ) = -511.708892822

#

     x*sin(sqrt(fabs(y+1-x)))*cos(sqrt(fabs(y+1+x)))+(y+1)*cos(sqrt(fabs(y+1-x)))*sin(sqrt(fabs(y+1+x)));  -512<=x,y<=512;

 

     x*sin(sqrt(fabs(y+1-x)))*cos(sqrt(fabs(y+1+x)))+(y+1)*cos(sqrt(fabs(y+1-x)))*sin(sqrt(fabs(y+1+x)));  -512<=x,y<=512;

 

 

 

#27. 函数16,全局最小值f(0,0)=0

#

     fabs(x)+fabs(y)+fabs(x)*fabs(y);   -10<=x,y<=10;

 

 

#28. Michalewicz's 函数,函数有1个全局极小值点取值近似为

#    -1.8013,在(2.0230,2.0230)处。

#    xu注:f( 2.20291, 1.57080 ) = -1.801303387

#

     -sin(x)*(sin(x^2/pi))^20-sin(y)*(sin(2*y^2/pi))^20; 0<=x,y<=pi;

 

     -sin(x)*pow((sin(x^2/pi)),20)-sin(y)*pow((sin(2*y^2/pi)),20); 0<=x,y<=pi;

 

 

#28-1 Michalewicz's function

#   min f(...)=-sum(1, N, sin(xi)*pow(sin(i*xi^2/pi),20));

#   0<=xi<=pi; 最小值:-99.2784。

#   摘自:《用于函数优化的正交Multi-Agent遗传算法》,薛明志等,

#         系统工程与电子技术,第26卷第9期,2004年9月。

#

#     The Michalewicz function is a multimodal test function

#   (owns n! local optima).The parameter m defines the "steepness"

#   of the valleys or edges.Larger m leads to more difficult search.

#   For very large m the function behaves like a needle in the

#   haystack(the function values for points in the space outside the

#   narrow peaks give very little information on the location of the

#   global optimum). Function has the following definition

#   f(x) = -sum( sin(x(i)) * (sin(i*x(i)^2/pi))^(2*m) ),

#   i=1:n, m=10   0<=x(i)<=pi.  global minimum:

#   f(x)=-4.687 (n=5); x(i)=???, i=1:n.

#   f(x)=-9.66 (n=10); x(i)=???, i=1:n.

#   摘自:GEATbx: Example Functions (single and multi-objective

#         functions) 2 Parametric Optimization

#   xu注:从该函数3D图可见,随维数增加,该函数出现'平台'和狭长的'山谷',

#         '平台'的出现不利于靠目标函数值(适应度)的变化进行的寻优,

#         '平台'上的搜索点很难起导向性的搜索,而是呈现盲目性随机的搜索。

#         只有搜索点随机地落入'山谷',才有可能朝最优解方向搜索。这是造成

#         高维的该函数寻优的难度,使其寻优偶然性很大,取得最优解成功率不高。

#         n<=10很容易得到最优解,再高后难度增加。

#    n=5,  群体个体数=30,最优保存数=10,其它取默认值。

#          f( 2.20291, 1.57080, 1.28499, 1.92306, 1.72047 )

#          = -4.687658310

#    n=10, 群体个体数=30,最优保存数=10,其它取默认值。

#          f( 2.20291, 1.57080, 1.28499, 1.92306, 1.72047,

#             1.57080, 1.45441, 1.75609, 1.65572, 1.57080 )

#          = -9.660151482

#    n=30, 群体个体数=15   最优保存数=15  其余取默认值。

#          当迭代数到10左右,解要达到27~28时,才有希望达到最优解!

#          得到最优解的成功率不如n<=10.

#          f( 2.20291, 1.57080, 1.28499, 1.92306, 1.72047, 1.57080,

#             1.45441, 1.75609, 1.65572, 1.57080, 1.49773, 1.69662,

#             1.63008, 1.57080, 1.51755, 1.66606, 1.61633, 1.57080,

#             1.52891, 1.64746, 1.60776, 1.57080, 1.53627, 1.63493,

#             1.60190, 1.57080, 1.54144, 1.62593, 1.59765, 1.57080 )

#          = -29.630884171

#   

#    n=50  终止代数=1000,其余取默认值。

#          f( 2.20291, 1.57080, 1.28499, 1.92306, 1.72047, 1.57080,

#             1.45441, 1.75609, 1.65572, 1.57080, 1.49773, 1.69662,

#             1.63008, 1.57080, 1.51755, 1.66606, 1.61633, 1.57080,

#             1.52891, 1.64746, 1.60776, 1.57080, 1.53627, 1.63493,

#             1.60190, 1.57080, 1.54144, 1.62593, 1.59765, 1.57080,

#             1.54525, 1.61914, 1.59442, 1.57080, 1.54819, 1.61384,

#             1.59188, 1.57080, 1.55053, 1.60959, 1.58984, 1.57080,

#             1.55242, 1.60610, 1.58815, 1.57080, 1.55400, 1.60319,

#             1.58674, 1.57080 ) = -49.624832153

    -sum(1, 5, sin(xi)*pow(sin(i*xi^2/pi),20)); 0<=xi<=pi;

 

    -sum(1, 10, sin(xi)*pow(sin(i*xi^2/pi),20)); 0<=xi<=pi;

 

    -sum(1, 30, sin(xi)*pow(sin(i*xi^2/pi),20)); 0<=xi<=pi; 

 

    -sum(1, 50, sin(xi)*pow(sin(i*xi^2/pi),20)); 0<=xi<=pi; 

 

    -sum(1, 100, sin(xi)*pow(sin(i*xi^2/pi),20)); 0<=xi<=pi;  

 

 

#28-2 Michalewicz’s function

#   max f(...) = sum(1, N, sin(xi)*(sin(i*xi^2/pi))^20)

#   0.0<=xi<=3.14;

#   当N=100时,据介绍,最大值为99.2784,

#   来源作者的计算结果为99.61630365;

#   摘自:《适用于高维优化问题的改进进化策略》王湘中,喻寿益

#

#

    sum(1, 10, sin(xi)*pow(sin(i*xi^2/pi),20)); 0<=xi<=pi;

   

    sum(1, 10, sin(xi)*(sin(i*xi^2/pi))^20); 0.0<=xi<=pi;

   

    sum(1, 30, sin(xi)*(sin(i*xi^2/pi))^20); 0.0<=xi<=pi;    

 

    sum(1, 100, sin(xi)*(sin(i*xi^2/pi))^20); 0.0<=xi<=pi;

 

 

#29. Schwefel's函数,是一个典型的欺骗问题,有1个全局极小值点

#    取值近似为-837.9658,在(420.96875,420.96875)处,距离另

#    一个局部最优点很远,因此如果陷入局部最优就很难跳出。

#    xu注:f( 420.96875, 420.96875 ) = -837.965759277

#

     -x*sin(sqrt(fabs(x)))-y*sin(sqrt(fabs(y))); -500<=x,y<=500;

 

 

#30. Schwefel's function

#    sum(1, D, -x(i)·sin(sqrt(abs(x(i)))));

#    i=1:D;  -500<=x(i)<=500;

#    global minimum: f(x) = -D·418.9829;  

#    x(i)=420.9687, i=1:D.

#    xu注: 基本同#31

#     D=2, f( 420.96875, 420.96875 ) = -837.965759277

#     D=3, f( 420.96875, ..., 420.96875)=-1256.948608398;

#     D=10, f( 420.96875, ..., 420.96875)=-4189.829101563;

#     D=30,f( 420.96875, ..., 420.96875)=-12569.486328125

#

     -x1*sin(sqrt(fabs(x1)))-x2*sin(sqrt(fabs(x2)));-500<=x1,x2<=500;

 

     sum(1,2,-xi*sin(sqrt(fabs(xi))));-500<=xi<=500;

 

     sum(1,2,-x[i]*sin(sqrt(fabs(x[i]))));-500<=x[i]<=500;

 

     sum(1,3,-x[i]*sin(sqrt(fabs(x[i]))));-500<=x[i]<=500;

 

     sum(1,10,-x[i]*sin(sqrt(fabs(x[i]))));-500<=x[i]<=500;

 

     sum(1,30,-x[i]*sin(sqrt(fabs(x[i]))));-500<=x[i]<=500;

 

     -sum(1,30,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

 

# *31. Schwefel's 函数   (Sine Root)function,

#   A widely used multimodal test function:

#   f(x) = 418.9829*n + sum(1, n, -x(i)*sin(sqrt(abs(x(i))));

#   -500 <= x(i) <= 500;

#   global minimum f(x) = 0, x(i)=420.9687, i=1:n

#   Schwefel's function [7] is deceptive in that the global

#   minimum is geometrically distant from the next best local

#   minima.

#   由于其全局最优解点周围存在局部极值点,因此搜索难以抵达全局

#   最优解点,主要用于检验算法的种群多样性.

#

#   http://www.aridolan.com/ga/gaa/Schwefel.html

#

#   xu注:常数418.9829精度不过,为418.982887272433799才有足过精度,

#   即 418.982887272433799*D + sum(1,D, -x(i)*sin(sqrt(abs(x(i))));

#   才能global minimum f(x) = 0

#

#       118.439及228.765,236.877,473.753 ,592.192等是其局部极值?

#   容易停滞在这些点上.

#  

#

    418.9829*2+sum(1,2,-xi*sin(sqrt(fabs(xi))));  -500<=xi<=500;

 

    418.982887272433*2-sum(1,2,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433*2-sum(1,2,xi*sin(sqrt(fabs(xi))));-500<=xi<=500;

 

    418.982887272433*3-sum(1,3, xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433*3-sum(1,3, xi*sin(sqrt(fabs(xi))));-500<=xi<=500;

 

    418.982887272433*5-sum(1,5,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433*5-sum(1,5, xi*sin(sqrt(fabs(xi))));-500<=xi<=500;

 

    418.982887272433*10-sum(1,10,xi*sin(sqrt(fabs(xi))));-500<=xi<=500;

  

    418.982887272433*30-sum(1,30,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433*30-sum(1,30,xi*sin(fabs(xi)^(1/2)));-512<=xi<=512;

   

    418.982887272433*30-sum(1,30,xi*sin(fabs(xi)^(1/2)));-520<=xi<=520;

 

    418.982887272433*40-sum(1,40,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433799*50-sum(1,50,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433799*60-sum(1,60,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433799*70-sum(1,70,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433799*80-sum(1,80,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

    418.982887272433799*90-sum(1,90,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

   418.982887272433799*100-sum(1,100,xi*sin(fabs(xi)^(1/2)));-500<=xi<=500;

 

 

#32. Ackley's Path function ,函数有1个全局极小值点取值为0,

#    在(0,0)处。Ackley’s 函数在狭长的全局极值点周围拥有很多

#    的局部极值.主要用以测试算法的收敛率.

#

     -20*exp(-0.2*sqrt(0.5*(x^2+y^2)))-exp(0.5*(cos(2*pi*x)+cos(2*pi*y)))+exp(1)+20;  -30<=x,y<=30;

 

     20+e-20*exp(-0.2*sqrt(1/30*sum(1,30,xi^2)))-exp(1/30*sum(1,30,cos(2*pi*xi))); -32.768<=x,y<=32.768;

 

     20+e-20*exp(-0.2*sqrt(1/100*sum(1,100,xi^2)))-exp(1/100*sum(1,100,cos(2*pi*xi))); -32.768<=x,y<=32.768;

 

 

#32-1  玄光男的遗传算法讲稿,有图. 有一最小值:

#    Optimal solution(x*,y*)=(0,0)  f(x*,y*)=0

#

     -20*exp(-0.2*sqrt(0.5*(x^2+y^2)))-exp(0.5*(cos(2*pi*x)+cos(2*pi*y)))+exp(1)+20;  -5<=x,y<=5;

 

 

#32-2. Ackley's函数

#    f2=20+e-20*exp(-0.2*sqrt(1/D*sum(1,D,xi^2)))

#       -exp(1/D*sum(1,D,cos(2*pi*xi));-32.768<=xi<=32.768;

#    min f2(0,0,...,0) = 0;

#    Ackley’s 函数在狭长的全局极值点周围拥有很多的局部极值,

#    它是6个基准测试函数中最容易得到最优解的,主要用以测试算法的

#    收敛率。

#    摘自:《多点交叉学习组织进化算法》 吕艳萍1,2, 李绍滋1+, 周昌乐1

#    Journal of Software 软件学报 Vol.18, Supplement, December 2007

#   

    20+e-20*exp(-0.2*sqrt(1/30*sum(1,30,xi^2)))-exp(1/30*sum(1,30,cos(2*pi*xi))); -32.768<=xi<=32.768;

 

    20+e-20*exp(-0.2*sqrt(1/100*sum(1,100,xi^2)))-exp(1/100*sum(1,100,cos(2*pi*xi))); -32.768<=xi<=32.768;

 

 

 

#33. Hansen函数,函数有一个全局最小值-176.541793,在下面九

#    个点处取值:

#    (-7.589893,-7.708314)、(-7.589893,-1.425128)、

#    (-7.589893,4.858057)、(-1.306708,-7.708314)、

#    (-1.306708,-1.425128)、(-1.306708,4.858057)、

#    (4.976478,-7.708314)、(4.976478,-7.708314)、

#    (4.976478,4.858057) 函数共有760个局部极小值。

#

     (cos(1)+2*cos(x+2)+3*cos(2*x+3)+4*cos(3*x+4)+5*cos(4*x+5))*(cos(2*y+1)+2*cos(3*y+2)+3*cos(4*y+3)+4*cos(5*y+4)+5*cos(6*y+5)); -10<=x,y<=10;

 

 

#34. Griewangk's 函数(similar to Rastrigin's function)函数

#    有1个全局极小值点取值为0,在(0,0)处。

#

     (x^2+y^2)/4000-cos(x)*cos(y/sqrt(2))+1; -600<=x,y<=600;

    

     sum(1,2,xi^2)/4000-prod(1,2, cos(xi/sqrt(i)))+1; -600<=xi<=600;

    

     sum(1,5,xi^2)/4000-prod(1,5, cos(xi/sqrt(i)))+1; -10<=xi<=10;

 

 

#35. Griewangk's function is similar to Rastrigin's

#    function. It has many widespread local minima.However,

#    the location of the minima are regularly distributed.

#    global minimum:

#    f(x)=0; x(i)=0, i=1:n.

#    f8(x)=sum(x(i)^2/4000)-prod(cos(x(i)/sqrt(i)))+1, i=1:n 

#    -600<=x(i)<=600.

#

      x1^2/4000+x2^2/4000-cos(x1/sqrt(1.0))*cos(x2/sqrt(2.0))+1;  -600<=x1,x2<=600;

 

      x1^2/4000+x2^2/4000-cos(x1/sqrt(1.0))*cos(x2/sqrt(2.0))+1;  -10<=x1,x2<=10;

 

 

#36.  min. F=(X[1]-1)*(X[1]-1)+(X[2]-1/2)*(X[2]-1/2)

#            +(X[3]-1/3)*(X[3]-1/3)+...+(X[100]-1/100)

#            *(X[100]-1/100)

#     s.t. -10<=X[I]<=10,I=1,2,...,100

#     全局最小值 0   

#     10维:f( 1.00000, 0.50000, 0.33333, 0.25000, 0.20000, 0.16667,

#            0.14286, 0.12500, 0.11111, 0.10000 ) = 0.000000000

#     20维:f( 1.00000, 0.50000, 0.33333, 0.25000, 0.20000, 0.16667,

#              0.14286, 0.12500, 0.11111, 0.10000, 0.09091, 0.08333,

#              0.07692, 0.07143, 0.06667, 0.06250, 0.05882, 0.05556,

#              0.05263, 0.05000 ) = 0.000000000 

#     100维:f( 1.00000, 0.50000, 0.33333, 0.25000, 0.20000,

#               0.16667, 0.14286, 0.12500, 0.11111, 0.10000, 0.09091,

#               0.08333, 0.07692, 0.07143, 0.06667, 0.06250, 0.05882,

#               0.05556, 0.05263, 0.05000, 0.04762, 0.04545, 0.04348,

#               0.04167, 0.04000, 0.03846, 0.03704, 0.03571, 0.03448,

#               0.03333, 0.03226, 0.03125, 0.03030, 0.02941, 0.02857,

#               0.02778, 0.02703, 0.02632, 0.02564, 0.02500, 0.02439,

#               0.02381, 0.02326, 0.02273, 0.02222, 0.02174, 0.02128,

#               0.02083, 0.02041, 0.02000, 0.01961, 0.01923, 0.01887,

#               0.01852, 0.01818, 0.01786, 0.01754, 0.01724, 0.01695,

#               0.01667, 0.01639, 0.01613, 0.01587, 0.01562, 0.01538,

#               0.01515, 0.01493, 0.01471, 0.01449, 0.01429, 0.01408,

#               0.01389, 0.01370, 0.01351, 0.01333, 0.01316, 0.01299,

#               0.01282, 0.01266, 0.01250, 0.01235, 0.01219, 0.01205,

#               0.01190, 0.01176, 0.01163, 0.01149, 0.01136, 0.01124,

#               0.01111, 0.01099, 0.01087, 0.01075, 0.01064, 0.01053,

#               0.01042, 0.01031, 0.01020, 0.01010, 0.01000 )

#          = 0.000000000

#         

      sum(1,10,(xi-1/i)^2);-10<=xi<=10;

     

      sum(1,20,(xi-1/i)^2);-10<=xi<=10;

     

      sum(1,100, (xi-1/i)^2);-10<=xi<=10;

 

 

#*37.  min.F=Abs(X[1]-1)+Abs(X[2]-2)+Abs(X[3]-3)+...

#           +Abs(X[100]-100)

#     s.t. -100<=X[I]<=100,I=1,2,...100

#     全局最小值 0。不易达到高精度的零值!

#    

      sum(1,100,fabs(xi-i));-100<=xi<=100;

 

 

#38. min.F=-(X[1]+X[2]+X[3]+...+X[100])

#    s.t. X[1]*X[1]+X[2]*X[2]+...+X[100]*X[100]<=100

#         0<=X[I]<=2, I=1,2,...,100

#    有不等式约束的函数优化!

#    全局最小值-100

#

     -sum(1,100,xi); 0<=xi<=2;

 

    

#39. min.F=Exp(-X[1])*Sin(X[1])+Exp(-X[2])*Sin(2*X[2])

#    +Exp(-X[3])*Sin(3*X[3])+...+Exp(-X[10])*Sin(10*X[10])

#    s.t. 0<=X[I]<=10,I=1,2,...,10

#    f( 3.92699, 2.12437, 1.46355, 1.11685, 0.90300, 0.75787,

#       0.65293, 0.57350, 0.51130, 0.46127 ) = -3.815545082

#    f( 3.92788, 2.12437, 1.46355, 1.11685, 0.90300, 0.75787,

#       0.65293, 0.57350, 0.51130, 0.46127 ) = -3.815545082

#    f( 3.92621, 2.12437, 1.46355, 1.11685, 0.90300, 0.75787,

#       0.65293, 0.57350, 0.51130, 0.46127 ) = -3.815545082

#

     sum(1,10, exp(-xi)*sin(i*xi)); 0<=xi<=10;

 

   

#40. min.F(x1,x2,...,x10) = Exp(-(X[1]+X[2]))*Sin(X[1]*X[2])

#                           + Exp(-(X[2]+X[3]))*Sin(2*X[2]*X[3])

#                           + Exp(-(X[3]+X[4]))*Sin(3*X[3]*X[4])

#                           + ...

#                           + Exp(-(X[10]+X[1]))*Sin(10*X[10]*X[1])

#    s.t. 0<=X[I]<=10,I=1,2,...,10

#    全局最小值:

#    f(0.66911, 4.37878, 1.28379, 1.14085, 0.98864, 0.90701,

#      0.83424,0.77432, 0.73665, 0.68502 ) = -1.430215716;

#    f(0.66065, 9.75233, 1.30341, 1.13164, 0.99241, 0.90636,

#      0.83268, 0.77762, 0.73170, 0.69156 ) = -1.430215716;

#

     sum(1,9,exp(-(x[i]+x[i+1]))*sin(i*x[i]*x[i+1]))+exp(-(x[10]+x[1]))*sin(10*x[10]*x[1]); 0<=x[i],x[i+1],x[10]<=10;

 

 

#41. * min.F=sum(sin(x[i]*sin(i*x[11-i])))

#          -prod(cos(x[i]*cos(i*x[11-i])));

#    0<=xi<=10; i=1:n;

#    该函数的极值如麦田的麦芒一样不计其数,要找出其中最矮的

#    一株其难度是可想而知的,基础遗传算法和一些改进遗传算法

#    都搜索不到全局最小值。

#    二维:f( 5.68795, 8.44250 ) = -2.999561787

#    三维:f( 3.44036, 8.44916, 9.90141 ) = -3.984106541(几率最高)

#          f( 3.44787, 8.44916, 9.88799 ) = -3.992382526 (090308)

#          f( 5.63505, 8.44916, 8.44181 ) = -3.998083591 (090308)

#      

#    xu注:以多峰值函数方式寻优,会取得更好的效果。

#   

  

     sum(1,2,sin(x[i]*sin(i*x[3-i])))-prod(1,2,cos(x[i]*cos(i*x[3-i])));0<=x[i],x[3-i]<=10;

 

     sum(1,3,sin(x[i]*sin(i*x[4-i])))-prod(1,3,cos(x[i]*cos(i*x[4-i])));0<=x[i],x[4-i]<=10;

 

#42  Salomon's function

#    min f(x)=- cos(2*pi*sqrt(sum(1,D,xi^2)))

#             + 0.1*sqrt(sum(1,D,xi^2))+1

#    min f(0,0,...,0)=0.0;

#    来源:http://www.it.lut.fi/ip/evo/functions/node12.html

 

     -cos(2*pi*sqrt(sum(1,10,xi^2))) + 0.1*sqrt(sum(1,10,xi^2))+1;  -10<=xi<=10;

 

 

#43. min f(x1,x2)=exp(sin(50.x1))+sin(60*exp(x2))+sin(70*sin(x1))

#             +sin(sin(80*x2))-sin(10*(x1+x2))+(x1^2+x2^2)/4;

#    f(x1=-0.0244030794174338178, x2=0.210612427162285371)

#    = -3.30686864747523535

#    来源:《NONLINEAR OPTIMIZATION IN MODELING ENVIRONMENTS》

#    xu注:f( -0.02440, 0.21061 ) = -3.306868553

#

     exp(sin(50*x1))+sin(60*exp(x2))+sin(70*sin(x1))+sin(sin(80*x2))-sin(10*(x1+x2))+(x1^2+x2^2)/4;  -3<=x1,x2<=3;

 

     exp(sin(50*x1))+sin(60*exp(x2))+sin(70*sin(x1))+sin(sin(80*x2))-sin(10*(x1+x2))+(x1^2+x2^2)/4; -100<=x1,x2<=30;

 

 

#44. Shekel SQRN5

#    带有一维数组c[j]和二维数组a[i,j], 它们的二组数据放在本地

#    文件夹的#44 ConstTermsData.txt。

#    D=5,   Min f(x1,x2,x3,x4) = f(4,4,4,4) = -10.15320;

#    D=7,   Min f(x1,x2,x3,x4) = f(4,4,4,4) = -10.402820;

#    D=10,  Min f(x1,x2,x3,x4) = f(4,4,4,4) = -10.53628; 

#    摘自:<演化程序-遗传算法和数据编码的结合>  p258 

#    xu注:  本程序规定常数项一维数组命名为c, 二维数组命名为a,

#          即分别以c[j]和a[i,j]表示。

#          它们的二组数据即可拷贝在同一txt文件中,也可分别记

#          录在二个不同的txt文件中。文件应保存在本地文件夹内。

#            该数学表达式的常数项数据拷贝在#44 D5 常数项数据.txt

#          、#44 D7 常数项数据.txt和#44 D10 常数项数据.txt

#    xu注:

#          D=5

#            f( 4.00004, 4.00013, 4.00004, 4.00013 ) = -10.152723312

#          D=7,

#            f( 4.00057, 4.00069, 3.99949, 3.99960 ) = -10.402464867

#          D=10,  参数取默认值。

#            f( 4.00075, 4.00059, 3.99966, 3.99951 ) = -10.535933495

    -sumx(1, 5, j, 1/(sumx(1,4,i,(xi-a[i,j])^2)+c[j])); 0<=xi<=10;

 

    -sumx(1, 7, j, 1/(sumx(1,4,i,(xi-a[i,j])^2)+c[j])); 0<=xi<=10;

 

    -sumx(1, 10, j, 1/(sumx(1,4,i,(xi-a[i,j])^2)+c[j])); 0<=xi<=10;

 

 

#46 

#  max f(x,y)=(a/(b+(x^2+y^2)))^2+(x^2+y^2);  -5.12<=x,y<=5.12;

#  其中,a=3.0, b= 0.05, max f(0,0) =3600, 4个局部极值点为

#  (-5.12,5.12),(-5.12, -5.12),(5.12, -5.12)和(5.12, 5.12),

#  函数值为2748.78 ,这是一类全局最优解被次优解所包围,隔断了模式

#  的重组过程,使得GA搜索长期陷入局部极值点,随着参数a ,b的变化,

#  该函数将形成不同严重程度的GA欺骗问题。

#  摘自:李敏强, 寇纪淞. 遗传算法的模式欺骗性. 中国科学(E缉),  

#  2002,   构造的一类大海捞针问题

#  xu注: f( 0.00000, -0.00000 ) = 3600.000000000

   (3.0/(0.05+(x^2+y^2)))^2+(x^2+y^2);  -5.12<=x,y<=5.12;

 

 

#47 max f1=-sum(1,D,sin(xi)+sin(2*xi/3)); 3<=xi<=13;

#   Optimum 1.21598D

#   xu注:

#      3维: f( 5.36225, 5.36225, 5.36225 ) = 3.647946596

#      10维:f( 5.36225, ...,5.36225, 5.36225 ) = 12.159821510

#      30维:f( 5.36225, ..., 5.36225, 5.36225 ) = 36.479465485

#      100维:f( 5.36225, ...,5.36225, 5.36225 ) = 120.306587219

#

   -sum(1, 3, sin(xi)+sin(2*xi/3)); 3<=xi<=13;

 

   -sum(1, 10, sin(xi)+sin(2*xi/3)); 3<=xi<=13;

 

   -sum(1, 30, sin(xi)+sin(2*xi/3)); 3<=xi<=13;

 

   -sum(1, 100, sin(xi)+sin(2*xi/3)); 3<=xi<=13;

 

 

#48  max f2=-sum(1,D-1,sin(x[i]+x[i+1])+sin(2*x[i]*x[i+1]/3));

#  3<=x[i],x[i+1]<=13  Optimum ~2D(max)

#  D=5时,采用多峰值函数寻优方式,

#         取最有保存数=20,其余取默认值。

#  1.f( 5.31950, 11.95926, 5.31950, 11.95926, 5.31950 )=8.000000000

#  2.f( 11.95926, 5.31950, 11.95926, 5.31950, 11.95926 )=8.000000000

#  3.f( 3.42233, 7.57324, 3.42233, 7.57324, 3.42233 )=8.000000000

#  4.f( 7.37571, 9.90305, 7.37571, 9.90305, 7.37571 )=8.000000000

#

   -sum(1,4,sin(x[i]+x[i+1])+sin(2*x[i]*x[i+1]/3)); 3<=x[i],x[i+1]<=13;

 

 

#49 max f6=sum(1,D,xi*sin(10*pi*xi));

#   -1.0<=xi<=2.0; Optimum 1.85D(max)

#   xu注:f( 1.85055, 1.85055 ) = 3.700547457

    sum(1,2,xi*sin(10*pi*xi)); -1.0<=xi<=2.0;

 

 

#50 求Max f(x)=10+sin(1/x)/((x-0.16)^2+0.1)  0<x<1

#   全局最优值f(x)=19.8949; x=0.1275

#   该函数引自文献: 张讲社,徐宗本,梁怡.整体退火遗传算法及其收敛充

#   要条件.

#   中国科学(E辑),1997,27(2):154~164.

#    xu注:f( 0.12749 ) = 19.894897461

 

    10+sin(1/x)/((x-0.16)^2+0.1); 0.01<x<1;

 

#   注:以下#52~#57六个函数来源于:

#   《多点交叉学习组织进化算法》 吕艳萍1,2, 李绍滋1+, 周昌乐1

#   Journal of Software 软件学报 Vol.18, Supplement, December 2007

 

 

#53 Ackley’s 函数

 

#54. * Griewank's函数

#   min f(...)=1/4000*sum(1,D,xi^2)-prod(1,D,cos(xi/sqrt(i)))+1;

#   -600<=xi<=600;  min f3(0,0,...,0)=0;

#     该函数由于其各维上的变量是密切相关的,互相作用,因此很难取得最

#   优解。

#   摘自:《多点交叉学习组织进化算法》 吕艳萍1,2, 李绍滋1+, 周昌乐1

#   Journal of Software 软件学报 Vol.18, Supplement, December 2007

#   xu注:参数取默认值(090318).

 

    1/4000*sum(1,2,xi^2)-prod(1,2,cos(xi/sqrt(i)))+1; -600<=xi<=600;

 

    1/4000*sum(1,10,xi^2)-prod(1,10,cos(xi/sqrt(i)))+1; -600<=xi<=600; 

 

    1/4000*sum(1,30,xi^2)-prod(1,30,cos(xi/sqrt(i)))+1; -600<=xi<=600; 

   

    1/4000*sum(1,100,xi^2)-prod(1,100,cos(xi/sqrt(i)))+1; -600<=xi<=600;

 

 

#55. *Weierstrass's函数

#   min f=sum(1, D, sum(0, kmax, a^k*cos(2*pi*b^k*(xi+0.5))))

#      -D*sum(0, kmax, a^k*cos(2*pi*b^k*0.5));

#   a=0.5, b=3, kmax=20; -0.5<=xi<=0.5;

#   min f4(0,0,...,0) = 0;

#   Weierstrass's 是一个处处连续又只在有限的几个点可微分的函数。

#   摘自:《多点交叉学习组织进化算法》 吕艳萍1,2, 李绍滋1+, 周昌乐1

#   Journal of Software 软件学报 Vol.18, Supplement, December 2007

#   D=30 小生境初距=0.1,衰减参数=8.0,终止代数=50;

#

    sumx(1, 10, i, sumx(0, 20, k, 0.5^k*cos(2*pi*3^k*(xi+0.5))))-10*sumx(0,20, k, 0.5^k*cos(2*pi*3^k*0.5)); -0.5<=xi<=0.5;

 

    sumx(1, 30, i, sumx(0, 20, k, 0.5^k*cos(2*pi*3^k*(xi+0.5))))-30*sumx(0, 20, k, 0.5^k*cos(2*pi*3^k*0.5)); -0.5<=xi<=0.5;

 

    sumx(1, 100, i, sumx(0, 20, k, 0.5^k*cos(2*pi*3^k*(xi+0.5))))-100*sumx(0, 20, k, 0.5^k*cos(2*pi*3^k*0.5)); -0.5<=xi<=0.5;

 

 

#56  Rastrigin’s 函数

 

#57  Schwefel’s 函数

 

 

#58 max f(x1,x2)= 21.5+ x1*sin(4*pi*x1) + x2*sin(20*pi*x2)

#   s.t. -3.0<=x1<=12.1;  4.1<=x2<=5.8;

#   函数有许多极值点。

#   全局最大值解 f(11.622766, 5.624329)=38.737524;

#   来源:tw01-IntroGA-v1.1ray.ppt

#   xu注: 应是max f( 11.62554, 5.72504 ) = 38.850296021;

#   

     21.5+ x1*sin(4*pi*x1) + x2*sin(20*pi*x2); -3.0<=x1<=12.1 && 4.1<=x2<=5.8;

 

 

#59 max f(x,y)=6-4.5*x+4*y-x^2-2*y^2+2*x*y-x^4+2*x^2*y;

#   -8<=x,y<=8;  f(-1.09326171875,1.01171875)=10.5020508424479

#   来源:xoBox算法

#   xu注: 应是:max f( -1.05274, 1.02776 ) = 10.513409615;

    6-4.5*x+4*y-x^2-2*y^2+2*x*y-x^4+2*x^2*y; -8<=x,y<=8;

 

 

#60 Bobachevsky 函数

#   x1^2+2*x2^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7;

#   x1^2+2*x2^2-0.3*cos(3*pi*x1)*cos(4*pi*x2)+0.3;

#   x1^2+2*x2^2-0.3*cos(3*pi*x1+4*pi*x2)+0.3;

#   -50<=x1,x2<=50;

#   3个函数在(x1,x2)=(0,0)处有全局最小值0.0;

#   References: MICHALEWICZ Z.

#   Genetic Algorithms + Data Structures = Evolution Programs [M] .

#   Beijing :Science Press ,2000 :1 - 128.

 

    x1^2+2*x2^2-0.3*cos(3*pi*x1)-0.4*cos(4*pi*x2)+0.7; -50<=x1,x2<=50;

 

    x1^2+2*x2^2-0.3*cos(3*pi*x1)*cos(4*pi*x2)+0.3; -50<=x1,x2<=50;

 

    x1^2+2*x2^2-0.3*cos(3*pi*x1+4*pi*x2)+0.3; -50<=x1,x2<=50;

 

 

#61  Zakharov's Function

#    Min f(xi) = sum(1, D, xi^2)+(sum(1, D, i/2*xi))^2

#                + (sum(1, D, i/2*xi))^4;

#    -5.12<=xi<=5.12; 

#    来源:一种高效Multi-agent仿生算法用于设计优化

#         梁昌勇,张俊岭,杨善林

#        (合肥工业大学计算机网络系统研究所,合肥 230009)

#  

    sum(1, 30, xi^2)+(sum(1, 30, i/2*xi))^2+(sum(1, 30, i/2*xi))^4; -5.12<=xi<=5.12;

  

    sum(1, 100, xi^2)+(sum(1, 100, i/2*xi))^2+(sum(1, 100, i/2*xi))^4; -5.12<=xi<=5.12;

 

 

#62 max f(...)= -1/N*sum(1, N, xi^4-16*xi^2+5*xi);

#   -5.0<=xi<=5.0, 当N=100时,理论最大值=78.33236;

#   摘自:《适用于高维优化问题的改进进化策略》王湘中,喻寿益

#   xu注:采用单峰值函数寻优方式

#         f( -2.90353,..., -2.90353 ) = 78.332328796

#          采用多峰值函数方式:

#         f( ) = 78.332328796

#

    -1/100*sum(1, 100, xi^4-16*xi^2+5*xi);-5.0<=xi<=5.0;

 

 

#63 max f(...)= -(sum(1, N, fabs(xi))+prod(1, N, fabs(xi)));

#   -10<=xi<=10,  当N=100时,理论最大值=0;

#   摘自:《适用于高维优化问题的改进进化策略》王湘中,喻寿益

 

    -(sum(1, 50, fabs(xi))+prod(1, 50, fabs(xi)));-10<=xi<=10;

 

 

#64 max f(x)=20+x+10*sin(4*pi)+8*cos(3*x); 0<=x<=10;

#   该函数有多个极大值点,其全局最大点:f(8.291484)=45.865 953;

#   xu注:f(8.39147) = 36.384525299

#   摘自:《一种求解参数优化问题的引导交叉算子》 陈乔礼等,

#   计算机工程, 2008 年1 月。

#   

    20+x+10*sin(4*pi)+8*cos(3*x); 0<=x<=10;

 

 

#65 max f(x,y)=sin(sqrt(x^2+y^2))-cos(sqrt(fabs(x^2-y^2)))

#              -0.02*(y-4.96)^2-0.02*(x-5.87)^2;

#   -10<=x,y<=10;

#   该函数是一个多峰的非线性函数,一般的遗传算法很容易陷入局部极值。

#   xu注: f( 5.97715, 5.08469 ) = 1.999437094

#   摘自:《基于立队竞争的演化算法》黄樟灿等  有图!

 

    sin(sqrt(x^2+y^2))-cos(sqrt(fabs(x^2-y^2)))-0.02*(y-4.96)^2-0.02*(x-5.87)^2; -10<=x,y<=10;

 

 

#66 min f(x)=1/D*sum(1, D, xi^2)-4*D*prod(1, D, cos(xi));

#   -5<=xi<=5;   i=1,2,...,D       多峰性质的函数,

#   这个函数在全局最小值周围有大量的局部极小值.全局最小值点为

#   (0,0,...,0),相应最小值为-4D.

#   摘自:<一种函数优化问题的混合遗传算法> 彭伟 卢锡城

 

   1/10*sum(1, 10, xi^2)-4*10*prod(1, 10, cos(xi)); -5<=xi<=5;

 

   1/100*sum(1, 100, xi^2)-4*100*prod(1, 100, cos(xi)); -5<=xi<=5;

 

 

#67  Himmelblau's function

#    Max f(x,y)=200-(x^2+y-11)^2-(x+y^2-7)^2;

#    This is a funtion of two variabes, x,y,(which Deb modified to

#    a maximization problem) given by f(x,y). 

#    This has four maxima of equal heigh(200) approximately

#    (3.58, -1.86),(3.0, 2.0), (-2.815, 3.125) and (-3.78, -3.28).

#    A 30-bit chromosome is used to represent two 15-bit, binary-coded

#    parameters, in the range -6<=x,y<=+6. The distance metric is the

#    Eucidian distance in x-y space.

#    摘自:《A Sequential Niche Technique for Multimodal Function

#    Optimization》 David Beasley  Department of Computing

#    Mathematics, University of Wales etc.

#    xu注:

#        单峰值函数寻优,小生境初距=2.0,其余默认值;

#        多峰单峰值函数寻优,小生境初距=

#    1.  f( -3.77931, -3.28319 ) = 200.000000000

#    2.  f( -2.80512, 3.13131 ) = 200.000000000

#    3.  f( 3.00000, 2.00000 ) = 200.000000000

#    4.  f( 3.58443, -1.84813 ) = 200.000000000

#    5.  f( -2.81439, 3.18689 ) = 199.871505737

#        

   200-(x^2+y-11)^2-(x+y^2-7)^2; -6<=x,y<=6;

 

 

#67-1 Himmelbau 函数

#     max f(x,y)=660-(x^2+y-11)^2-(x+y^2-7); -6<=x,y<=6;

#     此函数为线性不可分的等高、不等距多峰函数,有4个极大值点,理论值

#     为660.0.

#     摘自:多模态函数优化的多种群进化策略    王湘中 ,喻寿益

#     xu注:

#     1.  f( 3.00000, 2.00000 ) = 660.000000000

#     2.  f( -3.77931, -3.28319 ) = 660.000000000

#     3.  f( -2.80512, 3.13131 ) = 660.000000000

#     4.  f( 3.58443, -1.84813 ) = 660.000000000

#

   660-(x^2+y-11)^2-(x+y^2-7)^2; -6<=x,y<=6;

 

 

#68 max f(x,y)=f(x,y)=21.5+x*sin(4*PI*x)+y*sin(20*PI*y)

#   定义域  D:  -3<=x<=12.1 , 4.1<=y<=5.8

#   该函数是典型的多峰(震动剧烈)的函数。

#   目前最好结果:f(11.6255448,5.7250441)=38.8502944790207

#   xu注:f(11.62554, 5.72504) = 38.850296021

#

   21.5+x*sin(4*pi*x)+y*sin(20*pi*y); -3<=x<=12.1 && 4.1<=y<=5.8;

 

 

#69 min f(x,y)=-(x*sin(9*pi*y)+y*cos(25*pi*x)+20);

#   -10<=x<=10, -10<=y<=10;

#   使其满足非线性不等式 x^2+y^2<=9^2;

#   因为 D的面积很大 ,所以sin (9 πy) 与cos (25 πx) 分别在不同方向

#   上高频振荡。 函数的深谷密集在圆 x^2+y^2<=9^2上的4个点

#   (9/sqrt(2),,9/sqrt(2)) , (9/sqrt(2) , - 9/sqrt(2)) ,

#   (-9/sqrt(2) ,9/sqrt(2)) , ( - 9/sqrt(2),- 9/sqrt(2)的附近。

#   求解这个函数的优化问题不仅传统的算法无能为力 ,而且即使采用最新的

#   演化算法(遗传算法或演化策略等)也很难求解。

#   采用郭涛算法获得的精确到小数点后 14 位的最优解是

#   minf(x,y)=f(- 6.440025882216888 , - 6.27797201362437)

#            = - 32.71788780688353 ,

#   这个最优解在10次运算中只得到了1~3次。在此应注明的是,该问题的真

#   正最优解是未知的,认为它可能就是最优解。

#   摘自:郭涛算法及应用  李艳 康卓 刘溥 (武汉大学计算中心)

#   xu注:不考虑非线性不等式时, 

#        f( 9.96002, -9.94457 ) = -39.904514313;

#        f( -10.00000, 9.94457 ) = -39.944507599;

#        取-6.5<=x<=6.5&&-6.3<=y<=6.3时很快得

#       (本程序还未实现有约束寻优):

#        f( -6.44003, -6.27797 ) = -32.717887878;

#  

  -(x*sin(9*pi*y)+y*cos(25*pi*x)+20);-10<=x,y<=10;

 

  -(x*sin(9*pi*y)+y*cos(25*pi*x)+20);-6.5<=x<=6.3 && -6.3<=y<=6.3;

 

 

#70  max f(x1, x2, x3, x4)=

#        fabs(prod(1, 2, xi*sin(xi)))*prod(3, 4, xi*sin(xi));

#    0<=xi<=3*pi, i=1, 2, 3, 4;  最优解:3926.3

#    来源:基于搜索空间信息的新型遗传算法

#          李  航,李敏强,寇纪淞 (天津大学系统工程研究所)

#    xu注:f( 7.97867, 7.97867, 7.97867, 7.97867 ) = 3928.102050781

#

  fabs(prod(1, 2, x[i]*sin(x[i])))*prod(1, 2, x[i+2]*sin(x[i+2])); 0<=x[i], x[i+2]<=9.42468; 

 

  fabs(prod(1, 2, x[i]*sin(x[i])))*prod(3, 4, x[i]*sin(x[i])); 0<=x[i]<=9.42468;

 

 

#71  max f(x1, ..., x5)=0.5+((sin(sqrt(x1^2+x2)))^2-0.5)

#               /(1+0.0001*(x1^2+x2^2))^2+(x3^2+x4^2+x5^2)/12000;

#    -20<=xi<=20, i=1, 2, 3, 4, 5;

#    最优解:1.0072

#    来源:基于搜索空间信息的新型遗传算法

#          李  航,李敏强,寇纪淞 (天津大学系统工程研究所)

#    xu注:文中公式可能有误:sqrt(x1^2+x2)似应为sqrt(x1^2+x2^2)!

#          下式可能为正确的表达式。

#          最大值

#          f( 0.63695, 1.43569, 20.00000, 20.00000, 20.00000 )

#          = 1.099753380;

#

#          1.  f( -1.56924, -0.06635, 20.00000, -20.00000, -20.00000 )

#              = 1.099753380

#          2.  f( -1.41341, 0.68497, 20.00000, -20.00000, -20.00000 )

#              = 1.099753380

#          3.  f( -1.40904, 0.69392, 20.00000, -20.00000, 20.00000 )

#              = 1.099753380

#          最小值 f(0, 0, ..., 0)=0.0;

#

     0.5+((sin(sqrt(x1^2+x2^2)))^2-0.5)/(1.0+0.0001*(x1^2+x2^2))^2+(x3^2+x4^2+x5^2)/12000;  -20.0<=x1,x2, x3, x4, x5<=20.0;

 

 

#72 Leung&Wang’s Function9:

#   Min f(xi) = 1/D*sum(1, D, xi^4-16*xi^2+5*xi);

#   -5<=xi<=5;

#   全局最小值=-78.33236;

#   来源:一种高效Multi-agent仿生算法用于设计优化

#         梁昌勇,张俊岭,杨善林

#        (合肥工业大学计算机网络系统研究所,合肥 230009)

#   xu注: 终止代数=100,其余默认值。

#       D=10

#        f( -2.90353, -2.90353, ..., -2.90353 ) = -7.833233356

#       D=30

#        f( -2.90353, -2.90353, ..., -2.90353 ) = -78.332328796 

#       D=100

#        f( -2.90353, -2.90353, ..., -2.90353 ) = -78.332328796

#

    1/30*sum(1, 30, xi^4-16*xi^2+5*xi);  -5.0<=xi<=5.0;

 

    1/100*sum(1, 100, xi^4-16*xi^2+5*xi);  -5.0<=xi<=5.0; 

 

 

#73 Hwang&He's Function15

#   Max f(xi) = sum(1, D, ((-1)^(i+1))*xi^2);

#   -100<=xi<=100;

#   来源:一种高效Multi-agent仿生算法用于设计优化

#         梁昌勇,张俊岭,杨善林

#        (合肥工业大学计算机网络系统研究所,合肥 230009)

#   xu注:

#         D=30

#          f( -100.00000, 0.00000, -100.00000, 0.00000, -100.00000,

#            ..., 0.00000, -100.00000, 0.00000 ) = 150000.000000000

#         D=100

#          f( -100.00000, 0.00000, 100.00000, 0.00000, -100.00000,

#            ..., 0.00000, -100.00000, 0.00000 ) = 500000.000000000

    sum(1, 30, (-1)^(i+1)*xi^2);  -100<=xi<=100;

 

    sum(1, 30, pow(-1.0, i+1)*pow(xi, 2));  -100<=xi<=100;

 

    sum(1, 100, (-1)^(i+1)*xi^2);  -100<=xi<=100;

 

 

#74  Ellipsoidal Function:

#    Min f(xi) = sum(1, D, (xi-i)^2);

#    -100<=xi<=100;

#    来源:一种高效Multi-agent仿生算法用于设计优化

#          梁昌勇,张俊岭,杨善林

#         (合肥工业大学计算机网络系统研究所,合肥 230009)

#    xu注:

#          D=30     f(1,2,3,...,29,30)=0.000000000

#          D=100    f(1,2,3,...,99,100)=0.000000000

    sum(1, 30, (xi-i)^2);  -100<=xi<=100;

 

    sum(1, 100, (xi-i)^2);  -100<=xi<=100;

 

 

#75  max f(x1, x2)=(a/(b+x1^2+x2^2))^2+(x1^2+x2^2)^2;

#    -5.12<=x1,x2<=5.12;

#    在函数中,a=3.0, b=0.05, max  f(0, 0)=3600,

#    4个局部极值为(-5.12 5.12), (-5.12, -5.12), (5.12 -5.12)

#    和(5.12, 5.12) ,函数值则为2748.78,这是一类全局最优解

#    被次优解所包围,隔断了模式的重组过程,使得搜索长期陷入

#    局部极值点.

#    来源:求解多峰函数的改进粒子群算法的研究  江宝钏, 胡俊溟 

#

    (3.0/(0.05+x1^2+x2^2))^2+(x1^2+x2^2)^2; -5.12<=x1,x2<=5.12;

 

 

#76  Simple Test Function with 16 Global Optima

#    Min f(x) = fabs((x-3)*(x-6)*(x-9)*(x-12))

#               +fabs((y-4)*(y-8)*(y-12)*(y-16));

#    -20<=x, y<=20;

#    具有16个全局最小值。

#    来源:A Simple, Powerful Differential Evolution Algorithm

#          for Finding Multiple Global Optima.pdf

#    xu注:最优保存数=20~22,其余默认值。

#     1.  f( 3.00000, 4.00000 ) = 0.000000000

#     2.  f( 3.00000, 8.00000 ) = 0.000000000

#     3.  f( 3.00000, 12.00000 ) = 0.000000000

#     4.  f( 3.00000, 16.00000 ) = 0.000000000

#     5.  f( 6.00000, 4.00000 ) = 0.000000000

#     6.  f( 6.00000, 8.00000 ) = 0.000000000

#     7.  f( 6.00000, 12.00000 ) = 0.000000000

#     8.  f( 6.00000, 16.00000 ) = 0.000000000

#     9.  f( 9.00000, 4.00000 ) = 0.000000000

#     10.  f( 9.00000, 8.00000 ) = 0.000000000

#     11.  f( 9.00000, 12.00000 ) = 0.000000000

#     12.  f( 9.00000, 16.00000 ) = 0.000000000

#     13.  f( 12.00000, 4.00000 ) = 0.000000000

#     14.  f( 12.00000, 8.00000 ) = 0.000000000

#     15.  f( 12.00000, 12.00000 ) = 0.000000000

#     16.  f( 12.00000, 16.00000 ) = 0.000000000

#

     fabs((x-3)*(x-6)*(x-9)*(x-12))+fabs((y-4)*(y-8)*(y-12)*(y-16)); -20<=x, y<=20;

 

 

#77 Branin's Function 变型

#   Min f(x) = (x2-5/(4*pi^2)*x1^2+5/pi*x1-6)^2+10*(1-1/(8*pi))*cos(x1)+10;

#   -5<=x1<=10 && 0<=x2<=15;  将其中cos(x1)改为cos(x2).

#   有全局极小值4个:

#   1.  f( 10.39528, 3.14159 ) = 0.397887349

#   2.  f( 14.43913, 9.42478 ) = 0.397887349

#   3.  f( -1.87276, 9.42478 ) = 0.397887349

#   4.  f( 2.17109, 3.14159 ) = 0.397887349

#

    (x2-5/(4*pi^2)*x1^2+5/pi*x1-6)^2+10*(1-1/(8*pi))*cos(x2)+10; -5<=x1,x2<=15;

 

 

#78 Rosenbrock's Saddle function

#   Min f(x) = sum(1, n/2, 100*(x[2*i]-x[2*i-1])^2+(1-x[2*i-1])^2);

#   -10<=xi<=10;  for i=1,2,...,n;

#   This equation has only one global optimal solution.

#   来源:A Simple, Powerful Differential Evolution Algorithm

#          for Finding Multiple Global Optima.pdf

#   xu:

#       f( 1.00000, 1.00000, 1.00000, 1.00000, 1.00000, 1.00000,

#          1.00000, 1.00000, 1.00000, 1.00000 ) = 0.000000000

#   xu注:注意,含下标的变量在变量定义域表达式的表示形式要和数学表达式

#         中的一致!

#

    sum(1, 5, 100*(x[2*i]-x[2*i-1])^2+(1-x[2*i-1])^2);  -10<=x[2*i],x[2*i-1]<=10;

 

    sum(1, 10, 100*(x[2*i]-x[2*i-1])^2+(1-x[2*i-1])^2);  -10<=x[2*i],x[2*i-1]<=10;

 

     sum(1, 30, 100*(x[2*i]-x[2*i-1])^2+(1-x[2*i-1])^2);  -10<=x[2*i],x[2*i-1]<=10;

 

 

#79  Branin's function is defined as:

#    f(x)=(1-2*x2+1/20*sin(4*pi*x2)-x1)^2+(x2-1/2*sin(2*pi*x1))^2;

#    -10<=x1,x2<=10;  which has five solutions:

#    f(1, 0)=0; 

#    f(0.148696, 0.402086)=0; 

#    f(0.402537, 0.287408)=0;

#    f(1.59746, -0.287408)=0;

#    f(1.85130, -0.402086)=0;

#   来源:http://www.staff.brad.ac.uk/jpli/research/scga/function/branin.htm

#   xu注:

#         单峰值函数寻优方式,默认值。运行100次人为终止;

#         多峰值函数寻优方式,小生境初距=0.15,最优保存数=8,其余默认值;

#        1.  f( 0.14870, 0.40209 ) = 0.000000000

#        2.  f( 0.40254, 0.28741 ) = 0.000000000

#        3.  f( 1.00000, 0.00000 ) = 0.000000000

#        4.  f( 1.59746, -0.28741 ) = 0.000000000

#        5.  f( 1.85130, -0.40209 ) = 0.000000000

#

    (1-2*x2+1/20*sin(4*pi*x2)-x1)^2+(x2-1/2*sin(2*pi*x1))^2; -10<=x1,x2<=10;

 

 

#80  Test tube holder function(a):

#    min f(x) = -4*fabs(sin(x1)*cos(x2)*exp(fabs(cos((x1^2+x2^2)/200))));

#    -10<=x1,x2<=10;

#    这是多模式函数. 我们在定义域中的最优解:-10.8723。

#    来源:Some New Test Functions for Global Optimization

#          and Performance of Repulsive Particle Swarm Method 

#          SK Mishra Dept. of Economics North-Eastern Hill University

#          Shillong (India). 有图!

#    xu注:取默认值

#         1.  f( 1.57060, 0.00000 ) = -10.872300148

#         2.  f( -1.57060, 0.00000 ) = -10.872300148

#

    -4*fabs(sin(x1)*cos(x2)*exp(fabs(cos((x1^2+x2^2)/200)))); -10<=x1,x2<=10;

 

#81  Holder table function

#    This 'tabular holder' function has multiple local minima with

#    four global minima at f(x*)=26.92. This function is geven as:

#    f(x) = -fabs(cos(x1)*cos(x2)*exp(fabs(1-((x1^2+x2^2)^0.5)/pi)));

#    -10<=x1,x2<=10;

#    来源:Some New Test Functions for Global Optimization

#          and Performance of Repulsive Particle Swarm Method 

#          SK Mishra Dept. of Economics North-Eastern Hill University

#          Shillong (India). 有图!

#    xu注:多峰值函数寻优方式,最优保存数=6 ,其余默认值。

#      1.  f( -9.64617, -9.64617 ) = -26.920335770

#      2.  f( -9.64617, 9.64617 ) = -26.920335770

#      3.  f( 9.64617, -9.64617 ) = -26.920335770

#      4.  f( 9.64617, 9.64617 ) = -26.920335770

#   

    -fabs(cos(x1)*cos(x2)*exp(fabs(1-((x1^2+x2^2)^0.5)/pi))); -10<=x1,x2<=10;

 

# 82. Egg holder function: This function is in m (m>=2) variable and

#     given as:

#     Min f(x)= sum(1, m-1, -(x[i+1]+47)*sin(sqrt(fabs(x[i+1]+x[i]/2+47)))

#         +sin(sqrt(fabs(x[i]-(x[i+1]+47))))*(-x[i])); 

#     -512<=x[i], x[i+1]<=512;

#     We obtain Min f(512, 404.2319)=959.64. It is a difficult function

#     to optimize.

#    来源:Some New Test Functions for Global Optimization

#          and Performance of Repulsive Particle Swarm Method 

#          SK Mishra Dept. of Economics North-Eastern Hill University

#          Shillong (India). 有图!

#    xu注:

#         m=2   取默认值

#          f( 512.00000, 404.23181 ) = -959.640686035

#         m=3   取默认值  采用多峰值函数寻优方式成功率更高!

#          f( 481.46189, 436.93043, 451.77073 ) = -1888.321289063

#         m=10  群体个体数=15, 最优保存数=30, 小生境初距=10

#               终止代数=300;

#          f( 480.85241, 431.37422, 444.90869, 457.54722, 471.96252,

#             427.49729, 442.09134, 455.11942, 469.42931, 424.94060

#           ) = -8291.240234375 

#    

      sum(1, 1, -(x[i+1]+47)*sin(sqrt(fabs(x[i+1]+x[i]/2+47)))+sin(sqrt(fabs(x[i]-(x[i+1]+47))))*(-x[i])); -512<=x[i], x[i+1]<=512;

 

      sum(1, 2, -(x[i+1]+47)*sin(sqrt(fabs(x[i+1]+x[i]/2+47)))+sin(sqrt(fabs(x[i]-(x[i+1]+47))))*(-x[i])); -512<=x[i], x[i+1]<=512;

  

      sum(1, 9, -(x[i+1]+47)*sin(sqrt(fabs(x[i+1]+x[i]/2+47)))+sin(sqrt(fabs(x[i]-(x[i+1]+47))))*(-x[i])); -512<=x[i], x[i+1]<=512;

        

#83. Pen holder function: This is a multi-modal function with

#    f(x*) = -0.96354 in search domain -11<=x1,x2<=11, given as

#    min f(x) = -exp(-1/fabs(cos(x1)*cos(x2)

#               *exp(fabs(1-((x1^2+x2^2)^0.5/pi))))); 

#    来源:Some New Test Functions for Global Optimization

#          and Performance of Repulsive Particle Swarm Method 

#          SK Mishra Dept. of Economics North-Eastern Hill University

#          Shillong (India). 有图!

#    xu注:取默认值

#        1.  f( -9.64617, -9.64617 ) = -0.963534832

#        2.  f( 9.64617, -9.64617 ) = -0.963534832

#        3.  f( -9.64617, 9.64617 ) = -0.963534832

#        4.  f( 9.64617, 9.64617 ) = -0.963534832

#

    -exp(-1/fabs(cos(x1)*cos(x2)*exp(fabs(1-((x1^2+x2^2)^0.5/pi))))); -11<=x1,x2<=11; 

 

 

#84. Bird function: This  is a bi-modal function with f(x*)=-106.764637

#    in the search domain -pi<=x1,x2<=pi; give as

#    min f(x) = sin(x1)*exp((1-cos(x2))^2)+cos(x2)*exp((1-sin(x1))^2)

#               +(x1-x2)^2;

#    来源:Some New Test Functions for Global Optimization

#          and Performance of Repulsive Particle Swarm Method 

#          SK Mishra Dept. of Economics North-Eastern Hill University

#          Shillong (India)。 有图!

#    xu注:取默认值

#          f( -1.58214, -3.13025 ) = -106.764533997

#

    sin(x1)*exp((1-cos(x2))^2)+cos(x2)*exp((1-sin(x1))^2)+(x1-x2)^2; -pi<=x1,x2<=pi;

 

#85. Giunta function: In the search domain -1<=x1,x2<=1 this function is

#    defined as follows and has min f(0.45834282, 0.45834282)=0.0602472184.

#    f(x) = 0.6+sum(1, 2, sin(16/15*xi-1)+sin(16/15*xi-1)^2

#           +1/50*sin(4*(16/15*xi-1)));

#    We have obtained min f(0.4673199, 0.4673183)=0.06447.

#    来源:Some New Test Functions for Global Optimization

#          and Performance of Repulsive Particle Swarm Method 

#          SK Mishra Dept. of Economics North-Eastern Hill University

#          Shillong (India)。 有图!

#    xu注:取默认值

#          f( 0.46732, 0.46732 ) = 0.064470418

#

     0.6+sum(1, 2, sin(16/15*xi-1)+sin(16/15*xi-1)^2+1/50*sin(4*(16/15*xi-1))); -1<=xi<=1;

 

#86. Crowned cross function: This function is the negative form of the

#    cross in tray function. It has f(x*) = 0 in search domain

#    -10<=x1, x2<=10. It is a difficult function to optimize. The minimal

#    value obtained by us is approximately 0.1. This function is given as:

#    f(x) = 0.0001*pow(fabs(sin(x1)*sin(x2)

#           *exp(fabs(100-((x1^2+x2^2)^0.5)/pi)))+1.0),0.1);

#    来源:Some New Test Functions for Global Optimization

#          and Performance of Repulsive Particle Swarm Method 

#          SK Mishra Dept. of Economics North-Eastern Hill University

#          Shillong (India)。 有图!

#    xu注:采用多峰值函数寻优方式。群体个体数=20, 最优保存数=30,

#          其余默认值。

#          全局最小值:无数个,呈+字分布,符合该函数的图形情况。

#          全局最大值:

#           1.  f( -1.34941, -1.34941 ) = 2.062611818

#           2.  f( -1.34941, 1.34941 ) = 2.062611818

#           3.  f( 1.34941, -1.34941 ) = 2.062611818

#           4.  f( 1.34941, 1.34941 ) = 2.062611818

#

   0.0001*pow(fabs(sin(x1)*sin(x2)*exp(fabs(100-((x1^2+x2^2)^0.5)/pi))+1.0), 0.1); -10<=x1, x2<=10;

 

 

#87.  min f(x,y)=-0.2*(sin(x+4*y)-2*cos(2*x+3*y)-3*sin(2*x-y)+4*cos(x-2*y));

#     -5<=x, y<=5;

#     最小值:

#     1.  f( 2.84989, -4.99798 ) = -1.937273502

#     2.  f( -3.43330, 1.28520 ) = -1.937273502

#     3.  f( -3.43330, -4.99798 ) = -1.937273502

#     4.  f( 2.84989, 1.28520 ) = -1.937273502

#     最大值:

#     f( -0.29171, 4.42680 ) = 1.937273502

#     f( -0.29171, -1.85639 ) = 1.937273502

#

     -0.2*(sin(x+4*y)-2*cos(2*x+3*y)-3*sin(2*x-y)+4*cos(x-2*y)); -5<=x, y<=5;

 

 

#88. min f(x) = 1/N*sum(1, N, xi^4-16*xi^2-5*xi); -5<=xi<=10;

#    全局最优值 -78.33236

#    来源:用于全局优化的混合正交遗传算法  江中央,蔡自兴,王  勇

#          (中南大学信息科学与工程学院,长沙 410083)

#

     1/100*sum(1, 100, xi^4-16*xi^2-5*xi); -5<=xi<=10;

 

posted on 2017-02-19 21:17  Angry_Panda  阅读(25830)  评论(0编辑  收藏  举报

导航