The vehicle routing problem is the generalization of the well-known traveling salesman problem. This paper considers Multi-Vehicle One-to-One Pickup and Delivery Problem with the vehicle capacity constraints. The objective of the problem is to find a least-cost vehicle route. To solve the problem, a two-phase algorithm is used. The first step is to group the vertices for each future route (clustering). At the second stage, the problem is solved for each group using the Tabu Search method. The method is modified by the idea of the dynamic adaptation. The algorithm is realized in the Python programming language. A number of experiments is carried out. The results of these experiments and their analysis are presented.