Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Принятие оптимальных решений в перевозках на морском транспорте. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]