labscheduler.dev_tools.eval_schedule module

class labscheduler.dev_tools.eval_schedule.LevelChange(machine, time, change)[source]

Bases: NamedTuple

_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('machine', 'time', 'change')
classmethod _make(iterable)

Make a new LevelChange object from a sequence or iterable

_replace(**kwds)

Return a new LevelChange object replacing specified fields with new values

change: int

Alias for field number 2

machine: str

Alias for field number 0

time: datetime

Alias for field number 1

labscheduler.dev_tools.eval_schedule.check_completeness(inst: JSSP, sol: dict[str, ScheduledAssignment]) bool[source]
labscheduler.dev_tools.eval_schedule.check_load_while_work(inst: JSSP, sol: dict[str, ScheduledAssignment]) bool[source]
labscheduler.dev_tools.eval_schedule.check_process_capacities(inst: JSSP, sol: dict[str, ScheduledAssignment]) bool[source]
labscheduler.dev_tools.eval_schedule.check_spacial_capacities(inst: JSSP, sol: dict[str, ScheduledAssignment]) bool[source]
labscheduler.dev_tools.eval_schedule.check_waiting(inst: JSSP, sol: dict[str, ScheduledAssignment]) bool[source]
labscheduler.dev_tools.eval_schedule.is_feasible_solution(inst: JSSP, sol: dict[str, ScheduledAssignment] | None) bool[source]
labscheduler.dev_tools.eval_schedule.objective_value(inst: JSSP, sol: dict[str, ScheduledAssignment], alpha: float = 20) float[source]