# 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)  using the Genetic Algorithm used by MANATEE: the NSGA-II .

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: f_1 = x_{1}
f_2= g.(1-\sqrt{f_{1}/g}) The theoretical Pareto front of this problem is met when g=1. Thus, the theoretical Pareto front equation is:  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: