
遗传算法
Deng笨蛋
路漫漫其修远兮,吾将上下而求索。
展开
-
遗传算法与直接搜索工具箱学习笔记 一-----概述
原文地址:yelper recommendation system 原文翻译与校对:@酒酒 && @寒小阳 时间:2016年10月。 出处:http://blog.youkuaiyun.com/han_xiaoyang/article/details/52778321 声明:版权所有,转载请联系作者并注明出1. 我们为什么需要推荐系统?“推荐”可是个当红话题。Netflix愿意用百万美金召求最佳的电影推转载 2016-12-25 11:39:08 · 1796 阅读 · 0 评论 -
差分进化算法(Differential Evolution)
差分进化算法(Differential Evolution,DE)和GA,PSO,ACO等进化算法一样,都是基于群体智能的随机并行优化算法,通过模仿生物群体内个体间的合作与竞争产生的启发式群体智能来指导优化搜索。算子课上我讲的PPT,主题是查分演化计算,用到了变异算子,交叉算子和选择算子。复盘分析差分进化与遗传算法相似,这一点,对遗传算法稍微了解的人都会有这样的疑问。该PPT未对二者的区别和联系进转载 2017-06-27 14:34:30 · 3315 阅读 · 0 评论 -
DE(差分进化)优化算法MATLAB源码详细中文注解
以优化SVR算法的参数c和g为例,对DE(差分进化)算法MATLAB源码进行了详细中文注解。 完整程序和示例文件地址:http://download.youkuaiyun.com/detail/u013337691/9671714 百度云链接: http://pan.baidu.com/s/1dEYAHS9 密码: 6xw5function [bestc,bestg,test_pre]=my_DE_SVR转载 2017-06-27 15:50:24 · 5015 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 七-----模式搜索工作原理详解
本节主要讲述模式搜索的工作细节。 模式搜索算法就是寻找x0, x1, x2,…,这样的一系列的点,这些点逐渐在靠近最优值。在这个点的序列中,后一个点相对于前一个点在逐渐减小(轮询成功)或者保持不变(轮询失败)。本节就详细介绍在例子ps_example(笔记五)中寻找最优解过程的工作细节。 为了描述上的简单,我们只考虑下面的情况:1.使用GPS算法。2.GPS算法使用的模式是最大正交基转载 2017-01-13 12:16:02 · 1308 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 十-----遗传算法的工作原理
遗传算法的工作原理一、算法概述 下面的提纲总结了算法工作的过程1.算法生成一个初始的、随机的种群。2.算法生成一系列的新的种群。在算法的每一步中,算法使用当前种群的个体生成下一代的种群。为了生成新的种群,算法将会执行下列的步骤: a.通过计算适应度值给每个群体中的个体打分。 b.标定原始的适应度值到一定的数据范围之内。 c.依据适应度值选择群体中的成员,称为父代。转载 2017-01-13 21:25:37 · 1110 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 九-----遗传算法举例
下面就举一个遗传算法的具体实例,求Rastrigin函数的最小值。1.Rastrigin’s 函数 在遗传算法中,经常使用一个函数来测试遗传算法,这个函数就是Rastrigin函数,对于有两个独立变量的Rastrigin函数,其定义的形式如下: 遗传算法工具箱中提供了一个M文件,就是这个函数的实现,这个文件是rastriginsfcn.m。下面是具有两个独立变量的Rastrig转载 2017-01-13 20:59:03 · 2494 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 八-----遗传算法概述
什么是遗传算法? 遗传算法是基于生物进化过程中的自然选择机制而解决优化问题的一种算法。在解决的优化问题中既包含无约束优化问题又包含具有约束的优化问题。遗传算法不断的更新修改潜在解组成的种群。在算法迭代的每一步中,算法在当前种群中随机的选择一些个体作为父代,让后让这些父代产生一些子代。经过连续世代的运行,种群将向最优解的方向进化。你可以使用遗传算法解决各种传统方法不能解决的各种各样的优化转载 2017-01-13 20:32:27 · 518 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 六-----模式搜索相关术语解析
本节将解释三个相关的术语:模式、网格、轮询(Polling) 一、模式(Patterns) 一个模式是矢量vj的一组集合{vj}。模式在搜索算法中主要是决定在算法的下一次迭代中要搜索哪些点。集合{vj}由两个因素决定,一个就是目标函数中独立变量的个数N,另一个就是正交基的集合。在模式搜索算法中,有两个经常使用的正交基集合,一个是具有2N个元素个数的最大正交基集合,一个是具有N+1个元素个转载 2016-12-26 13:31:43 · 543 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 五-----使用GPS算法寻找一个函数的最小值
本文将使用GPS方法寻找一个函数的最小值,这个例子中使用的目标函数是ps_example,该函数已经包含在遗传算法与直接搜索工具箱中,可以使用edit ps_example来查看该函数的源代码。[c-sharp] view plain copy print?function f = ps_example(x) for i = 1:size(x,1) if x(i,1) < -5转载 2016-12-25 15:58:16 · 686 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 三-----目标函数的约束
在上一次的笔记中,我们编写了一个目标函数,大家可以看到这个目标函数的定义域(你不会不知道定义域吧,就是自变量的取值范围)没有任何的限制,在实际问题中,对自变量往往有很多的限制,比如,大于多少,小于多少等等,套用正规的江湖术语,称这些限制为“约束”。这一部分,就重点说一下“约束”的问题。约束被分成下面的4种类型:1.边界约束。对自变量最大值与最小值的限制:X>=l 并且X<=u2.线性不等式约束。转载 2016-12-25 14:23:32 · 4554 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 四-----从直接搜索算法开始
一、什么是直接搜索算法 什么是直接搜索算法?这个是我们将面对的第一个问题,如果连直接搜索是什么都不知道,还谈什么应用与解决问题呢? 直接搜索算法是一种不需要任何关于目标函数梯度信息的最优化方法。与传统的最优化方法比较起来,传统的最优化方法往往需要目标函数的梯度或者高阶导数的信息来搜索一个最优点。直接搜索算法搜索当前点周围的一系列的点,然后找到一个目标函数的值低于当前点函数值的点转载 2016-12-25 14:44:25 · 1434 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记(补充)三维立体绘图方法
上一篇转载的博文中有一个自定义的函数,这里给出该函数的绘图代码,函数的定义如下:function objVar=myTest(intVar)objVar=intVar(1)^2 -2*intVar(1)*intVar(2)+6*intVar(1)+intVar(2)^2-6*intVar(2);end绘图代码如下:function DR() x=[-1:0.1:1];原创 2016-12-25 14:11:53 · 622 阅读 · 0 评论 -
遗传算法与直接搜索工具箱学习笔记 二-----编写自己的目标函数
这一部分主要讲解如何写自己的目标函数。什么事目标函数呢?你使用遗传算法工具箱主要是想找到某一个函数的最优解吧,那么这个函数就是目标函数。这个函数你必须写成一个M文件的形式。这样才能符合遗传算法工具箱的要求,当然要求不仅仅这些,还有下面的一些要求: 该函数应该接受一个矢量作为输入参数,该矢量的长度应该等于目标函数中独立变量的个数,该函数应该返回一个标量,这个标量应该是这个输入参数相对应的函数转载 2016-12-25 12:17:00 · 1789 阅读 · 0 评论 -
差分进化算法
差异演化(Differential Evolution,DE)是一种基于群体差异的演化算法,该算法是Rainer Storn和Kenneth Price在1996年为求解切比雪夫多项式而提出的。差异演化算法在当年首届IEEE演化计算大赛中表现超群,随后在各个领域得到了广泛应用。差分算法的基本思想:应用当前种群个体的差异来重组得到中间种群,然后应用子代个体与父代个体竞争来获得新一代种群。差异演化原创 2017-06-28 13:43:18 · 24976 阅读 · 10 评论