A Julia + JuMP mixed-integer linear program schedules a greyhound’s weekly walks to maximize novelty and off-leash runs while minimizing pavement mileage.
Key Takeaways
Model uses a binary matrix x[day, walk, activity] plus used_activity[a] to enforce one activity per walk, daily distance caps, and no repeated activity in consecutive days.
Objective balances three weighted terms: reward unique activities, reward off-leash run areas, penalize total round-trip miles.
Solver finds 460,800 optimal solutions out of 22.8 trillion possible schedules; Lincoln Park dominates due to proximity and off-leash access.
Real-world factors excluded: weather, enemy dogs, field occupancy, and the dog’s own veto behavior – each addition compounds model complexity significantly.
Author compares optimal output to actual schedule to surface constraint violations, not to automate decisions.
Hacker News Comment Review
Discussion centers on model scope: the hardest engineering judgment is deciding what to leave out, not what to include – Bebop’s freeze-and-veto behavior is the cited omission.
No broader technical debate on Julia, JuMP solver choice, or MILP formulation emerged from the thread.
Notable Comments
@jdw64: “the important question is often not what to model, but what to exclude” – flags veto behavior as the telling omission.