There are N passengers whose are at places
- number of passengers:
$N$ - number of buses:
$K$ - distance matrix: 2D matrix d, where
$d[i][j]$ = distance($i$ $\rightarrow$ $j$ )$\forall i , j$ - list of buses' capacity: 1D matrix q, where
$q[k]$ is the number capacity of bus$k$
- Route plan for
$K$ buses - Total cost
- place
$0$ : depot - places
$1$ $\rightarrow$ $N$ : pickup places - places
$N+1$ $\rightarrow$ $2N$ : destination places
In this project, I use several algorithms to solve the problem:
- Branch and bound algorithm (Backtracking)
- Constraint programming (using ortools)
- Greedy search
- Uniform cost search
- Beam search
- Metaheuristic Hill Climbing (Hill Climbing)
- Randomized travel algorithm
- Genetic algorithm
I use dataset 609 cities of Vietnam. Hence, there are 304 pickup points and 304 destination points, each of them correspond to a passenger.
The dataset contains the name, latitude, longitude of 609 cities.