Skip to content

Releases: atoptima/Coluna.jl

v0.8.1

05 Feb 16:03
4944ce0
Compare
Choose a tag to compare

Coluna v0.8.1

Diff since v0.8.0

Merged pull requests:

v0.8.0

31 Jan 15:42
398d307
Compare
Choose a tag to compare

Coluna v0.8.0

Diff since v0.7.0

Merged pull requests:

Closed issues:

  • print subproblems and/or master (#757)
  • Issues with variable fixing (#1061)
  • Pricing representatives in the master should have global bounds (#1063)
  • Global bounds output is not correct (#1077)
  • Move AbstractHeuristic to Algorithm module (#1078)
  • Tests do not pass in Julia 1.10 (#1118)
  • Strong branching output is corrupted (#1119)
  • Assertion error, explore.jl type expected an Int32 and got an Int64 (#1124)

v0.7.0

28 Sep 15:13
983ec65
Compare
Choose a tag to compare

Coluna v0.7.0

Diff since v0.6.6

Merged pull requests:

Closed issues:

  • Unit tests for branching criterion (#1056)
  • Simplification of DivideOutput (#1079)

v0.6.5

27 Jul 09:13
f1e02dc
Compare
Choose a tag to compare

Coluna v0.6.5

Diff since v0.6.4

Closed issues:

  • Bug when <DB= Inf> in colgen (#735)
  • Use of primal bounds in column generation (#872)
  • Refactoring of ColCutGenConquer (#954)
  • Test TreeSearch (#971)
  • Conquer should not have access to the Branch-and-Bound node (#979)
  • Remove Project.toml in tests (#1001)

Merged pull requests:

v0.6.4

03 Jul 13:58
04cd83c
Compare
Choose a tag to compare

Coluna v0.6.4

Diff since v0.6.3

Closed issues:

  • Suggestion: rename Phase 3 to Phase 0 in ColGen (#952)

Merged pull requests:

  • Improve column generation dev doc (1) (#947) (@guimarqu)
  • Attempt to update man/algorithms (#953) (@enjoyUrFruits)
  • re-organize and boost man/decomposition (#955) (@enjoyUrFruits)
  • Update man/callbacks (#956) (@enjoyUrFruits)
  • Lagragian bound + stabilization doc for colgen (#957) (@guimarqu)
  • reorganize tutorials (#958) (@enjoyUrFruits)
  • colgen interface code org (#959) (@guimarqu)
  • Formula decomposition (#960) (@enjoyUrFruits)
  • move tutorial on identical sps from Manual/ to Tutorials/ (#961) (@enjoyUrFruits)
  • finishing column generation doc (#963) (@guimarqu)
  • fix typos on Location Routing advanced demo (#964) (@enjoyUrFruits)
  • Benders documentation (#965) (@guimarqu)
  • add formulas for man -> benders (#966) (@enjoyUrFruits)
  • Rename phase 3 into phase 0 in ColGen (#967) (@enjoyUrFruits)
  • Benders documentation (#968) (@guimarqu)
  • fix Benders doc + add more info in Decomposition doc (#969) (@guimarqu)
  • increase collapse level + subtitle in decomposition doc" (#970) (@guimarqu)
  • fix tree search with identical subproblems (#973) (@guimarqu)
  • v0.6.4 (#974) (@guimarqu)

v0.6.3

24 Jun 17:57
ac2981b
Compare
Choose a tag to compare

Coluna v0.6.3

Diff since v0.6.2

Merged pull requests:

v0.6.2

19 Jun 18:17
bf54f5d
Compare
Choose a tag to compare

Coluna v0.6.2

Diff since v0.6.1

Closed issues:

  • update_all_ip_primal_solutions! reverse loop (#397)
  • Handle variable bounds with LowerThan GreaterThan constraints (#799)
  • Check how to deal with equalities when computing Benders cuts right-hand side (#934)

Merged pull requests:

  • Interval -> GreaterThan & LowerThan (#922) (@guimarqu)
  • Benders: don't check second stage cost estimation when sep returns feasibility cut (#923) (@guimarqu)
  • Benders docstrings (#924) (@guimarqu)
  • add small location routing formulation in benders_default (#925) (@enjoyUrFruits)
  • Remove unused & deprec method from MathProg (#926) (@guimarqu)
  • 1st version of dynamic smoothing stab for column generation (#928) (@guimarqu)
  • TestBendersIterationContext in benders_default (#929) (@enjoyUrFruits)
  • File for stabilization tests (#931) (@guimarqu)
  • Test subgradient calculation helper (#932) (@guimarqu)
  • Test primal solution used to compute subgradient in alpha self-adjusting procedure (#933) (@guimarqu)
  • test angle; fix subgradient calculation (#935) (@guimarqu)
  • Test benders cuts (#936) (@enjoyUrFruits)
  • remove LOWER_UPPER from enum ActiveBound (#937) (@enjoyUrFruits)
  • Implement NoColGenStab + fix colgen tests (#938) (@guimarqu)
  • Test Benders flow for infeasible/unbounded (#939) (@enjoyUrFruits)
  • Test ColGen stabilization flow (#940) (@guimarqu)
  • test final dual bound of colgen with stabilization (#941) (@guimarqu)
  • Stabilization documentation (#942) (@guimarqu)
  • v0.6.2 (#943) (@guimarqu)
  • Update NEWS.md (#944) (@guimarqu)
  • Boost tests for Benders IP master (#945) (@enjoyUrFruits)

v0.6.1

01 Jun 17:15
3c662b4
Compare
Choose a tag to compare

Coluna v0.6.1

Diff since v0.6.0

Closed issues:

  • Duplicated functionality : getvalue and float (#492)
  • Do not dispatch on primal/dual and objective sense anymore (#785)
  • Make solution pool easier to work with (#808)
  • Need a user callback to compare columns when non-robust cuts will be inserted (#912)

Merged pull requests:

v0.6.0

16 May 18:04
00f3bda
Compare
Choose a tag to compare

Coluna v0.6.0

Diff since v0.5.3

Closed issues:

  • Follow up of "custom data" (#536)
  • Remove "New" prefix from storage and record types (#717)
  • Benders broken when objective sense is Max (#720)
  • Deletion callback for storage units (#755)
  • The pricing solver not returning any solution leads to an error message (#758)
  • Non-robust cut documentation (#763)
  • Isolate TreeSearch and Branching in new modules (#764)
  • Fix check feasibility of primal solution when identical subproblems (#765)
  • Column generation iteration tests (#769)
  • Column generation iteration - test identical subproblems (#790)
  • Column generation - printer (#791)
  • Using coluna.jl with Mosek and MSK_RES_ERR_UPPER_BOUND_IS_A_NAN (#793)
  • New ColGen - bug with identical subproblems (#798)
  • Remove INFEASIBLE_AND_UNBOUNDED termination status (#832)
  • Throw error if unbounded master or subproblem in colgen (#833)
  • Fix extra e2e tests (#838)
  • incremental compilation may be fatally broken for this module (#847)
  • ColGen: fix convergence condition (#855)
  • Prevent colgen from running when no more stage (#856)
  • Benders tests (#862)

Merged pull requests:

  • Refactor reformulation parser (#754) (@eduardovegas)
  • ColGen Iteration & Phases API (#759) (@guimarqu)
  • fix display db2 (#760) (@enjoyUrFruits)
  • MustImplement module (#761) (@guimarqu)
  • prepare use of Revise to run tests (#762) (@guimarqu)
  • unit tests with Revise (#766) (@guimarqu)
  • test termination status of master/pricing in generic colgen iteration (#767) (@guimarqu)
  • Starting default implementation of Colgen API (#768) (@guimarqu)
  • generalized assignement problem formulation for colgen iteration tests (#770) (@guimarqu)
  • first test for colgen iteration (min gap) (#771) (@guimarqu)
  • Max GAP formulation for colgen iteration tests (#772) (@enjoyUrFruits)
  • Colgen iteration tests (#773) (@enjoyUrFruits)
  • Colgen iteration tests (#774) (@enjoyUrFruits)
  • Reduced costs ok for min gap (#775) (@guimarqu)
  • Colgen iteration tests (#776) (@enjoyUrFruits)
  • Min toy gap colgen iteration test ok (#777) (@guimarqu)
  • Test reduced costs for gap with pure master vars (#778) (@guimarqu)
  • Fix ColGen iteration test for gap with pure master vars (#779) (@guimarqu)
  • Support objective constant in parser (#780) (@guimarqu)
  • Colgen iteration tests (#781) (@enjoyUrFruits)
  • fix max objective (#782) (@guimarqu)
  • column insertion + draft of colgen loop (#783) (@guimarqu)
  • Implement stop_colgen_phase for column generation (#784) (@guimarqu)
  • ColGen defaut implementation (#786) (@guimarqu)
  • new colgen connected (#787) (@guimarqu)
  • Small fixes in ColGen (#788) (@guimarqu)
  • rm ColunaDemos dep (#789) (@guimarqu)
  • clarify doc decomposition (#792) (@enjoyUrFruits)
  • ColGen printer ready (#794) (@guimarqu)
  • Tests for ColGen with identical subproblems (#795) (@enjoyUrFruits)
  • Extract TreeSearch (#796) (@guimarqu)
  • Non-robust cuts documentation (#797) (@enjoyUrFruits)
  • Fix test for identical subproblem (#800) (@guimarqu)
  • improve @mustimplement for linter (#801) (@guimarqu)
  • Extract branching (#802) (@guimarqu)
  • Update strong branching (#803) (@guimarqu)
  • fix get_dual_bound in ColGen (#804) (@guimarqu)
  • Move generic implementation of branching algorithms into Branching (#805) (@guimarqu)
  • Clean interface of algorithms (#807) (@guimarqu)
  • Projection and mapping for identical dw subproblem (#809) (@guimarqu)
  • Column generation default printer (#810) (@guimarqu)
  • Review getting started example for custom data (#811) (@guimarqu)
  • Update custom_data.jl (#812) (@guimarqu)
  • Print incumbent ip primal sol value in colgen (#813) (@guimarqu)
  • update dual of constraints in colgen (#814) (@guimarqu)
  • Put MOI integration tests back in test pipeline (#815) (@guimarqu)
  • Add support of custom data values for JuMP model elements (#816) (@guimarqu)
  • Separate essential cuts if colgen finds integral feasible solution (#817) (@guimarqu)
  • checker for column reduced cost calculation (#818) (@enjoyUrFruits)
  • Better handling of the ip primal solution in column generation (#819) (@guimarqu)
  • BlockDecomposition 1.11 (#820) (@guimarqu)
  • BlockDecomposition 1.13 (#821) (@guimarqu)
  • separate convexity constraints reduced cost from the global reduced cost (#822) (@enjoyUrFruits)
  • Benders reformulation (#823) (@guimarqu)
  • Test of ReducedCostCalculationHelper with non-robust cuts (#824) (@enjoyUrFruits)
  • Benders iteration draft (#825) (@guimarqu)
  • module for Parser + track Parser in revise (#826) (@guimarqu)
  • Fix treesearch and storage doc, some warnings left in storage (#828) (@enjoyUrFruits)
  • Benders parser (#829) (@guimarqu)
  • update @meta blocks, remove DocTestSetup (#830) (@enjoyUrFruits)
  • Fix pricing callback specs + multi stage colgen extra e2e test (#831) (@guimarqu)
  • Custom solver in e2e extra test (#834) (@guimarqu)
  • node_finalizer in extra e2e tests (#835) (@guimarqu)
  • replace INFEASIBLE_OR_UNBOUNDED & DUAL_INFEASIBLE by UNBOUNDED (#836) (@guimarqu)
  • gap e2e extra tests (#837) (@guimarqu)
  • throw UnboundedProblemError if the master or a sp is unbounded (#839) (@enjoyUrFruits)
  • Fix gap small instance extra e2e test (#840) (@guimarqu)
  • Heuristic interface + extract restricted master implem from conquer (#841) (@guimarqu)
  • do not check master lp solution feasibility in phase 1 of colgen (#842) (@guimarqu)
  • colgen returns dual solution (#843) (@guimarqu)
  • fix gap best dual bound strategy (#844) (@guimarqu)
  • fix gap test with lazy cuty sep (#845) (@guimarqu)
  • Column generation sets termination status to infeasible when infeasibility proven (#846) (@guimarqu)
  • check if master obj is better than inc ip before checking integrality (#848) (@guimarqu)
  • Multi stage column generation (#849) (@guimarqu)
  • improve stop condition of column generation (#850) (@guimarqu)
  • fix some tests (#851) (@guimarqu)
  • fix incremental compilation may be fatally broken (#852) (@guimarqu)
  • Classical Benders decomposition (#853) (@guimarqu)
  • delete new prefix from storage and record types and methods (#854) (@enjoyUrFruits)
  • Update parser to support multi-cut benders reformulation (#857) (@guimarqu)
  • add tests stop_when_inf_db and infeasible_phase_output (#858) (@enjoyUrFruits)
  • add isnothing(stage) on colgen stopping condition (#859) (@enjoyUrFruits)
  • Classical Benders algorithm (#860) (@guimarqu)
  • enforce convergence condition (#861) (@enjoyUrFruits)
  • Test Benders loop on toy example (#863) (@guimarqu)
  • fix parser test (#864) (@guimarqu)
  • add B formulation, continuous and integer first stage variables, add expected outputs for A and B (#865) (@enjoyUrFruits)
  • fix benders when the master has integral variables (#866) (@guimarqu)
  • connect benders loop to benders algo (#867) (@guimarqu)
  • add benders tests (#868) (@enjoyUrFruits)
  • add tests unbounded master or sp (#869) (@enjoyUrFruits)
  • fix benders tests for formulation with multiple subproblems (#870) (@guimarqu)
  • fix several Benders tests (#871) (@guimarqu)
  • Fix benders infeasibility cut (#873) (@guimarqu)
  • Fix infeasibility detection in Benders (#874) (@guimarqu)
  • init advanced demo (#876) (@enjoyUrFruits)
  • Integrate advanced_demo in doc (#877) (@guimarqu)
  • Correction for strong branching (#878) (@rrsadykov)
  • Improve instance and problem description of advanced demo (#880) (@guimarqu)
  • Demo location routing (#881) (@enjoyUrFruits)
  • Fix direct model of advanced demo (#882) (@guimarqu)
  • [adv tuto] clean optimizer (#883) (@enjoyUrFruits)
  • [adv tuto] Direct model & decomposed model ok (#884) (@guimarqu)
  • add multi-stages ex to demo (#885) (@enjoyUrFruits)
  • Benders demo for the advanced tuto (#886) (@enjoyUrFruits)
  • ColGen interface draft doc (#887) (@guimarqu)
  • Missing method in colgen (#888) (@guimarqu)
  • Add separate file to test benders on advanced demo's location routing problem (#889) (@enjoyUrFruits)
  • Review ColGen documentation (#890) (@enjoyUrFruits)
  • [adv tuto] doc review of cuts (#891) (@guimarqu)
  • Benders for Location Routing demo (#892) (@guimarqu)
  • fix cut callback print (#893) (@guimarqu)
  • Delete dead code (#894) (@guimarqu)
  • update README (#895) (@guimarqu)
  • [adv tuto] R1C review (#896) (@guimarqu)
  • [adv tuto] add comparison of different cuts on a larger instance (#897) (@enjoyUrFruits)
  • [adv tuto] Benders comments (#898) (@guimarqu)
  • [doc] Update doc project (#899) (@guimarqu)
  • re-organize demo, fix typos (#900) (@enjoyUrFruits)
  • Update advanced-demo.jl (#901) (@guimarqu)
  • [adv tuto] enhancements (#903) (@FD-V)
  • advanced-demo review (#904) (@enjoyUrFruits)
  • [adv tuto] use getcustomdata (#905) (@guimarqu)
  • fix typos in doc (#906) (@guimarqu)
  • [adv tuto] rename advanced demo file (#907) (@guimarqu)
  • v0.6.0 (#908) (@guimarqu)
  • Advanced tutorial review (#909) (@rrsadykov)

v0.5.3

05 Dec 17:49
e4908fc
Compare
Choose a tag to compare

Coluna v0.5.3

Diff since v0.5.2

Closed issues:

  • ERROR: Unexpected variable state during column insertion. (#747)

Merged pull requests: