Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

IAFCO: an intelligent agent-based framework for combinatorial optimization

Published: 08 January 2024 Publication History

Abstract

Solving combinatorial optimization problems (COPs) poses a significant challenge in various application domains. The NP-hardness of many COPs necessitates the integration of meta-heuristics to effectively tackle these problems by leveraging the strengths of each meta-heuristic. However, hybrid meta-heuristics lack a mechanism to determine when to activate specific techniques during the search process. To address these limitations and enhance the overall generality, this study proposes a novel agent-based hyper-heuristic framework, referred to as IAFCO, for solving COPs. The proposed framework imbues the search strategy with greater intelligence and information, resulting in improved performance. The proposed framework comprises 4 coalitions that leverage different search perspectives to enhance the search process: a global coalition, a local coalition, a learning coalition, and a perturbation coalition. Additionally, a control agent is introduced to coordinate the coalitions. Using a reinforcement learning mechanism, the control agent autonomously selects the most suitable coalition of agents based on the search state. The set of states employed in this study is problem-independent and encompasses all possible states that may arise during the search process. Furthermore, some agents adopt chaotic numbers instead of random numbers to maintain diversity. To showcase the effectiveness of the proposed framework, its performance is evaluated on the software modularization problem (SMP) -also known as software clustering- and community detection problem (CDP) in complex networks as 2 case studies. The experiments on SMP's software systems, including 10 applications and 10 folders of Mozilla Firefox, and comparison with 21 modularization algorithms and experiments on CDP's networks, including 9 real-world networks, and comparison with 22 state-of-the-art community detection algorithms, indicate that the proposed framework is comparable to other existing methods. The source codes and datasets of this paper are available at https://github.com/mahjoubeh-t/IAFCO.

References

[1]
Aghdasifam M, Izadkhah H, and Isazadeh A A new metaheuristic-based hierarchical clustering algorithm for software modularization Complexity 2020 2020 1-25
[2]
Ahmed BS, Enoiu E, Afzal W, and Zamli KZ An evaluation of Monte Carlo-based hyper-heuristic for interaction testing of industrial embedded software applications Soft Comput 2020 24 18 13929-13954
[3]
Akbari H Exploratory social-spatial network analysis of global migration structure Social Netw 2021 64 181-193
[4]
Akbari M, Izadkhah H (2019) Hybrid of genetic algorithm and krill herd for software clustering problem. In: 2019 5th conference on knowledge based engineering and innovation (KBEI), pp 565–570.
[5]
Amarjeet and Chhabra JK Many-objective artificial bee colony algorithm for large-scale software module clustering problem Soft Comput 2018 22 19 6341-6361
[6]
Asta S Machine learning for improving heuristic optimisation 2015 Princeton Citeseer
[7]
Aydin ME Coordinating metaheuristic agents with swarm intelligence J Intell Manuf 2012 23 4 991-999
[8]
Aydin ME Agentification of individuals: a multi-agent approach to metaheuristics J Comput Sci Syst Biol 2013 6 e105
[9]
Barbucha D, Czarnowski I, Jȩdrzejowicz P, Ratajczak-Ropel E, and Wierzbowska I JABAT middleware as a tool for solving optimization problems Transactions on computational collective intelligence ii. Lecture notes in computer science (Including subseries lecture notes in artificial intelligence and lecture notes in bioinformatics), 6450 LNCS 2010 Cham Springer 181-195
[10]
Bellifemine FL, Caire G, and Greenwood D Developing multi-agent systems with JADE 2007 New York Wiley
[11]
Burke EK, Gendreau M, Hyde M, Kendall G, Ochoa G, Özcan E, and Qu R Hyper-heuristics: a survey of the state of the art J Oper Res Soc 2013 64 12 1695-1724
[12]
Cetnarowicz K, Kisiel-Dorohinicki M, Nawarecki E (1996) The application of evolution process in multi-agent world to the prediction system
[13]
Chhabra JK et al. Harmony search based remodularization for object-oriented software systems Comput Lang Syst Struct 2017 47 153-169
[14]
Choong SS, Wong L-P, and Lim CP Automatic design of hyper-heuristic based on reinforcement learning Inf Sci 2018 436 89-107
[15]
Coello CAC, Lechuga MS (2002) MOPSO: a proposal for multiple objective particle swarm optimization. In: Proceedings of the 2002 congress on evolutionary computation. CEC’02 (Cat. No. 02TH8600), vol 2, pp 1051–1056
[16]
Crainic TG, Nguyen AT, Gendreau M (1997) Cooperative multi-thread parallel tabu search with evolutionary adaptive memory. In: 2nd international conference Metaheuristics, Sophia Antipolis, France
[17]
Fernandes FC, de Souza SR, Silva MAL, Borges HE, Ribeiro FF (2009) A multiagent architecture for solving combinatorial optimization problems through metaheuristics. In: 2009 IEEE international conference on systems, man and cybernetics, pp 3071–3076.
[18]
Garcia J, Ivkovic I, Medvidovic N (2013) A comparative analysis of software architecture recovery techniques. In: 2013 28th IEEE/ACM international conference on automated software engineering (ASE), pp 486–496.
[19]
Gog A, Dumitrescu D, Hirsbrunner B (2007) Community detection in complex networks using collaborative evolutionary algorithms. In: Advances in artificial life: 9th European conference, ECAL 2007, Lisbon, Portugal, September 10–14, 2007. Proceedings, vol 9, pp 886–894
[20]
Gong M, Ma L, Zhang Q, and Jiao L Community detection in networks by using multiobjective evolutionary algorithm with decomposition Phys A 2012 391 15 4050-4060
[21]
Guo Y, Goncalves G, and Hsu T A multi-agent based self-adaptive genetic algorithm for the long-term car pooling problem J Math Model Algorithms 2013 12 1 45-66
[22]
Hansen P, Mladenović N, and Perez-Britos D Variable neighborhood decomposition search J Heuristics 2001 7 4 335-350
[23]
Harman M and Yao X Software module clustering as a multi-objective search problem IEEE Trans Softw Eng 2010 37 2 264-282
[24]
Hassan A, Pillay N (2018) An improved meta-genetic algorithm for hybridizing metaheuristics. In: 2018 IEEE congress on evolutionary computation (CEC), pp 1–8
[25]
Hassan A and Pillay N Hybrid metaheuristics: an automated approach Expert Syst Appl 2019 130 132-144
[26]
Huang J and Liu J A similarity-based modularization quality measure for software module clustering problems Inf Sci 2016 342 96-110
[27]
Hussain I, Khanum A, Abbasi AQ, and Javed MY A novel approach for software architecture recovery using particle swarm optimization Int Arab J Inf Technol 2015 12 1 32-41
[28]
Isazadeh A, Izadkhah H, and Elgedawy I Source code modularization theory and techniques 2017 Cham Springer
[29]
Izadkhah H, Elgedawy I, and Isazadeh A E-CDGM: an evolutionary call-dependency graph modularization approach for software systems Cybern Inf Technol 2016
[30]
Izadkhah H and Tajgardan M Information theoretic objective function for genetic software clustering Proceedings 2020
[31]
Ju Y, Zhang S, Ding N, Zeng X, and Zhang X Complex network clustering by a multi-objective evolutionary algorithm based on decomposition and membrane structure Sci Rep 2016 6 1 33870
[32]
Kargar M, Isazadeh A, Izadkhah H (2017) Semantic-based software clustering using hill climbing. In: 2017 international symposium on computer science and software engineering conference (CSSE), pp 55–60
[33]
Kargar M, Isazadeh A, and Izadkhah H Improving the modularization quality of heterogeneous multi-programming software systems by unifying structural and semantic concepts J Supercomput 2020 76 1 87-121
[34]
Karimi-Mamaghan M, Mohammadi M, Meyer P, Karimi-Mamaghan AM, and Talbi EG Machine learning at the service of meta-heuristics for solving combinatorial optimization problems: a state-of-the-art Eur J Oper Res 2022 296 2 393-422
[35]
Karimi F, Lotfi S, and Izadkhah H Multiplex community detection in complex networks using an evolutionary approach Expert Syst Appl 2020 146 113184
[36]
Kerçelli L, Sezer A, Öztoprak F, Birbil SI, Yolum P (2008) MANGO: a multiagent environment for global optimization. In: Proceedings of the 7th conference on autonomous and multi-agent systems
[37]
Kong X, Li B, Wang L, and Wu W Directory-based dependency processing for software architecture recovery IEEE Access 2018 6 52321-52335
[38]
Krzywicki D, Turek W, Byrski A, and Kisiel-Dorohinicki M Massively concurrent agent-based evolutionary computing J Comput Sci 2015 11 153-162
[39]
Li S, Chen Y, Du H, and Feldman MW A genetic algorithm with local search strategy for improved detection of community structure Complexity 2010 15 4 53-60
[40]
Li Y, Liu G, and Lao S A genetic algorithm for community detection in complex networks J Cent South Univ 2013 20 1269-1276
[41]
Li Z and Liu J A multi-agent genetic algorithm for community detection in complex networks Phys A 2016 449 336-347
[42]
Liu J, Sycara K (1994) Distributed problem solving through coordination in a society of agents. In: Proceedings of the 13th international workshop on distributed artificial intelligence
[43]
Lopes Silva MA, de Souza SR, Freitas Souza MJ, and de França Filho MF Hybrid metaheuristics and multi-agent systems for solving optimization problems: a review of frameworks and a comparative analysis Appl Soft Comput J 2018 71 433-459
[44]
Lotfi N and Acan A Onieva E, Santos I, Osaba E, Quintián H, and Corchado E Learning-based multi-agent system for solving combinatorial optimization problems: a new architecture BT Hybrid artificial intelligent systems 2015 Cham Springer 319-332
[45]
Luo M and Xu Y Community detection via network node vector label propagation Phys A 2022 593 126931
[46]
Lutellier T, Chollak D, Garcia J, Tan L, Rayside D, Medvidovic N, Kroeger R (2015) Comparing software architecture recovery techniques using accurate dependencies. In: 2015 IEEE/ACM 37th IEEE international conference on software engineering, vol 2, pp 69–78.
[47]
Lutellier T, Chollak D, Garcia J, Tan L, Rayside D, Medvidović N, and Kroeger R Measuring the impact of code dependencies on software architecture recovery techniques IEEE Trans Softw Eng 2018 44 2 159-181
[48]
Malek R (2009) Collaboration of metaheuristic algorithms through a multi-agent system. International conference on industrial applications of holonic and multi-agent systems, pp 72–81
[49]
Malek R (2010) An agent-based hyper-heuristic approach to combinatorial optimization problems. In: 2010 IEEE international conference on intelligent computing and intelligent systems, vol 3, pp 428–434
[50]
Maqbool O and Babri H Hierarchical clustering for software architecture recovery In IEEE Trans Softw Eng 2007
[51]
Martin S, Ouelhadj D, Beullens P, Ozcan E, Juan AA, and Burke EK A multi-agent based cooperative approach to scheduling and routing Eur J Oper Res 2016 254 1 169-178
[52]
Meignan D, Créput J-C, Koukam A (2008) An organizational view of metaheuristics. In: 1st international workshop on optimisation in multi-agent systems, AAMAS, vol 8, pp 77–85
[53]
Meignan D, Koukam A, and Créput J-C Coalition-based metaheuristic: a self-adaptive metaheuristic using reinforcement learning and mimetism J Heuristics 2010 16 6 859-879
[54]
Milano M and Roli A MAGMA: a multiagent architecture for metaheuristics IEEE Trans Syst Man Cybern Part B (Cybernetics) 2004 34 2 925-941
[55]
Mitchell BS A heuristic search approach to solving the software clustering problem 2002 Philadelphia Drexel University
[56]
Mitchell BS and Mancoridis S On the automatic modularization of software systems using the bunch tool IEEE Trans Softw Eng 2006
[57]
Mitchell BS and Mancoridis S On the evaluation of the bunch search-based software modularization algorithm Soft Comput 2008 12 1 77-93
[58]
Mohammadi S and Izadkhah H A new algorithm for software clustering considering the knowledge of dependency between artifacts in the source code Inf Softw Technol 2019 105 252-256
[59]
Newman MEJ Fast algorithm for detecting community structure in networks Phys Rev E 2004 69 6 66133
[60]
Newman MEJ and Girvan M Finding and evaluating community structure in networks Phys Rev E 2004 69 2 26113
[61]
Özcan E, Misir M, Ochoa G, and Burke EK A reinforcement learning: great-deluge hyper-heuristic for examination timetabling Modeling, analysis, and applications in metaheuristic computing: advancements and trends 2012 Hershey IGI Global 34-55
[62]
Öztemiz F and Karcı A KO: modularity optimization in community detection Neural Comput Appl 2023 35 1-15
[63]
Parsa S and Bushehrian O A new encoding scheme and a framework to investigate genetic clustering algorithms J Res Pract Inf Technol 2005 37 1 127-143
[64]
Pizzuti C (2008) Ga-net: a genetic algorithm for community detection in social networks. In: International conference on parallel problem solving from nature, pp 1081–1090
[65]
Pourasghar B, Izadkhah H, Isazadeh A, and Lotfi S A graph-based clustering algorithm for software systems modularization Inf Softw Technol 2021 133 106469
[66]
Sabar NR, Ayob M, Kendall G, and Qu R Automatic design of a hyper-heuristic framework with gene expression programming for combinatorial optimization problems IEEE Trans Evol Comput 2014 19 3 309-325
[67]
Sadat Jalali N, Izadkhah H, and Lotfi S Multi-objective search-based software modularization: structural and non-structural features Soft Comput 2019 23 21 11141-11165
[68]
Saeed M, Maqbool O, Babri HA, Hassan SZ, Sarwar SM (2003) Software clustering techniques and the use of combined algorithm. In: 7th European conference on software maintenance and reengineering, 2003. Proceedings, pp 301–306.
[69]
Said A, Abbasi RA, Maqbool O, Daud A, and Aljohani NR CC-GA: A clustering coefficient based genetic algorithm for detecting communities in social networks Appl Soft Comput 2018 63 59-70
[70]
Sghir I A multi-agent based optimization method for combinatorial optimization problems 2016 Angers Université d’Angers
[71]
Sghir I, Hao J-K, Ben Jaafar I, and Ghédira K Bonnevay S, Legrand P, Monmarché N, Lutton E, and Schoenauer M A Distributed hybrid algorithm for the graph coloring problem BT Artificial evolution 2016 Cham Springer 205-218
[72]
Sghir I, Hao J-K, Jaafar IB, and Ghédira K A multi-agent based optimization method applied to the quadratic assignment problem Expert Syst Appl 2015 42 23 9252-9262
[73]
Sghir I, Jaafar I. Ben, and Ghédira K A multi-agent based hyper-heuristic algorithm for the winner determination problem Procedia Comput Sci 2017 112 117-126
[74]
Sghir I, Jaafar I. Ben, and Ghédira K A multi-agent based optimization method for combinatorial optimization problems Int J Artif Intell Tools 2018 27 5 1850021
[75]
Shi C, Wang Y, Wu B, Zhong C (2009) A new genetic algorithm for community detection. In: Complex sciences: first international conference, complex 2009, Shanghai, China, February 23-25, 2009, Revised Papers, Part 2, vol 1, pp 1298–1309
[76]
Shi C, Yan Z, Cai Y, and Wu B Multi-objective community detection in complex networks Appl Soft Comput 2012 12 2 850-859
[77]
Silva MAL, de Souza SR, Souza MJF, and Bazzan ALC A reinforcement learning-based multi-agent framework applied for solving routing and scheduling problems Expert Syst Appl 2019 131 148-171
[78]
Silva MAL, de Souza SR, Souza MJF, and de Franca Filho MF Hybrid metaheuristics and multi-agent systems for solving optimization problems: a review of frameworks and a comparative analysis Appl Soft Comput 2018 71 433-459
[79]
Stone P and Veloso M Multiagent systems: a survey from a machine learning perspective Auton Robot 2000 8 3 345-383
[80]
Tajgardan M and Izadkhah H Software systems clustering using estimation of distribution approach JACSM 2016 8 2 99-133
[81]
Tajgardan M, Izadkhah H, Lotfi S (2022) A reinforcement learning-based iterated local search for software modularization. In: 2022 8th Iranian conference on signal processing and intelligent systems (ICSPIS), pp 1–6
[82]
Talbi E-G Metaheuristics: from design to implementation 2009 New York Wiley
[83]
Talbi E-G and Bachelet V COSEARCH: a parallel cooperative metaheuristic J Math Model Algorithms 2006 5 1 5-22
[84]
Talukdar S, Baerentzen L, Gove A, and De Souza P Asynchronous teams: cooperation schemes for autonomous agents J Heuristics 1998 4 4 295-321
[85]
Tasgin M, Bingol H (2006) Community detection in complex networks using genetic algorithm. ArXiv Preprint Cond-Mat/0604419
[86]
Teymourian N, Izadkhah H, and Isazadeh A A fast clustering algorithm for modularization of large-scale software systems IEEE Trans Softw Eng 2022 48 4 1451-1462
[87]
Tzerpos V, Holt RC (2000) Accd: an algorithm for comprehension-driven clustering. In: Proceedings 7th working conference on reverse engineering, pp 258–267
[88]
Xie J, Szymanski BK, Liu X (2011) Slpa: uncovering overlapping communities in social networks via a speaker-listener interaction dynamic process. In: 2011 IEEE 11th international conference on data mining workshops, pp 344–349
[89]
Yuan Q and Liu B Community detection via an efficient nonconvex optimization approach based on modularity Comput Stat Data Anal 2021 157 107163
[90]
Zarei B, Meybodi MR, and Masoumi B Chaotic memetic algorithm and its application for detecting community structure in complex networks Chaos Interdiscip J Nonlinear Sci 2020 30 1 13125
[91]
Zarei M and Samani KA Eigenvectors of network complement reveal community structure more accurately Physica A 2009 388 8 1721-1730
[92]
Zhang Q and Li H MOEA/D: a multiobjective evolutionary algorithm based on decomposition IEEE Trans Evol Comput 2007 11 6 712-731
[93]
Zheng Y, Xu X, Chen S, Wang W (2012) Distributed agent based cooperative differential evolution: A master-slave model. In: 2012 IEEE 2nd international conference on cloud computing and intelligence systems, vol 01, pp 376–380.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image The Journal of Supercomputing
The Journal of Supercomputing  Volume 80, Issue 8
May 2024
1648 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 08 January 2024
Accepted: 30 November 2023

Author Tags

  1. Combinatorial optimization
  2. Hybrid meta-heuristics
  3. Agent-based framework
  4. Hyper-heuristic
  5. Search perspectives
  6. Reinforcement learning
  7. Software modularization problem (Software clustering)
  8. Community detection problem

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Oct 2024

Other Metrics

Citations

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media