Orphanage Inspection Route Optimization

A route optimization project for orphanage inspection activities across Surabaya, Sidoarjo, and Gresik using Ant Colony Optimization.

Cover image for Orphanage Inspection Route 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 convergence plot for cluster 0: best route distance drops from 52.06 km to 45.95 km, with the final improvement found at iteration 3,292

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:

ClusterOptimal distanceRoute timeIterations
045.95 km03:55:084,189
115.56 km03:18:4013,329
233.87 km05:10:387,771
336.04 km04:43:147,854
421.92 km03:56:1710,383
All153.34 km
Public Google Colab notebook for orphanage inspection route optimization with Python and Folium route visualization code

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.

All projects.

View index