У меня есть счета с положительным и отрицательным балансом и отношения залога между некоторыми. Залог дает счетам с отрицательным балансом право на получение денег с залогового счета для покрытия их потери.
Я хочу найти оптимальный порядок использования этого права на получение денег.
1 2 3
A 1000 | -1000 -500 -500
B 1000 | -1000
В данном примере счета A и B имеют положительное сальдо 1000, а счета 1,2,3 имеют приоритет (1> 2> 3). Я хочу покрыть как можно больше счетов, распределив деньги А и Б на 1,2,3, соблюдая при этом приоритет.
В этом конкретном примере выбор A1 в качестве моей первой пары приведет к покрытию только 1000, но если я выберу B1, A2, A3, у меня будет оптимальное решение для покрытия 2000.
Как называется такая проблема оптимизации и каковы алгоритмы ее решения?