How to use MANATEE to optimize an external function?

The Optimization Module of MANATEE can be used with two kind of problems: to directly optimize an electric machine simulated by MANATEE or to be used as a standalone optimizer for an external function. This tutorial will focus only on this last aspect with one example: the multi-objective optimization of the Zitzler-Deb-Thiele Function 1 (ZDT1) [1] using the Genetic Algorithm used by MANATEE: the NSGA-II [2].

The ZDT1 function is one of the validation case for MANATEE Optimization Module. It’s a standard benchmark function for Multi-Objective Optimization cases using Pareto fronts. The function is defined for any number of parameters x_n and has two objectives (f_1,f_2). In this example and for the validation case, the number of parameters n is fixed at 10. The function is purely analytical, giving low computational time. The following equation defines it:

x_{i} \in [0, 1]
f_1 = x_{1}
f_2= g.(1-\sqrt{f_{1}/g})
g= 1 + {9\over{n-1}}\sum_{i=2}^{n}{x_i}

The theoretical Pareto front of this problem is met when g=1. Thus, the theoretical Pareto front equation is:

f_{2}=1-\sqrt{f_1}
180. ZDT1 Pareto Front
ZDT1 Pareto Front

The result is a convex and continuous Pareto making the ZDT1 test function a simple benchmark problem.

In the following articles, we will see:

Previous Next