Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Принятие оптимальных решений в перевозках на морском транспорте. Учебное пособие
.pdf
x
x
Рис. 8.11. «Заклинивание» релаксационного алгоритма
Алгоритмы случайного поиска. Алгоритмы случайного поиска ис-
пользуют прямой метод решений задачи оптимизации и могут применяться при любых типах функций. В отличие от других методов некоторые параметры поиска являются случайными величинами, например, величина
, выбор направления движения в области допустимых значений и т.д.
m
Формула шага оптимизации целевой функции Z(Х) для непрерывных
компонент вектора Х имеет вид
(1)
kk w
где
mmm m
(1)k
x
– m-й компонент вектора оптимизируемых переменных;
m
xx x Y
max min
,
k
x
– зна-
m
чение m-го компонента вектора оптимизируемых переменных, соответствующее предыдущему удачному шагу оптимизации; (х
ницы диапазона допустимых значений хm-й переменной; Y
)
, (хm)
m
max
w
– случайная
– гра-
min
величина, принимающая значение в диапазоне от –1 до +1 с равной вероятностью, в положительной нечетной степени.
Вследствие указанного диапазона изменения величины Y и нечетного
показателя степени w второе слагаемое может быть как положительным,
так и отрицательным. Выбор m-го компонента продолжается до удовле-
творения требования
xxx
mmm
min max
. При этом целесообразно пре-
образовывать только один компонент вектора Х, поскольку вероятность
выполнения этого требования выше для одного компонента, чем для всего
вектора в целом.
Алгоритм случайного поиска обычно сходится по вероятности к решению экстремальной задачи. Функция плотности распределения вероятности как функция случайного аргумента имеет вид
141

1
x
w
px
xm
*
1
xx
wx x
2
mm
max min
mm
xx
mm
max min
w
.
Из этого выражения видно, что плотность вероятности появления
удачного m-го компонента вектора Х зависит от показателя степени w. С
ростом w увеличивается вероятность появления х
,
близких к х
m
*
. С учетом
m
предыдущих вычислений хm, где m = 1, 2, …, m, увеличение w в процессе
поиска позволяет увеличивать сходимость алгоритма к х
opt
.
Рассмотренный алгоритм довольно прост в реализации на ЭВМ и содержит элементы релаксационного и графического способов. С релаксационным способом поиска экстремума его роднит то, что поиск допустимого
решения идет по траекториям, параллельным осям координат. Задаваясь
числом шагов оптимизации по одному компоненту хm, можно устанавливать «степень релаксации», приспосабливая алгоритмы случайного поиска
к особенностям целевой функции Z(Х).
При переходе к преобразованию (m + 1) компоненты вектора Х зна-
чение m-компоненты сохраняется в памяти ЭВМ, даже если это значение и
не было лучшим для целевой функции Z(Х). Если шаг по (m + 1) компо-
ненте привел к улучшению значения целевой функции Z(Х), то в состав
компонент «лучшего» вектора Х* войдет и «плохое» значение хm. Благодаря этому свойству движение от одного Х* к другому происходит, в отличие
от релаксационного поиска, не параллельно осям координат, а по направлению улучшения значения Z(Х). Это свойство сближает рассматриваемый
алгоритм случайного поиска с градиентным способом.
Поясним это рисунком, на котором отображена траектория поиска
экстремума (рис. 8.12). Предположим, что точка А соответствует очеред-
ному лучшему значению вектора
* * *1 *1
,XXxx
12
, достигнутому на
предыдущих шагах алгоритма случайного поиска.
Точки a, b и с изображают результаты последовательных шагов алгоритма по компоненте х1. Ни одно из этих значений не является лучшим
по сравнению с
*1
, поэтому вектор Х* по-прежнему соответствует точке А.
1
Шаги оптимизации по второму компоненту начинаются, например,
из точки с. Пусть результаты последовательных шагов алгоритма случайного поиска соответствуют точкам d, e, f. Точка f лучше, чем А, поэтому
значение компонент вектора Х* становится равным координатам точки f.
На область возможных решений наложены ограничения, не позволяющие
сделать прямой переход из точки А в точку f. Переход из точки А в точку f
произошел в направлении последовательного улучшения целевой функции
Z(Х).
142

Рис. 8.12. Движение по шагам алгоритма
Обычно проверка выполнения каждого условия системы ограничений для формирования области допустимых решений осуществляется в
процессе расчета очередного варианта вектора переменных Х. Если то или
иное конкретное ограничение не выполняется, то для экономии времени
расчет по текущему варианту прекращается. Назовем такое прекращение
вычислений отказом. Для недопущения появления отказа часто используют дополнительные процедуры, выбирающие очередную оптимизируемую
переменную не в порядке нумерации, а с помощью специальной матрицы
управления алгоритмом, которая имеет вид
Uu
em
,
где uem – вероятность выбора m-го компонента вектора Х оптимизируемых
m
переменных в случае нарушения e-го ограничения в системе
m
u
1
em
1
при e = 1, 2, …, e.
Величины
u назначаются, как правило, на основании опыта. На
em
практике это означает, что при нарушении ограничения по какому-либо
свойству варьироваться будут только те оптимизируемые элементы объекта, которые действительно связаны с этим свойством. Таким образом,
можно сократить «размерность» экстремальной задачи по каждому e ограничению в системе уравнений и неравенств. Применение матрицы управления позволяет экономить при вычислениях до 15-20 % машинного времени.
Метод Хука-Дживса. Поиск оптимума при использовании алгорит-
ма Хука-Дживса состоит в последовательности шагов вокруг базисной
143

точки, за которой в случае успеха, т.е. приближения к искомому экстрему-
Z
Z
Z
Z
x
x
x
x
x
x
x
x
му, следует поиск по установленному образцу. Например, для двухмерной
задачи зададимся значениями диапазонов для каждой из переменных
(рис. 8.13).
х
2
х
и
1
х
∆х
х
∆х
0 ∆х1 ∆х
2
(1)
A
2
2
(1)
B
(0)
Z
0
х
1
DA
(1)
D
(1)
C
CB
1
Рис. 8.13. Алгоритм метода Хука-Дживса
Затем произведем движение вокруг исходной точки (вектора) х
(0)
по
траектории квадрата, отыскивая значения вектора в его углах.
Эти значения в точках A, B, C и D составят:
Точка A
Точка B
Точка C
Точка D
(1) (0 )
(1) (1)
11BA
11
CB
11
(1) (1)
DC
11
xx
11A
x
;
xx
x
2
;
1
1
;
;
(1) (0)
xx
22A
(1) (1)
xx
BA
22
11
22CB
(1) (1)
xx
DC
22
2
;
x ;
.
2
;
2
2
2
Сравнение в рамках одного цикла оптимизации значений целевой
функции Z
(1)
A
, Z
(1)
B
, Z
(1)
C
и Z
(1)
в точках А, B, C и D с значением Z0 в исход-
D
ной точке позволяет выбрать из них лучшее значение. Например, в точке А.
Дальше полученная точка А принимается за следующую исходную.
Затем по полной аналогии производится обход этой новой точки. В случае
если не найдено лучшего решения с требуемой точностью, уменьшают
значение диапазонов ∆х1 и ∆х2 у переменных и производят поиск внутри
первоначально установленной области.
Метод «штрафных функций». Замысел метода «штрафных функ-
ций», используемого при решении задач нелинейного программирования,
заключается в сведении поиска экстремума целевой функции Z(X) при
наличии на нее ограничений к аналогичной задаче при отсутствии ограничений. Такая задача обычно решается проще. Вместо ограничения вида
144

g(X) ≥ 0 на целевую функцию можно на нее наложить некоторый ощути-
Z
Z
мый «штраф» за нарушение этого условия.
Для этого целевая функция Z(X) заменяется некой другой преобразованной функцией, значения которой совпадают с исходной целевой функцией внутри области допустимых решений, а за пределами области допустимых решений резко отличаются от ее значений. При поиске экстремума
«штрафные функции» обеспечивают быстрое возвращение в область допустимых решений {D} или невозможность выхода из нее. Преобразованная
функция Z вектора переменных Х = (х
, х2, …, х
1
) будет иметь вид
m
(Х) = Z(X) + p(X) или Z = Z(X) + φ · g(X),
где Z(X) – исходная целевая функция; p(X) – «штрафная функция».
«Штрафная функция» формируется на основе уравнения ограничений p(X) = φ · g(X), где φ – коэффициент штрафа. При максимизируемой
целевой функции φ отрицательно. Если же она минимизируется, то φ положительно. Штрафная функция подбирается так, чтобы при нарушении
установленных ограничений она бы «штрафовала» функцию Z(X), т.е. резко изменяла ее значение. Например, в случае минимизации функции Z(Х)
она бы увеличивала ее значение.
Если gi(X) > 0, т.е. функции ограничений положительны, то штрафные функции обычно имеют вид
i
1
p(X) =
i
1
g Х
i
,
где – некая положительная величина, коэффициент штрафа, обычно она
принимается достаточно малой; gi – ограничения, накладываемые на целе-
вую функцию; i – количество ограничений целевой функции, i = 1, 2, …, i.
Тогда оптимизируемая целевая функция в преобразованном виде
может быть представлена в виде
I
1
(Х) = Z(X) +
i
1
g Х
i
.
В геометрическом представлении влияние штрафной функции состоит в создании «гребня с крутыми краями» вдоль каждой границы области ограничений gi(X). Если величина коэффициента штрафа будет до-
статочно малой, то можно добиться практического совпадения точки экстремума целевой функции Z(Х) без ограничений с точкой экстремума Z(Х)
с ограничениями.
145

Покажем, например, работу штрафной функции на простейшей од-
Z
Z
Z
Z
номерной задаче оптимизации (рис. 8.14). Пусть для оптимизируемой переменной х целевая функция будет Z(х) при ограничении х ≥ 2 или х – 2 ≥ 0.
Рис. 8.14. Работа штрафной функции в одномерной задаче оптимизации
Тогда в качестве штрафной функции целесообразно выбрать выражение
px
,
2
x
после чего преобразованная оптимизируемая целевая функция примет вид
,
Zx x
Видно, что с изменением экстенсивные значения функции
соответствующие точкам
нию Z
min
= 2.
,
1
,
2
x
, постепенно приближаются к значе-
3
.
2
,
x
Аналитически это может быть представлено следующим образом:
dZ
dx
1
x
,
2
2
10
2
2x
,
откуда
2
2x
Как видно, при 0 2
x
opt
,
при Z = 2.
2x
.
,
146

Для сложных многомерных задач в общем случае невозможно ана-
Z
Z
литически найти положение экстремума. Целевая функция Z рассматривается как обычная функция от , поэтому для определения экстремума
пользуются численными методами. Метод штрафных функций также
называют методом внешней точки по отношению к {D}. Недостаток метода заключается в том, что не удается, как правило, точно выполнить все
ограничения. Этого недостатка лишен метод внутренней точки или метод
«барьерных функций».
Метод «барьерных функций». Смысл метода «барьерных функций»
аналогичен методу «штрафных функций». В этом методе исходная целевая
функция преобразовывается в «барьерные функции», значения которых неограниченно возрастают при приближении к границе допустимой области,
служа своеобразными барьерами при оптимизации функции. Причем преобразованная функция сходится к точке минимума исходной целевой функции не извне, как
Метод «барьерных функций»
вые функции в которых не определены за пределами {
в методе «штрафных функций», а изнутри {D}.
применяется при решении задач, целе-
D} или их там слож-
но вычислить. Эти «барьерные функции» для преобразования исходной
используют, если ограничения заданы только в виде неравенств.
Обобщенный критерий, преобразованную функцию, строят введением «барьерной функции»
чек области допустимых решений {
R(X), непрерывной на множестве внутренних то-
D}, для которых строго выполняются
ограничения в виде неравенств. Функция должна обладать свойством при
k
X
}, где k = 1, 2, 3, … – последовательность внутренних точек, сходящих-
{
ся к граничной точке области {
k
R(X
функции
) неограниченно возрастает.
D}, при этом последовательность значений
Примером «барьерной функции» для одномерной целевой функции
может служить выражение
i
1
R(х) =
i
1
gx
i
,
где gi(x) < 0 – неравенства, ограничивающие область нахождения оптимума целевой функции;
После того как определена «барьерная» функция
i – количество ограничений, ί = 1, 2,…, i.
R(х), преобразован-
ный критерий эффективности представляется в виде
i
1
(х) = Z(X) + k ·R(х) или
(х) = Z(X) – k ·
i
1
gx
i
,
где k – коэффициент «штрафа», некоторое положительное число, определяющее действенность «барьера».
147

При ограничениях вида
Z
исходной целевой функции
g
(x) ≤ 0 при поиске минимального значения
i
Z(X) рекомендуется использовать преобразо-
ванную функцию с иной «барьерной» функцией:
i
1
gX
(х) = Z(X) +
2
1
i
ii i
2
,
где σi – параметр «барьерной» функции, влияющий на величину ограничения; Λ
ограничении, который «штрафует» не только при нарушении
при нарушении
– параметр «барьерной» функции, определяющий «запас» в i-м
i
g
(x) > 0, но и
i
g
(x) > Λi; ί – количество ограничений, ί = 1, 2, …, i.
i
Применение метода «барьерных функций» предпочтительно, если не
требуется высокая точность достижения минимума, однако необходимо
выдерживать ограничения. Начальные значения σ
> 0 и Λ
i
> 0 выбирают
i
исходя из смысла и значения соответствующих ограничений.
9. МНОГОКРИТЕРИАЛЬНАЯ ОПТИМИЗАЦИЯ
9.1. Особенности многокритериальной оптимизации
В предыдущих разделах рассматривались те случаи, когда для характеристики исследуемого объекта, по которому принималось решение, использовался в качестве критерия эффективности только один показатель.
Соответственно, требовалось найти значения вектора оптимизирующих
переменных Х = (х
, х2, …, х
1
), определяющих экстремальное значение
m
(максимум или минимум в зависимости от смысла) этого показателя, описываемого целевой функцией Z(Х). Хотя при решении таких задач оптимизации встречаются определенные трудности, иногда существенные, эти задачи оптимизации нужно отнести к сравнительно простым.
Задачи, где эффективность определяется одним критерием, описывают относительно несложные объекты исследования. Когда же речь идет
о крупномасштабных, сложных и особо сложных объектах, то их эффективность, как правило, не может быть полностью охарактеризована с помощью одного-единственного показателя Z(Х). Приходится привлекать
другие, дополнительные. Такие задачи оптимизации называются многокритериальными. Многокритериальная задача оптимизации возникает не в
результате произвольного выделения конечного числа целевых функций, а
только тогда, когда представление объекта исследования как простой системы заменяется его представлением как системы с развитой структурой,
т.е. как сложной системы. При этом каждому элементу такой сложной системы соответствует своя целевая функция, а каждая из них определена на
едином множестве действительных переменных (Х).
148

Если предположить, что предприятие представляет собой систему из
п элементов, можно предположить, что все эти п элементов, помимо связей
между собой, замыкаются на один элемент вышестоящего уровня и представляют собой структуру систему Zn(Х). Каждый п-й элемент описывает,
характеризует часть общей системы Zn(Х), являясь частным критерием ее
эффективности.
Чтобы многокритериальная задача оптимизации соответствовала
структурному представлению системы, необходимо выполнение условия,
что все частные критерии изменяются на едином поле переменных Х = (х
х
, …, х
2
) в положительной области пространства Х Rn. При этом, как и
m
1
при постановке однокритериальной задачи оптимизации, будем считать,
что во множестве (X) всегда может быть выделено подмножество допу-
стимых решений {D}.
Показатели эффективности многокритериальных задач оптимизации
можно подразделить на три группы:
1) критерии взаимно нейтральны, в этом случае исследуемый объект
можно характеризовать каждым отдельным критерием эффективности и
рассматривать их независимо друг от друга;
2) критерии кооперируются, здесь, как правило, исследуемый объект
удается рассматривать применительно к одному критерию, при этом экстремумы остальных достигаются одновременно с ним;
3) критерии конкурируют, при этом достижение экстремумов одними критериями возможно только за счет других.
В зависимости от вида целевых функций Zn(Х) критерии эффективности по своему характеру могут быть глобальными или локальными. Задача многокритериальной оптимизации заключается в отыскании оптимального в некотором смысле вектора Х
. Ее решение представляет собой
opt
m-мерные векторы с компонентами, оптимизирующими целевые функции
Z
(Х). Оно должно занимать некоторое промежуточное положение между
n
точками локальных оптимумов функций Zn(Х). Точки локальных оптимумов тождественно не совпадают, т.к. критерии эффективности, целевые
функции в общем случае конфликтуют между собой. Это обстоятельство
делает невозможным точное решение многокритериальной задачи и приводит к необходимости использования только области оптимального решения. Из всего множества допустимых решений задачи приходится выделять то, которое отвечает идее компромисса, а точность решения устанавливается и определяется потребностями пользователя. Полученные решения образуют новую область, называемой областью Парето, внутри которой невозможно не ухудшение одновременно всех частных критериев.
Примером многокритериальной задачи может служить планирование
организации или реорганизации работы, например, транспортной компании. Ее работу характеризует (описывает) ряд показателей, каждый из ко-
,
149

торых отражает свою часть производственной деятельности и по-своему
характеризует общую эффективность работы. Естественно, что хотелось
бы обратить в максимум объем транспортных услуг V(Х). Одновременно
также желательно получить максимальный доход D(Х). Что же касается себестоимости транспортных услуг С(Х) и аварийности А(Х), то их хотелось
бы обратить в минимум, а то же время производительность труда Р(Х) – в
максимум. При более тщательной работе аналитиков вполне может возникнуть необходимость ввести еще ряд дополнительных показателей эффективности. Такая множественность показателей, из которых одни желательно обратить в максимум, а другие – в минимум, характерна для любой
более-менее сложной задачи оптимизации.
Если среди представленных в этом примере показателей попытаться
выделить тот, который полно характеризует работу транспортной компании, и те показатели, которые его дополняют, то можно прийти к следующим выводам:
невозможно выбрать единственный показатель среди остальных;
разработка системы показателей оказывается сложной задачей;
сами показатели и их упорядоченность по важности зависят от
того, с чьей точки зрения и в каких интересах проводится оптимизация.
Объем транспортных услуг V(Х), доход D(Х), себестоимость перевозок С(Х) и аварийность А(Х), производительность труда Р(Х) – все эти и
подобные им показатели эффективности, характеризующие какой-то отдельный элемент исследуемой системы, в качестве которой в примере выступает транспортная компания, называются частными критериями. Приняв V(Х) ≡ Z
(Х), D(Х) ≡ Z2(Х), С(Х) ≡ Z3(Х), А(Х) ≡ Z4(Х), Р(Х) ≡ Z5(Х),
1
можно записать в общем виде, что исследуемая система, состоящая из n
элементов, описывается множеством критериев Z
(Х), Z2(Х), …, Z
1
(Х), где n –
n
количество частных критериев.
Итак, для крупномасштабной сложной задачи оптимизации характерна многокритериальность, т.е. наличие ряда количественных показателей Z
(Х), Z2(Х), …, Z
1
(Х), описывающих объект исследования. При этом
n
одни из показателей следует обратить в максимум, другие – в минимум.
Известно, что дилемма «и волки сыты, и овцы целы» решается всегда
крайне сложно. Дело в том, что решение, дающее требуемый максимум
одного из показателей, совсем не обязательно даст необходимый максимум или минимум других. Удовлетворить одновременно требованиям экстремальности всех критериев довольно трудно. Это обстоятельство определяет сложность решения многокритериальных задач.
Способом, лежащим на поверхности, для решения многокритериальной задачи может быть простейшее сведение ее решения к решению однокритериальной задачи. Для этого только нужно составить некую функцию
эффективности от всех показателей и рассматривать ее как некий один
150
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
