1. 19 Jan, 2023 2 commits
  2. 12 Jan, 2023 1 commit
    • Sjoerd Geevers's avatar
      optimization: fix numpy error · 313a9437
      Sjoerd Geevers authored
      The newest version of numpy (1.24.1) causes an error
      when reading a list of casadi variables into a numpy array.
      This has been fixed by first converting the casadi variables to floats.
      313a9437
  3. 15 Dec, 2022 1 commit
  4. 08 Dec, 2022 3 commits
  5. 24 Nov, 2022 4 commits
  6. 04 Nov, 2022 1 commit
  7. 27 Oct, 2022 2 commits
  8. 25 Oct, 2022 1 commit
  9. 18 Oct, 2022 1 commit
  10. 13 Oct, 2022 2 commits
  11. 10 Aug, 2022 4 commits
  12. 23 May, 2022 3 commits
  13. 25 Mar, 2022 3 commits
    • Vreeken's avatar
      Simulation: Make extract_results() return a dict of np.arrays · c9c0ce36
      Vreeken authored and Vreeken's avatar Vreeken committed
      For performance reasons, the internal storage was changed from NumPy
      arrays to lists in 516cd10f. The extract_results() method then also
      started returning lists, which is different from the equivalent method
      in optimization that returns arrays. This is somewhat confusing, and can
      trip up code that is shared between simulation and optimization
      implementations.
      
      This commit brings simulation's extract_results() in line with that of
      otpimization by returning NumPy arrays as well. Note that we keep the
      internal storage as lists for performance reasons. As such, a call to
      extract_results() is expensive, and should be done as little as
      possible, e.g. once in post().
      c9c0ce36
    • Teresa Piovesan's avatar
      Simulation: Make extract_results() available for all IOMixin classes · f1e626a7
      Teresa Piovesan authored and Vreeken's avatar Vreeken committed
      Only PIMixin had extract_results() defined, whereas its implementation
      relied on internal storage structures of IOMixin. We move the method to
      IOMixin such that it also works when using e.g. CSVMixin.
      f1e626a7
    • Teresa Piovesan's avatar
      Doc: Update URL to Deltares RTC-Tools website · 1bbb9d41
      Teresa Piovesan authored and Vreeken's avatar Vreeken committed
      1bbb9d41
  14. 29 Oct, 2021 1 commit
    • Vreeken's avatar
      CollInt: Fix warning for delay expressions having no history · 9da71a9f
      Vreeken authored and Vreeken's avatar Vreeken committed
      In case partial history was present, the delay expressions with missing
      values were correctly logged a warning for. However, in case no history
      was provided at all, these warnings were not logged due to the if-check
      not catching this. This commit makes sure that warnings are logged also
      in that scenario.
      
      Closes #1130
      9da71a9f
  15. 05 Oct, 2021 1 commit
  16. 21 Sep, 2021 1 commit
    • Vreeken's avatar
      CollInt: Raise Exception when 'constraints()' returns None · c40a7aa5
      Vreeken authored and Teresa Piovesan's avatar Teresa Piovesan committed
      We would silently continue execution if `constraints()` returns None
      due to it being falsy (just like an empty list). Generally though,
      returning None is a user error where they forgot to return a value. To
      make this error easier to catch, we now raise an Exception.
      
      Note that returning None from `path_constraints()` already resulted in an
      error.
      c40a7aa5
  17. 05 Sep, 2021 1 commit
  18. 20 Jul, 2021 4 commits
  19. 16 Feb, 2021 1 commit
  20. 29 Jan, 2021 1 commit
    • Vreeken's avatar
      Add debug check for magnitude of state vector entries · 2b2b5d5d
      Vreeken authored and Teresa Piovesan's avatar Teresa Piovesan committed
      It can be useful to check whether the nominals for variables were chosen
      correctly by looking at the state output.
      
      Solvers like CPLEX and Gurobi typically prefer to have state vector
      entries being no larger than 1E4. Solvers like IPOPT generally prefer
      them smaller than 1E2. If _any_ state vector entry of a certain variable
      exceeds this `tol_up` threshold (1E4 by default), a message is logged.
      
      Aside from the maximum magnitude of state vector entries, the accuracy
      of the solution can also be effected negatively if a too large a nominal
      is chosen. The added check routine can however not be sure if the
      solution just happened to be approximately zero, or if the nominal was
      chosen incorrectly. A message is logged when _all_ state vector entries
      of a certain variable are smaller (in absolute terms) than the
      `tol_down` criterion.
      
      Note that it may not be possible to both satisfy correct scaling of the
      coefficients in the Jacobian and the state vector entries. Sometimes a
      trade-off between the two would be required, i.e. a coefficient that's
      rather small, _and_ state vector entries that are rather small. This is
      preferred over only one of the two being doubly small.
      2b2b5d5d
  21. 18 Jan, 2021 1 commit
    • Vreeken's avatar
      HomotopyMixin: Add support for specifying starting theta · b7a269c4
      Vreeken authored
      Sometimes it can be useful to skip the `theta = 0`, e.g. when a good
      seed is available from a previous run. This commit adds an option
      `theta_start` for the user to specify what theta to start the homotopy
      process at. The default value of this new option is the current (before
      this commit) starting theta value of 0.
      b7a269c4
  22. 14 Sep, 2020 1 commit
    • Vreeken's avatar
      CollInt: Fix delay history handling for multiple delays · 8334f047
      Vreeken authored
      Delay history handling would fail if there was more than one delayed
      expression in a model. The simple fix is to not unpack the list that the
      call to `delayed_feedback_function` returns.
      
      The tests have been amended to make sure that this case is covered.
      8334f047