
Информационные системы менеджмента - Бажин И.И
..pdfГлава 6. Методы поиска оптимальных решений |
371 |
Рассмотрим пример. Требуется найти максимум функции F = 150xi + 125х2 при ограничениях
0,4х! + 0,286х2 < 100 0,3х! + 0,6х2 < 100 0.444Х! < 100 0,667X2 < 100
xi, х 2 > 0
Представим задачу в стандартном виде, записав ограничения-неравенства в виде равенств с помощью введения избыточных неотрицательных переменных х3 - х6. Система примет вид
0,4х1 + 0,286х2 + х3 < 100 О.Зх! + 0,6х2 +х4 < 100 0,444х! + х5 < 100 0,667х2 + х6 < 100
Xi, x2 > 0
В качестве исходного базиса выберем дополнительные переменные х3 - х6. При этом, в силу неотрицательности этих переменных, исходный базис будет допустимым.
|
|
Xi |
х2 |
1 |
Критерий 2 |
Хз = |
-0,4 |
-0,286 |
100 |
100/0,4 = 250 |
|
х4 |
= |
-0,3 |
-0,6 |
100 |
100/3 > 250 |
х5 |
= |
- 0,444 |
0 |
100 |
100/0,444 < 250 |
х6 |
= |
0 |
- 0,667 |
100 |
- |
F = |
150 |
125 |
0 |
|
Всоответствии с критерием 1, в качестве новой базисной переменной сле дует выбрать Xi (так как 150 > 125).
Вправой колонке таблицы помещены отношения критерия 2. Наименьшее отношение (100/0,444) соответствует переменной, которую следует вывести из базиса в независимые переменные. Для этого выполним шаг жорданова исклю чения с разрешающим элементом - 0,444. Новая таблица имеет вид:
|
|
х5 |
- |
х2 |
1 |
Критерий 2 |
Хз = |
0,9 |
0,286 |
9,91 |
9,91/0,286 = 34,6 |
||
х4 |
= |
0,576 |
|
-0,6 |
32,4 |
32,4/0,6 > 34,6 |
Xi |
= |
-2,25 |
|
0 |
225 |
- |
х6 |
= |
0 |
- |
0,667 |
100 |
100/0,667 > 34,6 |
F = |
- 337,8 |
|
125 |
33784 |
|
372 |
Часть1. Новые принципы работы |
Анализируя полученную таблицу с использованием критериев 1 и 2, опре деляем, что в новый базис следует ввести переменную х2 взамен переменной Хз. Для этого снова сделаем шаг жорданова исключения с разрешающим эле ментом - 0,286. Новая таблица примет вид:
|
|
5 |
Хз |
1 |
Критерий 2 |
|
|
х |
|
- |
|
х2 |
= |
3,15 |
-3,5 |
34,65 |
|
х4 |
= |
-1,21 |
2,1 |
11,6 |
11,6/1,21 =9,6 |
Х1 |
= |
-2,25 |
0 |
225 |
225/2,25 > 9,6 |
х6 |
= |
-2,1 |
2,33 |
76,9 |
76,9/2,1 > 9,6 |
F = |
55,6 |
-437,1 |
38114 |
|
Полученная таблица показывает, что это решение может быть улучшено, так как коэффициент функции F при переменной х5 (55,6) больше нуля. Следо вательно, в новый базис следует ввести переменную х6. Критерий 2 показывает, что вывести из базиса следует переменную х4. Произведем шаг жорданова ис ключения с разрешающим элементом -1,21. В результате получим таблицу
|
|
4 |
|
1 |
|
|
х |
Хз |
|
х2 = |
-2,6 |
1,96 |
65 |
|
5 |
= |
-0,83 |
1,73 |
9,6 |
х |
1,86 |
-3,9 |
204 |
|
Х1 |
= |
|||
6 |
= |
1,73 |
-1,31 |
56,7 |
х |
|
|
|
|
F = |
- 45,9 |
- 340,6 |
38656 |
Поскольку оба элемента небазисных переменных в строке F отрицательны, то полученное решение не может быть улучшено - оно и является оптималь ным. При этом интересующие нас переменные х-i и хг (при небазисных перемен ных х4 = х3 = 0) имеют следующие величины: Xi = 204, х2 = 65. Величина функ ции при этом F = 38656.
6.4.2. НЕЛИНЕЙНЫЕ ЗАДАЧИ УСЛОВНОЙ ОПТИМИЗАЦИИ
Рассмотрение методов решения нелинейных задач с ограничениями начнем с тех задач, которые содержат только ограничения в виде равенств. Сначала в качестве примера рассмотрим простую практическую задачу.
Пусть необходимо сконструировать бак заданной емкости W при минималь ном расходе материала (рис.6.19). Расход материала определяется площадью боковой поверхности, суммируемой с площадью днища (для бака без крышки).
374 |
Часть1. Новые принципы работы |
Следует иметь в виду непременное условие использования выражения (6.6). Оно состоит в том, что количество ограничений К должно быть меньше числа переменных п (К < п). Если это условие не выполняется, то, по сути, нет задачи оптимизации, так как число связей переменных превосходит само их ко личество.
Таким образом, задача свелась к отысканию минимума функции
F(x; A.k) -> min |
(6.7) |
Необходимым условием минимума функции (6.7) является равенство нулю ее градиента, что приводит к системе уравнений
^ |
= 0, |
1 = 1,2, . . . , п , |
(6.8) |
содержащей п уравнений с (п + К) переменными (п оптимизируемых парамет ров и К вспомогательных переменных - множителей Лагранжа).
Дополненная системой ограничений-равенств система (6.8) приводится к виду
dF(Xj;4) 0, |
i = 1 , 2 , . . . , n |
(6.9) |
5Xj |
|
|
hk(Xi) = 0, |
k = 1 , 2 , . . . , K |
|
Система (6.9) состоит из (п + К) уравнений и содержит (п + К) переменных. Таким образом, ее решение позволяет найти оптимальные значения п оптими зируемых параметров и К значений множителей Лагранжа в оптимальной точке.
Вернемся к задаче проектирования оптимальной конструкции бака, описан ной ранее. Составим функцию Лагранжа для этой задачи
F(x; ?ч) = 2(X!X3+ х2х3) + х-,х2+ ^ ( х ^ Х з - W) |
(6.10) |
В соответствии с (6.9), запишем необходимые условия минимума функций Лагранжа (6.10)
д F(x; ?ч) = х2 + 2х3 + Х.1х2х3= 0; |
д F(x; ?ч) = х: + 2х3 + Х^х3 = 0; |
Эх-! |
дх2 |
dF(x; Xi) - 2хт + 2х2 +XiX-,x2 = 0; |
х^гХз = W |
Эх3 |
|
Решение этой системы дает: Xi = x2 = v2W ; Хз = х-|/2.
Глава 6. Методы поиска оптимальных решений |
375 |
Задачи оптимизации с ограничениями-неравенствами. Условия Куна-Таккера
Ранее было показано, что множители Лагранжа можно использовать при по строении критериев оптимальности для задач оптимизации с ограничениями в виде равенств. Кун и Таккер обобщили этот подход на случай общей задачи нелинейного программирования с ограничениями как в виде равенств, так и в виде неравенств. Рассмотрим следующую общую задачу нелинейного програм
мирования: |
|
|
минимизировать |
f (х)-> min |
х = (Xi , Х2 , ... , хп). |
при ограничениях |
|
|
|
gj(x)>0, |
j = 1,2, ... , J , |
|
hk(x) = 0, |
k = 1,2, ... ,K, |
Определение:
Ограничение в виде неравенства дДх) > 0 называется активным, или связывающим, в точке х, если gj(x) = 0, и неактивным, или несвязывающим,
если gj(x) > 0.
Если существует возможность обнаружить ограничения, которые неактивны в точке оптимума, до непосредственного решения задачи, то эти ограничения можно исключить из модели и тем самым уменьшить ее размеры. Основная трудность заключается при этом в идентификации неактивных ограничений, предшествующей решению задачи.
Кун и Таккер построили необходимые и достаточные условия оптимально сти для задач нелинейного программирования, исходя из предположения о дифференцируемости функций f, gj и hk. Эти условия оптимальности, широко известные как условия Куна-Таккера, можно сформулировать в виде задачи на хождения решения некоторой системы нелинейных уравнений и неравенств, или, как иногда говорят, задачи Куна-Таккера.
Найти векторы х, и и Я., удовлетворяющие следующим условиям:
J |
К |
|
vf(x) -2>jVgj(x)-2Xyhk (x) = o, |
|
|
j = l |
k = l |
|
дДх)>0, |
j = 1,2, ... , J , |
|
hk(x) = 0, |
k = 1,2,... ,K, |
(6.11) |
цд,(х) = 0, |
j = 1,2, ... , J , |
|
U j > 0 , |
j = 1,2, ... , J . |
|
Решая систему уравнений и неравенств (6.11), находим как искомые пере менные х, так и вспомогательные переменные - множители Лагранжа Uj и А.к.
376 |
Часть1. Новые принципы работы |
Контрольные вопросы и задания
1.Какова роль методов оптимизации в решении задач управления?
2.Приведите классификацию методов оптимизации.
З.Что такое одномерная оптимизация?
4.Приведите общий алгоритм итерационного оптимизационного поиска.
5.На каком свойстве функций основаны методы одномерной оптимизации?
6.Объясните правило исключения интервалов в поисковых алгоритмах. 7.Опишите алгоритм метода половинного деления.
8.Опишите сущность и приведите алгоритм метода золотого сечения. 9.Опишите вычислительную процедуру метода Ньютона-Рафсона.
10.В чем сущность метода покоординатного спуска многомерной оптимизации? 11.Опишите идейные основы градиентных методов поиска.
12.Объясните алгоритм метода наискорейшего спуска. 13.Опишите алгоритм метода Ньютона.
14.Чем задачи с ограничениями отличаются от задач безусловной оптимизации?
15.Опишите алгоритм симплексного метода для задач линейного программиро вания.
16.Приведите алгоритм метода множителей Лагранжа для задач с ограничени- ми-равенствами.
17.Как осуществляется решение задач оптимизации с ограничениями-нера венствами?
377
Живая неудача лучше мертвого шедевра
Ъсриард \Uoy
Глава 7. СТРАТЕГИЯ РЕШЕНИЯ ЗАДАЧ ОПТИМИЗАЦИИ
Впредыдущей главе основное внимание было уделено анализу со временных оптимизационных алгоритмов. Такой анализ позволя ет понять внутреннюю логику алгоритмов, а также точно оценить их возможности и недостатки. Изучив этот материал, можно по добрать наиболее подходящий метод для данной конкретной
формализованной проектной задачи и проверить, является ли оптимальным решение, полученное выбранным алгоритмом. Но одно лишь знание алгоритмов является только необходимым, но отнюдь не достаточным условием успешного проведения оптимизационного исследования. При решении задач такого рода приходится привлекать дополнительные соображения и проводить дополни тельные исследования. Как уже отмечалось, путь оптимизационного исследова ния начинается с формулировки проблемы, разработки математической модели и подготовки ее к решению. Затем необходимо выбрать подходящий метод оп тимизации, выбрать программный продукт, эффективно реализующий алгоритм метода, провести ряд оптимизационных расчетов, включающих различные кор ректировки модели и алгоритма. Наконец, получив надежное решение, необхо димо проинтерпретировать его в терминах реальной системы и использовать на практике.
Учитывая, что в среде современных информационных технологий оптими зационные алгоритмы, как правило, используются в виде уже готовых программ ных приложений (например, Microsoft Excel) или специальных вычислительных пакетов, имеющихся в программно-техническом комплексе фирмы, при прове дении оптимизационного исследования больше всего времени занимает пра вильная постановка задачи и разработка математической модели (этим пробле мам посвящены главы 2, 3 и 4). Не менее существенным является этап подго товки модели к решению и предварительные расчеты для выявления ошибок и отладки задачи. Для проведения такой работы нужна профессиональная подго товка, приобретаемая не только в результате формального обучения, а, глав ным образом, в процессе практической работы и тщательного анализа наблю давшихся успехов и неудач. Однако все полученные результаты могут не при нести никакой пользы, если созданная математическая модель окажется несо ответствующей (неадекватной) реальной системе или полученные даже на ос нове правильной модели выводы неверно интерпретированы.
В этой главе описываются основные принципы проведения оптимизацион ного исследования, и рассматривается несколько подходов при подготовке за-
378 |
Часть 1. Новые принципы работы |
дач к решению и устранению возникающих ошибок. Отмечены особенности про ведения глобальной оптимизации, трудности которой связаны с отсутствием общих методов нахождения глобальных оптимумов функций. Основное же вни мание уделено вопросам оценки адекватности математических моделей, что представляется ключевым моментом при решении проблем, связанных с опти мизацией.
7.1. ПРЕДСТАВЛЕНИЕ МОДЕЛИ
Модель оптимизации можно записать в явном виде, а затем запрограмми ровать для вычисления значений функций и производных. Для использования методов оптимизации первого и второго порядка лучше всего было бы задать производные в аналитическом виде, однако это может вызвать затруднения при сложном виде аналитических функций, входящих в модель, а также чревато ошибками. В то же время использование численных (разностных) методов оп ределения производных может привести к проблемам оптимизационного поиска, связанным с накоплением ошибок вычисления и "уходом в сторону" направле ния поиска. Как правило, решение этих проблем осуществляется значительным увеличением точности вычислений, что, вместе с тем, сопряжено с увеличением времени поиска. В современных быстродействующих компьютерах вопрос уве личения машинного времени не является актуальным, однако это обстоятельст во следует иметь в виду при определении параметров поиска, когда использу ются стандартные программы оптимизационного поиска (например, соответст вующая программа пакета Microsoft Excel).
В случае аналитической модели, простейшей формой которой является мо дель задачи линейного программирования, линейные уравнения и неравенства в обобщенном виде можно записать в компьютере, а коэффициенты уравнений заносить в специально организованный массив. Это позволяет при каждом но вом подходе к решению задачи ЛП не переделывать математическую модель заново, а лишь ввести измененные числовые данные новой задачи. Такой под ход не только сокращает время подготовки задачи к решению, но и уменьшает вероятность ошибок при записи модели. Для некоторых классов систем ограни чений можно проводить автоматическую запись коэффициентов, используя так называемый генератор матриц. Например, нетрудно получить ограничения ви да ЕХ| = 1, задав только индексы переменных под знаком суммы и значение кон: станты в правой части. С помощью генератора матриц можно получить соответ ствующий массив коэффициентов. Во многих программных средствах требуется, чтобы входные данные были представлены в стандартной форме, в которой ка ждый элемент массива характеризуется строкой и столбцом, где он находится, а также числовым значением. Эти тройки чисел используются для записи исход ных данных. Запись вручную таких информационных файлов - малопродуктив ная и утомительная работа, особенно в задачах с большими массивами данных. Поэтому для этой цели часто пользуются некоторыми генераторами матриц.
Глава 7. Стратегия решения задач оптимизации |
379 |
В специализированных конкретных задачах, когда возникают связанные ме жду собой подсистемы различного рода регулярных структур модели, эффек тивным является использование генераторов уравнений. Генератор уравнений для подсистемы каждого вида программируется таким образом, что при записи всей модели идентифицируются только подсистемы, входящие в модель, и их взаимные связи. Особенно эффективно использование генераторов уравнений в практических приложениях, где имеются блоки многократного применения, кото рые можно представить уравнениями общего вида, в частности в автоматизиро ванных экспертных системах принятия решений. Использование генераторов уравнений для проведения одного конкретного оптимизационного исследования не оправдано из-за их сложности и большой стоимости разработки. Без сомне ния, автоматизированное представление моделей для записи их в компьютер ных приложениях и специализированных информационных системах менедж мента и автоматизированная обработка информации предпочтительнее во всех случаях, когда требуется многократное повторение решений.
Не менее актуально создание специализированных блоков многократного использования в задачах обработки семантических моделей, что стало возмож ным в современных программно-технических комплексах и специализированных информационных системах, использующих лингвистическую формализацию.
7.2. ПОДГОТОВКА ЗАДАЧИ К РЕШЕНИЮ
После того, как модель построена и выбран способ ее представления, сле дует подготовить задачу для решения с помощью подходящего метода оптими зации. Эта подготовка включает такие важные этапы:
•модификация модели с целью преодоления вычислительных трудно стей;
•преобразование модели для повышения эффективности решения.
Преодоление вычислительных трудностей
Вычислительные трудности, связанные с решением задачи, которые приво дят к преждевременному прерыванию счета, обычно вызываются четырьмя ос новными причинами: плохим масштабированием, несоответствием выражений для вычисления функций и их производных, недифференцируемостью входя щих в модель функций, неправильным заданием области определения аргумен тов функций. Как правило, при тщательном анализе модели можно выявить эти ситуации и исключить их путем простой модификации модели.
Масштабирование
В результате масштабирования осуществляется переход к относительным зна чениям величин, используемых в оптимизационной модели. При масштабирова нии переменных оперируют с относительными значениями переменных в задаче (например, отнесенными к максимально возможной величине переменной); при масштабировании ограничений - с относительным значением или относитель-
380 |
Часть 1. Новые принципы работы |
ной чувствительностью каждого из ограничений в отдельности. В идеальном случае все переменные модели масштабируются таким образом, чтобы их зна чения находились в интервале 0,1 - 10. Это обеспечивает приемлемые значе ния векторам направления поиска. Если значения переменных выходят за же лаемый диапазон, то можно произвести в модели замену переменных новыми, умноженными на соответствующие коэффициенты таким образом, чтобы новые переменные принимали значения этого интервала. Таким же образом поступают с ограничениями, произведя в приближенных решениях оценку их чувствитель ности к изменениям значений переменных.
Несоответствие между значениями функций и их производных.
Это несоответствие может оказаться незамеченным, но эта ошибка может увести алгоритм поиска в ложном направлении. Простейший способ проверки соответствия значений функции и градиента (при их вычислениях по аналитиче ским выражениям) состоит в вычислении разностей значений функции и сравне нии полученных величин с величинами, определенными путем вычисления про изводных на основе аналитического задания градиентов. Как уже отмечалось, при использовании численных методов определения производных следует осо бо заботиться о высокой точности вычислений.
Следует отметить, что при использовании численных методов нередко воз никает проблема чувствительности алгоритма к незначительным изменениям параметров, в частности, возможная опасность ошибки округления. Такого рода ошибки могут накапливаться и в результате стать весьма значительными. Эти ошибки могут сказаться не только на точных значениях оптимального решения, но даже на качественном результате. Это обстоятельство иллюстрируется на рис.7.1 и 7.2.
Х г , 1 Х 1 -- х2 + 1 = 0 уЛ
1 |
S. Уг ^ £ = тах |
'У4С У \ |
|
У/С |
^F = a |
1,001K, -0,999X2+ 0,5 = 0
0
Xl
Рис.7.1
На рис.7.1 область допустимых решений системы ограничений конечна и имеет конечный оптимум. Но при незначительном изменении параметров (на тысячные доли) область становится неограниченной, а целевая функция может неограниченно возрастать (рис.7.2).