Assignment 2: multi-drone cooperative delivery planner
All twenty orders, up to five drones of two types, two charging pads and one shared corridor. Reuses assignment 1. Released week 7, due week 12.
Due: 14 May 2027 · 17:00 Australia/Sydney · Weight: 50%
Released Monday of week 7 (2027-04-05). Due Friday of week 12, 17:00 Australia/Sydney, after the week 12 tutorial. It starts with assignment and completes coordination as weeks 8 to 11 teach it.
The brief#
On the same map, up to five drones of two types and two charging pads deliver all twenty orders. Reuse assignment 1; add assignment, shared resources and space-time coordination; show that the two kinds of planning actually feed back into each other.
What you do#
- Generate a feasible assignment and a per-drone order from full-task costs. Implement cross-drone migration and explain the feasibility filter.
- Bring charging waits into the full evaluation. No constant added per drone.
- Complete
myNeighboursin the supplied state-search driver: retain node, phase and absolute time, filter full occupancy intervals, and account for wait energy. Use the provided full-flight planner for the canonical fleet experiment. Compare two priorities. Validate full round trips, in-air waiting energy and resource occupancy. - Compare three levels: initial assignment on independent costs; fixed assignment with coordination; improvement with real cost feedback. An independent plan that fails joint validation is diagnostic only; its shorter time is not an advantage.
- Record at least one real feedback event: a route’s wait or detour changed a cost, which changed an assignment or an order. Attach the results under fixed conditions and a failure explanation.
- Design one new order — place, weight, promised time — that makes the reference method late or infeasible. Create it in the Lab’s scenario copy at an existing address, or in your own planner using the published scenario format. Recompute, validate and explain which assumption the result exposes. Keep the variant separate from the fixed twenty-order submission.
What you submit#
- Your completed
strategies.mjs, tests and configuration, plusstudent-a2.jsonfromnode run.mjs a2. The record carries function sources, versions and input fingerprints. - The twenty-order plan, with per-order and resource event records.
- The comparison tables for the three levels and the two priorities.
- The designed order and its validation, as a separate input file and checked output.
- A personal analysis of at most 1,600 English words. Formal evaluation uses the fixed cases and resources; there are no marks for code volume or rendering quality.
How to justify the result#
The four criteria below carry the weights shown. Constraints first, performance second: for complete feasible plans the objective is total lateness, then the time every drone is back, then total energy. A failure analysis may be submitted without a complete plan, but feasibility is never faked.
Problems in assignment 1 may be fixed and carried forward. If you continue on the credited reference searcher, this assignment marks the new work; an early error is not penalised twice. Weeks 8, 10 and 11 give formative feedback on the resource plan, the smallest cooperative case and the experiment design. That feedback does not add assignment marks; attendance and lab participation count towards the separate tutorial component every week.
Evidence for each criterion#
| Criterion | Evidence to include | What the reader checks |
|---|---|---|
| Assignment and improvement | myAssign, myMigrations, the feasibility matrix and objective | Every order appears once; payload/range filtering comes before efficiency; migrations include insertion positions. |
| Space-time correctness | myNeighbours, phase and interval tests, two priorities and checked full-flight records | Touching intervals are legal, interior overlaps are rejected, waits use the right energy model, and the full task returns home. |
| Feedback and validation | myImprove, the three-level table and one accepted move with before/after events | The candidate is recomputed from the initial world; the explanation connects changed costs to the decision; search termination is stated. |
| Experiments and reproduction | Fixed-case outputs, separate designed-order files, commands and explanation | Comparisons keep the same model; the variant is labelled; limitations and reused code are acknowledged. |
The shared charging queue, geometry, full space-time flight planner and physical checker are provided. Your local state-search exercise demonstrates the state and reservation logic without requiring a second flight engine. Keep its symbolic times separate from the canonical fleet’s seconds and joules. For failure analysis, identify the violated constraint and show how to reproduce it; an incomplete plan has no comparable objective.
A worked evidence example
Teacher example, computed when this site builds. Use the structure to explain your own run. The numbers below do not earn a grade on their own.
Fixed model: all twenty canonical orders, five drones, two FCFS charging pads, full return reserve and a capacity-one corridor. Even the independent plan receives the joint checker.
Scroll the table sideways to read every column.
| Method | Computed J | What the check establishes |
|---|---|---|
| Independent routes | 9402, 11470, 1275860 | 13/20 on time; 0 check issues; method completed |
| Same assignment, coordinated | 9402, 11470, 1275860 | 13/20 on time; 0 check issues; method completed |
| Feedback · 120-candidate limit | 615, 9654, 1275860 | 17/20 on time; 0 check issues; search budget reached |
Example explanation
Independent and coordinated planning tie on this default input. That is an experimental result; it does not establish that the shared corridor never matters. The feedback run changes the assignment and recomputes charging, routes and delivery times from the same starting conditions.
Accepted change: #07: A → C at position 1. Its recomputed objective is (615, 9654, 1275860). Inspect the affected tasks to explain the cause before attributing the improvement to a particular wait or detour.
The result is a valid plan found within a bounded search. A 120-candidate stop establishes neither a local nor a global optimum. A separate 20/20 stored assignment is available in the downloadable reference record, so the bounded run is also not the best known plan.
Reproduce this evidence and prepare your files
First use the Lab buttons or import the computed browser sample and press Run. Then unzip the practice pack and run the teacher example:
node --test strategies.test.mjs wiring.test.mjs
node reference.mjs a2After completing your own functions, run node run.mjs a2. Keep the successful command output, your module and tests, the generated student JSON, and the exported browser comparisons. The local and browser record formats are labelled separately in the guide.
Your local record includes the state exercise, all three planning levels, two priorities, the accepted moves, full resource records and independent checks. Add your separate designed-order input and output.
The spec
The brief poses the problem and leaves room for a response. The spec is the fixed part: what a marker checks. Some lines can be checked mechanically; the rest call for judgement.
- every drone–order pair that cannot fly is excluded before any efficiency comparison
- charging waits enter the evaluation as a shared resource, not as a constant per drone
- two planning priorities are compared and every plan passes the independent validator
- at least one recorded case where a route's wait or detour changed an assignment or an order
- one designed order makes the reference method late or infeasible, and the analysis names the assumption it hits
- the analysis is at most 1,600 English words, excluding code, references and tables
How it is marked
| Criterion | Weight |
|---|---|
| Assignment, local improvement, objective definition | 25% |
| Space-time search, resource constraints, correctness | 30% |
| Route–schedule feedback and integrated validation | 25% |
| Fair experiments, reproduction, personal explanation | 20% |