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

  1. Vehicle Route Problem basic (VRP)
  2. Assignment Min Cost Flow
  3. Capacity Vehicle Route Problem with Load and Unload Demand (CVRPLU)
  4. Capacity Vehicle Route Problem Multiple Time Window (CVRPMTW)
  5. Capacity Vehicle Route Problem Single Time Window (CVRPTW)
  6. Capacity Vehicle Route Problem (CVRP)
  7. Gateway Vehicle Route Problem Time Window (GVRPTW)
  8. Pickup and Delivery demand Vehicle Route Problem (PADVRP)
  9. Reload Capacity Vehicle Route Problem Time Window (RCVRPTW)
  10. Vehicle Route Problem Multiple Depot (VRPMD)
  11. Vehicle Route Problem with Start End Point (VRPSE)
  12. Vehicle Route Problem only One Way (VRPOW)
  13. Vehicle Route Problem with Parallel Cheapest Insertion (Better result)
  14. Vehicle Route Problem Researching
  15. Vehicle Route Problem with Schedule
  16. Several Solution

 Constraints and Parameters:

 

  1. Pickup demand: The demand is needed to pick from the hub to the depot.
  2. Delivery demand: The demand is needed to deliver from the depot to the hub.
  3. A time window of hub: Minimum and maximum time allowed for the vehicle can arrive and check out at the hub.
  4. A time window of depot: Minimum and maximum time allowed for the vehicle can be outbound and inbound.
  5. The capacity of the vehicle: Maximum demand, the vehicle can be delivered.
  6. Min service time: The additional time to the hub with delivery or pickup demand.
  7. Break time: Waiting time of the vehicle.
  8. Ferry time: Waiting time of vehicle at the ferry (the Vietnam SouthWest).
  9. 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).
  10. Max time per vehicle: Maximum of the route can wait or transit.
  11. Return time: Return time of vehicle on the route.
  12. Gateway-dock: The number of vehicles that can be outbound at the depot at the same time.
  13. Max Distance: Maximum distance per route.
  14. Multiple depots: The vehicles will return to many fixed endpoints
  15. Delivery before pickup: The special parameters, can help vehicles wait a time before returning the route for picking.
  16. 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

https://developers.google.com/maps/documentation/javascript/examples/distance-matrix

2. Data Output:

We can redesign the output data format at the print_solution function in the code.