I am learning pick-up drop-off problems (variant of vehicle routing problems) with time windows. My problem is as follows: There are orders that need to to shipped from pickup locations to delivery addresses. The shipper want to minimize the number of vehicles and the miles traveled. The trucks can pickup from multiple locations and deliver at multiple addresses as well. In one route there can be a mix of sequence of pickup and delivery but these pickup and delivery will have to happen within a time window for each location. the first task on a route will be a pickup and the last task will be a delivery. One route will be covered by only one truck. The trucks do not have to be originated from a depot and do not have to go back to the depot after last delivery. Right now, I am only considering homogeneous capacity of the fleet.
My understanding is that this is going to be a NP-hard problem and I will need to use some type of metaheuristic to solve it. But I would like to write down a compact mathematical formulation of the problem and use GUROBI to solve the problem with a small dataset. Is there any recent papers, books, or any other documents or online materials you can direct me to that might help me formulate the problem. If you are experienced in vehicle routing, any comments would be very helpful.