route and/or packing optimization algorithm
This specific problem seems to be an variation of minimizing the makespan in the job shop scheduling problem. Essentially, your couriers are modeled as 'workers' that need to process certain 'tasks', which are the delivery requests. We look for an assignment of tasks to workers that minimizes the time until the last worker is finished, the makespan of the assignment. 

The current problem is slightly different from the basic version, as it assumes all workers are equally skilled, but here some workers can process faster, as they can carry more items.

The job shop scheduling problem is an NP-complete problem, which means that we do not expect to solve this problem exactly in polynomial time.

One option is to model this problem and various extensions as an (mixed) integer linear program, but this generally means you either have an exponential time algorithm or have no guarantees over the quality of your result. 

A better idea for this specific problem is to use an approximation algorithm for the job shop scheduling problem. These approximation algorithms run in polynomial time and although they do not guarantee an optimal solution, they can give you an upper bound on the quality of the solution (e.g. The solution given will be at most twice the size of the optimal solution). There is extensive literature about this problem, so where to start mostly depends on the type of solution you're looking for.