演化计算解决多峰函数多个最优解问题

原创 2013年12月03日 19:31:26

问题描述:

其中,-10<=xi<=10, i=1,2,3..n,n=1,2,34时分别有31881324个不同的全局最优解。

设计算法(可以是任何算法)并编写程序,可做n=1234或部分或所有情况,得到全局最优解越多越好,用十进制编码,解的精确度至少到小数点后8位。

     这是Shubert函数最优解问题,《演化优化及其在微分方程反问题中的应用》一文中提出了GMLE_DD算法。

     GLME算法:全局-局部混合演化算法(Global-Local Mixed Evolutionary算法),演化分两个阶段进行,在第一阶段,既全局演化阶段,由郭涛算法产生若干哥小区域,第二个阶段,局部演化,采用精英演化算法在各个小区域中来演化出问题的解。

     GLME_DD算法是在GLME算法的基础上,将整个区域分为q个区域,再在每个区域中使用GLME算法。


     由于并行计算考试的需要,对论文中提出的方法进行了实现,在这里共享出来,C++实现,算法得到的最优解及执行时间如下表所示。源代码和算法执行结果是n = 4时的情况。

n = 1

n = 2

n = 3

n = 4

获得最优解的个数

3

18

81

324

最优值

-12.870885493870

-186.730908831023

-2709.093505572829

-39303.550054363128

GLME_DD算法运行时间

0.054秒

0.519秒

3.397秒

33.917秒

     代码是基于基本的遗传算法的框架写的,有一些不足之处,比如在筛选最优解时并不一定能得出完全不重复的解,主要是没有把握好对重复解的判断,希望有兴趣的同学帮忙修正,其他不足之处欢迎拍砖。


代码在这里下载

准确率、召回率、F-score——信息检索、分类、推荐系统评估标准

在分类和推荐系统中,对其结果进行评价,经常用到准确率、召回率、F-score这些指标。 下面介绍其概念,举例阐述。 准确率(Precision):检索出的相关文档/检索出的文档总数,衡量的是系统的...

安装python package的经验和常用命令

安装python package的经验和常用命令

罚函数法求解约束问题最优解

对于包含约束的最优解问题,可以用罚函数来求解。

用栈解决背包问题并求出最优解

  • 2015年12月10日 19:55
  • 256KB
  • 下载

用栈解决背包问题并求出最优解

问题描述        假设有一个能装入总体积为T的背包和n件体积分别为w1,w2,…wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1+w2+…+wm=T,要求找出所有满足上述条件的解。...

约瑟夫问题最优解

  • 2012年07月25日 11:36
  • 14KB
  • 下载

fminunc函数求解最优解

利用MATLAB优化工具箱解决如下的最小二乘问题:                                               a)利用MATLAB优化工具...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:演化计算解决多峰函数多个最优解问题
举报原因:
原因补充:

(最多只允许输入30个字)