Releases: hlefebvr/idol
Releases · hlefebvr/idol
v0.8.1-alpha
News
- Allow to add new sub-problems on the fly with DantzigWolfeDecomposition optimizer
v0.8.0-alpha
New Features
Model::get_var_reduced_cost
was created and returns, when applicable, the reduced cost of a variable.Robust::ColumnAndConstraintGeneration
can solve two-stage robust problems with bilevel solver for separation and trust-region stabilization.- Mosek wrapper now handles rotataed quadratic cone conversions.
- Universal calback can now be added to Mosek (with features limited by Mosek's own calbacks however, i.e., one cannot add cuts in callbacks).
- Universal callbacks now have methods
best_obj
,best_bound
andterminate
.
Fix
Timer
was not working on MacOs.dualize
was not handling products correctly if required to land in variable space.- Remove warning if idol is not linked with coin-or/Osi.
Gurobi::read
was not reading the objective sense.- Default value for "obj bound" and "obj limit" for maximization problems were set to -Inf and Inf instead of Inf and -Inf.
- coin-or/MibS warpper now uses file communication and is, hence, more stable.
Updates
- All MIP related classes and functions are now moved in
idol/mixed-integer-optimization
.
v0.7.0-alpha
New
- Wrapper for coin-or/MibS to solve bi-level problems with mixed-integer follower
- Wrapper for coin-or/Osi to solve LPs and MILPs (fully tested with Cplex up to nested branch-and-price)
Fix
- Handling constant term in objective at creation time in HiGHS and Gurobi
- Handling custom installation folder for Gurobi
v0.6.12-alpha
Fixes
model::fix
now also fixes constant in quadratic terms
Updates
- Maps are now only created in
Constant
if it is non-numerical. This to reduce memory usage. Gurobi::read_from_file
now also reads constraint names
v0.6.11-alpha
Updates
- Allow to use latest version of Gurobi, version 11
v0.6.10-alpha
Fixes
idol::dualize
, objective function offset was not added to the dual- Moving a model caused SEGV error if optimizer was already built
Updates
- Improve readibility of std::cout << (Model)
read_from_lp_file
andread_from_mps_file
are moved toGLPK::read_from_file
and now throw an exception if parsing fails- Added tutorial to documentation
New Features
Model::fix
now creates a copy of a model and fixes allParam
to their value in a given solution- Added
Gurobi::read_from_file
v0.6.9-alpha
Fixes
- Logs in DantzigWolfeDecomposition for SP, handle frequency
- Handle default parameters in DantzigWolfeDecomposition (e.g., time limit, logs, etc.)
Updates
- Change default values for knapsack cover, improve overall configuration
- Reorganize logs
News
- Add idol::dualize function to compute dual of an LP
- Add idol::read_from_mps to read an MILP from MPS file (requires GLPK)
- Add idol::read_from_lp to read an MILP from LP file (requires GLPK)
v0.6.8-alpha
- FIX BranchingWithPriority initialize() was not propagating to sub-rules
- FIX logger configuration in DW lead to segmentation fault
- We no longer check heuristic solutions for validity by default
- Turn off sub-tree exploration by default
- Remove cutting-plane generators concept, use classic Branch-and-Bound callbacks instead
- New Cuts::KnapsackCover for LMCI separation
- New logging system for Branch-and-Bound
v0.6.7-alpha
- FIX: adding constraint to sub-problem caused segmentation fault because of object moved before used
- Making branching on constraint available for default nodes and node updator
- Add initialization step for node updators and branching rules
- Allow for Var() == Var() to define a TempCtr (used to be forced to Var() == 1. * Var())#
- In DantzigWolfeDecomposition, write now exports master and sub-problems instead of just master
v0.6.6-alpha
- Remove dependency on BranchAndBound class for the NodeInfoT::save method
- Make DantzigWolfe::Formulation annotations accessible
- Allow for submitting a decomposition by variable in DantzigWolfeDecomposition (to handle the case where only variables should be moved to SP)
- Fixes bug when removing constraints from a DantzigWolfe::Formulation