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
Following discussion at #584, here's a specific problem with MPC.jl v2.1.2, in which the trust-region method of
filtersqpdoes not converge:giving:
Many thanks for your work!