matlab常用测试函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#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参数都取默认值)
#1-1. * De jong 函数F2 , 又称 Rosonbrock马鞍函数
# min f2(x1,x2) = 100*(x1^2-x2)^2+(1-x1)^2;
# 它具有一个全局极小点f(1,1)=0 .该函数虽然
# 是单峰值函数,但它却是病态的(螺旋型),难以进行全局极小化。
# 摘自:多点正交交叉的遗传算法 刘 清等
# 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;
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;
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;
# 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.
###############################################
# 测试函数 #
###############################################
# 即分别以c[j]和a[i,j]表示。
# 它们的二组数据即可记录在同一txt文件中,也可分别记
# 录在二个不同的txt文件中。文件应保存在本地文件夹内。
# 该数学表达式的常数项数组可调用1-4 ConstTermsData.txt
# f(1.0,1.0)=0.0,但它却是病态的,在函数曲面上沿着曲线x2=x1^2
# 有一条较为狭窄的山谷,传统的梯度优化方法搜索到谷边缘时,往往
# 会发生振荡,难以进行全局优化。
# 但它在全局极小点邻近的狭长区域内取值变化极为缓慢, 可用于评价
# 算法的搜索性能。
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 这是一个不连续函数,
# 它总共有25个局部极小值,其中有一个是全局极小值:
# f5(-32,-32)=0.998。
# 摘自:《遗传算法原理及应用》p125
# 该函数是具有 2 5 个稀疏尖峰的多模态函数。
# xu注: 本程序规定常数项一维数组命名为c, 二维数组命名为a,
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)
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;
#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;
#
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;
# *(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; 其全局极小点与邻近的局部极小点之间
# -1.28<=xi<=1.28, i=1,2,...,30;
# 这是一个含噪声rnd的4次函数,当不考虑噪声的影响时,它具有
# 一个全局极小值f4(0,0,...,0)=0。
# 摘自:《遗传算法原理及应用》p125
# 原De Jong 函数,该噪声是分布为N(0,1)的高斯随机变量
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。
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;
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;
# 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;
# 有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;
#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;
#
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
# 摘自: 《遗传算法原理及应用》p125
#
# 这函数是二参数、单极值的非二次函数,但在x2=x1处有一狭
# 长深谷,其最小值在(x1,x2)=(1,1)时,min f=0,
# 寻优中可能陷入局部解.
#
# Rosenbrock 函数是一个二维单峰值函数,具有一个全局极小点
# 给予输入。
# 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;
# RandG(0,1)。据文献介绍,当函数不存在全局最小值时,该函数
# 是有缺陷的。
# 为此,有人建议以均匀分布的[0,1)的随机变量代替之。这可保证
# 最小值定位于0。
# Quartic [F4] is a simple unimodal function padded with noise.
# 该函数参数多,不可导,是五参数的阶梯函数,
# 在 -5.12<=xi<=-5.0 区域内的每一点,它都取全局极小值:
# f3(x1,x2,x3,x4,x5)= -30。
# 摘自:《遗传算法原理及应用》p125
#
floor(x1)+ floor(x2)+floor(x3)+floor(x4)+loor(x5); -5.12<=x1,x2,x3,x4,x5<=5.12;