Powered by Google OR-Tools
Google OR-Tools is one of the most powerful optimization frameworks ever built for solving complex, real-world problems at scale. Trusted by global enterprises, it provides a robust, open-source foundation for advanced decision-making and optimization.
-
Constraint Programming for modeling complex operational rules and dependencies
-
Linear & Mixed-Integer Optimization for mathematically optimal solutions
-
Advanced Routing Algorithms for Vehicle Routing and Traveling Salesman Problems
-
Bin Packing & Knapsack Solvers for efficient capacity utilization
-
Graph Optimization Algorithms including shortest paths, min-cost flow, and max-flow
-
Wrappers for Commercial & Open-Source Solvers, ensuring flexibility and performance
Models
- Vehicle Route Problem basic (VRP)
- Assignment Min Cost Flow
- Capacity Vehicle Route Problem with Load and Unload Demand (CVRPLU)
- Capacity Vehicle Route Problem Multiple Time Window (CVRPMTW)
- Capacity Vehicle Route Problem Single Time Window (CVRPTW)
- Capacity Vehicle Route Problem (CVRP)
- Gateway Vehicle Route Problem Time Window (GVRPTW)
- Pickup and Delivery demand Vehicle Route Problem (PADVRP)
- Reload Capacity Vehicle Route Problem Time Window (RCVRPTW)
- Vehicle Route Problem Multiple Depot (VRPMD)
- Vehicle Route Problem with Start End Point (VRPSE)
- Vehicle Route Problem only One Way (VRPOW)
- Vehicle Route Problem with Parallel Cheapest Insertion (Better result)
- Vehicle Route Problem Researching
- Vehicle Route Problem with Schedule
- Several Solution
Constraints and Parameters:
- Pickup demand: The demand is needed to pick from the hub to the depot.
- Delivery demand: The demand is needed to deliver from the depot to the hub.
- A time window of hub: Minimum and maximum time allowed for the vehicle can arrive and check out at the hub.
- A time window of depot: Minimum and maximum time allowed for the vehicle can be outbound and inbound.
- The capacity of the vehicle: Maximum demand, the vehicle can be delivered.
- Min service time: The additional time to the hub with delivery or pickup demand.
- Break time: Waiting time of the vehicle.
- Ferry time: Waiting time of vehicle at the ferry (the Vietnam SouthWest).
- Lift time: Maximum time of hub to get demand from the vehicle or transfer demand from hub to the vehicle. (Processing time at the hub).
- Max time per vehicle: Maximum of the route can wait or transit.
- Return time: Return time of vehicle on the route.
- Gateway-dock: The number of vehicles that can be outbound at the depot at the same time.
- Max Distance: Maximum distance per route.
- Multiple depots: The vehicles will return to many fixed endpoints
- Delivery before pickup: The special parameters, can help vehicles wait a time before returning the route for picking.
- No return: The parameter will restrict the vehicles return the depots.
Data Structure
1. Data Input:
- Stop point data: All hub location information such as delivery and pickup demand and minimum and maximum allowable times for vehicles to arrive. The first index is the depot.
- Vehicle Information: All vehicle information such as the number of vehicles and the max capacity of vehicles.
- Distance Matrix: Distance traveling from another hub to another hub.
- Duration Matrix: Duration traveling from another hub to another hub.
Data Matrix
I suggest a data matrix (distance, duration matrix) by Google Distance Matrix Service
2. Data Output:
We can redesign the output data format at the print_solution function in the code.