Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel для iPad Excel для iPhone Excel для планшетов с Android Excel 2010 Excel 2007 Excel для Mac 2011 Excel для телефонов с Android Excel Mobile Еще…Меньше
«Поиск решения» — это программная надстройка для Microsoft Office Excel, которая доступна при установке Microsoft Office или приложения Excel.
Чтобы можно было работать с надстройкой «Поиск решения», ее нужно сначала загрузить в Excel.
-
В Excel 2010 и более поздних версий выберите Файл > Параметры.
Примечание: В Excel 2007 нажмите кнопку Microsoft Office кнопку и выберите Excel параметры.
-
Выберите команду Надстройки, а затем в поле Управление выберите пункт Надстройки Excel.
-
Нажмите кнопку Перейти.
-
В окне Доступные надстройки установите флажок Поиск решения и нажмите кнопку ОК.
Примечания:
-
Если надстройка Поиск решения отсутствует в списке поля Доступные надстройки, нажмите кнопку Обзор, чтобы найти ее.
-
Если появится сообщение о том, что надстройка «Поиск решения» не установлена на компьютере, нажмите кнопку Да, чтобы установить ее.
-
-
После загрузки надстройки для поиска решения в группе Анализ на вкладки Данные становится доступна команда Поиск решения.
-
В меню Сервис выберите Надстройки Excel.
-
В поле Доступные надстройки установите флажок Поиск решения и нажмите кнопку ОК.
-
Если надстройка Поиск решения отсутствует в списке поля Доступные надстройкинажмите кнопку Обзор, чтобы найти ее.
-
Если появится сообщение о том, что надстройка «Поиск решения» не установлена на компьютере, нажмите в диалоговом окне кнопку Да, чтобы ее установить.
После загрузки надстройки «Поиск решения» на вкладке Данные станет доступна кнопка Поиск решения.
-
В настоящее время надстройка «Поиск решения», предоставляемая компанией Frontline Systems, недоступна для Excel на мобильных устройствах.
«Поиск решения» — это бесплатная надстройка для Excel 2013 с пакетом обновления 1 (SP1) и более поздних версий. Для получения дополнительной информации найдите надстройку «Поиск решения» в Магазине Office.
В настоящее время надстройка «Поиск решения», предоставляемая компанией Frontline Systems, недоступна для Excel на мобильных устройствах.
«Поиск решения» — это бесплатная надстройка для Excel 2013 с пакетом обновления 1 (SP1) и более поздних версий. Для получения дополнительной информации найдите надстройку «Поиск решения» в Магазине Office.
В настоящее время надстройка «Поиск решения», предоставляемая компанией Frontline Systems, недоступна для Excel на мобильных устройствах.
«Поиск решения» — это бесплатная надстройка для Excel 2013 с пакетом обновления 1 (SP1) и более поздних версий. Для получения дополнительной информации найдите надстройку «Поиск решения» в Магазине Office.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Постановка и решение задачи с помощью надстройки «Поиск решения»
Полные сведения о формулах в Excel
Рекомендации, позволяющие избежать появления неработающих формул
Обнаружение ошибок в формулах
Сочетания клавиш в Excel
Функции Excel (по алфавиту)
Функции Excel (по категориям)
Нужна дополнительная помощь?
Наряду со множеством других возможностей, в Microsoft Excel есть одна малоизвестная, но очень полезная функция под названием “Поиск решения”. Несмотря на то, что найти и освоить ее, может быть, непросто, ее изучение и применение может помочь в решении огромного количества задач. Функция берет данные, перебирает их и выдает самое оптимальное решение из возможных. Итак, давайте разберемся, как именно работает поиск решения и попробуем применить данную функцию на практике
Содержание
- Как включить функцию “Поиск решения”
- Подготовительный этап
- Применение функции и ее настройка
- Заключение
Как включить функцию “Поиск решения”
Несмотря на свою эффективность, функция “Поиск решения” не находится в первых рядах панели инструментов или контекстного меню. Многие пользователи, работающие в Excel годами, даже не подозревают о ее существовании. Дело в том, что по умолчанию она вообще отключена и для ее добавления на ленту нужно проделать следующие шаги:
- Открываем меню “Файл”, кликнув по соответствующему названию.
- Кликаем по разделу “Параметры”, который находится внизу вертикального перечня с левой стороны.
- Далее щелкаем по подразделу “Надстройки”. Здесь отображаются все надстройки программы, а внизу будет надпись “Управление”. Справа от нее представлено выпадающее меню, в котором должны быть выбраны “Надстройки Excel”, обычно уже установленные по умолчанию. Нажимаем кнопку “Перейти”.
- На экране появится новое вспомогательное окно “Надстройки”. Устанавливаем флажок напротив опции “Поиск решения” и нажимаем ОК.
- Все готово. Требуемая функция появится на ленте в правой части вкладки “Данные”.
Подготовительный этап
Добавить функцию на ленту программы – половина дела. Нужно еще понять принцип ее работы.
Итак, у нас есть данные про продаже товаров, представленные в табличном виде.
И перед нами стоит задача – назначить каждому товару скидку таким образом, чтобы сумма по всем скидкам составила 4,5 млн. рублей. Она должна отобразиться в отдельной ячейке, которая называется целевой. Ориентируясь на нее мы должны рассчитать остальные значения.
Наша задача – вычислить скидку, на которую будут умножены все суммы по продажам всех наименований. Она и будет найдена с помощью функции “Поиск решения”, а ячейка с этой скидкой будет называется искомой.
Данные ячейки (искомая и целевая) связываем вместе формулой, которую пишем в целевой ячейке следующим образом: =D13*$G$2, где ячейка D13 содержит итоговую сумму по продажам всех товаров, а ячейка $G$2 – абсолютные (неизменные) координаты искомой ячейки.
Применение функции и ее настройка
Формула готова. Теперь нужно применить саму функцию.
- Переключаемся во вкладку “Данные” и нажимаем кнопку “Поиск решения”.
- Откроются “Параметры”, где необходимо задать нужные настройки. В поле “Оптимизировать целевую функцию:” указываем адрес целевой ячейки, где планируется вывести сумму по всем скидкам. Можно прописать координаты вручную, либо выбрать из таблицы, для чего сначала кликаем по области ввода, затем – по нужной ячейке.
- Переходим к настройке других параметров. В пункте “До:” можно задать максимальную границу, минимальную границу или же точное число. Исходя из поставленной задачи ставим отметку рядом с опцией “Значение” и набираем “4500000” – сумма скидок по всем наименованиям.
- Следующее для заполнения поле – “Изменяя значения переменных:”. В него нужно внести координаты искомой ячейки, содержащей определенное значение. Это значение и есть та самая скидка, которую мы пытаемся вычислить. Также, как и с выбором целевой ячейки, координаты можно написать вручную, либо кликнуть по нужной ячейке в самой таблице.
- Теперь нужно отредактировать раздел “В соответствии с ограничениями:”, в котором задаем ограничения используемых данных. Например, можно исключить десятичные дроби или, скажем, отрицательные числа. Это делается через кнопку “Добавить”.
- Откроется вспомогательно окно, позволяющее добавить ограничения во время вычислений. В первом поле указываем координаты определенной ячейки или области ячеек, для которых это условие должно действовать. Согласно нашей задаче, указываем координаты искомой ячейки, в которой будет выводиться значение скидки. Следующий шаг – определить знак сравнения. Устанавливаем “больше или равно”, чтобы итоговое число не могло быть отрицательным. “Ограничение”, которое устанавливается в третьем поле, в этом случае будет равно цифре 0, поскольку именно относительно этого значения задается условие.Можно установить еще одно ограничение с помощью кнопки “Добавить”. Дальнейшие действия по его настройке будут аналогичными. По готовности щелкаем OK.
- После выполнения описанных выше действий в самом большом поле окна появится установленное только что ограничение. Список может быть довольно большим и зависит от сложности предполагаемых расчетов, но в данном случае будет достаточно и одного условия.Под этим полем также есть опция, позволяющая делать все остальные переменные, не затрагиваемые ограничениями, неотрицательными. Однако, будьте внимательны и проследите за тем, чтобы между этим параметром и поставленными ограничениями не было противоречия, иначе при расчете в программе может возникнуть конфликт.
- Также можно задать немалое количество дополнительных настроек. Чуть ниже справа есть кнопка “Параметры”, позволяющая это сделать. Нажимаем на нее и открываем новое окно.
- В этих настройках у нас есть возможность установить “Точность ограничения” и “Пределы решения”. В нашем случае задавать данные параметры нет необходимости, поэтому после ознакомления с представленным окном, его можно закрыть, нажав OK.
- Итак, все настройки выполнены и параметры установлены. Пора запускать функцию – для этого нажимаем кнопку “Найти решение”.
- После этого программа сделает все необходимые расчеты и выдаст результаты в нужных ячейках. При этом сразу же откроется окно “Результаты поиска решения”, где можно сохранить/отменить результаты или настроить параметры поиска заново. Если результаты нас устраивают, оставляем отметку напротив опции “Сохранить найденное решение” и нажимаем ОК. При этом, если мы предварительно установим галочку слева от надписи “Вернуться в диалоговое окно параметров поиска решения”, после того, как мы щелкнем OK, мы обратно переключимся к настройке функции поиска решения.
- Вполне вероятно, что расчеты могут показаться неправильными, либо возникнет желание немного изменить исходные данные и получить другой результат. В этом случае нужно снова открыть окно с параметрами поиска решения и внимательно посмотреть поля с введенными данными.
- Если с данными все нормально, можно попробовать задействовать другой метод решения. Для этого щелкаем по текущему варианту и из раскрывшегося перечня выбираем способ, который нам кажется наиболее подходящим:
- Первый – ищет решение методом обобщенного приведенного градиента (ОПГ) для нелинейных задач. Стандартно выбран именно этот вариант, но можно попробовать и другие.
- Второй – пытается отыскать решение для линейных задач, используя симплекс-метод.
- Третий – для выполнения поставленной задачи использует эволюционный поиск.
- В том случае, если ни один из методов не принес удовлетворительных результатов, стоит проверить данные в таблице и параметрах еще раз, поскольку именно это является самой частой ошибкой в подобного рода задачах.
- Теперь, когда мы получили требуемую скидку, осталось ее применить, чтобы рассчитать суммы скидок по всем наименованиям. Для этого отмечаем первую ячейку столбца “Сумма скидки”, пишем в ней формулу “=D2*$G$2” и нажимаем Enter. Знаки доллара ставятся для того, чтобы при растягивании/копировании формулы на другие строки, ячейка G2 со скидкой оставалась неизменной в расчетах.
- Мы получили сумму скидки для первого наименования. Теперь наводим курсор на нижний правый угол ячейки с результатом, как только он поменяет форму на крестик, зажав левую кнопку мыши растягиваем формулу на все строки, по которым хотим посчитать аналогичную сумму.
- Теперь наша таблица полностью готова в соответствии с поставленной задачей.
Заключение
Таким образом, функция “Поиск решения” в Эксель может помочь в решении определенных задач, которые достаточно сложно или невозможно решить простыми методами. Однако, проблема в использовании данного способа заключается в том, что по умолчанию данная функция скрыта в программе, из-за чего многие пользователи не догадываются о ее существовании. Также функция довольно трудна в освоении и использовании, но при ее должном изучении, она может принести значительную пользу и облегчить работу.
Одной из самых интересных функций в программе Microsoft Excel является Поиск решения. Вместе с тем, следует отметить, что данный инструмент нельзя отнести к самым популярным среди пользователей в данном приложении. А зря. Ведь эта функция, используя исходные данные, путем перебора, находит наиболее оптимальное решение из всех имеющихся. Давайте выясним, как использовать функцию Поиск решения в программе Microsoft Excel.
Включение функции
Можно долго искать на ленте, где находится Поиск решения, но так и не найти данный инструмент. Просто, для активации данной функции, нужно её включить в настройках программы.
Для того, чтобы произвести активацию Поиска решений в программе Microsoft Excel 2010 года, и более поздних версий, переходим во вкладку «Файл». Для версии 2007 года, следует нажать на кнопку Microsoft Office в левом верхнем углу окна. В открывшемся окне, переходим в раздел «Параметры».
В окне параметров кликаем по пункту «Надстройки». После перехода, в нижней части окна, напротив параметра «Управление» выбираем значение «Надстройки Excel», и кликаем по кнопке «Перейти».
Открывается окно с надстройками. Ставим галочку напротив наименования нужной нам надстройки – «Поиск решения». Жмем на кнопку «OK».
После этого, кнопка для запуска функции Поиска решений появится на ленте Excel во вкладке «Данные».
Подготовка таблицы
Теперь, после того, как мы активировали функцию, давайте разберемся, как она работает. Легче всего это представить на конкретном примере. Итак, у нас есть таблица заработной платы работников предприятия. Нам следует рассчитать премию каждого работника, которая является произведением заработной платы, указанной в отдельном столбце, на определенный коэффициент. При этом, общая сумма денежных средств, выделяемых на премию, равна 30000 рублей. Ячейка, в которой находится данная сумма, имеет название целевой, так как наша цель подобрать данные именно под это число.
Коэффициент, который применяется для расчета суммы премии, нам предстоит вычислить с помощью функции Поиска решений. Ячейка, в которой он располагается, называется искомой.
Целевая и искомая ячейка должны быть связанны друг с другом с помощью формулы. В нашем конкретном случае, формула располагается в целевой ячейке, и имеет следующий вид: «=C10*$G$3», где $G$3 – абсолютный адрес искомой ячейки, а «C10» — общая сумма заработной платы, от которой производится расчет премии работникам предприятия.
Запуск инструмента Поиск решения
После того, как таблица подготовлена, находясь во вкладке «Данные», жмем на кнопку «Поиск решения», которая расположена на ленте в блоке инструментов «Анализ».
Открывается окно параметров, в которое нужно внести данные. В поле «Оптимизировать целевую функцию» нужно ввести адрес целевой ячейки, где будет располагаться общая сумма премии для всех работников. Это можно сделать либо пропечатав координаты вручную, либо кликнув на кнопку, расположенную слева от поля введения данных.
После этого, окно параметров свернется, а вы сможете выделить нужную ячейку таблицы. Затем, требуется опять нажать по той же кнопке слева от формы с введенными данными, чтобы развернуть окно параметров снова.
Под окном с адресом целевой ячейки, нужно установить параметры значений, которые будут находиться в ней. Это может быть максимум, минимум, или конкретное значение. В нашем случае, это будет последний вариант. Поэтому, ставим переключатель в позицию «Значения», и в поле слева от него прописываем число 30000. Как мы помним, именно это число по условиям составляет общую сумму премии для всех работников предприятия.
Ниже расположено поле «Изменяя ячейки переменных». Тут нужно указать адрес искомой ячейки, где, как мы помним, находится коэффициент, умножением на который основной заработной платы будет рассчитана величина премии. Адрес можно прописать теми же способами, как мы это делали для целевой ячейки.
В поле «В соответствии с ограничениями» можно выставить определенные ограничения для данных, например, сделать значения целыми или неотрицательными. Для этого, жмем на кнопку «Добавить».
После этого, открывается окно добавления ограничения. В поле «Ссылка на ячейки» прописываем адрес ячеек, относительно которых вводится ограничение. В нашем случае, это искомая ячейка с коэффициентом. Далее проставляем нужный знак: «меньше или равно», «больше или равно», «равно», «целое число», «бинарное», и т.д. В нашем случае, мы выберем знак «больше или равно», чтобы сделать коэффициент положительным числом. Соответственно, в поле «Ограничение» указываем число 0. Если мы хотим настроить ещё одно ограничение, то жмем на кнопку «Добавить». В обратном случае, жмем на кнопку «OK», чтобы сохранить введенные ограничения.
Как видим, после этого, ограничение появляется в соответствующем поле окна параметров поиска решения. Также, сделать переменные неотрицательными, можно установив галочку около соответствующего параметра чуть ниже. Желательно, чтобы установленный тут параметр не противоречил тем, которые вы прописали в ограничениях, иначе, может возникнуть конфликт.
Дополнительные настройки можно задать, кликнув по кнопке «Параметры».
Здесь можно установить точность ограничения и пределы решения. Когда нужные данные введены, жмите на кнопку «OK». Но, для нашего случая, изменять эти параметры не нужно.
После того, как все настройки установлены, жмем на кнопку «Найти решение».
Далее, программа Эксель в ячейках выполняет необходимые расчеты. Одновременно с выдачей результатов, открывается окно, в котором вы можете либо сохранить найденное решение, либо восстановить исходные значения, переставив переключатель в соответствующую позицию. Независимо от выбранного варианта, установив галочку «Вернутся в диалоговое окно параметров», вы можете опять перейти к настройкам поиска решения. После того, как выставлены галочки и переключатели, жмем на кнопку «OK».
Если по какой-либо причине результаты поиска решений вас не удовлетворяют, или при их подсчете программа выдаёт ошибку, то, в таком случае, возвращаемся, описанным выше способом, в диалоговое окно параметров. Пересматриваем все введенные данные, так как возможно где-то была допущена ошибка. В случае, если ошибка найдена не была, то переходим к параметру «Выберите метод решения». Тут предоставляется возможность выбора одного из трех способов расчета: «Поиск решения нелинейных задач методом ОПГ», «Поиск решения линейных задач симплекс-методом», и «Эволюционный поиск решения». По умолчанию, используется первый метод. Пробуем решить поставленную задачу, выбрав любой другой метод. В случае неудачи, повторяем попытку, с использованием последнего метода. Алгоритм действий всё тот же, который мы описывали выше.
Как видим, функция Поиск решения представляет собой довольно интересный инструмент, который, при правильном использовании, может значительно сэкономить время пользователя на различных подсчетах. К сожалению, далеко не каждый пользователь знает о его существовании, не говоря о том, чтобы правильно уметь работать с этой надстройкой. В чем-то данный инструмент напоминает функцию «Подбор параметра…», но в то же время, имеет и существенные различия с ним.
Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как в Excel использовать функцию «Поиск решения», с помощью которой можно менять различные значения в ячейках, чтобы получить желаемый результат. Этой функцией можно пользоваться в Windows и Mac OS X, но сначала ее нужно включить.
-
1
Запустите Microsoft Excel. Нажмите на значок в виде белой буквы «X» на зеленом фоне.
- Функция «Поиск решения» встроена в Excel (для Windows и Mac OS X), но активировать ее нужно вручную.
-
2
Нажмите Пустая книга. Откроется пустая таблица.
- Если вы хотите использовать функцию «Поиск решения» для уже существующего файла Excel, откройте его, вместо того чтобы создавать новый.
-
3
Откройте меню Файл. Оно находится в верхнем левом углу окна Excel.
- На компьютере Mac нажмите «Инструменты» и пропустите следующий шаг.
-
4
Щелкните по Параметры. Вы найдете эту опцию в нижней части меню «Файл». Откроется окно «Параметры».[1]
-
5
Нажмите Надстройки. Это вкладка в левой нижней части окна «Параметры».
- На компьютере Mac нажмите «Надстройки Excel» в меню «Инструменты».
-
6
Откройте меню «Управление» в нижней правой части окна. В меню выберите «Надстройки Excel» и нажмите «Перейти».
- На компьютере Mac это окно откроется, когда вы нажмете «Надстройки Excel» в меню «Инструменты».
-
7
Включите надстройку «Поиск решения». Установите флажок у «Поиск решения» посередине страницы, а затем нажмите «ОК». Теперь на вкладке «Данные» (вверху окна) появится опция «Поиск решения».
Реклама
-
1
Уясните, для чего предназначена функция «Поиск решения». Она анализирует данные электронной таблицы и любые заданные вами ограничения, чтобы представить вам возможные решения. Это полезно, если вы работаете с несколькими переменными.
-
2
Введите данные в электронную таблицу. Чтобы вы могли использовать функцию «Поиск решения», электронная таблица должна содержать данные с различными переменными.
- Например, введите в таблицу доходы и расходы за месяц, чтобы в целевой ячейке получить желаемый остаток.
- Рассматриваемую функцию нельзя использовать в таблице, в которой нет формул.
-
3
Щелкните по вкладке Данные. Она находится в верхней части окна Excel. Откроется панель инструментов «Данные».
-
4
Нажмите Поиск решения. Вы найдете эту опцию справа на панели инструментов «Данные». Откроется окно «Поиск решения».
-
5
Выберите целевую ячейку. Щелкните по ячейке, в которой отобразится решение. Адрес ячейки отобразится в поле «Установить целевую ячейку».
- Например, если вы создаете бюджет, конечной целью которого является определенный ежемесячный доход, щелкните по последней ячейке столбца «Доход».
-
6
Задайте целевое значение. Установите флажок у «Значению», а затем введите целевое значение в текстовое поле рядом с опцией «Значению».
- Например, если ваша цель — получить 20000 рублей в конце месяца, введите 20000 в текстовое поле.
- Также можно установить флажок у «Максимальному значению» или «Минимальному значению», чтобы функция определила абсолютное максимальное или минимальное значение.
- Когда вы установите цель, функция попытается достичь ее, изменив другие значения в таблице.
-
7
Добавьте ограничения. Ограничения устанавливаются на значения, которые может использовать функция, чтобы она не аннулировала одно или несколько значений. Чтобы добавить ограничение:[2]
- Нажмите «Добавить».
- Щелкните по ячейке (или выберите ячейки), к которой будет применено ограничение.
- Выберите тип ограничения в меню посередине окна.
- Введите число в поле «Ограничение» (например, максимальное или минимальное значение).
- Нажмите «ОК».
-
8
Выполните функцию «Поиск решения». Для этого нажмите «Выполнить» в нижней части окна. Функция найдет оптимальное решение вашей проблемы.
-
9
Просмотрите результаты. Когда функция оповестит вас, что она нашла решение, просмотрите таблицу, чтобы найти измененные значения.
-
10
Измените критерии функции «Поиск решения». Если полученный результат вас не устраивает, нажмите «Отмена» во всплывающем окне, а затем измените целевое значение и ограничения.
- Если вам нравится полученный результат, установите флажок у «Сохранить найденное решение», а затем нажмите «ОК».
Реклама
Советы
- Рассматриваемую функцию лучше всего использовать для решения таких задач, как планирование графиков сотрудников, определение минимальной цены (которую можно установить за единицу товара и получить желаемый доход) и составление бюджета.
Реклама
Предупреждения
- Функцию «Поиск решения» нельзя использовать в электронных таблицах, в которых нет выходных данных или фактического решения, например в таблице, в которой нет формул.
Реклама
Об этой статье
Эту страницу просматривали 29 960 раз.
Была ли эта статья полезной?
Оптимизация значений таблицы Excel, удовлетворяющих определенным критериям, может быть сложным процессом. К счастью, Microsoft предлагает надстройку Решение проблем для численной оптимизации. Хотя данный сервис не может решить всех проблем, он может быть полезным в качестве инструмента что-если. Данный пост посвящен надстройке Решение проблем в Excel.
Надстройка Решение проблем доступна во всех версиях Excel. Обратите внимание, что скриншоты могут не соответствовать вашей версии. Несмотря на то, что некоторые функции могут менять свое местоположение в зависимости от версии надстройки, функционал остается практически неизменным.
Что такое Поиск решений
Поиск решений – надстройка Excel, которая помогает найти решение с помощью изменения значений целевых ячеек. Целью может быть минимизация, максимизация или достижение некоторого целевого значения. Проблема решается путем регулировки входных критериев или ограничений, определенных пользователем.
Где в Excel поиск решений
Надстройка Поиск решений поставляется вместе с Excel, но по умолчанию отключена. Чтобы включить его, перейдите по вкладке Файл в группу Параметры. В появившемся диалоговом окне Параметры, выберите Надстройки -> Управление: Надстройки Excel -> Перейти. В окне Надстройки устанавливаем галочку напротив поля Поиск решения, жмем ОК.
Теперь во вкладке Данные появилась новая группа Анализ с кнопкой Поиск решения.
Пример использования Поиска решения
Данный пост основан на примере использования Надстройки Поиск решения. Файл совместим со всеми версиями Excel.
Определение проблемы
Предположим, что у нас есть набор данных, состоящий из 8 пунктов, каждому из которых соответствует свое значение.
… и нам необходимо скомбинировать значения в две группы так, чтобы суммы значений этих групп примерно совпадали.
Для начала требуется определить каждый пункт к какой-нибудь группе.
Чтобы указать привязанность пункта к группе, будем помечать их единицей (1), в противном случае нулем (0).
В следующем столбце мы будем суммировать значения каждого пункта в группе, и затем подведем итог в конце столбца.
Нам также необходимо обработать значение каждого пункта в каждой группе, для этого умножаем значение пункта на значение группы, соответствующее этому пункту.
Наконец, нам необходимо свести сумму групп и работать с разницей между ними.
Наша задача минимизировать разницу между суммами групп.
Теперь мы можем присвоить каждой группе пункты, для этого вручную проставляем единицы в столбцах С и D. Excel отобразит разницу сумм групп в ячейке G11.
Для большей наглядности я добавил условное форматирование для ячеек, имеющих значение >0.
Проблема в том, что количество возможных комбинаций 28, т.е. 256 вероятных ответов на вопрос. Если на каждый из них тратить по 5 секунд, это займет у нас 21,3 минуты, предполагая, что мы сможем выдержать темп и запомнить лучшую комбинацию.
Вот где Поиск решения находит применение.
Поиск оптимального решения в Excel
Чтобы применить сервис Поиск решения, нам необходимо определить ряд требований, правил и ограничений, которые позволят надстройке найти правильный ответ.
Наши правила
Наше основное требование – это минимизировать разницу между двумя группами. В нашем примере она находится в ячейке G11 – Группа B минус Группа A. Нам нужно, чтобы значение в ячейке G11 было настолько малым насколько это возможно, но больше или равно 0.
Мы также знаем, что пункт может находиться либо в Группе A, либо в Группе B, к тому он не может быть дробным. Таким образом у нас два ограничения для каждого элемента:
Во-первых: Значение элемента в колонке Итог должна равняться единице.
Во-вторых: Значения элементов в группах должны быть целыми.
Мы также знаем, что общее количество элементов 8, это еще одно ограничение. Как использовать эти ограничения мы обсудим в следующем разделе.
Диалоговое окно Поиска решения
В этом разделе описано окно надстройки Поиск решения и его использования для определения проблемы.
Пустое окно Поиска решения
Заполненное окно Поиска решения
Оптимизировать целевую функцию
Это целевая ячейка, в которой мы пытаемся решить проблему. Наша целевая ячейка G11 – разница в группах.
До
Здесь мы указываем, каких результатов хотим добиться от целевой функции.
Мы хотим, чтобы суммы обоих групп совпадали, т.е. чтобы разница сумм была равна 0. Это может показаться странным, но нам не требуется минимизировать разницу, потому что при этом все элементы будут помещены в Группу A, что приведет к значению ячейки G11 меньше нуля.
Другой способ наложения ограничения – изменить G11 на =ABS(G10-F10). При этом мы сможем установить маркер на Минимум, как результат достижения целевой функции.
Но пока мы остановимся на формуле =G10-F10 и установим маркер в значение равным 0.
Изменяя ячейки переменных
Изменяемые ячейки – ячейки, которые надстройка попытается изменить, чтобы решить задачу. В нашем случае это привязка элемента к конкретной группе: $C$2:$D$9.
В соответствии с ограничениями
Ограничения – это правила, которые лимитируют возможные решения проблемы.
Нам необходимо добавить несколько ограничений в наш список:
- В колонке Итого каждый элемент должен равняться 1
- Элементы групп должны быть целым числом
- Сумма значений столбца Итого должна равняться 8
Чтобы наложить ограничения, жмем кнопку Добавить
- Для каждой ячейки диапазона E2:E9 устанавливаем ограничение значения равным 1
- Для каждой ячейки диапазона C2:D9 устанавливаем ограничение значение целое число.
- Необходимо добавить ограничение на сумму обоих групп, ячейка E10 = 8.
Вы можете Изменить или Удалить ограничение, если допустили ошибку, выбрав конкретное ограничение и нажав соответствующие кнопки в диалоговом окне.
Загрузить/сохранить параметры поиска решений
Сервис поиска решений позволяет сохранять и загружать параметры надстройки. Для этого в окне существует кнопка Загрузить/сохранить. Параметры модели сохраняются в диапазон, который вы указали ранее. Данный подход позволяет быстро настраивать и изменять параметры Поиска решения.
Запуск поиска оптимального решения в Excel
Предупреждение!!! Надстройка поиск решения является сложной вычислительной надстройкой, поэтому перед запуском сохраните рабочую книгу.
Прежде чем запустить модель, необходимо задать еще несколько параметров, чтобы убедиться, что сервис отработает корректно. В основном диалоговом окне убедитесь, что стоит маркер напротив поля Сделать переменные без ограничений неотрицательными. В этом же окне нажмите кнопку Параметры.
Два параметра, которые необходимо будет менять время от времени:
Точность ограничения: значение от 0 до 1, где, чем больше цифра, тем больше ограничение
Целочисленная оптимальность: показывает насколько далеко от целого числа ограничение имеет право быть.
Запуск модели
Чтобы запустить надстройку нажмите кнопку Найти решение в основном окне.
В строке состояния вы увидите ряд статических данных, которые будут отображать внутреннюю работу надстройки. Как правило, они быстро меняются, и читать их сложно. Если модель сложная, то работа может остановится на некоторое время, надстройка обычно восстанавливается от этих проблем сама.
После того, как Поиск решения закончит свою работу, Excel отобразит диалоговое окно Результаты поиска решения с некоторой информацией. Первое, на что стоит обратить внимание – это надпись Решение найдено в пределах допустимого отклонения. Если решение найдено, ячейки рабочей книги изменятся с предложенным решением.
Теперь у вас есть 4 варианта на выбор:
— Запустить отчет
— Сохранить сценарий
— Восстановить исходные значения
— Сохранить найденное решение
Запустить отчет
Вы можете создать отчет, выбрав доступные из списка отчетов. Будет создан новый лист Отчет о результатах1.
Обратите внимание, что в зависимости от установленных вами ограничений, будут доступны различные отчеты.
Сохранить сценарий
Если вы нажмете кнопку Сохранить сценарий, Excel откроет следующее диалоговое окно:
Где необходимо ввести название вашего сценария модели и нажать кнопку ОК.
Все сценарии доступны в Диспетчере сценариев, который находится во вкладке Данные в группе Работа с данными –> Анализ что-если -> Диспетчер сценариев.
Вернуться к модели
К тому же, вы можете вернуться к модели и:
— Восстановить исходные значения
— Сохранить найденное решение
Проверка результатов
Сервис Поиск решения, вероятно, самая непредсказуемая система в Excel. Таким образом, все найденные решения, которые он выдает необходимо перепроверять вручную, для дальнейшего использования.
Данная проверка на реалистичность должна начинаться с подтверждения, что все результаты удовлетворяют заданным критериям:
— Являются ли результаты примерно похожими на ваши ожидания?
— Не нарушены ли максимумы и минимумы?
Поиск решения — это надстройка Microsoft Excel, с помощью которой можно найти оптимальное решение задачи с учетом заданных пользователем ограничений.
Поиск решения будем рассматривать в
MS EXCEL 2010
(эта надстройка претерпела некоторые изменения по сравнению с предыдущей версией в
MS EXCEL 2007)
. В этой статье рассмотрим:
- создание оптимизационной модели на листе MS EXCEL
-
настройку
Поиска решения;
- простой пример (линейная модель).
Установка Поиска решения
Команда
Поиск решения
находится в группе
Анализ
на вкладке
Данные
.
Если команда
Поиск решения
в группе
Анализ
недоступна, то необходимо включить одноименную надстройку. Для этого:
-
На вкладке
Файл
выберите команду
Параметры
, а затем — категорию
Надстройки
; -
В поле
Управление
выберите значение
Надстройки Excel
и нажмите кнопку
Перейти;
-
В поле
Доступные надстройки
установите флажок рядом с пунктом
Поиск решения
и нажмите кнопку ОК.
Примечание
. Окно
Надстройки
также доступно на вкладке
Разработчик
. Как включить эту вкладку
читайте здесь
.
После нажатия кнопки
Поиск решения
в группе
Анализ,
откроется его диалоговое окно
.
При частом использовании
Поиска решения
его удобнее запускать с Панели быстрого доступа, а не из вкладки Данные. Чтобы поместить кнопку на Панель, кликните на ней правой клавишей мыши и выберите пункт
Добавить на панель быстрого доступа
.
О моделях
Этот раздел для тех, кто только знакомится с понятием Оптимизационная модель.
Совет
. Перед использованием
Поиска решения
настоятельно рекомендуем изучить литературу по решению оптимизационных задач и построению моделей.
Ниже приведен небольшой ликбез по этой теме.
Надстройка
Поиск решения
помогает определить
лучший способ
сделать
что-то
:
- «Что-то» может включать в себя выделение денег на инвестиции, загрузку склада, доставку товара или любую другую предметную деятельность, где требуется найти оптимальное решение.
- «Лучший способ» или оптимальное решение в этом случае означает: максимизацию прибыли, минимизацию затрат, достижение наилучшего качества и пр.
Вот некоторые типичные примеры оптимизационных задач:
-
Определить
план производства
, при котором доход от реализации произведенной продукции максимальный;
-
Определить
схему перевозок
, при которой общие затраты на перевозку были бы минимальными;
-
Найти
распределение нескольких станков по разным видам работ
, чтобы общие затраты на производство продукции были бы минимальными;
- Определить минимальный срок исполнения всех работ проекта (критический путь).
Для формализации поставленной задачи требуется создать модель, которая бы отражала существенные характеристики предметной области (и не включала бы незначительные детали). Следует учесть, что модель оптимизируется
Поиском решения
только по одному показателю
(этот оптимизируемый показатель называется
целевой функцией
). В MS EXCEL модель представляет собой совокупность связанных между собой формул, которые в качестве аргументов используют переменные. Как правило, эти переменные могут принимать только допустимые значения с учетом заданных пользователем ограничений.
Поиск решения
подбирает такие значения этих переменных (с учетом заданных ограничений), чтобы целевая функция была максимальной (минимальной) или была равна заданному числовому значению.
Примечание
. В простейшем случае модель может быть описана с помощью одной формулы. Некоторые из таких моделей могут быть оптимизированы с помощью инструмента
Подбор параметра
. Перед первым знакомством с
Поиском решения
имеет смысл сначала детально разобраться с родственным ему инструментом
Подбор параметра
. Основные отличия
Подбора параметра
от
Поиска решения
:
Подбор параметра
работает только с моделями с одной переменной;- в нем невозможно задать ограничения для переменных;
- определяется не максимум или минимум целевой функции, а ее равенство некому значению;
- эффективно работает только в случае линейных моделей, в нелинейном случае находит локальный оптимум (ближайший к первоначальному значению переменной).
Подготовка оптимизационной модели в MS EXCEL
Поиск решения
оптимизирует значение целевой функции. Под целевой функцией подразумевается формула, возвращающая единственное значение в ячейку. Результат формулы должен зависеть от переменных модели (не обязательно напрямую, можно через результат вычисления других формул). Ограничения модели могут быть наложены как на диапазон варьирования самих переменных, так и на результаты вычисления других формул модели, зависящих от этих переменных. Все ячейки, содержащие переменные и ограничения модели должны быть расположены только на одном листе книги. Ввод параметров в диалоговом окне
Поиска решения
возможен только с этого листа. Целевая функция (ячейка) также должна быть расположена на этом листе. Но, промежуточные вычисления (формулы) могут быть размещены на других листах.
Совет
. Организуйте данные модели так, чтобы на одном листе MS EXCEL располагалась только одна модель. В противном случае, для выполнения расчетов придется постоянно сохранять и загружать настройки
Поиска решения
(см. ниже).
Приведем алгоритм работы с
Поиском решения
, который советуют сами разработчики (
]]>
www.solver.com
]]> ):
- Определите ячейки с переменными модели (decision variables);
- Создайте формулу в ячейке, которая будет рассчитывать целевую функцию вашей модели (objective function);
- Создайте формулы в ячейках, которые будут вычислять значения, сравниваемые с ограничениями (левая сторона выражения);
-
С помощью диалогового окна
Поиск решения
введите ссылки на ячейки содержащие переменные, на целевую функцию, на формулы для ограничений и сами значения ограничений; -
Запустите
Поиск решения
для нахождения оптимального решения.
Проделаем все эти шаги на простом примере.
Простой пример использования
Поиска решения
Необходимо загрузить контейнер товарами, чтобы вес контейнера был максимальным. Контейнер имеет объем 32 куб.м. Товары содержатся в коробках и ящиках. Каждая коробка с товаром весит 20кг, ее объем составляет 0,15м3. Ящик — 80кг и 0,5м3 соответственно. Необходимо, чтобы общее количество тары было не меньше 110 штук.
Данные модели организуем следующим образом (см.
файл примера
).
Переменные модели (количество каждого вида тары) выделены зеленым. Целевая функция (общий вес всех коробок и ящиков) – красным. Ограничения модели: по минимальному количеству тары (>=110) и по общему объему (<=32) – синим. Целевая функция рассчитывается по формуле
=СУММПРОИЗВ(B8:C8;B6:C6)
– это общий вес всех коробок и ящиков, загруженных в контейнер. Аналогично рассчитываем общий объем —
=СУММПРОИЗВ(B7:C7;B8:C8)
. Эта формула нужна, чтобы задать ограничение на общий объем коробок и ящиков (<=32). Также для задания ограничения модели рассчитаем общее количество тары
=СУММ(B8:C8)
. Теперь с помощью диалогового окна
Поиск решения
введем ссылки на ячейки содержащие переменные, целевую функцию, формулы для ограничений и сами значения ограничений (или ссылки на соответствующие ячейки). Понятно, что количество коробок и ящиков должно быть целым числом – это еще одно ограничение модели.
После нажатия кнопки
Найти решение
будут найдены такие количества коробок и ящиков, при котором общий их вес (целевая функция) максимален, и при этом выполнены все заданные ограничения.
Совет
: в статье »
Поиск решения MS EXCEL. Экстремум функции с несколькими переменными. Граничные условия заданы уравнениями
» показано решение задачи, в которой функция и граничные условия заданы в явном виде, т.е. математическими выражениями типа F(x1, x2, x3)=x1+2*x2+6*x3, что существенно облегчает построение модели, т.к. не требуется особо осмыслять задачу: можно просто подставить переменные x в поле переменные, а ограничения ввести в соответствующее поле окна Поиска решения.
Резюме
На самом деле, основной проблемой при решении оптимизационных задач с помощью
Поиска решения
является отнюдь не тонкости настройки этого инструмента анализа, а правильность построения модели, адекватной поставленной задаче. Поэтому в других статьях сконцентрируемся именно на построении моделей, ведь «кривая» модель часто является причиной невозможности найти решение с помощью
Поиска решения
. Зачастую проще просмотреть несколько типовых задач, найти среди них похожую, а затем адаптировать эту модель под свою задачу. Решение классических оптимизационных задач с помощью
Поиска решения
рассмотрено
в этом разделе
.
Поиску решения не удалось найти решения (Solver could not find a feasible solution)
Это сообщение появляется, когда
Поиск решения
не смог найти сочетаний значений переменных, которые одновременно удовлетворяют всем ограничениям. Если вы используете
Симплекс метод решения линейных задач
, то можно быть уверенным, что решения действительно не существует. Если вы используете метод решения нелинейных задач, который всегда начинается с начальных значений переменных, то это может также означать, что допустимое решение далеко от этих начальных значений. Если вы запустите
Поиск решения
с другими начальными значениями переменных, то, возможно, решение будет найдено. Представим, что при решении задачи нелинейным методом, ячейки с переменными были оставлены не заполненными (т.е. начальные значения равны 0), и
Поиск решения
не нашел решения. Это не означает, что решения действительно не существует (хотя это может быть и так). Теперь, основываясь на результатах некой экспертной оценки, в ячейки с переменными введем другой набор значений, который, по Вашему мнению, близок к оптимальному (искомому). В этом случае,
Поиск решения
может найти решение (если оно действительно существует).
Примечание
. О влиянии нелинейности модели на результаты расчетов можно прочитать в последнем разделе статьи
Поиск решения MS EXCEL (4.3). Выбор места открытия нового представительства
.
В любом случае (линейном или нелинейном), Вы должны сначала проанализировать модель на непротиворечивость ограничений, то есть условий, которые не могут быть удовлетворены одновременно. Чаще всего это связано с неправильным выбором соотношения (например, <= вместо >=) или граничного значения. Если, например, в рассмотренном выше примере, значение максимального объема установить 16 м3 вместо 32 м3, то это ограничение станет противоречить ограничению по минимальному количеству мест (110), т.к. минимальному количеству мест соответствует объем равный 16,5 м3 (110*0,15, где 0,15 – объем коробки, т.е. самой маленькой тары). Установив в качестве ограничения максимального объема 16 м3,
Поиск решения
не найдет решения.
При ограничении 17 м3
Поиск решения
найдет решение.
Некоторые настройки
Поиска решения
Метод решения
Рассмотренная выше модель является линейной, т.е. целевая функция (M – общий вес, который может быть максимален) выражена следующим уравнением M=a1*x1+a2*x2, где x1 и x2 – это переменные модели (количество коробок и ящиков), а1 и а2 – их веса. В линейной модели ограничения также должны быть линейными функциями от переменных. В нашем случае ограничение по объему V=b1*x1+b2*x2 также выражается линейной зависимостью. Очевидно, что другое ограничение — Максимальное количество тары (n) – также линейно x1+x2
Поиска решения
можно также проверить на линейность саму модель. В случае нелинейной модели Вы получите следующее сообщение:
В этом случае необходимо выбрать метод для решения нелинейной задачи. Примеры нелинейных зависимостей: V=b1*x1*x1; V=b1*x1^0,9; V=b1*x1*x2, где x – переменная, а V – целевая функция.
Кнопки Добавить, Изменить, Удалить
Эти кнопки позволяют добавлять, изменять и удалять ограничения модели.
Кнопка Сбросить
Чтобы удалить все настройки
Поиска решения
нажмите кнопку
Сбросить
– диалоговое окно очистится.
Сохранение и загрузка модели
Эта опция удобна при использовании разных вариантов ограничений. При сохранении параметров модели (кнопка
Загрузить/ Сохранить,
далее нажмите кнопку
Сохранить
) предлагается выбрать верхнюю ячейку диапазона (столбца), в который будут помещены: ссылка на целевую функцию, ссылки на ячейки с переменными, ограничения и параметры методов решения (доступные через кнопку
Параметры
). Перед сохранением убедитесь в том, что этот диапазон не содержит данных модели. Для загрузки сохраненных параметров нажмите сначала кнопку
Загрузить/ Сохранить
, затем, в появившемся диалоговом окне кнопку
Загрузить
, после чего задайте диапазон ячеек, содержащих сохраненные ранее настройки (нельзя указывать только одну верхнюю ячейку). Нажмите кнопку OK. Подтвердите сброс текущих значений параметров задачи и их замену на новые.
Точность
При создании модели исследователь изначально имеет некую оценку диапазонов варьирования целевой функции и переменных. Принимая во внимание
ограниченную точность
вычислений в MS EXCEL, рекомендуется, чтобы эти диапазоны варьирования были значительно выше точности вычисления (она обычно устанавливается от 0,001 до 0,000001). Как правило, данные в модели нормируют так, чтобы диапазоны варьирования целевой функции и переменных были в пределах 0,1 – 100 000. Конечно, все зависит от конкретной модели, но если ваши переменные изменяются более чем на 5-6 порядков, то возможно следует «загрубить» модель, например, с помощью операции логарифмирования.