研究文章|
Lhassane Idoumghar Mahmoud Melkemi, Rene Schott (Maha Idrissi Aouad
混合PSO-SA类型算法在多峰函数优化和减少能源消耗在嵌入式系统中
Lhassane Idoumghar,<年代up>1
1年代up>INRIA Nancy-Grand /洛里亚,615查顿Botanique街,54600 Villers-Les-Nancy,法国年代p一个n>
2年代up>LMIA-MAGE Haute-Alsace大学4街Freres卢米埃,68093米路斯,法国年代p一个n>
3年代up>大学IECN-LORIA Nancy-Universite,亨利·庞加莱54506 Vandoeuvre-Les-Nancy,法国年代p一个n>
文摘
gydF4y2Ba提出了一种新颖的混合进化算法,它结合了粒子群优化(PSO)和模拟退火(SA)算法。当达到一个局部最优解算法,所有粒子聚集,逃离这个地方最适条件变得困难。为了避免过早收敛算法,提出了一种新的混合进化算法,称为HPSO-SA,基于PSO确保快速收敛,而SA将寻找当地的最适条件,因为它的位置搜索能力强。拟议中的HPSO-SA算法验证标准基准十多峰函数,我们得到显著的改善。获得的结果与这些相比现有混合PSO-SA算法。也在这篇文章中,我们提供了两个版本的HPSO-SA(顺序和分布式)最小化能量消耗在嵌入式系统中记忆。HPSO-SA的两个版本,减少记忆的能源消耗从76%到98%,而禁忌搜索(TS)。此外,HPSO-SA的分布式版本提供了执行时间节省约73%到84%的4个人电脑。
<年代p一个ncl一个年代年代="end-abs">1。介绍
gydF4y2Ba一些优化算法已经发展在过去的几十年里为解决实际的优化问题。其中,我们有很多启发式模拟退火(SA) [<一个href=”#B1">1一个>)和优化算法,利用社会或进化的行为,例如粒子群优化(PSO) (<一个href=”#B2">2一个>,
gydF4y2Ba粒子群优化(PSO)是基于个人生活在团体的社会行为。每个人试图改善自身通过观察其他小组成员和模仿的越好。这种方式,小组成员执行的优化过程中描述(<一个href=”#B3">3一个>]。算法的性能取决于粒子(即。,potent我一个l年代olutions to an optimization problem) move in the search space, given that the velocity is updated iteratively. Large research body is therefore devoted to the analysis and proposal of different motion rules (see [<一个href=”#B4">4一个>- - - - - -<一个href=”#B6">6一个>]算法研究的最近的账户)。为了避免算法过早收敛,我们把它与山:算法的混合方法在某种程度上有助于确保搜索收敛更快,虽然SA使搜索跳出局部最适条件由于其强大的本地搜索能力。在本文中,我们提出一个混合优化算法,叫做HPSO-SA,利用直观的PSO的积极功能和SA。我们也验证HPSO-SA使用十基准函数给出了(<一个href=”#B7">7一个>)和比较结果与经典算法,ATREPSO QIPSO, GMPSO算法中描述(<一个href=”#B2">2一个>],TL-PSO(
gydF4y2Ba剩下的纸是组织如下。部分<一个href=”#sec2">2一个>介绍,简单地说,PSO和SA算法。部分<一个href=”#sec3">3一个>致力于HPSO-SA的详细描述。节<一个href=”#sec4">4一个>HPSO-SA基准功能应用。节<一个href=”#sec5">5一个>,HPSO-SA用于解决能耗问题在内存中。此外,提供仿真结果和相比<一个href=”#B11">11一个>]。给出了部分结论和进一步的研究方面<一个href=”#sec6">6一个>。
gydF4y2BaSA (<一个href=”#B12">12一个>)是一种局部搜索方法的变异概率,从而,在PSO相比,逃离当地的最适条件。SA是基于一个类比从热力学如下:为了生长晶体,我们开始通过加热材料,直到它达到熔融状态。然后,我们逐渐减少晶体的温度融化,直到形成晶体结构。标准的SA过程首先随机产生初始解。在初始阶段,一个小随机变化是当前制造解决方案<年代vg height="11.05" id="M1" style="vertical-align:-3.2316pt;width:12.7125px;" version="1.1" viewbox="0 0 12.7125 11.05" width="12.7125" xmlns="http://www.w3.org/2000/svg">
这个概率的计算依赖于一个参数<年代vg height="10.325" id="M4" style="vertical-align:-0.0pt;width:11.225px;" version="1.1" viewbox="0 0 11.225 10.325" width="11.225" xmlns="http://www.w3.org/2000/svg">
gydF4y2Ba因此,在SA最恶化的举动可能被接受,但最终只有改善可能是允许的,这可以帮助过程跳出局部最小值。算法可能会终止在一定体积分数的结构已经达到或之后指定运行时。
gydF4y2Ba算法是一个基于人口的随机优化技术开发(<一个href=”#B13">13一个>),受社会行为模式的生物生活在大群和互动。特别是,它包含了大量的行为中观察到成群的鸟,鱼群,或是成群的蜜蜂,甚至人类的社会行为。
算法算法是基于一个想法,粒子在搜索空间的速度动态调整根据他们的历史行为。因此,粒子倾向于朝着更好的和更好的搜索区域的搜索过程。PSO算法开始和一群随机粒子(或不)(解决方案),然后搜索寻优更新每一代。每个粒子都被视为一个volume-less粒子(一个点)<年代vg height="7.1374998" id="M8" style="vertical-align:-0.10033pt;width:7.8874998px;" version="1.1" viewbox="0 0 7.8874998 7.1374998" width="7.8874998" xmlns="http://www.w3.org/2000/svg">
最好在每个迭代中,这两个值结合调整速度在每个维度,然后用于计算一个新的迭代步骤的粒子。部分调整速度是影响个人的以前的最佳位置(<年代vg height="13.425" id="M15" style="vertical-align:-2.29482pt;width:33.837502px;" version="1.1" viewbox="0 0 33.837502 13.425" width="33.837502" xmlns="http://www.w3.org/2000/svg">
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4所示。实验结果
gydF4y2Ba为了比较HPSO-SA混合算法的性能与描述的(<一个href=”#B2">2一个>,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(一)Rastrigin年代trong>
(b)领域年代trong>
(c) Griewank年代trong>
(d)。年代trong>
(e) Schwefel年代trong>
(f)《年代trong>
(g) Michalewicz年代trong>
(h)库普年代trong>
(我)Shubert年代trong>

(一)Rastrigin年代trong>

(b)领域年代trong>

(c) Griewank年代trong>

(d)。年代trong>

(e) Schwefel年代trong>

(f)《年代trong>

(g) Michalewicz年代trong>

(h)库普年代trong>

(我)Shubert年代trong>
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4.2.2。比较与其他PSO算法中描述(<一个href=”#B2">2一个>]
ggydF4y2BaydF4y2Ba四个粒子群优化算法的性能,即经典算法,基于Attraction-Repulsion PSO (<我>ATREPSO),基于二次插值的算法(<我>QIPSO)和基于高斯变异PSO (<我>GMPSO)是评价(<一个href=”#B2">2一个>]。本文提出的算法是根据人口的多样性搜索给定的优化问题的全局最优解,而GMPSO使用突变的概念和QIPSO使用繁殖算子生成一个新的群的成员。
gydF4y2Ba为了使一个公平的比较经典的算法,ATREPSO, QIPSO, GMPSO HPSO-SA方法,我们固定显示在[<一个href=”#B2">2一个>),为随机数生成相同的种子,这样所有五个算法的初始群体人口一样。粒子群的数量是30。算法使用一个线性递减惯性权重<年代vg height="7.1875" id="M155" style="vertical-align:-0.13794pt;width:10.7625px;" version="1.1" viewbox="0 0 10.7625 7.1875" width="10.7625" xmlns="http://www.w3.org/2000/svg">
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4.2.3。比较与其他PSO算法中描述(<一个href=”#B10">10一个>]
ggydF4y2BaydF4y2Ba在本节中四个基准函数是用来比较和SUPER-SAPSO HPSO-SA算法的相对性能,SAPSO和PSO算法中描述(<一个href=”#B10">10一个>]。
gydF4y2Ba比较,粒子的数量设置为30。HPSO-SA算法使用了一个线性递减惯性权重的<年代vg height="7.1875" id="M262" style="vertical-align:-0.13794pt;width:10.7625px;" version="1.1" viewbox="0 0 10.7625 7.1875" width="10.7625" xmlns="http://www.w3.org/2000/svg">
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
在以上实验中,HPSO-SA算法获得更好的结果相比,那些获得的标准PSO和SAPSO算法(<一个href=”#B10">10一个>]。比较HPSO-SA算法和SUPER-SAPSO [<一个href=”#B10">10一个>),显示最后一个比HPSO-SA收敛更快。
SUPER-SAPSOgydF4y2Ba使用的粒子运动的表达式(<年代vg height="15.05" id="M267" style="vertical-align:-3.49493pt;width:121.8375px;" version="1.1" viewbox="0 0 121.8375 15.05" width="121.8375" xmlns="http://www.w3.org/2000/svg">
ggydF4y2BaydF4y2Ba在本节中表演的HPSO-SA相比,这些PSOSA [<一个href=”#B9">9一个>),遗传算法和混合算法(<一个href=”#B21">21一个>]。
gydF4y2Ba表<一个href=”http年代://www.newsama.com/journals/acisc/2011/138078/tab5/" target="_blank">5一个>列出三个不同维度的每个函数的不同结果。球的最佳值,Rastrigrin Griewank被设置<年代vg height="10.9125" id="M269" style="vertical-align:-0.17555pt;width:48.174999px;" version="1.1" viewbox="0 0 48.174999 10.9125" width="48.174999" xmlns="http://www.w3.org/2000/svg">
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
做一个公平的比较,评价函数允许的最大数量设置为20000,30000年和40000年HPSO-SA和PSOSA算法当粒子的数量设置为20。HPSO-SA算法使用了一个线性递减惯性权重的<年代vg height="7.1875" id="M336" style="vertical-align:-0.13794pt;width:10.7625px;" version="1.1" viewbox="0 0 10.7625 7.1875" width="10.7625" xmlns="http://www.w3.org/2000/svg">
gydF4y2Ba表中给出的数值结果<一个href=”http年代://www.newsama.com/journals/acisc/2011/138078/tab5/" target="_blank">5一个>表明:<年代p一个ncl一个年代年代=”l我年代t”>(我)年代p一个n><年代p一个ncl一个年代s="list-content">在四个基准函数,HPSO-SA和PSOSA比标准遗传算法和混合算法(做得更好<一个href=”#B21">21一个>]。年代p一个n>年代p一个n>(2)年代p一个n><年代p一个ncl一个年代s="list-content">为球体,Rastrigin和Griewank功能,HPSO-SA和PSOSA算法获得最优解在指定的限制(目标函数的计算)。年代p一个n>年代p一个n>(3)年代p一个n><年代p一个ncl一个年代s="list-content">对于。函数,比HPSO-SA维度20 PSOSA获得更好的结果,但是对于维度10到30,HPSO-SA更好,有较小的标准偏差。年代p一个n>年代p一个n>
5。减少能源消耗内存的嵌入式系统
gydF4y2Ba根据趋势(<一个href=”#B22">22一个>),记忆将成为嵌入式系统的主要能源消费国。事实上,嵌入式系统必须集成多个复杂功能需要更大的电池和内存。因此,这些系统的能耗减少内存从未局部。在本文中,我们将重点讨论内存管理的软件技术。为了减少能源消耗内存,大多数作者依靠擦写板记忆(<我>年代p米),而不是缓存(<一个href=”#B23">23一个>]。尽管缓存内存帮助很多程序速度,并不是适合大多数嵌入式系统。事实上,缓存增加了系统规模和能源成本(缓存区+管理逻辑)。像缓存,SPM由小型、快速存储器。直接和明确的主要区别在于SPM管理在软件层面,由开发人员或由编译器这使得它更容易预测。SPM需要减少40%的能源和34%的面积比缓存(<一个href=”#B24">24一个>]。因此在本文中,我们将使用一个SPM内存架构。由于减少了SPM的大小,我们仅对有趣的数据分配空间而剩下的放在主存(<我>动态随机存取记忆体我>)。为了确定有趣的数据,我们使用<我>数据概要分析我>收集内存访问频率信息。禁忌搜索(TS)的方法包括基于TS为数据分配空间SPM原理(<一个href=”#B25">25一个>]。可以找到更多的细节如何实现TS (<一个href=”#B11">11一个>]。
gydF4y2Ba为了计算系统的能量消耗,我们提出一个能耗评估模型,为我们的内存架构由一个SPM,一个指令缓存和DRAM。方程(<一个href=”#EEq7">7一个>)给出了能量模型,这三个术语指的是总能量消耗,分别在SPM指令缓存和DRAM。<年代p一个ncl一个年代年代=”equation" id="EEq7">
在这个模型中,我们区分两个缓存写政策:直写式(<我>WT)和回写式(<我>白平衡我>)。在WT缓存,每个写缓存都会记录一个同步DRAM。另外,在世行缓存,不立即反映DRAM写道。相反,缓存跟踪的位置已经写了,然后,它标志着这些地方脏了。这些位置的数据写回到DRAM当数据从缓存中驱逐(<一个href=”#B26">26一个>]。本文的目标是最小化能量详细估算模型介绍如下:<年代p一个ncl一个年代年代=”equation" id="EEq8">
方程(<一个href=”#EEq8">8一个>)和(<一个href=”#EEq9">9一个>分别)表示,在阅读和写作的总能量消耗从/到SPM。方程(<一个href=”#EEq10">10一个>)和(<一个href=”#EEq11">11一个>分别)表示,在阅读和写作的总能量消耗从/到指令缓存。时,方程(<一个href=”#EEq12">12一个>)和(<一个href=”#EEq13">13一个>分别)表示,在阅读和写作的总能量消耗从/到DRAM。这种能量模型中使用的各种术语解释表<一个href=”http年代://www.newsama.com/journals/acisc/2011/138078/tab6/" target="_blank">6一个>。
|
||||||||||||||||||||||||||||||||||||||
随着SPM有很多优势,但它显然比把尽可能多的数据。换句话说,我们必须最大化条件<年代vg height="16.237499" id="M368" style="vertical-align:-4.74141pt;width:36.4375px;" version="1.1" viewbox="0 0 36.4375 16.237499" width="36.4375" xmlns="http://www.w3.org/2000/svg">
gydF4y2Ba本节应被视为企图使用混合进化算法在嵌入式系统降低能耗。在这里,重点是使用前面HPSO-SA算法设计的。因为考虑的问题是dicrete和特定的功能,HPSO-SA需要更改。
<年代p一个ncl一个年代s="statement" id="head1">
(粒子)我>年代p一个n>
一个解决方案可以表示为一个数组大小等于数据的数量。从这个数组每个元素表示一个数据是否包含在SPM (“1”) (“0”)。HPSO-SA算法具有初始群随机初始化。年代p一个n>
函数我>年代p一个n>
它是我们想要的目标函数最小化的问题。它为每个解决方案进行适用性检测环境下考虑<年代p一个ncl一个年代年代=”equation" id="EEq14">
位置更新方程我>年代p一个n>
每个维度<年代vg height="12.675" id="M385" style="vertical-align:-2.34499pt;width:7.1374998px;" version="1.1" viewbox="0 0 7.1374998 12.675" width="7.1374998" xmlns="http://www.w3.org/2000/svg">
生成函数我>年代p一个n>
公司使用一个邻里关系的概念。让<年代vg height="10.725" id="M390" style="vertical-align:-0.1254pt;width:11.375px;" version="1.1" viewbox="0 0 11.375 10.725" width="11.375" xmlns="http://www.w3.org/2000/svg">
接受函数我>年代p一个n>
SA的关键理念方法是函数<年代vg height="13.4125" id="M405" style="vertical-align:-2.29482pt;width:43.787498px;" version="1.1" viewbox="0 0 43.787498 13.4125" width="43.787498" xmlns="http://www.w3.org/2000/svg">
5.3。分布式混合HPSO-SA算法离散合作
gydF4y2Ba对分布式混合HPSO-SA (<我>HPSO-SA_Dist)算法中,我们使用独立的粒子subswarms用自己的健身功能孤立地发展,除了交换一些颗粒(迁移)。一组<年代vg height="10.9125" id="M430" style="vertical-align:-0.17555pt;width:46.237499px;" version="1.1" viewbox="0 0 46.237499 10.9125" width="46.237499" xmlns="http://www.w3.org/2000/svg">
5.4。实验结果
gydF4y2Ba为了计算研究的能量消耗内存架构由一个SPM,指令缓存和DRAM,我们提出一个能耗评估模型中解释(<一个href=”#B11">11一个>]。实现了混合HPSO-SA算法和TS pc集群上运行在Windows XP专业版2002。集群是由4奔腾(D)机器运行在3 GHz。每个处理器都有1 gb的内存。表<一个href=”http年代://www.newsama.com/journals/acisc/2011/138078/tab7/" target="_blank">7一个>给出了一个描述所使用的基准,他们也可以从[下载<一个href=”#B28">28一个>]。
|
|||||||||||||||||||||||||||||||||||||||||||||
在实验中,30个不同的死刑执行每个启发式和最好的平均结果这些30执行记录。在这种情况下,最好的和一般的解决方案给类似的结果。图<一个href=”http年代://www.newsama.com/journals/acisc/2011/138078/fig3/" target="_blank">3一个>显示两个<我>HPSO-SA_Seq和<我>HPSO-SA_Dist取得更好的表现比TS节省能源。事实上,混合HPSO-SA启发式消耗从76.23% (StatemateCE) 98.92% (ShaCE)能量小于TS。