sampo.scheduler.multi_agency.block_validation#

Overview#

Function#

validate_block_schedule(bg, schedule, agents)

-

_check_block_dependencies(bg, schedule)

Validate right block dependencies considering received ‘schedule’

_check_blocks_separately(sblocks)

Validate each block separately, i.e., check each ‘Schedule’ in each block

_check_blocks_with_global_timelines(sblocks, contractors)

Checks that no agent’s contractor uses more resources that can supply.

Functions#

sampo.scheduler.multi_agency.block_validation.validate_block_schedule(bg: sampo.scheduler.multi_agency.block_graph.BlockGraph, schedule: dict[str, sampo.scheduler.multi_agency.multi_agency.ScheduledBlock], agents: Iterable[sampo.scheduler.multi_agency.multi_agency.Agent])#
sampo.scheduler.multi_agency.block_validation._check_block_dependencies(bg: sampo.scheduler.multi_agency.block_graph.BlockGraph, schedule: dict[str, sampo.scheduler.multi_agency.multi_agency.ScheduledBlock])#

Validate right block dependencies considering received ‘schedule’

Parameters:
  • bg – BlockGraph

  • schedule

sampo.scheduler.multi_agency.block_validation._check_blocks_separately(sblocks: Iterable[sampo.scheduler.multi_agency.multi_agency.ScheduledBlock])#

Validate each block separately, i.e., check each ‘Schedule’ in each block

Parameters:

sblocks – scheduled blocks of works

sampo.scheduler.multi_agency.block_validation._check_blocks_with_global_timelines(sblocks: Iterable[sampo.scheduler.multi_agency.multi_agency.ScheduledBlock], contractors: Iterable[sampo.schemas.contractor.Contractor])#

Checks that no agent’s contractor uses more resources that can supply.

Note that this should fail if there is a shared contractor between agents, but this term is, of course, unsupported.

Parameters:
  • sblocks – scheduled blocks of works

  • contractors – global scope of contractors(collected from all agents used to construct sblocks)