Skip to main content

SupervisionLaborScenario

Economics scenarios · Implementation: mlsysim/engine/scenario_definitions/economics.py.

Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.

The person-hours a supervised fleet creates in one operating_day: an assistant staffed the whole day (busy at queue’s utilization, watching otherwise) plus sweeps corridor sweeps.

Notes

Equation: Busy hours are utilization*operating_day; staffed labor is the whole operating day plus sweep duration; shifts divide by shift length.

Assumptions: Watch time remains staffed even without requests, and sweeps add labor rather than overlapping watch coverage.

Excludes: Breaks, peak staffing reserve, and a stability check; an overloaded queue can make residual watch time negative.

References

Derivation: Busy hours are utilization*operating_day; staffed labor is the whole operating day plus sweep duration; shifts divide by shift length. This is declared scenario accounting rather than a fitted empirical law.

Examples

>>> from mlsysim import Scenarios
>>> scenario = Scenarios.WarehouseRemoteAssistantLabor
>>> value = scenario.request_time
>>> str(value.units)
'h'

Attributes

Name Description
operating_day
queue
request_time Expected request-handling hours within the operating day, using the queue’s utilization.
shift
shifts Total labor hours divided by hours per shift, a fractional staffing equivalent.
sweep_time
sweep_total Additional labor hours allocated to corridor sweeps.
sweeps
total Staffed hours plus sweep hours, without subtracting idle watch time.
watch_time Non-request watch hours left in the staffed operating day; unstable demand can make this

queue

Type: SupervisorQueueScenario.

Declared default: required.

operating_day

Type: Quantity.

Declared default: required.

sweeps

Type: int.

Declared default: required.

sweep_time

Type: Quantity.

Declared default: required.

shift

Type: Quantity.

Declared default: required.

request_time

engine.scenario_types.SupervisionLaborScenario.request_time

Expected request-handling hours within the operating day, using the queue’s utilization.

Equation: (queue.result.utilization * operating_day).to('hour').

watch_time

engine.scenario_types.SupervisionLaborScenario.watch_time

Non-request watch hours left in the staffed operating day; unstable demand can make this negative.

Equation: (operating_day - request_time).to('hour').

sweep_total

engine.scenario_types.SupervisionLaborScenario.sweep_total

Additional labor hours allocated to corridor sweeps.

Equation: (sweeps * sweep_time).to('hour').

total

engine.scenario_types.SupervisionLaborScenario.total

Staffed hours plus sweep hours, without subtracting idle watch time.

Equation: (operating_day + sweep_total).to('hour').

shifts

engine.scenario_types.SupervisionLaborScenario.shifts

Total labor hours divided by hours per shift, a fractional staffing equivalent.

Equation: (total / shift).to('').magnitude.

Back to top