Поиск решений в Excel — пример использования сервиса поиск решений в Excel
Опубликовано 19.08.2013 Автор Ренат Лотфуллин
Оптимизация значений таблицы 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, это еще одно ограничение. Как использовать эти ограничения мы обсудим в следующем разделе.