Commit Graph

470 Commits

Author SHA1 Message Date
dadd2216f1 Make compatible with Gurobi 12 2025-06-10 11:27:02 -05:00
5fefb49566 Update to Gurobi 11 2025-06-10 11:27:02 -05:00
7ccb7875b9 Allow components to return stats, instead of modifying in-place
Added for compatibility with Julia.
2024-08-20 16:46:20 -05:00
f085ab538b LearningSolver: return model 2024-05-31 11:53:56 -05:00
7f273ebb70 expert primal: Set value for int variables 2024-05-31 11:48:41 -05:00
26cfab0ebd h5: Store values using float64 2024-05-31 11:16:47 -05:00
0534d50af3 BasicCollector: Do not crash on exception 2024-02-26 16:41:50 -06:00
b55554d410 Add _gurobipy suffix to all build_model functions 2024-02-06 16:08:24 -06:00
714904ea35 Implement ExpertCutsComponent and ExpertLazyComponent 2024-02-06 11:57:11 -06:00
cec56cbd7b AbstractSolver: Fix field name 2024-02-06 11:56:54 -06:00
e75850fab8 LearningSolver: Keep original H5 file unmodified 2024-02-02 14:37:53 -06:00
60d9a68485 Solver: Make attributes private; ensure we're not calling them directly
Helps with Julia/JuMP integration.
2024-02-02 10:15:06 -06:00
33f2cb3d9e Cuts: Do not access attributes directly 2024-02-01 12:02:39 -06:00
5b28595b0b BasicCollector: Make LP and MPS optional 2024-02-01 12:02:23 -06:00
60c7222fbe Cuts: Call set_cuts instead of setting cuts_aot_ directly 2024-02-01 10:18:24 -06:00
281508f44c Store cuts and lazy constraints as JSON in H5 2024-02-01 10:06:21 -06:00
2774edae8c tsp: Remove some code duplication 2024-01-30 16:32:39 -06:00
25bbe20748 Make lazy constr component compatible with Pyomo+Gurobi 2024-01-30 16:25:46 -06:00
c9eef36c4e Make cuts component compatible with Pyomo+Gurobi 2024-01-29 00:41:29 -06:00
8805a83c1c Implement MemorizingCutsComponent; STAB: switch to edge formulation 2023-11-07 15:36:31 -06:00
b81815d35b Lazy: Minor fixes; make it compatible with Pyomo 2023-10-27 10:44:21 -05:00
a42cd5ae35 Lazy: Simplify method signature; switch to AbstractModel 2023-10-27 09:14:51 -05:00
7079a36203 Lazy: Rename fields 2023-10-27 08:53:38 -05:00
c1adc0b79e Implement MemorizingLazyConstrComponent 2023-10-26 15:37:05 -05:00
2d07a44f7d Fix mypy errors 2023-10-26 13:41:50 -05:00
40c7f2ffb5 io: Simplify more extensions 2023-06-09 10:57:54 -05:00
1ea989d48a MIPLearn v0.3 2023-06-08 11:25:39 -05:00
6cc253a903 Update 2022-06-01 11:40:48 -05:00
3fd252659e Update docs 2022-03-01 10:01:24 -06:00
f794c27634 Add progress arg to LearningSolver.solve 2022-02-25 09:35:05 -06:00
ce78d5114a Merge branch 'feature/new-py-api' into feature/docs 2022-02-25 08:36:43 -06:00
04dd3ad5d5 Implement load; update fit 2022-02-25 08:26:33 -06:00
522f3a7e18 Change LearningSolver.solve and fit 2022-02-22 15:21:56 -06:00
c98ff4eab4 Implement save function 2022-02-22 09:34:08 -06:00
87bba1b38e Make TravelingSalesmanGenerator return data class 2022-02-22 09:23:55 -06:00
03e5acb11a Make MultiKnapsackGenerator return data class 2022-02-22 09:20:17 -06:00
b0d63a0a2d Make MaxWeightStableSetGenerator return data class 2022-02-22 09:16:37 -06:00
08fc18beb0 feature/docs 2022-01-25 12:00:57 -06:00
2a76dd42ec Allow user to attach arbitrary data to violations 2022-01-25 11:39:03 -06:00
2601ef1f9b Make progress bars optional; other minor fixes 2021-09-10 16:41:07 -05:00
2fd04eb274 Add run_benchmarks method 2021-09-10 16:40:39 -05:00
beb15f7667 Remove obsolete benchmark files 2021-09-10 16:35:17 -05:00
9bd64c885a Minor fixes 2021-09-04 06:31:37 -05:00
08d7904fda Merge tag 'v0.2.0.dev12' into dev 2021-08-30 09:28:14 -05:00
35272e08c6 Primal: Skip non-binary variables 2021-08-18 10:34:56 -05:00
c6b31a827d GurobiSolver: Accept non-binary integer variables 2021-08-13 10:15:23 -05:00
9e023a375a AlvLouWeh2017: Remove slow loop in M3 2021-08-13 06:07:46 -05:00
f2b710e9f9 AlvLouWeh2017: Implement remaining features 2021-08-13 05:56:38 -05:00
0480461a7f AlvLouWeh2017: Implement features 12-19 2021-08-12 20:46:26 -05:00
78d2ad4857 AlvLouWeh2017: Add some assertions; replace non-finite by zero 2021-08-12 07:52:48 -05:00