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

原创 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秒

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


代码在这里下载

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

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

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

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

旅行商问题最优解

  • 2015-05-22 10:34
  • 1.93MB
  • 下载

约瑟夫问题最优解

  • 2012-07-25 11:36
  • 14KB
  • 下载

队列的应用—电路布线最优解问题

首先什么是电路布线问题呢?电路布线问题是类似于迷宫的问题,也是一个模拟矩阵,迷宫是每个点有8个方向可以走,但是在电路布线问题中每个点上只有上下左右4个方向可走。因为电路布线不允许对角线上布线,并且电路...
  • ZLhy_
  • ZLhy_
  • 2013-02-05 20:39
  • 2639
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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