Dynamic programming problem for discrete linear time varying system

353 Views Asked by At

I'm working on a linear time varying discrete(LTV) multi input multi output(mimo) system. I formulate the problem description in the following way

$$x_i(k+1) = x_i(k)\cdot A_i(k) + B_i(k)\cdot u_i(k)$$

The above difference equation is true for each unit $i=1,2,3,\ldots$ at $k_\text{th}$ fixed time period/interval.

I defined the cost function at $k$th period is $C(k)=\alpha\sum_{i=1}^{i=n}x_i^3(k)$ and the cost for each unit $i$ at $k$th period is $C_i(k)=\alpha x_i^3(k)$ where $\alpha$ is a constant.

The total cost in time $T$ can be calculated as $J=\sum_{k=0}^{k=T-1}C(k)$.

The optimization problem is as follows:

Find $u_i(k)$ to

$$\min J=\sum_{k=0}^{k=T-1}C(k)$$

$\text{s.t. }C_i(k)<\text{Const}$ ;
$ \; x_i(k+1) = x_i(k)\cdot A_i(k) + B_i(k)\cdot u_i(k)$ ;
$ \; u_i(k)>u_{min}$ ;

Given that known initial state $x_i(0)=x_0$ for all $i\in\{1,2,3,\ldots,n\}$. Please let me know if you need some additional information and also let me know if there is/are any flaw(s) in the problem formulation. UPDATE: In order to reduce complexity, I reduced the cost function to quadratic polynomial. So now it looks like $$C(k)=\alpha\sum_{i=1}^{i=n}x_i^2(k)$$

I tried to solve the problem with bellman equation. Here is my approach $$V_{m+1}(x(k))=C(k)+\alpha.V_m(x(k+1))$$

I have to find $u_i^*(k)$ to minimize $C(k)$ under given constraints. If I have to use the bellman equation for each unit $i$ or I can solve it considering $x(k)$ as a state vector? I never seen anything like that. Please help.

Any help is much appreciated, Thanks!