Releases: atoptima/Coluna.jl
Releases · atoptima/Coluna.jl
v0.5.2
Coluna v0.5.2
Closed issues:
Merged pull requests:
- Add reformulation parser (#745) (@eduardovegas)
- Improve relax callback (#746) (@artalvpes)
- Replace
UserInfo
with regular storage. (#748) (@guimarqu) - Improve relax callback (#750) (@guimarqu)
- Remove UserInfo (#751) (@guimarqu)
- fix bug in colgen when subproblem is infeasible or unbounded (#752) (@guimarqu)
v0.5.1
v0.5.0
Coluna v0.5.0
Closed issues:
- Names for Data/Storage/StorageState (#330)
- Bad practices in tests (#376)
- Branching callback (#403)
- Lack of tests for Preprocessing algorithm (#433)
- Show fractional solution (#672)
- Storage Tests (#701)
- Tree search explore unit tests (#705)
- Storage documentation (#715)
- Reset subsolver parameters before each call to
SolveLpForm
/SolveIpForm
(#732)
Merged pull requests:
- TreeSearch interface (#666) (@guimarqu)
- Tree Search design (#667) (@guimarqu)
- Toy demo in unit tests for TreeSearch interface (#668) (@guimarqu)
- Rework Algorithm interface for new tree search interface (#670) (@guimarqu)
- Tree search interface doc & finish test (#671) (@guimarqu)
- Rm tracker; rm conquer/divide in tree_search; simplifying interface (#673) (@guimarqu)
- Tree search interface v3 (#674) (@guimarqu)
- New storage API (#675) (@guimarqu)
- Decoupling strong branching from tree search data structures (#676) (@guimarqu)
- Support Representatives (#677) (@guimarqu)
- Extract branching rule selection / Start isolating interface from implementation in branching (#678) (@guimarqu)
- Removing branching group (#679) (@guimarqu)
- Remove unused fields from Node and SbNode (#680) (@guimarqu)
- Score interface & simplify children generation (#681) (@guimarqu)
- Refactor strong branching algorithm (#682) (@guimarqu)
- Integrate TreeSearch in the new interface (#683) (@guimarqu)
- Printer search space to print node information before conquer (#684) (@guimarqu)
- Fix some tests (#685) (@guimarqu)
- Node finalizer tests pass (#686) (@guimarqu)
- Tree search API doc (#687) (@guimarqu)
- Simplified version of storage (#688) (@guimarqu)
- Delete old code for storage (#690) (@guimarqu)
- Start simplifying interface built on top of NewStorage/NewRecord (#691) (@guimarqu)
- tree_order only in the printer (#692) (@guimarqu)
- File printer for tree search (#693) (@guimarqu)
- Clarify API on top of storage API (#694) (@guimarqu)
- CompatHelper: add new compat entry for "BlockDecomposition" at version "1.9" (#695) (@github-actions[bot])
- CompatHelper: add new compat entry for "Crayons" at version "4.1" (#696) (@github-actions[bot])
- Move definition of
Node
in BaB tree search implementation (#697) (@guimarqu) - Group Algorithm Conquer Divide APIs (#698) (@guimarqu)
@mustimplement
to highlight APIs (#699) (@guimarqu)- Branching API (#700) (@guimarqu)
- Branching API documentation (#703) (@guimarqu)
- Update index.md (#704) (@jolan99)
- Branching printer (#706) (@guimarqu)
- Split ColCutGenConquer
run!
method (#707) (@guimarqu) Id
subtype ofInteger
(#709) (@guimarqu)- Replace dynamic sparse vector by a static one in
Solution
. (#710) (@guimarqu) +
-
*
operations forAbstractSolution
s & dynamic sparse matrix (#711) (@guimarqu)- Simplify linear algebra operations syntax in colgen (#712) (@guimarqu)
DynamicSparseArrays
documentation (#713) (@guimarqu)- Add explore unit tests (#714) (@eduardovegas)
- Add methods to find best solution in storage docs (#716) (@eduardovegas)
- Fix variable of formulation (#718) (@guimarqu)
- doc + code organization in (re)formulation (#719) (@guimarqu)
- 2nd round of refactoring for column generation (#721) (@guimarqu)
- mv cat with partial sol from Algorithms to MOI_interface (#722) (@guimarqu)
- Integrate fixed vars with MOI interface (#723) (@guimarqu)
- Remove partial solution storage unit (#724) (@guimarqu)
- Presolve - Removal of fixed vars (#726) (@guimarqu)
- Fix the double addition of deactivated columns (#727) (@artalvpes)
- Preprocessing algorithm will be replaced by Presolve (#728) (@guimarqu)
- support of custom parameters for subsolvers (#729) (@guimarqu)
- fix colgen with parallelized subproblems (#730) (@guimarqu)
- improve
_assert_has_lp_dual_sol
error message (#731) (@guimarqu) - Reset subsolver parameters after optimization (#733) (@guimarqu)
- MoiOptimize loglevel -> 2 (#734) (@guimarqu)
- larger redcost tolerance in colgen & improve error message (#737) (@guimarqu)
- Fix score printing in strong branching (#738) (@guimarqu)
- Don't run conquer on infeasible node (#739) (@guimarqu)
- missing get_priority method for BestDualBound explore strategy (#740) (@guimarqu)
- test
BestDualBound
explore strategy (#741) (@guimarqu) - 0.5.0 (#742) (@guimarqu)
v0.4.2
Coluna v0.4.2
Closed issues:
- Unexpected variable state during column insertion (#654)
Merged pull requests:
- CompatHelper: add new compat entry for "TOML" at version "1.0" (#653) (@github-actions[bot])
- show reduced cost of column in unexpected state error (#658) (@guimarqu)
- Simplification of ids to allow 1-n mapping between master & sps (#659) (@guimarqu)
- Fast pool sol search (#660) (@artalvpes)
- KnapsackLib -> Knapsacks (#661) (@guimarqu)
- Exclude the cpsat MOI test (#662) (@artalvpes)
- CompatHelper: add new compat entry for "RandomNumbers" at version "1.5" (#663) (@github-actions[bot])
- New error and test for unexpected var state error in colgen (#664) (@guimarqu)
- v0.4.2 (#665) (@guimarqu)
v0.4.1
v0.4.0
Coluna v0.4.0
Closed issues:
- Performance of setprimalsol! (#310)
- MOI tests (#436)
- Possibility to return primal and dual bounds in the pricing callback (#527)
- dantzig-wolfe reaches extreme depths (#556)
- Error in TreeSearchAlgorithm but not SolveIpForm for MILP (#557)
- Constraint on variable overwritten (#583)
- Assessing dual solutions in a subproblem (BlockDecomposition)? (#608)
- Test phase 1 of colgen (#611)
- Follow-up of MOI 0.10.0 upgrade (#620)
- No feasible solution obtained with Coluna (#638)
Merged pull requests:
- CompatHelper: bump compat for "MathOptInterface" to "1.0" (#618) (@github-actions[bot])
- Upgrade to Moi 0.10 (#624) (@guimarqu)
- MOI 0.10 upgrade (#626) (@guimarqu)
- Reorganize tests (#627) (@guimarqu)
- Better support of constraints with single variable (#628) (@guimarqu)
- MOI test_constraint_* pass (#629) (@guimarqu)
- MOI test_model_* pass (#630) (@guimarqu)
- MOI test_variable pass (#631) (@guimarqu)
- MOI test_objective pass (#632) (@guimarqu)
- Support insertion of identical columns at same colgen iteration (#633) (@guimarqu)
- MOI test_modification_ pass (#634) (@guimarqu)
- MOI test_linear & test_solve (#635) (@guimarqu)
- Bounds of variable wrt to kind (#636) (@guimarqu)
- Restore bugfixes tests (#637) (@guimarqu)
- fix & update doc (#639) (@guimarqu)
- Old tests are back (#640) (@guimarqu)
- Transmit dual bound from pricing callback (#641) (@guimarqu)
- upgrade dep to MOI 1.0 (#642) (@guimarqu)
- CompatHelper: add new compat entry for "BlockDecomposition" at version "1.5" (#643) (@github-actions[bot])
- MOI.get for ConstraintDecomposition & VariableDecomposition attributes (#644) (@guimarqu)
- Update BlockDecomposition dep (#645) (@guimarqu)
- fix reset of buffer + deletion of active vars & constrs (#646) (@guimarqu)
- fix critical bug in buffer when changing values in coeff matrix (#647) (@guimarqu)
- DynamicSparseArrays 0.5.3 (#648) (@guimarqu)
- fix pricing callback with caching optimizer + update pricing example in doc (#649) (@guimarqu)
- Retrieve version from Project file (#650) (@guimarqu)
- v0.4.0 (#651) (@guimarqu)
v0.3.12
Coluna v0.3.12
Closed issues:
- Move Problem outside MathProg (#439)
Merged pull requests:
- Better support of single variable constraints (#590) (@guimarqu)
- Docstrings in branching algorithms (#606) (@guimarqu)
- Refactor pool of solutions for DwSp & insertion of a column (#609) (@guimarqu)
- Fix bug in strong branching (#612) (@guimarqu)
- create_hash always returns int (#615) (@guimarqu)
- release 0.3.12 (#616) (@guimarqu)
- 0.3.12 (#617) (@guimarqu)
v0.3.11
Coluna v0.3.11
Closed issues:
- set dual bound in optimizer_result (#365)
- Some problmens with ColCutGenConquer (#448)
- Shortcut for
TreeSearchAlgorithm
configuration (#478) - Bug in strong branching (#601)
- The algorithm terminates with PB = Inf and finite DB (#604)
Merged pull requests:
- Adding Node Finalizer (#568) (@artalvpes)
- Correction of a bug in strong branching (#602) (@rrsadykov)
- Alias for a simplified BCP parameterisation (#603) (@rrsadykov)
- do not multiply sp sol var value by col val (#607) (@guimarqu)
- v0.3.11 (#610) (@guimarqu)
v0.3.10
Coluna v0.3.10
Closed issues:
- Not enough tests for set/get of Variables and Constraints (#176)
- Create the original formulation and then the Problem (#268)
- Ref to the pricing setup var in dantzig wolfe sp (#283)
- Bin Packing : Coluna does not find a solution when CPLEX subsolver (#382)
- missing docstring for
DefaultRestrictedMasterHeuristic
(#460) - CapacitatedVehicleRouting demo utilization problem (#498)
- can Coluna decompose a general large scale MILP model? (#539)
- Retrieve disagreggated solution (#540)
- warning message in Knapsack custom model test (#541)
- No primal primal bound? (#545)
- Support of JuMP anonymous constraints/variables (#553)
- Benders is not working on a simple example (#554)
- no method matching isless(::Solution, ::Solution) (#555)
- MethodError: no method matching isless (#558)
- JuMP.write_to_file does not work (#559)
- Decompose twice at the same level. (#560)
- Unsupported
AffExpr, MathOptInterface.Interval{Float64}
(#563) - Fill mode closed in get MOI.ConstraintFunction for viewing coefmatrix (#575)
- dev doc not generated (#582)
- Access to dual value of constraints of the master problem (#591)
- Dual bound of tree search should be equal to the worst dual bound of open nodes (#597)
Merged pull requests:
- Custom data for variables and constraints (#495) (@guimarqu)
- v0.4.0 (#508) (@guimarqu)
- UnitsUsageDict -> UnitsUsage (#522) (@guimarqu)
- Counting the number of exact calls when testing the pricing stages (#530) (@artalvpes)
- Add bound callback tests (#532) (@laradicp)
- MOI tests: intlinear (#533) (@laradicp)
- Vector of optimizers in
Formulation
(#534) (@guimarqu) - Prototyping custom model/optimizer (#535) (@guimarqu)
- Follow up of "custom data" (#538) (@laradicp)
- Custom information about Dantzig-Wolfe subproblems (#542) (@guimarqu)
- docstring for restricted master heuristic (#543) (@guimarqu)
- Refactoring
ObjValues
&OptimizationState
(#544) (@guimarqu) - Remove negative costs (#546) (@laradicp)
- Retrieve disaggregated solution (#547) (@laradicp)
- Unit tests for OptimizationState (#548) (@laradicp)
- Solutions comparison operators (#549) (@laradicp)
- fix
isinteger
+ continuous columns if sp has only continuous vars (#551) (@guimarqu) - Use subproblem representatives in column generation (#552) (@laradicp)
- Add isless(::Solution, ::Solution) (#561) (@laradicp)
- Follow up of "custom data": use BlockDecomposition methods
customvars!
andcustomconstrs!
(#562) (@laradicp) - Update doc (#564) (@guimarqu)
- rm support of anonymous variables & constraints (#565) (@guimarqu)
- Add support for
AffExpr, MathOptInterface.Interval{Float64}
(#566) (@laradicp) - Fix Benders reformulation & algorithm (#567) (@guimarqu)
- Update callbacks documentation (#569) (@guimarqu)
- Documentation of algorithms (#570) (@guimarqu)
- MOI tests: LP unit tests and contlinear tests (#571) (@laradicp)
- Update project of doc (#572) (@guimarqu)
- Dantzig-Wolfe reformulation + identical subproblems (#573) (@guimarqu)
- Documentation for artificial variables (#574) (@guimarqu)
- Don't close fillmode in get terms of constraint (#576) (@guimarqu)
- Note about original form changes (#577) (@guimarqu)
- Fix retrieval of disaggregated solution (#578) (@laradicp)
- Reduce size of Id (#579) (@guimarqu)
- fix CI (#581) (@guimarqu)
- Add MOI methods: delete and modify (#584) (@laradicp)
- Fix ci yaml of documentation (#585) (@guimarqu)
- Fix support of duplicated terms (#586) (@guimarqu)
- MOI linear10 passing (#587) (@guimarqu)
- Rm warnings if cost of artificial vars not provided by the user (#588) (@guimarqu)
- Apply suggestions from PR #584 review (#589) (@laradicp)
- Q&A: why default algorithms do not beat commercial solver ? (#592) (@guimarqu)
- Give access to the dual solution of the master to the user (#594) (@guimarqu)
- 0.3.10 (#595) (@guimarqu)
- dual bound of tree search is dual bound of open nodes (#598) (@guimarqu)
- change
FormId
type to increase nb formulation limit (#599) (@guimarqu) - Update deps for 0.4.0 (#600) (@guimarqu)
v0.3.9
Coluna v0.3.9
Closed issues:
- Is Coluna possible to call solvers (e.g., Cplex, Gurobi) directly? (#301)
- How to set the coefficients of the objective function with the oracle (#349)
- Incorrect hyperlink to sources in Algorithm references (#405)
- Stable documentation not deployed... (#506)
- Score calculation in strong branching is broken (#512)
- Add support of JuMP.write_to_file in direct mode (#513)
- Branching is performed when a node is infeasible (#520)
- Branching priorities (#521)
Merged pull requests:
- Move storage & records in ColunaBase (#507) (@guimarqu)
- Renaming in storage (#509) (@guimarqu)
- Deletion of
AbstractData
(#510) (@guimarqu) - fix strong branching score calculation (#516) (@guimarqu)
- Fix documentation deployment (#517) (@guimarqu)
- Bijection StorageUnit -> Record (#518) (@guimarqu)
- Leave conquer if colgen prunes node (#523) (@guimarqu)
- Add support of JuMP.write_to_file in direct mode (#524) (@laradicp)
- Implementation of column generation stages (#525) (@rrsadykov)
- Add VarBranchingPriority (#526) (@laradicp)
- Support of variable branching priorities in the branching algorithm (#528) (@rrsadykov)
- v0.3.9 (#529) (@guimarqu)