I am working on a vehicle routing problem with or-tools.
Is it possible to partially fulfill a demand? I know it is possible to drop nodes with the disjunction constraints. But in this case, a node is either visited, or not. I would like to allow a node to be visited, with the possibility to deliver only a fraction of its demand, if it is profitable. For example, for a given customer with demand $2$, there might not be enough resources (vehicles/capacity) to complete its delivery, but there may be enough to deliver $1$ unit, and in this case the customer would be more happy than without any visit at all.
Another way of saying this is that I would like to maximize the quantity that is delivered, while minimizing transportation costs.
One option would be to duplicate nodes, each node having a given fraction of the demand. But this will quickly lead to very big networks and I don't think it is a good idea. Also, determining the values of the fractions may not be simple. The ideal fraction would be "whatever spare space there is in the truck," but this is not straighforward to compute before hand.
Is this possible with or-tools ?