Учебник по Excel Solver с пошаговыми примерами

  • Поделись Этим
Michael Brown

В учебнике объясняется, как добавить и где найти Solver в различных версиях Excel, от 2016 до 2003 г. Пошаговые примеры показывают, как использовать Excel Solver для поиска оптимальных решений для линейного программирования и других видов задач.

Все знают, что Microsoft Excel содержит множество полезных функций и мощных инструментов, которые могут сэкономить вам часы вычислений. Но знаете ли вы, что в нем также есть инструмент, который может помочь вам найти оптимальные решения для задач принятия решений?

В этом руководстве мы рассмотрим все основные аспекты работы надстройки Excel Solver и предоставим пошаговое руководство по ее наиболее эффективному использованию.

    Что такое Excel Solver?

    Решатель Excel относится к специальному набору команд, часто называемых What-if Analysis Tools. Он предназначен в первую очередь для моделирования и оптимизации различных бизнес и инженерных моделей.

    Надстройка Excel Solver особенно полезна для решения задач линейного программирования, они же задачи линейной оптимизации, и поэтому их иногда называют решатель задач линейного программирования Кроме того, он может решать гладкие нелинейные и негладкие задачи. Более подробную информацию можно найти в разделе Алгоритмы Excel Solver.

    Хотя Solver не может решить все возможные проблемы, он действительно полезен при решении всевозможных задач оптимизации, когда вам нужно принять наилучшее решение. Например, он может помочь вам максимизировать возврат инвестиций, выбрать оптимальный бюджет для рекламной кампании, составить оптимальный график работы для ваших сотрудников, минимизировать стоимость доставки и так далее.

    Как добавить решатель в Excel

    Надстройка Solver входит в состав всех версий Microsoft Excel, начиная с 2003 года, но по умолчанию она не включена.

    Чтобы добавить Solver в Excel, выполните следующие действия:

    1. В Excel 2010 - Excel 365 нажмите Файл > Опции .

      В Excel 2007 нажмите кнопку Microsoft Office и нажмите кнопку Параметры Excel .

    2. В Параметры Excel диалоговое окно, нажмите Дополнения на левой боковой панели, убедитесь, что Надстройки Excel выбран в Управляйте поле в нижней части окна и нажмите кнопку Перейти .
    3. В Дополнения диалогового окна, установите флажок Надстройка решателя и нажмите кнопку OK :

    Чтобы включить Solver Excel 2003 , перейдите на Инструменты меню и нажмите Дополнения . В Дополнения доступно список, проверьте Надстройка решателя и нажмите кнопку OK .

    Примечание. Если Excel выводит сообщение о том, что надстройка Solver Add-in не установлена на вашем компьютере, нажмите кнопку Да чтобы установить его.

    Где находится Solver в Excel?

    В современных версиях Excel Решатель кнопка появляется на Данные во вкладке Анализ группа:

    Где находится Solver в Excel 2003?

    После загрузки надстройки Solver в Excel 2003 ее команда добавляется в список Инструменты меню:

    Теперь, когда вы знаете, где найти Solver в Excel, откройте новый рабочий лист и давайте начнем!

    Примечание. Примеры, рассмотренные в этом руководстве, используют Solver в Excel 2013. Если у вас другая версия Excel, скриншоты могут не совсем соответствовать вашей версии, хотя функциональность Solver в основном такая же.

    Как использовать решатель в Excel

    Перед запуском надстройки Excel Solver сформулируйте модель, которую вы хотите решить, в рабочем листе. В данном примере давайте найдем решение для следующей простой задачи оптимизации.

    Проблема Предположим, вы владелец салона красоты и планируете предоставлять клиентам новую услугу. Для этого вам необходимо приобрести новое оборудование стоимостью $40 000, которое должно быть оплачено в рассрочку в течение 12 месяцев.

    Цель : Рассчитайте минимальную стоимость одной услуги, которая позволит вам окупить новое оборудование в указанные сроки.

    Для этой задачи я создал следующую модель:

    А теперь давайте посмотрим, как Excel Solver может найти решение для этой задачи.

    1. Запустите Excel Solver

    На Данные во вкладке Анализ группу, нажмите кнопку Решатель кнопка.

    2. Определите проблему

    Сайт Параметры решателя Откроется окно, в котором необходимо установить 3 основных компонента:

    • Объективная ячейка
    • Переменные клетки
    • Ограничения

    Что именно делает Excel Solver с указанными выше параметрами? Он находит оптимальное значение (максимальное, минимальное или заданное) для формулы в разделе Цель ячейку, изменяя значения в Переменная клетки, и с учетом ограничений в Ограничения клетки.

    Цель

    Сайт Цель ячейка ( Цель ячейка в более ранних версиях Excel) - это ячейка содержащий формулу которая представляет собой цель, или задачу, проблемы. Цель может быть максимизацией, минимизацией или достижением некоторого целевого значения.

    В этом примере объективной ячейкой является B7, в которой рассчитывается срок платежа по формуле =B3/(B4*B5) и результат формулы должен быть равен 12:

    Переменные клетки

    Переменная клетки ( Изменение клетки или Регулируемый ячейки в более ранних версиях) - это ячейки, содержащие переменные данные, которые могут быть изменены для достижения цели. Excel Solver позволяет указать до 200 переменных ячеек.

    В этом примере у нас есть несколько ячеек, значения которых могут быть изменены:

    • Прогнозируемое количество клиентов в месяц (B4), которое должно быть меньше или равно 50; и
    • Стоимость одной услуги (B5), которую мы хотим рассчитать с помощью Excel Solver.

    Совет. Если изменяемые ячейки или диапазоны в вашей модели являются не смежные Выделите первую ячейку или диапазон, а затем нажмите и удерживайте клавишу Ctrl, выделяя другие ячейки и/или диапазоны. Или введите диапазоны вручную, разделяя их запятыми.

    Ограничения

    Решатель Excel Сдерживающие факторы это ограничения или пределы возможных решений проблемы. Говоря иначе, ограничения - это условия, которые должны быть выполнены.

    Чтобы добавить ограничение (ограничения), выполните следующие действия:

    • Нажмите кнопку Добавить кнопку прямо на кнопку " При условии соблюдения ограничений " коробка.

    • В Ограничение в окне введите ограничение.
    • Нажмите кнопку Добавить чтобы добавить ограничение в список.

    • Продолжайте вводить другие ограничения.
    • После ввода последнего ограничения нажмите кнопку OK чтобы вернуться к главному Решатель Параметры окно.

    Excel Solver позволяет задавать следующие отношения между ссылающейся ячейкой и ограничением.

    • Меньше или равно , равный и больше или равно Вы устанавливаете эти отношения, выбирая ячейку в Ссылка на ячейку поле, выбрав один из следующих знаков: <= , =, или >= , а затем введите число, ссылку на ячейку / имя ячейки или формулу в поле Ограничение (см. скриншот выше).
    • Целое число Если ссылающаяся ячейка должна быть целым числом, выберите int , и слово целое число появится в Ограничение коробка.
    • Различные значения Если каждая ячейка в ссылаемом диапазоне должна содержать разное значение, выберите dif , и слово AllDifferent появится в Ограничение коробка.
    • Бинарные Если вы хотите ограничить ссылающуюся ячейку либо 0, либо 1, выберите bin , и слово бинарные появится в Ограничение коробка.

    Примечание. int , bin и dif отношения можно использовать только для ограничений на ячейки Variable.

    На редактировать или удалить существующего ограничения сделайте следующее:

    • В Параметры решателя В диалоговом окне нажмите на ограничение.
    • Чтобы изменить выбранное ограничение, нажмите кнопку Изменить и внесите нужные изменения.
    • Чтобы удалить ограничение, нажмите кнопку Удалить кнопка.

    В этом примере ограничения следующие:

    • B3=40000 - стоимость нового оборудования составляет $40 000.
    • B4<=50 - количество прогнозируемых пациентов в месяц менее 50.

    3. решите проблему

    После настройки всех параметров нажмите кнопку Решить кнопку в нижней части Параметры решателя окно (см. скриншот выше) и позвольте надстройке Excel Solver найти оптимальное решение для вашей задачи.

    В зависимости от сложности модели, памяти компьютера и скорости процессора, это может занять несколько секунд, несколько минут или даже несколько часов.

    Когда Solver закончит обработку, он отобразит на экране сообщение Результаты работы решателя диалоговое окно, в котором вы выбираете Сохранить решение решателя и нажмите OK :

    Сайт Результат работы решателя окно закроется, и решение сразу же появится на рабочем листе.

    В данном примере в ячейке B5 указано $66,67 - это минимальная стоимость одной услуги, которая позволит вам окупить новое оборудование за 12 месяцев при условии, что в месяц будет обслуживаться не менее 50 клиентов:

    Советы:

    • Если Excel Solver обрабатывает определенную задачу слишком долго, вы можете прервать процесс, нажав клавишу Esc. Excel пересчитает рабочий лист с последними найденными значениями для Переменная клетки.
    • Чтобы получить более подробную информацию о решенной проблеме, щелкните тип отчета в окне Отчеты поле, а затем нажмите OK Отчет будет создан на новом рабочем листе:

    Теперь, когда вы получили основное представление о том, как использовать Solver в Excel, давайте рассмотрим еще несколько примеров, которые могут помочь вам лучше понять суть дела.

    Примеры Excel Solver

    Ниже вы найдете еще два примера использования надстройки Excel Solver. Сначала мы найдем решение известной головоломки, а затем решим реальную задачу линейного программирования.

    Excel Solver пример 1 (магический квадрат)

    Думаю, все знакомы с головоломками "магического квадрата", где нужно выложить набор цифр в квадрат так, чтобы все строки, столбцы и диагонали складывались в определенное число.

    Например, знаете ли вы решение квадрата 3x3, содержащего числа от 1 до 9, где каждая строка, столбец и диагональ дают в сумме 15?

    Возможно, нет ничего страшного в том, чтобы решить эту головоломку методом проб и ошибок, но я готов поспорить, что решатель найдет решение быстрее. Наша часть работы заключается в том, чтобы правильно определить проблему.

    Для начала введите числа от 1 до 9 в таблицу, состоящую из 3 строк и 3 столбцов. На самом деле Excel Solver не нужны эти числа, но они помогут нам визуализировать проблему. Что действительно нужно дополнению Excel Solver, так это формулы SUM, которые суммируют каждую строку, столбец и 2 диагонали:

    Запустив все формулы, запустите Solver и установите следующие параметры:

    • Установите Цель В этом примере нам не нужно задавать никакой цели, поэтому оставьте это поле пустым.
    • Переменные ячейки Мы хотим заполнить числа в ячейках B2-D4, поэтому выделите диапазон B2:D4.
    • Ограничения Должны быть выполнены следующие условия:
      • $B$2:$D$4 = AllDifferent - все ячейки Variable должны содержать разные значения.
      • $B$2:$D$4 = integer - все ячейки Variable должны быть целыми числами.
      • $B$5:$D$5 = 15 - сумма значений в каждом столбце должна быть равна 15.
      • $E$2:$E$4 = 15 - сумма значений в каждой строке должна быть равна 15.
      • $B$7:$B$8 = 15 - сумма обеих диагоналей должна быть равна 15.

    Наконец, нажмите кнопку Решить кнопку, и решение найдено!

    Excel Solver пример 2 (задача линейного программирования)

    Это пример простой задачи оптимизации перевозок с линейной целью. Более сложные оптимизационные модели такого рода используются многими компаниями для экономии тысяч долларов каждый год.

    Проблема : Вы хотите минимизировать затраты на доставку товаров с 2 различных складов 4 различным клиентам. Каждый склад имеет ограниченное предложение, а каждый клиент имеет определенный спрос.

    Цель : Минимизировать общую стоимость доставки, не превышая количество, имеющееся на каждом складе, и удовлетворяя спрос каждого клиента.

    Исходные данные

    Вот как выглядит наша задача оптимизации перевозок:

    Формулировка модели

    Чтобы определить нашу задачу линейного программирования для Excel Solver, давайте ответим на 3 основных вопроса:

    1. Какие решения необходимо принять? Мы хотим рассчитать оптимальное количество товара, которое необходимо доставить каждому клиенту с каждого склада. Это Переменная клеток (B7:E8).
    2. Что такое ограничения? Запасы, имеющиеся на каждом складе (I7:I8), не могут быть превышены, а количество, заказанное каждым клиентом (B10:E10), должно быть доставлено. Вот эти ограничения Ограниченный клетки
    3. Какова цель? Минимальная общая стоимость доставки. И это наш Цель клетка (C12).

    Следующее, что вам нужно сделать, это рассчитать общее количество отгруженных товаров с каждого склада (G7:G8) и общее количество товаров, полученных каждым клиентом (B9:E9). Вы можете сделать это с помощью простых формул Sum, продемонстрированных на скриншоте ниже. Также вставьте формулу SUMPRODUCT в C12, чтобы рассчитать общую стоимость доставки:

    Чтобы сделать нашу модель оптимизации перевозок более понятной, создадим следующие именованные диапазоны:

    Название диапазона Клетки Параметр решателя
    Товары_отгруженные B7:E8 Переменные клетки
    Доступно I7:I8 Ограничение
    Всего_поставлено G7:G8 Ограничение
    Заказано B10:E10 Ограничение
    Всего_получено B9:E9 Ограничение
    Стоимость_доставки C12 Цель

    Последнее, что вам осталось сделать, это настроить параметры Excel Solver:

    • Цель: стоимость доставки установлена на Мин
    • Переменные ячейки: Products_shipped
    • Ограничения: Total_received = Ordered и Total_shipped <= Available

    Обратите внимание, что мы выбрали Simplex LP метод решения в этом примере, потому что мы имеем дело с проблемой линейного программирования. Если вы не уверены, какого рода проблема стоит перед вами, вы можете оставить значение по умолчанию GRG Нелинейный Для получения дополнительной информации см. раздел Алгоритмы Excel Solver.

    Решение

    Нажмите кнопку Решить кнопку в нижней части Параметры решателя В этом примере надстройка Excel Solver рассчитала оптимальное количество товаров для доставки каждому клиенту с каждого склада с минимальной общей стоимостью доставки:

    Как сохранять и загружать сценарии Excel Solver

    При решении определенной модели вы можете захотеть сохранить ваши Переменная значения ячеек в виде сценария, который можно просмотреть или повторно использовать позже.

    Например, при расчете минимальной стоимости услуг в самом первом примере, рассмотренном в этом учебнике, вы можете попробовать разное количество прогнозируемых клиентов в месяц и посмотреть, как это влияет на стоимость услуг. При этом вы можете сохранить наиболее вероятный сценарий, который вы уже рассчитали, и восстановить его в любой момент.

    Экономия сценарий Excel Solver сводится к выбору диапазона ячеек для сохранения данных. Загрузка Модель Solver - это просто вопрос предоставления Excel диапазона ячеек, в которых сохранена ваша модель. Подробные шаги следуют ниже.

    Сохранение модели

    Чтобы сохранить сценарий Excel Solver, выполните следующие действия:

    1. Откройте рабочий лист с рассчитанной моделью и запустите Excel Solver.
    2. В Параметры решателя окно, нажмите кнопку Загрузка/сохранение кнопка.

  • Excel Solver сообщит вам, сколько ячеек необходимо для сохранения вашего сценария. Выберите это количество пустых ячеек и нажмите кнопку Сохранить :
  • Excel сохранит вашу текущую модель, которая может выглядеть примерно так:
  • В то же время Параметры решателя появится окно, в котором можно изменить ограничения и попробовать различные варианты "что если".

    Загрузка сохраненной модели

    Когда вы решите восстановить сохраненный сценарий, сделайте следующее:

    1. В Параметры решателя окно, нажмите кнопку Загрузка/сохранение кнопка.
    2. На рабочем листе выделите диапазон ячеек, содержащих сохраненную модель, и нажмите кнопку Загрузка :

  • В Модель нагрузки диалоговое окно, нажмите кнопку Заменить кнопка:
  • В результате откроется главное окно Excel Solver с параметрами ранее сохраненной модели. Все, что вам нужно сделать, это нажать кнопку Решить для повторного расчета.
  • Алгоритмы Excel Solver

    При определении задачи для решателя Excel вы можете выбрать один из следующих методов в поле Выберите метод решения выпадающее окно:

    • GRG Nonlinear. Обобщенный нелинейный градиент с уменьшенным градиентом Алгоритм используется для решения гладких нелинейных задач, т.е. задач, в которых хотя бы одно из ограничений является гладкой нелинейной функцией переменных решения. Более подробную информацию можно найти здесь.
    • LP Simplex Метод решения ЛП Simplex основан на алгоритме Simplex, созданном американским математиком Джорджем Данцигом. Он используется для решения так называемых Линейное программирование задачи - математические модели, требования которых характеризуются линейными отношениями, т.е. состоят из одной цели, представленной линейным уравнением, которая должна быть максимизирована или минимизирована. Для получения дополнительной информации, пожалуйста, ознакомьтесь с этой страницей.
    • Эволюционный Он используется для решения негладких задач, которые являются наиболее сложным типом задач оптимизации, поскольку некоторые функции являются негладкими или даже разрывными, и поэтому трудно определить направление, в котором функция возрастает или убывает. Для получения дополнительной информации смотрите эту страницу.

    Чтобы изменить способ поиска решения в программе Solver, нажмите кнопку Опции кнопка в Параметры решателя диалоговое окно, и настройте любые или все параметры на GRG Нелинейный , Все методы и Эволюционный вкладки.

    Вот как вы можете использовать Solver в Excel для поиска наилучших решений для ваших проблем с решениями. А теперь, возможно, вы захотите скачать примеры Excel Solver, рассмотренные в этом уроке, и проанализировать их для лучшего понимания. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе.

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.