5Л_СтохастическоеПрогр
.pdfПрезентационные материалы к лекции:
«Стохастическое программирование»
по дисциплине «Методы оптимизации»
1
Детерминированные методы поиска экстремума предполагают, что вся исходная информация строго однозначна, и на каждом шаге однозначно определяют положение точки исследования (одномерный поиск: дихотомия, метод Фибоначчи, золотого сечения, градиентный метод и метод наискорейшего спуска).
Модели часто оказываются неадекватными реальным процессам, что объясняется неполнотой или неточностью данных, на основе которых строилась модель
Водних случаях некоторые (а возможно и все) параметры носят вероятностный характер. В этих случаях говорят о ситуациях, связанных с риском
Вдругих случаях имеющаяся информация не позволяет составить представление о характере изменения параметров, описывающих изучаемый процесс. Такие ситуации называют
неопределенными
Оптимизационные задачи, при постановке которых нет исчерпывающих данных об их условиях, называются стохастическими
Стохастическое программирование изучает теорию и методы решения условных экстремальных задач при неполной информации об условиях задачи
Пассивное стохастическое программирование (ПСП) – это совокупность приемов, позволяющих находить наилучшее решения и экстремальное значение ЦФ в оптимизационных задачах со случайными исходными данными.
Активное стохастическое программирование (АСП ) – это совокупность приемов, позволяющих развивать методы выбора решений в условиях риска и неопределенности
Основным отличием стохастических методов от детерминированных является введение элемента случайности в процесс поиска экстремума
Стандартный стохастический алгоритм состоит из 2х шагов: сбор информации; принятие решения о движении
Алгоритмы случайного поиска различаются условиями выбора рабочего шага по направлению и возможностью изменения его размера в процессе поиска, а также возможностями алгоритма изменять вероятностные свойства случайности
Под накоплением понимают сбор с помощью пробных шагов информации о поведении функции вблизи рассматриваемой точки для дальнейшей какой-либо оптимальной обработки этой информации и выборе эффективного направления рабочего шага
Адаптацией называется целенаправленный процесс изменения различных параметров поиска (например, шага) для повышения его эффективности. Процесс адаптации можно вводить и в детерминированные методы
Под самообучением понимается целенаправленный процесс изменения вероятностных свойств случайности, целью которых является повышение быстродействия, точности, надежности и других характеристик поиска. Процесс самообучения доступен только стохастическим методам
Процесс самообучения и адаптации имеют много общего, и точную границу между ними провести трудно
Ненаправленный случайный поиск
Задача поиска оптимальных решений : требуется найти минимума функции W(X) векторного аргумента Х=(х1,x2,…,xn) в некоторой заданной области D допустимых значений X. Область D определяет пространство допустимых решений, каждой точке которого соответствует некоторое значение вектора X и целевой функции W(X), удовлетворяющие заданным ограничениям. Вектор X* D, соответствующий минимуму оптимизируемой функции W(X), является целью поиска.
Ненаправленный случайный (слепой) поиск экстремума производят следующим образом:
строят последовательность
X 1 (x11, x12 ,...,x1n ); X 2 (x12 , x22 ,...,xn2 );...; X N (x1N , x2N ,...,xnN )
независимых случайных векторов, концами которых являются точки, принадлежащие области D. Затем вычисляют соответствующие значение целевые функции
W1(x11, x12 ,...,x1n );W 2 (x12 , x22 ,...,xn2 );...;W N (x1N , x2N ,...,xnN )
из которых выбирают наименьшую: W ( X *) min W1,W 2 ,...,W N
Если задано Wmin, то поиск осуществляется до тех пор, пока не будет найден Х*, т.ч.
W ( Х *) W |
|
|
|
||
min |
|
|
В основе метода лежит проведение испытаний модели с использованием выборки объема N независимых случайных точек исследования {хi} для выявления области вероятного экстремума
Основной и весьма существенный недостаток метода — большая трудоемкость
Достоинство метода — универсальность, т.е. возможность использования практически для любого вида целевой функции
Просматриваемое ограниченное подмножество вариантов выбирается случайным образом, что позволяет равномерно просмотреть все множество вариантов точек D. С увеличением объема выборки увеличивается вероятность получения оптимального решения задачи
Оценка требуемого объема вычислений может проводиться в ходе поиска
Необходимость продолжения вычислений определяется тем, насколько подробно была просмотрена область D:
1. Область D разбивают на l интервалов, вычисляют эмпирические частоты vi(1) Nl (i=1,2,…,l) попадания отдельных значений целевой функции W в i-й интервал. Поиск прекращается, если на некотором s-шаге для любого интервала выполняется условие
v(s) |
|
v( s 1) |
|
|
|
i |
i |
|
|||
Ns |
Ns 1 |
||||
|
|
|
2.По результатам большого числа Nl испытаний (Nl>100) строят вариационный ряд (последовательность расположенных в возрастающем порядке значений целевой функции):
W1˂W2 ˂… ˂WN и эмпирическую интегральную функцию распределения FN1 ( ). Если после проведения дополнительного числа испытаний интегральная функция несущественно отличается от предыдущей, то говорят о достаточности объема вычислений
При реализации метода ненаправленного случайного поиска трудно получить равномерное распределение случайных точек в области D со сложной конфигурацией
Эффективность ненаправленного случайного поиска
Пусть заданы вероятность р и точность нахождения экстремума функции W(X) в области D. Точность определяет множество оптимальных решений {X*}. Отношение объема области оптимальных решений к объему области D обозначим через . Если случайные точки равномерно распределены в области D, то вероятность попадания в множество
{X*} на любом шаге равна , а вероятность попадания за N шагов составляет p 1 (1 )N
Необходимое число шагов для однократного попадания в область {X*} с вероятностью p определится по формуле
Nlg(1 p) lg(1 )
Для случая, когда области D и {X*} представляют собой n-мерные гиперсферы с соответствующими радиусами, вероятность попадания на одном шаге (при одном испытании) составит (r R)n
Число шагов N, необходимое для попадания в область {X*} с заданной вероятностью р, в этом случае находится по формуле
N lg(1 p) lg(1 (r R)n )
и с увеличением n растет чрезвычайно быстро. Поэтому для случая, когда n велико, применение метода ненаправленного случайного поиска нецелесообразно
Иллюстрация метода ненаправленного случайного поиска
Пример. Требуйся найти значения x1>0 и x2>0, соответствующие минимальному значению
целевой функции |
W 140x0,93 |
150x0,86 |
, если 5x0,9 |
10x0,85 |
3200, |
24x0,94 |
6x0,93 |
16000 , |
|
1 |
2 |
1 |
2 |
|
1 |
2 |
|
8x10,88 14x20,89 5050 |
, x1 x2 1000 |
|
|
|
|
|
|
Номер |
|
|
Выполне |
|
|
Номер |
|
|
Выполне |
|
|
испатани |
|
|
ние |
|
|
испатани |
|
|
ние |
|
|
я |
|
|
ограниче |
|
|
я |
|
|
ограниче |
|
|
|
(i) |
(i) |
ний |
|
(i) |
|
(i) |
(i) |
ний |
|
(i) |
|
x1 |
x2 |
(признак |
W |
|
|
(признак |
|
|||
|
|
|
x1 |
x2 |
W |
|
|||||
|
|
|
1) |
|
|
|
1) |
|
|||
1 |
100 |
900 |
0 |
|
|
31 |
196 |
804 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
973 |
27 |
1 |
86704 |
32 |
450 |
550 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
253 |
747 |
0 |
|
|
33 |
930 |
70 |
1 |
86482 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
376 |
624 |
0 |
|
|
34 |
323 |
677 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
520 |
480 |
0 |
|
|
35 |
209 |
791 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
135 |
865 |
0 |
|
|
36 |
25 |
975 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
863 |
137 |
1 |
85589,6 |
37 |
601 |
399 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
467 |
533 |
0 |
|
|
38 |
595 |
405 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
354 |
646 |
0 |
|
|
39 |
334 |
666 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||
10 |
876 |
124 |
1 |
85800,5 |
40 |
764 |
236 |
1 |
83674,5 |
||
|
|
|
|
|
|
|
|
|
|
||
11 |
809 |
191 |
1 |
84616 |
41 |
990 |
10 |
1 |
86626 |
||
|
|
|
|
|
|
|
|
|
|
|
|
12 |
590 |
410 |
0 |
|
|
42 |
190 |
810 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
911 |
89 |
1 |
86281 |
43 |
252 |
748 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
14 |
737 |
263 |
1 |
83077,5 |
44 |
909 |
91 |
1 |
86253 |
||
|
|
|
|
|
|
|
|
|
|
|
|
15 |
542 |
458 |
0 |
|
|
45 |
376 |
624 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
48 |
952 |
0 |
|
|
46 |
707 |
293 |
1 |
82371,6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
56 |
944 |
0 |
|
|
47 |
153 |
847 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
489 |
511 |
0 |
|
|
48 |
831 |
169 |
1 |
85021,5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
474 |
526 |
0 |
|
|
49 |
131 |
869 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
296 |
704 |
0 |
|
|
50 |
165 |
835 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
248 |
752 |
0 |
|
|
51 |
886 |
114 |
1 |
85951 |
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
52 |
948 |
0 |
|
|
52 |
767 |
233 |
1 |
83745 |
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
403 |
597 |
0 |
|
|
53 |
439 |
561 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
||
24 |
720 |
280 |
1 |
82682,2 |
54 |
712 |
288 |
1 |
82492 |
||
|
|
|
|
|
|
|
|
|
|
||
25 |
636 |
364 |
1 |
80585 |
55 |
807 |
193 |
1 |
84561 |
||
|
|
|
|
|
|
|
|
|
|
|
|
26 |
104 |
896 |
0 |
|
|
56 |
999 |
1 |
1 |
86390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
20 |
980 |
0 |
|
|
57 |
708 |
292 |
1 |
82397 |
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
842 |
158 |
1 |
85231,4 |
58 |
15 |
985 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
268 |
732 |
0 |
|
|
59 |
736 |
264 |
1 |
83052 |
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
953 |
47 |
1 |
86659 |
60 |
147 |
853 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение. Т.к. 0≤хi≤1000, то с помощью случайных чисел r, равномерно распределенных в интервале (0,1) получим x1=1000r и x2=1000 – х1. Для полученных значений x1 и x2 проверяем выполнение ограничений, при выполнении которых вычисляем значение целевой функции. В данной серии испытаний наилучший результат получен в 25-м испытании.
В связи с тем, что около 60% всех испытаний оказываются неудачными из-за невыполнения ограничений, эффективность метода значительно снижается.
Используя систему ограничений, можно установить, что 634≤ x1≤1000 и 0≤ x1≤366.
Тогда x1=634+366r, что позволяет значительно сократить число испытаний
Направленный случайный поиск
Для направленного случайного поиска характерно ограничение зоны поиска областью, центром которой является найденная в ходе поиска точка с наилучшим значением целевой функции
Если на новом шаге найдена точка с лучшим значением целевой функции, то эта точка становится новым центром зоны поиска. Этим достигается последовательное смещение ограниченной зоны поиска в район цели
n-мерный независимый случайный вектор (1, 2 ,...,n ), |
где i — нормированные |
|||
|
|
|
n |
|
случайные числа, такие что i2 1 |
|
|||
|
|
|
i 1 |
|
Вектор равномерно распределен в n-мерном пространстве, т.е. отдельные реализации этого |
||||
вектора направлены равновероятно во всех направлениях пространства параметров |
||||
|
|
|
n |
|
Для выполнения условия |
i2 1 элементы вектора нормируют, используя соотношение |
|||
|
|
|
i 1 |
|
|
|
|
|
|
|
n |
|
|
|
i i0 ( i0 )2 , где i0 |
— случайные числа, равномерно распределенные в интервале (-1,1) |
|||
|
i 1 |
|
|
Эти числа получают масштабированием случайных чисел ri, равномерно распределенных в интервале (0, 1), в соответствии с формулой: i0 1 2ri
Метод с возвратом при неудачном шаге. В пространстве параметров произвольно выбирается точка Х0. Задается постоянный шаг h. Из точки Х0 в случайном направлении, определенном случайным единичным вектором ζ = (ζ1,…, ζn), осуществляется шаг на величину h. Вычисляется значение целевой функции в новой точке X1. Если значение W(X1) W(X0) (в случае поиска минимума), то шаг считается рабочим, и новый шаг осуществляется из точки X1 в случайном направлении. Если W(X1) > W(X0), то шаг считается неудачным, производится возвращение в точку X0, из которой в случайном направлении снова совершается пробный шаг:
|
|
|
k |
) f ( X |
k 1 |
), |
Х к 1 |
h , f ( X |
|
|
|||
|
f ( X k ) f ( X k 1 ). |
|||||
|
Х , |
|||||
|
|
|
|
|
|
|
где ( 1, 2 ,..., n ) — n-мерный независимый случайный вектор
Повторное определение W(X) при возвращении в исходный центр поиска следует применять в тех случаях, когда целевая функция по каким-либо причинам изменяется во времени, например при наличии помех
Аналогичный алгоритм, но без повторного определения целевой функции при возвращении в исходное состояние, называется поиском с пересчетом. Этот алгоритм имеет более высокое быстродействие по сравнению с алгоритмом поиска с возвратом
Если целевая функция является линейной, то неудачный шаг можно использовать для нового шага в направлении, противоположном неблагоприятному. Такой алгоритм называется
поиском с линейным пересчетом
При неудачном j-ом шаге, когда W W ( X j ) W (X j 1 ) 0 , новым центром поиска служит точка X j 1 X j 2 X j
Поиск с «наказанием» случайностью предполагает движение в благоприятном направлении до первого неудачного шага. После этого проводится случайный поиск нового благоприятного направления.
Движение из центра зоны поиска Xj-1 , найденного в процессе поиска, ведется в
случайном направлении X X a до тех пор, пока не обнаружится
j j 1
благоприятное направление такое, что W W ( X j 1 a j ) W (X j 1 ) 0 . После этого осуществляют движение в найденном благоприятном направлении с фиксированным шагом X a j и соответствующим смещением зоны поиска до тех пор, пока W 0
В начале поиска используют достаточно большой шаг, а затем его уменьшают. Недостаточная длина рабочего шага поиска приводит к возрастанию вероятности «застревания» в локальном экстремуме
В рассматриваемом алгоритме случайность вводится как отрицательная реакция на неудачный шаг
Алгоритмы поиска с «наказанием» случайностью предполагают смещение зоны поиска в благоприятном направлении сразу после удачного шага
Разработаны также алгоритмы поиска оптимальных решений с «поощрением» случайностью, предусматривающие введение случайного шага как положительную реакцию на удачный шаг, приводящий к улучшению значения целевой функции