Commit Graph

97 Commits

Author SHA1 Message Date
1d44980a7b Implement TravelingSalesmanPerturber 2025-12-08 15:10:24 -06:00
4137378bb8 Implement SetPackPerturber and SetCoverPerturber 2025-12-08 13:47:33 -06:00
427bd1d806 Implement PMedianPerturber 2025-12-08 13:36:49 -06:00
14e2fe331d Implement MultiKnapsackPerturber 2025-12-08 13:31:52 -06:00
15cdb7e679 Implement MaxCutPerturber 2025-12-08 13:21:04 -06:00
9192bb02eb Implement BinPackPerturber 2025-12-08 13:16:23 -06:00
a4cb46f73e stab: Implement MaxWeightStableSetPerturber; update tests and docs 2025-12-08 10:54:19 -06:00
1f59ed4065 Fix failing tests 2025-12-08 10:31:58 -06:00
ca05429203 uc: Add quadratic terms 2025-09-23 11:39:39 -05:00
7ed213d4ce MaxCut: add w_jitter parameter to control edge weight randomization 2025-06-12 10:55:40 -05:00
daa801b5e9 Pyomo: implement build_maxcut_model; add support for quadratic objectives 2025-06-11 14:23:10 -05:00
2ca2794457 GurobiModel: Capture static_var_obj_coeffs_quad 2025-06-11 13:19:36 -05:00
1c6912cc51 Add MaxCut problem 2025-06-11 11:58:57 -05:00
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
b55554d410 Add _gurobipy suffix to all build_model functions 2024-02-06 16:08: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
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
1ea989d48a MIPLearn v0.3 2023-06-08 11:25:39 -05:00
6cc253a903 Update 2022-06-01 11:40:48 -05:00
ce78d5114a Merge branch 'feature/new-py-api' into feature/docs 2022-02-25 08:36:43 -06:00
522f3a7e18 Change LearningSolver.solve and fit 2022-02-22 15:21:56 -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
2a76dd42ec Allow user to attach arbitrary data to violations 2022-01-25 11:39:03 -06:00
beb15f7667 Remove obsolete benchmark files 2021-09-10 16:35:17 -05:00
e852d5cdca Use np.ndarray for constraint methods in Instance 2021-08-10 07:09:42 -05:00
895cb962b6 Make get_variable_{categories,features} return np.ndarray 2021-08-09 15:19:53 -05:00
56b39b6c9c Make get_instance_features return np.ndarray 2021-08-09 14:02:14 -05:00
4224586d10 Remove sample.{get,set} 2021-07-27 09:00:04 -05:00
ef9c48d79a Replace Hashable by str 2021-07-15 16:21:40 -05:00
438859e493 Request variable features/categories in bulk 2021-06-29 09:02:46 -05:00
91c8db2225 Refactor StaticLazy; remove old constraint methods 2021-05-15 14:15:48 -05:00
c4a6665825 Remove obsolete methods 2021-04-13 09:42:25 -05:00
088d679f61 Redesign InternalSolver constraint methods 2021-04-10 15:53:38 -05:00
f70363db0d Replace build_lazy_constraint by enforce_lazy_constraint 2021-04-10 10:05:30 -05:00
a8224b5a38 Move instance fixtures into the main source; remove duplication 2021-04-09 19:07:46 -05:00
38212fb858 Add types to tsp.py 2021-04-07 20:33:28 -05:00
f7545204d7 Add types to stab.py 2021-04-07 20:25:59 -05:00
2c93ff38fc Add types to knapsack.py 2021-04-07 20:21:28 -05:00
1cf6124757 Refer to variables by varname instead of (vname, index) 2021-04-07 11:56:05 -05:00
f90f295620 Reorganize instance package 2021-04-06 16:31:47 -05:00