I have a transshipment problem of assigning supply to demand. Supply comes from multiple suppliers with different capacities. Demand also comes from multiple demands of different sizes. Assigning a demand to a supply has a cost. Each demand has indicated its preferences to suppliers by saying the cost. This seems like a min-cost flow network that I am trying to solve by successive shortest path algorithm. The algorithm gives me the minimum cost assignment, but it also gives partial flows to a demand. This means a demand of 5 units is likely to receive 3 from supplier 1 and 2 from supplier 2. This is problematic for me as my demand is indivisible and I need just one exact supplier per demand. In fact, under the hood, demand is an indivisible computation task and supply is a computation unit that can host that task. My task cannot be partly sent to two or more computation units.
How can I achieve this min cost assignment, constraint to not having partial flows?