Skip to content

added: dispatch on covestim type when inverting in the MovingHorizonEstimator#375

Merged
franckgaga merged 8 commits into
mainfrom
mhe_skf_dispatch
Jun 13, 2026
Merged

added: dispatch on covestim type when inverting in the MovingHorizonEstimator#375
franckgaga merged 8 commits into
mainfrom
mhe_skf_dispatch

Conversation

@franckgaga

@franckgaga franckgaga commented Jun 13, 2026

Copy link
Copy Markdown
Member

SteadyKalmanFilter is a special case. It does not require any arrival estimation covariance update and inversion.

@franckgaga franckgaga changed the title added: dispatch on covestim type when updating in the MovingHorizonEstimator added: dispatch on covestim type when inverting in the MovingHorizonEstimator Jun 13, 2026
@codecov-commenter

codecov-commenter commented Jun 13, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.57%. Comparing base (52804d8) to head (54b3bd5).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #375   +/-   ##
=======================================
  Coverage   98.57%   98.57%           
=======================================
  Files          27       27           
  Lines        5477     5479    +2     
=======================================
+ Hits         5399     5401    +2     
  Misses         78       78           

☔ View full report in Codecov by Harness.
📢 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.

@franckgaga franckgaga merged commit 4b02782 into main Jun 13, 2026
5 checks passed
@github-actions

github-actions Bot commented Jun 14, 2026

Copy link
Copy Markdown

Benchmark Results (Julia v1)

Time benchmarks
main 54b3bd5... main / 54b3bd5...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 4.69 ± 0.3 ms 4.76 ± 0.31 ms 0.986 ± 0.091
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.317 ± 0.0052 s 0.285 ± 0.0033 s 1.11 ± 0.022
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.194 ± 0.0048 s 0.195 ± 0.0046 s 0.997 ± 0.034
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 8.18 ± 0.35 ms 8.38 ± 0.35 ms 0.976 ± 0.058
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 1.53 ± 0.046 ms 1.62 ± 0.043 ms 0.945 ± 0.038
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 4.66 ± 0.28 ms 4.73 ± 0.3 ms 0.986 ± 0.086
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.275 ± 0.0074 s 0.247 ± 0.0025 s 1.11 ± 0.032
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.197 ± 0.0025 s 0.196 ± 0.00087 s 1.01 ± 0.013
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 5.62 ± 0.22 ms 5.78 ± 0.25 ms 0.972 ± 0.056
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 1.65 ± 0.041 ms 1.71 ± 0.028 ms 0.962 ± 0.029
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 9.88 ± 0.89 ms 9.86 ± 0.95 ms 1 ± 0.13
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 0.29 ± 0.096 s 0.272 ± 0.078 s 1.07 ± 0.47
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.141 ± 0.0016 s 0.136 ± 0.0011 s 1.04 ± 0.015
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 0.116 ± 0.027 s 0.108 ± 0.027 s 1.07 ± 0.37
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 12.4 ± 0.68 ms 12.4 ± 0.8 ms 0.998 ± 0.085
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.69 ± 0.011 s 0.704 ± 0.002 s 0.981 ± 0.016
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.709 ± 0.0027 s 0.703 ± 0.0028 s 1.01 ± 0.0056
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 1.4 ± 0.021 s 1.46 ± 0.094 s 0.957 ± 0.063
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 0.512 ± 0.0018 s 0.51 ± 0.003 s 1 ± 0.0068
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 0.51 ± 0.0099 s 0.507 ± 0.0035 s 1.01 ± 0.021
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.353 ± 0.0033 s 0.344 ± 0.001 s 1.03 ± 0.01
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.472 ± 0.0083 s 0.437 ± 0.0065 s 1.08 ± 0.025
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation 0.569 ± 0.029 s 0.552 ± 0.0032 s 1.03 ± 0.054
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation (Hessian) 0.543 ± 0.01 s 0.538 ± 0.0073 s 1.01 ± 0.024
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.492 ± 0.0025 s 0.469 ± 0.0019 s 1.05 ± 0.007
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.184 ± 0.0064 s 0.185 ± 0.0009 s 0.997 ± 0.035
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.371 ± 0.011 s 0.352 ± 0.0015 s 1.05 ± 0.031
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.38 ± 0.0095 s 0.376 ± 0.0025 s 1.01 ± 0.026
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting (Hessian) 0.0835 ± 0.00053 s 0.0759 ± 0.00055 s 1.1 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Uno/MultipleShooting (Hessian) 0.261 ± 0.015 s 0.266 ± 0.014 s 0.984 ± 0.076
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.342 ± 0.0034 s 0.332 ± 0.0011 s 1.03 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.469 ± 0.0058 s 0.449 ± 0.0024 s 1.04 ± 0.014
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.372 ± 0.0057 s 0.356 ± 0.004 s 1.05 ± 0.02
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation 0.585 ± 0.0037 s 0.591 ± 0.0056 s 0.99 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation (Hessian) 1.95 ± 0.048 s 1.89 ± 0.011 s 1.03 ± 0.026
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.491 ± 0.0042 s 0.482 ± 0.0024 s 1.02 ± 0.01
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.169 ± 0.00091 s 0.173 ± 0.00079 s 0.974 ± 0.0069
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.336 ± 0.0069 s 0.327 ± 0.0026 s 1.03 ± 0.023
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.353 ± 0.0031 s 0.34 ± 0.0017 s 1.04 ± 0.01
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.36 ± 0.0068 s 0.346 ± 0.0037 s 1.04 ± 0.023
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/MultipleShooting (Hessian) 0.292 ± 0.0059 s 0.265 ± 0.00089 s 1.1 ± 0.023
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting (Hessian) 0.0759 ± 0.0011 s 0.0739 ± 0.00042 s 1.03 ± 0.016
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.234 ± 0.0029 s 0.238 ± 0.0013 s 0.985 ± 0.013
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/OrthogonalCollocation (Hessian) 1.25 ± 0.015 s 1.24 ± 0.006 s 1 ± 0.013
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.0921 ± 0.004 s 0.0807 ± 0.0021 s 1.14 ± 0.058
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.0679 ± 0.0032 s 0.0571 ± 0.0016 s 1.19 ± 0.065
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.279 ± 0.036 s 0.239 ± 0.014 s 1.17 ± 0.16
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.216 ± 0.049 s 0.199 ± 0.048 s 1.09 ± 0.36
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.0858 ± 0.0072 s 0.0763 ± 0.005 s 1.13 ± 0.12
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 0.0598 ± 0.0073 s 0.0506 ± 0.006 s 1.18 ± 0.2
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0914 ± 0.00058 s 0.0907 ± 0.00014 s 1.01 ± 0.0065
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0949 ± 0.0011 s 0.0959 ± 0.0055 s 0.989 ± 0.058
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0659 ± 0.00084 s 0.0657 ± 0.00063 s 1 ± 0.016
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0874 ± 0.00044 s 0.0865 ± 0.00056 s 1.01 ± 0.0083
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form (Hessian) 0.0551 ± 0.00065 s 0.0543 ± 0.00026 s 1.01 ± 0.013
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form (Hessian) 0.0492 ± 0.00046 s 0.0512 ± 0.00066 s 0.963 ± 0.015
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 4.01 ± 0.032 μs 4.08 ± 0.025 μs 0.982 ± 0.0099
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.0886 ± 0.0021 ms 0.0883 ± 0.0022 ms 1 ± 0.035
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.0985 ± 0.0012 ms 0.101 ± 0.0015 ms 0.973 ± 0.019
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 13.6 ± 0.17 μs 14.2 ± 0.15 μs 0.957 ± 0.015
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/LinModel 0.212 ± 0.011 ms 0.212 ± 0.011 ms 0.997 ± 0.073
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.256 ± 0.016 ms 0.254 ± 0.016 ms 1.01 ± 0.089
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 1.59 ± 0.14 ms 1.54 ± 0.15 ms 1.03 ± 0.14
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 0.99 ± 0.036 ms 0.974 ± 0.036 ms 1.02 ± 0.053
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.47 ± 0.7 ms 2.44 ± 0.68 ms 1.02 ± 0.41
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 2.35 ± 0.076 ms 2.37 ± 0.07 ms 0.992 ± 0.043
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocation 2.21 ± 0.29 ms 2.24 ± 0.3 ms 0.987 ± 0.19
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocationHessian 3.2 ± 0.19 ms 3.19 ± 0.18 ms 1 ± 0.081
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 1.29 ± 0.039 ms 1.27 ± 0.034 ms 1.01 ± 0.041
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 1.28 ± 0.034 ms 1.27 ± 0.033 ms 1.01 ± 0.038
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 1.64 ± 0.28 ms 1.67 ± 0.063 ms 0.987 ± 0.17
UNIT TESTS/SimModel/LinModel/evaloutput 0.122 ± 0.004 μs 0.113 ± 0.005 μs 1.08 ± 0.059
UNIT TESTS/SimModel/LinModel/updatestate! 0.172 ± 0.008 μs 0.172 ± 0.006 μs 1 ± 0.058
UNIT TESTS/SimModel/NonLinModel/evaloutput 0.274 ± 0.01 μs 0.266 ± 0.004 μs 1.03 ± 0.041
UNIT TESTS/SimModel/NonLinModel/linearize! 1.51 ± 0.019 μs 1.5 ± 0.017 μs 1.01 ± 0.017
UNIT TESTS/SimModel/NonLinModel/updatestate! 0.347 ± 0.01 μs 0.341 ± 0.007 μs 1.02 ± 0.036
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0.352 ± 0.005 μs 0.361 ± 0.002 μs 0.975 ± 0.015
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 1.42 ± 0.05 μs 1.49 ± 0.065 μs 0.958 ± 0.054
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0.182 ± 0.005 μs 0.173 ± 0.004 μs 1.05 ± 0.038
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 1.07 ± 0.016 μs 1.04 ± 0.014 μs 1.02 ± 0.021
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 3.24 ± 0.04 μs 3.28 ± 0.041 μs 0.986 ± 0.017
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 6.33 ± 0.05 μs 6.3 ± 0.056 μs 1.01 ± 0.012
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0.19 ± 0.006 μs 0.19 ± 0.006 μs 1 ± 0.045
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0.405 ± 0.004 μs 0.398 ± 0.002 μs 1.02 ± 0.011
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0.246 ± 0.006 μs 0.25 ± 0.01 μs 0.984 ± 0.046
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0.547 ± 0.002 μs 0.545 ± 0.002 μs 1 ± 0.0052
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0.413 ± 0.015 μs 0.408 ± 0.013 μs 1.01 ± 0.049
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 1.1 ± 0.015 μs 1.13 ± 0.017 μs 0.971 ± 0.02
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0.194 ± 0.008 μs 0.196 ± 0.007 μs 0.99 ± 0.054
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0.091 ± 0.002 μs 0.094 ± 0.001 μs 0.968 ± 0.024
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 2.23 ± 0.045 μs 2.28 ± 0.028 μs 0.976 ± 0.023
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0.195 ± 0.006 μs 0.19 ± 0.006 μs 1.03 ± 0.045
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0.194 ± 0.007 μs 0.195 ± 0.005 μs 0.995 ± 0.044
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0.318 ± 0.01 μs 0.316 ± 0.004 μs 1.01 ± 0.034
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/LinModel 0.254 ± 0.014 ms 0.249 ± 0.012 ms 1.02 ± 0.074
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 0.348 ± 0.015 ms 0.335 ± 0.014 ms 1.04 ± 0.062
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Constant arr. cov. 0.036 ± 0.0015 s 0.0368 ± 0.0015 s 0.98 ± 0.058
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 0.0411 ± 0.0021 s 0.0361 ± 0.0012 s 1.14 ± 0.069
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0.303 ± 0.006 μs 0.291 ± 0.001 μs 1.04 ± 0.021
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.297 ± 0.014 ms 0.285 ± 0.013 ms 1.04 ± 0.068
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 1.15 ± 0.016 μs 1.15 ± 0.014 μs 1 ± 0.018
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Constant arr. cov. 19.1 ± 1.5 μs 10.7 ± 1.2 μs 1.78 ± 0.24
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 26.3 ± 2.1 μs 26.7 ± 2.1 μs 0.987 ± 0.11
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 0.0339 ± 0.0014 s 0.0332 ± 0.0011 s 1.02 ± 0.055
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 17 ± 0.38 μs 17.6 ± 0.4 μs 0.967 ± 0.031
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.295 ± 0.013 ms 0.298 ± 0.012 ms 0.99 ± 0.059
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0.205 ± 0.003 μs 0.21 ± 0.003 μs 0.976 ± 0.02
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0.203 ± 0.005 μs 0.21 ± 0.006 μs 0.967 ± 0.036
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0.338 ± 0.002 μs 0.352 ± 0.009 μs 0.96 ± 0.025
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0.27 ± 0.013 μs 0.256 ± 0.013 μs 1.05 ± 0.074
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0.711 ± 0.021 μs 0.714 ± 0.016 μs 0.996 ± 0.037
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 3.44 ± 0.028 μs 3.39 ± 0.035 μs 1.02 ± 0.013
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 4.44 ± 0.044 μs 4.46 ± 0.043 μs 0.996 ± 0.014
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 3.52 ± 0.043 μs 3.58 ± 0.045 μs 0.985 ± 0.017
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 5.62 ± 0.063 μs 5.6 ± 0.058 μs 1 ± 0.015
time_to_load 5.51 ± 0.059 s 5.6 ± 0.051 s 0.983 ± 0.014
Memory benchmarks
main 54b3bd5... main / 54b3bd5...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 0.0469 M allocs: 1.85 MB 0.0469 M allocs: 1.85 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.166 M allocs: 9.51 MB 0.166 M allocs: 9.51 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.058 M allocs: 2.99 MB 0.058 M allocs: 2.99 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.84 k allocs: 0.249 MB 7.84 k allocs: 0.249 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 0.0468 M allocs: 1.84 MB 0.0468 M allocs: 1.84 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.131 M allocs: 7.68 MB 0.131 M allocs: 7.68 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.0601 M allocs: 3.08 MB 0.0601 M allocs: 3.08 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 0.0531 M allocs: 1.39 MB 0.0531 M allocs: 1.39 MB 1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 7.69 k allocs: 0.243 MB 7.69 k allocs: 0.243 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 0.119 M allocs: 6.37 MB 0.119 M allocs: 6.37 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.117 M allocs: 6.99 MB 0.117 M allocs: 7 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.435 M allocs: 30.3 MB 0.435 M allocs: 30.3 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 1.04 M allocs: 0.114 GB 1.04 M allocs: 0.114 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 0.255 M allocs: 0.0347 GB 0.255 M allocs: 0.0347 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 1.02 M allocs: 0.0978 GB 1.02 M allocs: 0.0978 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 1.02 M allocs: 0.0978 GB 1.02 M allocs: 0.0978 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.32 M allocs: 22.2 MB 0.32 M allocs: 22.2 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.686 M allocs: 0.0776 GB 0.686 M allocs: 0.0776 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation 1.32 M allocs: 0.118 GB 1.32 M allocs: 0.118 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation (Hessian) 1.32 M allocs: 0.118 GB 1.32 M allocs: 0.118 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.0736 M allocs: 13 MB 0.0736 M allocs: 13 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.0811 M allocs: 16.8 MB 0.0811 M allocs: 16.8 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.334 M allocs: 23.3 MB 0.334 M allocs: 23.3 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.755 M allocs: 0.0765 GB 0.755 M allocs: 0.0765 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting (Hessian) 0.0941 M allocs: 20.2 MB 0.0941 M allocs: 20.2 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Uno/MultipleShooting (Hessian) 0.309 M allocs: 0.0328 GB 0.309 M allocs: 0.0328 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.269 M allocs: 18.4 MB 0.269 M allocs: 18.4 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.871 M allocs: 0.0907 GB 0.871 M allocs: 0.0907 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.287 M allocs: 27 MB 0.287 M allocs: 27 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation 1.47 M allocs: 0.132 GB 1.47 M allocs: 0.132 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation (Hessian) 6.04 M allocs: 0.741 GB 6.04 M allocs: 0.741 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.0757 M allocs: 13.4 MB 0.0757 M allocs: 13.4 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.0811 M allocs: 16.8 MB 0.0811 M allocs: 16.8 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.276 M allocs: 19 MB 0.276 M allocs: 19 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.881 M allocs: 0.0815 GB 0.881 M allocs: 0.0815 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.295 M allocs: 28 MB 0.295 M allocs: 28 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/MultipleShooting (Hessian) 0.583 M allocs: 0.0723 GB 0.583 M allocs: 0.0723 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting (Hessian) 0.0937 M allocs: 20.1 MB 0.0937 M allocs: 20.1 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.305 M allocs: 30.4 MB 0.305 M allocs: 30.4 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/OrthogonalCollocation (Hessian) 2.13 M allocs: 0.243 GB 2.13 M allocs: 0.243 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 1.25 M allocs: 0.213 GB 1.25 M allocs: 0.213 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 1.16 M allocs: 0.136 GB 1.16 M allocs: 0.136 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 1.14 M allocs: 0.217 GB 1.13 M allocs: 0.211 GB 1.03
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 1.08 M allocs: 0.134 GB 1.08 M allocs: 0.134 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 1.12 M allocs: 0.209 GB 1.12 M allocs: 0.209 GB 1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 1.06 M allocs: 0.133 GB 1.06 M allocs: 0.133 GB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.069 M allocs: 12.1 MB 0.069 M allocs: 12.1 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0683 M allocs: 12.1 MB 0.0683 M allocs: 12.1 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0521 M allocs: 8.54 MB 0.0521 M allocs: 8.54 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0685 M allocs: 12.1 MB 0.0685 M allocs: 12.1 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form (Hessian) 0.0902 M allocs: 16 MB 0.0902 M allocs: 16 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form (Hessian) 0.0851 M allocs: 14.7 MB 0.0851 M allocs: 14.7 MB 1
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.327 k allocs: 15.8 kB 0.327 k allocs: 15.8 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.482 k allocs: 0.0604 MB 0.482 k allocs: 0.0604 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.614 k allocs: 0.0785 MB 0.614 k allocs: 0.0785 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 1.89 k allocs: 0.11 MB 1.89 k allocs: 0.11 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 0.431 k allocs: 18.1 kB 0.431 k allocs: 18.1 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.29 k allocs: 0.143 MB 2.29 k allocs: 0.143 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 2.88 k allocs: 0.198 MB 2.88 k allocs: 0.198 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocation 3.78 k allocs: 0.22 MB 3.78 k allocs: 0.22 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocationHessian 7.62 k allocs: 0.681 MB 7.62 k allocs: 0.681 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 0.333 k allocs: 0.0473 MB 0.333 k allocs: 0.0473 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 0.333 k allocs: 0.0473 MB 0.333 k allocs: 0.0473 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 1.45 k allocs: 0.0898 MB 1.45 k allocs: 0.0898 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.01 k allocs: 0.0405 MB 1.01 k allocs: 0.0405 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 1.27 k allocs: 0.167 MB 1.27 k allocs: 0.167 MB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Constant arr. cov. 0.158 M allocs: 0.116 GB 0.158 M allocs: 0.119 GB 0.97
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 0.158 M allocs: 0.119 GB 0.158 M allocs: 0.116 GB 1.03
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.977 k allocs: 25.3 kB 0.977 k allocs: 25.3 kB 1
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 0 allocs: 0 B 0 allocs: 0 B
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Constant arr. cov. 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.08 k allocs: 0.451 MB 7.08 k allocs: 0.451 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.977 k allocs: 25.3 kB 0.977 k allocs: 25.3 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.149 k allocs: 11.2 kB 1

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