ACADO Toolkit  1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
Multi-Objective Optimal Control Problems (MOOCPs)

ACADO offers advanced and systematic features for efficiently solving optimal control problems with multiple and conflicting objectives. Typically, these Multi-Objective Optimal Control Problems (MOOCPs) give rise to a set of Pareto optimal solutions instead of one single optimum. This tutorial explains how to generate this Pareto set (or trade-off curve) efficiently.

Mathematical formulation of general Multi-Objective Optimal Control Problems

In contrast to the general optimal control problem formulation, in which only one objective has to be minimized, the general MOOCP formulation requires the simultaneous minimization of m objectives.

\begin{eqnarray*} \displaystyle\min_{x(\cdot), u(\cdot), p, T} & {\Phi_1(x(\cdot), u(\cdot), p, T),\ldots,\Phi_j(x(\cdot), u(\cdot), p, T),\ldots,\Phi_m(x(\cdot), u(\cdot), p, T)} \\ \textrm{subject to} & \\ \forall t \in [0,T]: & 0 = F(t, x(t), \dot{x}(t), u(t), p), \\ \forall t \in [0,T]: & 0 \leq h(t, x(t), u(t), p), \\ & 0 = r(x(0), x(T), p)\\ \end{eqnarray*}

Here, the function F still represents the model equation, with x the model states, u the control inputs, p the constant parameters, and T the final time. Now Φj denotes the j-th individual objective functional, while h and r are still the path constraints and boundary conditions of the optimal control problem.

Multi-Objective Optimization: concepts and philosophy

In contrast to the general optimal control problem formulation, in which only one objective has to be minimized, the general MOOCP formulation requires the simultaneous minimization of m objectives. Before continuing, some concepts of Multi-Objective Optimization and scalarization methods are briefly introduced.

Multi-objective implementation in ACADO Toolkit

The current structure and features of ACADO Multi-Objective are schematically depicted in the figure below. As multi-objective scalarization techniques WS, NNC and NBI are available. To provide an approximation of the Pareto, single objective optimization problems have to be solved for different sets of the scalarization method's reformulation parameters. These sets of parameters are automatically generated by the weights generation scheme. Hot-start re-initialization options allow to seed up the solution of this series of single objective optimization problems. Afterwards, whenever necessary, non-Pareto optimal solutions can be removed by the Pareto filter. Finally, the resulting Pareto set can be exported and visualized. However, visualization is limited to cases with up to three objectives.

example_008_2.png
ACADO Multi-objective

The following tutorials provide more detailed information on how to use ACADO Multi-Objective:

Next example: Static Optimization Problem with Two Objectives

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines