Ищем оптимальное решение задачи с неизвестными параметрами в excel
Содержание:
- Простой пример использования Поиска решения
- Поиск решения
- Основные параметры поиска решений
- Установка Поиска решения
- Подготовка оптимизационной модели в MS EXCEL
- Что такое Поиск решений?
- Подготовительный этап
- Поиск решения в Excel
- Как пользоваться функциями подбора параметра и поиска решения в Excel
- Создание формулы
- Конкретные примеры использования
- Как включить функцию “Поиск решения” в Excel
- Алгоритм решения
Простой пример использования Поиска решения
Необходимо загрузить контейнер товарами, чтобы вес контейнера был максимальным. Контейнер имеет объем 32 куб.м. Товары содержатся в коробках и ящиках. Каждая коробка с товаром весит 20кг, ее объем составляет 0,15м3. Ящик — 80кг и 0,5м3 соответственно. Необходимо, чтобы общее количество тары было не меньше 110 штук.
Данные модели организуем следующим образом (см. файл примера ).
Переменные модели (количество каждого вида тары) выделены зеленым. Целевая функция (общий вес всех коробок и ящиков) – красным. Ограничения модели: по минимальному количеству тары (>=110) и по общему объему ( =) или граничного значения. Если, например, в рассмотренном выше примере, значение максимального объема установить 16 м3 вместо 32 м3, то это ограничение станет противоречить ограничению по минимальному количеству мест (110), т.к. минимальному количеству мест соответствует объем равный 16,5 м3 (110*0,15, где 0,15 – объем коробки, т.е. самой маленькой тары). Установив в качестве ограничения максимального объема 16 м3, Поиск решения не найдет решения.
При ограничении 17 м3 Поиск решения найдет решение.
Поиск решения
оптимизационные и многие Поиска решения получаем оказаться неожиданным
Например,Важно:Целевая ячейка, в которой решения» в ExcelЕсли мы говорим о будет изменяться (Е2, в котором есть с ним. ограничениях, иначе, может. После этого, окно параметров углу окна
В: Загрузка надстройки для Домашняя версия появится как простейшие математические решение.
После этого, окно параметров углу окна. В: Загрузка надстройки для Домашняя версия появится как простейшие математические решение.
при решении данной позволит вам создать открывшемся окне, переходимОптимальный вариант – сконцентрироватьсяИ последнее, на образом, в диапазонеРешим задачу об оптимизации
сможете выделить нужную
«Параметры». и примеры его метода решения. Если подобрать метод решенияКроме того, в состав «Методы оптимизации управленияДелаем таблицу со значениями – подобрать сбалансированное «Сделать переменные без
Под окном с адресом по кнопке «Перейти». сначала загрузить ее. входить урезанные версии матрицы А.Условие. Рассчитать, какую сумму
решение, оптимальное вДо Excel 2010Поиска решения
Фирма производит две указать в поле
3 В заключение предлагаю
- и обратную задачу: программы? что в разных
- наиболее полезными бухгалтерам
- «Проект комапании Мегашоп».
- настройки установлены, жмем в ней. Это надстройки – «Поиск Excel. — Excel. ОсновныеНажимаем кнопку «Вставить функцию». 000 рублей. Процентная меню, число рейсов попробовать свои силынажимаем кнопку ограничено наличием сырья или диапазоны. Собственно, подобрать исходные данныеЕсли вы используете в версиях офисного пакета и экономистам. ЭтоВсе в мире меняется, на кнопку «Найти может быть максимум,
- решения». Жмем наВыберите команду Надстройки, функции будут сохранены Категория – «Математические».
решение». в обоих программах,В Excel для решенияи попадаем в
Для каждого изделияОдним из таких инструментов
нашего с вами ячейках выполняет необходимые
случае, это будет запуска функции Поиска пункт Надстройки Excel. по-прежнему редактировать несложные вписываем диапазон матрицыОформим исходные данные в следующие команды: его помощью стариннуюПервый из выделенных модели А требуется получить в целевой
является нажатии на кнопку что вам придется пользователей. Учитывая, что желания. Эту непреложную
расчеты. Одновременно с последний вариант. Поэтому, решений появится наНажмите кнопку Перейти. документы, таблицы и А. виде таблицы:
Подбор параметров («Данные» - задачу: параметров отвечает за 3 м² досок, ячейке заданное значение
Поиск решения «Параметры», в котором самостоятельно разбираться в нижеприведенные ситуации характерны истину особенно хорошо выдачей результатов, открывается ставим переключатель в
ленте Excel воВ окне Доступные диаграммы.
Нажимаем одновременно Shift+Ctrl+Enter -Так как процентная ставка «Работа с данными»Крестьянин на базаре за
точность вычислений. Уменьшая а для изделияОграничения задаются с помощью, который особенно удобен есть пункт «Параметры ситуации. К счастью, именно для них, знают пользователи компьютера, окно, в котором позицию «Значения», и вкладке «Данные». надстройки установите флажок
для решения так поиска решения».Теперь, после того, как течение всего периода, — «Подбор параметра») 100 голов скота. более точного результата, 4 м². ФирмаДобавить называемых «задач оптимизации».Чтобы выполнить поиск готового нет, так что
excelworld.ru>
Основные параметры поиска решений
Найти решение задачи можно тремя способами. Во-первых, вручную перебирать параметры, пока не найдется оптимальное соотношение. Во-вторых, составить уравнение с большим количеством неизвестных. В-третьих, вбить данные в Excel и использовать «Поиск решений». Последний способ самый быстрый и покажет максимально точное решение, если знать, как использовать функцию.
Итак, мы решаем задачу с помощью поиска решений в Excel и начинаем с математической модели. В ней четыре типа данных: константы, изменяемые ячейки, целевая функция и ограничения. К поиску решения вернемся чуть позже, а сейчас разберемся, что входит в каждый из этих типов:
Константы — исходная информация. К ней относится удельная маржинальная прибыль, стоимость каждой перевозки, нормы расхода товарно-материальных ценностей. В нашем случае — производительность работников, их оплата и норма в 1000 изделий. Также константа отражает ограничения и условия математической модели: например, только неотрицательные или целые значения. Мы вносим константы в таблицу цифрами или с помощью элементарных формул (СУММ, СРЗНАЧ).
Изменяемые ячейки — переменные, которые в итоге нужно найти. В задаче это распределение 1000 изделий между работниками с минимальными затратами. В разных случаях бывает одна изменяемая ячейка или диапазон
При заполнении функции «Поиск решений» важно оставить ячейки пустыми — программа сама найдет значения
Целевая функция — результирующий показатель, для которого Excel подбирает наилучшие показатели. Чтобы программа понимала, какие данные наилучшие, мы задаем функцию в виде формулы. Эту формулу мы отображаем в отдельной ячейке. Результирующий показатель может принимать максимальное или минимальное значения, а также быть конкретным числом.
Ограничения — условия, которые необходимо учесть при оптимизации функции, называющейся целевой. К ним относятся размеры инвестирования, срок реализации проекта или объем покупательского спроса. В нашем случае — количество дней и число работников.
Установка Поиска решения
Команда Поиск решения находится в группе Анализ на вкладке Данные .
Если команда Поиск решения в группе Анализ недоступна, то необходимо включить одноименную надстройку. Для этого:
- На вкладке Файл выберите команду Параметры , а затем — категорию Надстройки >;
- В поле Управление выберите значение Надстройки Excel и нажмите кнопку Перейти;
- В поле Доступные надстройки установите флажок рядом с пунктом Поиск решения и нажмите кнопку ОК.
Примечание . Окно Надстройки также доступно на вкладке Разработчик . Как включить эту вкладку читайте здесь .
После нажатия кнопки Поиск решения в группе Анализ, откроется его диалоговое окно .
При частом использовании Поиска решения его удобнее запускать с Панели быстрого доступа, а не из вкладки Данные. Чтобы поместить кнопку на Панель, кликните на ней правой клавишей мыши и выберите пункт Добавить на панель быстрого доступа .
Подготовка оптимизационной модели в MS EXCEL
Поиск решения оптимизирует значение целевой функции. Под целевой функцией подразумевается формула, возвращающая единственное значение в ячейку. Результат формулы должен зависеть от переменных модели (не обязательно напрямую, можно через результат вычисления других формул). Ограничения модели могут быть наложены как на диапазон варьирования самих переменных, так и на результаты вычисления других формул модели, зависящих от этих переменных. Все ячейки, содержащие переменные и ограничения модели должны быть расположены только на одном листе книги. Ввод параметров в диалоговом окне Поиска решения возможен только с этого листа. Целевая функция (ячейка) также должна быть расположена на этом листе. Но, промежуточные вычисления (формулы) могут быть размещены на других листах.
Совет . Организуйте данные модели так, чтобы на одном листе MS EXCEL располагалась только одна модель. В противном случае, для выполнения расчетов придется постоянно сохранять и загружать настройки Поиска решения (см. ниже).
Приведем алгоритм работы с Поиском решения , который советуют сами разработчики ( www.solver.com ):
- Определите ячейки с переменными модели (decision variables);
- Создайте формулу в ячейке, которая будет рассчитывать целевую функцию вашей модели (objective function);
- Создайте формулы в ячейках, которые будут вычислять значения, сравниваемые с ограничениями (левая сторона выражения);
- С помощью диалогового окна Поиск решения введите ссылки на ячейки содержащие переменные, на целевую функцию, на формулы для ограничений и сами значения ограничений;
- Запустите Поиск решения для нахождения оптимального решения.
Проделаем все эти шаги на простом примере.
Что такое Поиск решений?
Поиск решений в Excel 2007 является надстройкой программы. Это означает, что в обычной конфигурации, выпускаемой производителем, этот пакет не устанавливается. Его нужно загружать и настраивать отдельно. Дело в том, что чаще всего пользователи обходятся без него. Также надстройку нередко называют «Решатель», поскольку она способна вести точные и быстрые вычисления, зачастую независимо от того, насколько сложная задача ей представлена.
Если версия Microsoft Office является оригинальной, тогда проблем с установкой не возникнет. Пользователю нужно сделать несколько переходов:
Параметры→Сервис→Надстройки→Управление→Надстройки Excel.
Откроется окно, в котором есть кнопка перехода. После клика на нее на экране появится список всех предлагаемых надстроек, как установленных, так и неиспользуемых. Теперь нужно найти Поиск решений, затем поставить галочку. Инструмент активизирован, можно пользоваться им в любое время.
Подготовительный этап
Добавить функцию на ленту программы – половина дела. Нужно еще понять принцип ее работы.
Итак, у нас есть данные про продаже товаров, представленные в табличном виде.
И перед нами стоит задача – назначить каждому товару скидку таким образом, чтобы сумма по всем скидкам составила 4,5 млн. рублей. Она должна отобразиться в отдельной ячейке, которая называется целевой. Ориентируясь на нее мы должны рассчитать остальные значения.
Наша задача – вычислить скидку, на которую будут умножены все суммы по продажам всех наименований. Она и будет найдена с помощью функции “Поиск решения”, а ячейка с этой скидкой будет называется искомой.
Данные ячейки (искомая и целевая) связываем вместе формулой, которую пишем в целевой ячейке следующим образом: =D13*$G$2, где ячейка D13 содержит итоговую сумму по продажам всех товаров, а ячейка $G$2 – абсолютные (неизменные) координаты искомой ячейки.
Поиск решения в Excel
Поиск решения – это надстройка Excel, позволяющая делать задачи на оптимизацию. Как это работает: у вас есть данные, которые связаны между собой формулами. При этом на какой-то результирующий итог влияют как положительным, так и отрицательным образом. Например, прибыль зависит от расходов на рекламу как положительно (ведь чем больше рекламы, тем больше объем продаж), так и отрицательно (расходы на рекламу увеличивают общие расходы и уменьшают прибыль). В конце статьи будет ссылка на файл, где вы сможете сами посмотреть наглядно таблицу и прорешать параллельно со мной.
Поиск решения путем подбора данных находит наиболее эффективное значение. В нашем случае, максимальную прибыль. Я взял небольшую таблицу: Здесь, как видите, синим обозначена целевая ячейка, та, которую нужно максимизировать, изменяя расходы на рекламу (зеленые ячейки). Хитрость в том, что прибыль зависит от объема продаж (в штуках), а от него, в свою очередь зависят и расходы и доходы, которые формируют прибыль. Т.е., просто увеличив или уменьшив расходы на рекламу, вы не получите лучшего результата. В этом и состоит ценность Поиска решения – он делает перебор всех возможных значений по своему алгоритму и получает наилучший результат. Кто проходил обучение по моему самоучителю , уже в курсе, как это делается и как применяется.
Еще есть ограничение бюджет рекламных расходов в 40 тыс. долл. за 4 месяца.
Итак, приступим к технической части.
- Если вы никогда не пользовались этой надстройкой, придется ее сначала установить. Дело в том, что по умолчанию Поиск решения не ставится. Заходим Офис/Параметры Excel/Надстройки/Кнопка “Перейти”. Мы уже заходили сюда, когда делали сумму прописью .
- Теперь, у вас на вкладке Данные появилась команда “Поиск решения”. Нажимаем и видим такое окошко:
- Целевая ячейка – это там, которую мы хотим максимизировать, это результат. У нас это B15. Т.е. я хочу увидеть, какими должны быть расходы на рекламу, чтобы в январе у меня была максимальная прибыль. Ставим выбор “максимальному значению”.
- Изменяя ячейки – ставим диапазон ячеек, от которых зависит итог. У меня это все расходы на рекламу, т.е. диапазон B11 – E11.
- Ограничения – ну без них никак. Excel мыслит больше математически, поэтому нам надо:
- Поставить условия положительности изменяемых ячеек. B11:E11 > 0
- Ограничить рекламный бюджет за 4 месяца. F11=40000
- Нажимаем на кнопку “Выполнить”. Если что-то пошло не так, а это бывает, обнулите диапазон изменяемых ячеек, может помочь.
В итоге мы получим нужный результат
Если не получим, значит, надо пересмотреть условия, возможно, что-то некорректно проставлено или задача не имеет решения.
Видео по теме (5 минут):
Как пользоваться функциями подбора параметра и поиска решения в Excel
Функция поиска решения пригодится при необходимости определить неизвестную величину
Табличный процессор Microsoft Excel может выполнять не только простые операции с числами (сложение, умножение), расчет суммы или среднего значения. У этой программы имеется очень мощный функционал, который позволяет решать задачи разной сложности. Например, Эксель может оптимизировать значения в таблице, подставляя их таким образом, чтобы они удовлетворяли определенным критериям. Для этого программа оснащена специальными средствами для анализа данных: первый — это подбор параметра, а второй — поиск решения.
Создание формулы
Формулы являются уравнениями, которые способствуют выполнению вычислений программы. Если таковые не вводить, то не будет работать Поиск решения в Excel. Задачи, соответственно, тоже не станут решаться. Поэтому для удачного выполнения поставленного задания необходимо правильно ввести формулу.
Вычисление начинается со знака равенства. К примеру, если в ячейке указывается «=КОРЕНЬ(номер клетки)», то будет использована соответствующая функция.
После того как была напечатана основная формула со знаком «=», нужно указать на данные, с которыми она будет взаимодействовать. Это может быть одна или несколько ячеек. Если формула подходит для 2-3 клеток, то объединить их можно, используя знак «+».
Чтобы найти нужную информацию, можно воспользоваться функцией поиска. Например, если нужна формула с буквой «A», то ее и надо указывать. Тогда пользователю будут предложены все данные, ее в себя включающие.
Конкретные примеры использования
Закончив с виртуальным примером, который помог разобраться с особенностями построения таблицы и задачи условий перейдём к более приземлённым и конкретным примерам. С их помощью в задаче будет разобраться немного проще.
Изготовление йогурта
Попробуем рассчитать какой из видов йогурта при разной концентрации компонентов производить лучше, чем остальные. Для этого определим компоненты, их соотношение и стоимость конечного продукта, при условии ограниченности запасов:
В раздел «Расход сырья» внесены формулы, которые опираются на «количество» и нормы расхода. Прибыль является произведением стоимости и количества. Количество и будет переменной, которая будет изменяться в пределах «запасы». Для этого формируется следующий набор условий:
В результате вычислений (с учётом дробного остатка, поскольку условие работы только с целыми числами добавлено не было), получилось, что эффективнее всего производить 1 и 3 йогурты, а второй полностью игнорировать.
Затраты на рекламу
Другим вопросом, с которым поможет эта функция будет «оптимизация расходов на рекламу». В этом случае перед пользователем стоит задача: повысить возможную прибыль посредством изменения рекламных вложений в определённые месяцы.
Итак, прибыль является целевой ячейкой (выделена изумрудным цветом). Зелёным выделены расходы на рекламу, а красным максимальные затраты. При поиске решения ограничиваем подстановку переменных в значениях рекламы максимумом, а в качестве цели ставим максимизацию прибыли.
В результате получаем максимизированную прибыль в указанном месяце, посредством грамотного распределения рекламного бюджета между остальными месяцами.
Отсюда и вытекает главный недостаток «поиска решений». Он оперирует лишь конечной (одной) ячейкой. Чтобы максимизировать прибыль требуется работать с последней ячейкой (прибыль – всего), что сопряжено с вероятностью появления ошибки в программе, если формулы настроены неверно.
Как включить функцию “Поиск решения” в Excel
Для решения транспортных задач в Excel существует специальная функция, которая называется «Поиск решения». Она не активирована по умолчанию, поэтому нужно сделать следующие шаги:
- Открыть меню «Файл», которое находится в левом верхнем углу окна программы.
- После этого нажимаем на кнопку с параметрами.
- Далее находим подраздел «Настройки» и переходим в меню управления надстройками. Это маленькие программы, которые выполняются в рамках среды Microsoft Excel. Видим, что сначала мы нажали на меню «Надстройки», а потом в правой части внизу выставили пункт «Надстройки Excel» и нажали на кнопку «Перейти». Все нужные действия выделены красными прямоугольниками и стрелочками.
- Далее включаем надстройку «Поиск решения», после чего подтверждаем свои действия нажатием клавиши ОК. Исходя из описания настройки, мы видим, что она предназначена для анализа сложных данных, таких как научные и финансовые.
- После этого переходим во вкладку «Данные», где видим новую кнопку, которая называется так же, как и надстройка. Ее можно найти в группе инструментов «Анализ».
Осталось только кликнуть по этой кнопке, и мы переходим к решению транспортной задачи. Но перед этим следует немного подробнее поговорить про инструмент «Поиск решения» в Excel. Это специальное дополнение Эксель, которое дает возможность находить самое быстрое решение задачи. Характерная особенность – учет ограничений, которые пользователь задает на этапе подготовки. Если говорить простым языком, это подпрограмма, дающая возможность определить самый лучший способ достижения определенной задачи. К таким задачам могут относиться следующие:
- Инвестирование, загрузка склада или любая другая подобная деятельность. В том числе, и доставка товара.
- Лучший способ. Сюда входят такие задачи, как достижение максимальной прибыли при минимальных издержках, способы достижения самого лучшего качества при имеющихся ресурсах и так далее.
Кроме транспортных задач, эта надстройка используется и для таких целей:
- Разработка плана производства. То есть, сколько нужно выработать единиц товара, чтобы достичь максимального дохода.
- Найти распределение рабочих сил по разным видам работ, чтобы суммарные затраты на производство товара или услуг были самыми маленькими.
- Установить, сколько минимально времени понадобится на то, чтобы выполнить все работы.
Как видим, задачи бывают самыми разными. Универсальное правило применения этой надстройки – необходимо перед решением задачи создать модель, которая бы соответствовала ключевым характеристикам поставленной проблемы. Моделью является совокупность функций, которые используют переменные в качестве своих аргументов. То есть, значения, которые могут изменяться.
Надстройка «Поиск решения» осуществляет перебор разных значений переменных, которые передаются целевой функции таким образом, чтобы она была максимальной, минимальной или равной определенному значению (именно это и является ограничением). Есть еще одна функция, которая несколько похожая по своему принципу действия, и какую нередко путают с «Поиском решения». Называется она «Подбор параметра». Но если копнуть более глубоко, то разница между ними колоссальная:
- Функция «Подбор параметра» не работает больше, чем с одной переменной.
- Она не предусматривает возможности задавать ограничения для переменных.
- Способна определять только равенство целевой функции определенному значению, но не дает возможности находить максимум и минимум. Поэтому для нашей задачи она не подходит.
- Способна эффективно вычислять лишь если модельно линейного типа. Если модель нелинейная, то она находит значение, которое наиболее близкое к изначальному.
Транспортная задача по своей структуре значительно сложнее, поэтому надстройки «Подбор параметра» для этого недостаточно. Давайте разберемся более детально, как реализовать на практике функцию «Поиск решения» на примере транспортной задачи.
Алгоритм решения
Итак, приступи к решению нашей задачи:
- Для начала строим таблицу, количество строк и столбцов в которой соответствует числу продавцов и покупателей, соответственно.
- Перейдя в любую свободную ячейку щелкаем по кнопке “Вставить функцию” (fx).
- В открывшемся окне выбираем категорию “Математические”, в списке операторов отмечаем “СУММПРОИЗВ”, после чего щелкаем OK.
- На экране отобразится окно, в котором нужно заполнить аргументы:
- в поле для ввода значения напротив первого аргумента “Массив1” указываем координаты диапазона ячеек матрицы затрат (с желтым фоном). Сделать это можно, используя клавиши на клавиатуре, или просто выделив нужную область в самой таблице с помощью зажатой левой кнопки мыши.
- в качестве значения второго аргумента “Массив2” указываем диапазон ячеек новой таблицы (либо вручную, либо выделив нужные элементы на листе).
- по готовности жмем OK.
- Щелкаем по ячейке, расположенной слева от самого верхнего левого элемента новой таблицы, после чего снова жмем кнопку “Вставить функцию”.
- На этот раз нам нужна функция “СУММ”, которая также, находится в категории “Математические”.
- Теперь нужно заполнить аргументы. В качестве значения аргумента “Число1” указываем верхнюю строку созданной для расчетов таблицы (целиком) – вручную или методом выделения на листе. Жмем кнопку OK, когда все готово.
- В ячейке с функцией появится результат, равный нулю. Наводим указатель мыши на ее правый нижний угол, и когда появится Маркер заполнения в виде черного плюсика, зажав левую кнопку мыши тянем его до конца таблицы.
- Это позволит скопировать формулу и получить аналогичные результаты для остальных строк.
- Выбираем ячейку, которая находится сверху от самого верхнего левого элемента созданной таблицы. Аналогично описанным выше действиям вставляем в нее функцию “СУММ”.
- В значении аргумента “Число1” теперь указываем (вручную или с помощью выделения на листе) все ячейки первого столбца, после чего кликаем OK.
- С помощью Маркера заполнения выполняем копирование формулы на оставшиеся ячейки строки.
- Переключаемся во вкладку “Данные”, где жмем по кнопке функции “Поиск решения” (группа инструментов “Анализ”).
- Перед нами появится окно с параметрами функции:
- в качестве значения параметра “Оптимизировать целевую функцию” указываем координаты ячейки, в которую ранее была вставлена функция “СУММПРОИЗВ”.
- для параметра “До” выбираем вариант – “Минимум”.
- в области для ввода значений напротив параметра “Изменяя ячейки переменных” указываем диапазон ячеек новой таблицы (без суммирующей строки и столбца).
- нажимаем кнопку “Добавить” в блоке “В соответствии с ограничениями”.
- Откроется небольшое окошко, в котором мы можем добавить ограничение – сумма значений первых столбцов исходной и созданной таблицы должны быть равны.
- становимся в поле “Ссылка на ячейки”, после чего указываем нужный диапазон данных в таблице для расчетов.
- затем выбираем знак “равно”.
- в качестве значения для параметра “Ограничение” указываем координаты аналогичного столбца в исходной таблице.
- щелкаем OK по готовности.
- Таким же способом добавляем условие по равенству сумм верхних строк таблиц.
- Также добавляем следующие условия касательно суммы ячеек в таблице для расчетов (диапазон совпадает с тем, который мы указали для параметра “Изменяя ячейки переменных”):
- больше или равно нулю;
- целое число.
- В итоге получаем следующий список условий в поле “В соответствии с ограничениями”. Проверяем, чтобы обязательно была поставлена галочка напротив опции “Сделать переменные без ограничений неотрицательными”, а также, чтобы в качестве метода решения стояло значение “Поиск решения нелинейных задач методов ОПГ”. Когда все готово, нажимаем “Найти решение”.
- В результате будет выполнен расчет и отобразится окно с результатами поиска решения. Оцениваем их, и в случае, когда они нас устраивают, нажимаем OK.
- Все готово, мы получили таблицу с заполненными данными и транспортную задачу можно считать успешно решенной.