Minimizing $L^1$ Norm Subject to Linear Dynamics

64 Views Asked by At

Suppose $u\in\mathbb{R}^m$, $x\in\mathbb{R}^n$, and define the linear dynamics of the system as

$$ \dot{x} = Ax+Bu $$

The problem that I am trying to solve is

$$ \min_{\|u\|_{\infty} \leq 1} \frac{1}{T}\|\lambda^\intercal u\|_1 = \frac{1}{T}\sum_{i=1}^{m}\lambda_i|u_i|, $$

where $\lambda\in\mathbb{R}_+^m$, $T>0$ is the fixed final time, the one-norm is defined as $\|u\|_1 \triangleq \sum_{i=1}^{m}|u_i|$, and the supremum-norm is defined as $\|u\|_{\infty} \triangleq \max_{i} |u_i|$. Thus, we can see this as a problem of minimizing the fuel spent, while constraining any one component of the control to be less than or equal to one. Additionally, we are the given the initial state $x_0$, and the final state $x_f$, which corresponds to the fixed final time $T$.

Analysis of such $L^1$ norm problems leads to sparse solutions, i.e. the control is only non-zero for a few intervals in $[0,t_f]$, and zero elsewhere. A paper that I am reading ("Maximum Hands-Off Control: A Paradigm of Control Effort Minimization") claims the following solution.

The optimal control scheme $u^*(t)$ that minimizes the above problem, subject to the linear state space dynamics, is given in component form as

$$ u_i^*(t) = -D_{\lambda_i/T}(B_i^\intercal p^*(t)), $$

where $B_i$ is the $i$th column of $B$, and $p\in\mathbb{R}^n$ is the costate. Note that there are $m$ such columns inside $B$ for the $m$ components of $u^*$. This function $D_{\lambda}(w)$ is the deadzone function, defined as: -1 when $w<-\lambda$; +1 when $w>+\lambda$; 0 when $-\lambda<w<+\lambda$; [-1,0] when $w=-\lambda$; [0,1] when $w=+\lambda$.Deadzone Function

A visual of the function can be seen above. The costate of the system comes from the Hamiltonian

$$ H(x,u,p) = \frac{1}{T}\lambda^\intercal \|u\|_1 + p^\intercal(Ax+Bu) $$ Anyways, trying to make sense of this solution, it is saying that $u_i$ will be zero when $B_i^\intercal p^*(t) = \lambda_i/T$. However, my problem is that I don't know the costate solution! According to the principle of optimality, the necessary conditions for an optimal control are

$$ \begin{align} H_{u_i} &= \frac{d}{du_i}H(x,u,p) = \frac{\lambda_i}{T}\text{sgn}(u_i) + (p^\intercal B)_i = 0\\ H_x &= \frac{d}{dx}H(x,u,p) = p^\intercal A = -\dot{p}^\intercal \end{align} $$

So, I can kind of see where the deadzone function comes into play from the first equation, but from the second equation, the costate dynamics are a fire order ODE, but with no initial condition since the final time and state are fixed. Thus, the solution for the costate is $$ p(t) = e^{A^\intercal t} p(0), $$ but again we don't know what $p(0)$ is. Thus, if we don't know what the costate is, how can we compute $u^*(t)$ (and subsequently $x^*(t)$)?