blackopsrepl's picture
Add Employee Scheduling Quickstart Demo
e510416
raw
history blame contribute delete
746 Bytes
from solverforge_legacy.solver import SolverManager, SolverFactory, SolutionManager
from solverforge_legacy.solver.config import (
SolverConfig,
ScoreDirectorFactoryConfig,
TerminationConfig,
Duration,
)
from .domain import EmployeeSchedule, Shift
from .constraints import define_constraints
solver_config = SolverConfig(
solution_class=EmployeeSchedule,
entity_class_list=[Shift],
score_director_factory_config=ScoreDirectorFactoryConfig(
constraint_provider_function=define_constraints
),
termination_config=TerminationConfig(spent_limit=Duration(seconds=30)),
)
solver_manager = SolverManager.create(SolverFactory.create(solver_config))
solution_manager = SolutionManager.create(solver_manager)