资源预览内容
第1页 / 共55页
第2页 / 共55页
第3页 / 共55页
第4页 / 共55页
第5页 / 共55页
第6页 / 共55页
第7页 / 共55页
第8页 / 共55页
第9页 / 共55页
第10页 / 共55页
亲,该文档总共55页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
智能优化算法智能优化算法简介智能优化算法简介遗传算法简介遗传算法简介基本遗传算法基本遗传算法改进的遗传算法改进的遗传算法遗传算法软件计算遗传算法软件计算7.1遗传算法1智能优化算法简介一、一、 传统优化算法的步骤及局限性传统优化算法的步骤及局限性 1 步骤步骤: (1)选择一个初始解, (2)向改进方向移动判断停止准则是否满足,若 满足停止,否则转下一步。 (3)向改进方向移动,得新的解,转回第2步。 2 局限性局限性: (1)单点运算方式限制了计算效率的提高 (2)向改进方向移动限制了跳出局部最优的能力 (3)停止条件仅是局部最优的条件 (4)对目标函数,约束条件的要求限制了算法的应用2智能优化算法简介 二、智能优化算法的产生与发展二、智能优化算法的产生与发展 1 1 最优化方法的新的需求最优化方法的新的需求 (1)对目标函数,约束函数的要求更为宽松 (2)计算效率比理论上的最优性更重要 (3)算法随时终止都能得到较好的解 (4)对优化模型中数据质量要求更加宽松。 2 2 智能算法及代表人物智能算法及代表人物 1975年,Holland提出遗传算法(Genetic Algorithms) 1977年,Glover提出禁忌算法(Tabu Search) 1983年,Kirkpatrick提出模拟退火算法 (Simulated Annealing) 90年代初,Dorigo提出蚁群算法 (Ant Colony Optimization) 1995年,Kennedy,Eberhart提出的粒子群算法(Particle Swarm) 1999年,Linhares 提出的捕食搜索(Predatory Search) 3智能优化算法简介三、如何学习研究智能优化算法三、如何学习研究智能优化算法 1 应用智能优化方法解决各类问题是重点 2 智能算法的改进有很大的空间 3 多种算法结合是一种很好的途径 4 不提倡刻意追求理论成果 5 算法性能的测试是一项要下真功夫的工作 6 创造出新算法 4遗传算法简介 一、遗传算法原理(一、遗传算法原理( 7.1.1) 遗传算法是根据问题的目标函数构造的 一个适值函数,对一个由多个解(每个解对 应一个染色体)构成的种群进行评估、遗传 运算、经多代繁殖,获得适应值最好的个体 作为问题的最优解。 5遗传算法简介 二、遗传算法技术问题(二、遗传算法技术问题(7.1.2)遗传算法的主要问题是算法如何实现的技术问题。归结起来有如下一些因素遗传算法的主要问题是算法如何实现的技术问题。归结起来有如下一些因素: 1 解的编码和解码解的编码和解码 解的编码是遗传算法的最基础工作,只有在编码之后才可能有其他的计算。算法的 最后一个工作则是通过解码得到问题的一个解。 2 初始群体的选取初始群体的选取 在计算开始时,需要产生一些待优化问题的可能解,称为初始群体,初始群体可用 随机方式产生,也可用用其他的一下启发式算法或经验选择,主要针对实际问题而定。 3 群体规模的确定群体规模的确定, 常取个体编码长度数的一个线性倍数。当多个进化代没有改变解的性能,可扩大群体的规模。若解的改进已经非常好时,就可以减少群体规模,使计算速度加快。 4 适应函数的确定适应函数的确定 简单适应函数简单适应函数 目标函数的简单变形,构造简单,与目标函数直接相关,缺点是可能使算法在迭代过程中出现收敛到一些目标值近似的不同染色体而难以区别。 加速适应函数加速适应函数 有非线性加速适应函数,线性加速适应函数等。它们的思想是希望开始时每一个状态有较大的选取性,随着计算的步步进行,逐渐拉开目标值不同对应状态的档次。 排序适应函数排序适应函数 为了避开对目标函数进行线性、非线性等加速适应函数的早熟可能,使每一代当前最好的解以最大的概率遗传。6遗传算法简介三、遗传算法特点三、遗传算法特点 1 1 特点特点 (1)遗传算法以决策变量的编码作为运算对象。 (2)遗传算法直接以适应度作为搜索信息,无需导数等其它辅助信息。 (3)遗传算法使用多个点的搜索信息,具有隐含并行性。 (4)遗传算法使用概率搜索技术,而非确定性规则。 2 2 应用领域应用领域 (1)函数优化 (2)组合优化 (3)生产调度 (4)自动控制 (5) 机器人学 (6)图象处理 7基本遗传算法(7.1.3) 一、一、 基本遗传算法的构成要素基本遗传算法的构成要素 1 染色体编码方法。 2 个体适应度评价。 3 遗传算子。基本遗传算法使用下述三种遗传算子 选择运算使用比例选择算子; 交叉运算使用单点交叉算子; 变异运算使用基本位变异算子或均匀变异算子。 4 基本遗传算法的运行参数。基本遗传算法有下述4个运行参数需要提前设定: M:群体大小,即群体中所合个体的数量,一般取为201000。 T:遗传运算的终止进化代数,一般取为l00一500。 Pc: 交叉概率,般取为0.4一0.99。 Pm: 变异概率,一般取为0.0001一0.1.8基本遗传算法(7.1.3)二二 、基本遗传算法描述、基本遗传算法描述 1 基本遗传算法的形式化定义基本遗传算法的形式化定义基本遗传算法可定义为一个8元组,这些参数合理的取值大小或取值范围。9基本遗传算法(7.1.3)二二 、基本遗传算法描述、基本遗传算法描述 2 遗传算法的基本操作举例遗传算法的基本操作举例 (1)产生 初始种群 括号中的数值为目标函数值10基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 选择运算(轮盘赌) 11基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 选择运算(轮盘赌)由计算机产生随机数来实现 假设产生随机数序列为0.070221,0.545929,0.784567,0.44693,0.507893,0.291198,0.71634,0.27290l,0.37l 435,0.854641。将该随机序列与计算获得的累积概率比较,则依次序号为1,8,9,6,7,5,8,4,6,10个体被选中。显然适应度高的个体被选中的概率大。而且可能被选中;而适应度低的个体则很有可能破淘汰。在第一次生存竞争考验中,序号为2的个体(0101111001)和3的个体(0000000101)被淘汰,代之以适应度较高的个体8和6。12基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 交叉运算 以单点交叉为例,任意挑选经过选择操作后种群中两个个体作为交叉对象,即两个父个体经过染色体交换重组产生两个子个体,如下图,随机产生一个交叉点位置,父个体l和父个体2在交叉点位置之有的部分基因码互换,形成子个体1和子个体2。类似地完成其他个体的交叉操作13基本遗传算法(7.1.3) 2 遗传算法的基本操作举例遗传算法的基本操作举例(2)遗传运算 变异算子 如图所示采用翻转,对于个体1001110100产生变异, 以小概率决定第4个遗传因子翻转,即将1换为0。14遗传算法的进化过程遗传算法的进化过程15大变异遗传算法(7.1.4) 一、一、 大变异遗传原理大变异遗传原理 在遗传算法中,变异操作可以使算法避免“早熟”。但是,为了保证算法的稳定性,变异操作的变异概率通常取值很小,所以算法一旦出现“早熟”,单靠传统的变异操作需很多代才能得到不同于其他个体的新个体。 大变异操作的思路是:当某代中所有个体集中在一起时,我们以一个远大于通常的变异概率的概率进行变异操作,它能够产生多个新个体,从而使得种群脱离”早熟”。16大变异遗传算法(7.1.4) 一、一、 大变异遗传算法的原理大变异遗传算法的原理当某一代的最大适应度 与平均适应度 满足 其中 ,被称为密集因子,表征个体集中的程度。大变异操作要求有两个参数是: 密集因子和大变异概率密集因子和大变异概率。密集因子用来决定大变异操作在整个优化过程中所占的比重,其数值越接近0.5时大变异操作被调用的越频繁。大变异概率越大,含大变异操作的遗传算法的稳定性就越好,但是,这是以牺牲收敛速度为代价的,当其数值等于0.5时,大变异操作就近似为随机搜索。17大变异遗传算法(7.1.4) 二、二、 大变异遗传算法的步骤大变异遗传算法的步骤 1 随机产生初始种群,种群个体数目事先给定,每个个体表示为染色体的基因编码; 2计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转3; 3依据适应度选择再生个体,适应的高的个体被选中的概率高,适应的低的个体可能被淘汰; 4对选择出再生个体按一定的交叉概率和交叉方法生成新个体; 5如果当代最大适应度与平均适应度满足时,进行大变异操作,否则进行普通变异操作。 6 由交叉和变异产生新一代的种群,返回2。18自适应遗传算法(7.1.5) 一、一、 自适应遗传算法的原理自适应遗传算法的原理 Srinvivas等提出一种自适应遗传算法,交叉概率和变异概率能够随适应度自动改变。当种群个体适应度趋于一致或者趋于局部最优时,使交叉概率和变异概率二者增加、而当群体适应度比较分散时,使交叉概率和变异概率减少。 同时,对于适应值高于群体平均适应值的个体,对应于较低的交叉概率和变异概率,使该个体得以保护进入下一代;而低于平均适应值的个体,相对于较高的交叉概率和变异概率,使该个体被淘汰。因此,自适应遗传算法能过提供相对某个解的最佳交叉概率和变异概率。19自适应遗传算法(7.1.5) 一、一、 自适应遗传算法的原理自适应遗传算法的原理 Srinvivas等提出一种自适应遗传算法,交叉概率和变异概率能够随适应度自动改变。当种群个体适应度趋于一致或者趋于局部最优时,使交叉概率和变异概率二者增加、而当群体适应度比较分散时,使交叉概率和变异概率减少。 同时,对于适应值高于群体平均适应值的个体,对应于较低的交叉概率和变异概率,使该个体得以保护进入下一代;而低于平均适应值的个体,相对于较高的交叉概率和变异概率,使该个体被淘汰。因此,自适应遗传算法能过提供相对某个解的最佳交叉概率和变异概率。20自适应遗传算法(7.1.5)一、一、 自适应遗传算法的原理自适应遗传算法的原理 自适应遗传算法中交叉概率和变异概率的计算公式如下自适应遗传算法中交叉概率和变异概率的计算公式如下:21自适应遗传算法(7.1.5) 二、二、 自适应遗传算法的步骤自适应遗传算法的步骤 1 随机产生初始种群,种群个体数目事先给定,每个个体表示为染色体的基因编码; 2 计算个体的适应度,并判断是否符合优化准则,若符合,输出最佳个体及其代表的最优解,并结束计算,否则转3; 3 依据适应度选择再生个体,适应的高的个体被选中的概率高,适应的低的个体可能被淘汰; 4 按照下式(I)确定交叉概率,并通过交叉生成新个体; 5 按照式(II)确定变异概率,并通过变异生成新个体; 6由交叉和变异产生新一代的种群,返回2。.22遗传算法的软件实现一、基本遗传算法的一、基本遗传算法的Matlab实现实现 1 计算函数的格式计算函数的格式 函数:myGA。 功能:用基本遗传算法解一维无约束极值问题 调用格式:xv,fv=myGA(fitness,a,b,NP,NG,Pc,Pm,eps) 其中:fitness:待优化的目标函数; a:自变量下界;b:自变量上界; NP:种群大小;NG:最大进化代数; Pc:交叉概率;Pm:变异概率; eps::自变量离散精度; xv:目标函数取最大值时的自变量取值; fv:目标函数的最大值。23遗传算法的软件计算一、基本遗传算法的一、基本遗传算法的Matlab实现实现 2 举例举例 例例7-1 用基本遗传算法计算下面函数的最大值 种群个体数目50,最大进化代数100,离散精度0.01, 交叉概率0.9,变异概率0.04。 解:首先建立目标函数文件fitness.m function F=fitness(x) F=x3-60*x2+900*x+100; 在命令框中输入调用遗传算法函数 xv,fv=myGA(fitness,0,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号