Currently the TransportCostMatrix is used during the holds queue process to find the least cost branch when filling a hold. For each request we find the cheapest branch option (or one of them if they are equal) then check the pool of items from that branch to see if one of them can satisfy the hold. If we can't fill from the least cost branch, then we move on to any other branch. It would improve the situation for libraries if we went through all branches ordered by the cost transport matrix, and optionally randomized when costs are equal.
*** This bug has been marked as a duplicate of bug 33796 ***