Лаб-Поиск решения

ПРАКТИЧЕСКОЕ ЗАНЯТИЕ
ИСПОЛЬЗОВАНИЕ АЛГОРИТМА ОПТИМИЗАЦИИ
НАДСТРОЙКА «ПОИСК РЕШЕНИЯ» В MS EXCEL
Надстройка «Поиск решения» является частью блока задач, который иногда называют [ Cкачайте файл, чтобы посмотреть ссылку ]. «Поиск решения» позволяет найти оптимальное значение для [ Cкачайте файл, чтобы посмотреть ссылку ], содержащейся в одной ячейке, называемой целевой. 
Поиск решения» работает с группой ячеек, прямо или косвенно связанных с формулой в целевой ячейке. Чтобы получить заданный результат по формуле из целевой ячейки, «Поиск решения» изменяет значения в назначенных ячейках, называемых изменяемыми ячейками. Для уменьшения количества значений, используемых в модели, применяются [ Cкачайте файл, чтобы посмотреть ссылку ], которые могут ссылаться на другие ячейки, влияющие на формулу для целевой ячейки.
Инструмент «Поиск решения» приложения Microsoft Office Excel использует программу нелинейной оптимизации Generalized Reduced Gradient (GRG2), разработанную Леоном Ласдоном (Leon Lasdon, University of Texas at Austin) и Аланом Уореном (Allan Waren, Cleveland State University).
Алгоритмы симплексного метода с ограничениями на переменные и метода ветвей и границ для решения линейных и целочисленных задач оптимизации разработаны Джоном Уотсоном (John Watson) и Дениэлом Филстра (Daniel Fylstra) из компании Frontline Systems, Inc. Для получения дополнительных сведений об используемых алгоритмах оптимального поиска

Цель занятия: Использование надстройки «Поиск решения» Excel для создания модели «Задача кассира».
Постановка задачи: В кассе имеется определенное количество купюр различного достоинства. Требуется создать в Excel имитационную модель поиска оптимального варианта подбора купюр заданного достоинства для набора необходимой суммы денег.

Окно «Поиск решения» вызывается из меню "Сервис":
поставьте курсор в поле "Установить целевую ячейку";
введите адрес целевой ячейки или сделайте одно нажатие левой клавиши мыши на целевую ячейку в экранной форме ( это будет равносильно вводу адреса с клавиатуры;
введите направление оптимизации ЦФ, щелкнув один раз левой клавишей мыши по селекторной кнопке "максимальному значению".



Ввод ограничений и граничных условий

Задание ячеек переменных
В окно "Поиск решения" в поле "Изменяя ячейки" впишите адреса необходимых ячеек. Необходимые адреса можно вносить в поле "Изменяя ячейки" и автоматически путем выделения мышью соответствующих ячеек переменных непосредственно в экранной форме.

Задание граничных условий для допустимых значений переменных
В нашем случае на значения переменных накладывается только граничное условие неотрицательности, то есть их нижняя граница должна быть равна нулю (Нажмите кнопку "Добавить", после чего появится окно "Добавление ограничения"
В поле "Ссылка на ячейку" введите адреса ячеек переменных. Это можно сделать как с клавиатуры, так и путем выделения мышью всех ячеек переменных непосредственно в экранной форме.
В поле знака откройте список предлагаемых знаков и выберите 13 EMBED Equation.3 1415.
В поле "Ограничение" введите адреса ячеек нижней границы значений переменных. Их также можно ввести путем выделения мышью непосредственно в экранной форме.



Задание знаков ограничений 13 EMBED Equation.3 1415, 13 EMBED Equation.3 1415, =
Нажмите кнопку "Добавить" в окне "Добавление ограничения".
В поле "Ссылка на ячейку" введите адрес ячейки левой части конкретного ограничения. Это можно сделать как с клавиатуры, так и путем выделения мышью нужной ячейки непосредственно в экранной форме.
В соответствии с условием задачи выбрать в поле знака необходимый знак, например =.
В поле "Ограничение" введите адрес ячейки правой части рассматриваемого ограничения.
Подтвердите ввод всех перечисленных выше условий нажатием кнопки OK.
Окно "Поиск решения" после ввода всех необходимых данных задачи. Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных условий, то это делают, нажав кнопки "Изменить" или "Удалить"
Установка параметров решения задачи
Задача запускается на решение в окне "Поиск решения". Но предварительно для установления конкретных параметров решения задач оптимизации определенного класса необходимо нажать кнопку "Параметры" и заполнить некоторые поля окна "Параметры поиска решения"



Параметр "Максимальное время" служит для назначения времени (в секундах), выделяемого на решение задачи. В поле можно ввести время, не превышающее 32 767 секунд (более 9 часов).
Параметр "Предельное число итераций" служит для управления временем решения задачи путем ограничения числа промежуточных вычислений. В поле можно ввести количество итераций, не превышающее 32 767.
Параметр "Относительная погрешность" служит для задания точности, с которой определяется соответствие ячейки целевому значению или приближение к указанным границам. Поле должно содержать число из интервала от 0 до 1. Чем меньше количество десятичных знаков во введенном числе, тем ниже точность. Высокая точность увеличит время, которое требуется для того, чтобы сошелся процесс оптимизации.
Параметр "Допустимое отклонение" служит для задания допуска на отклонение от оптимального решения в целочисленных задачах. При указании большего допуска поиск решения заканчивается быстрее.
Параметр "Сходимость" применяется только при решении нелинейных задач.
Установка флажка "Линейная модель" обеспечивает ускорение поиска решения линейной задачи за счет применение симплекс-метода.
Подтвердите установленные параметры нажатием кнопки "OK".
Запуск задачи на решение производится из окна "Поиск решения" путем нажатия кнопки "Выполнить".
После запуска на решение задачи ЛП на экране появляется окно "Результаты поиска решения" с одним из сообщений, представленных на рис.


Сообщение об успешном решении задачи



Сообщение при несовместной системе ограничений задачи



Сообщение при неограниченности ЦФ в требуемом направлении

Иногда сообщения, представленные на рис. свидетельствуют не о характере оптимального решения задачи, а о том, что при вводе условий задачи в Excel были допущены ошибки, не позволяющие Excel найти оптимальное решение, которое в действительности существует.
Если при заполнении полей окна "Поиск решения" были допущены ошибки, не позволяющие Excel применить симплекс-метод для решения задачи или довести ее решение до конца, то после запуска задачи на решение на экран будет выдано соответствующее сообщение с указанием причины, по которой решение не найдено. Иногда слишком малое значение параметра "Относительная погрешность" не позволяет найти оптимальное решение. Для исправления этой ситуации увеличивайте погрешность поразрядно, например от 0,000001 до 0,00001 и т.д.
В окне "Результаты поиска решения" представлены названия трех типов отчетов: "Результаты", "Устойчивость", "Пределы". Они необходимы при анализе полученного решения на чувствительность. Для получения же ответа (значений переменных, ЦФ и левых частей ограничений) прямо в экранной форме просто нажмите кнопку "OK". После этого в экранной форме появляется оптимальное решение задачи

Создание модели:
Создаем новую книгу в Excel.
Активизируем надстройку «Поиск решения» (п. Меню «Сервис>Надстройки>Поиск решения».)
Ячейка A1= «Достоинство купюры (руб)»
Ячейка B1= «Количество (шт)»
Ячейки A2: А9= 1-2-5-10-50-100-500-1000 (формат числовой 0 –десятичных знаков)
Ячейки В2: В9= 1-2-3-4-5-8-9 (формат числовой 0 –десятичных знаков)
Ячейка A12= «Сумма (руб)»
Целевая ячейка В12 содержит формулу расчета: =A2*B2+A3*B3+A4*B4+A5*B5+A6*B6+A7*B7+A8*B8+A9*B9 (значение по умолчанию равно 12410)
Активизируем п. Меню «Сервис> Поиск решения»
Вводим установки: Установить целевую ячейку «В12» равной значению «5000», изменяя ячейки «В2: В9»
В «Ограничения» добавить «В2: В9=целое» и «В2: В9>=0»
Нажимаем на кнопку «Параметры» и устанавливаем значения: «Максимальное время»= 30 секунд и «Предельное число итераций» =10
Нажимаем на кнопку «Выполнить». Ждем результатов подбора и при необходимости сохраняем найденное решение.
Вводим дополнительные ограничения по количеству купюр (например, «В2 =2», В3=4 и т.п.» и повторяем поиск.
Проводим поиск решений для других заданных значений целевой ячейки (например, 3000) .

A B
Достоинство купюры (руб)
Количество


1
2

2
4

5
98

10
0

50
0

100
0

500
1

1000
2







Сумма (руб)
3000


Root EntryEquation Native

Приложенные файлы

  • doc 26757455
    Размер файла: 81 kB Загрузок: 0

Добавить комментарий