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 MIPModelset_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.0get_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.0Rcpp. The minimum Rcpp version is now 0.12.12progress package.