Softwares
Regularity-based EMO (RegEMO)
RegEMO - 0.0.1
September 27, 2024
Multi-objective optimization yields Pareto-optimal solutions with trade-offs, but platform-based implementations benefit from solutions with common principles for easier management and scalability. RegEMO uses bi-level optimization framework to find near Pareto-optimal solutions with a shared structure, balancing multiple objectives. Tested on various engineering design problems, this approach offers scalable, interpretable, and easily implemented solutions.
Python Code: RegEMOArticle: https://ieeexplore.ieee.org/abstract/document/10328823/
Many-Objective Evolutionary Optimization
LHFiD - 0.0.1
August 22, 2023
LHFiD (Localized High-Fidelity-Dominance based Evolutionary Algorithm) is a computationally efficient many-objective evolutionary algorithm (MaOEA). LHFiD utilizes a reference vector (RV) based framework and incorporates a novel high-fidelity-dominance (hf-dominance) principle. This principle distinguishes itself by explicitly and simultaneously considering key Human Decision-making (HDM) elements, such as the number of better objectives, the degree of betterment, and the objectives' relative preferences, without requiring parameter tuning. Furthermore, LHFiD features inbuilt mechanisms for on-the-fly nadir point estimation and self-termination, contributing to its practical utility.
Python Code: LHFiDArticle: https://ieeexplore.ieee.org/abstract/document/9814856
pysamoo - 0.1.0
April 15, 2022
Pysamoo is an extension of pymoo - a comprehensive toolbox for multi-objective optimization - focusing on solving optimization problems with computationally expensive objective or constraint functions.
Website: pysamooArticle: https://arxiv.org/abs/2204 .05855
pymoo - 0.5.0
September 14, 2021
Pymoo is an open-source framework in python that offers state of the art single- and multi-objective algorithms and many more features related to multi-objective optimization such as visualization and decision making.
Website: pymooArticle: https://ieeexplore.ieee.org/document/9078759
EvoLib - 2.0.0
August 13, 2018
A Java based open source implementation of NSGA-II and Unifed NSGA-III. The library supports XML inputs, layered reference directions, detailed outputs and Matlab plots. EvoLib uses Tx2Ex (our open source mathematical expression parser) as a dependency.
Website: evolibKKTPM
December 28, 2016
KKTPM Calculator provides an easy interface through which practitioners can make use of Karush Kuhn Tucker Proximity Measure (KKTPM) without delving into the intricacies of proofs and calculations. It can be used to calculate all the four approximations (direct, projected, adjusted and approximate) along with the corresponding set of Lagrange multipliers at a specific point.
Website: KKTPMInformation: https://coin-lab.org/content/research/kktpm.html
Multi-Objective Evolutionary Optimization
Multi-objective NSGA-II code in C
Original Implementation (for Windows and Linux): NSGA-II in C (Real + Binary + Constraint Handling) New (10 April 2005) (for Linux only): NSGA-II in C (Real + Binary + Constraint Handling) Revision 1.1 (10 May 2005) (for Linux only): NSGA-II in C (Real + Binary + Constraint Handling) Revision 1.1 (10 June 2005) (for Linux only): NSGA-II in C with gnuplot (Real + Binary + Constraint Handling) Revision 1.1.5 (15 May 2010) (for Linux only- 64-bit bug fixed): NSGA-II in C with gnuplot (Real + Binary + Constraint Handling) Revision 1.1.6 (08 July 2011) (for Linux only- 64-bit bug for binary coding fixed): NSGA-II in C with gnuplot (Real + Binary + Constraint Handling)Multi-objective NSGA code in C (for Windows and Linux)
NSGA in CEpsilon-MOEA in C and C++
Original: Epsilon-MOEA in C++ (Real + Constraint Handling) New (10 May 2005) (for Linux only): Epsilon-MOEA in C (Real + Binary + Constraint Handling)AMGA2
Handles multi-objective optimization problems) (Accepted in Engineering Optimization Journal by Santosh Tiwari, Kalyanmoy Deb and Georges Fadel AMGA2 code (Unix/Linux compatible) (May, 14, 2011)
Omni-Optimizer
Handles single and multiple objectives, unimodal or multi-modal problems) (Published in EJOR (2008) by Kalyanmoy Deb and Santosh Tiwari
Omni-Optimizer code (Unix/Linux compatible) (May, 14, 2011)Interactive Optimization, Decision-Making and Visualization
PaletteViz - 0.1.0
April 04, 2021
Core implementation of the PaletteViz algorithm. PaletteViz is a novel approach for visual analytics of high-dimensional (3 <= m <= 10) Pareto-optimal front. pviz also contains a number of standard Pareto-optimal front visualization capabilities, namely PCP, RadViz and Star-Coordinate Plots, etc.
Link: PaletteVizBenchmarking: pviz-bench
Web Application: pareto-explorer
Publication: https://ieeexplore.ieee.org/document/9064747
Single-Objective Evolutionary Optimization
Single-objective GA code in C (for Windows & Linux)
GA in C (Real + Binary + Constraint Handling)G3PCX code in C
G3PCX code in CSimple GA code in C (for Windows & Linux)
Standard binary coding Genetic Algorithm implemented in C.
Binary GA code: SGA in C (and input file)Basic Differential Evolution (DE) in C
Developed by Saku Kukkonen, Lappeenranta University of Technology, Finland
Basic DE in C (Unix/Linux compatible) (June 15, 2005) Basic DE in C (Standard C for Unix/linux/Windows or any other platform) (April 10, 2007)RS-CMSA-ES
January 27, 2017
Covariance Matrix Self-Adaptation Evolution Strategy with Repelling Subpopulations (RS-CMSA-ES) for Multimodal Optimization. This is the code of the method published in "Ahrari, Ali, Kalyanmoy Deb, and Mike Preuss. "Multimodal Optimization by Covariance Matrix Self-Adaptation Evolution Strategy with Repelling Subpopulations." Evolutionary Computation (2016)".
Download: RS-CMSA-ESArticle: https://www.researchgate.net/publication/332166784_RS-CMSA-ES_source_code_V1_r1
Applied Optimization
FSD-ES II
January 27, 2017
Improved Fully Stressed Design Evolution Strategy (FSD-ES II). Matlab implementation of the study: A. Ahrari and K. Deb, "An improved fully stressed design evolution strategy for layout optimization of truss structures," Computers & Structures, vol. 164, pp. 127-144, 2016
Download: FSD-ES IIArticle: ResearchGate
Machine Learning and Optimization
NSGANet
August 19, 2019
Core implementation of NSGANet – a multi-objective neural architecture search algorithm driven by genetic algorithms. It includes both the macro and micro search spaces, as well as pretrained models for validation. A basic architecture visualization method is also included. NSGANetV2 -- An extension of NSGANet that further improves the search efficiency is available from https://github.com/mikelzc1990/nsganetv2.
Website: NSGANetArticle: https://openreview.net/forum?id=B1gIf305Ym