Skip to content

Trust-region method of filtersqp does not converge for this specific NMPC problem #590

@franckgaga

Description

@franckgaga

Following discussion at #584, here's a specific problem with MPC.jl v2.1.2, in which the trust-region method of filtersqp does not converge:

using ModelPredictiveControl, JuMP
using UnoSolver

function f!(ẋ, x, u, _ , p)
    g, L, K, m = p          # [m/s²], [m], [kg/s], [kg]
    θ, ω = x[1], x[2]       # [rad], [rad/s]
    τ  = u[1]               # [Nm]
    ẋ[1] = ω
    ẋ[2] = -g/L*sin(θ) - K/m*ω + τ/m/L^2
    return nothing
end
h!(y, x, _ , _ ) = (y[1] = 180/π*x[1]; nothing) # [°]
p = [9.8, 0.4, 1.2, 0.3]
nu, nx, ny, Ts = 1, 2, 1, 0.1
model = NonLinModel(f!, h!, Ts, nu, nx, ny; p)
p_plant = copy(p); p_plant[3] = p[3]*1.25
plant = NonLinModel(f!, h!, Ts, nu, nx, ny; p=p_plant)
Hp, Hc, Mwt, Nwt = 20, 2, [0.5], [2.5]
α=0.01; σQ=[0.1, 1.0]; σR=[5.0]; nint_u=[1]; σQint_u=[0.1]
σQint_ym = zeros(0)
umin, umax = [-1.5], [+1.5]
transcription = MultipleShooting()
optim = Model(()->UnoSolver.Optimizer(
    preset="filtersqp"
))
hessian = false
nmpc = NonLinMPC(ManualEstimator(model; nint_u); 
    Hp, Hc, Mwt, Nwt, Cwt=Inf, transcription, hessian, optim,
)
nmpc = setconstraint!(nmpc; umin, umax)
unset_time_limit_sec(nmpc.optim)
unset_silent(nmpc.optim)

lastu = [0.014154762243809182]
x̂ = [2.9752971537433544, 1.3081343123447584, -0.11156581408839139]
setstate!(nmpc, x̂)

using Logging
debuglogger = ConsoleLogger(stderr, Logging.Debug)
with_logger(debuglogger) do 
    moveinput!(nmpc, [180.0]; lastu)
end
nothing

giving:

Original model C model
62 variables, 100 constraints (60 equality, 40 inequality)
Problem type: NLP
An exact Hessian (matrix or operator) was not provided, setting an L-BFGS Hessian instead

Non-default options:
QP_solver = BQPD
hessian_model = LBFGS

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  Iterations
 Major  Minor  Penalty   Radius    Phase |BFGS|  ||Step||  Objective  Infeas    Statio    Compl     Status        
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 0      -      -         1.00e+01  OPT   0       -         3.240e+05  4.12e+00  4.61e+04  0.00e+00  initial point 
 1      1      -         1.00e+01  OPT   0       6.25e+00  1.118e+05  2.78e+01  2.37e+04  0.00e+00  ✔ (f-type)    
 2      1      -         1.00e+01  OPT   0       1.00e+01  6.194e+04  3.62e+01  3.84e+04  0.00e+00  ✔ (f-type)    
 3      1      -         2.00e+01  OPT   -       2.00e+01  3.524e+05  6.79e+01  -         -         ✘ (current)   
 -      2      -         1.00e+01  OPT   0       1.00e+01  3.453e+04  3.29e+01  2.72e+04  0.00e+00  ✔ (f-type)    
 4      1      -         2.00e+01  OPT   -       2.00e+01  3.080e+05  5.15e+01  -         -         ✘ (current)   
 -      2      -         1.00e+01  OPT   1       1.00e+01  2.845e+04  2.12e+01  3.08e+04  0.00e+00  ✔ (f-type)    
 5      1      -         2.00e+01  OPT   1       1.45e+01  1.116e+04  4.79e+00  2.26e+05  0.00e+00  ✔ (h-type)    
 6      1      -         2.00e+01  OPT   2       1.11e+00  1.149e+04  1.67e-01  9.53e+03  0.00e+00  ✔ (h-type)    
 7      1      -         2.00e+01  OPT   3       3.84e-01  7.770e+03  1.34e-01  6.27e+03  0.00e+00  ✔ (f-type)    
 8      1      -         2.00e+01  OPT   4       1.54e+00  5.419e+02  1.26e+00  2.20e+03  0.00e+00  ✔ (f-type)    
 9      1      -         2.00e+01  OPT   5       4.95e-01  4.811e+02  3.42e-03  1.33e+03  0.00e+00  ✔ (h-type)    
 10     1      -         2.00e+01  OPT   6       1.45e-01  4.120e+02  1.09e-03  4.63e+02  0.00e+00  ✔ (f-type)    
 11     1      -         2.00e+01  OPT   6       4.44e-01  2.728e+02  4.63e-03  6.29e+02  0.00e+00  ✔ (f-type)    
 12     1      -         2.00e+01  OPT   6       3.45e-01  1.147e+02  1.85e-03  6.36e+02  0.00e+00  ✔ (f-type)    
 13     1      -         2.00e+01  OPT   6       5.14e-01  1.331e+01  2.05e-03  1.91e+02  0.00e+00  ✔ (f-type)    
 14     1      -         2.00e+01  OPT   6       6.08e-02  1.198e+01  2.93e-06  2.21e+01  0.00e+00  ✔ (f-type)    
 15     1      -         2.00e+01  OPT   6       7.02e-03  1.196e+01  4.89e-08  2.49e+00  0.00e+00  ✔ (f-type)    
 16     1      -         2.00e+01  OPT   6       9.12e-04  1.196e+01  8.69e-10  1.34e-02  0.00e+00  ✔ (f-type)    
 17     1      -         2.00e+01  OPT   6       1.57e-06  1.196e+01  9.68e-15  7.09e-04  0.00e+00  ✔ (h-type)    
 18     1      -         2.00e+01  OPT   6       9.86e-08  1.196e+01  8.00e-15  1.88e-05  0.00e+00  ✔ (f-type)    
 19     1      -         2.00e+01  OPT   -       8.12e-10  1.196e+01  8.41e-15  -         -         ✘ (current)   
 -      -      -         -         -     -       -         -          -         -         -         Small radius  
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  Iterations
 Major  Minor  Penalty   Radius    Phase |BFGS|  ||Step||  Objective  Infeas    Statio    Compl     Status        
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Uno 2.4.2 (TR Fletcher-filter restoration inequality-constrained method with L-BFGS Hessian and no regularization)
Fri Mar 13 11:36:20 2026
────────────────────────────────────────
Optimization status:                    Algorithmic error
Solution status:                        Suboptimal point
Objective value:                        11.9586
Primal feasibility:                     7.995232e-15
┌ Stationarity residual:                1.876023e-05
│ Primal feasibility:                   7.995232e-15
└ Complementarity residual:             0
CPU time:                               20.87466s
Iterations:                             19
Objective evaluations:                  22
Constraints evaluations:                22
Objective gradient evaluations:         22
Jacobian evaluations:                   22
Hessian evaluations:                    0
Number of subproblems solved:           21
┌ Error: MPC terminated without solution: returning last solution shifted (more info in debug log)
│   status = OTHER_ERROR::TerminationStatusCode = 24
└ @ ModelPredictiveControl ~/.julia/dev/ModelPredictiveControl/src/controller/execute.jl:510
┌ Debug: Content of getinfo dictionary::x̂ => [2.9752971537433544, 1.3081343123447584, -0.11156581408839139]
│   :ΔU => [0.0, 0.0]
│   :gc => Float64[]
│   :Ŷs => [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
│   :∇g => sparse(Int64[], Int64[], Float64[], 0, 62)
│   :R̂y => [180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0, 180.0]
│   :JE => 0.0:R̂u => [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
│   :d => Float64[]
│   :∇geq => sparse([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 1, 3, 4, 2, 3, 4, 3, 4, 3, 5, 6, 4, 5, 6, 5, 6, 5, 7, 8, 6, 7, 8, 7, 8, 7, 9, 10, 8, 9, 10, 9, 10, 9, 11, 12, 10, 11, 12, 11, 12, 11, 13, 14, 12, 13, 14, 13, 14, 13, 15, 16, 14, 15, 16, 15, 16, 15, 17, 18, 16, 17, 18, 17, 18, 17, 19, 20, 18, 19, 20, 19, 20, 19, 21, 22, 20, 21, 22, 21, 22, 21, 23, 24, 22, 23, 24, 23, 24, 23, 25, 26, 24, 25, 26, 25, 26, 25, 27, 28, 26, 27, 28, 27, 28, 27, 29, 30, 28, 29, 30, 29, 30, 29, 31, 32, 30, 31, 32, 31, 32, 31, 33, 34, 32, 33, 34, 33, 34, 33, 35, 36, 34, 35, 36, 35, 36, 35, 37, 38, 36, 37, 38, 37, 38, 37, 39, 40, 38, 39, 40, 39, 40, 39, 40], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 48, 48, 48, 49, 49, 49, 50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 60, 61], [0.09377568187489765, 1.7843485264107242, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, 0.8947010520835421, -1.9387662437642916, -1.0, 0.07913333377719486, 0.5781677375571752, 0.08953993113350024, 1.6486111440308397, -1.0, -1.0], 40, 62)
│   :lastu => [0.014154762243809182]
│   :g => Float64[]
│   :u => [0.014154762243809182]
│   :∇²J => nothing:geq => [3.0599299938287636, 0.48190787323866113, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513, 0.001267416431067964, 0.023335698465603513]
│    => [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
│   :U => [0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182, 0.014154762243809182]
│   :x̂end => [0.0, 0.0, 0.0]
│   :J => 324000.0:∇²ℓgeq => nothing:D̂ => Float64[]
│   :∇J => [0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0, -10313.240312354817, 0.0, 0.0]
│    => [170.47196970678064]
│   :∇²ℓg => nothing:sol =>solution_summary(; result = 1, verbose = true)
│    ├ solver_name          : Uno
│    ├ Termination
│    │ ├ termination_status : OTHER_ERROR
│    │ ├ result_count       : 1
│    │ └ raw_status         : 4
│    ├ Solution (result = 1)
│    │ ├ primal_status        : FEASIBLE_POINT
│    │ ├ dual_status          : UNKNOWN_RESULT_STATUS
│    │ ├ objective_value      : 1.19586e+01
│    │ ├ dual_objective_value : 1.31807e-02
│    │ ├ value
│    │ │ ├ Z̃var[10] : 1.39137e-01
│    │ │ ├ Z̃var[11] : -1.11566e-01
│    │ │ ├ Z̃var[12] : 3.13878e+00
│    │ │ ├ Z̃var[13] : 6.69001e-02
│    │ │ ├ Z̃var[14] : -1.11566e-01
│    │ │ ├ Z̃var[15] : 3.14349e+00
│    │ │ ├ Z̃var[16] : 3.20639e-02
│    │ │ ├ Z̃var[17] : -1.11566e-01
│    │ │ ├ Z̃var[18] : 3.14575e+00
│    │ │ ├ Z̃var[19] : 1.52233e-02
│    │ │ ├ Z̃var[1] : 6.62858e-02
│    │ │ ├ Z̃var[20] : -1.11566e-01
│    │ │ ├ Z̃var[21] : 3.14681e+00
│    │ │ ├ Z̃var[22] : 7.02515e-03
│    │ │ ├ Z̃var[23] : -1.11566e-01
│    │ │ ├ Z̃var[24] : 3.14728e+00
│    │ │ ├ Z̃var[25] : 2.95503e-03
│    │ │ ├ Z̃var[26] : -1.11566e-01
│    │ │ ├ Z̃var[27] : 3.14746e+00
│    │ │ ├ Z̃var[28] : 8.24894e-04
│    │ │ ├ Z̃var[29] : -1.11566e-01
│    │ │ ├ Z̃var[2] : 2.36280e-02
│    │ │ ├ Z̃var[30] : 3.14747e+00
│    │ │ ├ Z̃var[31] : -4.38178e-04
│    │ │ ├ Z̃var[32] : -1.11566e-01
│    │ │ ├ Z̃var[33] : 3.14738e+00
│    │ │ ├ Z̃var[34] : -1.37761e-03
│    │ │ ├ Z̃var[35] : -1.11566e-01
│    │ │ ├ Z̃var[36] : 3.14720e+00
│    │ │ ├ Z̃var[37] : -2.29239e-03
│    │ │ ├ Z̃var[38] : -1.11566e-01
│    │ │ ├ Z̃var[39] : 3.14692e+00
│    │ │ ├ Z̃var[3] : 3.06615e+00
│    │ │ ├ Z̃var[40] : -3.37850e-03
│    │ │ ├ Z̃var[41] : -1.11566e-01
│    │ │ ├ Z̃var[42] : 3.14651e+00
│    │ │ ├ Z̃var[43] : -4.80294e-03
│    │ │ ├ Z̃var[44] : -1.11566e-01
│    │ │ ├ Z̃var[45] : 3.14594e+00
│    │ │ ├ Z̃var[46] : -6.74755e-03
│    │ │ ├ Z̃var[47] : -1.11566e-01
│    │ │ ├ Z̃var[48] : 3.14514e+00
│    │ │ ├ Z̃var[49] : -9.44145e-03
│    │ │ ├ Z̃var[4] : 6.00186e-01
│    │ │ ├ Z̃var[50] : -1.11566e-01
│    │ │ ├ Z̃var[51] : 3.14401e+00
│    │ │ ├ Z̃var[52] : -1.31927e-02
│    │ │ ├ Z̃var[53] : -1.11566e-01
│    │ │ ├ Z̃var[54] : 3.14245e+00
│    │ │ ├ Z̃var[55] : -1.84255e-02
│    │ │ ├ Z̃var[56] : -1.11566e-01
│    │ │ ├ Z̃var[57] : 3.14026e+00
│    │ │ ├ Z̃var[58] : -2.57298e-02
│    │ │ ├ Z̃var[59] : -1.11566e-01
│    │ │ ├ Z̃var[5] : -1.11566e-01
│    │ │ ├ Z̃var[60] : 3.13721e+00
│    │ │ ├ Z̃var[61] : -3.59277e-02
│    │ │ ├ Z̃var[62] : -1.11566e-01
│    │ │ ├ Z̃var[6] : 3.10854e+00
│    │ │ ├ Z̃var[7] : 2.89047e-01
│    │ │ ├ Z̃var[8] : -1.11566e-01
│    │ │ └ Z̃var[9] : 3.12895e+00
│    │ └ dual
│    │   ├ linconstraint : multiple constraints with the same name
│    │   ├ linconstrainteq : multiple constraints with the same name
│    │   └ nonlinconstrainteq : [3.31427e-01,1.18143e-01,-2.47677e+02,-3.76467e-06,-2.80728e+01,-1.08501e+02,-1.81263e-06,-3.11065e+01,-4.14886e+01,-8.89138e-07,-2.49934e+01,-9.24433e+00,-4.40573e-07,-1.66392e+01,6.24167e+00,-2.17876e-07,-8.76109e+00,1.36389e+01,-1.05178e-07,-2.23378e+00,1.71160e+01,-4.62739e-08,2.82885e+00,1.86711e+01,-1.29513e-08,6.58797e+00,1.92531e+01,9.51835e-09,9.27019e+00,1.93003e+01,2.94557e-08,1.10836e+01,1.89974e+01,5.23556e-08,1.21888e+01,1.83969e+01,8.28109e-08,1.26931e+01,1.74730e+01,1.25603e-07,1.26528e+01,1.61417e+01,1.86325e-07,1.20793e+01,1.42629e+01,2.71581e-07,1.09494e+01,1.16301e+01,3.88424e-07,9.22588e+00,7.94920e+00,5.42053e-07,6.90305e+00,2.80740e+00,7.29452e-07,4.11138e+00,-4.37316e+00,9.23456e-07,1.35062e+00,-1.43999e+01,1.03541e-06,0.00000e+00]
│    └ Work counters
│      └ solve_time (sec)   : 2.08747e+01
└ @ ModelPredictiveControl ~/.julia/dev/ModelPredictiveControl/src/controller/execute.jl:522

Many thanks for your work!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions