Skip to content
All AI projects

Academic project · University of Aberdeen · September 2026

AI Planning for Computer Order Fulfilment

Modelling assembly and refurbishment workflows under compatibility and shared-stock constraints, then comparing hierarchical and classical planners with independently checked plans.

Automated planning
Symbolic reasoning
Benchmark design
Plan verification
Benchmark instances
54
Recorded planner runs
216
Verified solution runs
206

The problem

A workshop must fulfil a batch of computer orders using compatible loose parts and computers it already owns. Orders can allow new assembly, refurbishment, or either route. A flexible order can consume a component that another order needs, so a valid plan must account for the whole batch as well as the required inspection, testing, configuration, and dispatch procedures.

My contribution

  • Modelled the workshop using HDDL task hierarchies and a matched PDDL baseline, with eleven primitive operations and explicit compatibility and stock constraints.
  • Built a generator and experiment pipeline for paired instances, including feasible witnesses, stock-shortage controls, and coupled allocation conflicts.
  • Evaluated four planner configurations and checked returned plans using typed action replay and native hierarchical verification.

Approach

  1. Represent the workflow

    Six methods and four compound tasks describe how orders are fulfilled. A bounded dispatcher lets the planner choose any pending order while one workstation serialises the physical operations.

  2. Construct matched problems

    A 45-case grid varies order count, loose-memory stock, and generator seed. Nine control cases test baseline behaviour, joint allocation conflicts, and stock availability.

  3. Compare four configurations

    PANDA uses RC-FF and RC-add; Fast Downward uses FF and additive heuristics. Each preprocessing and search process has a separate 30-second wall watchdog.

  4. Verify returned plans

    Action preconditions, effects, and goals are replayed, then the primitive sequence is checked against the HDDL hierarchy. All 24 permutations of a four-order witness were also verified.

Results & findings

The native macOS benchmark contains 206 verified solution runs, eight unsolvable outcomes, and two timeouts. PANDA RC-add and both Fast Downward configurations solved every feasible instance in this benchmark.

AI Planning for Computer Order Fulfilment: comparison results
ConfigurationFeasible cases solvedUnsolvable outcomesTimeouts
PANDA RC-FF50 / 5222
PANDA RC-add52 / 5220
Fast Downward FF52 / 5220
Fast Downward add52 / 5220

Each configuration was run on the same 54 instances: 52 feasible cases and two unsolvable controls. Measured on macOS.

Download results CSV

Experiments & analysis

Select a figure to view it at full size.

Planner coverage and median preprocessing-plus-search time across batches of two, four, six, eight, and ten orders. RC-FF solves seven of nine eight-order grid cases; the other configurations solve all nine at every size.
Coverage is out of nine grid cases per size. Median planning time includes preprocessing and search, with timeouts capped; the time axis is logarithmic.
How the dispatcher preserves job-order choice

This method selects a pending order, fulfils it, and recurses to the next batch level. The level bounds decomposition depth; it does not impose a fixed customer sequence.

HDDL · Source excerpt

(:method select-and-fulfil-next-order
    :parameters (?level ?next - batch-level ?o - order)
    :task (process-orders ?level)
    :precondition (and
      (next-level ?level ?next)
      (pending ?o)
    )
    :ordered-subtasks (and
      (job (fulfil-order ?o))
      (remaining (process-orders ?next))
    )
  )

Limitations & what I learned

Where I would take this next

  • Repeat timing measurements and test additional allocation patterns and inventory distributions.
  • Explore how an arrival-and-replanning controller could update the static planning model between completed orders.