1. 24 Aug, 2018 4 commits
    • Tjerk Vreeken's avatar
      Simulation: opt-in partial workaround for delay() · 1ca2c04d
      Tjerk Vreeken authored
      A workaround is added to support a delay of zero (or make delay expression
      behave as such). By default, this workaround is disabled. The user has to
      explicitly set "_force_zero_delay" to True to enable it.
      1ca2c04d
    • Tjerk Vreeken's avatar
      Improve goal function range vs. targets check · f97a0ab4
      Tjerk Vreeken authored
      We now check that the target min/max are not equal to the function range
      lower bound/upper bound respectively as well.
      
      A target minimum equal to the lower bound of the function range does not
      make any sense, as the corresponding epsilon is then free (and will
      therefore always become zero). Effectively, the goal will behave as a
      critical goal, and users should use those instead if such behavior is
      desired.
      f97a0ab4
    • Tjerk Vreeken's avatar
      Disallow function_range for minimization goals · 5f3e17df
      Tjerk Vreeken authored
      Minimization goals only use the function nominal for scaling. Requiring
      the user to specify a function range is misleading.
      
      Closes #1051
      5f3e17df
    • Tjerk Vreeken's avatar
      Use delay() operator in tests · c3043141
      Tjerk Vreeken authored
      Some tests were already addressed in 14c1702e, but not all.
      c3043141
  2. 26 May, 2018 2 commits
    • Tjerk Vreeken's avatar
      Add support for qpsol and solvers other than IPOPT · b2dc65d6
      Tjerk Vreeken authored
      We change the solver_options API by removing the workaround for IPOPT to
      pass it options. This behavior changed between CasADi 2 and 3. The
      workaround makes using solver other than IPOPT harder however, so instead
      we go back to the old way of just passing through most options directly to
      CasADi.
      
      This commit alo introduces a new option "casadi_solver" for the dictionary
      returned by solver_options(). The default value is "nlpsol" for
      backwards compatibility. Another typical option would be "qpsol".
      
      It also introduces a new API function "solver_success()" to override
      what solver return status should be considered succesful, and how to
      log said status.
      
      Closes #1006
      b2dc65d6
    • Tjerk Vreeken's avatar
      Do not cache test models · d81c9113
      Tjerk Vreeken authored
      The optimization test models already had caching disabled in commit
      f0cceab6. The simulation models were still using caching however,
      which could result in odd behavior (e.g. changes not having any effect),
      especially when testing locally.
      d81c9113
  3. 25 May, 2018 1 commit
  4. 17 May, 2018 1 commit
  5. 27 Apr, 2018 1 commit
    • Tjerk Vreeken's avatar
      Do not use variables for min/max of path goals · b3f098ed
      Tjerk Vreeken authored
      Using variables for the min/max series of path goals resulted in (at
      least) quadratic constraints. These min/max series variables had equal
      bounds, and most solvers remove these variables in the preprocessor of the
      optimization. So although there was no problem for e.g. IPOPT, it was not
      possible for the user or CasADi to easily detect whether the problem was
      linear.
      
      As a concrete example, it was not possible to use CLP (a linear solver),
      because a Hessian check in CasADi would fail. Furthermore, there might be
      solvers that we want to use that do not (by default) support the
      elimination of variables with equal bounds.
      
      Instead of using variables, we can instead specify the min/max series
      as additional constant inputs.
      
      Fixes #1005
      b3f098ed
  6. 14 Feb, 2018 2 commits
  7. 18 Sep, 2017 1 commit
  8. 15 Sep, 2017 5 commits
  9. 30 Aug, 2017 2 commits
  10. 22 Aug, 2017 3 commits
  11. 02 Aug, 2017 1 commit
  12. 01 Aug, 2017 6 commits
  13. 05 Jul, 2017 1 commit
    • Tjerk Vreeken's avatar
      Fix initial state reading from aliases in CSVMixin · f12fb9aa
      Tjerk Vreeken authored
      Also update the test case to set the initial state with an alias. This
      new test case would have failed without the CSVMixin changes made in this
      commit.
      
      Note that the test case for PIMixin has also been updated to keep matching
      the other test case, but that the implementation of aliases in PIMixin
      was already correct.
      
      Regression was introduced in 989632b8.
      f12fb9aa
  14. 22 Jun, 2017 1 commit
  15. 21 Jun, 2017 5 commits
  16. 20 Jun, 2017 1 commit
  17. 15 Jun, 2017 1 commit
  18. 15 May, 2017 2 commits