快速对帝国竞争算法ICA的了解
帝国竞争算法ICA
帝国竞争算法通过模拟帝国主义殖民竞争机制而建立其数学模型,本质上是基于群体的随机优化搜索方法。
算法流程图:
1. 初始化帝国
对于一个N维的优化问题,国家可以表示成如下形式:
国家的势力大小通过代价函数来衡量:
国家的势力和代价函数值成反比,即代价函数值越小,国家势力越大。
具体步骤:
2. 同化与反转机制
帝国主义国家对殖民地进行改善和思想控制,即同化作用。通过所有殖民地国家向其所属帝国主义国家移动来模拟同化过程。
殖民地向帝国主义国家移动的距离x定义如下:
x ~ U(0,β×d)
其中,β>1,殖民地可以从两个方向朝Imp靠近;d是殖民地和Imp之间的距离,随机变量x服从(0,β×d)上的均匀分布。
同化公式:
为了在帝国主义国家周围寻找不同的点,扩大寻找范围,增加了一个随机偏离方向θ,定义如下:
θ ~ U(-γ , γ)
其中,0< γ <π。(大多应用中β常取2,γ常取π/4)
殖民地国家向帝国主义国家靠近时,殖民地的位置发生更新,可能出现某个殖民地的代价函数值比帝国主义小的情况,即该殖民地的势力更大,此时,将该殖民地与Imp的角色进行交换,即该殖民地成为该帝国的Imp,而原来的Imp则沦为殖民地。
3. 帝国竞争机制
帝国竞争机制模拟的是现实社会中势力较强的帝国占有并控制势力较弱帝国的殖民地的过程。帝国之间的竞争导致强的帝国变得更强,而弱的帝国逐渐衰败。
具体步骤:
第1步:计算帝国的总代价函数值,即势力大小。帝国主义国家对整个帝国的势力影响较大,而殖民地国家的影响非常小。
帝国总代价公式:
也即是:
第2步:根据各帝国的总代价,选择最弱的帝国中最弱的殖民地作为帝国竞争的对象,势为越大的帝国越有可能占有该殖民地。每个帝国占有最弱殖民地的概率按照如下公式计算:
其中,T.C.n和N.T.C.n分别是第n个帝国的总代价和标准化总代价,Pn是第n个帝国占有殖民地的概率。
第3步
4. 帝国灭亡,合并收敛
帝国之间的竞争,使势力大的帝国通过占有其他帝国的殖民地变得越来越强大,而势力弱的帝国殖民地个数不断减少,当一个帝国丢失所有的殖民地时,帝国覆灭。随着帝国的灭亡,最终剩下一个帝国,此时算法终止。
除了最强大的帝国之外,所有帝国都会崩溃,所有殖民地都将在这个独特的帝国的控制之下。在这个理想的新世界中,所有殖民地将拥有相同的地位和成本,并且将由帝国主义者以与自己相同的地位和成本进行控制。在这个理想的世界中,不仅殖民地之间没有区别,而且殖民地与帝国主义之间也没有区别。在这种情况下,我们结束了帝国主义的竞争并停止了算法。
总结:
帝国竞争算法与PSO、GA相比,收敛速度快、收敛精度高,具有较强的全局收敛性;但由于竞争过程中帝国合并以及帝国覆灭使ICA的帝国个数不断减少,导致群体多样性降低,算法的全局"勘探"能为受影响,易出现"早熟"现象。
帝国竞争算法包含的基本要素:初始国家数目,帝国主义国家数和殖民地数,
帝国竞争年限,帝国主义国家权力(代价函数f、殖民地影响因子ξ),同化系数(β和γ)。
参考文献:
[1] Atashpaz-Gargari E, Lucas C. Imperialist competitive algorithm: an algorithm for optimization inspired by imperialistic competition[C]//2007 IEEE congress on evolutionary computation. Ieee, 2007: 4661-4667.
[2] 郭婉青, 叶东毅. 帝国竞争算法的进化优化[J]. 计算机科学与探索, 2014, 8(4): 473-482.
[3] 郭婉青. 帝国竞争算法的研究与改进[D]. 福州大学, 2014.
[4] Kaveh A, Talatahari S. Optimum design of skeletal structures using imperialist competitive algorithm[J]. Computers & structures, 2010, 88(21-22): 1220-1229.
本人为快速了解帝国竞争算法,查阅了几篇文献所总结。不足之处,还请见谅。
快速对帝国竞争算法ICA的了解相关推荐
- 帝国竞争算法(ICA)(Matlab代码实现)
目录 1 帝国竞争算法(ICA) 2 运行结果 3 参考文献 4 Matlab代码实现 1 帝国竞争算法(ICA) 帝国竞争算法(ICA)是2007年]提出,具
- 帝国竞争算法(ICA)详解与python 实现
写在前面 最近需要用帝国竞争算法,百度出来基本千篇一律 Ctrl + C, Ctrl + V. 所以打算自己写一篇. Reference: 1.帝国竞争算法的研究与改进 2.智能优化算法与涌现计算,在 ...
- 帝国竞争算法(Imperialist Competitive Algorithm, ICA)
帝国竞争算法(Imperialist Competitive Algorithm, ICA) 本文提出了一种受帝国主义竞争启发的优化算法.与其他进化算法一样,该算法从初始种群开始.被称为国家的人口有两 ...
- 帝国竞争算法(imperialist competitive algorithm, ICA )详解+Java代码实现
前言 这段时间用过这个算法做过相关的工作,今天就介绍一下吧.虽然感觉效果嘛,勉勉强强啦.不过每种算法肯定有其适用的地方,用到了就Mark一下方便后人吧~ 介绍 帝国竞争算法(imperialist c ...
- 基于帝国竞争算法的函数寻优算法
文章目录 一.理论基础 1.帝国竞争算法 1.1 国家初始化 1.2 殖民地同化 1.3 帝国竞争 1.4 国家汇聚 2.ICA算法流程图 二.仿真实验与分析 三.参考文献 一.理论基础 1.帝国竞争 ...
- 【优化求解】基于帝国主义竞争算法ICA求解单目标问题Matlab源码
1 简介 2 部分代码 function Empires=UniteSimilarEmpires(Empires,AlgorithmParams,ProblemParams) %联合相似的帝国,距离相 ...
- MATLAB帝国(主义)竞争算法求解超市物流配送选址问题实例
帝国竞争算法编程问题实例: MATLAB帝国竞争算法求解超市物流配送选址问题代码实例 在范围为(0,0)到(100,100)的矩形区域内,散布着40个连锁超市,各个连锁超市的坐标及需求量见表1.要求在 ...
- 【风电功率预测】基于matlab帝国殖民竞争算法优化BP神经网络风电功率预测【含Matlab源码 1314期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [风电功率预测]基于matlab帝国殖民竞争算法优化BP神经网络风电功率预测[含Matlab源码 1314期] ⛄二.帝国殖民竞争算法简 ...
- 自动化仓库订单调度的改进型离散帝国主义竞争算法
原文 Improved discrete imperialist competition algorithm for order scheduling of automated warehouses发 ...
最新文章
- Pytorch中的optimizer.zero_grad和loss和net.backward和optimizer.step的理解
- python inspect模块
- 安装Python3后再安装Python2
- java文件复制速度_java中文件复制得速度测试
- Django(part10)--POST请求
- 扩展mysql_扩展mysql - 手把手教你写udf
- 面试官角度的JVM面试
- Linux基础1之磁盘与分区
- uniapp中封装ajax方法
- 2015百度之星资格赛.1004放盘子(数学推导)
- laravel实现发送邮件(腾讯企业邮箱)
- Java前端如何发送date类型的参数给后端
- HR人力资源系统软件价格?哪家HR人力管理系统好
- js数组对象重复的数据添加标识
- 替换空格 ——《剑指offer》
- 《GC篇》七、GC 调优(实战篇)
- 轻量级pythonide_《轻》字意思读音、组词解释及笔画数 - 新华字典 - 911查询
- ZOJ 3380 Patchouli's Spell Cards [基础DP+大数]
- GitHub优秀的Android开源项目
- 第06课:生活中的中介模式——找房子问中介