Skip to content

HSF Algorithm

Eric Mehiel edited this page Mar 27, 2023 · 3 revisions

inputs: start, end, step, system, tasks, system_schedules output: system_schedules - a curated list of possible schedules

For simulation_time = start; end; step: do

    GenerateAllPossibleEvents(simulation_time, system, tasks) - need to think about inputs...
    CorpSchedules()

    For all current_schedules: do
        GeneratePossibleNewSchedules() - if current schedule is not busy, create a copy and add to list of possible_schedules
    
    For all possible_schedules: do
        CheckSchedule(system, potential_schedule) - ie check constraints, call CanPerform(), etc
    
    EvaluateSchedules()
    Merge possible_schdules with system_schedules