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. Common examples on how to construct a primary target function (also called "overall objective") can be found in the User Manual (Section 5.1). Note that MIDACO is capable to handle many-objective problems with up to hundreds of objectives (see large-scale benchmarks here).
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|
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