Skip to content

added: h=1 support for OrthogonalCollocation + misc. improvements#331

Merged
franckgaga merged 8 commits intomainfrom
ortho_colloc_foh
Mar 6, 2026
Merged

added: h=1 support for OrthogonalCollocation + misc. improvements#331
franckgaga merged 8 commits intomainfrom
ortho_colloc_foh

Conversation

@franckgaga
Copy link
Member

@franckgaga franckgaga commented Mar 5, 2026

  • added support for piecewise linear manipulated input $\mathbf{u}$ in OrthogonalCollocation
  • debug some potential race conditions in TrapezoidalCollocation and OrthogonalCollocation
  • removed allocations in OrthogonalCollocation
  • benchmark OrthogonalCollocation with UnoSolver.jl and hessian=true

@franckgaga franckgaga marked this pull request as draft March 5, 2026 23:00
@franckgaga franckgaga marked this pull request as ready for review March 6, 2026 19:26
@codecov-commenter
Copy link

codecov-commenter commented Mar 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.58%. Comparing base (c4290c6) to head (cd026dd).
⚠️ Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #331      +/-   ##
==========================================
+ Coverage   98.56%   98.58%   +0.02%     
==========================================
  Files          27       27              
  Lines        5164     5174      +10     
==========================================
+ Hits         5090     5101      +11     
+ Misses         74       73       -1     

☔ 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.

@franckgaga franckgaga merged commit c06273f into main Mar 6, 2026
6 checks passed
@franckgaga franckgaga deleted the ortho_colloc_foh branch March 6, 2026 21:06
@JuliaControl JuliaControl deleted a comment from JuliaRegistrator Mar 6, 2026
@JuliaRegistrator
Copy link

Comments on pull requests will not trigger Registrator, as it is disabled. Please try commenting on a commit or issue.

@github-actions
Copy link

github-actions bot commented Mar 6, 2026

Benchmark Results (Julia v1)

Time benchmarks
main cd026dd... main / cd026dd...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 5.45 ± 0.46 ms 5.41 ± 0.49 ms 1.01 ± 0.12
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.314 ± 0.011 s 0.314 ± 0.0095 s 0.998 ± 0.046
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.221 ± 0.015 s 0.22 ± 0.015 s 1 ± 0.097
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 9.43 ± 0.6 ms 9.26 ± 0.6 ms 1.02 ± 0.093
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 1.88 ± 0.083 ms 1.79 ± 0.089 ms 1.05 ± 0.07
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 5.46 ± 0.36 ms 5.35 ± 0.47 ms 1.02 ± 0.11
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.272 ± 0.0042 s 0.272 ± 0.0041 s 1 ± 0.022
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.231 ± 0.0025 s 0.23 ± 0.0018 s 1 ± 0.014
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 6.62 ± 0.5 ms 6.47 ± 0.44 ms 1.02 ± 0.1
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 1.99 ± 0.078 ms 1.9 ± 0.081 ms 1.05 ± 0.061
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 10.3 ± 1.7 ms 10.1 ± 1.7 ms 1.02 ± 0.24
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 0.332 ± 0.1 s 0.324 ± 0.085 s 1.03 ± 0.41
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.158 ± 0.0036 s 0.157 ± 0.0011 s 1.01 ± 0.024
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 0.117 ± 0.025 s 0.111 ± 0.019 s 1.05 ± 0.29
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 13.7 ± 1.8 ms 13.5 ± 1.8 ms 1.02 ± 0.19
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.737 ± 0.01 s 0.723 ± 0.0026 s 1.02 ± 0.015
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.643 ± 0.008 s 0.679 ± 0.043 s 0.947 ± 0.061
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 1.87 ± 0.012 s 1.89 ± 0.058 s 0.992 ± 0.031
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 0.509 ± 0.0092 s 0.498 ± 0.025 s 1.02 ± 0.054
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 0.503 ± 0.0053 s 0.491 ± 0.0012 s 1.02 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.37 ± 0.0024 s 0.386 ± 0.002 s 0.959 ± 0.0081
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.443 ± 0.0059 s 0.436 ± 0.006 s 1.02 ± 0.019
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation 0.547 ± 0.0044 s 0.591 ± 0.023 s 0.925 ± 0.037
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation (Hessian) 0.544 ± 0.0068 s 0.582 ± 0.0028 s 0.934 ± 0.013
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.529 ± 0.0024 s 0.558 ± 0.0043 s 0.949 ± 0.0086
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.178 ± 0.0034 s 0.185 ± 0.0012 s 0.96 ± 0.02
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.35 ± 0.0024 s 0.36 ± 0.019 s 0.972 ± 0.053
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.405 ± 0.0077 s 0.403 ± 0.0054 s 1 ± 0.023
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting (Hessian) 0.0821 ± 0.0006 s 0.0869 ± 0.0032 s 0.945 ± 0.035
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Uno/MultipleShooting (Hessian) 0.154 ± 0.0023 s 0.169 ± 0.0098 s 0.913 ± 0.055
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.368 ± 0.0044 s 0.369 ± 0.0015 s 0.999 ± 0.013
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.394 ± 0.0018 s 0.401 ± 0.0058 s 0.983 ± 0.015
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.394 ± 0.004 s 0.39 ± 0.0034 s 1.01 ± 0.014
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation 0.607 ± 0.002 s 0.636 ± 0.0049 s 0.955 ± 0.008
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation (Hessian) 1.54 ± 0.14 s 1.77 ± 0.04 s 0.87 ± 0.081
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.528 ± 0.0053 s 0.538 ± 0.0026 s 0.98 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.174 ± 0.0011 s 0.174 ± 0.002 s 0.998 ± 0.013
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.349 ± 0.0013 s 0.345 ± 0.0035 s 1.01 ± 0.011
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.314 ± 0.011 s 0.317 ± 0.0036 s 0.99 ± 0.037
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.381 ± 0.013 s 0.371 ± 0.004 s 1.03 ± 0.036
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/MultipleShooting (Hessian) 0.269 ± 0.0081 s 0.258 ± 0.00099 s 1.04 ± 0.032
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting (Hessian) 0.0787 ± 0.0015 s 0.0773 ± 0.00051 s 1.02 ± 0.021
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.141 ± 0.0031 s 0.139 ± 0.0018 s 1.02 ± 0.026
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.0426 ± 0.0021 s 0.0383 ± 0.0015 s 1.11 ± 0.07
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.0367 ± 0.012 s 0.0322 ± 0.0068 s 1.14 ± 0.45
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.175 ± 0.044 s 0.176 ± 0.042 s 0.991 ± 0.35
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.162 ± 0.03 s 0.162 ± 0.034 s 0.998 ± 0.28
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.0345 ± 0.005 s 0.0321 ± 0.0043 s 1.07 ± 0.21
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 28.5 ± 2.4 ms 26.2 ± 3.2 ms 1.08 ± 0.16
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0865 ± 0.0018 s 0.0903 ± 0.00066 s 0.958 ± 0.022
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0827 ± 0.0018 s 0.0893 ± 0.0004 s 0.926 ± 0.02
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0632 ± 0.0013 s 0.0681 ± 0.00053 s 0.928 ± 0.02
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.082 ± 0.001 s 0.0883 ± 0.00037 s 0.929 ± 0.012
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form (Hessian) 0.052 ± 0.0011 s 0.0494 ± 0.0003 s 1.05 ± 0.023
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form (Hessian) 0.047 ± 0.0012 s 0.0462 ± 0.00031 s 1.02 ± 0.026
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 4.29 ± 0.03 μs 3.84 ± 0.03 μs 1.12 ± 0.012
UNIT TESTS/PredictiveController/LinMPC/getinfo! 0.109 ± 0.0023 ms 0.109 ± 0.0023 ms 1 ± 0.03
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.108 ± 0.0013 ms 0.107 ± 0.001 ms 1.01 ± 0.015
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 17.3 ± 0.28 μs 17.1 ± 0.46 μs 1.01 ± 0.032
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/LinModel 0.196 ± 0.011 ms 0.196 ± 0.0095 ms 1 ± 0.076
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.228 ± 0.018 ms 0.228 ± 0.012 ms 0.999 ± 0.094
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 1.86 ± 0.25 ms 1.89 ± 0.23 ms 0.98 ± 0.18
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 1.25 ± 0.068 ms 1.27 ± 0.033 ms 0.986 ± 0.059
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.43 ± 0.76 ms 2.51 ± 0.78 ms 0.967 ± 0.43
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 2.27 ± 0.14 ms 2.29 ± 0.11 ms 0.99 ± 0.076
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocation 2.08 ± 0.14 ms 2.17 ± 0.21 ms 0.958 ± 0.11
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocationHessian 2.89 ± 0.17 ms 3.2 ± 0.18 ms 0.904 ± 0.074
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 1.27 ± 0.032 ms 1.27 ± 0.029 ms 0.995 ± 0.034
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 1.27 ± 0.026 ms 1.28 ± 0.029 ms 0.993 ± 0.031
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 1.64 ± 0.16 ms 1.69 ± 0.2 ms 0.966 ± 0.15
UNIT TESTS/SimModel/LinModel/evaloutput 0.15 ± 0.01 μs 0.14 ± 0.001 μs 1.07 ± 0.072
UNIT TESTS/SimModel/LinModel/updatestate! 0.21 ± 0.001 μs 0.23 ± 0.01 μs 0.913 ± 0.04
UNIT TESTS/SimModel/NonLinModel/evaloutput 0.43 ± 0.01 μs 0.421 ± 0.01 μs 1.02 ± 0.034
UNIT TESTS/SimModel/NonLinModel/linearize! 2.05 ± 0.021 μs 2.06 ± 0.02 μs 0.996 ± 0.014
UNIT TESTS/SimModel/NonLinModel/updatestate! 0.49 ± 0.01 μs 0.491 ± 0.01 μs 0.998 ± 0.029
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0.541 ± 0 μs 0.551 ± 0.001 μs 0.982 ± 0.0018
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 1.81 ± 0.011 μs 1.79 ± 0.019 μs 1.01 ± 0.012
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0.27 ± 0.01 μs 0.271 ± 0.011 μs 0.996 ± 0.055
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 1.41 ± 0.01 μs 1.42 ± 0.011 μs 0.993 ± 0.01
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 3.95 ± 0.07 μs 4.34 ± 0.07 μs 0.91 ± 0.022
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 8.98 ± 0.14 μs 9.04 ± 0.09 μs 0.993 ± 0.018
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0.24 ± 0.01 μs 0.24 ± 0.01 μs 1 ± 0.059
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0.591 ± 0.001 μs 0.571 ± 0.01 μs 1.04 ± 0.018
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0.31 ± 0.01 μs 0.311 ± 0.001 μs 0.997 ± 0.032
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0.741 ± 0.001 μs 0.742 ± 0.01 μs 0.999 ± 0.014
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0.441 ± 0 μs 0.451 ± 0.01 μs 0.978 ± 0.022
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 1.23 ± 0.011 μs 1.23 ± 0.01 μs 1 ± 0.012
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0.261 ± 0.01 μs 0.27 ± 0.01 μs 0.967 ± 0.052
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0.14 ± 0.01 μs 0.13 ± 0.01 μs 1.08 ± 0.11
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 2.52 ± 0.04 μs 2.52 ± 0.03 μs 1 ± 0.02
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0.231 ± 0.01 μs 0.24 ± 0.001 μs 0.963 ± 0.042
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0.25 ± 0.01 μs 0.26 ± 0.01 μs 0.962 ± 0.053
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0.351 ± 0.01 μs 0.35 ± 0.01 μs 1 ± 0.04
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/LinModel 0.173 ± 0.013 ms 0.207 ± 0.038 ms 0.836 ± 0.16
UNIT TESTS/StateEstimator/MovingHorizonEstimator/getinfo!/NonLinModel 0.338 ± 0.018 ms 0.343 ± 0.018 ms 0.984 ± 0.074
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 3.4 ± 0.14 ms 3.35 ± 0.12 ms 1.01 ± 0.055
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Prediction form 0.481 ± 0 μs 0.481 ± 0.01 μs 1 ± 0.021
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Current form 0.305 ± 0.017 ms 0.31 ± 0.017 ms 0.983 ± 0.077
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 1.34 ± 0.001 μs 1.33 ± 0.001 μs 1.01 ± 0.0011
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 6.97 ± 3.9 μs 6.49 ± 1.9 μs 1.07 ± 0.67
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 2.96 ± 0.18 ms 2.9 ± 0.14 ms 1.02 ± 0.081
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 16.7 ± 0.56 μs 16.6 ± 0.31 μs 1.01 ± 0.039
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.315 ± 0.018 ms 0.319 ± 0.018 ms 0.987 ± 0.079
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0.27 ± 0.01 μs 0.261 ± 0.001 μs 1.03 ± 0.039
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0.29 ± 0.01 μs 0.28 ± 0.01 μs 1.04 ± 0.051
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0.371 ± 0.01 μs 0.381 ± 0.001 μs 0.974 ± 0.026
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0.31 ± 0.01 μs 0.301 ± 0.01 μs 1.03 ± 0.048
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0.931 ± 0.01 μs 0.941 ± 0.01 μs 0.989 ± 0.015
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 3.7 ± 0.04 μs 3.73 ± 0.04 μs 0.992 ± 0.015
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 4.9 ± 0.031 μs 4.93 ± 0.04 μs 0.994 ± 0.01
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 3.55 ± 0.03 μs 3.52 ± 0.039 μs 1.01 ± 0.014
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 6.38 ± 0.049 μs 6.32 ± 0.08 μs 1.01 ± 0.015
time_to_load 6.02 ± 0.12 s 6.29 ± 0.16 s 0.956 ± 0.031
Memory benchmarks
main cd026dd... main / cd026dd...
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.115 M allocs: 6.26 MB 0.115 M allocs: 6.26 MB 1
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.67 MB 1
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.0791 GB 0.862 M allocs: 0.0791 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.01 M allocs: 0.0714 GB 1.18 M allocs: 0.079 GB 0.904
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 1.01 M allocs: 0.0714 GB 1.18 M allocs: 0.079 GB 0.904
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.0603 GB 0.633 M allocs: 0.0603 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation 0.717 M allocs: 0.1 GB 1.49 M allocs: 0.125 GB 0.802
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/OrthogonalCollocation (Hessian) 0.717 M allocs: 0.1 GB 1.49 M allocs: 0.125 GB 0.802
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: 4.85 MB 0.0772 M allocs: 4.85 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.321 M allocs: 17.1 MB 0.376 M allocs: 19.7 MB 0.87
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 0.913 M allocs: 0.0725 GB 1.07 M allocs: 0.0794 GB 0.913
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting (Hessian) 0.114 M allocs: 11 MB 0.114 M allocs: 11 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Uno/MultipleShooting (Hessian) 0.265 M allocs: 23.7 MB 0.265 M allocs: 23.7 MB 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.0542 GB 0.647 M allocs: 0.0542 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.244 M allocs: 21 MB 0.244 M allocs: 21 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation 0.738 M allocs: 0.103 GB 1.53 M allocs: 0.129 GB 0.802
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/OrthogonalCollocation (Hessian) 3.46 M allocs: 0.501 GB 5.4 M allocs: 0.567 GB 0.883
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: 4.81 MB 0.0768 M allocs: 4.81 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.271 M allocs: 14.3 MB 0.317 M allocs: 16.4 MB 0.872
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.761 M allocs: 0.0494 GB 0.879 M allocs: 0.0547 GB 0.904
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.289 M allocs: 23.2 MB 0.335 M allocs: 25.1 MB 0.923
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/MultipleShooting (Hessian) 0.527 M allocs: 0.0563 GB 0.527 M allocs: 0.0563 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting (Hessian) 0.114 M allocs: 11 MB 0.114 M allocs: 11 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.261 M allocs: 20.7 MB 0.261 M allocs: 20.7 MB 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.646 M allocs: 0.0785 GB 1
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.63 M allocs: 0.0764 GB 0.63 M allocs: 0.0764 GB 1
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 (Hessian) 0.0986 M allocs: 15.5 MB 0.0986 M allocs: 15.5 MB 1
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form (Hessian) 0.0929 M allocs: 14.5 MB 0.0929 M allocs: 14.5 MB 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.0587 MB 0.563 k allocs: 0.0587 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/getinfo!/NonLinModel 0.606 k allocs: 0.076 MB 0.606 k allocs: 0.076 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 1.95 k allocs: 0.0809 MB 1.95 k allocs: 0.0809 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 0.298 k allocs: 10.1 kB 0.298 k allocs: 10.1 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 2.09 k allocs: 0.0932 MB 2.09 k allocs: 0.0932 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 2.6 k allocs: 0.125 MB 2.6 k allocs: 0.125 MB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocation 3.01 k allocs: 0.169 MB 3.87 k allocs: 0.196 MB 0.859
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/OrthogonalCollocationHessian 6.26 k allocs: 0.486 MB 7.79 k allocs: 0.54 MB 0.899
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 0.321 k allocs: 11.2 kB 0.321 k allocs: 11.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 0.321 k allocs: 11.2 kB 0.321 k allocs: 11.2 kB 1
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 1.42 k allocs: 0.0582 MB 1.48 k allocs: 0.0609 MB 0.955
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.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.

3 participants