Is there a mathematical technique - ideally linear optimisation - for the following.
I have a volume of liquid that I want to allocate equitably across multiple tanks. The volume added to each tank should be equal until the smallest tank is full or the initial volume is exhausted. Then the remaining tanks should be filled with equal volumes until each tank is filled in order of size or the initial volume is exhausted.
I've looked at water filling (often used in communication channel allocation) and bin packing algorithms.