MaxOng99 / ECS-Ridesharing

0 stars 0 forks source link

Iterative Voting algorithm needs checking #3

Closed MaxOng99 closed 3 years ago

MaxOng99 commented 3 years ago

https://github.com/MaxOng99/ECS-Ridesharing/blob/8e7ad8678ffd6624b27178c8723cd5f753b651a0/src/algorithms/voting.py#L52-L103

The algorithm can be briefly described as follows:

  1. Vote for the next location.
  2. If location is different from the previous iteration, expand the Solution.
  3. Else if location is the same as the previous iteration, increase the waiting time at the current location by a set amount of time (Currently 50 units). The waiting time component should be discussed.
  4. After performing step 2/3, find the set of affected Passengers (Passengers that board or disembark after each voting iteration)

The decision function to either board or disembark is described in the following snippet:

https://github.com/MaxOng99/ECS-Ridesharing/blob/3f44431385297ce491851d16d359efa455b84033/src/models/passenger.py#L125-L142

VahidYazdan commented 3 years ago

Good, for late arrival and departure, the passenger act normally (i.e., as if it was on time). The same for early arrival. The only time they may decide to not act normally is "early departure" and for this using 1-\beta seems to be relevant . Good, then we can analyse if those with large \beta will miss lots of busses and as a result arrive too late. If we have a heterogeneous set of agents with different values for the arrival and departure beta, we can show interesting results. Think of riders with large departure beta but small arrival beta (as being too plucky for getting on board and also too sensitive to arriving late).