Finding a Control Law

Assuming that a discrete game has been constructed using the feasability checks described in the previous section and that a desired exit facet has been found for the simplex a control law needs to be found.

Effectively this means that an input in the feasible set needs to be found for each vertex. To accomplish this some linear objective function needs to be specified, J(s), with J being a linear map. LMI solvers such as the one in Matlab can then find a feasible solution to the system of LMIs which minimises the objective function. Two such functions have been designed for the purpuses of this algorithm; one minimises the control input at any given instance in time while the other tries to maximise the probability of leaving via a specific simplex.

Minimizing the input at each time instant

As minimizing the input at each time instant is equal to minimizing the input at each point in the simplex, this can due to convexity be reduced to minimizing the input at the vertices. This can be achieved by the objective function J=sum u_i^Tu_i, as the input at each vertex is independent of the inputs at the other vertices.

Obviously this is not a linear objective function but using an auxiliary variable and a Schur complement a linear equivalent can be found. For each u_i minimizing w_i subject to u_i^Tu_i<w_i will minimize J i.e. min(sum w_i) Rightarrow min(j)

The inequality can be rewritten as:
  u_i^Tu_i<w_i Leftrightarrow w_i-u_i^Tu_i>0 Rightarrow begin{bmatrix} w_i &u_i^T  u_i & 1 end{bmatrix}>0

This is an LMI and can be added to the system of LMIs and the linear objective function J_2=sum w_i can be minised to yield u_i minimising J.

Increasing likelyhood of leaving through desired facet

To increase the likelyhood of leaving through a given facet, i, the derivative in the direction of that facet can be maximised maxleft{sum^j n_i^T(Av_j+Bu_j+C)right}=maxleft{sum^jBu_jright} with j=1dots N denoting the vertices of desired exit facet. Furhtermore the derivative in the direction of the unblockable facets, k=1dots P, can be minimized minleft{sum^{l(k),k}n_k^T(Av_{l(k)}+Bu_{l(k)}+C)right}=minleft{sum^{l,k}Bu_{l(k)}right}, with P being the number of unblockable facets and l(k)=1dots N demotes the vertices of unblockable facet k.

These to objective can be combined toJ=-alphasum^jBu_j+sum^{l,k}Bu_{l(k)}, which is a linear map in u, with alpha being a weighting parameter adjusting the desire to push towards the facet with the desire to keep away from unblockable facets . There is no proof available that this objective function yields the maximum likelyhood of leaving through the desired facet, but the compromise with alpha=1 seems reasonable, but it might yield better results to set alpha=0 as staying away from the uncontrollable facets will cause the state to leave the simplex via the desired facet.

Computing the control law

Using the methods from the previous sections to find the desired input at the vertices, u_i an affine control law, u=kx+g, can be found.

First notice that
 label{eq:kg} begin{bmatrix} u_1 &ldots & u_n end{bmatrix}= begin{bmatrix} k & g end{bmatrix} begin{bmatrix} v_1 & ldots & v_n  1  &  1 & 1 end{bmatrix}
for the affine control law to yield the desired inputs at the vertices. As shown in [bib.html this control law is unique and as a consequence V=begin{bmatrix} v_1 & ldots & v_n  1  &  1 & 1 end{bmatrix} is invertible yielding
 label{eq:kandg} begin{bmatrix} k & g end{bmatrix}= begin{bmatrix} u_1 &ldots & u_n end{bmatrix}V^{-1}