Alinson S. Xavier
|
cb62345acf
|
Refactor StaticLazy
|
5 years ago |
Alinson S. Xavier
|
e6672a45a0
|
Rename more methods to _old
|
5 years ago |
Alinson S. Xavier
|
08ede5db09
|
Component: add new callback methods
|
5 years ago |
Alinson S. Xavier
|
6f6cd3018b
|
Rewrite DynamicLazy.sample_xy
|
5 years ago |
Alinson S. Xavier
|
bccf0e9860
|
Rewrite StaticLazy.sample_xy
|
5 years ago |
Alinson S. Xavier
|
2979bd157c
|
Rewrite PrimalSolutionComponent.sample_xy
|
5 years ago |
Alinson S. Xavier
|
d90d7762e3
|
Rewrite ObjectiveValueComponent.sample_xy
|
5 years ago |
Alinson S. Xavier
|
2da60dd293
|
Rename methods that use TrainingSample to _old
|
5 years ago |
Alinson S. Xavier
|
5fd13981d4
|
Append sample
|
5 years ago |
Alinson S. Xavier
|
fde6dc5a60
|
Combine after_load, after_lp and after_mip into Sample dataclass
|
5 years ago |
Alinson S. Xavier
|
2d4ded1978
|
Fix some mypy issues
|
5 years ago |
Alinson S. Xavier
|
16630b3a36
|
GurobiPyomoSolver: Extract same features as GurobiSolver
|
5 years ago |
Alinson S. Xavier
|
6bc81417ac
|
Sort methods
|
5 years ago |
Alinson S. Xavier
|
fcb511a2c6
|
Pyomo: Collect variable reduced costs
|
5 years ago |
Alinson S. Xavier
|
3cfadf4e97
|
Pyomo: Collect variable bounds, obj_coeff, value, type
|
5 years ago |
Alinson S. Xavier
|
6b15337e4c
|
Add mip_stats to after-mip features
|
5 years ago |
Alinson S. Xavier
|
bd78518c1f
|
Convert MIPSolveStats into dataclass
|
5 years ago |
Alinson S. Xavier
|
2bc1e21f8e
|
Add lp_stats to after-lp features
|
5 years ago |
Alinson S. Xavier
|
945f6a091c
|
Convert LPSolveStats into dataclass
|
5 years ago |
Alinson S. Xavier
|
6afdf2ed55
|
Collect features 3 times (after-load, after-lp, after-mip)
|
5 years ago |
Alinson S. Xavier
|
d85a63f869
|
Small fixes to Alvarez2017 features
|
5 years ago |
Alinson S. Xavier
|
c39231cb18
|
Implement a small subset of Alvarez2017 features
|
5 years ago |
Alinson S. Xavier
|
9ca4cc3c24
|
Include additional features in instance.features
|
5 years ago |
Alinson S. Xavier
|
733c8299e0
|
Add more variable features
|
5 years ago |
Alinson S. Xavier
|
5e1f26e4b0
|
Add more constraint features
|
5 years ago |
Alinson S. Xavier
|
b5e602cdc1
|
get_constraints: Fetch slack and dual values
|
5 years ago |
Alinson S. Xavier
|
088d679f61
|
Redesign InternalSolver constraint methods
|
5 years ago |
Alinson S. Xavier
|
f70363db0d
|
Replace build_lazy_constraint by enforce_lazy_constraint
|
5 years ago |
Alinson S. Xavier
|
735884151d
|
Reorganize callbacks
|
5 years ago |
Alinson S. Xavier
|
6ac738beb4
|
PyomoSolver: Implement missing constraint methods
|
5 years ago |
Alinson S. Xavier
|
9368b37139
|
Replace individual constraint methods by single get_constraints
|
5 years ago |
Alinson S. Xavier
|
626d75f25e
|
Reorganize internal solver tests
|
5 years ago |
Alinson S. Xavier
|
a8224b5a38
|
Move instance fixtures into the main source; remove duplication
|
5 years ago |
Alinson S. Xavier
|
166cdb81d7
|
Fix tests
|
5 years ago |
Alinson S. Xavier
|
74ceb776c3
|
Skip extracting features if already computed
|
5 years ago |
Alinson S. Xavier
|
5116681291
|
Add some InternalSolver tests to main package
|
5 years ago |
Alinson S. Xavier
|
3edc8139e9
|
Improve logging
|
5 years ago |
Alinson S. Xavier
|
6330354c47
|
Remove EnforceOverrides; automatically convert np.ndarray features
|
5 years ago |
Alinson S. Xavier
|
157825a345
|
mypy: Disable implicit optionals
|
5 years ago |
Alinson S. Xavier
|
f5606efb72
|
Add types to log.py
|
5 years ago |
Alinson S. Xavier
|
331ee5914d
|
Add types to solvers
|
5 years ago |
Alinson S. Xavier
|
38212fb858
|
Add types to tsp.py
|
5 years ago |
Alinson S. Xavier
|
f7545204d7
|
Add types to stab.py
|
5 years ago |
Alinson S. Xavier
|
2c93ff38fc
|
Add types to knapsack.py
|
5 years ago |
Alinson S. Xavier
|
0232219a0e
|
Make InternalSolver clonable
|
5 years ago |
Alinson S. Xavier
|
96093a9b8e
|
Enforce more overrides
|
5 years ago |
Alinson S. Xavier
|
1cf6124757
|
Refer to variables by varname instead of (vname, index)
|
5 years ago |
Alinson S. Xavier
|
856b595d5e
|
PickleGzInstance: Replace implicit load by load/free methods
|
5 years ago |
Alinson S. Xavier
|
f495297168
|
Remove experimental LP components
|
5 years ago |
Alinson S. Xavier
|
f90f295620
|
Reorganize instance package
|
5 years ago |
Alinson S. Xavier
|
3543a2ba92
|
Optimize imports
|
5 years ago |
Alinson S. Xavier
|
332cdbd839
|
Update copyright year
|
5 years ago |
Alinson S. Xavier
|
b0bf42e69d
|
Remove obsolete extractor classes
|
5 years ago |
Alinson S. Xavier
|
9e7eed1dbd
|
Finish rewrite of user cuts component
|
5 years ago |
Alinson S. Xavier
|
9f2d7439dc
|
Add user cut callbacks; begin rewrite of UserCutsComponent
|
5 years ago |
Alinson S. Xavier
|
cfb17551f1
|
Make sample_xy an instance method
|
5 years ago |
Alinson S. Xavier
|
54c20382c9
|
Finish DynamicLazyConstraintsComponent rewrite
|
5 years ago |
Alinson S. Xavier
|
c6aee4f90d
|
Make sample_ method accept instance
|
5 years ago |
Alinson S. Xavier
|
bb91c83187
|
LazyDynamic: Rewrite fit method
|
5 years ago |
Alinson S. Xavier
|
6e326d5d6e
|
Move feature classes to features.py
|
5 years ago |
Alinson S. Xavier
|
b11779817a
|
Convert TrainingSample to dataclass
|
5 years ago |
Alinson S. Xavier
|
aeed338837
|
Convert ConstraintFeatures to dataclass
|
5 years ago |
Alinson S. Xavier
|
94084e0669
|
Convert InstanceFeatures into dataclass
|
5 years ago |
Alinson S. Xavier
|
d79eec5da6
|
Convert VariableFeatures into dataclass
|
5 years ago |
Alinson S. Xavier
|
59f4f75a53
|
Convert Features into dataclass
|
5 years ago |
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 |