Skip to content

Conversation

@franckgaga
Copy link
Member

@franckgaga franckgaga commented Nov 15, 2025

This significantly improve the efficiency of hessian! for the economic MPC on the pendulum.

This PR introduce a new dependency, the StableRNGs package to ensure reproducibility across the Julia version. The package is very lightweight, so I think it is worth it.

The new default backend for sparse Jacobians and Hessians is thus:

AutoSparse(
    AutoForwardDiff(); 
    sparsity_detector  = TracerSparsityDetector(), 
    coloring_algorithm = GreedyColoringAlgorithm(
        (
            NaturalOrder(),
            LargestFirst(),
            SmallestLast(),
            IncidenceDegree(),
            DynamicLargestFirst(),
            RandomOrder(StableRNG(0), 0)
        ), 
    postprocessing = true
    )
)

This significantly improve the efficiency of `hessian!` for the economic MPC on the pendulum.
@franckgaga franckgaga changed the title added: RandomOrder in default sparse Hessian backend added: RandomOrder in default sparse Jacobian and Hessian backends Nov 15, 2025
@github-actions
Copy link

github-actions bot commented Nov 16, 2025

Benchmark Results (Julia v1)

Time benchmarks
main d9aa841... main / d9aa841...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 5.78 ± 0.5 ms 5.3 ± 0.53 ms 1.09 ± 0.14
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/MultipleShooting 0.312 ± 0.0019 s 0.313 ± 0.004 s 0.999 ± 0.014
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/Ipopt/SingleShooting 0.228 ± 0.007 s 0.228 ± 0.0086 s 1 ± 0.049
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/MultipleShooting 9.11 ± 0.45 ms 8.91 ± 0.44 ms 1.02 ± 0.072
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/OSQP/SingleShooting 1.78 ± 0.078 ms 1.69 ± 0.069 ms 1.05 ± 0.063
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/DAQP/SingleShooting 5.69 ± 0.44 ms 5.25 ± 0.51 ms 1.08 ± 0.13
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/MultipleShooting 0.278 ± 0.0068 s 0.273 ± 0.0033 s 1.02 ± 0.028
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/Ipopt/SingleShooting 0.242 ± 0.00072 s 0.231 ± 0.0013 s 1.05 ± 0.0065
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/MultipleShooting 6.35 ± 0.38 ms 6.19 ± 0.32 ms 1.03 ± 0.081
CASE STUDIES/PredictiveController/CSTR/LinMPC/Without feedforward/OSQP/SingleShooting 1.87 ± 0.084 ms 1.78 ± 0.079 ms 1.05 ± 0.066
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/DAQP/SingleShooting 9.77 ± 1.4 ms 9.4 ± 1.4 ms 1.04 ± 0.21
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 0.313 ± 0.05 s 0.313 ± 0.046 s 1 ± 0.22
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.156 ± 0.0019 s 0.155 ± 0.001 s 1.01 ± 0.014
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 0.114 ± 0.017 s 0.111 ± 0.019 s 1.04 ± 0.24
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 13 ± 1.5 ms 12.7 ± 1.6 ms 1.02 ± 0.17
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting 0.678 ± 0.015 s 0.68 ± 0.026 s 0.997 ± 0.044
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/MultipleShooting (Hessian) 0.679 ± 0.024 s 0.687 ± 0.0048 s 0.988 ± 0.035
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/SingleShooting 1.68 ± 0.016 s 1.68 ± 0.055 s 1 ± 0.034
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation 0.505 ± 0.04 s 0.518 ± 0.044 s 0.975 ± 0.11
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 0.489 ± 0.042 s 0.506 ± 0.044 s 0.965 ± 0.12
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting 0.344 ± 0.0065 s 0.345 ± 0.0065 s 0.998 ± 0.027
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/MultipleShooting (Hessian) 0.966 ± 0.016 s 0.409 ± 0.033 s 2.36 ± 0.2
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting 0.482 ± 0.0075 s 0.482 ± 0.0087 s 1 ± 0.024
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/SingleShooting (Hessian) 0.165 ± 0.0045 s 0.165 ± 0.0051 s 1 ± 0.041
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation 0.321 ± 0.0062 s 0.321 ± 0.0055 s 1 ± 0.026
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/Ipopt/TrapezoidalCollocation (Hessian) 1.21 ± 0.01 s 0.452 ± 0.022 s 2.68 ± 0.13
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting 0.148 ± 0.003 s 0.145 ± 0.0018 s 1.02 ± 0.024
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting 0.337 ± 0.0091 s 0.336 ± 0.011 s 1 ± 0.042
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (Hessian) 0.413 ± 0.026 s 0.41 ± 0.024 s 1.01 ± 0.087
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.361 ± 0.017 s 0.355 ± 0.0079 s 1.02 ± 0.054
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting 0.481 ± 0.0086 s 0.48 ± 0.012 s 1 ± 0.03
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/SingleShooting (Hessian) 0.165 ± 0.0065 s 0.165 ± 0.0063 s 0.998 ± 0.055
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation 0.315 ± 0.0061 s 0.315 ± 0.0065 s 1 ± 0.028
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (Hessian) 0.291 ± 0.038 s 0.291 ± 0.035 s 0.999 ± 0.18
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.35 ± 0.017 s 0.343 ± 0.015 s 1.02 ± 0.065
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting 0.13 ± 0.0016 s 0.127 ± 0.0013 s 1.02 ± 0.017
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 0.198 ± 0.021 s 0.193 ± 0.02 s 1.02 ± 0.15
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Current form 0.0402 ± 0.0013 s 0.0403 ± 0.0011 s 0.998 ± 0.043
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/DAQP/Prediction form 0.0344 ± 0.0094 s 0.0342 ± 0.0093 s 1.01 ± 0.39
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Current form 0.17 ± 0.045 s 0.186 ± 0.043 s 0.916 ± 0.32
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/Ipopt/Prediction form 0.164 ± 0.026 s 0.156 ± 0.029 s 1.05 ± 0.25
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Current form 0.0347 ± 0.002 s 0.0349 ± 0.003 s 0.994 ± 0.1
CASE STUDIES/StateEstimator/CSTR/MovingHorizonEstimator/OSQP/Prediction form 28.1 ± 6.8 ms 28.2 ± 6.5 ms 0.996 ± 0.33
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form 0.0835 ± 0.0013 s 0.0889 ± 0.0016 s 0.94 ± 0.023
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.081 ± 0.0015 s 0.0865 ± 0.0016 s 0.937 ± 0.024
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0638 ± 0.002 s 0.0661 ± 0.0023 s 0.964 ± 0.045
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0852 ± 0.0036 s 0.0864 ± 0.0026 s 0.987 ± 0.051
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Current form 2.55 ± 0.026 s 2.58 ± 0.02 s 0.988 ± 0.013
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/MadNLP/Prediction form 1.5 ± 0.013 s 1.5 ± 0.0089 s 1 ± 0.011
UNIT TESTS/PredictiveController/ExplicitMPC/moveinput! 3.83 ± 0.03 μs 3.78 ± 0.05 μs 1.01 ± 0.016
UNIT TESTS/PredictiveController/LinMPC/moveinput!/MultipleShooting 0.105 ± 0.0064 ms 0.104 ± 0.0065 ms 1 ± 0.087
UNIT TESTS/PredictiveController/LinMPC/moveinput!/SingleShooting 15.2 ± 0.34 μs 14.7 ± 0.35 μs 1.04 ± 0.034
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/MultipleShooting 2.58 ± 0.18 ms 2.55 ± 0.17 ms 1.01 ± 0.099
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/LinModel/SingleShooting 1.87 ± 0.2 ms 1.85 ± 0.21 ms 1.01 ± 0.16
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShooting 3.06 ± 0.089 ms 3.03 ± 0.13 ms 1.01 ± 0.053
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/MultipleShootingHessian 3.04 ± 0.093 ms 3.02 ± 0.064 ms 1 ± 0.037
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShooting 1.92 ± 0.077 ms 1.9 ± 0.21 ms 1.01 ± 0.12
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/SingleShootingHessian 1.8 ± 0.058 ms 1.77 ± 0.087 ms 1.02 ± 0.06
UNIT TESTS/PredictiveController/NonLinMPC/moveinput!/NonLinModel/TrapezoidalCollocation 2.18 ± 0.086 ms 2.16 ± 0.082 ms 1.01 ± 0.055
UNIT TESTS/SimModel/LinModel/evaloutput 0.16 ± 0.01 μs 0.18 ± 0.011 μs 0.889 ± 0.078
UNIT TESTS/SimModel/LinModel/updatestate! 0.201 ± 0.01 μs 0.23 ± 0.001 μs 0.874 ± 0.044
UNIT TESTS/SimModel/NonLinModel/evaloutput 0.421 ± 0 μs 0.421 ± 0.01 μs 1 ± 0.024
UNIT TESTS/SimModel/NonLinModel/linearize! 2.05 ± 0.02 μs 2.05 ± 0.019 μs 1 ± 0.013
UNIT TESTS/SimModel/NonLinModel/updatestate! 0.491 ± 0.001 μs 0.481 ± 0.01 μs 1.02 ± 0.021
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/LinModel 0.551 ± 0.01 μs 0.571 ± 0.002 μs 0.965 ± 0.018
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/evaloutput/NonLinModel 1.8 ± 0.011 μs 1.84 ± 0.011 μs 0.978 ± 0.0083
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/LinModel 0.27 ± 0.01 μs 0.27 ± 0.01 μs 1 ± 0.052
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/preparestate!/NonLinModel 1.41 ± 0.001 μs 1.42 ± 0.011 μs 0.993 ± 0.0077
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/LinModel 4 ± 0.06 μs 4.08 ± 0.09 μs 0.98 ± 0.026
UNIT TESTS/StateEstimator/ExtendedKalmanFilter/updatestate!/NonLinModel 9.12 ± 0.08 μs 8.77 ± 0.1 μs 1.04 ± 0.015
UNIT TESTS/StateEstimator/InternalModel/evaloutput/LinModel 0.24 ± 0.001 μs 0.24 ± 0.011 μs 1 ± 0.046
UNIT TESTS/StateEstimator/InternalModel/evaloutput/NonLinModel 0.571 ± 0.01 μs 0.581 ± 0 μs 0.983 ± 0.017
UNIT TESTS/StateEstimator/InternalModel/preparestate!/LinModel 0.281 ± 0.001 μs 0.281 ± 0.01 μs 1 ± 0.036
UNIT TESTS/StateEstimator/InternalModel/preparestate!/NonLinModel 0.742 ± 0.01 μs 0.731 ± 0.001 μs 1.02 ± 0.014
UNIT TESTS/StateEstimator/InternalModel/updatestate!/LinModel 0.411 ± 0.01 μs 0.421 ± 0.01 μs 0.976 ± 0.033
UNIT TESTS/StateEstimator/InternalModel/updatestate!/NonLinModel 0.942 ± 0.01 μs 0.921 ± 0.01 μs 1.02 ± 0.016
UNIT TESTS/StateEstimator/KalmanFilter/evaloutput 0.261 ± 0.001 μs 0.261 ± 0.01 μs 1 ± 0.039
UNIT TESTS/StateEstimator/KalmanFilter/preparestate! 0.141 ± 0.01 μs 0.14 ± 0 μs 1.01 ± 0.071
UNIT TESTS/StateEstimator/KalmanFilter/updatestate! 2.56 ± 0.03 μs 2.6 ± 0.04 μs 0.981 ± 0.019
UNIT TESTS/StateEstimator/Luenberger/evaloutput 0.24 ± 0.001 μs 0.241 ± 0.001 μs 0.996 ± 0.0059
UNIT TESTS/StateEstimator/Luenberger/preparestate! 0.251 ± 0.01 μs 0.27 ± 0.001 μs 0.93 ± 0.037
UNIT TESTS/StateEstimator/Luenberger/updatestate! 0.351 ± 0.01 μs 0.351 ± 0.01 μs 1 ± 0.04
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/LinModel/Current form 3.73 ± 0.21 ms 3.67 ± 0.23 ms 1.02 ± 0.085
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.327 ± 0.019 ms 0.33 ± 0.019 ms 0.993 ± 0.081
UNIT TESTS/StateEstimator/MovingHorizonEstimator/preparestate!/NonLinModel/Prediction form 1.32 ± 0.01 μs 1.32 ± 0.019 μs 1 ± 0.016
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Current form 7.46 ± 2.8 μs 7.83 ± 2.8 μs 0.953 ± 0.49
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/LinModel/Prediction form 3.3 ± 0.17 ms 3.23 ± 0.17 ms 1.02 ± 0.074
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Current form 17 ± 0.33 μs 17 ± 0.36 μs 1 ± 0.029
UNIT TESTS/StateEstimator/MovingHorizonEstimator/updatestate!/NonLinModel/Prediction form 0.344 ± 0.019 ms 0.335 ± 0.02 ms 1.03 ± 0.083
UNIT TESTS/StateEstimator/SteadyKalmanFilter/evaloutput 0.27 ± 0.011 μs 0.27 ± 0.001 μs 1 ± 0.041
UNIT TESTS/StateEstimator/SteadyKalmanFilter/preparestate! 0.281 ± 0.011 μs 0.291 ± 0.01 μs 0.966 ± 0.05
UNIT TESTS/StateEstimator/SteadyKalmanFilter/updatestate! 0.39 ± 0.01 μs 0.371 ± 0.001 μs 1.05 ± 0.027
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/LinModel 0.301 ± 0.001 μs 0.301 ± 0.001 μs 1 ± 0.0047
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/evaloutput/NonLinModel 0.912 ± 0.01 μs 0.932 ± 0.011 μs 0.979 ± 0.016
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/LinModel 3.66 ± 0.02 μs 3.63 ± 0.021 μs 1.01 ± 0.008
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/preparestate!/NonLinModel 5.01 ± 0.04 μs 4.96 ± 0.039 μs 1.01 ± 0.011
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/LinModel 3.56 ± 0.079 μs 3.47 ± 0.03 μs 1.03 ± 0.024
UNIT TESTS/StateEstimator/UnscentedKalmanFilter/updatestate!/NonLinModel 6.2 ± 0.05 μs 6.46 ± 0.081 μs 0.96 ± 0.014
time_to_load 3.54 ± 0.026 s 3.52 ± 0.042 s 1 ± 0.014
Memory benchmarks
main d9aa841... main / d9aa841...
CASE STUDIES/PredictiveController/CSTR/LinMPC/With feedforward/DAQP/SingleShooting 0.0424 M allocs: 1.7 MB 0.0424 M allocs: 1.7 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.0422 M allocs: 1.7 MB 0.0422 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.107 M allocs: 5.91 MB 0.107 M allocs: 5.91 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/MultipleShooting 4.65 M allocs: 0.25 GB 4.65 M allocs: 0.25 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/Ipopt/SingleShooting 0.108 M allocs: 6.34 MB 0.108 M allocs: 6.34 MB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/MultipleShooting 4.68 M allocs: 0.254 GB 4.68 M allocs: 0.254 GB 1
CASE STUDIES/PredictiveController/Pendulum/LinMPC/Successive linearization/OSQP/SingleShooting 0.119 M allocs: 7.46 MB 0.119 M allocs: 7.46 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.0789 GB 0.862 M allocs: 0.0789 GB 0.999
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.0787 GB 1.18 M allocs: 0.0789 GB 0.999
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Custom constraints/Ipopt/TrapezoidalCollocation (Hessian) 1.18 M allocs: 0.0787 GB 1.18 M allocs: 0.0789 GB 0.999
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.657 M allocs: 0.161 GB 0.552 M allocs: 0.0505 GB 3.19
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.91 MB 0.0772 M allocs: 4.95 MB 0.992
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.8 M allocs: 0.344 GB 1.18 M allocs: 0.0881 GB 3.9
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Economic/MadNLP/SingleShooting 0.297 M allocs: 0.0649 GB 0.297 M allocs: 0.0649 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.0541 GB 0.647 M allocs: 0.0541 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/MultipleShooting (threaded) 0.244 M allocs: 20.1 MB 0.244 M allocs: 20.1 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: 4.87 MB 0.0768 M allocs: 4.91 MB 0.992
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.0547 GB 0.879 M allocs: 0.0547 GB 0.999
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Ipopt/TrapezoidalCollocation (threaded) 0.335 M allocs: 24.4 MB 0.335 M allocs: 24.4 MB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/MadNLP/SingleShooting 0.255 M allocs: 0.056 GB 0.255 M allocs: 0.056 GB 1
CASE STUDIES/PredictiveController/Pendulum/NonLinMPC/Noneconomic/Uno/MultipleShooting (Hessian) 1.36 M allocs: 0.0836 GB 1.36 M allocs: 0.0836 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.647 M allocs: 0.0801 GB 0.646 M allocs: 0.0785 GB 1.02
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.4 MB 0.0649 M allocs: 11.5 MB 0.995
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Current form (Hessian) 0.0639 M allocs: 11.2 MB 0.0639 M allocs: 11.3 MB 0.995
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form 0.0485 M allocs: 8.01 MB 0.0485 M allocs: 8.05 MB 0.995
CASE STUDIES/StateEstimator/Pendulum/MovingHorizonEstimator/Ipopt/Prediction form (Hessian) 0.0642 M allocs: 11.3 MB 0.0642 M allocs: 11.3 MB 0.995
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/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/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/preparestate!/LinModel/Current form 0.0754 M allocs: 14.6 MB 0.0754 M allocs: 14.7 MB 0.994
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 0 allocs: 0 B 0 allocs: 0 B
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

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.50%. Comparing base (3c46387) to head (d9aa841).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #286   +/-   ##
=======================================
  Coverage   98.50%   98.50%           
=======================================
  Files          28       28           
  Lines        4831     4831           
=======================================
  Hits         4759     4759           
  Misses         72       72           

☔ 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 3b14da7 into main Nov 16, 2025
5 checks passed
@franckgaga franckgaga deleted the random_order branch November 16, 2025 13:51
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