|
|
@ -2,8 +2,6 @@
|
|
|
|
# Copyright (C) 2020, UChicago Argonne, LLC. All rights reserved.
|
|
|
|
# Copyright (C) 2020, UChicago Argonne, LLC. All rights reserved.
|
|
|
|
# Released under the modified BSD license. See COPYING.md for more details.
|
|
|
|
# Released under the modified BSD license. See COPYING.md for more details.
|
|
|
|
|
|
|
|
|
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from abc import ABC, abstractmethod
|
|
|
|
from typing import Any, List, Union, TYPE_CHECKING
|
|
|
|
from typing import Any, List, Union, TYPE_CHECKING
|
|
|
|
|
|
|
|
|
|
|
@ -25,7 +23,7 @@ class Component(ABC):
|
|
|
|
|
|
|
|
|
|
|
|
def before_solve(
|
|
|
|
def before_solve(
|
|
|
|
self,
|
|
|
|
self,
|
|
|
|
solver: LearningSolver,
|
|
|
|
solver: "LearningSolver",
|
|
|
|
instance: Instance,
|
|
|
|
instance: Instance,
|
|
|
|
model: Any,
|
|
|
|
model: Any,
|
|
|
|
) -> None:
|
|
|
|
) -> None:
|
|
|
@ -46,7 +44,7 @@ class Component(ABC):
|
|
|
|
@abstractmethod
|
|
|
|
@abstractmethod
|
|
|
|
def after_solve(
|
|
|
|
def after_solve(
|
|
|
|
self,
|
|
|
|
self,
|
|
|
|
solver: LearningSolver,
|
|
|
|
solver: "LearningSolver",
|
|
|
|
instance: Instance,
|
|
|
|
instance: Instance,
|
|
|
|
model: Any,
|
|
|
|
model: Any,
|
|
|
|
stats: MIPSolveStats,
|
|
|
|
stats: MIPSolveStats,
|
|
|
@ -57,7 +55,7 @@ class Component(ABC):
|
|
|
|
|
|
|
|
|
|
|
|
Parameters
|
|
|
|
Parameters
|
|
|
|
----------
|
|
|
|
----------
|
|
|
|
solver: LearningSolver
|
|
|
|
solver: "LearningSolver"
|
|
|
|
The solver calling this method.
|
|
|
|
The solver calling this method.
|
|
|
|
instance: Instance
|
|
|
|
instance: Instance
|
|
|
|
The instance being solved.
|
|
|
|
The instance being solved.
|
|
|
@ -86,7 +84,7 @@ class Component(ABC):
|
|
|
|
|
|
|
|
|
|
|
|
def iteration_cb(
|
|
|
|
def iteration_cb(
|
|
|
|
self,
|
|
|
|
self,
|
|
|
|
solver: LearningSolver,
|
|
|
|
solver: "LearningSolver",
|
|
|
|
instance: Instance,
|
|
|
|
instance: Instance,
|
|
|
|
model: Any,
|
|
|
|
model: Any,
|
|
|
|
) -> bool:
|
|
|
|
) -> bool:
|
|
|
@ -103,7 +101,7 @@ class Component(ABC):
|
|
|
|
|
|
|
|
|
|
|
|
Parameters
|
|
|
|
Parameters
|
|
|
|
----------
|
|
|
|
----------
|
|
|
|
solver: LearningSolver
|
|
|
|
solver: "LearningSolver"
|
|
|
|
The solver calling this method.
|
|
|
|
The solver calling this method.
|
|
|
|
instance: Instance
|
|
|
|
instance: Instance
|
|
|
|
The instance being solved.
|
|
|
|
The instance being solved.
|
|
|
@ -114,7 +112,7 @@ class Component(ABC):
|
|
|
|
|
|
|
|
|
|
|
|
def lazy_cb(
|
|
|
|
def lazy_cb(
|
|
|
|
self,
|
|
|
|
self,
|
|
|
|
solver: LearningSolver,
|
|
|
|
solver: "LearningSolver",
|
|
|
|
instance: Instance,
|
|
|
|
instance: Instance,
|
|
|
|
model: Any,
|
|
|
|
model: Any,
|
|
|
|
) -> None:
|
|
|
|
) -> None:
|
|
|
|