A tool for creating parallel swarm algorithms automatically on multi-core computers

João Pedro Augusto Costa, O. Cortes
{"title":"A tool for creating parallel swarm algorithms automatically on multi-core computers","authors":"João Pedro Augusto Costa, O. Cortes","doi":"10.21528/LNLM-VOL17-NO1-ART4","DOIUrl":null,"url":null,"abstract":"Meta-heuristics are usually bio-inspired algorithms (based on genes or social behaviors) that are used for solving optimization problems in a variety of fields and applications. The basic principle of a meta-heuristic, such as genetic algorithms, differential evolutions, particle swarm optimization, etc., is to simulate the pressure that the environment applies to individuals resulting in the survival of the best ones. Regardless of which meta-heuristic is being used, the more complex the problem, the more time consuming the algorithm. In this context, parallel computing represents an attractive way of tackling the necessity for computational power. On the other hand, parallel computing introduces new issues that the programmers have to deal with, such as synchronization and the proper exploration of parallel algorithms/models. To avoid these problems, and at the same time, to provide a fast development of parallel swarm algorithms, this work presents a tool for creating parallel code using Parallel Particle Swarm Optimization (PSO) Algorithms in Java. The generator considers three models of parallelism: master-slaves, island and hierarchical. Experiments in the created code showed that a speedup of 5.3 could be reached in the Island model with 2000 iterations using Griewank’s function. Moreover, using a cost estimation model (COCOMO) we showed that our tool could save from 4.4 to 14.5 person/month on programming effort.","PeriodicalId":386768,"journal":{"name":"Learning and Nonlinear Models","volume":"27 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Learning and Nonlinear Models","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.21528/LNLM-VOL17-NO1-ART4","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Meta-heuristics are usually bio-inspired algorithms (based on genes or social behaviors) that are used for solving optimization problems in a variety of fields and applications. The basic principle of a meta-heuristic, such as genetic algorithms, differential evolutions, particle swarm optimization, etc., is to simulate the pressure that the environment applies to individuals resulting in the survival of the best ones. Regardless of which meta-heuristic is being used, the more complex the problem, the more time consuming the algorithm. In this context, parallel computing represents an attractive way of tackling the necessity for computational power. On the other hand, parallel computing introduces new issues that the programmers have to deal with, such as synchronization and the proper exploration of parallel algorithms/models. To avoid these problems, and at the same time, to provide a fast development of parallel swarm algorithms, this work presents a tool for creating parallel code using Parallel Particle Swarm Optimization (PSO) Algorithms in Java. The generator considers three models of parallelism: master-slaves, island and hierarchical. Experiments in the created code showed that a speedup of 5.3 could be reached in the Island model with 2000 iterations using Griewank’s function. Moreover, using a cost estimation model (COCOMO) we showed that our tool could save from 4.4 to 14.5 person/month on programming effort.
一个在多核计算机上自动创建并行群算法的工具
元启发式通常是生物启发算法(基于基因或社会行为),用于解决各种领域和应用中的优化问题。元启发式的基本原理,如遗传算法、差分进化、粒子群优化等,是模拟环境对个体施加的压力,从而导致最佳个体的生存。无论使用哪种元启发式,问题越复杂,算法消耗的时间就越多。在这种情况下,并行计算代表了解决计算能力需求的一种有吸引力的方式。另一方面,并行计算引入了程序员必须处理的新问题,例如同步和对并行算法/模型的适当探索。为了避免这些问题,同时提供并行群算法的快速发展,本工作提出了一个使用Java中的并行粒子群优化(PSO)算法创建并行代码的工具。该生成器考虑了三种并行模型:主从、孤岛和分层。在创建的代码中的实验表明,使用Griewank的函数,在Island模型中使用2000次迭代可以达到5.3的加速。此外,使用成本估算模型(COCOMO),我们展示了我们的工具可以节省4.4到14.5人/月的编程工作。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信