4. Оптимизационное моделирование: этот «свежевыжатый апельсиновый сок» не смешает себя сам
Недавно Business Week опубликовала статью, посвященную новым разработкам Coca-Cola. С помощью большой аналитической модели компания пытается определить, как смешать свежий апельсиновый сок разных сортов и создать идеальный «продукт-не-из-концентрата».
Я обсуждал статью с коллегами, и один из них посетовал, что компании, мол, не пришлось бы напрягаться, имей она в своем распоряжении модель искусственного интеллекта.
На мой взгляд, он был неправ. Да, Coca-Cola пользуется не моделью искусственного интеллекта, а оптимизационной моделью. Давайте разберемся, в чем же разница.
Модель искусственного интеллекта предсказывает результаты, основываясь на вводных данных. Но задача Coca-Cola в данном случае другая. Ей не нужно знать, что получится, если смешать сок А и сок В. Ей принципиально понять, какие соки из А, В, С, D и т. д. следует закупать и в каких пропорциях смешивать. На основе анализа данных и исходных условий (в том числе имеющегося инвентаря, спроса, характеристик и т. д.) Coca-Cola должна решить, как именно смешать разные по своим свойствам соки (к примеру, один сок слишком сладкий, а другой, наоборот, недостаточно), чтобы добиться «правильного» вкуса по минимальной стоимости и с максимальной прибылью.
В этих действиях нет ничего, что можно было бы предсказать. Модель создается для изменения будущего. Оптимизационное моделирование – это аналитическое арминианство в сравнении с кальвинизмом искусственного интеллекта.
Компании любого профиля используют оптимизационные модели каждый день, чтобы найти ответы на вопросы типа:
• как составить расписание для сотрудников колл-центра, чтобы оно соответствовало их отпускным запросам, сбалансировало переработки и исключало убийственные круглосуточные дежурства, складывающиеся из нескольких смен подряд для каждого сотрудника?
• Какие возможности бурения нефтяных скважин использовать для получения максимального дохода, держа при этом под контролем все риски?
• Когда следует делать новые заказы в Китае и как их доставлять, чтобы минимизировать стоимость и соответствовать ожидаемому спросу?
Оптимизация – это искусство математической формулировки бизнес-задач, а затем и поиск лучшего решения. И, как отмечено в главе 1, целью оптимизации всегда является «максимизация» или «минимизация», где лучшее решение всегда означает что-то самое большое или самое маленькое: самая низкая цена, самая высокая прибыль или хотя бы минимальная вероятность оказаться в тюрьме.
Самая распространенная и понятная форма математической оптимизации – это линейное программирование, секретная разработка советских инженеров конца 1930-х годов, ставшая популярной в ходе Второй мировой войны. Линейное программирование использовалось для планирования транспортировки и распределения ресурсов с учетом минимизации стоимости и рисков и максимизации поражения противника.
В этой главе я подробно расскажу о линейной части линейного программирования. Кстати, слово «программирование» в данном словосочетании является пережитком военной терминологии того времени и не имеет ничего общего с компьютерным программированием. Просто не обращайте на него внимания.
В этой главе рассказывается о линейной, целочисленной и немного о нелинейной оптимизации. Основная цель – сформулировать задачу бизнеса на понятном компьютеру языке. Также я уделю много внимания стандартным промышленным методам оптимизации, встроенным в «Поиск решения» Excel, и тому, как эта надстройка разбирается с вышеупомянутыми проблемами и выдает лучшие решения.