MadNLP / DynamicNLPModels.jl

NLPModels for dynamic optimization
MIT License
11 stars 1 forks source link

Add support for time-varying `A, B, Q, R, S, K, E, F` matrices #37

Open dlcole3 opened 2 years ago

dlcole3 commented 2 years ago

Currently, DynamicNLPModels.jl only takes an input of a single A or B matrix, but these can vary with time steps. Need to add support for handling a set of $N$ A or B matrices (e.g., $A_i \forall i = 0, 1, ..., N-1$).

sshin23 commented 2 years ago

not only A and B, we should allow everything to be time-varying Q,R,S,K. Also, we should consider linear offset terms and allow them to be time-varying. E.g., consider q,r,d satisfing

stage cost: x' * (0.5 * Q*x - q) + u' * (0.5 * R*u - r) + x' * S *u
dynamics: x[t+1] = Ax[t] + Bu[t] + d[t]

Actually, supporting time-varying q,r,d should not be too difficult, but supporting time-varying matrices can be non-trivial. Would be good to first start with time-varying vectors