站内公告:
2024-08-26 06:11:53
堆优化器(Heap-Based Optimizer, HBO) 是由Qamar Askari等人于2020年提出的,该作者还提出了政治优化器(Political Optimizer, PO)。
在一个组织中,一群人为了一个共同的目标而工作,除非他们把自己组织在一个叫做公司等级制度(CRH) 的等级制度中,否则他们可能无法实现他们的目标。这一原理促使作者映射CRH的概念,提出一种新的优化算法(即堆优化器),该算法根据搜索个体的适合度在逻辑上排列成一个层次结构。上层通常代表高管和董事会成员,中层代表经理和主管,下层代表工人。
上一级的人被认为是下一级的人的主管/上级,同级的人被认为是同事/同事,下级的人服从上级。决策权在集中式的组织结构中保持在较高的级别,个人通过努力、与同事合作和对直接上司作出反应来完成一项工作。
HBO将CRH思想映射分为四个步骤:
选择用堆数据结构建模CRH,整个CRH被认为是群体。根据定义,堆是一个非线性树形数据结构,具有以下两个属性:
在一个集中的组织结构中,规则和政策由上层实施,下属服从直接上司。这种行为可以通过参考父节点B更新每个搜索代理
x
?
i
\vec{x}_i
xi?的位置来建模,使用以下公式:
其中,随着迭代过程,
γ
γ
γ从2线性减少到0,在达到0后,它开始随着迭代增加回到2。参数C决定了
γ
γ
γ将在
T
T
T次迭代中完成多少循环。
通过大量测试,C定义为:
级别相同的职员被认为是同事。在堆中,我们假设同一层的节点是同事节点,每个搜索代理
x
?
i
\vec{x}_i
xi?根据其随机选择的同事
S
?
r
\vec{S}_r
Sr?更新其位置,公式如下:
保持位置不变:
HBO根据p1、p2和p3进行位置更新公式的选择:
:
伪代码包括三部分,算法1是在堆中向上搜索,并将节点i插入到其正确位置,以维护堆属性。算法2为建堆过程,算法3是HBO主体。
与现在大部分算法相比,结构非常简单,涉及公式也容易理解,只是“堆”这个概念非专业的不好懂,还有建堆过程,需要仔细看。
算法改进方面,有很多方式,比较灵活。
【1】Askari, Qamar, et al. “Heap-Based Optimizer Inspired by Corporate Rank Hierarchy for Global Optimization.” Expert Systems with Applications, vol. 161, Elsevier BV, Dec. 2020, p. 113702, doi:10.1016/j.eswa.2020.113702.