# Solver differences between sim!(::SimModel) and sim!(::PredictiveController) in ModelPredictiveControl.jl

**URL:** <https://discourse.julialang.org/t/solver-differences-between-sim-simmodel-and-sim-predictivecontroller-in-modelpredictivecontrol-jl/120819>\
**Category:** Modelling & Simulations\
**Created:** [October 2, 2024, 3:46pm UTC](https://discourse.julialang.org/t/solver-differences-between-sim-simmodel-and-sim-predictivecontroller-in-modelpredictivecontrol-jl/120819 "2024-10-02T15:46:40Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![franckgaga](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/franckgaga/32/218241_2.png) [@franckgaga](https://discourse.julialang.org/u/franckgaga)\
**Post date:** [June 24, 2026, 5:15pm UTC](https://discourse.julialang.org/t/solver-differences-between-sim-simmodel-and-sim-predictivecontroller-in-modelpredictivecontrol-jl/120819/20 "2026-06-24T17:15:12Z")

</div>

Just a quick follow-up for the posterity. As for [v2.5.0](https://discourse.julialang.org/t/ann-modelpredictivecontrol-jl/100147/75), the bounds on the slack variable \epsilon, the input increments \mathbf{\Delta U} and the terminal states \mathbf{\hat{x}}(k+H\_p) are now treated as box constraints. And pretty-printing an MPC object now shows the dimensions of the optimization problem, which is just clearer for the user.

---

_[View the full topic](https://discourse.julialang.org/t/solver-differences-between-sim-simmodel-and-sim-predictivecontroller-in-modelpredictivecontrol-jl/120819)._
