Homework 1 - Problem 2: package delivery

You are running a package delivery service in a country where there are a set of cities $V$ connected by a set of two-way roads $E$ (each road $(i,j) \in E$ connects city $i$ with city $j$). Each road takes one time step to traverse. You receive a set of orders $R$, where each order $(i,j) \in R$ requests that a package at city $i$ needs to be delivered to city $j$. You have $k$ delivery trucks which are initially all in the same city $s \in V$. At each time step, the trucks move (simultaneously) along any single road, traveling from the current city to an adjacent one. Trucks may also opt to not move in a given time step. At a city, a truck can either pick up or drop off any number of packages (which takes no time); note that a truck is also allowed to temporarily drop off packages at non-destination cities. Trucks have unlimited capacity, and can take multiple (or zero) packages. Your goal is to minimize the number of time steps it takes before all packages are delivered to their respective destination cities.
* Required