@@ -32,7 +32,7 @@ struct NonLinMPC{
3232 J:: Matrix{NT}
3333 K:: Matrix{NT}
3434 V:: Matrix{NT}
35- P̃ :: Hermitian{NT, Matrix{NT}}
35+ H̃ :: Hermitian{NT, Matrix{NT}}
3636 q̃:: Vector{NT}
3737 p:: Vector{NT}
3838 Ks:: Matrix{NT}
@@ -55,8 +55,8 @@ struct NonLinMPC{
5555 noR̂u = iszero (L_Hp)
5656 S, T = init_ΔUtoU (model, Hp, Hc)
5757 E, F, G, J, K, V, ex̂, fx̂, gx̂, jx̂, kx̂, vx̂ = init_predmat (estim, model, Hp, Hc)
58- con, S̃, Ñ_Hc, Ẽ = init_defaultcon (estim, Hp, Hc, Cwt, S, N_Hc, E, ex̂, fx̂, gx̂, jx̂, kx̂, vx̂)
59- P̃ , q̃, p = init_quadprog (model, Ẽ, S̃, M_Hp, Ñ_Hc, L_Hp)
58+ con, S̃, Ñ_Hc, Ẽ = init_defaultcon_mpc (estim, Hp, Hc, Cwt, S, N_Hc, E, ex̂, fx̂, gx̂, jx̂, kx̂, vx̂)
59+ H̃ , q̃, p = init_quadprog (model, Ẽ, S̃, M_Hp, Ñ_Hc, L_Hp)
6060 Ks, Ps = init_stochpred (estim, Hp)
6161 # dummy vals (updated just before optimization):
6262 d0, D̂0, D̂E = zeros (NT, nd), zeros (NT, nd* Hp), zeros (NT, nd + nd* Hp)
@@ -70,7 +70,7 @@ struct NonLinMPC{
7070 M_Hp, Ñ_Hc, L_Hp, Cwt, Ewt, JE,
7171 R̂u, R̂y, noR̂u,
7272 S̃, T,
73- Ẽ, F, G, J, K, V, P̃ , q̃, p,
73+ Ẽ, F, G, J, K, V, H̃ , q̃, p,
7474 Ks, Ps,
7575 d0, D̂0, D̂E,
7676 Ŷop, Dop,
@@ -136,7 +136,7 @@ This method uses the default state estimator :
136136 \m athbf{L}_{H_p}``, for time-varying weights (generated from `Mwt/Nwt/Lwt` args if omitted).
137137- `optim=JuMP.Model(Ipopt.Optimizer)` : nonlinear optimizer used in the predictive
138138 controller, provided as a [`JuMP.Model`](https://jump.dev/JuMP.jl/stable/api/JuMP/#JuMP.Model)
139- (default to [`Ipopt.jl `](https://github.com/jump-dev/Ipopt.jl) optimizer).
139+ (default to [`Ipopt`](https://github.com/jump-dev/Ipopt.jl) optimizer).
140140- additional keyword arguments are passed to [`UnscentedKalmanFilter`](@ref) constructor
141141 (or [`SteadyKalmanFilter`](@ref), for [`LinModel`](@ref)).
142142
@@ -344,19 +344,21 @@ function init_optimization!(mpc::NonLinMPC, optim::JuMP.GenericModel{JNT}) where
344344 register (optim, :Jfunc , nvar, Jfunc, autodiff= true )
345345 @NLobjective (optim, Min, Jfunc (ΔŨvar... ))
346346 if ng ≠ 0
347- i_end_Ymin, i_end_Ymax, i_end_x̂min = 1 Hp* ny, 2 Hp* ny, 2 Hp* ny + nx̂
348347 for i in eachindex (con. Ymin)
349348 sym = Symbol (" g_Ymin_$i " )
350349 register (optim, sym, nvar, gfunc[i], autodiff= true )
351350 end
351+ i_end_Ymin = 1 Hp* ny
352352 for i in eachindex (con. Ymax)
353353 sym = Symbol (" g_Ymax_$i " )
354354 register (optim, sym, nvar, gfunc[i_end_Ymin+ i], autodiff= true )
355355 end
356+ i_end_Ymax = 2 Hp* ny
356357 for i in eachindex (con. x̂min)
357358 sym = Symbol (" g_x̂min_$i " )
358359 register (optim, sym, nvar, gfunc[i_end_Ymax+ i], autodiff= true )
359360 end
361+ i_end_x̂min = 2 Hp* ny + nx̂
360362 for i in eachindex (con. x̂max)
361363 sym = Symbol (" g_x̂max_$i " )
362364 register (optim, sym, nvar, gfunc[i_end_x̂min+ i], autodiff= true )
0 commit comments