Alinson S. Xavier
|
f2520f33fb
|
Correctly store features and training data for file-based instances
|
5 years ago |
Alinson S. Xavier
|
025e08f85e
|
LazyStatic: Use dynamic thresholds
|
5 years ago |
Alinson S. Xavier
|
08e808690e
|
Replace InstanceIterator by PickleGzInstance
|
5 years ago |
Alinson S. Xavier
|
6e614264b5
|
StaticLazy: Refactor
|
5 years ago |
Alinson S. Xavier
|
168f56c296
|
Fix typos
|
5 years ago |
Alinson S. Xavier
|
ea5c35fe18
|
Objective: Refactoring
|
5 years ago |
Alinson S. Xavier
|
185b95118a
|
Objective: Rewrite sample_evaluate
|
5 years ago |
Alinson S. Xavier
|
7af22bd16b
|
Refactor ObjectiveValueComponent
|
5 years ago |
Alinson S. Xavier
|
674c16cbed
|
FeaturesExtractor: Fix assertion
|
5 years ago |
Alinson S. Xavier
|
7a6b31ca9a
|
Fix benchmark scripts; add more input checks
|
5 years ago |
Alinson S. Xavier
|
0bce2051a8
|
Redesign component.evaluate
|
5 years ago |
Alinson S. Xavier
|
0c687692f7
|
Make all before/solve callbacks receive same parameters
|
5 years ago |
Alinson S. Xavier
|
8eb2b63a85
|
Primal: Refactor stats
|
5 years ago |
Alinson S. Xavier
|
ef556f94f0
|
Rename xy_sample to xy
|
5 years ago |
Alinson S. Xavier
|
bc8fe4dc98
|
Components: Switch from factory methods to prototype objects
|
5 years ago |
Alinson S. Xavier
|
59c734f2a1
|
Add ScikitLearnRegressor; move sklean classes to their own file
|
5 years ago |
Alinson S. Xavier
|
820a6256c2
|
Make classifiers and regressors clonable
|
5 years ago |
Alinson S. Xavier
|
b83911a91d
|
Primal: Add end-to-end tests
|
5 years ago |
Alinson S. Xavier
|
db2f426140
|
Primal: reactivate before_solve_mip
|
5 years ago |
Alinson S. Xavier
|
fe7bad885c
|
Make xy_sample receive features, not instances
|
5 years ago |
Alinson S. Xavier
|
8fc9979b37
|
Use instance.features in LazyStatic and Objective
|
5 years ago |
Alinson S. Xavier
|
5db4addfa5
|
Add instance-level features to instance.features
|
5 years ago |
Alinson S. Xavier
|
0f5a6745a4
|
Primal: Refactoring
|
5 years ago |
Alinson S. Xavier
|
4f46866921
|
Primal: Use instance.features
|
5 years ago |
Alinson S. Xavier
|
12fca1f22b
|
Extract all features ahead of time
|
5 years ago |
Alinson S. Xavier
|
b3c24814b0
|
Refactor PrimalSolutionComponent
|
5 years ago |
Alinson S. Xavier
|
ec69464794
|
Refactor primal
|
5 years ago |
Alinson S. Xavier
|
9cf28f3cdc
|
Add variables to model features
|
5 years ago |
Alinson S. Xavier
|
1224613b1a
|
Implement component.fit, component.fit_xy
|
5 years ago |
Alinson S. Xavier
|
205a972937
|
Add StaticLazyComponent.xy
|
5 years ago |
Alinson S. Xavier
|
07388d9490
|
Remove unused composite component
|
5 years ago |
Alinson S. Xavier
|
64a63264c7
|
Rename xy to xy_sample
|
5 years ago |
Alinson S. Xavier
|
e8adeb28a3
|
Add ObjectiveValueComponent.xy
|
5 years ago |
Alinson S. Xavier
|
9266743940
|
Add Component.xy and PrimalSolutionComponent.xy
|
5 years ago |
Alinson S. Xavier
|
75d1eee424
|
DropRedundant: Make x_y parallel
|
5 years ago |
Alinson S. Xavier
|
3b61a15ead
|
Add after_solve_lp callback; make dict keys consistent
|
5 years ago |
Alinson S. Xavier
|
6ae052c8d0
|
Rename before/after_solve to before/after_solve_mip
|
5 years ago |
Alinson S. Xavier
|
bcaf26b18c
|
Sklearn: Handle the special case when all labels are the same
|
5 years ago |
Alinson S. Xavier
|
b6ea0c5f1b
|
ConstraintFeatures: Store lhs and sense
|
5 years ago |
Alinson S. Xavier
|
3a60deac63
|
LearningSolver: Handle exceptions in parallel_solve
|
5 years ago |
Alinson S. Xavier
|
bca6581b0f
|
DropRedundant: Clear pool before each solve
|
5 years ago |
Alinson S. Xavier
|
1397937f03
|
Add first model feature (constraint RHS)
|
5 years ago |
Alinson S. Xavier
|
31ca45036a
|
Organize test fixtures; handle infeasibility in DropRedundant
|
5 years ago |
Alinson S. Xavier
|
8153dfc825
|
DropRedundant: Update for new classifier interface
|
5 years ago |
Alinson S. Xavier
|
d3c5371fa5
|
VarIndex: Use tuples instead of lists
|
5 years ago |
Alinson S. Xavier
|
d1bbe48662
|
GurobiSolver: Small fix to _update_vars
|
5 years ago |
Alinson S. Xavier
|
9abcea05cd
|
Objective: Use LP value as feature
|
5 years ago |
Alinson S. Xavier
|
fe47b0825f
|
Remove unused extractors
|
5 years ago |
Alinson S. Xavier
|
603902e608
|
Refactor ObjectiveComponent
|
5 years ago |
Alinson S. Xavier
|
edd0c8d750
|
Remove RelaxationComponent
|
5 years ago |
Alinson S. Xavier
|
a97089fc34
|
Primal: Add tolerance in binary check
|
5 years ago |
Alinson S. Xavier
|
203afc6993
|
Primal: Compute statistics
|
5 years ago |
Alinson S. Xavier
|
b0b013dd0a
|
Fix all tests
|
5 years ago |
Alinson S. Xavier
|
3ab3bb3c1f
|
Refactor PrimalSolutionComponent
|
5 years ago |
Alinson S. Xavier
|
f68cc5bd59
|
Refactor thresholds
|
5 years ago |
Alinson S. Xavier
|
4da561a6a8
|
AdaptiveClassifier: Refactor and add tests
|
5 years ago |
Alinson S. Xavier
|
8dba65dd9c
|
Start refactoring of classifiers
|
5 years ago |
Alinson S. Xavier
|
b87ef651e1
|
Document and simplify Classifier and Regressor
|
5 years ago |
Alinson S. Xavier
|
f90d78f802
|
Move tests to separate folder
|
5 years ago |
Alinson S. Xavier
|
f755661fa6
|
Simplify BenchmarkRunner; update docs
|
5 years ago |
Alinson S. Xavier
|
c342a870d1
|
Minor fixes to docstrings; make some classes private
|
5 years ago |
Alinson S. Xavier
|
7dbbfdc418
|
Minor fixes
|
5 years ago |
Alinson S. Xavier
|
f7ce441fa6
|
Add types to internal solvers
|
5 years ago |
Alinson S. Xavier
|
d500294ebd
|
Add more types to LearningSolver
|
5 years ago |
Alinson S. Xavier
|
fc0835e694
|
Add type annotations to components
|
5 years ago |
Alinson S. Xavier
|
a98a783969
|
Update tests
|
5 years ago |
Alinson S. Xavier
|
a42c5ebdc3
|
Remove unused methods
|
5 years ago |
Alinson S. Xavier
|
868675ecf2
|
Implement some constraint methods in Pyomo
|
5 years ago |
Alinson S. Xavier
|
13e142432a
|
Add types to remaining InternalSolver methods
|
5 years ago |
Alinson S. Xavier
|
0cf963e873
|
Fix tests for Python 3.6
|
5 years ago |
Alinson S. Xavier
|
6890840c6d
|
InternalSolver: Better specify and test infeasibility
|
5 years ago |
Alinson S. Xavier
|
372d6eb066
|
Instance: Reformat comments
|
5 years ago |
Alinson S. Xavier
|
a1b959755c
|
Fix solve_lp_first=False and add tests
|
5 years ago |
Alinson S. Xavier
|
06402516e6
|
Move collected data to instance.training_data
|
5 years ago |
Alinson S. Xavier
|
23dd311d75
|
Reorganize imports; start moving data to instance.training_data
|
5 years ago |
Alinson S. Xavier
|
947189f25f
|
Disallow untyped calls and incomplete defs
|
5 years ago |
Alinson S. Xavier
|
7555f561f8
|
Use TypedDict from typing_extensions
|
5 years ago |
Alinson S. Xavier
|
1971389a57
|
Add types to InternalSolver
|
5 years ago |
Alinson S. Xavier
|
69a82172b9
|
Fix some _compute_gap corner cases; add tests
|
5 years ago |
Alinson S. Xavier
|
a536d2ecc6
|
Fix various warnings
|
5 years ago |
Alinson S. Xavier
|
36061d5a14
|
Make _compute_gap static
|
5 years ago |
Alinson S. Xavier
|
9ddb952db0
|
Make LearningSolver.add internal
|
5 years ago |
Alinson S. Xavier
|
4b8672870a
|
Add XpressPyomoSolver
|
5 years ago |
Alinson S. Xavier
|
34e1711081
|
Remove incorrect import
|
5 years ago |
Alinson S. Xavier
|
0371b2c7a9
|
Simply Pyomo solvers
|
5 years ago |
Alinson S. Xavier
|
185025e86c
|
Remove methods to set solver parameters
|
5 years ago |
Alinson S. Xavier
|
ffc77075f5
|
Require a callable as the internal solver
|
5 years ago |
Alinson S. Xavier
|
3ff773402d
|
Remove unused variable
|
5 years ago |
Alinson S. Xavier
|
fb006a7880
|
Merge branch 'dev' of github.com:iSoron/miplearn into dev
|
5 years ago |
Alinson S. Xavier
|
872ef0eb06
|
Benchmark: Move relative statistics to benchmark script
|
5 years ago |
Alinson S. Xavier
|
d7aac56bd9
|
Benchmark: Remove unused save_chart; load multiple results
|
5 years ago |
Alinson S. Xavier
|
aecc3a311f
|
Merge branch 'feature/convert-ineqs' into dev
|
5 years ago |
Gregor Hendel
|
601bfa261a
|
make gap computation robust against missing upper/lower bounds
|
5 years ago |
Alinson S. Xavier
|
088a4a0355
|
Fix formatting
|
5 years ago |
Alinson S. Xavier
|
5a062ad97e
|
ConvertTight: Use x function from DropRedundant
|
5 years ago |
Alinson S. Xavier
|
fab7b5419b
|
BenchmarkRunner: Create parent dirs in save_results
|
5 years ago |
Alinson S. Xavier
|
137247aed9
|
GurobiSolver: Randomize seed
|
5 years ago |
Alinson S. Xavier
|
7e4b1d77a3
|
DropRedundant: Collect data from multiple runs
|
5 years ago |
Alinson S. Xavier
|
e12a896504
|
Add training_data argument to after_solve
|
5 years ago |
Alinson S. Xavier
|
30d6ea0a9b
|
Benchmark: Include solver log in results file
|
5 years ago |
Alinson S. Xavier
|
beee252fa2
|
simulate_perfect: Do not overwrite original file
|
5 years ago |
Alinson S. Xavier
|
b01d97cc2b
|
ConvertTight: Always check feasibility
|
5 years ago |
Alinson S. Xavier
|
d67af4a26b
|
ConvertTight: Detect and fix sub-optimality
|
5 years ago |
Alinson S. Xavier
|
c9ad7a3f56
|
Benchmark: Add extra columns to CSV
|
5 years ago |
Alinson S. Xavier
|
f77d1d5de9
|
ConvertTight: Detect and fix infeasibility
|
5 years ago |
Alinson S. Xavier
|
dfe0239dff
|
LearningSolver: Implement simulate_perfect
|
5 years ago |
Alinson S. Xavier
|
bdfe343fea
|
Silence debug statements
|
5 years ago |
Alinson S. Xavier
|
7f55426909
|
Remove debug print statements
|
5 years ago |
Alinson S. Xavier
|
3f1aec7fad
|
RelaxationComponent: Always use np arrays
|
5 years ago |
Alinson S. Xavier
|
4057a65506
|
ConvertTightIneqs: Convert only inequalities, not equalities
|
5 years ago |
Alinson S. Xavier
|
1e3d4482f4
|
ConvertTightIneqs: Reduce default slack_tolerance to zero
|
5 years ago |
Alinson S. Xavier
|
317e16d471
|
ConvertTight: Don't take any action on constraints with negative slack
|
5 years ago |
Alinson S. Xavier
|
ec00f7555a
|
Export steps
|
5 years ago |
Alinson S. Xavier
|
d8dc8471aa
|
Implement tests for ConvertTightIneqsIntoEqsStep
|
5 years ago |
Alinson S. Xavier
|
0377b5b546
|
Minor changes to docstrings
|
5 years ago |
Alinson S. Xavier
|
191da25cfc
|
Split relaxation.py into multiple files
|
5 years ago |
Alinson S. Xavier
|
144ee668e9
|
Fix failing tests
|
5 years ago |
Alinson S. Xavier
|
c1b4ea448d
|
PyomoSolver: Never query values of fixed variables
|
5 years ago |
Alinson S. Xavier
|
4a26de5ff1
|
RelaxationComponent: Convert tight inequalities into equalities
|
5 years ago |
Alinson S. Xavier
|
5b5f4b7671
|
InternalSolver: set_constraint_sense, set_constraint_rhs
|
5 years ago |
Alinson S. Xavier
|
8bb9996384
|
Break down RelaxationComponent into multiple steps
|
5 years ago |
Alinson S. Xavier
|
6540c88cc5
|
Component: Add default implementations to all methods
|
5 years ago |
Alinson S. Xavier
|
94b493ac4b
|
Implement CompositeComponent
|
5 years ago |
Alinson S. Xavier
|
d99600f101
|
Reformat source code with Black; add pre-commit hooks and CI checks
|
5 years ago |
Alinson S. Xavier
|
3823931382
|
RelaxationComponent: max_iterations
|
5 years ago |
Alinson S. Xavier
|
0b41c882ff
|
Merge branch 'feature/files' into dev
|
5 years ago |
Alinson S. Xavier
|
388b10c63c
|
Train without loading all instances to memory
|
5 years ago |
Alinson S. Xavier
|
54d80bfa85
|
RelaxationComponent: Implement check_dropped
|
5 years ago |
Alinson S. Xavier
|
51b5d8e549
|
Component: rename iteration_cb and lazy_cb
|
5 years ago |
Alinson S. Xavier
|
e7426e445a
|
Make tests compatible with Python 3.7+
|
5 years ago |
Alinson S. Xavier
|
57d185dfc2
|
Merge branch 'gh-actions' into dev
|
5 years ago |
Alinson S. Xavier
|
272eb647fd
|
Switch to GitHub runners; temporarily disable CPLEX
|
5 years ago |
Alinson S. Xavier
|
f03cc15b75
|
Allow solve and parallel_solve to operate on files
|
5 years ago |
Alinson S. Xavier
|
1b6982ae8d
|
Implement RelaxationComponent
|
5 years ago |
Alinson S. Xavier
|
3c4045f64b
|
StaticLazy: Add tolerance to tests
|
5 years ago |
Alinson S. Xavier
|
4144b8b6b3
|
Primal: In evaluate, skip variables without predictions
|
5 years ago |
Alinson S. Xavier
|
0cf88ded89
|
LearningSolver: Silence logging during parallel_solve
|
5 years ago |
Alinson S. Xavier
|
92615958fb
|
GurobiSolver: Flip upper/lower bound for minimization problems
|
5 years ago |
Alinson S. Xavier
|
b51c367257
|
UserCutsComponent: ignore training instances without cut data
|
5 years ago |
Alinson S. Xavier
|
75570ceaeb
|
Minor fixed to BenchmarkRunner
|
5 years ago |
Alinson S. Xavier
|
a221740ac5
|
Implement lazy callbacks & two-phase gap
|
5 years ago |
Alinson S. Xavier
|
86e7b1981f
|
Revert changes to default variable category
|
5 years ago |
Alinson S. Xavier
|
ba96338d2d
|
Small fixes to lazy constraints
|
5 years ago |
Alinson S. Xavier
|
0fe6aab98f
|
Modify Instance defaults
|
5 years ago |
Alinson S. Xavier
|
e527e75481
|
Implement iteration_cb for LearningSolver; reactivate TSP
|
5 years ago |
Alinson S. Xavier
|
5390a5b656
|
Rename LazyConstraintsComponent to DynamicLazyConstraintsComponent
|
5 years ago |
Alinson S. Xavier
|
425ea2b7cc
|
Temporarily remove native solver callbacks; add iteration_cb
|
5 years ago |
Alinson S. Xavier
|
e731f46b72
|
Implement preliminary version of static lazy component
|
5 years ago |
Alinson S. Xavier
|
5ccd65c809
|
Remove empty tests
|
5 years ago |
Alinson S. Xavier
|
6b104433be
|
Improve logging
|
5 years ago |
Alinson S. Xavier
|
25f336aac9
|
Fix failing test
|
5 years ago |
Alinson S. Xavier
|
5663ced0be
|
Move python files to root folder; remove built docs
|
5 years ago |
Alinson S. Xavier
|
7765d1f822
|
Reorganize directories
|
6 years ago |
Alinson S. Xavier
|
303750a7dd
|
Restore add_constraint method
|
6 years ago |
Alinson S. Xavier
|
19453f5ee5
|
LearningSolver: only compute all_vars once
|
6 years ago |
Alinson S. Xavier
|
2750447f6d
|
Use lazy constraints callback (Gurobi only)
|
6 years ago |
Alinson S. Xavier
|
72fc65cae0
|
LazyConstraintsComponent: make threshold configurable
|
6 years ago |
Alinson S. Xavier
|
570ac09286
|
Only relax binary variables; do not clear value of fixed variables
|
6 years ago |
Alinson S. Xavier
|
5eee00c626
|
Plot predicted objective value
|
6 years ago |
Alinson S. Xavier
|
b609b4a0ee
|
Include objective sense in benchmark file; update charts
|
6 years ago |
Alinson S. Xavier
|
0b04fa93da
|
Finish TSP implementation; improve performance of Extractors
|
6 years ago |
Alinson S. Xavier
|
b1f674fcc6
|
Improve solve_lp performance
|
6 years ago |
Alinson S. Xavier
|
d2a2de9183
|
Instance: document find_violations and build_lazy_constraint
|
6 years ago |
Alinson S. Xavier
|
959cb54d27
|
Remove load_state and save_state
|
6 years ago |
Alinson S. Xavier
|
7a01d9cbcf
|
Implement TSP generator and LazyConstraintsComponent
|
6 years ago |
Alinson S. Xavier
|
f713a399a8
|
Merge branch 'master' into feature/tsp
|
6 years ago |
Alinson S. Xavier
|
30e7d7313c
|
Fix failing test
|
6 years ago |
Alinson S. Xavier
|
996b16f1b7
|
Add missing files
|
6 years ago |
Alinson S. Xavier
|
a2fbb9f8d8
|
Implement PrimalSolutionComponent; remove deprecated predictors
|
6 years ago |
Alinson S. Xavier
|
ccd694af9b
|
Implement ObjectiveValueComponent
|
6 years ago |
Alinson S. Xavier
|
7de1db047f
|
Implement InstanceFeaturesExtractor and ObjectiveValueExtractor
|
6 years ago |
Alinson S. Xavier
|
b428a4fc36
|
Add option to solve root relaxation only
|
6 years ago |
Alinson S. Xavier
|
9e4004ae8a
|
Silence Gurobi
|
6 years ago |
Alinson S. Xavier
|
b60afab5ef
|
Extract value of LP relaxation
|
6 years ago |
Alinson S. Xavier
|
10ad8e0a9e
|
Make Gurobi the default solver
|
6 years ago |
Alinson S. Xavier
|
212e38d004
|
Make SolutionExtractor use instance.solution and instance.lp_solution
|
6 years ago |
Alinson S. Xavier
|
0048fcce13
|
Extract root relaxation solution
|
6 years ago |
Alinson S. Xavier
|
f8e8aeb973
|
Better encapsulate solvers
|
6 years ago |
Alinson S. Xavier
|
141c8f0fdf
|
Store solution into instance object after solving
|
6 years ago |
Alinson S. Xavier
|
4bf7636f51
|
Fix tests for CPLEX; temporarily disable incompatible tests
|
6 years ago |
Alinson S. Xavier
|
4ab957b686
|
Update copyright notices
|
6 years ago |
Alinson S. Xavier
|
7d8279a3bb
|
Merge branch 'master' into dev
|
6 years ago |
Alinson S. Xavier
|
635c16386d
|
Update copyright notices
|
6 years ago |
Alinson S. Xavier
|
d3b5b43b94
|
Implement AdaptiveSolver; reorganize imports
|
6 years ago |
Alinson S. Xavier
|
1213f1d0a5
|
LearningSolver: fix node count for non-compatible solvers
|
6 years ago |
Alinson S. Xavier
|
ffb29d2bbb
|
BenchmarkRunner: add solve method
|
6 years ago |
Alinson S. Xavier
|
c3902ad61c
|
Branching: Make classifier configurable
|
6 years ago |
Alinson S. Xavier
|
d7131e9f66
|
Knapsack: Make jitter relative instead of absolute
|
6 years ago |
Alinson S. Xavier
|
cae1915660
|
Reactivate linear relaxation code; move to WarmStartComponent
|
6 years ago |
Alinson S. Xavier
|
85b804610f
|
Move components into submodule
|
6 years ago |
Alinson S. Xavier
|
52b476f0a3
|
Remove PerVariableTransformer
|
6 years ago |
Alinson S. Xavier
|
5750b4c98d
|
KNN: Make distinction between k and min_samples; improve logging
|
6 years ago |
Alinson S. Xavier
|
cb0b3d5468
|
Fix component name
|
6 years ago |
Alinson S. Xavier
|
fc62a7b067
|
Temporarily disable linear relaxation features
|
6 years ago |
Alinson S. Xavier
|
f9e9077803
|
Only use warmstart=true if warm start is available
|
6 years ago |
Alinson S. Xavier
|
2dc66696f9
|
Initial version of TSP generator
|
6 years ago |
Alinson S. Xavier
|
dbea4aa988
|
Make WarmStartComponent use Extractor
|
6 years ago |
Alinson S. Xavier
|
17c21382c5
|
miplearn module: export extractors
|
6 years ago |
Alinson S. Xavier
|
6685f4ff23
|
Switch tests to simpler Knapsack encoding; remove outdated test
|
6 years ago |
Alinson S. Xavier
|
c82de560f4
|
Implement UserFeaturesExtractor and SolutionExtractor
|
6 years ago |