pythOPT: A problem-solving environment for optimization methods
Krzysztof M Voss
Abstract
Open-access reader
Krzysztof M Voss
Abstract
Open-access reader
Optimization is a process of finding the best solutions to problems based on mathematical \nmodels. There are numerous methods for solving optimization problems, \nand there is no method that is superior for all problems. This study focuses on the \nParticle Swarm Optimization (PSO) family of methods, which is based on the swarm \nbehaviour of biological organisms. These methods are easily adjustable, scalable, and \nhave been proven successful in solving optimization problems. \n \nThis study examines the performance of nine optimization methods on four sets \nof problems. The performance analysis of these methods is based on two performance \nmetrics (the win-draw-loss metric and the performance profiles metric) that are used \nto analyze experimental data. The data are gathered by using each optimization \nmethod in multiple configurations to solve four classes of problems. \n \nA software package pythOPT was created. It is a problem-solving environment \nthat is comprised of a library, a framework, and a system for benchmarking optimization \nmethods. pythOPT includes code that prepares experiments, executes \ncomputations on a distributed system, stores results in a database, analyzes those \nresults, and visualizes analyses. It also includes a framework for building PSO-based \nmethods and a library of benchmark functions used in one of the presented analyses. \n \nUsing pythOPT, the performance of these nine methods is compared in relation \nto three parameters: number of available function evaluations, accuracy of solutions, \nand communication topology. This experiment demonstrates that two methods \n(SPSO and GCPSO) are superior in finding solutions for the tested classes of \nproblems. Finally, by using pythOPT we can recreate this study and produce similar \nones by changing the parameters of an experiment. We can add new methods and \nevaluate their performances, and this helps in developing new optimization methods.
OpenAlex reports 4 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Optimization is a process of finding the best solutions to problems based on mathematical \nmodels. There are numerous methods for solving optimization problems, \nand there is no method that is superior for all problems. This study focuses on the \nParticle Swarm Optimization (PSO) family of methods, which is based on the swarm \nbehaviour of biological organisms. These methods are easily adjustable, scalable, and \nhave been proven successful in solving optimization problems. \n \nThis study examines the performance of nine optimization methods on four sets \nof problems. The performance analysis of these methods is based on two performance \nmetrics (the win-draw-loss metric and the performance profiles metric) that are used \nto analyze experimental data. The data are gathered by using each optimization \nmethod in multiple configurations to solve four classes of problems. \n \nA software package pythOPT was created. It is a problem-solving environment \nthat is comprised of a library, a framework, and a system for benchmarking optimization \nmethods. pythOPT includes code that prepares experiments, executes \ncomputations on a distributed system, stores results in a database, analyzes those \nresults, and visualizes analyses. It also includes a framework for building PSO-based \nmethods and a library of benchmark functions used in one of the presented analyses. \n \nUsing pythOPT, the performance of these nine methods is compared in relation \nto three parameters: number of available function evaluations, accuracy of solutions, \nand communication topology. This experiment demonstrates that two methods \n(SPSO and GCPSO) are superior in finding solutions for the tested classes of \nproblems. Finally, by using pythOPT we can recreate this study and produce similar \nones by changing the parameters of an experiment. We can add new methods and \nevaluate their performances, and this helps in developing new optimization methods.
Key concepts: Problem solving environment, Computer science, Mathematical optimization, Optimization problem, Mathematics, Data mining