演化计算解决多峰函数多个最优解问题
来源:互联网 发布:c语言如何使用graphics 编辑:程序博客网 时间:2024/05/17 10:08
问题描述:
其中,-10<=xi<=10, i=1,2,3..n,当n=1,2,3和4时分别有3、18、81和324个不同的全局最优解。
设计算法(可以是任何算法)并编写程序,可做n=1、2、3、4或部分或所有情况,得到全局最优解越多越好,用十进制编码,解的精确度至少到小数点后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秒
代码是基于基本的遗传算法的框架写的,有一些不足之处,比如在筛选最优解时并不一定能得出完全不重复的解,主要是没有把握好对重复解的判断,希望有兴趣的同学帮忙修正,其他不足之处欢迎拍砖。
代码在这里下载
- 演化计算解决多峰函数多个最优解问题
- 演化计算(实例:多峰函数最值)
- 多处最优问题
- mysql 返回多个函数计算结果
- 【人工免疫】Pareto最优问题 解决
- 选择置换+最优多路归并+败者树,解决外排序问题
- 用栈解决背包问题并求出最优解
- 罚函数法求解约束问题最优解
- MFC 如何解决多个按钮响应一个函数的问题
- 怎样解决支持同一元素句柄可以绑定多个监听函数问题?
- 面试OR笔试40——二分查找一个函数解决多个问题
- 多处最优服务次序问题
- 多处最优服务次序问题
- 多处最优服务次序问题
- 多处最优服务次序问题
- 多处最优服务次序问题
- 贪心(多处最优服务次序问题)
- 多处最优服务次序问题
- 二维数组大折腾项目一
- 软件工程理论实验一
- 禁止input文本框输入实现属性
- SQL Server判断对象是否存在
- STM32----高级定时器、通用定时器(TIMx)、基本定时器(TIM6和TIM7)的区别
- 演化计算解决多峰函数多个最优解问题
- 我的tmux配置文件
- ie10兼容ie7
- MySQL数据库之INSERT,REPLACE,UPDATE ,DELETE,TRUNCATE TABLE
- 手机测试经验分享
- Jsoup初接触-抓取彩票网站历史开奖信息
- 2.2
- 二维数组大集合。
- IOS手势总结与UIResponder