04 - Vehicle Routing problem - MM

04 - Vehicle Routing problem - MM

The Capacitated Vehicle Routing Problem - CVRP

In a system, we identify 1 depot and many clients. Given k trucks (or delivery vehicle in general), we want to assign every client to a track and then define a cycle route from and to the depot, that the truck has to follow in order to deliver to every client, minimizing the total cost.

04 - Vehicle Routing problem - MM 2024-12-23 17.27.34.excalidraw.png
%%🖋 Edit in Excalidraw%%

for example, given the situation above (imaiginig that all points are nods of a complete graph), we wnat to get a solution like:

04 - Vehicle Routing problem - MM 2024-12-23 17.29.01.excalidraw.png
%%🖋 Edit in Excalidraw%%

In the graph above, each color represent a transportation unit.

What we want to achieve in the Capacitated Vehicle Routing Problem, is to:

Overview of CVRP

As we will see, the problem is formulated as a binary linear programming problem.

Since the CVRP is a quite difficult problem to both formulate and solve, the common approach is to first work on an simpler problem, known as the Traveling Salesman Problem

Before continuining reading this note, it is higly suggested to read the Traveling Salesman Problem, if you're not yet familiar with it and with the methods to solve it.

Characteristics of CVRP

CVRP formulations

We will give several formulations of the Capacitated Vehicle Routing Problem.

Conceptually we could define the problem in 2 parts:

CVRP formulation in terms of linear generalised assignment problem

We first give a formulation of a problem that would allow to assign clients to a route efficiently.

Let's first define the variables and parameters needed in this formulation.

Paramters:

Decision Variable:
yik is the decision variable. It's a binary variable:

yik={1,if client i is visited by truck k0,otherwise

Objective function:

kf(yk)

where f(yk) is the cost of an optimal [[Traveling Salesman Problem]] tour for all clients served by truck k. We are not able to provide an explicit formulation of the objective function without solving the problem first, since it requires the clients to be assigned already and tours to have been made.

The formulation of the problem would therefore become:

minykkf(yk)

subject to:

Capacity constraint: iaiyikCk,k=1,...,nDegree constraint: kyik{K,i=0Depot1,i=1,...,nClientsyik={0,1},i=0,...n,k=1,...,K

Fisher & Jaikumar's Heuristic

To solve the problem in #CVRP formulation in terms of linear generalised assignment problem that we don't know how to write the objective function explicitly, we can try to brute force it to be a linear function, making the problem the following:

minykkdikyik

subject to:

Capacity constraint: iaiyikCk,k=1,...,nDegree constraint: kyik{K,i=0Depot1,i=1,...,nClientsyik={0,1},i=0,...n,k=1,...,K

where the dik coefficient are estimated as
❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗ I don't get how they are estimated
❗❗❗❗❗❗❗❗❗❗❗❗

CVRP Basic formulation

A basic formulation of the CVRP is the following:

miniVjVcijxij

Subject to:

Clients degree constraints: {iVxij=1jV{0}entering node ijVxij=1iV{0}exiting node iDepot degree constraints: {iVxi0=Kenterint depot jVx0j=0exiting depot

❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗ The problem formulation is missing some conditions

CVRP Motzin Tucker Ziplin (MTZ) formulation

An other useful formulation of the Vehicle Routing Problem is the Motzin Tucker Ziplin formulation, also known as the MTZ formulation.

minx,uiVjVcijxij

Subject to:

Clients degree constraints: {iVxij=1jV{0}entering node ijVxij=1iV{0}exiting node iDepot degree constraints: {iVxi0=Kenterint depot jVx0j=Kexiting depotSubtour breaking constraint: ujui+ajC(1xij)i0,j0aiuiCiVxij{0,1}

where:

Clarke & Wright savings heuristic

Formula for savings:

sij=ci0+c0jciji,j=1,...,nij

❗❗❗❗❗❗❗❗❗❗❗❗
❗❗❗ COMPLETARE ❗❗❗
❗❗❗❗❗❗❗❗❗❗❗❗