removed: specialized obj_nonlinprog! for LinModel in NonLinMPC (slower)#325
removed: specialized obj_nonlinprog! for LinModel in NonLinMPC (slower)#325franckgaga merged 4 commits intomainfrom
obj_nonlinprog! for LinModel in NonLinMPC (slower)#325Conversation
The two methods had different number of argument because of a refactor. It was always thus fallbacking to the one for `NonLinModel`. It works but it is less efficient.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #325 +/- ##
==========================================
+ Coverage 98.48% 98.56% +0.07%
==========================================
Files 27 27
Lines 5165 5162 -3
==========================================
+ Hits 5087 5088 +1
+ Misses 78 74 -4 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Benchmark Results (Julia v1)Time benchmarks
Memory benchmarks
|
|
Surpise! 😲 The specialized Thanks to my benchmark suite! It does make sense a posteriori, since the Hessian matrix Conclusion: it make sense to specialize the output prediction equations but not the objective function. I will remove this method. |
obj_nonlinprog! for LinModel in NonLinMPCobj_nonlinprog! for LinModel in NonLinMPC
obj_nonlinprog! for LinModel in NonLinMPCobj_nonlinprog! for LinModel in NonLinMPC (slower)
The two methods had different number of argument because of a refactor. It was always thus fallbacking to the general one for
NonLinModel. It works but it is less efficient.edit: see comment below, it's actually slower so the specialized method is removed.