Explicit multiobjective model predictive control for nonlinear systems with symmetries

Model predictive control is a prominent approach to construct a feedback control loop for dynamical systems. Due to real-time constraints, the major challenge in MPC is to solve model-based optimal control problems in a very short amount of time. For linear-quadratic problems, Bemporad et al.~have proposed an explicit formulation where the underlying optimization problems are solved a priori in an offline phase. In this article, we present an extension of this concept in two significant ways. We consider nonlinear problems and -- more importantly -- problems with multiple conflicting objective functions. In the offline phase, we build a library of Pareto optimal solutions from which we then obtain a valid compromise solution in the online phase according to a decision maker's preference. Since the standard multi-parametric programming approach is no longer valid in this situation, we instead use interpolation between different entries of the library. To reduce the number of problems that have to be solved in the offline phase, we exploit symmetries in the dynamical system and the corresponding multiobjective optimal control problem. The results are verified using two different examples from autonomous driving.


Introduction
In many applications from industry and economy, several criteria are of equal interest. Popular examples include production processes, where we want to maximize the quality while minimizing the production cost, or transportation, where the objectives are fast and energy efficient driving. Since these objectives are in general contradictory, the solution consists of the set of optimal compromises -the so-called Pareto set -instead of a single optimum, and a compromise can be selected interactively according to a decision maker's preference. This way, the flexibility in operating a complex system can be significantly increased.
Regardless of the solution method (cf. [1] for an introduction to deterministic and [2] for evolutionary methods), the computation of the entire Pareto set is infeasible in the real-time context, i.e., in a model predictive control (MPC) framework [3]. There exist several approaches to circumvent this dilemma, see [4] for a survey. One is a priori scalarization, where the conflicting objectives are synthesized into a scalar objective using, e.g., weighted sums [5] or reference point techniques [6]. A different approach is to stop the expensive computation prematurely and use non-converged solutions [7,8]. Another frequently applied way to incorporate multiple objectives is to use a classical feedback controller and optimize the controller parameters with respect to several criteria [9,10]. An additional criterion for selecting the objectives such that stability is preserved was studied in [11]. Finally, an approach has recently been presented in [12] in the context of autonomous driving which is motivated by explicit MPC [13]. Here, the solution is determined in an offline phase such that the online phase is reduced to selecting the optimal control from a library. Since the problem under consideration is nonlinear, one cannot use the multi-parametric programming approach proposed in [13]. Instead, a numerical grid is introduced for the relevant parameters and a multiobjective optimal control problem (MOCP) is solved for each grid point. In order to reduce the number of parameters, symmetries in the problem can be exploited using ideas from motion planning with motion primitives [14,15,16,17]. In the online phase, linear interpolation between the neighboring entries in the library is performed to quickly obtain the relevant Pareto set. According to the decision maker's preference, a Pareto optimal control is then applied to the plant.
In this article, we present a detailed analysis of the algorithm developed in [12] and study under which conditions the MOCP possesses symmetries that can be exploited to reduce the number of relevant parameters. We will see that these conditions are reduced to already known ones in the case of linearquadratic, single-objective problems [18]. Both analytic as well as numerical approaches to identify symmetries are discussed. We then present the explicit multiobjective MPC algorithm and give a detailed description of the online and the offline phase, including an automated procedure for solving a large number of MOCPs in parallel. Two complex examples are used to study the above-mentioned properties and to analyze the performance of the proposed method. In the first one, a race track is considered where the goals are to drive as fast and safe as possible. In the second example, we want to control the longitudinal dynamics of an electric vehicle with respect to fast and energy efficient driving (see also [12]).
The remainder of this article is structured as follows. In Section 2, we introduce the multiobjective optimal control problem, the basic definitions for multiobjective optimization and the MPC framework we are using. The exploitation of symmetries is discussed in Section 3 and the nonlinear explicit MPC algorithm is presented in Section 4. The two examples from autonomous driving are covered in detail in Section 5 and finally, a conclusion is drawn in Section 6.
2 Multiobjective optimization and model predictive control In this section, we introduce the general nonlinear multiobjective optimal control problem (MOCP) and introduce the basic notions of multiobjective optimization. We then give a very short introduction to MPC.

Multiobjective optimization and optimal control
The goal in multiobjective optimal control is the minimization of multiple conflicting objectives while taking the system dynamics (here described by an ordinary differential equation) into account: . . .
s.t.ẋ(t) = f (x(t), u(t)), t ∈ (t 0 , t e ], (1b) g i (x(t), u(t)) ≤ 0, i = 1, . . . , l, t ∈ (t 0 , t e ], h j (x(t), u(t)) = 0, j = 1, . . . , m, t ∈ (t 0 , t e ], where x(t) ∈ R nx is the system state and u(t) ∈ U ⊂ R nu is the control variable with U being closed and convex. Since we consider optimization problems over state and control trajectories x(t) and u(t), the sets X = W 1,∞ ([t 0 , t e ], R nx ) and U = L ∞ ([t 0 , t e ], U ) are function spaces. J : X × U → R k is the cost functional with k conflicting objectives and with continuously differentiable functions C i : R nx × U → R, Φ i : R nx → R. Furthermore, f : R nx × U → R nx is Lipschitz continuous, and g : R nx × U → R l , g = (g 1 , . . . , g l ) and h : . . , h m ) , are continuously differentiable inequality and equality constraint functions, respectively. (x, u) is called feasible pair if it satisfies the constraints (1b)-(1e). The space of the control trajectories U is also called the decision space and the image of all feasible pairs forms the objective space. Problem (1) can be simplified by introducing the flow of the dynamical system: This way, the explicit dependency of J, g and h on x can be removed: ) for i = 1, . . . , k. Here, u := u| [t0,t] is introduced to preserve the time dependency. The constraintsĝ(x 0 , u) andĥ(x 0 , u) are defined accordingly. u is called a feasible curve if it satisfies the equality and inequality constraintsĝ i , i = 1, . . . , l, and h j , j = 1, . . . , m.
In contrast to single objective optimization problems, there exists no total order of the objective function values in R k with k ≥ 2. Thus, we introduce the following partial order: The relation ≤ is defined in an analogous way.
Since there is no total order, we cannot expect to find isolated optimal curves for (MOCP). Instead, the solution is the set of optimal compromises (also called the Pareto set or set of non-dominated curves): Consider the multiobjective optimization problem (MOCP). Then 2. a feasible curve u * is called globally Pareto optimal if there exists no feasible curve u ∈ U dominating u * . The imageĴ(x 0 , u * ) of a globally Pareto optimal curve u * is called a globally Pareto optimal value. If this property holds in a neighborhood U (u * ) ⊂ U, then u * is called locally Pareto optimal.
3. the set of non-dominated feasible curves is called the Pareto set P, its image the Pareto front P F . Figure 1 for a finite-dimensional problem, i.e. curves reduce to points in the Euclidean space. We see that for each point that is contained in the Pareto set (the red line in 1 (a)), one can only improve one objective by accepting a trade-off in at least one other objective, see the red line in Figure 1  There exist many fundamentally different approaches to solve MOCPs. Single-objective optimal control problems can either be solved using a direct solution method and discretization, cf., e.g., [19]. Alternatively, indirect methods via the Pontryagin Maximum Principle can be applied (for an overview of different methods, see e.g. [20,21]). Solution methods for MOCPs typically rely on a direct approach by which the optimal control problem is transformed into a finite-dimensional multiobjective optimization problem [22,23,24]. Well-established methods for such problems are scalarization techniques, continuation methods (which make use of the fact that under certain conditions, the Pareto set is a smooth manifold of dimension k − 1 [25] that can be approximated using predictor-corrector schemes), evolutionary algorithms [2], or set-oriented methods [26,24]. In scalarization, ideas from single objective optimization theory are extended to the multiobjective situation by transforming the MOCP into a sequence of scalar-valued problems such that the Pareto set is approximated by a finite set of Pareto optimal curves. There exists a large variety of scalarization approaches such as the weighted-sum method, the -constraint method, normal boundary intersection, or reference point methods [1]. Since we will use the latter to solve MOCPs, a sketch is given in Figure 2. In the reference point method, Pareto optimal solutions are obtained by minimizing the euclidean distance between a feasible point J(u (i) ) and an infeasible target

Definition 2.2 is visualized in
Once two points on the Pareto front are known, these can be used to approximate the tangent space of the front and construct the target T (i+1) of the next problem, cf. Figure 2 (b). This is realized by shifting the point first parallel (i.e., along the vectorĴ(x 0 , u (i) ) −Ĵ(x 0 , u (i−1) )) and then orthogonal (parallel to the direction T (i) −Ĵ(x 0 , u (i) )) to the Pareto front. In order to accelerate the solution for the next scalar problem (RP), a predictor u (p,i+1) is computed by linear extrapolation from the points u (i) and u (i−1) . This way, an almost equidistant covering of the front can be obtained. For a more detailed description see, e.g., [27, pp. 24-26].

Model predictive control
The solution of (MOCP) provides an open loop control for the system under consideration. However, for real systems it is often insufficient to determine a control input a priori due to unforeseen events, disturbances, or model inaccuracies. A remedy to this issue is MPC [3], where open-loop problems are solved repeatedly on finite horizons (cf. Figure 3). Using a model of the system dynamics, an open-loop optimal control computed over the prediction horizon of length ph, where p ∈ N >0 and h ∈ R >0 is the sample time or control horizon. This implies that (MOCP) is solved with for a moving horizon s = 0, 1, . . .. The first part of the solution is then applied to the plant while the optimization is repeated with the prediction horizon moving forward by one sample time h. For this reason, MPC is also referred to as moving horizon control or receding horizon control. Well known extensions of MPC which we will utilize in this article are economic MPC [28,29], where the goal is to increase economic performance instead of stabilizing the system, and explicit MPC [13], see also [30] for a survey. In explicit MPC, the MPC problem is reformulated as a multiparametric optimization problem which can be solved in an offline phase and the solutions are stored in a library. During the MPC loop, the computation of an optimal solution is then replaced by extracting the optimal input from the library.
All MPC approaches have in common that they yield a closed-loop behavior. On the downside, we have to solve the optimal control problem within the sample time h. This can be in the order of seconds or minutes (in the case of chemical processes) down to a few microseconds, for example in power electronics applications. Since this is already challenging for scalar-valued MPC problems, considering multiple objectives is clearly infeasible without taking further measures. These measures can be, e.g., to apply scalarization using weighted sums [5], the -constraint method [31], reference point methods [6], or gametheoretic approaches [32]. Alternatively, one can compute a crude approximation of the entire front [7,8,33] or compute Pareto optimal controller parameters offline [9,10]. An extensive survey of feedback control with multiple objectives can be found in [4]. Before describing our method for addressing the real-time requirements in Section 4, we will first discuss the importance of symmetries in the next section since these will play a crucial role for the cost of the offline phase.

Symmetries in dynamical systems and MPC
Symmetries in dynamical systems and optimal control problems can be used to reduce the complexity of the underlying problems and thus making numerical computations faster and more efficient. In this work, we consider continuous symmetries that can be described by a Lie group action. For dynamical systems, this means that translations or rotations of a trajectory lead to another trajectory of the control system. This is a very useful property in control, because a solution trajectory that has been designed for one specific situation can be used for another situation as well. For instance, the same turn maneuver for a helicopter can be applied in many situations since it does not explicitly depend on the absolute position in space. While in general symmetry in control is a well-established concept (see, e.g., [34,35]), it was first exploited by Frazzoli et al. [14,15] for the design of efficient motion planning methods which take the dynamics of the control system into account. Following the idea of quantization (see also [36,16,17]), such so-called motion primitives are generated by solving optimal control problems for intermediate problems which can be combined into various sequences. The problem is thus reduced to searching for the optimal sequence out of all admissible sequences in a library of motion primitives which can be realized using global search methods. Extensions towards hybrid systems have been considered in [37,38].
In this work, rather than using motion planning approaches, we exploit the motion primitive concept to design explicit MPC algorithms for nonlinear MOCPs. This means that by identifying symmetries in the MOCP, Pareto sets are valid in multiple situations. Consequently, we only have to compute one representative which significantly reduces the computational effort. Before adapting the concept to symmetries in model predictive control problems, we first introduce symmetries in dynamical control systems.

Symmetries in dynamical control systems
We formally describe symmetries by a finite-dimensional Lie group G and its group action ψ : R nx × G → R nx . For each g ∈ G, we denote by ψ g : R nx → R nx the diffeomorphism defined by ψ g := ψ(·, g). A dynamical control system described bẏ is invariant under the group action ψ, or equivalently, G is a symmetry group for the system (2), if for all g ∈ G, x 0 ∈ R nx , t ∈ [t 0 , t e ] and u ∈ U it holds This means that the group action on the state commutes with the flow. Note that the invariance under a group action implies equivalence of trajectories in the following sense.
Definition 3.1 (Equivalence of trajectories). Two trajectories π 1 : t ∈ [t 0,1 , t e,1 ] → (x 1 (t), u 1 (t)) and π 2 : t ∈ [t 0,2 , t e,2 ] → (x 2 (t), u 2 (t)) of equation (2) are equivalent, if it holds that (i) t e,1 − t 0,1 = t e,2 − t 0,2 and (ii) there exist an g ∈ G and an T ∈ R such that This means that two trajectories are equivalent if they can be exactly superimposed through time translation and the action of the symmetry group. All equivalent trajectories can be summed up in an equivalence class. By a slight abuse of notation, we call the equivalence class, but also its representative a motion primitive (cf. [15]). Thus, only one representative has to be stored in a motion library and can then be used in different regions of the state space through transformation by the symmetry action.
Remark 3.2. Symmetry of a dynamical control system can also be described by the equivariance of the underlying vector field, i.e., by the condition where Is is easy to see that the equivariance condition (4) is equivalent to the invarince condition (3). A direct application of the definition of the flow, equation (3) and its time derivative shows Typical symmetries of mechanical systems are translational and rotational symmetries correspondig to Lie groups G = R n (translational symmetries), G = SO(n) (rotational symmetries) and G = SE(n) ≈ SO(n) × R n (combined rotational and translational symmetries). The corresponding action is then given by ψ g (x) = Rx + ∆x with R ∈ SO(n) and ∆x ∈ R n . Here, SO(n) is the special orthogonal group, which can be represented by the set of matrices {R ∈ R n,n | R R = I, det(R) = 1}. The dimension of a Lie group is given by the number of elements required to represent a Lie group element g ∈ G.

Symmetries in MPC problems
In the following, we want to take advantage of symmetries in optimal control problems. More precisely, we want to identify Pareto optimal solutions of (MOCP) that remain Pareto optimal when the initial conditions are transformed by the symmetry group action such that arg min Thus, we require the Pareto set to be invariant under group actions on the initial conditions. Symmetries in single-objective, linear-quadratic explicit MPC have been studied in [18], the relation to our approach will be discussed in Example 3.6.
The following theorem provides conditions under which equation (5) holds. In principle, it states that each representative of a motion primitive of the dynamical control system (Condition 1) has to provide the same cost (up to linear transformations) (Condition 2), and if a trajectory (x(t), u(t)) satisfies the constraints, then every representative of the same equivalence class has to satisfy the constraints as well (Condition 3). 2. there exist α, β, δ ∈ R, α = 0, such that the cost functions C i and the Mayer terms Φ i , i = 1, . . . , k, are invariant under the Lie Group action ψ up to linear transformations, i.e., and 3. the constraints g i , i = 1, . . . , l and h j , j = 1, . . . , m, are invariant under the Lie Group action ψ, i.e., then we have arg min We say that problem (MOCP) is invariant under the Lie group action ψ g , or equivalently, G is a symmetry group for problem (MOCP).
Proof. Feasibility: Let u be a feasible curve of problem (MOCP) and let ϕ u (x 0 , t) be the solution of the initial value problem (2). We now consider problem (MOCP) with initial value ψ g (x 0 ), i.e. the initial value x 0 is tansformed by the symmetry group action. Substituting u into the equality and inequality constraints of the transformed (MOCP) yields (for i = 1, . . . , l and j = 1, . . . , m): Thus, u is also a feasible curve for problem (MOCP) with initial value ψ g (x 0 ). Optimality: Let u ∈ arg min uĴ (x 0 , u) and assume there exists anũ such that with ε = β+δ. This is a contradiction to u ∈ arg min uĴ (x 0 , u) and consequently u ∈ arg min uĴ (ψ g (x 0 ), u). Following the above steps backwards yields Thus, the Pareto sets for problems (MOCP) with initial values x 0 and ψ g (x 0 ) are identical, i.e., the Pareto set is invariant under group actions on initial conditions. Theorem 3.3 states that if the objective function and the constraints are also invariant (up to linear transformations) under the same group action as the dynamical control system, then all trajectories contained in an equivalence class defined by (3) will also be contained in an equivalence class defined by (5). However, this class may contain more solutions since we do not explicitly pose restrictions on the state but only require the solutions of (MOCP) to be identical. This leads to the following corollary.
Proof. The proof follows along the lines of the proof of Theorem 3.3, where the invariance under group actions can directly applied toĝ i , i = 1, . . . , l,ĥ j , j = 1, . . . , m,Ĉ i andΦ i , i = 1, . . . , k, without using the invariance of the dynamical control system.
Remark 3.5 ((Group actions on controls and parameters)). Rather than considering transformations of state trajectories by group actions ψ g with g ∈ G only, also Lie group actions χ h on the control trajectories u as well as Lie group actions ξ l on the parameters γ ∈ R nγ can be taken into account with h and l being elements of the Lie groups H and L, respectively. Thus, we obtain the group action triple (3) for the dynamical control system is then replaced by meaning that for two trajectories being equivalent, we also allow for a transformation of the control u and the parameter γ by the Lie group actions χ h and ξ h , respectively. For a parameter-dependent cost function, the corresponding invariance condition for problem (MOCP) then reads By Theorem 3.3, (15) is satisfied if dynamics, cost functions, Mayer terms and constraints are all invariant under the Lie group action (ψ g , χ h , ξ l ), i.e., in addition to (14), we have for α, β, δ ∈ R, α = 0: Example 3.6 (Linear-quadratic problems). In the case of single-objective linear-quadratic problems and group actions that can be described by matrix multiplications, Theorem 3.3 yields the statements of Proposition 2 and Theorem 4 of [18], which relates symmetries in the dynamics, constraints and cost function to symmetries in linear-quadratic model-predictive control problems and explicit controller functions.
Example 3.7 (Parameter-dependent problems). A typical example for parameter-dependent problems are tracking problems with cost functions describing the squared distance between the state x and some reference γ which has to be tracked, i.e., For dynamical control systems being invariant under translations and rotations, i.e., ψ g (x) = R · x + ∆x, invariance of the cost function is obtained by applying the same Lie group action ψ g to γ. This ensures that the distance between state and reference is preserved under the Lie group action, i.e., where the last equality follows from the orthogonality of R. Example 3.8 (Invariance of the arg min). In order to emphasize the meaning of Corollary 3.4, let us consider the parameter-dependent multiobjective optimization problem from [39,Example 3.12] with J : R 2 × R → R 2 : The Pareto sets and fronts for varying values of γ are shown in Figure 4. We see that P is invariant under translations in γ (i.e., the arg min of (20) is invariant under translations in γ).

Numerical identification of symmetries
There may be problems where it is very tedious or even impossible (for example when black-box models are involved) to identify symmetries analytically. In this situation, one can use numerical approaches to verify Equation (15) (or (5), respectively). In the context of multiobjective optimization, this means that the Pareto set is invariant under variations of some parameter γ: Numerically, this can be realized by demanding that the Hausdorff d h distance between Pareto sets at a finite number of n Test different parameter values is small: In Figure 4, for instance, the Hausdorff distance between the Pareto sets for different values of γ is zero. This concept will be exploited in the second example in Section 5.2.

Explicit multiobjective MPC for nonlinear problems
The method that will be used in this article is in the spirit of explicit MPC, i.e., we solve a large number of MOCPs offline and store the corresponding Pareto sets in a library. By exploiting symmetries in the dynamical control system, the number of MOCPs is significantly reduced. In the online phase, we only have to select the correct Pareto set from the library and then choose a compromise solution according to the decision maker's preference. In contrast to the classical motion planning with motion primitives concept, we do not need to store the trajectories but only the optimal controls, i.e., the Pareto sets. This is due to the MPC framework which only requires control values as input to run the plant. Thus, a transformation by the symmetry group action to construct feasible trajectories as in the open loop case is not necessary anymore. First ideas concerning the MPC approach have previously appeared in [12]. Before introducing the two phases in detail in the following, we first give a quick introduction to the classical approach (introduced in [13]) and some extensions.

Relation to the single-objective case
Explicit MPC was introduced by Bemporad et al. [13]. In order to avoid prohibitively large costs for solving optimal control problems in real time, they introduced an offline-online decomposition such that during operation, one only has to select the precomputed optimal control from a library. They showed that in the linear-quadratic case, the optimal control problem can be reformulated as a multi-parametric quadratic programming (mpQP) problem. In this setting, the optimal control is an affine function of the initial condition x 0 such that the state-to-control mapping can be constructed via a finite number of polyhedrons covering the state space. Extensions to the nonlinear case were presented in [40,41].
Here, the polyhedrons from the linear-quadratic case are constructed via linear interpolation between nodes at which the solution has been computed, and adaptive procedures are proposed in order to satisfy prescribed error bounds. For the linear-quadratic case, an extension to multiple objectives could be performed in a straightforward manner using the method of weighted sums, where the vector of objective functions is synthesized into one objective via convex combination using a weight vector ρ ∈ [0, 1] k (see [1] for details). Since the resulting MOCP is convex [5], the weighted sum method is capable of computing all optimal compromises. Fixing the weight ρ yields precisely the setting considered in [13]. Hence, we can introduce a numerical grid for ρ and solve an mpQP for each value. However, since we want to consider nonlinear problems here, neither the weighted sum method nor the mpQP approach are applicable. Thus, we present an alternative approach in this article.
For both the linear and the nonlinear case, the cost of the offline phase increases exponentially with the dimension of the parameter. Hence, we will exploit symmetries in the MOCP in order to reduce the parameter dimension and thus, the number of MOCPs that we have to solve in the offline phase. The exploitation of symmetries for single-objective linear-quadratic problems has been studied in [18], and the relation to our approach is discussed in Example 3.6.

Offline phase
As can be seen in the problem formulation (MOCP), we consider a problem which is parametrized with respect to the initial value x 0 ∈ R nx . In order to provide the optimal solution to (MOCP) for each value of x 0 (and possibly additional parameters γ ∈ R nγ , cf. Remark 3.5), we have to solve a large number of problems in the offline phase. As mentioned previously, the solution is piecewise linear and continuous in the linear-quadratic case and can be computed offline for all parameter values. In the nonlinear case, this structure does no longer exist. Consequently, we would have to solve an infinite number of MOCPs in the offline phase. As a workaround, a natural idea is to discretize (x 0 , γ) on an equidistant grid and use linear interpolation for intermediate values. The grid size depends critically on the degree of nonlinearity of the system under consideration. Furthermore, the number of MOCPs increases exponentially with the state dimension n x . A reduction of this dimension is therefore highly advisable. In the linear-quadratic case, this has been addressed in [18] (cf. Example 3.6).
The offline phase can now be summarized in Algorithm 1. After identifying symmetries and thereby reducing the dimension of the parameter (x 0 , γ) ∈ R nx+nγ to ( x 0 , γ) ∈ R nx+ nγ , where n x = n x − dim(G) and n γ = n γ − dim(L), we create the library L as an equidistant multi-dimensional grid and solve an MOCP for each entry of L. The number N of MOCPs that has to be solved can still become very large. However, the solution process can be parallelized very efficiently since the N problems are independent.

Automated solution of many MOCPs
In this section, we describe the numerical procedure to automatically solve MOCPs as is required in step 3 of Algorithm 1. The procedure is summarized in Algorithm 2 and visualized in Figure 5. 1 The procedure consists of solving the scalar problems (i.e., we solve a single-objective optimal control problem for each objective separately), determining target points, solving the resulting scalarized problems (RP), and cleaning up the Pareto set by removing the long tails of the Pareto fronts. These tails are not properly non-dominated, i.e., they yield only very small trade-offs (< ), see [39] for details. The last step is done in order to allow for a more meaningful selection process in the online phase.
Algorithm 2 Automated solution of (MOCP) with two objectives Given: Number of targets n T ∈ N, parameter for proper efficiency, parameter d e .
1: Solve the scalar problems (i.e., min J 1 and min J 2 ) individually.  Since we want to parallelize the computation of the Pareto sets, we solve all problems individually, i.e., without taking any knowledge about prior Pareto sets into account. If the solutions have to be computed without parallelization, one can alternatively exploit the fact that under certain smoothness assumptions, the Pareto set depends continuously on the parameter ( x 0 , γ) such that small variations lead to small variations in P ( x0, γ) . An approach exploiting this in a set-valued continuation method is presented in [27, Section 3.3].

Online phase
The online phase is very similar to a standard MPC approach with the important difference that the MOCP is not solved online but the pre-computed solution is obtained from the library that has been computed in the offline phase. The task is thus to identify the current values for x 0 and γ and then select the corresponding Pareto set P ( x0, γ) from the library. According to the decision maker's current preference ρ ∈ [0, 1] k (with k i=1 ρ i = 1), a Pareto optimal control is chosen and applied to the plant over the control horizon t c . The online phase is summarized in Algorithm 3.
Since we do not know the exact solution for every ( x 0 , γ), we use linear interpolation between the neighboring entries of L. In order to avoid the interpolation of sets, we first select an optimal compromise and then perform the interpolation. For the single-objective situation, linear interpolation has also been proposed for nonlinear problems, see [40,41].

Examples
In this section, the explicit multiobjective MPC (EMOMPC) method is validated using two examples from autonomous driving. This problem has raised increasing interest in the past, in particular due to the additional interest in energy efficiency for both ecological reasons and reduced ranges of electric vehicles.

2:
Obtain the current initial condition x 0 = x(t) and the parameter value γ from the plant.

3:
Identify the 2( n x + n γ ) neighboring grid points of ( x 0 , γ) in L (i.e., closest below and above in each component of ( x 0 , γ)). These points are collected in the index set I.

4:
From each of the corresponding Pareto sets P ( x0, γ)i , i ∈ I, select a Pareto optimal control u i according to the weight ρ.

5:
Compute the distances d i between the entries of the library and ( x 0 , γ):

6:
if ∃j ∈ I with d j = 0 then 7: u = u j 8: Apply u to the plant for the control horizon length t c . 12: end for A survey on path tracking of autonomous vehicles using motion primitives can be found in [42], and several researchers have addressed multiobjective optimal control of vehicles as well, see, e.g., [23,43].
Here, we will first consider the problem of maneuvering, where we want to stay as close to a reference track as possible while maximizing the driven distance. As a second example, we will revisit the electric vehicle application presented in [12], where the longitudinal dynamics of an electric vehicle have to be controlled in a Pareto optimal manner. Here, we will also address the numerical identification of symmetries discussed in Section 3.3.

Multiobjective car maneuvering
As the first example, we consider driving on a race track, where we are interested in optimally determining the steering angle for a vehicle with respect to secure and fast driving. To this end, we consider the wellknown bicycle model [44] (see also [45], where a more complex bicycle model has been used for single objective optimal control of formula one cars). In this model, the dynamics of the vehicle is approximated by representing the two wheels on each axis by one wheel on the centerline (cf. Figure 6 (a)). When assuming a constant longitudinal velocity v x , this leads to a nonlinear system of five coupled ODEs: where x = (p 1 , p 2 , Θ, v y , r) is the state consisting of the position p = (p 1 , p 2 ), the angle Θ between the horizontal axis and the longitudinal vehicle axis, the lateral velocity v y and the yaw rate r (cf.   (a)). The vehicle is controlled by the front wheel angle u and the variables have been introduced for abbreviation. The constants therein describe the vehicle's geometry, mass as well as tyre properties, see Table 1.
We now want to control the vehicle such that it follows a given track γ (e.g., a race track such as in [45]) both securely and fast. In order to apply our EMOMPC algorithm, we additionally have to take the track γ (which is now an additional parameter) into account. Using these quantities, the first objective (i.e., security) is measured via the distance to the center line and the second objective (i.e., fast driving) is calculated via the driven distance along the track. For both objectives, we use projections of the vehicle onto the centerline: Π γ (p(t)) = arg min and the corresponding distance is defined as In order to evaluate the second objective, we cannot simply use the driven distance of the vehicle due to the constant velocity v x . Instead, we are interested in the driven distance with respect to the center line: which is the standard curve integral γ f (s) ds with a constant function. Using the above definitions, we obtain the following parameter-dependent MOCP: Dynamics (21), which can be reformulated according to our framework as We now identify the symmetry action under which Problem (23) is invariant, i.e., under which the objectives, the dynamics and the constraint are invariant (according to Theorem 3.3). The following proposition states that we can shift and rotate the "entire problem setup".
Remark 5.2 (Numerical approximation of γ). Proposition 5.1 allows us to reduce both n x and n γ by three since dim(G) = dim(L) = 3. However, γ is infinite-dimensional for arbitrary tracks. Therefore, we will use a local approximation for γ in the numerical realization. To this end, we approximate the track on the prediction horizon by fixing the curvature κ = dα ds pc with α(s = 0) being the angle between the track and the horizontal axis in p c , cf. Figure 6 (b): Here, c ∈ R 3 is determined in such a way that γ(0) = p c and dγ ds s=0 = α(0). The symmetry group L allows us to reduce the dimension of the parametrization by three, i.e., we can shift and translate γ in such a way that γ(0) = (0, 0) and α(0) = 0, which results in the following explicit formulation: The consequence of Proposition 5.1 and Remark 5.2 is a significant reduction in the dimension of the parametrization of the offline phase. From the dynamics, there only remain v y and r. The invariances with respect to the track result in κ as the only parameter. However, as we have only invariance with respect to identical translation and rotation of track and vehicle, we still have to take the relative position and orientation into account, i.e., the distance d and the angle ξ between track and vehicle direction (cf. Figure 6 (b)). In total, this results in a five-dimensional parametrization: ( x 0 , γ) = (v y , r, ξ, d, κ) , and the initial orientation and position for the vehicle dynamics become: Regarding the parametrized track (i.e., p c , α, κ), this is a reduction from nine to five parameters. which corresponds to a reflection at the horizontal axis. Consequently, we only need to consider deviations between vehicle and center line to one side (e.g., to the left side).

Offline phase
In the offline phase, we first construct the library L and then solve Problem (23) for each entry. To this end, we implement a direct approach and discretize the problem such that we obtain a nonlinear MOP. We choose v x = 30, t 0 = 0 sec, t e = 0.5 sec, and a time step of h = 0.05 sec. Consequently, we have u ∈ [u min , u max ] 10 , where u min = −0.5 and u max = 0.5. The library L is built according to the bounds and step sizes in Table 2, which leads to a total number of 223, 587 MOCPs that we have to solve according to Algorithm 2. The number of targets is set to n T = 18 such that each Pareto front is approximated by 20 points. Note that without exploiting the symmetry, the number of MOCPs would be four to five orders larger, which would lead to a prohibitively large CPU cost. The present number is still very high, but the solution is obtained in approximately two days when running the computation in parallel on 72 cores, which is acceptable since the offline phase has to be performed only once. The solution of one such MOCP is shown in Figure 7, where the resulting vehicle trajectories are depicted in (a) and the corresponding Pareto front in (b). We see that the front is non-convex such that a simple solution method such as weighted sum would not be capable of computing all Pareto optimal solutions.

Online phase
In the online phase, the MPC loop is realized according to Algorithm 3. We test our EMOMPC framework on two test tracks with different curvature values. They can be seen in Figure 8, where the second track is a scaled version of the first one shown in (a). We select t c = h as the control horizon and formulate global objectives that are meaningful with respect to driving one lap. Consequently, the objective of driving as far as possible is transformed to driving one lap as fast as possible. The second objective remains unchanged, i.e., we want to drive as close to the centerline as possible. We begin by fixing the weight ρ for the entire track, where the solutions for ρ = 1 (fast) and ρ = 0.25 (close to the center line) are shown in Figure 8 (a) and (b). In Figure 9 (a), the resulting lap time and integrated distance to the center line are shown (i.e., the two objectives fast versus safe driving but for the entire track). As can be seen, the typical trade-off behavior between the objectives is carried over from the offline phase to the entire track, which yields precisely the desired additional control freedom for which the multiobjective setup is introduced in the first place. Nevertheless, we also see that very low weights (i.e., close to the center line) even lead to an increase in the driven distance. The reason is very likely that there is no regularization term in the first objective which penalizes the control cost. In combination with the error that is introduced by the discretized library and the resulting interpolation, we observe a zig zag behavior around the center line which results in increased distances and lap times. The effect can also be seen in Figure 7 (a), where we have a crossing of the center line for ρ = 0. For the track with higher curvature, this effect is even more apparent. Consequently, it is advisable to restrict the choice of ρ to a subset of [0, 1]. Moreover, the implementation of an adaptive library construction similar to [40,41] is a promising direction for future work.
A key advantage of the EMOMPC algorithm is that we are capable of adjusting the weight online in order to react to a changing priorization of the objectives in an ad-hoc manner. This is visualized in Figure 8 (c), where ρ is changed at constant time instances in order to change the priorization from safe to fast driving. An alternative to allowing the decision maker to adjust ρ manually is to implement a situation-based heuristic in order to realize the desired behavior. This is shown in Figure 8 (d) for the smaller track. We here use a very simple approach where ρ i is increased or decreased (within prescribed bounds) in the i th MPC loop according the the current curvature: This means that we want to drive close to the center line on straight parts of the track and drive fast through curves. The performance of both the manually as well as heuristically varied weight is shown in Figure 9 as well. We cannot guarantee optimality for the entire track in the MPC framework, and we see that both approaches outperform a constant weight solution. This gives a strong motivation for further investigating the choice of ρ.

Intelligent cruise control for electric vehicles
The second example is also related to autonomous driving. Here, we want to control the longitudinal dynamics of an electric vehicle for varying speed limits with respect to the objectives energy efficiency and fast driving. The electric vehicle under consideration has already been studied in various scenarios, see [46] for single-objective open loop control with height profiles (obtained from GPS data) and [47] for the extension to two objectives. In [48], nonlinear and linear MPC approaches have been compared and in [12], the concept presented here was first applied in a very practical manner. Here, we pick it up once again mainly in order to illustrate the procedure of numerically identifying invariances in situations where it is difficult to show these analytically. The system dynamics are described by a four-dimensional, nonlinear ODE for the state x = (v, S, U d,L , U d,S ). Here, v is the vehicle velocity, S is the battery state of charge, and U d,L and U d,S are the long term and short term voltage drops, respectively. The system is controlled by the wheel torque u, and the battery current I is determined via an algebraic equation. The model is described in detail in [48], the right-hand side contains both highly nonlinear terms and lookup-tables such that symmetries are very difficult to identify analytically. For the MPC, we have to solve the following MOCP: I min ≤ I(t) ≤ I max , For this problem, the parameter γ describes the current velocity constraints depending on the part of the track. This is discussed in more detail in the following section.

Offline phase
In the offline phase, we again have to construct a library for x 0 and γ(p) = (v min (p), v max (p)), where p = te t0 v(t) dt is the current position of the vehicle. Similar to the first example, γ is a function and thus infinite-dimensional. We therefore use a linear approximation for the velocity bounds. Moreover, we distinguish between four different scenarios: (i) constant velocity, (ii) acceleration, (iii) deceleration and (iv) stopping, see Figure 10. In the constant velocity scenario, we simply have γ = (0.8v, v), where v is the maximal allowed velocity on this part of the track. In the stopping scenario, we have a terminal constraint at position p f which is v(p f ) = 0. This yields γ(p f ) = (0, 0). Finally, for the acceleration and deceleration, we introduce a lower or upper bound for the velocity derivative dv/dp, respectively, which is determined in each time step according to Figure 10 (b): This leads to γ(p) = (v(p(t 0 ))+ap, ∞) for the acceleration and γ = (−∞, v(p(t 0 ))+ap) for the deceleration case.  In order to reduce the dimension of x 0 , we numerically investigate the dependence of the solution on the different states. This is shown in Figure 11, where we see in (a) and (b) that the state of charge and the vehicle velocity are almost invariant with respect to the initial value of S (for S(t 0 ) > 5%). On the other hand, we see in (c) that the system is not invariant with respect to v(t 0 ). Proceeding this way with all variables, we see that problem (27) is (almost) invariant with respect to translations in S(t 0 ) as well as U d,L (t 0 ) and U d,S (t 0 ). The objective function is invariant as a consequence of the invariance of S and v and numerical tests show that I is also almost invariant with respect to translations in these quantities, i.e., the constraints are also invariant. This results in x 0 = v(t 0 ). Consequently, we only have to construct a library for ( x 0 , γ) = (v(t 0 ), γ), where γ ∈ {v, a, p f } depending on the current scenario. After the appropriate discretization, this results in 1727 MOCPs for the offline phase.

Online phase
The online phase follows precisely Algorithm 3, i.e., we identify ( x 0 , γ) and select (or interpolate) the corresponding Pareto set from the library. According to the passenger's preference ρ, we then apply the control to the plant and repeat the process at the next time instance. As mentioned in Section 3, it is not necessary to store the state trajectories but only the Pareto optimal controls. The results are shown in Figure 12. In (a), several trajectories for constant weights (dashed black lines) and one for a varying weight ρ (green, changes at p = 2000 and p = 4000) are shown. We observe that the constraints are not violated (by construction of the library) and that moreover, the algorithm enables us to vary the behavior of the nonlinear vehicle dynamics in a very flexible manner by varying ρ. In Figure 12 (b), we see the corresponding objective function values for the entire track, where the classical trade-off behavior can be observed. In [12], there is furthermore a discussion on automatically choosing ρ in a similar fashion to the heuristic (26) implemented for the first example. This way, the additional flexibility of changing ρ online is lost but on the other hand, a near-optimal performance can be achieved which is verified by comparing the results to a very expensive dynamic programming (DP) solution for a simplified track. This is visualized in Figure 12 (c) and (d), where the heuristic is -simply speaking -to select large values for ρ at low velocities, low values at higher velocities, and additionally perform slight adjustments when approaching switches between different scenarios. We see that when appropriately choosing ρ, we can achieve almost globally optimal behavior in real-time.

Conclusion
We have presented an explicit MPC algorithm for nonlinear dynamical systems with multiple objectives which extends the results from [13] in several regards. In order to reduce the computational effort, we make extensive use of symmetries in the dynamical control system and the multiobjective optimal control problem. In contrast to the classical approach from motion planning with motion primitives, we only require the arg min of two problems to be identical, i.e. Pareto sets are valid in multiple situations and we do not have to store Pareto optimal trajectories. Two applications from autonomous driving demonstrate the efficiency and the additional control freedom this approach yields. In contrast to arbitrarily weighting different objectives, knowledge of the entire Pareto set gives the decision maker a much deeper insight and allows for a better selection of the compromise solution. Moreover, convexity cannot be guaranteed for nonlinear problems such that one is not necessarily able to compute all optimal compromises by weighting, as we have seen in the first example. By allowing variations of the objective priorization online, adaptivity to changing situations is increased in contrast to scalar-valued problem formulations. Alternatively, heuristics for choosing the weight depending on the current situation allow for the computation of nearly globally optimal solutions despite the real-time situation.
For future work, it will be interesting to develop error estimates for the interpolation procedure similar to what was presented in [40,41] for scalar-valued problems, and to interactively add elements to the library such that the maximum error is reduced. This way, the computational effort may be reduced while increasing the quality of the resulting trajectory. Furthermore, the results show that efficient heuristics for automatically choosing the weight parameter ρ are worth investigating.