Skip to content

Releases: dirkschumacher/ompr

v1.0.4

09 Sep 10:06
Compare
Choose a tag to compare
  • Improves the package documentation to use the correct alias.
  • Ompr now requires R 3.5.0 because some dependencies require that now.

v1.0.3

11 Sep 15:51
Compare
Choose a tag to compare

Bugfixes

  • extract_constraints() previously created explicit 0 values in the sparse
    matrix. They are now implicit.

v1.0.2

31 Jan 13:15
v1.0.2
Compare
Choose a tag to compare

Bugfixes

  • Fixed a bug where get_solution returns incorrect results on R
    version < 4. Affected package versions are 1.0.0 and 1.0.1. (#404)

General changes

  • Model-building is now significantly faster
  • Constraints without variables that evaluate to TRUE are not added to the
    model, as they are always satisfied. Likewise, constraints that evaluate to
    FALSE throw an error. Previously specifying a constraint without
    a variable would have caused a run time error.
  • The minimum required R version is now 3.4 as {ompr.roi} has the same
    minimum R version.

v1.0.1

26 Jan 15:38
v1.0.1
Compare
Choose a tag to compare

Bugfixes

  • additional_solver_output() is now an exported function.

v1.0.0

26 Jan 14:34
v1.0.0
Compare
Choose a tag to compare

General changes

  • Rewrote the MIPModel. It should now be faster, more maintainable,
    more stable and it has fewer bugs.
  • Added sum_over, a replacement for sum_expr in the MIPModel
  • set_bounds for MIPModel now accepts (in)equalities as well (#365)
  • MIPModel now supports characters as variable indexes
  • A solution object has a new named entry called additional_solver_output.
    In that place solver packages, like ompr.roi can store arbitrary solver
    information. Including solver specific messages and status codes. It should
    be read using the function additional_solver_output().
  • A solution can now have the solver_status = "success" which is used
    by the most recent ompr.roi version.

Bugfixes

  • Fixed a bug where using the index "e" in sum_expr failed (#327)
  • Fixed a bug where coefficients that came after the variable in the
    expression would sometimes not be correctly parsed (#265)
  • Fixed a bug where add_variable failed if indexes were in the wrong order
    (#266)

Deprecations

All listed functions will likely be removed at some later point the future.

  • sum_expr shall not be used anymore. Please use sum_over instead.
  • MIPLModel will likely be removed from the package, as the vectorized
    approach did lead to some problems. Please use MIPModel instead.
  • add_variable_, add_constraint_, set_objective_, set_bounds and
    get_solution_ are not needed anymore with the new MIPModel as it is
    powered by rlang.
  • The .show_progress_bar parameter is now deprecated in all functions.

Licensing

  • ompr is now licensed under the MIT license (#353).

Breaking Changes

  • extract_constraints now always returns a sparse matrix, even if there are 0
    constraints or variables.
  • The row ordering of the data.frame returned with get_solution(x[i, j]) has
    slightly changed in special cases, but for the majority of calls, it
    should stay the same. One of these special cases is if you created your
    variable similar to add_variable(model, x[i, j], j = ..., i = ...), where
    the indexes in the variable and the quantifiers have different orderings.
    In general, please do not depend on the ordering of the rows, but use the
    indexes to retrieve the correct value. For example by sorting the data.frame
    , before reading.

v0.8.1

04 Dec 11:38
Compare
Choose a tag to compare

General changes

  • You can now assign coefficients to all column/row combinations using colwise
    in the experimental MILPModel backend.
  • Non-existent indexes in sum_expr now produce a warning instead of an error. The missing indexes will be ignored (#202).

Bugfixes

  • Fixed a bug were get_solution could return mixed up values when variables had partially similar names (eg: s[i] and bus[i]) by @hugolarzabal (#244).
  • Fixed a bug on where an if-condition had an input with length != 1.
  • Fixed some minor issues with newer data.table versions

v0.8.0

11 Jun 19:04
Compare
Choose a tag to compare

General changes

  • Removed dplyr dependency
  • Added MILPModel, a new, vectorized backend for mixed integer linear programs that can handle very large models. It will eventually replace MIPModel.
  • Added two functions (get_column_duals, get_row_duals) to extract the dual (column and row) values from an LP.
  • The minimum supported R version is now 3.2.0
  • get_solution now always return a solution, even if the solution status is not optimal.
  • get_solution has a third argument type with permitted values being "primal" and "dual" to return the respective column primal or dual values.

Bugfixes

  • You can now extract solutions of indexed variables that have length one (#198)

v0.7.0

18 Nov 07:16
Compare
Choose a tag to compare

Breaking changes

  • ompr now uses sparse constraint matrices. extract_constraints now returns a sparse matrix and objective_function returns a sparse vector.
  • The minimum supported R version is now 3.3.0
  • Fixed an issue with Rcpp. The minimum Rcpp version is now 0.12.12

Minor changes

  • New progress bar based on the progress package.

CRAN initial release

23 Apr 10:50
Compare
Choose a tag to compare

Initial release on CRAN