Multi-Objective Optimization with MIDACO
[ Download: PlotTool.exe (50MB) ]
MIDACO can be applied to problems with a single or multiple objective functions. In case of multi-objective problems, MIDACO treats the first objective function as primary target to be minimized. All objectives are filtered for pareto efficiency in regard to minimization, whereas only the first one is actively optimized. Below is a small example where the pareto front for two dummy objectives (called User_Objective_A and User_Objective_B) is calculated by using the sum of the two objectives (User_Objective_A + User_Objective_B) as primary target objective. The primary target objective can be freely constructed for a given problem at hand. Here you can find some advanced examples of primary target functions with auto-scaling of user objectives. Note that MIDACO is capable to handle many-objective problems with up to hundreds of objectives.
Multi-Objective Example Problem
|Python||example_MO.py.txt (Python2)||example_MO.py.txt (Python3)|
|Screenshot (Python)||Pareto Front File||Plot of Pareto Front File|
Advanced examples with Auto-Scaling of the individual User Objectives can be found here
Below you can find some small scale multi-objective benchmark problems in various programming languages. All below benchmark results can be reproduced with the limited MIDACO version (available here). Plots of the pareto front were created with the PlotTool.exe (50MB) displaying the MIDACO primary target objective via the colorbar.
Multi-Objective Benchmarks (small scale)
Large-Scale Multi-Objective Benchmarks available here