diff --git a/Algo/CIMO/cimo.md b/Algo/CIMO/cimo.md new file mode 100644 index 0000000..3d7376b --- /dev/null +++ b/Algo/CIMO/cimo.md @@ -0,0 +1,62 @@ +# Mobility and Smart Cities + +## CIMO - Ordered Calculator of Multimodal Itineraries + +### Presentation + +CIMO is an algorithm designed to efficiently calculate multimodal itineraries for real trans-territories based on dynamic programming. The algorithm takes into account the different modes of transportation available, such as buses, trains, and subways, and considers the time window of transportation demand, ensuring that itineraries are generated within a reasonable time frame. + +CIMO has several optimizations to improve its efficiency and accuracy, and has been tested in three different versions to ensure that it can respond to travelers' demands in an envisaged time. + +Overall, CIMO algoritm provides an efficient solution to find between multiple mode a of transportation in real trans-territories, and has the potential to greatly improve the travel experience for commuters, students, and shoppers alike. + +### Problem + +The CIMO algorithm is a multi-constraints and multi-objectives problem. + +Objectives: + +- Take into account the departure station and the arrival station +- Take into account the departure at the earliest and the arrival at the latest, which is the time window of the transport demand. +- Minimize the number of modal transfers: which amounts to minimize the number of quadruplets in the itinerary +- Minimize the travel time tt +- Minimize the time in Transport even the effective time tet +- Minimize the sum of waiting times in correspondences tac +- Satisfaction of all the constraints + +Constraints: + +- Coherence of time windows and travel time with normalization +- Itinerary constraints +- Stop position dependencies respected between different modes of transportation +- Capacity constraints of different modes of transportation +- Cost constraints of different modes of transportation +- Safety constraints of different modes of transportation + +### Conception + +The CIMO algorithm is a combination of exact, heuristic, and metaheuristic methods. The exact methods include the branch and bound method, the method of plane cuts (Cutting-Plane), the (Branch and Cut) method, and the method of generation of columns. The combination of these methods allows CIMO to provide a feasible solution of good quality that is also rapid and more complete and complex than a simple heuristic algorithm. + +CIMO generates a tree with all the possible stops to take and evaluates the best path. The cut and price method is implemented to limit the resources and time needed to solve the problem. This allows CIMO to efficiently calculate the optimal multimodal itinerary for the traveler, taking into account various criteria such as travel time, cost, and convenience. By using a combination of these methods, CIMO can provide a high-quality solution that is both efficient and effective. + +#### Inputs + +The CIMO algorithm uses various types of data to calculate the optimal multimodal itinerary for the traveler. These include static internal data such as lines, stations, and timetables, as well as external data from various transport networks such as illicom, Optymo, and CTPM. + +To calculate the optimal multimodal itinerary for the traveler, one must input the origin and destination of the traveler, the time window for departure and arrival, and any other constraints or preferences. + +### Examples + +#### Graphical representation of a problem with 9 stations and 3 transport networks + +!["Graphical representation of a problem with 9 stations and 3 transport networks"](https://media.discordapp.net/attachments/715467633851498566/1160909790554366052/image.png?ex=6536607e&is=6523eb7e&hm=6541fc3facc8c63b1eec4563bf286441e37f257dc3308c424893150104e609f1&=) + +#### Exploration of all the possibilities from a given origin and destination + +|!["Exploration of all the possibilities from a given origin and destination"](https://media.discordapp.net/attachments/715467633851498566/1160912895249485844/image.png?ex=65366362&is=6523ee62&hm=7a4b6d4a8016c705987782b065d728045d025bb704415825ab6e8963c772c62b&=) | +|:--:| +| *Exploration of all the possibilities from a given origin and destination* | + +|!["Exploration of all the possibilities from a given origin and destination once cuts are applied"](https://media.discordapp.net/attachments/715467633851498566/1160913040364019762/image.png?ex=65366385&is=6523ee85&hm=238b555b002ac43dcf86eac0bf316cf5faac97ac1c7556f20750c5cc54bbbff3&=) | +|:--:| +| *Exploration of all the possibilities from a given origin and destination with cuts* | \ No newline at end of file diff --git a/Algo/CIMO/cimo.pdf b/Algo/CIMO/cimo.pdf new file mode 100644 index 0000000..3f38629 Binary files /dev/null and b/Algo/CIMO/cimo.pdf differ diff --git a/Algo/Carpooling/carpooling.md b/Algo/Carpooling/carpooling.md new file mode 100644 index 0000000..fc517c3 --- /dev/null +++ b/Algo/Carpooling/carpooling.md @@ -0,0 +1,72 @@ +# Mobility and Smart Cities + +## Carpooling + +### Presentation + +Dynamic carpooling is a concept that has been gaining popularity in recent years as a solution to the problems of traffic congestion, pollution, and high fuel costs. It involves the sharing of private vehicles by multiple passengers who are traveling in the same direction, thereby reducing the number of cars on the road and the associated negative impacts. + +The traditional carpooling model involves a group of people who agree to share a ride to work or other destinations on a regular basis. However, this model has limitations, such as the need for a fixed schedule and route, and the difficulty of finding compatible carpool partners. + +Dynamic carpooling, on the other hand, is a more flexible and efficient model that allows users to find and join carpool trips in real-time, based on their current location and destination. It also allows for the possibility of transhipment, which means changing vehicles during a trip to reach a final destination. + +### Problem + +Dynamic Carpooling Intra-Modal with Transhipment is a multi-constraints and multi-objectives problem. + +Objectives: + +- Maximization of contractualized requests number +- Maximization of Occupancy Rate +- Minimization of vehicles number (VC) + +Constraints: + +- Normalization constraint of time windows +- Capacity constraint +- Constraint of modal shift’s authorization: role variability (only driver, only passenger, rather driver, rather passenger) +- Identification constraint of a return itinerary +- Dynamic constraint of deposited vehicle’s recuperation +- Constraints of inclusion between organization’s trips + +### Conception + +The Carpooling algorithm allows the user to share a ride with the owner of a car. It can take into account the number of seats available as well as the choices of path to take (for example, with detours) and to switch from one car to another. Therefore it must manage the trip, pick up locations as well as the delivery and the time constraints of each user. + +The algorithm is based on a combination of normalization of itinerary/trip/journey , local validation of time windows , and propagation of time windows and trip generation . The algorithm aims to match potential carpoolers based on their origin, destination, and time windows, while also taking into account the constraints of the system, such as the maximum detour time and the maximum number of passengers per vehicle. The algorithm is designed to be scalable and efficient, and it has been tested and evaluated using real-world data to demonstrate its effectiveness. + +#### Inputs + +- Trip origin and destination: The system needs to know the starting and ending points of each trip. +- Time windows: The system needs to know the time windows during which each trip is available. +- Vehicle capacity: The system needs to know the maximum number of passengers that can be accommodated in each vehicle. +- Maximum detour time: The system needs to know the maximum amount of time that a driver is willing to deviate from their original route to pick up or drop off a passenger. +- Geographic data: The system uses geographic data from OpenStreetMap to calculate the distances and travel times between different locations. + +#### Outputs + +The system generates the following output: + +- Matched trips: The system generates a list of matched trips, indicating which trips have been successfully matched with other trips based on their origin, destination, and time windows. + +- Matched passengers: The system generates a list of matched passengers, indicating which passengers have been successfully matched with other drivers based on their trip requirements and the constraints of the system. + +- Routing information: The system generates routing information for each matched trip, indicating the optimal route that the driver should take to pick up and drop off passengers. + +- Cost information: The system generates cost information for each matched trip, indicating the cost savings that each participant will achieve by carpooling instead of driving alone. + +### Examples + +#### With Detours Without Transhipment + +!["1 - With Detours Without Transhipment"](https://media.discordapp.net/attachments/715467633851498566/1160961998356480050/image.png?ex=6536911e&is=65241c1e&hm=1cc44bdf704eb59f8a6181edaf9e113a64b5acb71a11c7acdbc798453f4c440c&=) + +#### With transhipment + +|!["With transhipment"](https://media.discordapp.net/attachments/715467633851498566/1160962420769046528/image.png?ex=65369182&is=65241c82&hm=b261c0ede2ae381316164e88b8f2c54de8768a9f061b9d9a57a706c23c22e61d&=) | +|:--:| +| *With transhipment* | + +|!["With modal shift and return itinerary"](https://media.discordapp.net/attachments/715467633851498566/1160962891860693033/image.png?ex=653691f3&is=65241cf3&hm=76bc13acacad7495552a04b7aba276881df531ac3c4e09f0cb815e69b8f1f1f4&=) | +|:--:| +| *2- With modal shift and return itinerary* | \ No newline at end of file diff --git a/Algo/Carpooling/carpooling.pdf b/Algo/Carpooling/carpooling.pdf new file mode 100644 index 0000000..498b47e Binary files /dev/null and b/Algo/Carpooling/carpooling.pdf differ