Skip to content

Comments

added: smarter initstate! for non-SingleShooting#320

Closed
franckgaga wants to merge 2 commits intomainfrom
init_decision_vec
Closed

added: smarter initstate! for non-SingleShooting#320
franckgaga wants to merge 2 commits intomainfrom
init_decision_vec

Conversation

@franckgaga
Copy link
Member

@franckgaga franckgaga commented Feb 19, 2026

The warm-start value of the decision vector $\mathbf{\tilde{Z}}$ is now initialized with the initial state estimate, for the state part of the vector ($\mathbf{\hat{X}_0}$ component). This is applicable only for non-SingleShooting transcription methods.

Before this PR, the vector was entirely initialized with zeros. Without any other prior knowledge, it makes sense for the input increment part, but not really for the predicted state part. Using the current mpc.estim.x̂0 over the prediction horizon is more logical.

Let's benchmark this to see if it's faster for MultipleShooting and TrapezoidalCollocation.

@codecov-commenter
Copy link

codecov-commenter commented Feb 19, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.38%. Comparing base (bf93872) to head (c843b02).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #320   +/-   ##
=======================================
  Coverage   98.38%   98.38%           
=======================================
  Files          29       29           
  Lines        5389     5400   +11     
=======================================
+ Hits         5302     5313   +11     
  Misses         87       87           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link

Benchmark Results (Julia v1)

Time benchmarks
main c843b02... main / c843b02...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 5.39 ± 0.45 ms 5.46 ± 0.5 ms 0.988 ± 0.12
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.311 ± 0.0092 s 0.313 ± 0.0078 s 0.992 ± 0.038
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.226 ± 0.015 s 0.223 ± 0.015 s 1.01 ± 0.096
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 9.24 ± 0.58 ms 9.17 ± 0.55 ms 1.01 ± 0.087
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 1.82 ± 0.025 ms 1.83 ± 0.029 ms 0.992 ± 0.021
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 5.37 ± 0.44 ms 5.39 ± 0.47 ms 0.997 ± 0.12
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.27 ± 0.0041 s 0.27 ± 0.0035 s 1 ± 0.02
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.228 ± 0.0064 s 0.227 ± 0.0085 s 1.01 ± 0.047
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 6.45 ± 0.42 ms 6.52 ± 0.43 ms 0.99 ± 0.092
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 1.93 ± 0.069 ms 1.95 ± 0.057 ms 0.991 ± 0.046
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 10.2 ± 1.7 ms 10.3 ± 1.6 ms 0.993 ± 0.23
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 0.316 ± 0.061 s 0.332 ± 0.093 s 0.952 ± 0.32
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.155 ± 0.0017 s 0.157 ± 0.0041 s 0.985 ± 0.028
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 0.098 ± 0.029 s 0.104 ± 0.023 s 0.938 ± 0.35
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 13.3 ± 1.6 ms 13.5 ± 1.7 ms 0.991 ± 0.17
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.683 ± 0.032 s 0.693 ± 0.043 s 0.986 ± 0.077
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.72 ± 0.062 s 0.688 ± 0.053 s 1.05 ± 0.12
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 1.69 ± 0.074 s 1.69 ± 0.14 s 0.995 ± 0.091
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 0.505 ± 0.065 s 0.499 ± 0.062 s 1.01 ± 0.18
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 0.506 ± 0.067 s 0.5 ± 0.063 s 1.01 ± 0.18
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.345 ± 0.0073 s 0.351 ± 0.007 s 0.984 ± 0.029
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.437 ± 0.043 s 0.445 ± 0.048 s 0.982 ± 0.14
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.469 ± 0.0033 s 0.472 ± 0.0048 s 0.992 ± 0.012
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.161 ± 0.0022 s 0.163 ± 0.0058 s 0.991 ± 0.038
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.327 ± 0.012 s 0.331 ± 0.011 s 0.989 ± 0.049
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.393 ± 0.05 s 0.396 ± 0.052 s 0.992 ± 0.18
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting 0.146 ± 0.013 s 0.147 ± 0.014 s 0.994 ± 0.13
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.331 ± 0.0081 s 0.334 ± 0.0088 s 0.99 ± 0.036
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.397 ± 0.037 s 0.402 ± 0.04 s 0.988 ± 0.14
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.361 ± 0.011 s 0.365 ± 0.015 s 0.989 ± 0.051
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.481 ± 0.012 s 0.483 ± 0.0088 s 0.997 ± 0.032
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.162 ± 0.003 s 0.163 ± 0.0017 s 1 ± 0.021
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.316 ± 0.0056 s 0.316 ± 0.0043 s 1 ± 0.022
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.295 ± 0.021 s 0.308 ± 0.03 s 0.959 ± 0.12
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.358 ± 0.025 s 0.358 ± 0.02 s 1 ± 0.09
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting 0.127 ± 0.0097 s 0.13 ± 0.012 s 0.978 ± 0.12
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.0388 ± 0.001 s 0.0394 ± 0.00072 s 0.986 ± 0.031
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.0326 ± 0.0078 s 31.6 ± 7 ms 1.03 ± 0.34
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.178 ± 0.045 s 0.182 ± 0.038 s 0.979 ± 0.32
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.155 ± 0.027 s 0.154 ± 0.034 s 1.01 ± 0.29
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.0334 ± 0.0045 s 0.0332 ± 0.0041 s 1 ± 0.18
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 26.5 ± 3.2 ms 25.6 ± 4.9 ms 1.03 ± 0.23
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.08 ± 0.0018 s 0.0803 ± 0.0025 s 0.997 ± 0.038
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0788 ± 0.0014 s 0.0784 ± 0.0018 s 1.01 ± 0.03
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0631 ± 0.0012 s 0.0654 ± 0.0015 s 0.965 ± 0.029
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0806 ± 0.002 s 0.084 ± 0.0053 s 0.959 ± 0.065
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form 2.45 ± 0.078 s 2.42 ± 0.059 s 1.01 ± 0.041
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form 1.41 ± 0.076 s 1.51 ± 0.028 s 0.934 ± 0.053
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 3.68 ± 0.13 μs 4.22 ± 0.02 μs 0.872 ± 0.031
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.111 ± 0.0032 ms 0.111 ± 0.0026 ms 1 ± 0.037
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.108 ± 0.0023 ms 0.106 ± 0.0014 ms 1.01 ± 0.026
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 17.3 ± 0.45 μs 17.1 ± 0.37 μs 1.01 ± 0.034
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/LinModel 0.203 ± 0.013 ms 0.202 ± 0.012 ms 1.01 ± 0.09
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.243 ± 0.019 ms 0.234 ± 0.015 ms 1.04 ± 0.11
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 2.53 ± 0.23 ms 2.5 ± 0.27 ms 1.01 ± 0.14
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 1.72 ± 0.076 ms 1.68 ± 0.095 ms 1.02 ± 0.074
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 3.07 ± 0.14 ms 3.06 ± 0.19 ms 1 ± 0.078
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 3.13 ± 0.24 ms 3.14 ± 0.28 ms 0.998 ± 0.12
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 1.74 ± 0.064 ms 1.7 ± 0.071 ms 1.02 ± 0.056
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 1.72 ± 0.059 ms 1.7 ± 0.07 ms 1.01 ± 0.054
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 2.14 ± 0.095 ms 2.22 ± 0.15 ms 0.964 ± 0.078
UNIT TESTS/SimModel/LinModel/evaloutput 0.14 ± 0.001 μs 0.15 ± 0.01 μs 0.933 ± 0.063
UNIT TESTS/SimModel/LinModel/updatestate! 0.2 ± 0.01 μs 0.211 ± 0.01 μs 0.948 ± 0.065
UNIT TESTS/SimModel/NonLinModel/evaloutput 0.421 ± 0.01 μs 0.421 ± 0.01 μs 1 ± 0.034
UNIT TESTS/SimModel/NonLinModel/linearize! 2.03 ± 0.02 μs 2.03 ± 0.02 μs 1 ± 0.014
UNIT TESTS/SimModel/NonLinModel/updatestate! 0.491 ± 0.01 μs 0.491 ± 0.002 μs 1 ± 0.021
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0.541 ± 0 μs 0.551 ± 0.02 μs 0.982 ± 0.036
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 1.8 ± 0.01 μs 1.82 ± 0.019 μs 0.988 ± 0.012
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0.271 ± 0.001 μs 0.261 ± 0.01 μs 1.04 ± 0.04
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 1.42 ± 0.01 μs 1.42 ± 0.01 μs 0.999 ± 0.0099
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 3.85 ± 0.04 μs 3.9 ± 0.05 μs 0.987 ± 0.016
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 8.87 ± 0.1 μs 8.84 ± 0.14 μs 1 ± 0.02
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0.231 ± 0.011 μs 0.241 ± 0.01 μs 0.959 ± 0.061
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0.581 ± 0.01 μs 0.571 ± 0.001 μs 1.02 ± 0.018
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0.281 ± 0.01 μs 0.281 ± 0.01 μs 1 ± 0.05
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0.731 ± 0.001 μs 0.731 ± 0.001 μs 1 ± 0.0019
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0.401 ± 0.001 μs 0.421 ± 0.01 μs 0.952 ± 0.023
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 0.942 ± 0.001 μs 0.922 ± 0.01 μs 1.02 ± 0.011
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0.26 ± 0.001 μs 0.26 ± 0.01 μs 1 ± 0.039
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0.131 ± 0.01 μs 0.14 ± 0.01 μs 0.936 ± 0.098
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 2.54 ± 0.03 μs 2.5 ± 0.031 μs 1.02 ± 0.017
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0.24 ± 0.01 μs 0.24 ± 0.01 μs 1 ± 0.059
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0.251 ± 0.001 μs 0.26 ± 0.001 μs 0.965 ± 0.0053
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0.351 ± 0.001 μs 0.35 ± 0.01 μs 1 ± 0.029
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/LinModel 0.179 ± 0.011 ms 0.212 ± 0.026 ms 0.844 ± 0.12
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 0.353 ± 0.018 ms 0.344 ± 0.018 ms 1.03 ± 0.077
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 3.55 ± 0.27 ms 3.54 ± 0.29 ms 1 ± 0.11
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0.481 ± 0 μs 0.481 ± 0.009 μs 1 ± 0.019
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.33 ± 0.019 ms 0.315 ± 0.018 ms 1.05 ± 0.085
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 1.32 ± 0.01 μs 1.32 ± 0.01 μs 1 ± 0.011
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 6.42 ± 1.6 μs 7.43 ± 2.6 μs 0.864 ± 0.37
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 2.91 ± 0.1 ms 3.06 ± 0.18 ms 0.95 ± 0.065
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 17 ± 1.1 μs 16.8 ± 1 μs 1.01 ± 0.09
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.348 ± 0.019 ms 0.334 ± 0.019 ms 1.04 ± 0.082
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0.27 ± 0.01 μs 0.261 ± 0.01 μs 1.03 ± 0.055
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0.281 ± 0.001 μs 0.29 ± 0.01 μs 0.969 ± 0.034
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0.371 ± 0.01 μs 0.391 ± 0.011 μs 0.949 ± 0.037
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0.301 ± 0.001 μs 0.3 ± 0.01 μs 1 ± 0.034
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0.922 ± 0.011 μs 0.912 ± 0.011 μs 1.01 ± 0.017
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 3.68 ± 0.05 μs 3.62 ± 0.021 μs 1.02 ± 0.015
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 4.88 ± 0.04 μs 5.02 ± 0.07 μs 0.972 ± 0.016
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 3.54 ± 0.041 μs 3.53 ± 0.031 μs 1 ± 0.015
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 6.37 ± 0.041 μs 6.57 ± 0.1 μs 0.97 ± 0.016
time_to_load 5.91 ± 0.026 s 5.64 ± 0.054 s 1.05 ± 0.011
Memory benchmarks
main c843b02... main / c843b02...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 0.0424 M allocs: 1.71 MB 0.0424 M allocs: 1.71 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.162 M allocs: 8.9 MB 0.162 M allocs: 8.9 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.0536 M allocs: 2.38 MB 0.0536 M allocs: 2.38 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 0.0758 M allocs: 1.95 MB 0.0758 M allocs: 1.95 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 7.85 k allocs: 0.249 MB 7.85 k allocs: 0.249 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 0.0423 M allocs: 1.7 MB 0.0423 M allocs: 1.7 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.127 M allocs: 7.07 MB 0.127 M allocs: 7.07 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.0553 M allocs: 2.42 MB 0.0553 M allocs: 2.42 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 0.0532 M allocs: 1.39 MB 0.0532 M allocs: 1.39 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 7.7 k allocs: 0.243 MB 7.7 k allocs: 0.243 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 0.114 M allocs: 6.25 MB 0.115 M allocs: 6.26 MB 0.999
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 4.65 M allocs: 0.251 GB 4.65 M allocs: 0.251 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.115 M allocs: 6.67 MB 0.115 M allocs: 6.68 MB 0.999
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 4.69 M allocs: 0.255 GB 4.69 M allocs: 0.255 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 0.126 M allocs: 7.8 MB 0.126 M allocs: 7.8 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.351 M allocs: 19.7 MB 0.351 M allocs: 19.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.862 M allocs: 0.0792 GB 0.862 M allocs: 0.0792 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 0.353 M allocs: 16.7 MB 0.353 M allocs: 16.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 1.18 M allocs: 0.0791 GB 1.18 M allocs: 0.0791 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 1.18 M allocs: 0.0791 GB 1.18 M allocs: 0.0791 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.267 M allocs: 14.7 MB 0.267 M allocs: 14.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.633 M allocs: 0.0604 GB 0.633 M allocs: 0.0604 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.0951 M allocs: 3.9 MB 0.0951 M allocs: 3.9 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.0772 M allocs: 5.08 MB 0.0772 M allocs: 5.08 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.376 M allocs: 19.7 MB 0.376 M allocs: 19.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 1.07 M allocs: 0.0796 GB 1.07 M allocs: 0.0796 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting 0.297 M allocs: 0.067 GB 0.297 M allocs: 0.067 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.226 M allocs: 12.2 MB 0.226 M allocs: 12.2 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.647 M allocs: 0.0543 GB 0.647 M allocs: 0.0543 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.244 M allocs: 20.7 MB 0.244 M allocs: 20.7 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.0741 M allocs: 3 MB 0.0741 M allocs: 3 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.0768 M allocs: 5.04 MB 0.0768 M allocs: 5.04 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.317 M allocs: 16.4 MB 0.317 M allocs: 16.4 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.879 M allocs: 0.0548 GB 0.879 M allocs: 0.0548 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.335 M allocs: 25.1 MB 0.335 M allocs: 25.1 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting 0.255 M allocs: 0.0577 GB 0.255 M allocs: 0.0577 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.762 M allocs: 0.0802 GB 0.762 M allocs: 0.0802 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.682 M allocs: 0.0585 GB 0.682 M allocs: 0.0585 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.646 M allocs: 0.0785 GB 0.647 M allocs: 0.0801 GB 0.98
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.601 M allocs: 0.0562 GB 0.601 M allocs: 0.0562 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.631 M allocs: 0.079 GB 0.63 M allocs: 0.0764 GB 1.03
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 0.585 M allocs: 0.0553 GB 0.585 M allocs: 0.0553 GB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0649 M allocs: 11.5 MB 0.0649 M allocs: 11.5 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0639 M allocs: 11.3 MB 0.0639 M allocs: 11.3 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0485 M allocs: 8.05 MB 0.0485 M allocs: 8.05 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0642 M allocs: 11.3 MB 0.0642 M allocs: 11.3 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form 15.2 M allocs: 2.8 GB 15.2 M allocs: 2.8 GB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form 8.88 M allocs: 1.63 GB 8.88 M allocs: 1.63 GB 1
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.323 k allocs: 15.6 kB 0.323 k allocs: 15.6 kB 1
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.994 k allocs: 25.5 kB 0.994 k allocs: 25.5 kB 1
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 0.088 k allocs: 2.23 kB 0.088 k allocs: 2.23 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/LinModel 0.563 k allocs: 0.0588 MB 0.563 k allocs: 0.0588 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.606 k allocs: 0.0776 MB 0.606 k allocs: 0.0776 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 2.4 k allocs: 0.107 MB 2.4 k allocs: 0.107 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 0.37 k allocs: 13.1 kB 0.37 k allocs: 13.1 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.64 k allocs: 0.126 MB 2.64 k allocs: 0.126 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 3.15 k allocs: 0.158 MB 3.15 k allocs: 0.158 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 0.404 k allocs: 14.7 kB 0.404 k allocs: 14.7 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 0.404 k allocs: 14.7 kB 0.404 k allocs: 14.7 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 2.01 k allocs: 0.0858 MB 2.01 k allocs: 0.0858 MB 1
UNIT TESTS/SimModel/LinModel/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/LinModel/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/NonLinModel/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/NonLinModel/linearize! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/SimModel/NonLinModel/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 4 allocs: 0.0938 kB 4 allocs: 0.0938 kB 1
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 4 allocs: 0.0938 kB 4 allocs: 0.0938 kB 1
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 4 allocs: 0.0938 kB 4 allocs: 0.0938 kB 1
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/LinModel 1.03 k allocs: 0.0393 MB 1.03 k allocs: 0.0393 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 1.24 k allocs: 0.203 MB 1.24 k allocs: 0.203 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 0.0754 M allocs: 14.6 MB 0.0754 M allocs: 14.6 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.972 k allocs: 25.4 kB 0.972 k allocs: 25.4 kB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 2 allocs: 0.0469 kB 2 allocs: 0.0469 kB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 7.05 k allocs: 0.443 MB 7.05 k allocs: 0.443 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.972 k allocs: 25.4 kB 0.972 k allocs: 25.4 kB 1
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 0 allocs: 0 B 0 allocs: 0 B
time_to_load 0.149 k allocs: 11.2 kB 0.159 k allocs: 11.6 kB 0.964

@franckgaga
Copy link
Member Author

It does not really improve the performances. And warm-starting at zeros no matter the transcription method is way simpler. Let's not merge this PR.

@franckgaga franckgaga closed this Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants