Let $J\left(U_{0},\ldots,U_{N-1}\right)=\sum_{k=0}^{N}trace\left(X_{k}^{*}X_{k}\right)$,

where $X_{0}$ is given and $X_{k+1}=A_{k}X_{k}+B_{k}U_{k}$, for $k=0,\ldots,N-1$, where $X_{k}$ is $m\times n$ matrix, $A_{k}$ is $m\times m$ matrix, $B_{k}$ is $m\times p$ matrix and $U_{k}$ is 0-1 $p\times n$ matrix, for $k=0,\ldots,N-1$.

The problem is: Find $\max J\left(U_{0},\ldots,U_{N-1}\right)$ uder the constraints: $X_{k+1}=A_{k}X_{k}+B_{k}U_{k}$ and $U_{k}$ are 0-1 matrices, for $k=0,\ldots,N-1$. Also, find a sequence $U_{0},\ldots,U_{N-1}$ of 0-1 matrices, for which $\max J\left(U_{0},\ldots,U_{N-1}\right)$ is acheived.

Unfolding the dynamics:

\begin{equation}

\begin{aligned}

X_{1}&=A_{0}X_{0}+B_{0}U_{0}\\

X_{2}&=A_{1}X_{1}+B_{1}U_{1}\\

&\vdots\\

X_{N}&=A_{N-1}X_{N-1}+B_{N-1}U_{N-1},

\end{aligned}

\end{equation}

implies

\begin{equation}

\begin{aligned}

X_{1}&=A_{0}X_{0}+B_{0}U_{0}\\

X_{2}&=A_{1}A_{0}X_{0}+A_{1}B_{0}U_{0}+B_{1}U_{1}\\

&=A_{1:0}X_{0}+A_{1}B_{0}U_{0}+B_{1}U_{1}\\

&\vdots\\

X_{k}&=A_{k-1:0}X_{0}+A_{k-1:1}B_{0}U_{0}+A_{k-1:2}B_{1}U_{1}+\cdots+A_{k-1:k-1}B_{k-2}U_{k-2}+B_{k-1}U_{k-1}\\

&\vdots\\

X_{N}&=A_{N-1:0}X_{0}+A_{B-1:1}B_{0}U_{0}+A_{N-1:2}B_{1}U_{1}+\cdots+A_{N-1:N-1}B_{T-2}U_{N-2}+B_{N-1}U_{N-1},

\end{aligned}

\end{equation}

where $A_{i:j}=A_{i}A_{i+1}\cdots A_{j}$, for any $0\leq i\leq j\leq N-1$.

Writing the last in matrix form, it follows that

\begin{equation}

\begin{aligned}

&\left[\begin{array}{c}X_{1}\\X_{2}\\\vdots\\X_{k}\\\vdots\\X_{N}\end{array}\right]=\left[\begin{array}{c}A_{0:0}\\A_{1:0}\\\vdots\\A_{k-1:0}\\\vdots\\A_{N-1:0}\end{array}\right]X_{0}+\\

&+\left[\begin{array}{cccccccc}

B_{0}&0&0&0&0&0&\cdots&0\\

A_{1:1}B_{0}&B_{1}&0&0&0&0&\cdots&0\\

\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\

A_{k-1:1}B_{0}&A_{k-1:2}B_{1}&\cdots&A_{k-1:k-1}B_{k-2}&B_{k-1}&0&\cdots&0\\

\vdots&\vdots&\vdots&\vdots&\vdots&\vdots&\vdots\\

A_{N-1:1}B_{0}&A_{N-1:2}B_{1}&\cdots&\cdots&\cdots&\cdots&A_{N-1:N-1}B_{N-2}&B_{N-1}

\end{array}\right]

\left[\begin{array}{c}U_{0}\\U_{1}\\\vdots\\U_{k-1}\\\vdots\\U_{N-1}\end{array}\right],

\end{aligned}

\end{equation}

which is written as

\begin{equation}

{\cal X}={\cal A}X_{0}+{\cal B}{\cal U}.

\end{equation}

One can now apply the Lagrange method (under the constraint that ${\cal U}$ is an $Np\times n$ $0-1$ matrix) in order to find an optimal solution. However, it was found that the Lagrange method reveals nothing but a brute-force search. Therefore, the constraint was relaxed to finding a solution on the boundary of the ball of matrices with center $\frac{1}{2}{\bf 1}_{Np\times n}$ and radius $\frac{1}{2}\sqrt{Npn}$ (where ${\bf 1}_{Np\times n}$ denotes the $Np\times n$ matrix of $1$'s). The Lagrange method has now revealed an optimal solution that can be approximated in polynomial time. The solution is given as

\begin{equation}

{\cal U}\left(\lambda\right)=\left(\lambda I_{Ns}+{\cal B}^{*}{\cal B}\right)^{-1}\left(\frac{1}{2}\lambda{\bf 1}_{Ns\times n}-{\cal B}^{*}{\cal A}X_{0}\right),

\end{equation}

where $\lambda >0$, and an approximation can be found by applying Newton's method to find $\lambda>0$ for which $\left\|{\cal U}\left(\lambda\right)-\frac{1}{2}\lambda{\bf 1}_{Ns\times n}\right\|_{F}=\frac{1}{2}\sqrt{Npn}$.

My question is: How can Dynamic Programming be utilized to reduce the complexity further?

More Yossi Peretz's questions See All
Similar questions and discussions