最新目录

基于混合化学反应优化算法的N 皇后问题研究(2)

来源:分子科学学报 【在线投稿】 栏目:期刊导读 时间:2020-12-22
作者:网站采编
关键词:
摘要:4 模拟实验结果及分析 4.1 实验结果 程序运行后获得最优解,但由于启发式算法具有一定的随机性,每次运行所需时间都不一样,因此运行时间取3次的平均值。

4 模拟实验结果及分析

4.1 实验结果

程序运行后获得最优解,但由于启发式算法具有一定的随机性,每次运行所需时间都不一样,因此运行时间取3次的平均值。算法的终止条件为找到最优解或者迭代数达到设定的值。皇后数N=9时程序运行所得问题的一个解为a=[(1,1),(4,2),(6,3),(8,4),(2,5),(5,6),(3,7),(0,8),(7,9),(8,9)]。

4.2 实验结果分析

本算法与回溯法的求解运行时间对比如表1所示。

5 结语

本文阐述了使用混合化学反应优化(HCRO)算法求解N皇后问题的基本思想与过程,用C#语言编程实现,并取得了较好的模拟实验效果。在应用混合化学反应优化算法时,实验结果也许因为参与反应的分子群不一样,结果会略有不同,但总体来说,对于求解N皇后问题有所改善。

[1] 王振义.遗传算法求解N皇后问题的优化[J].山西大同大学学报:自然科学版,2010,26(2):13-14.

[2] Lam A,Li V. Chemical-reaction-inspired meta-heuristic for optimization[J]. Evolutionary Computation,IEEE Transactions on,2010,14(3):381-399.

1 N皇后问题描述N皇后问题是著名的数学家Gauss于1850年提出的,在一个N×N格的国际象棋盘上放置N个皇后,要求皇后不能互相攻击,即任意两个皇后都不处于同一行、同一列或同一斜线方向上(与两个主对角线平行)。2 混合化学反应优化(CRO)算法思想2.1 思想描述对N皇后的问题研究通过模拟一种化学现象来解说一种现象,通过化学反应优化(Chemical Reaction Optimization,CRO)提高人们对一种现象的理解。在此过程中,得到启发,得到最优的解决方案。化学反应中,主要是分子做不规则的运动,单分子进行运动,在运动过程中进行碰撞,随后发生分解。分子间进行碰撞,最终形成新的物质。化学反应是将不同的物质相互之间发生变化最终产生一种新的物质的过程。化学反应是通过分子的性质决定的,分子的势能变化表示反应的程度,反应势能减小,反应过程就结束,当势能最小时,反应状态就趋于稳定 算法求解过程CRO算法的求解过程分为以下三个阶段:(1)初始化阶段:定义空间中的分解,利用算法函数进行求解,例如:目标函数,分解函数,合唱函数等。算法的执行设置控制参数,同时设定初步参与反应的分子群体。(2)迭代阶段:当算法执行时,通过多次的迭代不断重复化学反应,每次迭代都是执行一个基本反应。主要步骤是:第一根据随机产生的参数值确定反应类型;第二是根据反应类型,随机选取相应数目的分子;第三是根据分子反应情况,如果没有满足反应停止的条件,则再转到第一步。如果达到设定的停止条件(如设定的迭代次数等),则执行后面的程序 与贪心算法融合贪心算法简单描述为:在进行计算前,对数据进行分析,保证整个解决过程中可以找到最优解,对此在进行处理,以找到最优值作为目标,不断重复,直到符合条件的最优值出现或问题处理步骤完成。总的来说,贪心算法就是在解题的每个环节中都选择最优的解决办法,得到最好的结果。3 混合化学反应优化(HCRO)算法求解N皇后问题本算法是结合贪心算法与化学反应优化算法的优势,以加快最优解的搜索速度,而形成的一种混合化学反应优化算法(HCRO) 分子编码解决N皇后问题,不同的人利用不同的算法,有些算法利用二进制进行计算,有些则采用编码的形式。下面以N=9为例介绍分子编码,采用带冲突统计数的多值编码方法,N皇后问题分子用一个二维向量b表示:定义b=[b(c1,1),b(c2,2),b(c3,3),b(c4,4),b(c5,5),b(c6,6),b(c7,7),b(c8,8),b(c9,9)],其中b(ci,i)是自然数,表示第i个皇后与其它皇后的冲突数;ci∈{1,2,3,4,5,6,7,8,9}即取值不能相同,它表示第i个皇后在棋盘的第ci行、第i列位置上。各元素冲突数计算方法:各向量元素b(ci,i)的初始值为0,第1列皇后与第2-9列皇后进行冲突比较,每出现1次冲突,b(c1,1)的值增加1;第2列皇后与第1,3-9列皇后进行冲突比较,每出现1次冲突,b(c2,2)的值增加1;依此类推,计算得到各向量元素的?目标函数N皇后问题中对皇后的位置有明确的规定,由此就需要让每个元素不可以重复出现。当皇后不在同一斜线上时,两个皇后之间的行数差与列数差比值的绝对值为1时,则两皇后在同一斜线上(在两条主对角线上或与主对角线平行),表示有冲?四种化学反应算子3.3.1 反应的初始化群体随机选取M个不同的分子作为反应的初始群体(M可大于N的10倍以上) 分子的碰撞由于单分子之间结构较小,单分子在进行碰撞时反应的状态变化不大,反应中主要的研究是对势能小范围的搜索,贪心算法单分子碰撞可以改变分子结 分子的分解这个化学反应的目的就是让两个分子之间发生碰撞,让分子的结构发生变化,产生裂变,从而提供一个新的搜索。表1 CRO与回溯法运行时间对比表(单位:秒)皇后数 8 10 15 25 40 80 180 H C R O 算法 0 0.02 0.024 0.3 1.54 6.15 21.12 回溯法 0 0.47 分子之间的碰撞在发生碰撞时改变两个现有分子b3和b4,以产生新分子b5和b6。参照单分子碰撞的过程,分别对向量b3和b4进行单分子碰撞,直到出现较优解或测试顶点达到顶点数的一半为?HCRO算法描述HCRO算法基本思想:在利用化学反应优化算法可以在分子间进行最优解决方式的搜索,利用贪心算法可以找到最优解,最终提高解题效率。4 模拟实验结果及分析4.1 实验结果程序运行后获得最优解,但由于启发式算法具有一定的随机性,每次运行所需时间都不一样,因此运行时间取3次的平均值。算法的终止条件为找到最优解或者迭代数达到设定的值。皇后数N=9时程序运行所得问题的一个解为a=[(1,1),(4,2),(6,3),(8,4),(2,5),(5,6),(3,7),(0,8),(7,9),(8,9)] 实验结果分析本算法与回溯法的求解运行时间对比如表1所示。5 结语本文阐述了使用混合化学反应优化(HCRO)算法求解N皇后问题的基本思想与过程,用C#语言编程实现,并取得了较好的模拟实验效果。在应用混合化学反应优化算法时,实验结果也许因为参与反应的分子群不一样,结果会略有不同,但总体来说,对于求解N皇后问题有所改善。参考文献[1] 王振义.遗传算法求解N皇后问题的优化[J].山西大同大学学报:自然科学版,2010,26(2):13-14.[2] Lam A,Li V. Chemical-reaction-inspired meta-heuristic for optimization[J]. Evolutionary Computation,IEEE Transactions on,2010,14(3):381-399.

文章来源:《分子科学学报》 网址: http://www.fzkxxbzz.cn/qikandaodu/2020/1222/470.html



上一篇:主要经济双壳贝类性别分化的分子机制概述<sup
下一篇:N 开发区注聚合物段塞优选研究

分子科学学报投稿 | 分子科学学报编辑部| 分子科学学报版面费 | 分子科学学报论文发表 | 分子科学学报最新目录
Copyright © 2018 《分子科学学报》杂志社 版权所有
投稿电话: 投稿邮箱: