extract_constraints()
previously created explicit 0
values in the sparse matrix. They are now implicit.get_solution
returns incorrect
results on R version < 4
. Affected package versions are
1.0.0
and 1.0.1
. (#404)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.3.4
as {ompr.roi}
has the same minimum R version.additional_solver_output()
is now an exported
function.MIPModel
. It should now be faster, more
maintainable, more stable and it has fewer bugs.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
indexessolution
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()
.solution
can now have the
solver_status = "success"
which is used by the most recent
ompr.roi
version.sum_expr
failed (#327)add_variable
failed if indexes were
in the wrong order (#266)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
..show_progress_bar
parameter is now deprecated in
all functions.extract_constraints
now always returns a sparse matrix,
even if there are 0 constraints or variables.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.colwise
in the experimental MILPModel
backend.sum_expr
now produce a warning
instead of an error. The missing indexes will be ignored (#202).get_solution
could return mixed up
values when variables had partially similar names (eg: s[i]
and bus[i]
) by @hugolarzabal (#244).length != 1
.data.table
versionsdplyr
dependencyMILPModel
, a new, vectorized backend for mixed
integer linear programs that can handle very large models. It will
eventually replace MIPModel
.get_column_duals
,
get_row_duals
) to extract the dual (column and row) values
from an LP.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.ompr
now uses sparse constraint matrices.
extract_constraints
now returns a sparse matrix and
objective_function
returns a sparse vector.3.3.0
Rcpp
. The minimum Rcpp
version is now 0.12.12
progress
package.