Move components into submodule

This commit is contained in:
2020-02-05 12:50:36 -06:00
parent 52b476f0a3
commit 85b804610f
14 changed files with 25 additions and 23 deletions

View File

@@ -3,10 +3,12 @@
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from .component import Component from .components.component import Component
from .components.warmstart import (WarmStartComponent,
KnnWarmStartPredictor,
LogisticWarmStartPredictor)
from .components.branching import BranchPriorityComponent
from .extractors import UserFeaturesExtractor, SolutionExtractor
from .benchmark import BenchmarkRunner
from .instance import Instance from .instance import Instance
from .solvers import LearningSolver from .solvers import LearningSolver
from .benchmark import BenchmarkRunner
from .warmstart import WarmStartComponent, KnnWarmStartPredictor, LogisticWarmStartPredictor
from .branching import BranchPriorityComponent
from .extractors import UserFeaturesExtractor, SolutionExtractor

View File

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved. # Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved.
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from . import Component from .component import Component
from .extractors import Extractor from ..extractors import Extractor
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from sklearn.neighbors import KNeighborsRegressor from sklearn.neighbors import KNeighborsRegressor
import numpy as np import numpy as np
@@ -52,7 +52,7 @@ class BranchPriorityComponent(Component):
src_dirname = os.path.dirname(os.path.realpath(__file__)) src_dirname = os.path.dirname(os.path.realpath(__file__))
priority_file = tempfile.NamedTemporaryFile(mode="r") priority_file = tempfile.NamedTemporaryFile(mode="r")
subprocess.run(["julia", subprocess.run(["julia",
"%s/scripts/branchpriority.jl" % src_dirname, "%s/branching.jl" % src_dirname,
lp_file.name, lp_file.name,
priority_file.name, priority_file.name,
str(self.node_limit), str(self.node_limit),

View File

@@ -6,9 +6,9 @@ from abc import ABC, abstractmethod
class Component(ABC): class Component(ABC):
@abstractmethod """
def fit(self, solver): A Component is an object which adds functionality to a LearningSolver.
pass """
@abstractmethod @abstractmethod
def before_solve(self, solver, instance, model): def before_solve(self, solver, instance, model):
@@ -21,3 +21,7 @@ class Component(ABC):
@abstractmethod @abstractmethod
def merge(self, other): def merge(self, other):
pass pass
@abstractmethod
def fit(self, solver):
pass

View File

View File

@@ -2,7 +2,7 @@
# Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved. # Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved.
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from miplearn.warmstart import KnnWarmStartPredictor from miplearn import KnnWarmStartPredictor
from sklearn.metrics import accuracy_score, precision_score from sklearn.metrics import accuracy_score, precision_score
import numpy as np import numpy as np

View File

@@ -2,7 +2,7 @@
# Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved. # Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved.
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from miplearn.warmstart import LogisticWarmStartPredictor from miplearn import LogisticWarmStartPredictor
from sklearn.metrics import accuracy_score, precision_score from sklearn.metrics import accuracy_score, precision_score
import numpy as np import numpy as np

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved. # Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved.
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from . import Component from .component import Component
from .extractors import * from ..extractors import *
from abc import ABC, abstractmethod from abc import ABC, abstractmethod
from copy import deepcopy from copy import deepcopy

View File

@@ -2,8 +2,7 @@
# Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved. # Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved.
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from .warmstart import WarmStartComponent from . import WarmStartComponent, BranchPriorityComponent
from .branching import BranchPriorityComponent
import pyomo.environ as pe import pyomo.environ as pe
import numpy as np import numpy as np
from copy import deepcopy from copy import deepcopy

View File

@@ -2,8 +2,7 @@
# Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved. # Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved.
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from miplearn import LearningSolver, BenchmarkRunner from miplearn import LearningSolver, BenchmarkRunner, KnnWarmStartPredictor
from miplearn.warmstart import KnnWarmStartPredictor
from miplearn.problems.stab import MaxWeightStableSetGenerator from miplearn.problems.stab import MaxWeightStableSetGenerator
from scipy.stats import randint from scipy.stats import randint
import numpy as np import numpy as np

View File

@@ -2,10 +2,8 @@
# Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved. # Copyright (C) 2019-2020 Argonne National Laboratory. All rights reserved.
# Written by Alinson S. Xavier <axavier@anl.gov> # Written by Alinson S. Xavier <axavier@anl.gov>
from miplearn import LearningSolver from miplearn import LearningSolver, BranchPriorityComponent, WarmStartComponent
from miplearn.problems.knapsack import KnapsackInstance from miplearn.problems.knapsack import KnapsackInstance
from miplearn.branching import BranchPriorityComponent
from miplearn.warmstart import WarmStartComponent
import numpy as np import numpy as np