没有合适的资源?快使用搜索试试~ 我知道了~
工程科学与技术,国际期刊32(2022)101077完整文章基于图形处理器的无约束优化Hamid Reza Najia, Soodeh Shadravanb,Hossien Mousa Jafarabadib,Hossien Momeniaa伊朗克尔曼高级技术研究生院电子和计算机工程系b伊朗巴德西尔伊斯兰阿扎德大学巴德西尔分校计算机工程系阿提奇莱因福奥文章历史记录:收到2020年2021年6月19日修订2021年11月9日接受在线预订2021年保留字:Sailfish Optimizer(SFO)加速Sailfish优化器(ASFO)无约束优化问题并行处理共享存储器图形处理器A B S T R A C T旗鱼优化器(SFO)是一种启发式算法,灵感来自一群狩猎旗鱼,交替攻击猎物。SFO算法利用简单的方法提供探索和开发阶段之间的动态平衡,创建群体多样性,避免局部最优,并保证高收敛速度。然而,花费大量的时间来解决优化问题已经成为一个挑战的元启发式算法。由于元分析组件的独立性,并行处理是减少计算时间并以可接受的成本找到接近最优的高质量解决方案的良好选择。目前,并行处理和元启发式算法的结合可以提供高性能的解决方案,以快速解决组合优化问题。在本文中,我们阐述了一种新的基于GPU和加速的旗鱼优化方法(ASFO),它提高了执行时间和加速比,同时保持高质量的优化结果在深入的研究中,我们提出了ASFO算法的实现细节和性能观察。同时,在一组标准的基准优化函数上对加速和顺序SFO算法进行了比较研究,并与其他并行算法进行了比较结果表明,该方法在连续,不可分离,非凸和可扩展的优化问题的能力。©2021作者卡拉布克大学。出版社:Elsevier B.V.这是一篇开放获取的文章根据CC BY-NC-ND许可证(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍在现实世界中,资源优化是一个非常重要的问题,它可以应用于各种工程问题。元启发式算法可以提供适当的技术来解决复杂的和计算密集型的问题。这些算法可以分为基于群体的、基于人类的、基于物理学的、基于进化的等几类。粒子群优化算法(PSO)[1]、Salp Swarm算法(SSA)[2]、黑寡妇优化算法(BWO)[3]是一些著名的基于类别的群算法。基于群体的算法是模仿蚁群、鸟群、鱼群等群体的种群结构而产生的。禁忌搜索(Tabu Search,TS)[4]、人类心智搜索(Human Mental Search,HMS)[5]、贫富优化算法(Poor and Rich Optimization,PRO)[6]等算法被认为是受人类行为及其规律启发而产生的基于人类的方法。此外,几种算法,如模拟退火(SA)[7],多Verse优化器(MVO)[8],亨利*通讯作者。电子邮件地址:h. kgut.ac.ir(H. Reza Naji)。由Karabuk大学负责进行同行审查气体溶解度优化(HGSO)[9]是基于物理学考虑的,它们模仿世界上的物理规律基于进化的算法是另一类受生物进化(如突变、繁殖和重组)启发的元启发式算法。考虑到这些规则,GA[10]和一些算法(如[11,12])的搜索代理在搜索空间中进行通信和移动,以解决优化问题。将计算智能和运筹学等元启发法结合起来称为混合元启发法。使用这种技术的主要原因是在合理的计算时间内获得高质量的解决方案[13,14]。混合元启发式算法通常采用并行计算、多智能体系统、搜索空间分解等先进策略。在并行计算中,一组主动搜索代理单独行动,以解决问题的合作。 它们在解决大规模分布式和动态系统中的问题方面表现出良好的性能[15]。搜索代理在优化过程中异步操作,并使用并行化策略,以提高效率和速度的执行时间相比,集中式系统。搜索代理可以对环境变化做出反应,https://doi.org/10.1016/j.jestch.2021.11.0032215-0986/©2021作者。卡拉布克大学。出版社:Elsevier B.V.这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表工程科学与技术国际期刊杂志主页:www.elsevier.com/locate/jestchH. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010772我我旧SFðÞ.联系我们 X我我SFs不可预测的事件;这一特性对智能系统非常重要[16]。在并行计算中,复杂的问题分解成更简单和更小的问题,由各种代理操作[17]。事实上,它是由设计者来决定如何在搜索代理之间交换信息,代理可以共享搜索空间信息,如解决方案,子问题和搜索代理的状态,以及如何控制解决方案的过程,以获得更好的性能在各种策略。如今,图形处理单元已经成为实现元启发式算法的数百个线程的并行执行的强大工具[18,19]。在许多文献中,已经用不同的设计实现了几种并行算法,这些设计涵盖了GPU(图形处理单元)的使用,以实现自然启发的元算法。基于CUDA的蜜蜂算法(CUBA)就是其中之一,它提供了GPU上的并行策略和元启发式通信模式[20]。该算法中GPU的每个块专用于一个蜂群,克隆之间的通信通过共享内存提供。结果表明,CUBA方法快比其顺序优化期间的实施2.1. 旗鱼优化器(SFO)各种算法被许多研究人员应用于不同的领域。众多的算法和它们的各种应用不能提供一个特定的算法来解决所有的优化问题。有些算法对某些特定的问题是有益的,但对另一类问题是无效的[24]。因此,研究人员试图创建新的优化技术来解决更广泛的未解决问题。在[25]中,SFO算法提出了一种新的自然启发式元启发式优化算法,并模仿了狩猎旗鱼群体的策略。该算法包括两种类型的人口,人口的旗鱼的强化搜索空间和人口的沙丁鱼的多样化的搜索空间。为了描述所提出的算法,假设位置是所有解的变量,而第i个成员在第k个搜索代理在d维搜索空间中具有当前位置SFi,k在每次迭代中,将计算旗鱼和沙丁鱼的适应度,并在优化过程中更新旗鱼的位置,如下所示:问题文献[21]中,用图形处理器建立了几种并行局部搜索元启发式算法.这些算法-我新的SF ¼X精英SF.-ki.XiX!!我Rithms已经由四个著名的连续优化问题这些高加速度的结果×rand= 0;1×精英SF受伤S2-X旧SFð1Þ已经报道了所提出的用于解决组合和连续优化问题的方法。并行蚁群优化算法我精英SF我受伤的S 是旗鱼的最佳位置mization是另一种使用GPU实现的算法[22]。在该算法中,每个蚁群被分配到GPU的一个块,所有的蚂蚁分布在处理元件。为了执行计算操作,每个蚂蚁都有一个单独的线程来同时计算成本函数。实验结果表明,该策略的使用提高了算法的执行效率和速度相比,顺序版本。在[23]中,提出了一种基于GPU的自适应进化算法来控制DE参数,称为cujDE。此外,考虑到GPU架构,两个CUDA结构,在该算法中,核函数的建模采用了拓扑结构。cujDE相对于基于CPU的jDE获得加速,沙丁鱼,Xi决定了sailfish,rand0; 1是0和1之间的随机数,并且ki如下生成:ki¼2×rand0;1×PD-PD2 ×由于群体狩猎过程中猎物数量的减少,PD参数是更新猎物群周围旗鱼位置的重要参数,并显示每次迭代的猎物数量如下:. NSFNSFNS结果表明,cujDE算法对连续优化问题具有较强的竞争力.在本文中,我们描述了一个新的GPU加速版本的旗鱼优化器(SFO)使用CUDA架构。该方法在求解各种无约束优化问题时,通过大量的迭代来获得高质量的解,从而提高了SFO的处理速度。同时,研究了并行性对高维问题激动此外,还对大量的搜索代理进行了分析其中NSF和NS分别是每次迭代时旗鱼和沙丁鱼的数量 图1.一、显示了旗鱼和沙丁鱼的位置所提出的替代攻击和包围机制创建一个圆形的邻居周围的解决方案接近猎物从不同方向的猎人。此外,为了模仿以在第i次迭代时更新沙丁鱼的位置,可以如下公式化:实现所需的SFO我全新S我精英SF -X老SþAPΣð4Þ启发式算法在GPU上的CUDA平台。其中r是0和1之间的随机数,X是是最好的本文的其余部分组织如下。 第2旗鱼的位置形成至今,Xi是当前位置描述了SFO算法,并概述了GPU计算和CUDA(计算统一设备架构)。第3节介绍了SFO的加速版本的实现,以解决无约束优化问题。实验结果和分析在第4节中讨论最后,在第五节中给出了一些2. 预赛本文将阐述SFO算法的主要启示而旗鱼的攻击力AP¼A×1- 2×Itr× e 5其中A和e是用于从A到0线性地减小功率攻击值的系数最后,为了增加捕获新猎物的机会,旗鱼的位置用被捕获沙丁鱼的自适应公式如下:Xi1/4XiffSifSFi 6<其中X是Xi表示旗鱼沙丁鱼SF S科.然后详细讨论了SFO算法和数学模型。在第i次迭代时,SFO的伪代码总结在表1中。X其中X和XX精英SF老SPD1-ð3ÞH. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010773Fig. 1. 在解2.2. GPU计算近年来,图形处理单元已经被用于高度并行计算,并且与基于CPU的架构相比,已经这种现代硬件已成功地在各种领域实现,如图像处理[26],数据挖掘[27],神经网络计算[28],数据压缩[29],游戏引擎[30]等。此外,GPU计算在执行涉及数据传输和常规计算的同步并行算法方面是有效的。然而,为了从这些优点中获益,提供了更复杂的程序来解决具有高运算强度和加速架构的问题2.3. CUDA架构CUDA是由Nvidia开发的多线程编程模型和并行计算平台[31]。CUDA架构-表1SFO算法的伪代码。初始化旗鱼和沙丁鱼的种群随机初始化参数(A = 4和e¼ 0:001)。计算旗鱼和沙丁鱼的适合度。该架构采用GPU的多核并行处理,并使用C作为解决复杂计算问题的高级编程语言。高质量的解和良好的可扩展性是在CUDA平台上实现加速算法的有效优势。使用这种方法,元启发式算法可以以自然和体面的方式扩展问题。它还可以引导优化与几个控制变量。CUDA体系结构由一系列流多处理器(SM)组成,这些SM能够同时运行内核中的多个块。内核从CPU(命名为主机)调用,并在GPU(命名为设备)上复制,并由一批线程执行。Nvidia架构支持几种类型的内存,程序员可以使用它们在内核中实现高执行速度[32]。最大的内存是全局内存,它的内容对所有启动的内核的所有线程都是可见的。然而,由于高吞吐量和延迟,访问全局存储器需要改进。因此,全局内存通常用于将数据从一个内核移动到另一个内核。另一种类型内存的最大值是常量内存,它是一个全局内存,带有一个特殊的高速缓存,用于有效访问。它通常用于向核函数提供输入值。此外,寄存器和共享存储器是GPU上的片上存储器,它们的变量可以非常快速和并行地访问。为了保存频繁访问的变量,内核将使用寄存器内存,并且该内存的内容对于每个线程都是私有的。然而,共享内存被分配给块内的线程以相互协作,并且共享内存的内容将在内核终止后被删除。 GPU内存层次结构如图所示。 二、3. 使用CUDA在这一部分中,加速SFO(即ASFO)的主要部分在ASFO算法中,每一组操作都由一个Agent来完成.然后,代理并行地从其他代理或环境收集信息,并将结果返回给其他代理或环境。输入信息是搜索代理的当前位置和最佳位置的组合,并且该信息将在并行化期间的迭代过程中保存在存储器中更新旗鱼和沙丁鱼位置的实现分别是为了勘探和开发阶段的目的而设计的。的找到最好的旗鱼和沙丁鱼,并假设他们是作为精英旗鱼和受伤的沙丁鱼分别当不满足对于每一条旗鱼,用公式2计算ki使用(1)和(6)更新旗鱼的位置。端使用公式(5)计算攻击力。如果攻击力为0.5,计算a<$NS×AP计算b<$di×AP根据a和b的值选择一组沙丁鱼。根据(4)和(6)更新选定沙丁鱼的位置。其他根据(4)及(6)更新所有沙丁鱼的位置。end if计算所有沙丁鱼的适合度如果有一个更好的解决方案,在沙丁鱼人口取代旗鱼与受伤的沙丁鱼使用(6)。把被猎杀的沙丁鱼从种群中剔除。更新最好的旗鱼和最好的沙丁鱼。结束if结束while返回最佳旗鱼H. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010774···ð×Þ图二. GPU内存模型。ASFO算法是在一个基于CUDA的伪代码与六个核心功能,如流程图中所示的ASFO implementa- tion在图。3.第三章。第 一 个内 核 通 过 使用 CURAND库 在 GPU 上 生 成随 机 数[33] 。CURAND库用于生成旗鱼和沙丁鱼种群的高质量随机数在这个内核中,通过使用k个h线程块,旗鱼和沙丁鱼的图像将在GPU上使用。对于这种初始化,矩阵SF和S已被转换为数组,以实现合并存储器访问。矩阵SF到阵列SFd的转换在图4中示出。在该图中,SF1SFm表示旗鱼的位置,其中m和dim分别表示旗鱼的数量和变量的数量。由于每个块的线程数量有限,我们假设GPU架构中的块大小等于900,并且随机数被分配给线程块中的900个像样的线程。如图4所示,旗鱼和沙丁鱼的每个子群与一个线程块相关联,并且每个维度被映射到不同的线程上。每个块计算成本函数并确定每次迭代中的最佳搜索代理第二个内核生成Mdim= 900个900块线程分别计算旗鱼和沙丁鱼种群的目标函数(dim是函数的维数)。适应度值的计算取决于搜索代理的数量,因此计算时间与搜索代理的规模的人口。此外,在该内核中,通过共享内存计算适应度值。使用共享内存变量的原因是通过全局内存计算适应度值消耗大量时间,降低了优化速度。因此,如图5所示,每个块的信息将被转移到具有相同大小的共享存储器变量,并且每个搜索代理的适应度值将通过另一个共享存储器变量相对于给定维度被保存。当代价函数计算完成后,所有的拟合值将在共享内存中进行冒泡排序。由于排序操作,线程0包含在这个阶段的最佳值,它还负责将结果写入全局内存。在完成这个过程之后,每个块的最佳值将从全局存储器转移到共享存储器,并且当前 最 佳 值 与 第 三 内 核 中 的 先 前 值 进 行 比 较 此 外 , 通 过 使 用 --syncthreads()函数,线程的任务将在共享内存中完成,然后再进行下一次迭代。在这种情况下,没有一个线程会过早地加载它们的内容,并破坏其他线程的输入值。在第三个内核中,ASFO决定更新旗鱼种群的当前最佳值(称为精英旗鱼)和沙丁鱼种群的当前最佳值(称为受伤沙丁鱼),换句话说,所提出的算法将优化过程中发现的高质量解在整个过程中,该内核的线程相应地更新迄今为止获得的最佳值的坐标。在第四内核中,如果所提出的算法观察到任何改进或不显著的改进,则搜索将停滞并且需要通过根据(1)更新帆鱼的位置来多样化。在该内核中,每个块的信息将被复制到共享内存中,以减少访问延迟,提高算法的性能。在第五核中,沙丁鱼的位置根据(4)更新。当需要更密集的搜索时,这些代理与旗鱼代理合作沙丁鱼的位置被分配给块的线程之后,为了更新sardi- nes的位置,块的信息转移到共享存储器,由于在共享存储器中的高计算速度而减少耗时。在最后一个内核中,每个搜索代理决定它是否需要用当前旗鱼的位置替换受伤沙丁鱼的最新位置,或者它可以在没有信息交换的情况下继续它的过程。如果受伤沙丁鱼的适合度值比图3.第三章。ASFO在CUDA上的实现流程图(SF是旗鱼,S是沙丁鱼)。H. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010775见图4。 将旗鱼的种群转换为数组SFd,并将随机数分配给线程。图五. 将块的信息传递到共享内存变量中,以计算代价函数。H. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010776i¼1i凸的、可伸缩的、可分离的1/1我凸的、可伸缩的、可分离的4000i¼1i1/1pi非凸、可缩放、不可分离41/1þ我非凸、可缩放、不可分离精英旗鱼,它们的位置将根据(6)一起替换,并且受伤的沙丁鱼的位置将从它们的种群中移除(这意味着受伤的沙丁鱼被精英旗鱼猎杀4. 实验结果及分析本节介绍了使用顺序和加速SFO算法获得的实验结果。的结果进行了比较与其他以前的并行元启发式算法的两个性能指标,包括加速比和质量。这些措施是评估四个经典的基准标记,通常用于评估并行优化算法,如表2所列。在此表中,F1和F4是单峰函数,由于具有一个全局最优值而没有局部最优值,因此适合于对开发阶段进行基准测试。然而,F2和F3是具有大量局部最优值的多峰函数,并且适合于对探索阶段进行基准测试。一个成功的元启发式算法应该有很大的能力,提供一个给定的优化探索和开发阶段问题。顺序SFO和加速SFO(ASFO)使用相同数量的搜索代理和维度执行,以进行公平比较。此外,我们的测试是使用英特尔(R)核心i7(TM)与8 GB内存和英伟达GeForce GTX 980 GPU。为了编译加速版本,使用Visual Studio Community Edition 2017和CUDA10.2 , 为 了 编 译 顺 序 版 本 , 使 用 MATLAB 2019 操 作 系 统 为Windows 8 Pro- fessional SP1。每个实验运行20次后报告平均结果如前所述,解的质量是衡量加速算法性能的最重要问题之一。实验结果表明,ASFO算法并没有为了提高速度而牺牲解的质量。表3.给出了CPU和GPU版本的SFO算法的解决方案的质量比较。从表中可以看出,ASFO算法对所有测试问题(单峰和多峰函数)的最优点的质量进行评估,类似于顺序版本事实上,这些结果表明,ASFO已仔细探讨在优化过程中。ASFO算法利用CURAND库产生随机数,提高了搜索空间的探索性,提高了解的质量此外,在图6中,正如我们所预期的那样,当种群大小增加时,ASFO在搜索最优点方面更成功,特别是在高维数(大于32)的情况下。种群规模对寻找全局最优解有显著影响,问题维数的增加会影响GPU架构用于算法的顺序和加速版本之间的压缩的另一个度量是执行时间。执行时间取决于运算符的数量和函数的类型表3比较SFO和ASFO算法对四个基准函数的优化结果。功能SFO ASFOF1和F2平均标准品平均标准品10- 13× 6.5510- 12× 1.1110- 11× 6.4910- 10× 2.3410- 14× 7.110- 14× 4.2110- 11× 6.110- 11× 5.21F3F4是说STD平均标准品10- 14× 2.3110- 14× 6.4610- 7× 3.8610- 7× 5.3810- 14× 5.6510- 13× 3.3410- 6× 1.4210- 6× 4.04在测试函数中使用。在图7中,的基准函数的迭代次数和维数固定。如该图所示,在诸如30、50或100个搜索代理的搜索代理的低人口规模中,顺序SFO和加速SFO的执行时间之间没有显著差异。换句话说,时间消耗曲线的斜率在较低的群体中非常陡峭,但随着群体大小的增加而逐渐减小事实上,GPU并没有在一小部分数据中显示出非凡的性能。然而,ASFO的执行时间变得小于CPU版本的SFO时,群体人口规模的增加。这种改进的原因是,在所提出的算法中的单个指令的工作在一个大的数据块,所有的人都在同一个操作应用当然,同时在数据块中工作减少了优化过程中的时间消耗和开销如图所示。 7、ASFO算法已经能够评估具有高种群规模(1000到8000)的测试问题。这种能力是可能的,通过使用共享内存配置,该算法可以将复杂的问题分解成更简单,更小的问题,由各种代理操作换句话说,时间消耗曲线的斜率在较低的群体中非常陡峭,但随着群体大小的增加而逐渐减小事实上,GPU并没有在一小部分数据中显示出非凡的性能。然而,ASFO的执行时间变得小于CPU版本的SFO时,群体人口规模的增加。这种改进的原因是,在所提出的算法中的单个指令的工作在一个大的数据块,所有的人都在同一个操作应用当然,同时在数据块中工作减少了优化过程中的时间消耗和开销如图所示。 7、ASFO算法已经能够评估具有高种群规模(1000到8000)的测试问题。这种能力是可能的,通过使用共享内存配置,该算法可以将复杂的问题分解成更简单,更小的问题,由各种代理操作表2基准测试功能名称功能特性范围最佳单峰球面f1Pnx2连续【-100,100】0RastriginF2 双氯芬酸Pn½x2-10cos2pxi10]连续[-5.12,5.12] 0多模式GriewankF3300x3001个Pnx2-Qncos.xi连续[-600,600] 0罗森布罗克f-10小时10分。xi1-x22xi-12i连续[-30,30] 0H. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010777见图6。适合度随种群大小的变化。见图7。分布式和顺序SFO实现的执行时间(迭代= 500,维度= 30)。我们进行了另一组模拟,以评估ASFO与几种并行元启发式算法(如并行GSA算法[9]、GPU_sync和GPU_SPSO算法[34]以及cudaDE1和FPDE算法)[35]具有不同的维数和人口规模。图图8是在Ras上跨不同群体大小的ASFO和PGSA实现的计算时间(秒)的比较。不同维度的触发函数(64,128和256)。由于每个块的线程数量的限制,共享内存和全局内存之间的数据传输将增加,特别是随着问题的维度增加,因此它将增加优化期间消耗的时间然而,如图所示。8,在相同迭代次数下,ASFO算法的执行时间小于并行GSA算法,说明ASFO算法H. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010778图8.第八条。分布式SFO(ASFO)和并行GSA(PGSA)在Rastrigin函数上的比较根据表2,在单峰和可扩展功能方面非常有效。图9所示的另一个比较是ASFO算法与其他两种算法之间的比较,即GPU_sync和GPU_SPSO算法,它们是SPSO算法的并行版本。从图9,很明显,ASFO算法比其他算法花费更少的执行时间。此外,这一评估表明,ASFO算法有很大的能力,解决计算算术密集型功能,如罗森布罗克函数在短时间内此外,图10显示ASFO与作为DE算法的并行版本的cudaDE1和FPDE非常具有竞争力。从该图中可以看出,ASFO算法可以快速收敛到单峰和多峰函数的最优值,例如球面(F1)、Rastrigin(F2)、Griewank(F3)、Rosenbrock(F4)函数。这些结果表明,ASFO算法适用于连续、非凸、可扩展和不可分离的优化问题。这些类型的问题是见图9。Rosenbrock函数的ASFO算法与其它两种算法的比较。图10个。ASFO算法与其他两种算法在四个基准函数上的比较不太容易求解和优化,因为它们有多个局部最优点,并且需要花费大量时间来找到全局最优值或陷入局部最优值。另外,这些函数中的一些不能分成子目标函数,这将使得在优化期间求解函数更加困难。测试问题的另一个属性是可伸缩性。当搜索空间的维度增加时,这种能力反应良好[36]。在前面的评价中,对几个多维可扩展测试函数进行了评价,结果表明ASFO算法对可扩展问题也具有很强的优化能力。实验结果表明,ASFO算法的性能优于其他算法,且优化时间更短.这种加速比的提高有望以更高的速度解决无约束优化问题。为了更好地理解我们提出的加速方法,我们可以与一些最新的GPU加速方法进行理论比较例如,多核SIMD CPU上的并行蚁群优化[37]和GPU上基于动态策略的并行蚁群优化用于旅行商问题(TSP)[38]。这些论文介绍了两种新的优化方法。第一个是轮盘选择的可以使用并行前缀和和并行搜索方法来并行化轮盘轮他们使用一种名为Tiling Roulette的方法优化了这个过程,该方法具有一些优点,包括生成的随机数更少,内存局部性更好,扫描计算更少。第二种是针对GPU的Tour构造算法。该算法称为面向SIM_D的旅游构造算法,它是基于蚂蚁在TSP问题中以同样的方式分别基于这种方法,作者提出了一种新的GPU策略,称为ST-DYNAMIC,它动态地改变工作组的大小为每次移动的蚂蚁。与具有相同解决方案质量的CPU相比,作者获得了44倍的加速因子。基于GPU的并行禁忌搜索算法(GPTS)是用于硬件/软件协同设计的另一个例子[39]。在该算法中,提出了一种核融合策略,以减少GPU的全局内存访问量。同时,为了最大限度地减少GPTS在CPU和GPU之间的传输开销,提出了一种基于GPU的禁忌计算优化传输策略,该策略考虑了所有候选项不满足给定约束的情况.该方法首先将每个候选项逻辑映射到一个GPU线程上,以增量评估的方式计算硬件开销、软件开销和通信开销,并检查其是否受特定约束。其次,可行候选保留基于GPU的压缩邻域。最后,通过禁忌评价选择出最优候选,并传送回主机端。在本工作中,禁忌状态表将被存储在主机端。在此基础上,提出了一种传输优化策略,以进一步解决传输开销问题结果表明该方法H. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)1010779表4表2的四个适应度函数的ASFO算法的CPU、GPU和FPGA实现的定时结果。FPGA实现Time_GPU(s)Time_CPU(s)人口规模functionNameTime_FPGA(s)周期0.0193,846,2120.180.3830球体0.0295,840,7430.230.64500.05511,000,6710.401.281000.10721,432,6840.692.552000.25751,359,9161.586.385000.34568,913,2642.199.027000.47194,253,7703.1012.8210000.913182,650,4126.0925.8220000.0234,537,6700.190.4030Rosenbrock0.0367,146,9610.260.73500.07514,921,8090.421.641000.13627,289,0140.773.572000.31963,712,6731.809.115000.43687,162,8342.5312.877000.601120,250,4793.6118.4010001.157231,484,7107.1237.1620000.0295,841,8300.260.4330拉斯特里金0.0459,093,1420.380.73500.08116,231,7790.681.451000.14929,897,5471.162.942000.34869,553,8412.627.285000.47194,257,2063.6710.197000.660131,951,9305.1814.5210001.236247,155,28110.1929.3220000.0459,085,5080.270.6030格里万克0.07114,292,0290.381.00500.12725,334,4680.672.001000.21142,241,7291.134.022000.523104,651,0632.5910.205000.705141,050,9473.6314.307000.998199,551,5925.1120.4210001.833366,603,86110.0640.762000图十一岁 表2的四个基准函数的ASFO的CPU、GPU和FPGA实现的时间比较。H. Reza Naji,S.Shadravan,H.Mousa Jafarabadi等人工程科学与技术,国际期刊32(2022)10107710提高了基于GPU的禁忌搜索算法在软硬件协同设计中的效率。我们可以将ASFO算法应用于几个现实世界和工程示例应用。这里我们举几个例子。第一个是云计算,我们在云中有一些资源,一些用户或进程想要访问这些资源。如果我们想找到用户/进程和资源之间的最佳映射,那么ASFO可以帮助将资源视为沙丁鱼,将用户/进程视为旗鱼。实际上,在将云资源分配给云用户/进程时,每个用户/进程都希望为自己寻找最好和最多的资源,以更快和更高的性能完成其工作另一个例子是在电子商务中使用ASFO,我们有一些商品或服务,一些客户想要购买商品或使用服务。在这里,我们可以使用ASFO将最合适的商品或服务分配给客户,因此我们将商品/服务视为沙丁鱼,将客户视为旗鱼。因此,正如ASFO算法中的旗鱼试图猎杀沙丁鱼一样,电子商务中的客户试图为自己寻找最好的商品/服务。为了展示ASFO的工程应用实例,我们使用现场可编程门阵列(FPGA)平台提供了一个有效和灵活的平台,以加快优化过程。我们在Xilinx Vertix 7(xc7v2000t)FPGA上实现了ASFO算法,证明了我们既可以实现该算法的硬件版本,又可以通过硬件实现来提高算法的速度我们已经在FPGA上实现了表2中的四个基准函数 表4和图 11显示了这种实现的结果以及CPU、GPU和FPGA的比较。本节介绍了使用软件和硬件SFO算法在执行时间和速度方面获得表4示出了针对不同适应度函数的SFO算法的CPU、GPU和FPGA实现的执行时间。由于SFO算法的硬件设计结构比软件设计结构执行速度更快,因此使用所提出的FPGA SFO算法可以快速减少找到最优解所需的执行时间。此外,如图11所示,结果表明,随着人口的增加,FPGA与GPU和CPU的时间差增加。这意味着FPGA实现对于解决大规模优化问题是高效的。5. 结论提出了一种基于CUDA架构的图形处理器实现的加速SFO算法(ASFO)ASFO的实际意义建议多内核解决方案,每个维度被映射到不同的线程上,并采用块来保存搜索的位置。该策略在优化过程中通过搜索代理来分配计算量,以它利用所有可用的SM,并通过在不同内核之间使用数据共享存储器来减少全局存储器访问同时,在多个基准函数上测试了基于FPGA的SFO算法实验结果表明,ASFO算法的执行时间比原来的顺序SFO算法和其他并行元启发式算法的执行时间缩短,而优化质量相同甚至更好。我们未来的工作将提出评估ASFO算法的性能方面的多目标和现实世界的优化问题。竞争利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作。引用[1] 肯尼迪河Eberhart,粒子群优化(PSO)。进行中IEEE神经网络国际会议,珀斯,澳大利亚(1995年),1942- 1948年。[2] S. Mirjalili , A.H. Gandomi , S.Z. Mirjalili , S. Saremi , H. Faris , S.M.Mirjalili , SalpSwarm Algorithm : A bio-inspired optimizer for engineeringdesign problems,Adv. Eng. Softw. 114(2017)163-191。[3] V. Hayyolalam,K. Pourhaji,黑寡妇优化算法:一种新的元启发式方法解决工程优化问题,工程。应用人工制品内特尔87(2020)103249。[4] F. 郭文贵,《禁忌搜索-第一部分》,计算机科学杂志,第1卷,第3期,1989年,第190-206页。[5] S.J. Mousavirad , H. Ebrahimpour-Komleh , Humanmental search : anewpopulationbasedmetahuristicoptimizationalgorithm,AppliedIntelligence47(3)(2017)850-887。[6] M.S. 卡 蒂 比 河 谷 Bardsiri, Poor and Rich Optimization Algorithm : A NewHuman-Based and Multi Populations Algorithm,Eng. Appl. Artif 内特尔 86(2019)65-181.[7] S.柯克帕特里克角陈文辉,模拟退火算法,国立成功大学机械工程研究所硕士论文,2000。[8] S. Mirjalili , S.M. Mirjalili , A. Hatamlou , Multi-Verse Optimizer : anature-inspired algorithm for global optimization,Neural Comput. Appl. 27(2)(2016)495-513。[9] F.A. Hashim ,E.H. Houssein,M.S. Mabrouk,W. Al-Atabany,S. Mirjalili,Henry气体溶解度优化:一种基于物理的新算法,未来一代计算机系统101(2019)646-667。[10] J.H. 霍兰德,遗传算法。 SciAm 267(1992)66-72.[11] D.达斯古普塔Zbigniew,Evolutionary Algorithms inEngineeringApplications,Springer Science& Business Media,2013。[12] S. 伊 克 巴 尔 山 Hoque , HGRGA : Ascalablegenetic algorithmusinghomologousgene schema replacement,Swarm Evol. Comput. 34(2017)33-49.[13] E.菲卡雷拉湖Lamberti,S.O.张文,结构优化问题的三种新混合启发式算法的 比较 。结构1(244)(2021)106395。[14] I. Boussaïd,J. Lepagnot,P. Siarry,A survey on optimization metabolistics,Inf. Sci. 237(2013)82-117。[15] M.埃萨伊德湖Idoumghar,J. Lepagnot,M. Brévilliers,GPU并行化策略的元计算:一项调查,国际J并行紧急分布。 系统34(5)(2019)497-522。[16] H.R. Parry,基于Agent的建模,大规模仿真。复杂的社会和行为系统:博弈论和基于代理的模型。(2020)913- 26.[17] H.R. Naji,M. Sohrabi,E. Rashedi,基于引力方法的高速性能优化算法,Comput.Sci. Eng.14(5)(2012)56-62。[18] P. Krömer , J.Platoirs , V. Snášel , Nature-inspired Meta-Aesthetics onModernGPU : State of the Art and brief survey of selected algorithms ,IntJParallelProgram 42(5)(2014)681[19] E.阿尔巴湾卢克河,西-地Nesmachnow,并行元分析:最新进展和新趋势,国际跨操作研究20(1)(2013)1-48。[20] G.H. Luo 等 人 , A parallel bee algorithm implementation on GPU , J. ofSystemArchitecture 60(2013)271-279.[21] The'VanLuon
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)