matlab源码——政治优化算法(Political Optimizer,PO)
获取更多资讯,赶快关注公众号(名称:智能制造与智能调度,公众号:deeprlscheduler)吧!
文章目录
- 1 政治
- 2 政治优化 PO
- 2.1 数学模型和优化算法
- 2.2 算法具体流程
- 3 源码
PO 是由巴基斯坦国立计算机和新兴科学大学的 Qamar Askari 等人于 2020 年提出的一种受社会启发的新型全局优化算法,灵感来源于政治的多阶段过程。该算法通过将种群从逻辑上划分为政党和选区,赋予每个解双重角色,便于每个候选人更新政党领袖和选区获胜者的位置。文末有matlab源码下载链接!
1 政治
政治在不同的背景下有不同的含义。作者以一个国家的政治制度为参照点,模仿政治家的行为,以达到优化的最终目的。政治是对于一个地区、州或国家的治理,党的政治制度可以分为四种主要类型:一党制、两党制、主权制和多党制,此外,国家的治理可以通过议会制或总统制进行。作者从这些党制中综合了一些共性来概括 PO,例如政党和选区的概念,政治家和政党的联系、同党政治家的合作、党派间选择所体现的竞争、政治家党派转换、选举前的拉票活动、议会中当选议员之间的合作。多党民主的政治实践是一个复杂的政治过程,涉及社会各个层面,如图 1 所示,包含以下阶段:
图1 多阶段政治进程的例证
- 政党信息:政党是由具有共同议程的个体组成,这些个体被称为政客或公职候选人。图 1 中 PiP_iPi 代表第 iii 个政党的成员,脸部颜色用于区分不同政党的成员。
- 成员可随时变更党派隶属关系,如在图 1 中,P1P_1P1、P2P_2P2、P3P_3P3 中各有一个成员变为 P2P_2P2、P3P_3P3 和 P1P_1P1。
- 选票分配:这些成员被分配政党票,以便在选区中竞争选举。选区可以认为是一组投票者(选民),选举出代表某一政党的候选人。图 1 中,每个笑脸上的标签 CiC_iCi 表示成员正在第 iii 个选取竞选。
- 竞选活动:候选人视察他们的选区并说服选民投票给他们,这会成就候选人的声誉更新,即状态更新。
- 党间选举:在每个选区,选民投票给候选人以决定获胜者。图 1 中每个选取的获胜者加粗表示,例如 P1P_1P1 在 C1C_1C1 和 C2C_2C2 中胜出,P3P_3P3 在 C3C_3C3 中胜出,而 P2P_2P2 在所有选区中都没有胜出。
- 政府组建和议会事务:来自各党派的当选成员(获胜者)组成议会,并相互合作运行政府,图 1 中的"parliamentary affairs"描绘了这一点。
当前基于选举制度的算法已经有很多,如贪婪政治优化(Greedy Politics Optimization,GPO)受州议会选取期间采取的政治策略的启发,议会优化算法(Parliamentary Optimization Algorithm,POA)受国会议员首脑选举竞争的启发,竞选活动优化(Election Campaign Optimization,ECO)的灵感来源于候选人在竞选活动中的动机。但是 PO 却有着使之与其他政治算法不同的特性:
- PO 是政治中所有主要阶段的数学映射,而不再仅仅是模拟某一阶段;
- 提出了一种新颖的位置更新策略,称为基于最近过去位置更新策略(RPPUS),该策略是对前一届选举中政客学习行为的数学建模;
- 每个个体解都扮演着双重角色。它既是党员,又是选举候选人。这允许一个解更新其相对于两个改进的解的位置:政党领导人和选区获胜者;
- 将议会事务阶段纳入其中,允许更优解之间进行合作,以进一步改进解。
2 政治优化 PO
PO与当前一些流行算法的区别在于:
- 不同于其他优化算法,PO从逻辑上将种群划分为政党和选区,为每个代理分配双重角色。这种划分的优势在于,通过与一对独特的更优解进行交互,可以更新搜索代理的位置。通过实验发现,该方法可促进探索和利用;
- 粒子群PSO、灰狼优化GWO、鲸鱼优化WOA、正余弦SCA、教与学优化TLBO等都是使用最优解(全局最优)的位置更新搜索代理的位置,而PO则是与政党领导人和选区获胜者交互,而不是全局最优解;
- PSO存储了每个搜索代理的最优位置(局部最优)用于更新位置,而PO存储了搜索代理的最近位置,用于探索搜索空间以寻找最优区域;
- 类似于教与学TLBO,PO的位置更新机制也包括两个阶段,但是它们的工作原理完全不同。在TLBO的教学阶段,搜索代理通过与全局最优(教师)和整个种群的平均位置(班级)交互进行位置更新,而在PO的竞选活动阶段,搜索代理首先根据政党领导人更新位置,然后再根据选区获胜者更新位置。类似地,再TLBO的学习者阶段,搜索代理通过与两个随机选择的解交互来更新自己的位置,而在PO的议会事务阶段,每个选区获胜者通过与另一个随机选择的选区获胜者交互来进一步改善自己的位置;
- PO的另一个特有属性是其位置更新策略,涉及6种情况。基于政党领导人或选区获胜者的位置和适应度、搜索代理的当前位置和适应度以及最近的位置和适应度,识别和搜索最优前景的区域。该策略可以极大地提升PO的利用能力;
- 因为有多个较优解,PO能够通过议会事务阶段的相互交互,进一步提升这些较优解的质量,这是其他算法做不到的。
从两个方面来看,政治本身就是一个优化的过程:每个个体都优化自己的声誉来赢得选举,每个政党也都会试图最大化自己在议会中的席位来组建政府。这两个方面使得政治成为优化算法的理想灵感来源。
政治 | 优化问题 |
---|---|
个体(党员) | 候选解 |
个体声誉 | 候选解在搜索空间中的位置 |
评估政员声誉的参数 | 候选解位置向量的各个分量 |
选举 | 评估或目标函数 |
个体在选举中获得的票数 | 候选解适应度值 |
政治优化 PO 是由政党组建与选区分配、竞选活动、政党转换、政党间选举、议会事务等五个阶段组成的序列。政党组建和选区分配仅运行一次以进行初始化,其他四个阶段则循环执行,流程图如图 2 所示。
图2 算法流程
2.1 数学模型和优化算法
算法1 PO伪代码
表2 变量符号含义
2.2 算法具体流程
算法中涉及的政党组建与选区分配、竞选活动、政党转换、政党间选举、议会事务等各个阶段的原理、公式,请关注公众号后回复“政治优化”或"PO"获取哦!
3 源码
请关注公众号后回复“政治优化”或"PO"获取matlab源码哦!
matlab源码——政治优化算法(Political Optimizer,PO)相关推荐
- (源码)群体智能优化算法之灰狼优化(Grey Wolf Optimizer,GWO)
获取更多资讯,赶快关注上面的公众号吧! 文章目录 第三十三章 灰狼优化(Grey Wolf Optimizer,GWO) 启发 数学模型和算法 社会等级 包围捕食 狩猎 攻击猎物(利用) 搜索猎物(探 ...
- 基于政治优化算法的函数寻优算法
文章目录 一.理论基础 1.政治优化算法 2.PO算法执行过程 二.仿真实验与结果分析 三.参考文献 一.理论基础 1.政治优化算法 受政治多阶段过程的启发,文献[1]提出了一种新的全局优化算法--政 ...
- 头脑风暴算法BSO优化BP神经网络-matlab源码
原理:头脑风暴算法主要运用聚类和变异,他是通过模拟人们的解决问题的思想,办法而创立. 算法采用K-means聚类算法,将相似的个体聚成k类,并将人为设定的适应度函数值最优的个体作为聚类的中心.当然,为 ...
- 蚁狮优化算法( Ant Lion Optimizer,ALO)-Matlab源码
获取更多资讯,赶快关注上面的公众号吧! 文章目录 蚁狮优化器Ant Lion Optimizer (ALO) 启发 ALO算子 随机游走 困于蚁狮坑 构造陷阱 蚂蚁滑向蚁狮 捕捉猎物和重建坑 精英 A ...
- 【优化算法】灰狼优化算法(GWO)【含Matlab源码 1305期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]灰狼优化算法(GWO)[含Matlab源码 1305期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏优化 ...
- 【优化算法】改进的灰狼优化算法(IGWO)【含Matlab源码 1349期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]改进的灰狼优化算法(IGWO)[含Matlab源码 1349期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...
- 【优化算法】多目标灰狼优化算法(MOGWO)【含Matlab源码 099期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]多目标灰狼优化算法(MOGWO)[含Matlab源码 099期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费 ...
- 【优化算法】莱维飞行和随机游动策略的灰狼算法【含Matlab源码 1500期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]莱维飞行和随机游动策略的灰狼算法[含Matlab源码 1500期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- 【风电功率预测】基于matlab帝国殖民竞争算法优化BP神经网络风电功率预测【含Matlab源码 1314期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [风电功率预测]基于matlab帝国殖民竞争算法优化BP神经网络风电功率预测[含Matlab源码 1314期] ⛄二.帝国殖民竞争算法简 ...
- 【多目标优化求解】基于matlab灰狼优化算法求解多目标优化问题 【含Matlab源码 007期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[多目标优化求解]基于matlab灰狼优化算法求解多目标优化问题 [含Matlab源码 007期] 获取代码方式2: 通过订阅紫极神光博客 ...
最新文章
- TensorFlow Frontend前端
- 【深度学习笔记】ROC曲线 vs Precision-Recall曲线
- 【线性代数】向量空间
- java i o中文版_Java文件I/O的三种方法
- 使用Spring Security对RESTful服务进行身份验证
- learning to rank评价指标
- 蓝牙强势整合UWB/wifi/zigbee
- 在Redis中设置了过期时间的Key注意事项
- 【纪念】我的大学同学名单
- [转]Android ANR 分析解决方法
- mysql 中文列索引_一个mysql多列索引的问题
- 2021中青杯数学建模A题 (论文+代码) 超详细
- 「津津乐道播客」#301 这是一期价值3000元的当代社畜科学点餐指南
- 扒一扒那些叫欧拉的定理们(九)——群论观点下的欧拉公式初步
- iOS获取WIFI配置信息,WIFI名称、网关(路由器地址)、本机IP地址、DNS
- 进阶之路(故事未完待续)
- 有n堆石子,每次取出两堆合成一堆,每堆石子的个数即为合并石子所需要耗费的体力,求出合并所有石子堆所需要耗费的最小体力
- 区块链跻身京东数字科技
- Visual Studio帮助文档安装以及设置(内置msdn)
- python好找工作吗-该醒醒了,Python没有那么容易找工作
热门文章
- 非酋用计算机弹唱,非酋简谱 薛明媛/朱贺 听说爱情就是这样子
- mfc用数组怎么存储句柄_指南手机存储不足怎么办?用好这份清理指南你的手机还能再战三年...
- redis数据类型 - Zset(有序集合sorted set)
- h5故障代码_H5故障与内机有关?
- Vue:vue组件生命周期
- Javascript:forEach、map、filter、reduce、reduceRight、find、findIndex、keys、values、entries、every、some的使用
- android 样式预处理,基于Android平台的字符识别预处理算法设计与实现
- dedecms 会员发布的信息后台未审核,前台显示审核修改
- C++_CopyConstructor(副本构造器 防止指针重复释放)
- opencv图像分析与处理(11)- 频率域滤波消除周期噪声