Decision Support Systems / 2025 · 2 min read
Orphanage Inspection Route Optimization
A route optimization project for orphanage inspection activities across Surabaya, Sidoarjo, and Gresik using Ant Colony Optimization.
- Role
- Optimization practitioner
- Outcome
- 5 routes · 153.34 km total
- Status
- Completed / 2025
- Stack
- Python · Ant Colony Optimization · Heuristic Search · Route Visualization · Constraint Modeling
Context
Inspection routes across Surabaya, Sidoarjo, and Gresik require planning around distance, working hours, and service time at each location.
Problem
The routing problem needed to respect practical constraints: inspection activities should fit within a 09:00-17:00 window or a maximum route duration of around 9 hours, while accounting for service time per location.
My Role
I worked on constraint interpretation, Ant Colony Optimization implementation, route visualization, and evaluation of route efficiency.
Evidence

Notebook output: ACO convergence for the largest cluster — the best route drops from 52.06 km to 45.95 km, with the winning move found deep in the search at iteration 3,292.
Per-cluster results as printed by the optimization run:
| Cluster | Optimal distance | Route time | Iterations |
|---|---|---|---|
| 0 | 45.95 km | 03:55:08 | 4,189 |
| 1 | 15.56 km | 03:18:40 | 13,329 |
| 2 | 33.87 km | 05:10:38 | 7,771 |
| 3 | 36.04 km | 04:43:14 | 7,854 |
| 4 | 21.92 km | 03:56:17 | 10,383 |
| All | 153.34 km | — | — |

The public Colab notebook with the Python route-visualization workflow used for the ACO route planning work.
Approach
- Modeled locations, travel relationships, service time, and route duration constraints.
- Applied Ant Colony Optimization as a heuristic search method.
- Visualized route candidates and iterative convergence behavior.
- Compared route feasibility against the operational time window.
Key Decisions
The project treated the constraints as part of the system, not as afterthoughts. This made the output easier to discuss as an operational planning problem rather than only an algorithm exercise.
Result
The orphanages were grouped into five clusters, and ACO produced a feasible route for every cluster — 153.34 km combined, each route fitting the 09:00-17:00 working window with per-location service time included (route times range from 3h18m to 5h10m). The convergence behavior is honest about how heuristics work in practice: two clusters kept improving deep into the search (cluster 0 found its best route at iteration 3,292), while three settled on their first good solution immediately.
What I’d Improve
I would add scenario comparisons for different vehicle counts, buffer time assumptions, and route starting points.