Поиск решения
Редактор таблиц поддерживает функцию Поиск решения, которая позволяет найти оптимальное решение задачи, подбирая значения в указанных ячейках. Поиск решения изменяет значения в ячейках переменных так, чтобы значение в целевой ячейке стало максимальным, минимальным или равным заданному, с соблюдением всех заданных вами ограничений.
Поиск решения особенно полезен для задач линейного программирования, в которых нужно оптимизировать распределение ресурсов, планирование производства, составление расписаний или другие бизнес-решения с учетом различных ограничений.
Функция Поиск решения использует метод Поиск решения линейных задач симплекс-методом, предназначенный специально для задач линейного программирования. Это значит, что целевая функция и все ограничения должны быть линейными функциями от переменных.
Как использовать поиск решения
Чтобы использовать функцию Поиск решения, выполните следующие действия:
-
Подготовьте электронную таблицу, которая содержит следующие элементы:
- Ячейки переменных — ячейки со значениями, которые Поиск решения будет изменять, чтобы найти оптимальное решение. Эти ячейки должны содержать начальные значения (допускаются нули).
- Целевая ячейка — ячейка с формулой, которая зависит от ячеек переменных. Это значение нужно сделать максимальным, минимальным или равным определенному целевому значению.
- Ячейки с ограничениями — ячейки с формулами, вычисляющими значения, которые должны удовлетворять определенным условиям (необязательно, но обычно требуется).
-
Перейдите на вкладку Данные и нажмите значок Поиск решения на верхней панели инструментов.
-
В открывшемся окне Параметры поиска решения настройте следующие параметры:
- Оптимизировать целевую функцию: введите ссылку на ячейку с формулой, которую нужно оптимизировать. Можно щелкнуть по ячейке прямо в таблице, используя кнопку
Выбор данных, или ввести ссылку на ячейку вручную. Выберите один из следующих вариантов, чтобы указать цель оптимизации:
- Макс. — чтобы найти максимально возможное значение целевой ячейки.
- Мин. — чтобы найти минимально возможное значение целевой ячейки.
- Значения — чтобы значение целевой ячейки стало равным определенному значению. Введите целевое значение в поле вручную.
- Изменяя ячейки переменных: введите ссылки на ячейки, которые Поиск решения будет изменять для достижения оптимального результата. Это переменные задачи. Можно выбрать несколько ячеек или диапазонов ячеек с помощью кнопки
Выбор данных. Чтобы выбрать несмежные ячейки, разделите ссылки запятыми (например,
B2,B3,B4илиB2:B4,C2:C4). - В соответствии с ограничениями: в этом разделе можно задать ограничения, которым должно удовлетворять решение. Управляйте ограничениями с помощью следующих кнопок:
-
Добавить — нажмите, чтобы создать новое ограничение. В окне ограничения доступны следующие настройки:
- Ссылка на ячейки — введите или
выберите ячейку или диапазон со значением, на которое накладывается ограничение.
- Выберите нужный оператор:
<=(меньше или равно),>=(больше или равно) или=(равно). - Ограничение — введите ограничивающее значение или
ссылку на ячейку с ограничивающим значением.
Нажмите OK, чтобы добавить ограничение и закрыть окно, или нажмите Добавить, чтобы сохранить текущее ограничение и добавить еще одно.
- Ссылка на ячейки — введите или
-
Изменить — выберите в списке существующее ограничение и нажмите эту кнопку, чтобы изменить его параметры. Откроется окно ограничения с текущими значениями, в котором можно изменить ссылку на ячейки, оператор или значение ограничения.
-
Удалить — выберите в списке существующее ограничение и нажмите эту кнопку, чтобы удалить его. Ограничение будет сразу удалено из списка.
-
- Сделать переменные без ограничений неотрицательными: установите этот флажок, чтобы добавить неявное ограничение, которое не позволяет ячейкам переменных принимать отрицательные значения. Если флажок установлен, Поиск решения будет рассматривать только решения, в которых значения всех ячеек переменных больше или равны нулю.
- Метод решения: выберите алгоритм, который Поиск решения будет использовать для нахождения оптимального решения. Доступный метод:
- Поиск решения линейных задач симплекс-методом — симплекс-метод для задач линейного программирования. Этот метод предназначен для задач, в которых целевая функция и все ограничения являются линейными функциями от переменных.
- Нажмите Найти решение, чтобы запустить процесс оптимизации.
- Оптимизировать целевую функцию: введите ссылку на ячейку с формулой, которую нужно оптимизировать. Можно щелкнуть по ячейке прямо в таблице, используя кнопку
-
В окне Результаты поиска решения будет показан результат:
- Если решение найдено, появится сообщение Решение найдено: оно удовлетворяет всем ограничениям.
- Выберите, нужно ли сохранить найденное решение (его можно увидеть в таблице на заднем плане) или восстановить исходные значения.
- Чтобы продолжить настройку параметров, можно вернуться к диалоговому окну параметров поиска решения, установив соответствующий флажок.
- Нажмите OK, чтобы сохранить значения решения в таблице.
- Нажмите Отмена, чтобы восстановить исходные значения, которые были до оптимизации.
Поиск решения и подбор параметра
Хотя и Поиск решения, и Подбор параметра — инструменты оптимизации, они служат разным целям:
- Подбор параметра находит одно входное значение, необходимое для получения определенного результата формулы. Он изменяет только одну ячейку, чтобы достичь целевого значения.
- Поиск решения может одновременно изменять несколько ячеек с помощью параметра Изменяя ячейки переменных и позволяет добавлять ограничения в разделе В соответствии с ограничениями. Он находит оптимальные решения (максимальное, минимальное или определенное значение) для более сложных задач.
Используйте Подбор параметра для простых задач с одной переменной, а Поиск решения — для задач оптимизации с несколькими переменными и ограничениями.
Ограничения
Текущая реализация функции Поиск решения имеет следующие ограничения:
- Доступен только метод решения Поиск решения линейных задач симплекс-методом, который требует, чтобы все зависимости были линейными.
- Целочисленные, бинарные и дифференциальные ограничения не поддерживаются. Все переменные рассматриваются как непрерывные величины.