Скачиваний:
41
Добавлен:
08.04.2015
Размер:
476.05 Кб
Скачать

ПРИЛОЖЕНИЕ. НАДСТРОЙКА «ПОИСК РЕШЕНИЯ»

П.1. Общие сведения

Надстройка «Поиск решения» предназначена для решения задач оптимизации. Ее можно использовать для линейных и нелинейных моделей при наличии ограничений или без них. Для решения задач линейного программирования «Поиск решения» использует оптимизационный алгоритм симплекс метода, для задач нелинейной оптимизации – метод сопряженных градиентов.

Поиск решения разработан компанией Frontline Systems, Inc. (http://www.solver.com). В оригинальной англоязычной версии надстройка «Поиск решения» носит название Solver. Существует несколько версий программы, одна из которых входит в состав стандартной комплектации MS Excel и позволяет решать задачи, содержащие до 200 переменных. Для сложных задач с большим количеством переменных и ограничений (до 1000) Frontline Systems, Inc. разработала более «мощную» модификацию – Premium Solver, обладающую и более высоким быстродействием. Она не входит в состав стандартной комплектации MS Excel и предлагается в виде отдельного программного продукта на коммерческой основе.

«Поиск решения» не появляется в меню Excel автоматически при

Рис. П.1.

151

установке Microsoft Office или Excel на компьютер. Для активации надстройки необходимо в пункте меню «Сервис» войти в «Надстройки…» и в открывшемся диалоговом окне поставить флажок в окошке около надписи «Поиск решения». После чего в пункте меню «Сервис» появится строка «Поиск решения...» - рис. П.1. В дальнейшем вызов надстройки можно выполнять из пункта меню Сервис ¾ Поиск ре-

шения....

П.2. Ввод информации о модели линейного программирования в надстройку «Поиск решения»

После запуска программы по команде Сервис ¾ Поиск решения...

открывается диалоговое окно (рис. П.2.).

Рис. П.2.

По терминологии, применяемой в надстройке, «целевая ячейка» – это ячейка, в которой записана формула для вычисления целевой функции. «Изменяемые ячейки» – это ячейки, в которых расположены переменные решения x1, x2,Kxn .

Вполе «Установить целевую ячейку:» указывается адрес ячейки,

вкоторой записана формула для вычисления целевой функции. В зависимости от типа задачи линейного программирования (на максимум или на минимум), в соответствующем поле устанавливаются флажки

«Равной: максимальному значению» или «Равной: минимальному значению». Для тех задач, где требуется, чтобы целевая функция бы-

152

ла в точности равна некоторому определенному значению, ставится флажок у надписи «Равной: «значению:»» и в поле справа устанавливается это требуемое значение.

Поле «Изменяя ячейки:» предназначено для ввода адресов тех ячеек, куда помещены переменные решения x1, x2,Kxn . Значения

этих ячеек изменяются («подбираются») программой в процессе поиска решения до тех пор, пока не будут выполнены ограничения и условие оптимизации, указанные в поле «Установить целевую ячейку». Кнопка «Предположить», расположенная справа от поля «Изменяя ячейки», используется для автоматического поиска ячеек, влияющих на формулу, ссылка на которую дана в поле Установить целевую ячейку. Результат поиска отображается в поле Изменяя ячейки.

Для записи ограничений в диалоговом окне «Поиска решения» предусмотрено поле «Ограничения:». Ввод каждого из ограничений производится с помощью кнопки «Добавить». После ее нажатия появляется диалоговое окно «Добавление ограничения» (рис. П.3.).

Рис. П.3.

Адреса ячеек рабочего листа Excel, в которых записаны формулы для вычисления левых частей ограничений, записываются в левом поле «Ссылка на ячейку:». Адреса ячеек, в которых записаны константы (числовые значения) для правых частей ограничений, вносятся в правое поле «Ограничение:». Знаки ограничений « <= », « = », « >=» и тип переменных (двоичные – «двоич.», целочисленные – «цел.») вводятся в среднем поле. Для ввода каждого последующего ограничения следует нажать клавишу «Добавить» и повторить процедуру. После завершения ввода необходимо нажать клавишу «OK» и программа вернется в основное окно «Поиска решений» (рис. П.2.), где в поле «Ограничения:» появятся введенные условия. Внести изменения или удалить любое из выделенных ограничений можно клавишами «Из-

менить» и «Удалить».

Кнопка «Выполнить» служит для запуска программы по поиску оптимального решения.

153

Кнопка «Закрыть» предназначена для выхода из окна диалога без запуска «Поиска решения». При этом установки, сделанные в окнах, сохраняются.

Копка «Восстановить» служит для очистки полей окна и восстановления значений параметров «Поиска решения», используемых по умолчанию.

П.3. Параметры надстройки «Поиск решения»

Надстройка «Поиск решения» предназначена для решения не только линейных оптимизационных задач, но и для решения задач нелинейного программирования. Поэтому надстройке нужно «указать», какая из задач будет решаться, а также задать ряд важных параметров, связанных с вычислительными особенностями программы. Для этого следует нажать кнопку «Параметры» (рис. П.2.) и перейти в диалого-

вое окно «Параметры поиска решения» (рис. П.4.).

Рис. П.4.

Для задач линейного программирования в открывшемся диалоговом окне необходимо установить флажок «Линейная модель».

Параметр «Неотрицательные значения» служит для задания условия неотрицательности переменных, если оно не было задано ранее.

154

Задать условие неотрицательности переменных можно также в окне «Ограничения» (рис.П.3.). Однако делать это следует только в одном месте. Дублирование условий неотрицательности может приводить к ошибкам в работе «Поиска решения».

Параметр «Автоматическое масштабирование» рекомендуется устанавливать всегда, и особенно в тех задачах, где масштаб переменных решения или параметров модели существенно отличается друг от друга (граммы и тонны, рубли и миллионы рублей и т.д.). В этом случае программа автоматически отмасштабирует переменные для избежания накопления ошибок округления.

Рис. П.5.

Параметр «Показывать результаты итераций». При установке флажка в этом поле «Поиск решения» будет останавливаться после выполнения каждого вычислительного шага (итерации) и выводить диалоговое окно «Текущее состояние поиска решения» (рис. П.5.).

Полученное на данном шаге решение отображается на рабочем листе Excel. При каждой остановке пользователю предлагаются варианты дальнейших действий: остановка или продолжение работы программы (кнопки «Продолжить» или «Стоп»), а также возможность сохранения текущего решения под определенным именем (кнопка «Сохра-

нить сценарий…») – рис. П.6.

Рис. П.6.

С помощью параметра «Максимальное время» задается время (в

155

секундах), которое выделяется надстройке для нахождения решения. В поле можно ввести время (в секундах), не превышающее 32767. По умолчанию оно равно 100с. Если в течение заданного времени решение не будет найдено, то появится диалоговое окно «Текущее состояние поиска решения» (рис. П.7.), предлагающее два варианта – остановку или продолжение работы.

Рис. П.7.

Параметр «Предельное число итераций» задает максимальное число итераций число промежуточных вычислений, вычислительных «шагов», задаваемое «Поиску решения» для оптимизации. По умолчанию оно равно 100. Если «Поиск решения» выполнит заданное количество итераций и при этом оптимальное решение не будет най-

дено, то откроется окно «Текущее состояние поиска решения» (рис.

П.8.), предлагающее два варианта дальнейших действий – остановку или продолжение работы.

Рис. П.8.

Параметр «Относительная погрешность» задает точность выполнения ограничений. Ограничение считается выполненным (в виде равенства), если разность значений между правой и левой частями ограничения не превышает по абсолютной величине значения, заданного в этом поле. По умолчанию Относительная погрешность задается равной 0,000001. Для получения удовлетворительных результатов реко-

156

мендуется задавать Относительную погрешность в диапазоне от

0,0001 до 0,000001.

Параметр «Допустимое отклонение» используется для ускорения вычислений только в задачах целочисленного линейного програм-

мирования. По умолчанию это значение равно 5%. Задача считается решенной, если разность между двумя последовательными значениями целевой функции, найденными в процессе оптимизации, не превышает 5%. Для получения точного решения в поле «Допустимое отклонение» необходимо ввести значение, равное нулю.

Параметры «Сходимость», «Оценки», «Разности», «Метод поис-

ка» используется для оптимизации нелинейных моделей.

Кнопка «Сохранить модель» предусмотрена для сохранения на рабочем листе Excel более одной модели оптимизации (первая модель сохраняется автоматически). При ее нажатии на экран выводится диалоговое окно «Сохранить модель» (рис. П.9.), в котором можно задать ссылку на область ячеек, предназначенную для сохранения модели оптимизации.

Кнопка «Загрузить модель» выводит на экран диалоговое окно «Загрузка модели» (рис. П.9.), в котором можно задать ссылку на область ячеек, содержащих загружаемую модель. Используется в случае, если на рабочем листе Excel содержится более чем одна модель оптимизации.

Рис. П.9.

При сохранении модели и ее последующей загрузке восстанавливается следующая информация: адреса изменяемых ячеек, ограничения, адрес ячейки с целевой функцией и параметры, установленные в диалоговом окне «Параметры поиска решения».

Для большинства моделей с относительно небольшим количеством переменных можно использовать значения параметров «Поиска решения», которые установлены по умолчанию. Исключение составляют параметры «Линейная модель», «Неотрицательные значения» и «Автоматическое масштабирование», для которых в задачах линей-

ного программирования всегда следует устанавливать флажки.

157

П.4. Отчеты надстройки «Поиск решения»

После получения оптимального решения Надстройка «Поиск решения» создает и «предлагает» три типа отчетов: «Результаты», «Устойчивость», «Пределы» (рис. П.10.). При их активации в поле «Тип отчета» (рис. П.10.), в рабочую книгу Excel добавляются новые листы с соответствующими названиями «Отчет по результатам», «Отчет по устойчивости», «Отчет по пределам».

Рис. П.10.

«Отчет по устойчивости» состоит из двух частей (таблиц). Первая таблица называется «Изменяемые ячейки». Столбец «Ячейка» содержит адреса ячеек с переменными решения (табл. П.1.).

Таблица П.1. Отчет по устойчивости.

Изменяемые

ячейки

 

Результ.

Нормир.

Целевой

Допустимое

Допустимое

Ячейка

Имя значение стоимость Коэффициент Увеличение Уменьшение

 

 

 

 

 

 

 

 

 

 

Ограничения

 

 

 

 

 

Результ.

Теневая

Ограничение

Допустимое

Допустимое

Ячейка

Имя значение

Цена

Правая часть

Увеличение

Уменьшение

 

 

 

 

 

 

Столбец «Имя» формируется «Поиском решения» по следующему принципу: для названий вначале берутся первые текстовые заголовки

158

из табличной модели Excel, расположенные слева от соответствующей ячейки, и к ним добавляется первый текстовой заголовок, расположенный над ячейкой. Это следует иметь в виду, если необходимо наполнить отчет легко читаемым и понятным содержательным смыслом. В столбце «Результ. Значение» выводятся найденные «Поиском решения» оптимальные значения для переменных. Столбец «Нормированная стоимость» будет содержать ненулевые значения только для тех переменных, которые не войдут в оптимальный план. В этом случае нормированная стоимость показывает, на сколько нужно увеличить коэффициент целевой функции, для того, чтобы соответствующая переменная вошла в оптимальный план (не была равна нулю).

Вдругих столбцах выводятся значения коэффициентов целевой функции («Целевой коэффициент») и для каждого из них указываются границы устойчивости – «Допустимое увеличение» и «Допустимое уменьшение». Допустимое увеличение и Допустимое уменьшение задают диапазон устойчивости, в котором изменение данного целевого коэффициента не приводит к изменению оптимального решения (значений переменных решения). При этом полагается, что остальные целевые коэффициенты остаются неизменными.

Вторая таблица Отчета по устойчивости называется «Ограничения». В нее «Поиск решения» выводит результаты оценки чувствительности оптимальных решений к изменению правых частей ограничений. Столбец «Ячейка» содержит адреса ячеек с формулами левых частей ограничений. Столбец «Имя» формируется «Поиском решения» по тому же принципу, что и в первой таблице, – для названий вначале берутся первые текстовые заголовки из табличной модели Excel, расположенные слева от соответствующей ячейки, и к ним добавляется первый текстовый заголовок, расположенный над ячейкой.

Встолбец «Результ. Значение» выводятся вычисленные значения левых частей ограничений. В столбце «Ограничение Правая часть» выведены исходные значения правых частей ограничений.

Столбец «Теневая цена» содержит наиболее ценную информацию для анализа (глава 4). Теневая цена показывает, на сколько увеличится (уменьшится) значение целевой функции при увеличении (уменьшении) правой части ограничения на единицу. При этом столбцы «До-

пустимое увеличение» и «Допустимое уменьшение» показывают, в

каких границах теневая цена актуальна, т.е. может использоваться для анализа. При выходе за границы допустимого увеличения или уменьшения влияние изменений правой части данного неравенства на целевую функцию нельзя оценивать на основе полученных теневых цен

(см. главы 3,4).

159

«Отчет по пределам» (табл. П.2.) выводит результаты оптимизации – максимальное значение целевой функции и оптимальные значения переменных решения (колонки «Значение»). Кроме того, он показывает наименьшее (колонка «Нижний предел») и наибольшее (колонка «Верхний предел») значения для переменных решения, которые каждая из них может принимать при удовлетворении ограничений и при неизменности значений остальных переменных. В колонках «Целевой результат» приводятся значения целевой функции при стоящем в левой ячейке значении соответствующей переменной решения.

Таблица П.2. Отчет по пределам.

Целевое

Ячейка Имя Значение

 

Изменяемое

Нижний

Целевой

Верхний

Целевой

Ячейка

Имя

Значение предел

результат

предел

результат

 

 

 

 

 

 

«Отчет по результатам» содержит исходные и оптимальные значения для целевой функции и переменных решения. Кроме того, в отчете (колонка «Статус») указывается, какие из ограничений являются лимитирующими (по терминологии, применяемой «Поиском решения» – связанными), а какие не лимитирующими (не связанными).

Таблица П.3. Отчет по результатам.

Целевая ячейка (Максимум)

Ячейка

Имя

Исходное значение

Результат

 

 

 

 

 

 

 

 

Изменяемые

 

 

 

ячейки

 

 

 

Ячейка

Имя

Исходное значение

Результат

 

 

 

 

 

 

 

 

Ограничения

 

 

 

Ячейка

Имя

Значение

Формула Статус Разница

 

 

 

 

160

Соседние файлы в папке Книжка по ЛП