polaris.runs.convergence.workplace_stabilization_config.WorkplaceStabilizationConfig#
- pydantic model polaris.runs.convergence.workplace_stabilization_config.WorkplaceStabilizationConfig#
Bases:
BaseModel
Configuration class for the POLARIS workplace stabilization process.
Workplace stabilization in POLARIS is the process by which long-term decisions regarding work location are introduced to an overall iterative process. Work places are allowed to be updated based on current congestion conditions on specified iterations, a number of iterations are then run using those updated choices to allow the congestion to stabilize before repeating the process.
Show JSON schema
{ "title": "WorkplaceStabilizationConfig", "description": "Configuration class for the POLARIS workplace stabilization process.\n\nWorkplace stabilization in POLARIS is the process by which long-term decisions regarding work location\nare introduced to an overall iterative process. Work places are allowed to be updated based on current\ncongestion conditions on specified iterations, a number of iterations are then run using those updated\nchoices to allow the congestion to stabilize before repeating the process.", "type": "object", "properties": { "enabled": { "default": false, "title": "Enabled", "type": "boolean" }, "schedule": { "$ref": "#/$defs/IterationSchedule", "default": { "first_iteration": 1, "last_iteration": 31, "every_x_iter": 5, "pattern": [ true, false, false, false, false, true, false, false, false, false, true, false, false, false, false, true, false, false, false, false, true, false, false, false, false, true, false, false, false, false, true ], "on_abm_init": false } } }, "$defs": { "IterationSchedule": { "properties": { "first_iteration": { "default": 1, "title": "First Iteration", "type": "integer" }, "last_iteration": { "title": "Last Iteration", "type": "integer" }, "every_x_iter": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Every X Iter" }, "pattern": { "items": { "type": "boolean" }, "title": "Pattern", "type": "array" }, "on_abm_init": { "default": false, "title": "On Abm Init", "type": "boolean" } }, "required": [ "last_iteration", "every_x_iter", "pattern" ], "title": "IterationSchedule", "type": "object" } } }
- field enabled: bool = False#
Flag which controls if any workplace stabilization will be undertaken during the model run
- field schedule: IterationSchedule = IterationSchedule(first_iteration=1, last_iteration=31, every_x_iter=5, pattern=[True, False, False, False, False, True, False, False, False, False, True, False, False, False, False, True, False, False, False, False, True, False, False, False, False, True, False, False, False, False, True], on_abm_init=False)#
- should_choose_workplaces(iteration)#
- number_of_prior_workplaces_iteration(i: int) float #