On shrinking horizon move-blocking predictive control
Hafsa Farooqi Lorenzo Fagiano Patrizio Colaneri


lemmaLemma
assumptionAssumption
theoremTheorem
corollaryCorollary
remarkRemark
propositionProposition
definitionDefinition
algoAlgorithm
proofProof



	

	

	

On shrinking horizon move-blocking predictive control
    Hafsa Farooqi, Lorenzo Fagiano, Patrizio ColaneriThe authors are with the Dipartimento di Elettronica, Informazione e Bioingegneria, Politecnico di Milano, Milano, Italy. E-mail addresses:
			{hafsa.farooqi| lorenzo.fagiano|lorenzo.fagiano| }@polimi.it 
    
=================================================================================================================================================================================================================================================================





§ INTRODUCTION

This manuscript contains technical details of recent results developed by the authors on shrinking horizon predictive control with a move-blocking strategy.



§ MOTIVATING APPLICATION: ENERGY EFFICIENT OPERATION OF TRAINS


Our theoretical developments are motivated by a real-world application under study in collaboration with a rail transport manufacturer, pertaining to the energy efficient operation of trains. Consider an electric train controlled by a digital control unit in discrete time, with sampling period T_s. Let us denote with k∈ℤ the discrete time variable, with x(k)=[x_1(k), x_2(k)]^T the state of the train, where x_1 is its position and x_2 its speed (·^T denotes the matrix transpose operator), and with u(k)∈[-1,1] a normalized traction force, where u(k)=1 corresponds to the maximum applicable traction and u(k)=-1 to the maximum braking. The input u is the available control variable. The train has to move from one station with position x_1=0 to the next one, with position x_1=x_f, in a prescribed time t_f. For a given pair of initial and final stations, the track features (slopes, curvature) are known in advance. Thus, in nominal conditions (i.e. with rated values of the train parameters, like its mass and the specifications of the powertrain and braking systems), according to Newton's laws and using the forward Euler discretization method, the equations of motion of a reasonably accurate model of this system read:

    [                                      x_1(k+1)= x_1(k)+T_s x_2(k); x_2(k+1)= x_2(k)+T_s (F_T(x(k),u(k))-F_B(x(k),u(k))-F_R(x(k))/M) ]

where M is the total mass of the train, F_T is the traction force, F_B is the braking force, and F_R the resistive force. Functions F_T(x,u), F_B(x,u) are nonlinear and they depend on the specific train and track profile. They include, for example, look-up tables that link the traction and braking forces to the train speed and to the control input value. These functions are derived either experimentally or from complex models of the train and its traction and braking systems. In our research, these are provided by the business unit at our industrial partner. More details on these functions are omitted for confidentiality reasons. The resistive force F_R(x) is also nonlinear, and it is the sum of a first term  R_v(x_2), accounting for resistance due to the velocity, and a second term R_g(x_1), accounting for the effects of slopes and track curvature:

    F_R(x)   =R_v(x_2)+R_g(x_1)
    
    R_v(x_2)   = A+ Bx_2 + Cx_2^2 
    
    R_g(x_1)    = M_s(gtan(α(x_1)) + D/r_c(x_1))

where the parameters A,B,C,D are specific to the considered train, M_s is the static mass of the train, i.e. the mass calculated without taking into account the effective inertia of the rotating components, r_c(x_1) and α(x_1) are, respectively, the track curvature and slope at position x_1, and g is the gravity acceleration. For example, an uphill track section corresponds to α(x_1)>0, i.e. a positive slope.

Besides the prescribed arrival time t_f and position x_f, there are additional state constraints that must be satisfied. These pertain to the limit on the maximum allowed velocity, x_2(x_1), which depends on the position x_1, since a different velocity limit is imposed for safety by the regulating authority according to the track features at each position. Overall, by defining the terminal time step k_f≐*t_f/T_s (where · denotes the flooring operation to the closest integer), the state constraints read: 

    [                     x(0)               = [0, 0]^T;                   x(k_f)             = [x_f, 0]^T;                   x_2(k)          ≥ 0,  k=0,…,k_f;                   x_2(k) ≤x_2(x_1(k)),  k=0,…,k_f ]











The control objective is to maximize the energy efficiency of the train while satisfying the constraints above. To translate this goal in mathematical terms, different possible cost functions can be considered. In our case, we consider the discretized integral of the absolute value of the traction power over time (with a constant scaling factor T_s^-1):

    J =∑_k=0^k_f|F_T(x(k),u(k))x_2(k)|.

This choice tends to produce controllers that minimize the traction energy injected into the system. The braking energy is not penalized, since in our case there is no restriction to the use of the braking system. 

As already pointed out, the input variable is also constrained in the interval u∈[-1,1]. When the controller operates fully autonomously, i.e. without a human driver in the loop, the whole  interval can be used. However, in a driver assistance scenario, i.e. when the control algorithm is developed to assist a human driver with a suggested value of the input handle, only a smaller set of possible values can be delivered by the controller, in order to facilitate the human-machine interaction.  In particular, in this scenario the input constraints are further tightened according to four possible operating modes prescribed by our industrial partner:

	
  * Acceleration: in this mode, the input can take one of three allowed values, i.e. u ∈{0.5, 0.75,1}.
	
	
  * Coasting: this mode implies that the traction is zero, i.e u=0.
	
	
  * Cruising: in this mode, the train engages a cruise control system that keeps a constant speed, i.e. u is computed by an inner control loop in such a way that F_T = F_R for positive slopes and F_B = F_R for negative slopes.
	
	
  * Braking: in this mode the maximum braking force is used, i.e. u=-1.
	

As a matter of fact, the modes above can be merged in just two: one with a finite integer number of possible input values u ∈{-1,0,0.5, 0.75,1} (which unites the Acceleration, Coasting and Braking modes), and one with the cruise control engaged. Finally, a further feature of this application is a relatively small sampling time T_s with respect to the imposed overall time horizon t_f, resulting in a rather large number of sampling periods in the interval [0, t_f], typically from several hundreds to a few thousands.



§ PROBLEM ABSTRACTION AND NOMINAL SBPC APPROACH

The control problem described in Section <ref> can be cast in a rather standard form:
 
	
    min_u ∑_k=0^k_fℓ(x(k),u(k))   
       subject to   
       x(k+1) = f(x(k),u(k))   
       u(k) ∈ U, k=0,…,k_f-1   
       x(k) ∈ X, k=1,…,k_f   
       x(0) = x_0   
       x(k_f)∈ X_f


where x ∈𝕏⊂ℝ^n is the system state, x_0 is the initial condition, u ∈𝕌⊂ℝ^m is the input, f(x,u):𝕏×𝕌→𝕏 is a known nonlinear mapping representing the discrete-time system dynamics, and l(x,u):𝕏×𝕌→ℝ is a stage cost function defined by the designer according to the control objective. The symbol u={u(0),…,u(k_f-1)}∈ℝ^m k_f represents the sequence of current and future control moves to be applied to the plant. The sets X⊂𝕏 and U⊂𝕌 represent the state and input constraints, and the set X_f⊂𝕏 the terminal state constraints, which include a terminal equality constraint as a special case. 

We recall that a continuous function a:ℝ^+→ℝ^+ is a 𝒦-function (a∈𝒦) if it is strictly increasing and a(0)=0. Throughout this paper, we consider the following continuity assumption on the system model f.

	The function f enjoys the following continuity properties:
	
    [ f(x^1,u)-f(x^2,u)≤ a_x(x^1-x^2), ∀ x^1,x^2∈𝕏, u∈𝕌; f(x,u^1)-f(x,u^2)≤ a_u(u^1-u^2), ∀ u^1,u^2∈𝕌, x∈𝕏 ]

	where a_x, a_u∈𝒦.□

In (<ref>) and in the remainder of this paper, any vector norm · can be considered. Assumption (<ref>) is  reasonable in most real-world applications, and it holds in the railway application considered here.

The nonlinear program (<ref>) is a Finite Horizon Optimal Control Problem (FHOCP). In the literature, many different solutions to solve this kind of a problem can be found, depending on the actual form of the system dynamics and constraints. One approach is to compute a (typically local) optimal sequence of inputs u^* and to apply it in open loop. This might be convenient when little uncertainty is present and the system is open-loop stable. Unfortunately, this is seldom the case. A much more robust approach is to resort to a feedback control policy u(k)=κ(x(k)). However, to derive explicitly such a feedback policy in closed form is generally not computationally tractable, due to the presence of system nonlinearities and constraints. A common way to derive implicitly a feedback controller is to adopt a receding horizon strategy, where the input sequence is re-optimized at each sampling time k and only the first element  of such a sequence, u^*(k), is applied to the plant. Then, the feedback controller is implicitly defined by the solution of a FHOCP at each k, where the current measured (or estimated) state x(k) is used as initial condition. This approach is well-known as Nonlinear Model Predictive Control (NMPC), and is adopted here as well, however with two particular differences with respect to the standard formulation: 

	
  * First, since in our problem the terminal time k_f is fixed, the resulting strategy features a shrinking horizon rather than a receding one. Indeed, here the goal is to make the state converge to the terminal set in the required finite time, and not asymptotically as usually guaranteed by a receding horizon strategy;
	
  * Second, we adopt a move-blocking strategy (see e.g. <cit.>) to reduce the computational burden required by the feedback controller. This is motivated by applications like the one described in Section <ref>, featuring  values of k_f of the order of several hundreds to thousands. The corresponding number of decision variables, combined with the system nonlinearity, often results in a prohibitive computational complexity when all the predicted control moves are free optimization variables.

To the best of our knowledge, the combined presence of nonlinear dynamics, shrinking horizon, and move-blocking strategy is new in the literature. We named the resulting control approach Shrinking horizon Blocking Predictive Control (SBPC). We present next the optimal control problem to be solved at each time step in SBPC, followed by a pseudo-algorithm that realizes this control approach and by a proof of convergence in nominal conditions.



 §.§ Shrinking horizon Blocking Predictive Control (SBPC)

We consider a move blocking strategy, where the control input is held constant for a certain time interval. Let us denote with L the maximum number of blocked control moves in each interval within the prediction horizon. Moreover, we consider that each interval contains exactly L blocked moves, except possibly the first one, which can contain a number between 1 and L of blocked input vectors. In this way, for a given value of k∈[0, k_f-1], the number N(k) of intervals (i.e. of different blocked input vector values to be optimized) is equal to (see Fig. <ref> for a graphical representation) :

    N(k)= *k_f-k/L,

where . denotes the ceiling operation to the closest integer. Let us denote with v_N(k)={v(1), …,v(N(k))}∈ℝ^m N(k), where v(·)∈𝕌, the sequence of free input values to be optimized, i.e. the values that are held constant within each interval of the blocked input sequence (see Fig. <ref>) and with u(j|k) the input vector at time k+j predicted at time k. Then, with the described blocking strategy, at each k the values of u(j|k) are computed as:

    u(j|k)=g(v_N(k),j,k)≐ v(*j+k-*k/LL/L+1)

Finally, let us denote with x(j|k), j = 0,...,k_f-k the state vectors predicted at time k+j starting from the one at time k. At each time k∈[0, k_f-1], we formulate the following FHOCP:
 
	
    min_v_N(k) ∑_j=0^k_f-kℓ(x(j|k),u(j|k))   
       subject to   
       u(j|k)=g(v_N(k),j,k), j = 0,…,k_f-k-1       
       x(j+1|k) = f(x(j|k),u(j|k)), j=0,…,k_f-k-1   
       u(j|k) ∈ U, j=0,…,k_f-k-1   
       x(j|k) ∈ X, j=1,…,k_f-k   
       x(0|k) = x(k)   
       x(k_f-k|k)∈ X_f


We denote with v_N(k)^*={v^*(1), …,v^*(N(k))} a solution (in general only locally optimal) of (<ref>). Moreover, we denote with x^*(k) and u^*(k) the corresponding predicted sequences of state and input vectors:
 

    x^*(k)   =   {x^*(0|k),…, x^*(k_f-k|k)}
    u^*(k)   =   {u^*(0|k),…, u^*(k_f-1-k|k)}
    where
    
    x^*(0|k)   =   x(k)
    
    x^*(j+1|k)   =   f(x^*(j|k),u^*(j|k))
    
    u^*(j|k)   =   g(v_N(k)^*,j,k)


The SBPC strategy is obtained by recursively solving (<ref>), as described by the following pseudo-algorithm.

	Nominal SBPC strategy
	
		
  * At sampling instant k, measure or estimate the state x(k) and solve the FHOCP  (<ref>). Let v_N(k)^* be the computed solution;
		
  * Apply to the plant the first element of the sequence v_N(k)^*, i.e. the control vector u(k)=u^*(0|k)=v^*(1);
		
  * Repeat the procedure from 1) at the next sampling period.□
	

Algorithm <ref> defines the following feedback control law:

    u(k)=μ(x(k)):=u^*(0|k),
 
and the resulting model of the closed-loop system is:

    x(k+1)= f(x(k),μ(x(k))


 In the approach described so far, the number N(k) of predicted inputs to be optimized decreases from N(1)=*k_f/L to N(k_f-1)=1, see Fig. <ref>. Another approach that can be used with little modifications is to keep a constant value of N=N(1), and to reduce the number of blocked input values in each interval as k increases, up until the value k=k_f-N(1) is reached, after which each predicted input vector is a free variable and their number shrinks at each k. This second strategy has the advantage to retain more degrees of freedom in the optimization as time approaches its final value.

We conclude this section with a Lemma on the recursive feasibility of (<ref>) and convergence of the state of  (<ref>) to the terminal set.  
 Assume that the FHOCP (<ref>) is feasible at time k=0. Then, the FHOCP (<ref>) is recursively feasible at all k=1,…,k_f-1 and the state  of the closed loop system (<ref>) converges to the terminal set X_f at time k_f. ▪

Proof. Recursive feasibility is established by construction, since at any time k+1 one can build a feasible sequence v_N(k+1) either by taking v_N(k+1)=v_N(k)^*,  if N(k+1)=N(k), or by taking v_N(k+1)={v^*(2), …,v^*(N(k))} (i.e. the tail of v_N(k)^*), if N(k+1)=N(k)-1. Convergence to the terminal set is then achieved by considering that constraint (<ref>) is feasible at time k=k_f-1.
▪




 So far, we have disregarded any mismatch between the model f(x,u) and the real plant, like the presence of model uncertainty and external disturbances. For this reason, we termed the SBPC approach of Algorithm <ref> the “nominal” one. In the next section, we introduce a model of uncertainty, whose form is motivated again by the application described in Section <ref>, and two possible variations of Algorithm <ref> to deal with it, along with their guaranteed convergence properties. We term these variations the “relaxed”  approaches, since they  involve the use of suitable soft (i.e. relaxed) constraints to guarantee recursive feasibility.


 Convergence to X_f does not necessarily imply forward invariance of such a set under the described control scheme (which is by the way not well defined for k>k_f). The capability to keep the state within the terminal set depends on how such a set  is defined (e.g. it holds when X_f contains equilibrium points for the model f(x,u)) and in general it is not required by the considered problem setup. This automatically implies that we don't have to assume the existence of any terminal control law as usually done in standard NMPC formulations. On the other hand, in our motivating application the terminal set X_f actually corresponds to an equilibrium point (namely with zero speed, and position equal to the arrival station, see (<ref>)), thus in this case nominal forward invariance is guaranteed for k>k_f.

 


§ RELAXED SBPC APPROACHES: ALGORITHMS AND PROPERTIES


Following Remark <ref>, to model the system uncertainty and disturbances we consider an additive term  d(k) acting on the input vector, i.e.:

    ũ(k)=u(k)+d(k)

where ũ(k) is the disturbance-corrupted input provided to the plant. This model represents well all cases where plant uncertainty and exogenous disturbances can be translated into an effect similar to the control input (the so-called matched uncertainty). For example, in our motivating application with straightforward manipulations, equation (<ref>) can describe uncertainty in the train mass, drivetrain specs, track slope and curvature, as well as the discretization of u^*(0|k) and/or misapplication by the human operator in a driver assistance scenario (see Section <ref>).

We consider the following assumption on d:

 
	The disturbance term d belongs to a compact set 𝔻⊂ℝ^m such that:
	
    d≤d, ∀ d∈𝔻

	where d∈(0,+∞).□


This assumption holds in many practical cases and in the considered train application as well. We indicate the perturbed state trajectory due to the presence of d as:

    x̃(k+1)=f(x̃(k),ũ(k)), k=0,…,k_f

where x̃(0)=x(0). Now, referring to  Proposition <ref>, the convergence guarantees achieved in the nominal case are a direct consequence of the recursive feasibility property, which can be easily lost in presence of the disturbance d, due to the deviation of perturbed trajectory from the nominal one. As commonly done in standard NMPC, to retain recursive feasibility, we therefore soften the constraints in the FHOCP. However, in general the use of soft constraints does not guarantee that, in closed-loop operation, the operational constraints are satisfied, or even that the constraint violation is uniformly decreasing as the worst-case disturbance bound d gets smaller. For simplicity and to be more specific, from now on let us restrict our analysis to the terminal state constraint in (<ref>), i.e. x(k_f)∈ X_f. We do so without loss of generality, since the results and approaches below can be extended to any state constraint in the control problem. On the other hand, in our railway application the terminal state constraint is the most important one from the viewpoint of system performance. The other constraints (velocity limits) are always enforced for safety by modulating traction or by braking.
Let us denote the distance between a point x and a set X as:

    Δ(x,X)=min_y∈ Xx-y.

Then, we want to derive a modified SBPC strategy with softened terminal state constraint (to ensure recursive feasibility) that guarantees a property of the following form in closed loop:

    Δ(x̃(k_f),X_f)≤β(d), β∈𝒦.

That is, the distance between the terminal state and the terminal constraint is bounded by a value that decreases strictly to zero as d→ 0. In order to obtain this property, we propose a relaxed SBPC approach using a two-step constraint softening procedure, described next.



 §.§ Two-step relaxed SBPC strategy


At each time k we consider a strategy consisting of  two optimization problems to be solved in sequence:

	
  a) we compute the best (i.e. smallest) achievable distance between the terminal state and the terminal set, starting from the current perturbed state x̃(k): 
	
    γ=min_v_N(k),γ γ   
       subject to   
       u(j|k)=g(v_N(k),j,k), j = 0,…,k_f-k-1       
       x(j+1|k) = f(x(j|k),u(j|k)), j=0,…,k_f-k-1   
       u(j|k) ∈ U, j=0,…,k_f-k-1   
       x(j|k) ∈ X, j=1,…,k_f-k   
       x(0|k) = x̃(k)   
       Δ(x(k_f-k|k),X_f)≤γ

	
  b) we optimize the input sequence using the original cost function, and softening the terminal constraint by γ: 
	
    min_v_N(k) ∑_j=0^k_f-kℓ(x̃(j|k),u(j|k))   
       subject to   
       u(j|k)=g(v_N(k),j,k), j = 0,…,k_f-k-1       
       x(j+1|k) = f(x(j|k),u(j|k)), j=0,…,k_f-k-1   
       u(j|k) ∈ U, j=0,…,k_f-k-1   
       x(j|k) ∈ X, j=1,…,k_f-k   
       x(0|k) = x̃(k)   
       Δ(x(k_f-k|k),X_f)≤γ



By construction, both problems are always feasible (with the caveat that state constraints are considered to be always feasible, as discussed above, otherwise the  softening shall be applied to these constraints as well). We  denote with v_N(k)^r, x^r(k) and u^r(k) the optimized sequences of decision variables, state and inputs resulting from the solution of (<ref>). The sequences x^r(k) and u^r(k) are computed from v_N(k)^r and x̃(k) as reported in (<ref>). Finally, we note that the disturbance is not explicitly considered in problems (<ref>)-(<ref>), which  still employ the nominal model for the predictions.

The resulting relaxed SBPC strategy is implemented by the following pseudo-algorithm.

	Two-stage relaxed SBPC strategy
	
		
  * At sampling instant k, measure or estimate the state x̃(k) and solve in sequence the optimization problems (<ref>)-(<ref>). Let v_N(k)^r be the computed solution;
		
  * Apply to the plant the first element of the sequence v_N(k)^r, i.e. the control vector u(k)=u^r(0|k)=v^r(1);
		
  * Repeat the procedure from (1) at the next sampling period.□
	


Algorithm <ref> defines the following feedback control law:

    u(k)=μ^r(x̃(k)):=u^r(0|k),
 
and the resulting closed-loop dynamics are given by:

    x̃(k+1)= f(x̃(k),μ^r(x̃(k))+d(k)).





The next result shows that the closed-loop system (<ref>) enjoys a uniformly bounded accuracy property of the form (<ref>), provided that the nominal SBPC problem (<ref>) is feasible at k=0.
 Let Assumptions <ref> and <ref> hold and let  the FHOCP (<ref>) be feasible at time k=0. Then, the terminal state x̃(k_f) of system (<ref>) enjoys  property (<ref>) with

    Δ(x̃(k_f),X_f)≤β(d)=∑_k=0^k_f-1β_k_f-k-1(d)
	
where




    [                            β_0(d)                                 =                            a_u(d);                            β_k(d)                                 = a_u(d)+a_x(β_k-1(d)), k=1,…,k_f-1;                                   ]

	 ▪

Proof. The proof is by induction. Start at k=0 and consider the nominal optimized sequences x^*(k), u^*(k) obtained by solving problem (<ref>). We first evaluate the worst-case perturbation induced by the disturbance with respect to the open-loop state trajectory x^*(k). For a sequence of disturbances d(j|k), j=0,…,k_f-k, the corresponding open-loop input and state trajectories are:

    [    ũ(j|k)=u^*(j|k)+d(j|k), j=0,…,k_f-k-1;                         x̃(0|k)=x^*(0|k); x̃(j+1|k)=f(x̃(j|k),ũ(j|k)), j=1,…,k_f-k ]

From (<ref>) we have:

    [ x̃(1|0)-x^*(1|0) =f(x(0),ũ(0|0))-f(x(0),u^*(0|0))≤;               a_u(ũ(0|0)-u^*(0|0)) ≤ a_u(d)=β_0(d) ]

Consider now the perturbation 2-steps ahead: 

    [                         x̃(2|0)-x^*(2|0)=;   f(x̃(1|0),ũ(1|0))-f(x^*(1|0),u^*(1|0))=;    f(x̃(1|0),ũ(1|0))-f(x̃(1|0),u^*(1|0))+; f(x̃(1|0),u^*(1|0))-f(x^*(1|0),u^*(1|0))≤;            a_u(d)+ a_x(x̃(1|0)-x^*(1|0))≤;                a_u(d)+a_x(β_0(d))=β_1(d). ]

By iterating up until the second last time step we obtain:

    x̃(k_f|0)-x^*(k_f|0)≤β_k_f-1(d),

where β_k_f-1∈𝒦 since it is given by compositions and summations of class-𝒦 functions. Since the FHOCP (<ref>) is feasible, we  have x^*(k_f|0)∈ X_f, i.e. Δ(x^*(k_f|0),X_f)=0 and thus:

    [                       Δ(x̃(k_f|0),X_f)                                      ≤ x̃(k_f|0)-x^*(k_f|0)+Δ(x^*(k_f|0),X_f);                                                                             ≤                            β_k_f-1(d). ]

Now consider k=1 and the FHOCP (<ref>). If the optimizer is initialized with blocked control moves v_N(1) such that the tail of the previous optimal sequence u^*(0) is applied to the system, the corresponding minimum γ in (<ref>) results to be upper bounded by β_k_f-1(d), in virtue of (<ref>). The optimal value γ is therefore not larger than this bound as well:

    γ|_k=1.≤β_k_f-1(d).

Now take the optimal sequences x^r(1) and u^r(1) computed by solving the FHOCP (<ref>). By applying the same reasoning as we did for k=0, we have (compare with (<ref>)):

    x̃(k_f|1)-x^r(k_f|1)≤β_k_f-2(d).

Moreover, equation (<ref>) implies that the solution of (<ref>) satisfies the following inequality:

    Δ(x^r(k_f|1),X_f)≤γ|_k=1.

From (<ref>)-(<ref>) we have:

    [ Δ(x̃(k_f|1),X_f)≤x̃(k_f|1)-x^r(k_f|1)+Δ(x^r(k_f|1),X_f)≤;               β_k_f-2(d)+β_k_f-1(d)=∑_k=0^1β_k_f-k-1(d). ]

By applying recursively the same arguments, the bound (<ref>) is obtained.	 ▪

Theorem <ref> indicates that the worst-case distance between the terminal state and the terminal set is bounded by a value which is zero for d=0 and increases strictly with the disturbance bound. In the considered railway application this means that, for example, the worst-case accuracy degradation in reaching the terminal station due to a discretization of the input, as done in the driver assistance mode, is proportional to the largest employed quantization interval of the input handle. This result provides a theoretical justification to the proposed two-step relaxed SBPC approach. The bound (<ref>) is conservative, since it essentially results from the accumulation of worst-case perturbations induced by the disturbance on the open-loop trajectories computed at each k. As we show in our simulation results, in practice the resulting closed-loop performance are usually very close to those of the nominal case, thanks to recursive optimization in the feedback control loop.



 §.§ Multi-objective relaxed SBPC strategy

As an alternative to the two-step approach described above, one can also consider a multi-objective minimization:
 
	
    min_v_N(k),β ∑_j=0^k_f-kℓ(x̃(j|k),u(j|k))+ωγ   
       subject to   
       u(j|k)=g(v_N(k),j,k), j = 0,…,k_f-k-1       
       x(j+1|k) = f(x̃(j|k),u(j|k)), j=0,…,k_f-k-1   
       u(j|k) ∈ U, j=0,…,k_f-k-1   
       x(j|k) ∈ X, j=1,…,k_f-k   
       x(0|k) = x̃(k)   
       Δ(x(k_f-k|k),X_f)≤γ


where ω is a positive weight on the scalar γ. Problem (<ref>) can be solved in Algorithm (<ref>) in place of problems (<ref>)-(<ref>). In this case, the advantage is that a trade-off between constraint relaxation and performance can be set by tuning ω. Regarding the guaranteed bounds on constraint violation, with arguments similar to those employed in <cit.> one can show that, at each k∈[0,k_f-1], for any ε>0 there exists a finite value of ω such that the distance between the terminal state and the terminal set is smaller than γ_k_f-k-1(d)+ε. Thus, with large-enough ω, one can recover the behavior obtained with the two-step relaxed SBPC approach. The theoretical derivation is omitted for the sake of brevity, as it is a rather minor extension of the results of  <cit.>.




10
	
	aradi2014design
	Szilárd Aradi, Tamás Bécsi, and Péter Gáspár.
	Design of predictive optimization method for energy-efficient
	operation of trains.
	In European Control Conference (ECC), pages 2490–2495, 2014.
	
	MPCbook2017
	VF. Borrelli, A. Bemporad, and M. Morari.
	Predictive Control for Linear and Hybrid Systems.
	Cambridge University Press, 2017.
	
	cagienard2007move
	Raphael Cagienard, Pascal Grieder, Eric C Kerrigan, and Manfred Morari.
	Move blocking strategies in receding horizon control.
	Journal of Process Control, 17(6):563–570, 2007.
	
	fagianoTeel2013
	L. Fagiano and A.R.Teel.
	Generalized terminal state constraint for model predictive control.
	Automatica, 49(5):2622–2631, 2013.
	
	gondhalekar2007recursive
	Ravi Gondhalekar and Jun-ichi Imura.
	Recursive feasibility guarantees in move-blocking MPC.
	In 46th IEEE Conference on Decision and Control, pages
	1374–1379, 2007.
	
	gondhalekar2007strong
	Ravi Gondhalekar and Jun-ichi Imura.
	Strong feasibility in input-move-blocking model predictive control.
	IFAC Proceedings Volumes, 40(12):816–821, 2007.
	
	gondhalekar2010least
	Ravi Gondhalekar and Jun-ichi Imura.
	Least-restrictive move-blocking model predictive control.
	Automatica, 46(7):1234–1240, 2010.
	
	gondhalekar2009controlled
	Ravi Gondhalekar, Jun-ichi Imura, and Kenji Kashima.
	Controlled invariant feasibility - a general approach to enforcing
	strong feasibility in MPC applied to move-blocking.
	Automatica, 45(12):2869–2875, 2009.
	
	Goodwin_b
	G. C. Goodwin, M. M. Seron, and J. A. De Don.
	Constrained control and estimation: an optimisation approach.
	Springer, London, 2005.
	
	li2015fast
	Shengbo Eben Li, Zhenzhong Jia, Keqiang Li, and Bo Cheng.
	Fast online computation of a model predictive controller and its
	application to fuel economy–oriented adaptive cruise control.
	IEEE Transactions on Intelligent Transportation Systems,
	16(3):1199–1209, 2015.
	
	Mayne14
	D.Q. Mayne.
	Model predictive control: Recent developments and future promise.
	Automatica, 50:2967–2986, 2014.
	
	QuBa03
	S.J. Qin and T.A. Badgwell.
	A survey of industrial model predictive control technology.
	Control Engineering Practice, 11:733–764, 2003.
	
	scheepmaker2017review
	Gerben M Scheepmaker, Rob MP Goverde, and Leo G Kroon.
	Review of energy-efficient train control and timetabling.
	European Journal of Operational Research, 257(2):355–376,
	2017.
	
	shekhar2012robust
	Rohan C Shekhar and Jan M Maciejowski.
	Robust variable horizon mpc with move blocking.
	Systems & Control Letters, 61(4):587–594, 2012.
	
	valencia2011alternative
	G Valencia-Palomo, JA Rossiter, CN Jones, Ravi Gondhalekar, and B Khan.
	Alternative parameterisations for predictive control: How and why?
	In American Control Conference (ACC), 2011, pages 5175–5180,
	2011.
	
	yu2016stable
	Mingzhao Yu and Lorenz T Biegler.
	A stable and robust NMPC strategy with reduced models and
	nonuniform grids.
	IFAC-PapersOnLine, 49(7):31–36, 2016.
	



