Каждый день мы решаем десятки задач по оптимизации: как составить маршрут, чтобы успеть в три разных места, или как распределить бюджет на неделю, чтобы хватило на все необходимое. В бизнесе, инженерии и науке такие решения принимаются не на основе интуиции, а с помощью точных математических методов. Кажется, что это сложно и требует специального ПО, но мощный инструмент для этого уже встроен в ваш Microsoft Excel. Речь идет о надстройке «Поиск решения» (Solver), которая превращает обычную таблицу в настоящую аналитическую лабораторию. В этом руководстве мы пройдем полный путь: от теоретических основ и активации инструмента до решения двух практических задач — классической производственной и нетипичной экологической, — а также научимся глубоко анализировать полученные результаты.
Глава 1. Активация и подготовка рабочего пространства
Прежде чем погружаться в построение моделей, нужно убедиться, что наш главный инструмент готов к работе. По умолчанию надстройка «Поиск решения» в Excel отключена, но активировать ее можно всего за несколько кликов. Эта инструкция универсальна для большинства современных версий программы.
- Откройте вкладку «Файл» в левом верхнем углу окна Excel.
- В появившемся меню выберите «Параметры» (в некоторых версиях — «Параметры Excel»).
- В открывшемся окне перейдите в раздел «Надстройки».
- В нижней части окна, в поле «Управление», выберите «Надстройки Excel» и нажмите кнопку «Перейти…».
- В появившемся маленьком окне поставьте галочку напротив пункта «Поиск решения» и нажмите «OK».
После этих действий на ленте во вкладке «Данные» появится новая группа «Анализ», а в ней — заветная кнопка «Поиск решения». Теперь ваш Excel полностью экипирован, и мы можем переходить к изучению языка, на котором будем ставить ему задачи.
Глава 2. Анатомия оптимизационной задачи, или из чего состоит модель
Чтобы «Поиск решения» понял, чего мы от него хотим, любую задачу нужно формализовать, то есть описать на языке математики. Любая оптимизационная модель, от простой до самой сложной, стоит на трех китах. Поняв их суть, вы сможете не просто копировать чужие примеры, а осознанно строить собственные модели.
- Целевая функция. Это главный показатель, который мы стремимся улучшить. Он всегда выражен одной-единственной ячейкой с формулой. Например, это может быть общая прибыль, которую нужно максимизировать, или суммарные издержки, которые, наоборот, нужно минимизировать. Это наша конечная цель, выраженная в цифрах.
- Изменяемые ячейки (переменные). Это те самые «рычаги», которые Solver может настраивать, чтобы достичь цели. В производственной задаче это будет количество единиц каждого товара, которое мы планируем выпустить. Именно эти значения «Поиск решения» будет подбирать, чтобы оптимизировать целевую функцию.
- Ограничения. Это правила игры, которые нельзя нарушать. Любой бизнес или процесс существует в рамках реального мира: запасы сырья на складе не бесконечны, рабочий день длится определенное количество часов, а экологические нормы запрещают превышать установленные лимиты выбросов. Ограничения задаются в виде математических равенств (
=
) или неравенств (≤
,≥
) и гарантируют, что найденное решение будет не только оптимальным, но и реалистичным.
Освоив эти три компонента, вы получаете универсальный ключ к решению огромного класса задач. Лучший способ закрепить теорию — это практика. Начнем с классического примера.
Глава 3. Разбираем классическую задачу о производственном плане
Представим себе мебельную фабрику, которая выпускает столы и стулья. На производство каждого изделия тратятся разные ресурсы (например, древесина и рабочее время), и каждое приносит разную прибыль. Наша задача — составить такой производственный план, который принесет максимальную прибыль, не превысив имеющиеся запасы ресурсов. Для начала переведем это условие в структурированную таблицу Excel.
Правильная организация данных — половина успеха. Таблицу удобно разделить на несколько логических блоков:
- Блок исходных данных: Здесь мы указываем все известные нам константы — запасы ресурсов, нормативы затрат на единицу продукции, прибыль с каждой единицы.
- Блок изменяемых ячеек (переменных): Это ячейки, куда мы впишем наш будущий план — количество столов и стульев. Изначально их можно оставить пустыми или равными нулю.
- Блок расчетов и ограничений: Здесь мы с помощью формул считаем, сколько ресурсов будет фактически использовано при нашем плане. Например, чтобы рассчитать общий расход древесины, мы используем элегантную функцию
SUMPRODUCT
(СУММПРОИЗВ). Она перемножает два массива (план производства и нормативы расхода) и суммирует результаты. Это гораздо удобнее, чем писать длинные формулы вручную. - Целевая функция: Отдельная ячейка, где с помощью той же функции
SUMPRODUCT
мы рассчитываем общую прибыль (план производства, умноженный на прибыль с единицы).
Когда таблица готова, наша модель полностью описана в ячейках и формулах. Все исходные данные, зависимости и цель четко определены. Теперь можно передать управление «Поиску решения» и найти оптимальный ответ.
Глава 4. Находим оптимальное решение с помощью Solver
Имея готовую модель в Excel, запуск процесса оптимизации становится чисто технической задачей. Вызовем окно надстройки (вкладка «Данные» -> «Поиск решения») и последовательно заполним все поля, следуя четкому алгоритму на примере нашей производственной задачи.
- Установить целевую ячейку. В самом верхнем поле указываем ссылку на ячейку, где рассчитывается наша общая прибыль. Справа выбираем цель — «Максимум».
- Изменяя ячейки переменных. В этом поле мы указываем диапазон ячеек, которые отдали «на откуп» Solver, — то есть те, где будет содержаться план производства столов и стульев.
- В соответствии с ограничениями. Это самый важный блок. Нажимая кнопку «Добавить», мы поочередно вводим все наши «правила игры». Каждое ограничение имеет вид: Ячейка с рассчитанным расходом ресурса ≤ Ячейка с запасом этого ресурса.
- Сделать переменные без ограничений неотрицательными. Обязательно ставим эту галочку. Она гарантирует, что мы не получим в ответе отрицательное количество продукции, что физически невозможно.
- Выберите метод решения. Для задач такого класса, где все зависимости линейны (то есть нет возведения в степень или перемножения переменных), идеально подходит «Симплекс-метод LP». Это эффективный и надежный алгоритм для линейного программирования.
После заполнения всех полей нажимаем кнопку «Найти решение». Через мгновение Excel сообщит, что решение найдено, и автоматически заполнит ячейки переменных оптимальными значениями. Мы успешно решили стандартную задачу. Но мир не ограничивается только производством. Чтобы выделиться и по-настояшему понять мощь оптимизации, решим более сложную и актуальную задачу.
Глава 5. Решаем нетипичную задачу, где прибыль зависит от экологии
Рассмотрим более сложный кейс. Химический завод производит 5 видов новых реактивов. Каждый из них приносит разную прибыль, но при этом выбрасывает в атмосферу вредные вещества А, В и С. Существуют строгие месячные нормы, превышать которые нельзя. Наша цель — найти такой план производства, который максимизирует прибыль, но при этом укладывается в экологические нормативы.
Ключевая мысль этого примера в том, что логика построения модели остается абсолютно той же. Меняется лишь суть компонентов: вместо запасов сырья у нас — лимиты на выбросы, а вместо расхода материалов — объем выбросов на тонну продукции.
По аналогии с предыдущей главой, создаем в Excel структурированную таблицу:
- Исходные данные: Прибыль от 1 тонны каждого из 5 реактивов; месячные нормы выбросов для веществ А, В, С; таблица с данными, сколько миллилитров каждого вещества выделяется при производстве 1 тонны каждого реактива.
- Переменные: Пять ячеек для плана производства — сколько тонн каждого реактива мы будем выпускать.
- Расчеты и ограничения: С помощью функции
SUMPRODUCT
создаем три формулы для расчета общего объема выбросов по каждому из веществ (А, В и С). - Целевая функция: Ячейка с формулой, рассчитывающей общую прибыль от всего запланированного объема производства.
Модель для нашей экологической задачи полностью готова и формализована в таблице. Теперь применим уже знакомый нам алгоритм действий в окне «Поиск решения», чтобы увидеть, как он справится с новыми, более сложными условиями.
Глава 6. Получение и первый анализ решения для экологической задачи
Запускаем «Поиск решения» и, следуя уже знакомому алгоритму, заполняем все поля, но уже для новой задачи. Целевая ячейка — общая прибыль (максимизировать). Изменяемые ячейки — диапазон с планом производства пяти реактивов. Ограничения — три неравенства, где суммарные выбросы каждого из веществ (А, В и С) должны быть меньше либо равны установленным месячным нормам. Не забываем про условие неотрицательности переменных.
Нажимаем «Найти решение». Excel мгновенно рассчитывает оптимальный план. Теперь начинается самое интересное — интерпретация. Мы видим:
- Какие реактивы производить выгодно, а какие нет. В оптимальном плане объемы производства некоторых реактивов могут оказаться равными нулю. Это означает, что в текущих условиях их выпуск нецелесообразен — они либо приносят мало прибыли, либо слишком «грязные» с точки зрения выбросов.
- Какие ограничения сдерживают рост. Сравнивая расчетные суммарные выбросы с установленными нормами, мы увидим, какие из них были исчерпаны полностью. Если, например, лимит по веществу А выбран «под ноль», это означает, что именно это ограничение стало «связывающим» или «узким местом». Мы бы и рады производить больше, но нам мешает именно норма по веществу А. А если по веществу С остался запас, значит, это ограничение на данный момент не является сдерживающим фактором.
Мы получили ответ, но «Поиск решения» может дать нам гораздо больше, чем просто цифры. Он может показать, насколько ценен каждый ресурс и как изменится прибыль при его увеличении. Пора заглянуть «под капот» оптимизации.
Глава 7. Что скрывается за результатами, или как читать отчеты Solver
В окне с результатами, которое появляется после нахождения решения, есть возможность выбрать и создать три типа отчетов: по результатам, по чувствительности и по пределам. Для глубокого анализа нам важнее всего Отчет по чувствительности. Он показывает, как изменится решение, если мы немного поменяем исходные условия.
Ключевой показатель в этом отчете — это «Теневая цена» (Shadow Price). Она относится к ограничениям.
Теневая цена — это величина, которая показывает, на сколько увеличится значение целевой функции (в нашем случае — общая прибыль), если мы увеличим объем соответствующего ресурса или лимита на одну единицу.
На примере нашей экологической задачи, отчет по чувствительности покажет теневую цену для каждого из лимитов по выбросам (вещества А, В и С). Если теневая цена для вещества А равна, например, 150, это означает, что возможность увеличить норму выбросов по этому веществу на 1 мл принесет компании дополнительные 150 денежных единиц прибыли. Если же теневая цена для вещества С равна нулю, это подтверждает наш предыдущий вывод: лимит по нему не исчерпан, и его увеличение на данный момент не даст никакого экономического эффекта.
Анализ теневых цен — это мощнейший инструмент для принятия управленческих решений. Он позволяет не просто констатировать факт, а экономически обосновать, куда стоит вкладывать ресурсы: например, в покупку более совершенных фильтров для вещества А, а не для вещества С.
Заключение
Мы прошли весь путь: от простой идеи до глубокого анализа скрытых экономических взаимосвязей. Освоенный нами алгоритм универсален и мощен. Он сводится к четырем ключевым шагам:
- Постановка задачи: четко определить цель, переменные и ограничения.
- Создание модели в Excel: перевести условия задачи на язык ячеек, данных и формул.
- Запуск Solver: указать программе, что оптимизировать, что изменять и какие правила соблюдать.
- Анализ результатов: интерпретировать не только оптимальный план, но и отчеты, чтобы понять, что именно сдерживает систему и где скрыты точки роста.
Эта методология применима к огромному кругу задач в логистике, финансах, планировании и инженерии. Теперь вы обладаете не просто навыком для успешной сдачи лабораторной работы, а реальным аналитическим инструментом, который поможет принимать обоснованные и эффективные решения в вашей будущей профессиональной деятельности.
Список использованной литературы
- Аттетков А.В., Галкин С.В., Зарубин В.С. Методы оптимизации: Учебник для вузов /Под ред. В.С. Зарубина, А.П. Крищенко.-М.: Изд-во МГТУ им. Н.Э.Баумана, 2003. -440с. ( Сер. Математика в технич. университете; Вып. X1V )
- Мурга О.К. Численные методы оптимизации: Учебное пособие. Казань: Изд-во Казан.гос. техн.ун-та им. А.Н. Туполева,2006. 75с.
- Летова Т.А., Пантелеев А.В. Экстремум функций в примерах и задачах: Учебное пособие. –М.: Изд-во МАИ, 1998. 376с.
- Васильев Ф.П. Численные методы решения экстремальных задач. М., Наука, 1980, 520 с.
- Лесин В.В., Лисовец Ю.П. Основы методов оптимизации. М.: Изд-во МАИ 1995, 344 с.
- Мурга О.К. Численные методы оптимизации. Лабораторный практикум. Казань: Изд-во Казан. гос. техн. ун-та им. А.Н. Туполева,2000. 44с.