Services like "Uber" and "Lyft" have become widespread in large cities for everyday mobility. This is due to the ease of requesting a ride (you can simply download the mobile app and request a driver on the fly from where you are currently located to your desired destination) and to the cheapness of these services.
Recently, "Uber" and "Lyft" have embraced ride sharing opportunities: a passenger who requests a ride may decide to save a certain amount of money at the price of sharing his/her ride with someone else (which would delay his/her arrival at destination).
For what concerns passengers matching, these services attempt to optimize savings at a global level. But a possible scenario is that a passenger A is matched to passenger B, while he/she would have preferred being matched to passenger C, who, in turn, would have preferred A as ride sharing partner as well.
This introduces the concept of "fairness" in ride sharing: if a particular passenger A has not been matched to his/her top preferred passenger B, this means that passenger B preferred to be matched to some other C, and so on recursively.
Fairness is addressed by issuing the optimum plan (i.e., without considering fair shared trips but only total savings at a global level) and, at the same time, applying a compensation scheme which derives from the fair plan: in this way, if a passenger has to pay a higher fare with the optimum plan with respect to the price which would be fairer, then he/she receives a discount according to his/her savings if the fair plan would have been issued instead.
In this thesis, we compare the optimum and fair ride sharing plans in different scenarios (new requests are matched to empty taxis or to taxis with passengers on board which will have to dynamically change its route) in order to understand the % redistribution of money that is necessary to apply such a compensation scheme, when fares are based on overall distance traveled.