Flocc
    Preparing search index...

    Class PriorityScheduler

    A priority queue-based scheduler for discrete event simulation.

    Unlike the default interval-based scheduler, the PriorityScheduler allows agents to schedule themselves at arbitrary future times. This enables:

    • Event-driven simulation (skip empty time steps)
    • Variable agent timing (fast predators, slow grazers)
    • Self-scheduling agents (reschedule based on state)
    const scheduler = new PriorityScheduler();
    const env = new Environment({ scheduler });

    // Agent schedules itself based on energy level
    agent.set('tick', (a) => {
    a.set('energy', a.get('energy') - 10);

    // Schedule next action - lower energy = longer wait
    const delay = 100 / a.get('energy');
    a.scheduleIn(delay);
    });

    // Run simulation event-by-event
    while (env.time < 1000) {
    env.tickNext(); // Jump to next scheduled event
    }

    0.6.0

    Implements

    Index

    Constructors

    Accessors

    Methods