0

There are 10 bus routes in the city. 50 trips by the buses need to be made. We have 6 buses. We know that at any given point, no more than 6 trips run simultaneously. We need to allocate the 6 buses to the 50 trips such that utilization of the buses is maximized. We want to minimize the idle time of buses.

We want to identify the bus that needs to be deployed for each trip. Can this be modeled as a Linear/Integer/Mixed Integer-Linear Problem? If so, how do we model the above problem?

If not, what technique needs to be used?

Regards

Yash
  • 946
  • 1
  • 13
  • 28
  • Do the 50 trips run on all 10 routes evenly, i.e. 5 trips per route? – curls Oct 27 '15 at 05:24
  • Yes it can be modeled, but naive models tend to perform badly and not scale well as the problem size increases. The most common issue is what is called sub-tour elimination, i.e. the solver finds a circular route (like A-.>B->C->A) which may be invalid as it doesn't include a start or end point (e.g. bus garage). A common approach is to solve the problem, then look for these invalid sub-tours, add a constraint to prevent them and re-solve. The best solver around at the moment is Concorde (see http://www.math.uwaterloo.ca/tsp/concorde.html) and it is worth reading around the problem a lot more. – TimChippingtonDerrick Oct 27 '15 at 13:38
  • Which parameters are fixed and which are variable? Can you vary the start/end times and locations of the trips? Do you have other constraints like driving hours of the drivers, maintenance intervals of the busses? What is your cost function? – Axel Kemper Oct 27 '15 at 19:38
  • Trip times are fixed. There are maintenance windows of 2-3 hours for each bus every day for health check. – Yash Oct 28 '15 at 07:50

1 Answers1

2

This is called the Vehicle Routing Problem (VRP), probably with time windows (VRPTW). In normal VRPTW, a customer has 1 location (and a service duration). In this VRPTW, a bustrip (= the customer in original VRPTW) has a different arrival and departure point (and a long service duration), so you're basically planning the routes between the busstrips (= customers in original VRPTW).

There are several ways to solve this, see for example my video of solving VRPTW with an open source metaheuristics framework. IIRC, the academic Roadef Challenge of 2010 or 2008 had such a bus scheduling problem. You'll probably find a good list of papers around that to detail which algo's work well.

Geoffrey De Smet
  • 26,223
  • 11
  • 73
  • 120