Постановка задачи:
Есть n альтернатив (X1, X2, ... ,Xn) — ну например проекты, на которые планируется потратить бюджет организации.
Каждая альтернатива имеет свою стоимость — c (cost) и вес (приоритет, прибыльность) — b (benefit).
Есть бюджет — Sum — который и пойдет на финансирование этих альтернатив. Но он как правило меньше суммарной стоимости всех альтернатив. Отсюда и задача:
c1X1 + c2X2 + ... + ciXi + ... + cnXn <= Sum
b1X1 + b2X2 + ... + biXi + ... + bnXn -> Max
Xi = 0 или Xi = 1
Т.е. надо максимизировать прибыль, не выходя за рамки бюджета. Такую задачу и Excel и комбинаторика может решить. Но нужно предусмотреть такие ограничения еще:
1. Xi — обязательно должна быть профинансирована.
2. Xi, Xj, ... , Xk — обязательно должны быть профинансированы.
3. Xm — обязательно должна быть НЕ профинансирована.
4. Xm, Xs, ... , Xf — обязательно должны быть НЕ профинансированы.
5. Скажем 2 и 4 сразу.
6. И условия группирования альтернатив — скажем объединяем альтернативы Xm, Xs, ... , Xf в группу и говорим, что только одна из альтернатив этой группы должна быть профинансирована.