دانشگاه صنعتي اميركبير دانشكده مهندسي پزشكي Constraints in MPC کنترل پيش بين-دکتر توحيدخواه
Infeasibility implies that, for the current state, the constraints within the MPC algorithm cannot be satisfied. Without feasibility the MPC optimisation is ill posed and there is no assurance that the answer has any useful meaning. MPC looks at mechanisms for overcoming or avoiding this. Feasibility in MPC
Hard constraints Hard constraints are constraints which must be satisfied.
Soft constraints Soft constraints are those which should be satisfied if possible. Soft constraints can be violated (ignored). Usually soft constraints are on outputs/states although they could also be applied to inputs. Such violations may have no effect on nominal stability results.
Summary: Constraints are a combination of hard, soft and terminal constraints.
Model uncertainty may cause infeasibility because the actual behaviour differs from the predicted behaviour. Hence, even though the nominal predictions could satisfy constraints over the entire future, a small change in the model will cause the actual behaviour to differ, and the associated predictions at the subsequent sampling instant could then violate constraints. Model uncertainty
One can form algorithms based on invariant sets (Section 11.11) to handle model uncertainty; however, the results are usually very conservative, as guarantees must allow for the worst case (which will arise with negligible probability). A more pragmatic approach is to accept that guarantees cannot be given where there is significant uncertainty and make other contingencies for the rare occasions where infeasibility arises. Model uncertainty (cont.)
The stronger a guarantee you want, the more conservative your control law will be. In practise there must be a compromise between feasibility assurances and performance. Feasibility would usually be ensured by a systematic relaxation of soft constraints. This would be determined at a supervisory level.
Using artificially tight constraints on future predictions automatically builds in some slack which can be used to retain feasibility in the presence of moderate uncertainty. The slack should be montonically increasing with the horizon. Example: input limits:
Example 1. A mathematical model for an undamped oscillator is given by:
What happens if the control amplitude is limited to +/- 25 ?
There are three major types of constraints frequently encountered in applications: The first two types deal with constraints imposed on the control variables u(k), and the third type of constraint deals with output y(k) or state variable x(k) constraints.
Constraints on the Amplitude of the Control Variable
در بيهوشی بعنوان مثال : Constraints on the Control Variable Incremental Variation
Output Constraints Output constraints are often implemented as ‘soft’ constraints in the way that a slack variable sv > 0 is added to the constraints
Constraints in a Multi-input and Multi-output Setting
Illustration of no feasible solution of the constrained optimization problem. Solid-line x1 + x2 = 1; darker-solid-line 2x1 +2x2 = 6
Example 7: How the number of equality constraints is also an issue in the constrained optimal solution? (Ex. 5) We add an extra constraint to the original constraints so that:
The only feasible solution: In summary, the number of equality constraints is required to be less than or equal to the number of decision variables (i.e., x). If the number of equality constraints equals the number of decision variables, the only feasible solution is the one that satisfies the constraints and there is no additional variable in x that can be used to optimize the original objective function.
Minimization with Inequality Constraints In the minimization with inequality constraints, the number of constraints could be larger than the number of decision variables. An inequality M i x ≤ γ i is said to be active if M i x = γ i and inactive if M i x < γ i.
The third constraint is an inactive constraint and will be dropped from the constrained equation set. The first two constraints as the active constraints, and solve the optimization problem as minimizing: subject to:
From Example 5: We drop the second constraint and solve the optimization problem as: subject to:
1. In the case of equality constraints, the maximum number of equality constraints equals the number of decision variables. In this example, it is 3, and the only feasible solution x is to satisfy the equality constraints (see (2.50)). In contrast, in the case of inequality constraints, the number of inequality constraints is permitted to be larger than the number of decision variables, as long as they are not all active. In this example, only one constraint becomes active so it becomes an equality constraint. Once the optimal solution is found against this active constraint, the rest of the inequalities are automatically satisfied.
2. It is clear that an iterative procedure is required to solve the optimization problem with inequality constraints, because we did not know which constraints would become active constraints. If the active set could be identified in advance, then the iterative procedure would be shortened.
3. Note that the conditions for the inequality constraints are more relaxed than the case of imposing equality constraints. For instance, the number of constraints is permitted to be greater than the number of decision variables, and the set of inequality constraints is permitted to be linearly dependent. However, these relaxations are only permitted to the point that the active constraints need to be linearly independent and the number of active constraints needs to be less than or equal to the number of decision variables.
Primal-Dual Method The minimization over x is unconstrained and is attained by Substituting this, the dual problem is written as:
Hildreth’s Quadratic Programming Procedure (Luenberger,1969, Wismer and Chattergy, 1978) In this algorithm, the direction vectors were selected to be equal to the basis vectors ei = [0 0... 1... 0 0]T. Then, the λ vector can be varied one component at a time. At a given step in the process, having obtained a vector λ ≥ 0, we fix our attention on a single component λi. The objective function may be regarded as a quadratic function in this single component. We adjust λi to minimize the objective function. If that requires λi < 0, we set λi = 0. In either case, the objective function is decreased. Then, we consider the next component λi+1. If we consider one complete cycle through the components to be one iteration taking the vector λm to λm+1,
Hildreth’s Quadratic Programming Procedure converged λ ∗ vector contains either zero or positive values
Remarks: Hildreth’s quadratic programming algorithm is based on an element- by-element search, therefore, it does not require any matrix inversion. As a result, if the active constraints are linearly independent and their number is less than or equal to the number of decision variables, then the dual variables will converge. As we will observe in the coming examples, the algorithm will give a compromised, near-optimal solution with constraints if the situation of conflict constraints arises. This is one of the key strengths of using this approach in real-time applications, because the algorithm’s ability to automatically recover from an ill-conditioned constrained problem is paramount for the safety of plant operation.