Move components into submodule

pull/1/head
Alinson S. Xavier 6 years ago
parent 52b476f0a3
commit 85b804610f

@ -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

@ -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),

@ -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):
@ -20,4 +20,8 @@ class Component(ABC):
@abstractmethod @abstractmethod
def merge(self, other): def merge(self, other):
pass pass
@abstractmethod
def fit(self, solver):
pass

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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

Loading…
Cancel
Save