v0.3.0
Coluna v0.3.0
Closed issues:
- Improve tests (#57)
- Improve ad-hoc pricing solver user experience (#83)
- behaviour of setlb! and setub! (#116)
- Numerical stability (#157)
- Empty Conquer Strategy + NoBranching = infinite loop (#166)
- Add better error msg if max number of formulations reached (#168)
- Cut generation callback (#177)
- Strategy for Problem (#197)
- Dynamic Sparse Matrix (#198)
- Mapping Coluna Vars/Constrs <-> JuMP Vars/Constrs (#206)
- Make Formulation independent of Algorithm (#220)
- MAX_NUM_NODES & OPEN_NODE_LIMIT must be parameters of B&B algo (#226)
number_of_leaves
may return -1 but is used in a log function (#242)- Store current data in sparse matrix (#248)
- Check if column exists (#249)
- Issue with projection from the reformulation to the original variables (#252)
- Update tests for MOI 0.9.10 (#254)
- Dependency on input parameter values (#257)
- setcurisactive! / activate! / deactivate! : keep only one ? (#264)
- Kind of a constraint in an MOIOptimizer (#266)
- An error when solving cutting stock problem (#302)
- Branch and Price generates already active columns (#312)
- Full Branch and Price instead of restricted master heuristic (#313)
- DwSpSetupVar in master (#314)
- Restricted master is feasible but CPLEX did not return a dual solution (#315)
- set on var/constrs should not be done with the id (#328)
- codecov not working (#332)
- Infeasible master when Gurobi is subsolver (#334)
- Pricing call back not working (#339)
- Sense of a variable (#343)
- TreeSearchAlgorithm infinite branching loop when restricted LP master infeasible (#353)
- Rename ConstrKind Core (#356)
- Does not work with Julia 1.2 (#357)
- Subproblem infeasibility detection broken in colgen (#361)
- Dict not threadsafe ? (#363)
- getters for dw_sp_pricing_lb & ub in Reformulation (#366)
Merged pull requests:
- Update README.md (#212) (@guimarqu)
- Nested enumeration container (#213) (@guimarqu)
- Nested enumeration for VarConstrDuty tree (#214) (@guimarqu)
- @nestedenum : smallest primes for greatest ancestors (#215) (@guimarqu)
- Decouple master and subproblems (#216) (@FD-V)
- ElemDict & Members in Containers (#218) (@guimarqu)
- Create submodule
MathProg
(#219) (@guimarqu) - macro to export items of nestedenum (#221) (@guimarqu)
- Rm links between
MathProg
and algorithms (#222) (@guimarqu) - Create submodule Algorithm (#225) (@guimarqu)
- Mv Solutions & Bounds in Containers (#227) (@guimarqu)
- Var costs, lbs, and ubs stored in the formulation (#228) (@guimarqu)
- Rm inconsistent set perene data in MOIwrapper (#229) (@guimarqu)
- Ignore vscode file (#230) (@vitornesello)
- Hide VarConstrData (#231) (@guimarqu)
- get/set sense, kind & inc_val (#233) (@guimarqu)
- Update chat badge (#235) (@guimarqu)
- Duty{<:AbstractVarConstr} to move it in Id{<:AbstractVarConstr} (#236) (@guimarqu)
- Remove variable cur data and constraint cur data (#238) (@FD-V)
- Move duty into Id for var and constr (#239) (@FD-V)
- New organisation of algorithms (#240) (@rrsadykov)
- Dynamic Sparse Matrix for coefficient matrix (#241) (@guimarqu)
- Fix #242 (#244) (@guimarqu)
- getname methods for constraints & variables (#245) (@guimarqu)
- Update installation command in doc (#246) (@guimarqu)
- Dynamic sparse vector for solutions (#247) (@guimarqu)
- Fix round in fill primal result (#250) (@guimarqu)
- Install TagBot as a GitHub Action (#251) (@JuliaTagBot)
- Fix projection of dw reformulation to original formulation (#253) (@guimarqu)
- Optimizer builder of MOI 0.9.10 (#255) (@guimarqu)
- Update Coluna parameters (#258) (@guimarqu)
- Print name in solutions (#259) (@guimarqu)
- Change initial value of artificial vars (#260) (@guimarqu)
- Various fixes (#262) (@guimarqu)
- Fix check if column exists (#263) (@guimarqu)
- Print method for duties (nestedenum macro) (#265) (@guimarqu)
- Move parameters (#267) (@guimarqu)
- Keep activate/deactivate, rm setcurisactive (#269) (@guimarqu)
- Remove dead code (#270) (@guimarqu)
- Change name of 'get/set explicit' methods (#271) (@guimarqu)
- Dual sol pool matrix is dynamic sparse (#272) (@guimarqu)
- Introduce AbstractModel (#273) (@guimarqu)
- Abolish ElemDict (#274) (@guimarqu)
- Clean MathProg exports (#275) (@guimarqu)
- Add support of pricing oracles declared from BlockDecomposition (#276) (@guimarqu)
- Pricing oracles (#277) (@guimarqu)
- Introduce pricing oracle callback data (#278) (@guimarqu)
- Draft pricing callback works (#279) (@guimarqu)
- Rename oracle -> pricing (#280) (@guimarqu)
- Update issue templates (#281) (@guimarqu)
- Update readme (#282) (@guimarqu)
- AbstractModel in Solution (#285) (@guimarqu)
- New structures for Solutions & Results (#286) (@guimarqu)
- new struct ObjValues (#287) (@guimarqu)
- Merge OptimizationOutput & OptimizationResult (#288) (@guimarqu)
- MasterIpHeur -> IpForm (#289) (@guimarqu)
- MasterLp -> LpForm (#290) (@guimarqu)
- Update OptimizationInput structure (#291) (@guimarqu)
- rm Incumbents (#292) (@guimarqu)
- Update/add/set methods for solutions in OptimizationResult (#293) (@guimarqu)
- Rename IpForm LpForm -> SolveIpForm SolveLpForm (#294) (@guimarqu)
- fix benders solution updates (#295) (@guimarqu)
- fix logs + docstring for OptimizationResult (#296) (@guimarqu)
- OptimizationResult becomes OptimizationState (#297) (@guimarqu)
- Update documentation (#298) (@guimarqu)
- Create CompatHelper.yml (#299) (@guimarqu)
- CompatHelper: add new compat entry for "Primes" at version "0.4" (#300) (@github-actions[bot])
- Update solveipform.jl (#303) (@YP-Ye)
- Update masteripheur.jl (#304) (@YP-Ye)
- Artificial vars for Equal constraints (#305) (@guimarqu)
- Algo interface in ColunaBase (#306) (@guimarqu)
- Reorganisation of Algorithm submodule (#308) (@rrsadykov)
- Speed up computation of reduced costs (#309) (@guimarqu)
- Fix wrong duty for setupvar in master coeff matrix (#316) (@guimarqu)
- clean tests + loglevel 0 is default printlvl (#317) (@guimarqu)
- Clean dependencies (#318) (@guimarqu)
- colgen : reduced cost tolerance param (#319) (@guimarqu)
- log_level instead logmsg in SolveIpForm (#320) (@guimarqu)
- rm max_num_nodes & max_open_nodes in Params (#321) (@guimarqu)
- Implementation of Storages and StorageStates (#323) (@rrsadykov)
- Representatives of master sol should have master duty (#326) (@guimarqu)
- Fix ColGen algorithm (#327) (@guimarqu)
- clean setvarconstr! (#331) (@guimarqu)
- silent mode for subsolvers (#335) (@guimarqu)
- Create local artifical variables in setconstr! (#336) (@guimarqu)
- Fix activate! (#337) (@guimarqu)
- Update travis file (#338) (@guimarqu)
- Debugging code demo for pricing callback (#340) (@guilhemdupuis)
- Reduced cost method (#342) (@guimarqu)
- Master columns cleanup (#344) (@rrsadykov)
- Multi-threading on solving subproblems (#345) (@dianabarros)
- Add Région Nouvelle-Aquitaine in acknowledgments (#347) (@guimarqu)
- Implementation of smoothing stabilization (#348) (@rrsadykov)
- Start documentation for algorithms (#350) (@guimarqu)
- Option to print branching tree in file (#351) (@guimarqu)
- fix most frac branching + cvrp demo for ci tests (#352) (@guimarqu)
- Print node in branching tree after conquer (#354) (@guimarqu)
- Robust facultative cut generation callback (#355) (@guimarqu)
- add test for cvrp demo (#358) (@guimarqu)
- rm Manifest (#359) (@guimarqu)
- ConstrKind : Core -> Essential (#360) (@guimarqu)
- Detect subproblem infeasibility (#364) (@guimarqu)
- getters & doc for Reformulation (#367) (@guimarqu)
- Finishing automatic smoothing (#368) (@rrsadykov)
- More documentation (#369) (@guimarqu)
- Views for columns and constraints & rm MembersMatrix (#371) (@guimarqu)
- v0.3 (#372) (@guimarqu)