600 тысяч долларов, максимально доступное время опытного производства составляет 4500 часов, а максимально доступное машинное время – 700 часов. Исходя из этих сведений, нужно составить такой портфель проектов, который обеспечит максимальную отдачу.
Электронные таблицы, например Excel, могут выполнить подобную «оптимизацию» в случае проблемы небольшого масштаба. В табл. 2.7 показана таблица Excel, предназначенная для отбора проектов в портфель и обеспечивающая максимальную отдачу при отсутствии нарушения какого-либо ограничения. Значение «1» в столбце «Выбран» означает, что данный проект был отобран для включения в портфель, значение «0» – наоборот. Запись в ячейке «Общая стоимость» представляет собой встроенную в Excel функцию SUMPRODUCT, примененную к столбцам «Выбран» и «Стоимость». Аналогичная операция проведена и для ячеек «Время опытного производства» и «Машинное время».
Как только проблема сформулирована, с помощью Excel SOLVER (или эквивалентного модуля в случае другой таблицы) легко рассчитать оптимальный портфель. Очевидно, что значения «Общая стоимость», «Время опытного производства» и «Машинное время» здесь удовлетворяют наложенным ограничениям. Оставшиеся ограничения нуждаются в объяснении. В частности, мы не хотим, чтобы программа пыталась «купить» ресурсы, выбирая «отрицательный проект». Следовательно, значения в столбце «Выбран» не должны превышать 1. И наконец, мы не вправе выполнить только половину проекта, следовательно, значения в столбце «Выбран» должны быть целыми. Три названных ограничения, действующие совместно, приводят к тому, что ячейки в столбце «Выбран» могут принимать два значения: 0 и 1. Другими словами, отбираться могут только целые проекты и не более чем по одному за раз (28).
Возможна ситуация, когда в списке проектов-кандидатов появятся две версии одного проекта: «аварийная» и «нормальная». Чтобы выбрать одну из этих версий, нужно добавить следующее ограничение:
X + Y ≤ 1,
где X и Y – ячейки столбца «Выбран», соответствующие двум версиям одного и того же проекта.
Предположим далее, что согласно политике компании как минимум один проект должен поддерживать новый продукт и как минимум один – текущий продукт. В некоторых ячейках двух крайних правых столбцов таблицы присутствует значение 1, показывающее, поддерживает проект новый или существующий продукт либо не связан с продуктом (например, проект совершенствования производственных процессов). Допустимо добавить ограничения, согласно которым функция SUMPRODUCT столбца «Текущий продукт» и SUMPRODUCT столбца «Новый продукт» со столбцом «Выбран» должны равняться или превышать 1. В предыдущем примере это не изменило бы результат, поскольку проекты, которые поддерживают существующий и новый продукты, уже отобраны. Однако в иной ситуации, если добавить подобные ограничения, в результирующий набор были бы включены другие проекты. Результатом, скорее всего, явилось бы уменьшение общей отдачи при соблюдении политики компании.
В приведенном примере бюджет оказался основным ограничением. Проекты, отобранные в портфель, потребляют