jobshoplab.types package¶
Submodules¶
jobshoplab.types.action_types module¶
- class ComponentTransition[source]¶
Bases:
objectComponentTransition(component_id: str, new_state: jobshoplab.types.state_types.TransportStateState | jobshoplab.types.state_types.MachineStateState | jobshoplab.types.state_types.BufferStateState, job_id: Optional[str])
- new_state : TransportStateState | MachineStateState | BufferStateState¶
- __init__(component_id, new_state, job_id)¶
- Parameters:¶
- component_id : str¶
- new_state : TransportStateState | MachineStateState | BufferStateState¶
- job_id : str | None¶
- Return type:¶
None
- class ActionFactoryInfo[source]¶
Bases:
Enum-
Valid =
'Valid'¶
-
NoMoreOperations =
'NoMoreOperations'¶
-
NoOperation =
'NoOperation'¶
-
Dummy =
'Dummy'¶
-
Valid =
- class Action[source]¶
Bases:
objectAction(transitions: tuple[jobshoplab.types.action_types.ComponentTransition, …], action_factory_info: jobshoplab.types.action_types.ActionFactoryInfo, time_machine: Callable)
- transitions : tuple[ComponentTransition, ...]¶
- action_factory_info : ActionFactoryInfo¶
- __init__(transitions, action_factory_info, time_machine)¶
- Parameters:¶
- transitions : tuple[ComponentTransition, ...]¶
- action_factory_info : ActionFactoryInfo¶
- time_machine : Callable¶
- Return type:¶
None
jobshoplab.types.config_types module¶
- class DslRepositoryConfig[source]¶
Bases:
objectDslRepositoryConfig(dir: str = ‘data/jssp_instances/dsl/default_instance.yaml’)
- class SpecRepositoryConfig[source]¶
Bases:
objectSpecRepositoryConfig(dir: str = ‘data/jssp_instances/spec_files/ft06’)
- class CompilerConfig[source]¶
Bases:
objectCompilerConfig(loglevel: str = ‘warning’, repo: str = ‘DslRepository’, validator: str = ‘SimpleDSLValidator’, manipulators: List[str] = <factory>, dsl_repository: jobshoplab.types.config_types.DslRepositoryConfig = <factory>, spec_repository: jobshoplab.types.config_types.SpecRepositoryConfig = <factory>)
- dsl_repository : DslRepositoryConfig¶
- spec_repository : SpecRepositoryConfig¶
- __init__(loglevel='warning', repo='DslRepository', validator='SimpleDSLValidator', manipulators=<factory>, dsl_repository=<factory>, spec_repository=<factory>)¶
- class EnvConfig[source]¶
Bases:
objectEnvConfig(loglevel: str = ‘warning’, observation_factory: str = ‘BinaryActionObservationFactory’, reward_factory: str = ‘BinaryActionJsspReward’, action_factory: str = ‘BinaryJobActionFactory’, render_backend: str = ‘render_in_dashboard’, middleware: str = ‘EventBasedBinaryActionMiddleware’, max_time_fct: int = 2, max_action_fct: int = 3)
-
__init__(loglevel=
'warning', observation_factory='BinaryActionObservationFactory', reward_factory='BinaryActionJsspReward', action_factory='BinaryJobActionFactory', render_backend='render_in_dashboard', middleware='EventBasedBinaryActionMiddleware', max_time_fct=2, max_action_fct=3)¶
-
__init__(loglevel=
- class StateMachineConfig[source]¶
Bases:
objectStateMachineConfig(loglevel: str = ‘warning’, allow_early_transport: bool = True, middleware: Optional[str] = None, action_factory: Optional[str] = None)
-
__init__(loglevel=
'warning', allow_early_transport=True, middleware=None, action_factory=None)¶
-
__init__(loglevel=
- class EventBasedBinaryActionMiddlewareConfig[source]¶
Bases:
objectEventBasedBinaryActionMiddlewareConfig(loglevel: str = ‘warning’, truncation_joker: int = 5, truncation_active: bool = False)
- class MiddlewareConfig[source]¶
Bases:
objectMiddlewareConfig(event_based_binary_action_middleware: jobshoplab.types.config_types.EventBasedBinaryActionMiddlewareConfig = <factory>)
- event_based_binary_action_middleware : EventBasedBinaryActionMiddlewareConfig¶
- __init__(event_based_binary_action_middleware=<factory>)¶
- Parameters:¶
- event_based_binary_action_middleware : EventBasedBinaryActionMiddlewareConfig¶
- Return type:¶
None
- class BinaryJobActionFactoryConfig[source]¶
Bases:
objectBinaryJobActionFactoryConfig(loglevel: str = ‘warning’)
- class ActionFactoryConfig[source]¶
Bases:
objectActionFactoryConfig(binary_job_action_factory: jobshoplab.types.config_types.BinaryJobActionFactoryConfig = <factory>)
- binary_job_action_factory : BinaryJobActionFactoryConfig¶
- __init__(binary_job_action_factory=<factory>)¶
- Parameters:¶
- binary_job_action_factory : BinaryJobActionFactoryConfig¶
- Return type:¶
None
- class BinaryActionObservationFactoryConfig[source]¶
Bases:
objectBinaryActionObservationFactoryConfig(loglevel: str = ‘warning’)
- class TasselJsspObservationConfig[source]¶
Bases:
objectTasselJsspObservationConfig(loglevel: str = ‘warning’)
- class ObservationFactoryConfig[source]¶
Bases:
objectObservationFactoryConfig(binary_action_observation_factory: jobshoplab.types.config_types.BinaryActionObservationFactoryConfig = <factory>, tassel_jsp_observation: jobshoplab.types.config_types.TasselJsspObservationConfig = <factory>)
- binary_action_observation_factory : BinaryActionObservationFactoryConfig¶
- tassel_jsp_observation : TasselJsspObservationConfig¶
- __init__(binary_action_observation_factory=<factory>, tassel_jsp_observation=<factory>)¶
- Parameters:¶
- binary_action_observation_factory : BinaryActionObservationFactoryConfig¶
- tassel_jsp_observation : TasselJsspObservationConfig¶
- Return type:¶
None
- class BinaryActionJsspRewardConfig[source]¶
Bases:
objectBinaryActionJsspRewardConfig(loglevel: str = ‘warning’, sparse_bias: float = 1.0, dense_bias: float = 0.001, truncation_bias: float = -1.0)
-
__init__(loglevel=
'warning', sparse_bias=1.0, dense_bias=0.001, truncation_bias=-1.0)¶
-
__init__(loglevel=
- class RewardFactoryConfig[source]¶
Bases:
objectRewardFactoryConfig(binary_action_jssp_reward: jobshoplab.types.config_types.BinaryActionJsspRewardConfig = <factory>)
- binary_action_jssp_reward : BinaryActionJsspRewardConfig¶
- __init__(binary_action_jssp_reward=<factory>)¶
- Parameters:¶
- binary_action_jssp_reward : BinaryActionJsspRewardConfig¶
- Return type:¶
None
- class RenderInDashboardConfig[source]¶
Bases:
objectRenderInDashboardConfig(loglevel: str = ‘warning’, port: int = 8050, debug: bool = False)
- class SimulationConfig[source]¶
Bases:
objectSimulationConfig(json_dump_dir: str = ‘data/tmp/simulation_interface.json’, port: int = 8051, loglevel: str = ‘warning’, bind_all: bool = False)
- class RenderBackendConfig[source]¶
Bases:
objectRenderBackendConfig(render_in_dashboard: jobshoplab.types.config_types.RenderInDashboardConfig = <factory>, simulation: jobshoplab.types.config_types.SimulationConfig = <factory>, cli_table: jobshoplab.types.config_types.CliTableConfig = <factory>)
- render_in_dashboard : RenderInDashboardConfig¶
- simulation : SimulationConfig¶
- cli_table : CliTableConfig¶
- __init__(render_in_dashboard=<factory>, simulation=<factory>, cli_table=<factory>)¶
- Parameters:¶
- render_in_dashboard : RenderInDashboardConfig¶
- simulation : SimulationConfig¶
- cli_table : CliTableConfig¶
- Return type:¶
None
- class Config[source]¶
Bases:
objectConfig(title: str = ‘Dev Environment’, default_loglevel: str = ‘warning’, compiler: jobshoplab.types.config_types.CompilerConfig = <factory>, env: jobshoplab.types.config_types.EnvConfig = <factory>, state_machine: jobshoplab.types.config_types.StateMachineConfig = <factory>, middleware: jobshoplab.types.config_types.MiddlewareConfig = <factory>, action_factory: jobshoplab.types.config_types.ActionFactoryConfig = <factory>, observation_factory: jobshoplab.types.config_types.ObservationFactoryConfig = <factory>, reward_factory: jobshoplab.types.config_types.RewardFactoryConfig = <factory>, render_backend: jobshoplab.types.config_types.RenderBackendConfig = <factory>)
- compiler : CompilerConfig¶
- state_machine : StateMachineConfig¶
- middleware : MiddlewareConfig¶
- action_factory : ActionFactoryConfig¶
- observation_factory : ObservationFactoryConfig¶
- reward_factory : RewardFactoryConfig¶
- render_backend : RenderBackendConfig¶
- __init__(title='Dev Environment', default_loglevel='warning', compiler=<factory>, env=<factory>, state_machine=<factory>, middleware=<factory>, action_factory=<factory>, observation_factory=<factory>, reward_factory=<factory>, render_backend=<factory>)¶
- Parameters:¶
- title : str¶
- default_loglevel : str¶
- compiler : CompilerConfig¶
- env : EnvConfig¶
- state_machine : StateMachineConfig¶
- middleware : MiddlewareConfig¶
- action_factory : ActionFactoryConfig¶
- observation_factory : ObservationFactoryConfig¶
- reward_factory : RewardFactoryConfig¶
- render_backend : RenderBackendConfig¶
- Return type:¶
None
jobshoplab.types.instance_config_types module¶
- class TransportTypeConfig[source]¶
Bases:
EnumEnumeration for transport type configuration.
-
AGV =
'agv'¶
-
CONVEYOR =
'conveyor'¶
-
TELEPORTER =
'teleporter'¶
-
AGV =
- class BufferTypeConfig[source]¶
Bases:
EnumEnumeration for buffer type configuration.
-
FIFO =
'fifo'¶
-
LIFO =
'lifo'¶
-
DUMMY =
'dummy'¶
-
FLEX_BUFFER =
'flex_buffer'¶
-
FIFO =
- class ProblemInstanceTypeConfig[source]¶
Bases:
EnumEnum class representing the problem instance types for job shop, flow shop, and open shop.
-
JOB_SHOP =
'job_shop'¶
-
FLOW_SHOP =
'flow_shop'¶
-
OPEN_SHOP =
'open_shop'¶
-
JOB_SHOP =
- class ConsumptionConfig[source]¶
Bases:
objectData class representing the configuration for consumption.
- class DeterministicTimeConfig[source]¶
Bases:
objectData class representing the configuration for deterministic time.
- class OutageTypeConfig[source]¶
Bases:
EnumEnumeration for outage configuration types. .. attribute:: FAIL
The fail type.
- type:
str
-
FAIL =
'fail'¶
-
MAINTENANCE =
'maintenance'¶
-
RECHARGE =
'recharge'¶
- class OutageConfig[source]¶
Bases:
objectData class representing an outage.
- frequency¶
The frequency of the outage.
- Type:¶
DeterministicTimeConfig | StochasticFrequency
- duration¶
The duration of the outage.
- frequency : DeterministicTimeConfig | StochasticTimeConfig¶
- duration : DeterministicTimeConfig | StochasticTimeConfig¶
- type : OutageTypeConfig¶
- __init__(id, frequency, duration, type)¶
- Parameters:¶
- id : str¶
- frequency : DeterministicTimeConfig | StochasticTimeConfig¶
- duration : DeterministicTimeConfig | StochasticTimeConfig¶
- type : OutageTypeConfig¶
- Return type:¶
None
- class BufferRoleConfig[source]¶
Bases:
EnumEnumeration for buffer role configuration. .. attribute:: INPUT
The input role.
- type:
str
-
INPUT =
'input'¶
-
OUTPUT =
'output'¶
-
COMPONENT =
'component'¶
-
COMPENSATION =
'compensation'¶
- class BufferConfig[source]¶
Bases:
objectData class representing the configuration for a buffer.
- type : BufferTypeConfig¶
- role : BufferRoleConfig¶
- class TransportConfig[source]¶
Bases:
objectData class representing the configuration for a transport.
- type : TransportTypeConfig¶
- outages : tuple[OutageConfig, ...]¶
- buffer : BufferConfig¶
- class MachineConfig[source]¶
Bases:
objectData class representing the configuration for a machine.
- setup_times¶
The setup times for different product pairs.
- Type:¶
dict[tuple[Product, Product], DeterministicTimeConfig | StochasticTimeConfig]
- outages : tuple[OutageConfig, ...]¶
- setup_times : Mapping[tuple[str, str], DeterministicTimeConfig | StochasticTimeConfig]¶
- prebuffer : BufferConfig¶
- postbuffer : BufferConfig¶
- buffer : BufferConfig¶
-
__init__(id, outages, setup_times, prebuffer, postbuffer, batches, resources, buffer, description=
None)¶ - Parameters:¶
- id : str¶
- outages : tuple[OutageConfig, ...]¶
- setup_times : Mapping[tuple[str, str], DeterministicTimeConfig | StochasticTimeConfig]¶
- prebuffer : BufferConfig¶
- postbuffer : BufferConfig¶
- batches : int¶
- resources : tuple[Literal['EnergyConsumption', 'Waste', 'C02Emission', 'FinancialCost'], ...]¶
- buffer : BufferConfig¶
- description : str | None¶
- Return type:¶
None
- class TwinMachineConfig[source]¶
Bases:
objectData class representing the configuration for twin machines.
- machines : tuple[MachineConfig, ...]¶
- class OperationConfig[source]¶
Bases:
objectData class representing the configuration for an operation.
- duration¶
The duration configuration for the operation.
- duration : DeterministicTimeConfig | StochasticTimeConfig¶
- class JobConfig[source]¶
Bases:
objectData class representing the configuration for a job.
- operations : tuple[OperationConfig, ...]¶
- class ProblemInstanceConfig[source]¶
Bases:
objectData class representing the configuration for a problem instance.
- type¶
The type of the problem instance.
- type : ProblemInstanceTypeConfig¶
- __init__(type, specification)¶
- class LogisticsConfig[source]¶
Bases:
objectLogisticsConfig(capacity: int, travel_times: Mapping[tuple[str, str], jobshoplab.types.instance_config_types.DeterministicTimeConfig | jobshoplab.types.stochasticy_models.StochasticTimeConfig])
- travel_times : Mapping[tuple[str, str], DeterministicTimeConfig | StochasticTimeConfig]¶
- __init__(capacity, travel_times)¶
- class InstanceConfig[source]¶
Bases:
objectData class representing the configuration for an instance.
- instance : ProblemInstanceConfig¶
- logistics : LogisticsConfig¶
- machines : tuple[MachineConfig, ...]¶
- buffers : tuple[BufferConfig, ...]¶
- transports : tuple[TransportConfig, ...]¶
- __init__(description, instance, logistics, machines, buffers, transports)¶
- Parameters:¶
- description : str¶
- instance : ProblemInstanceConfig¶
- logistics : LogisticsConfig¶
- machines : tuple[MachineConfig, ...]¶
- buffers : tuple[BufferConfig, ...]¶
- transports : tuple[TransportConfig, ...]¶
- Return type:¶
None
jobshoplab.types.state_types module¶
- Action¶
alias of
ActionProtocol
- class TimeDependency[source]¶
Bases:
objectA class to represent a time dependency for a transport job. This is used to indicate that the transport job should be scheduled at a specific time.
- transition : any¶
- class OperationStateState[source]¶
Bases:
Enum-
IDLE =
'Idle'¶
-
PROCESSING =
'Processing'¶
-
DONE =
'Done'¶
-
TRANSPORT =
'Transport'¶
-
IDLE =
- class OperationState[source]¶
Bases:
objectOperationState(id: str, start_time: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime, end_time: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime, machine_id: str, operation_state_state: jobshoplab.types.state_types.OperationStateState)
- operation_state_state : OperationStateState¶
- __init__(id, start_time, end_time, machine_id, operation_state_state)¶
- class JobState[source]¶
Bases:
objectJobState(id: str, operations: tuple[jobshoplab.types.state_types.OperationState, …], location: str)
- operations : tuple[OperationState, ...]¶
- class BufferState[source]¶
Bases:
objectBufferState(id: str, state: jobshoplab.types.state_types.BufferStateState, store: tuple[str, …])
- state : BufferStateState¶
- class MachineStateState[source]¶
Bases:
Enum-
IDLE =
'Idle'¶
-
SETUP =
'Setup'¶
-
WORKING =
'Working'¶
-
OUTAGE =
'Outage'¶
-
IDLE =
- class TransportStateState[source]¶
Bases:
Enum-
IDLE =
'Idle'¶
-
WORKING =
'Working'¶
-
PICKUP =
'Pickup'¶
-
TRANSIT =
'Transit'¶
-
OUTAGE =
'Outage'¶
-
WAITINGPICKUP =
'WaitingPickup'¶
-
IDLE =
- class OutageActive[source]¶
Bases:
objectOutageActive(start_time: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime, end_time: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime)
- class OutageInactive[source]¶
Bases:
objectOutageInactive(last_time_active: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime)
- class OutageState[source]¶
Bases:
objectOutageState(id: str, active: jobshoplab.types.state_types.OutageActive | jobshoplab.types.state_types.OutageInactive)
- active : OutageActive | OutageInactive¶
- __init__(id, active)¶
- Parameters:¶
- id : str¶
- active : OutageActive | OutageInactive¶
- Return type:¶
None
- class MachineState[source]¶
Bases:
objectMachineState(id: str, buffer: jobshoplab.types.state_types.BufferState, occupied_till: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime, prebuffer: jobshoplab.types.state_types.BufferState, postbuffer: jobshoplab.types.state_types.BufferState, state: jobshoplab.types.state_types.MachineStateState, mounted_tool: str, outages: tuple[jobshoplab.types.state_types.OutageState, …], resources: tuple[typing.Union[jobshoplab.types.state_types.EnergyConsumptionType, jobshoplab.types.state_types.WasteType, jobshoplab.types.state_types.C02EmissionType, jobshoplab.types.state_types.FinancialCostType], …])
- buffer : BufferState¶
- prebuffer : BufferState¶
- postbuffer : BufferState¶
- state : MachineStateState¶
- outages : tuple[OutageState, ...]¶
- resources : tuple[EnergyConsumptionType | WasteType | C02EmissionType | FinancialCostType, ...]¶
- __init__(id, buffer, occupied_till, prebuffer, postbuffer, state, mounted_tool, outages, resources)¶
- Parameters:¶
- id : str¶
- buffer : BufferState¶
- occupied_till : Time | NoTime¶
- prebuffer : BufferState¶
- postbuffer : BufferState¶
- state : MachineStateState¶
- mounted_tool : str¶
- outages : tuple[OutageState, ...]¶
- resources : tuple[EnergyConsumptionType | WasteType | C02EmissionType | FinancialCostType, ...]¶
- Return type:¶
None
- class TransportLocation[source]¶
Bases:
objectTransportLocation(progress: float, location: str | tuple[str, str, str])
- class TransportState[source]¶
Bases:
objectTransportState(state: jobshoplab.types.state_types.TransportStateState, id: str, occupied_till: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime, buffer: jobshoplab.types.state_types.BufferState, location: jobshoplab.types.state_types.TransportLocation, outages: tuple[jobshoplab.types.state_types.OutageState, …], transport_job: str | None)
- state : TransportStateState¶
- buffer : BufferState¶
- location : TransportLocation¶
- outages : tuple[OutageState, ...]¶
- __init__(state, id, occupied_till, buffer, location, outages, transport_job)¶
- Parameters:¶
- state : TransportStateState¶
- id : str¶
- occupied_till : Time | NoTime¶
- buffer : BufferState¶
- location : TransportLocation¶
- outages : tuple[OutageState, ...]¶
- transport_job : str | None¶
- Return type:¶
None
- class State[source]¶
Bases:
objectState(jobs: tuple[jobshoplab.types.state_types.JobState, …], time: jobshoplab.types.state_types.Time | jobshoplab.types.state_types.NoTime, machines: tuple[jobshoplab.types.state_types.MachineState, …], transports: tuple[jobshoplab.types.state_types.TransportState, …], buffers: tuple[jobshoplab.types.state_types.BufferState, …])
- machines : tuple[MachineState, ...]¶
- transports : tuple[TransportState, ...]¶
- buffers : tuple[BufferState, ...]¶
- class StateMachineResult[source]¶
Bases:
objectStateMachineResult(state: jobshoplab.types.state_types.State, sub_states: tuple[jobshoplab.types.state_types.State, …], action: jobshoplab.types.state_types.ActionProtocol, success: bool, message: str, possible_transitions: tuple[~ComponentTransition, …])
- action : ActionProtocol¶
jobshoplab.types.stochasticy_models module¶
- class StochasticTimeConfig[source]¶
Bases:
ABCAbstract class for stochastic functions.
-
__init__(base_time, start_seed=
None)[source]¶
-
__init__(base_time, start_seed=
- class PoissonFunction[source]¶
Bases:
StochasticTimeConfig
- class UniformFunction[source]¶
Bases:
StochasticTimeConfig
- class GaussianFunction[source]¶
Bases:
StochasticTimeConfig
- class GammaFunction[source]¶
Bases:
StochasticTimeConfig
Module contents¶
- class Config[source]¶
Bases:
objectConfig(title: str = ‘Dev Environment’, default_loglevel: str = ‘warning’, compiler: jobshoplab.types.config_types.CompilerConfig = <factory>, env: jobshoplab.types.config_types.EnvConfig = <factory>, state_machine: jobshoplab.types.config_types.StateMachineConfig = <factory>, middleware: jobshoplab.types.config_types.MiddlewareConfig = <factory>, action_factory: jobshoplab.types.config_types.ActionFactoryConfig = <factory>, observation_factory: jobshoplab.types.config_types.ObservationFactoryConfig = <factory>, reward_factory: jobshoplab.types.config_types.RewardFactoryConfig = <factory>, render_backend: jobshoplab.types.config_types.RenderBackendConfig = <factory>)
- compiler : CompilerConfig¶
- state_machine : StateMachineConfig¶
- middleware : MiddlewareConfig¶
- action_factory : ActionFactoryConfig¶
- observation_factory : ObservationFactoryConfig¶
- reward_factory : RewardFactoryConfig¶
- render_backend : RenderBackendConfig¶
- __init__(title='Dev Environment', default_loglevel='warning', compiler=<factory>, env=<factory>, state_machine=<factory>, middleware=<factory>, action_factory=<factory>, observation_factory=<factory>, reward_factory=<factory>, render_backend=<factory>)¶
- Parameters:¶
- title : str¶
- default_loglevel : str¶
- compiler : CompilerConfig¶
- env : EnvConfig¶
- state_machine : StateMachineConfig¶
- middleware : MiddlewareConfig¶
- action_factory : ActionFactoryConfig¶
- observation_factory : ObservationFactoryConfig¶
- reward_factory : RewardFactoryConfig¶
- render_backend : RenderBackendConfig¶
- Return type:¶
None