Научная статья на тему 'Алгоритмы решения стохастических задач динамического программирования большой размерности'

Алгоритмы решения стохастических задач динамического программирования большой размерности Текст научной статьи по специальности «Математика»

CC BY
1069
179
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТОХАСТИЧЕСКОЕ ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / МЕТОД Р.БЕЛЛМАНА / ЗАДАЧА РАСПРЕДЕЛЕНИЯ РЕСУРСОВ / METHOD OF R.BELLMAN / STOCHASTIC DYNAMIC PROGRAMMING / RESOURCES DISTRIBUTION PROBLEM

Аннотация научной статьи по математике, автор научной работы — Докучаев Александр Владимирович, Котенко Андрей Петрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

New Algorithm of Dynamic Programming for Stochastic Problems Solution

Article proposes algorithms for solution of stochastic problems of dynamic programming of the big dimensions. The problem of distribution of resources is studied.

Текст научной работы на тему «Алгоритмы решения стохастических задач динамического программирования большой размерности»

УДК 519.856, 519.857

АЛГОРИТМЫ РЕШЕНИЯ СТОХАСТИЧЕСКИХ ЗАДАЧ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ БОЛЬШОЙ РАЗМЕРНОСТИ

А. В. Докучаев, A. П. Котенко

Самарский государственный технический университет,

443100, Самара, ул. Молодогвардейская, 244.

E-mails: docuhaev@mail.ru, ako1959@mail.ru

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

Ключевые слова: стохастическое динамическое программирование, метод

Р. Беллмана, задача распределения ресурсов.

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

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

1. Общая постановка задачи распределения ресурса. Общую задачу распределения ресурса в качестве задачи динамического программирования в дискретном времени в детерминированной постановке можно представить следующим образом: распределяется ресурс x = x\ + Х2 + ••• + Xi + ••• + xn (i = 1, 2,..., n, n € N), 0 ^ Xi ^ x, x € R+ по монотонным функциям освоения (откликам) fi : R+ ^ R+ с заданным шагом дискретизации распределяемого ресурса h = x/m (m = 1, 2,... , n; h € R+) с целью максимизации (минимизации) суммарного эффекта Z = f (xi, x2,..., xn) = ^ fi(xi) ^ extr (через extr обозначена функция экстремума). Далее будем рассматривать задачу на максимум. Обозначим через fa = fi(xi) (левая часть табл. 1). Значение x = 0 — обозначено в табл. 1 за xq.

Докучаев Александр Владимирович — аспирант кафедры прикладной математики и информатики Самарского государственного технического университета.

Котенко Андрей Петрович — доцент кафедры прикладной математики и информатики Самарского государственного технического университета; к.ф.-м.н, доцент.

Т аблица 1

Представление задачи распределения ресурса

Порция ресурса Функции освоения Порция ресурса Функции освоения

fi f2 fi fn fi f2 fi fn

Х0 f0i fo2 f0i fon У0 f0i fo2 f0i fon

XI fn fi2 fii fin yi fii fi2 fii fin

X2 f2i f22 f2i f2n У2 f2i f22 f2i f2n

Xi fii fi2 fii fin yj 'fji 'j f ji fjn

Xn fni fn2 fni fnn yn fni fni fni fnn

Суммарный эффект Z, а также взвешенный вектор распределения ресурсов (x\,x\,..., хП), где х* — ресурс, при распределении которого функция fi(xi) обеспечивает оптимум, находятся методом динамического программирования на основе рекуррентных соотношений Р. Беллмана [1] с помощью программного комплекса, созданного авторами данной статьи.

Уточним математическую модель задачи: с учётом распределения х порциями обозначим ki = Xi/h, ki = 1, 2,..., m, тогда

g(ki ,k2, ...,kn) = ^2 fi(ki h) = ^ fi(xi).

Если Zmax = f (x1,x2, ...,хП), то Zmax = g(k*, k* ,...,k*n ), где k* = x*/h. Обозначим yj = jh, j = 0,1, 2,... , m, fji = fi(yj) (см. правую часть табл. 1).

2. Постановка стохастической задачи динамического программирования.

Рассмотрим теперь одну стохастическую модель приведенной выше задачи. Пусть некоторые из fi(yj) являются дискретными случайными величинами с заранее известными носителями [aj ; bj] (aij ,bj € R+) с заданными рядами распределения. В качестве критерия оптимизации используется математическое ожидание суммарного эффекта: M [Z] ^ max.

Для решения стохастической задачи распределения ресурсов на основе метода динамического программирования используется байесовский подход [2, 3], при котором стохастическая задача разбивается на конечное множество детерминированных подзадач.

Пусть значение одной из функций освоения fi(yj) является дискретной случайной величиной с известным рядом распределения. Тогда значениям функции освоения fit(yj) соответствуют априорные вероятности Pt(fit(yj)), где t — количество спектральных точек (t = 1, 2,... , m, m € N) данной fi и данной задачи (потому что только одно значение одной рассматриваемой функции представляет собой стохастическую величину). Тогда значение целевой функции будет дискретной случайной величиной, имеющей t спектральных точек. Найдём её математическое ожидание

m

M[Z]=£ ZtPt ffit(yj)), j=1

где Zt — оптимальный суммарный эффект в точке спектра t. Если случайны два и более значения одной из функций освоения и (или) значения нескольких функций освоения, то для определения математического ожидания суммарного эффекта используется формула Байеса.

Таким образом, решая задачу стохастического динамического программирования, мы переходим к процедуре решения конечного множества детерминированных подзадач динамического программирования [2].

При увеличении стохастических параметров задачи вычислительная сложность алгоритма резко возрастает. Непосредственный подсчет математического ожидания оптимального значения представляет значительную трудность и зачастую уже для задач небольших размерностей не является практически реализуемым даже с использованием современных ЭВМ. Поэтому актуальна возможность упрощения такой процедуры.

Существует несколько возможных путей устранения данной проблемы:

1) совершенствование существующих и разработка новых алгоритмов динамического программирования;

2) понижение размерности текущей задачи с помощью методов декомпозиции;

3) применение методов приближенного решения.

Применение процедуры динамического программирования для нахождения оптимального распределения ресурса X приводит к громоздким выкладкам при росте числа уровней дискретизации к. На основе континуальной постановки задачи динамического программирования [2] предложим упрощенный метод решения задачи.

3. Упрощенный метод решения стохастической задачи динамического программирования. Решая стохастическую задачу распределения ресурсов методом динамического программирования, в итоге переходим к решению детерминированных подзадач (см. п. 2 настоящей работы).

Для детерминированной подзадачи (ж1, ж2,..., хП) — приближённое решение, если для каждой функции fi(yj) (см. табл. 1) выполняются условия

ЛЛЫ ~ АЛЫ ~ ••• ~ Лfn(Уn), где Лfi(Уj) = fi(Уj) - fi(Уj-1^ Е х* = х

Если в частном случае ЛД(у1) = Л/2(у2) = ■ ■ ■ = Л/п(уп), где Лfi(yj) = 0, то значения (у1, У2,..., уп) представляют точное решение (идентично находимому динамическим программированием, пример приведен в статье [2]).

В ходе численных экспериментов показано, что если увеличение Н не влияет на найденное ранее решение, то есть fi(yj): (yj+1)) = Zf (yj)) при

mj+l > mj, то Ит /(yj) = Ит /(хг+).

j——0 i——+<^о

Предложенная методика сокращения вычислительного объёма задачи динамического программирования применима как в детерминированной, так и в стохастической постановках задачи распределения ресурсов, когда исходные данные математической модели не известны точно либо являются случайными величинами. Достоверность предложенного метода проверена в ходе серии численных экспериментов.

4. Метод декомпозиции. При решении задач динамического программирования зачастую возникают непреодолимые вычислительные сложности (в рассматриваемой задаче объём вычислений растёт при уменьшении шага дискретизации, при увеличении количества функций освоения, при возрастании числа случайных параметров), поэтому актуален вопрос о понижении размерности задачи. Получена декомпозиция метода динамического программирования по монотонным функциям освоения / (ж) : К+ ^ К+ в задаче распределения ресурса ж. На основе рассматриваемой постановки задачи предлагается классификация случаев, предполагающих различные алгоритмы деком-

позиции в зависимости от вида и количества оптимальных траекторий ж*:

П

Еж* = ж. Основная идея предлагаемого метода заключается в группирова-

г=1

нии похожих по поведению в точках дискретизации функций освоения.

Рассмотрим пример. Пусть для определенности і = 2п. Предложим алгоритм декомпозиции для задачи с данными, которые приведены в табл. 2.

Таблица 2 Исходные данные задачи

ж /і(ж) /2(ж) /3(ж) /4(ж) /5(ж) /б(ж)

0 0 0 0 0 0 0

1 34 30 32 31 30 30

2 64 58 63 61 57 55

3 90 84 93 89 82 77

4 112 108 122 115 106 96

5 130 130 150 139 128 112

6 146 150 177 161 149 125

7 158 168 203 181 168 135

8 166 184 228 199 186 142

9 172 198 252 215 202 146

10 174 210 275 229 217 117

a. Понизим размерность задачи в два раза. Для этого произведём равно-

мерную группировку /(ж), то есть суммируем значения функций освоения /1(ж) с /2(ж), /3(ж) с /4(ж) и /5(ж) с /б(ж) (считается, что функции попарно

похожи, в более общем случае группировка функций неравномерна).

b. Облегчённая задача решается стандартным методом динамического программирования: получаем ресурсы, распределяемые на функции /1/2 (ж) =

= /-1(ж) + /¿(ж), I = 2, 3,... (показывает, во сколько раз понижена размерность исходной задачи).

c. Перейдём к решению г/2 = п подзадач обычным методом динамического программирования.

Выделен и исследован частный случай при условиях:

1) для всех решаемых подзадач ж* = 0 — единственное решение;

2) в решении исходной задачи отсутствуют альтернативные траектории (под траекторией понимается взвешенный вектор распределения ресурсов, соответствующий оптимуму);

3) в решении исходной задачи отсутствуют нулевые траектории.

Утверждение 1. Оптимальные траектории подзадач — точное решение

исходной задачи. 2 находится склейкой решений подзадач.

Суммарный эффект, получаемый методом динамического программирования для детерминированной задачи распределения ресурса, соответствующей данным табл. 3, составил 308 единиц, взвешенный вектор распределения ресурсов — (2, 1, 3, 2, 1, 1). При группировании функций /1 с f2, /з с f4 и f5 с /б получаем 3 подзадачи.

Из столбцов (/1(ж) + /2(ж)), (/з(ж) + /4(ж)) и (/5(ж) + /б(ж)) составляем

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

Т аб л и ца 3

Разбиение исходной задачи на 3 подзадачи

ж /1(ж) /2(ж) /і + /2 /э(ж) /4(ж) /з + /4 /5(ж) /б(ж) /5 + /б

0 0 0 0 0 0 0 0 0 0

1 34 30 64 32 31 63 30 30 60

2 64 58 122 63 61 124 57 55 112

3 90 84 174 93 89 182 82 77 159

4 112 108 220 122 115 237 106 96 202

5 130 130 260 150 139 289 128 112 240

6 146 150 296 177 161 338 149 125 274

7 158 168 326 203 181 384 168 135 303

8 166 184 350 228 199 427 186 142 328

9 172 198 370 252 215 467 202 146 348

10 174 210 384 275 229 504 217 147 364

освоения (/1 (ж) + /2(ж)) распределяется 3 единицы ресурса ж, на (/з(ж) + + /4(ж)) —5 единиц и на (/5(ж) + /б(ж)) —2 единицы. Теперь переходим к решению получившихся подзадач.

Решая каждую из подзадач методом динамического программирования, получаем решения: (2, 1), (3, 2), (1, 1). Склеиваем найденные решения и сравниваем с полученным при применении стандартного метода динамического программирования. Они оказываются идентичными.

Пусть теперь соблюдаются только условия 1), 2).

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Утверждение 2. Если решение одной из подзадач ж* € шт{/1(ж), /2(ж),..., /¿(ж),..., /п(ж)}, то решение исходной задачи будет приближённым; данная точка будет нулевой компонентой взвешенного вектора распределения ресурса исходной задачи (при нахождении методом динамического программирования) .

В качестве примера рассмотрим задачу с исходными данными в табл. 4.

Для данной задачи найден взвешенный вектор распределения ресурсов (2, 1, 1, 1, 3, 2), ему соответствует суммарный эффект 311 единиц. Решение

Т аб л и ца 4

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

ж /1(ж) /2(ж) /3(ж) /4(ж) /5(ж) /б(ж)

0 0 0 0 0 0 0

1 29 28 29 29 36 34

2 57 55 56 54 70 66

3 84 80 81 76 102 96

4 110 103 104 95 132 123

5 135 124 125 111 160 147

6 159 143 144 124 186 168

7 182 160 161 134 210 186

8 204 175 176 141 232 201

9 225 188 189 145 252 213

10 245 199 200 146 270 222

было найдено по предложенному методу декомпозиции — исходная задача разбивалась аналогично предыдущему примеру с данными в табл. 2. Вторая компонента взвешенного вектора распределения ресурсов попала на локальный минимум по строке в таблице данных исходной задачи (в табл. 4 соответствующее /2(ж) выделено жирным шрифтом). Значит, в соответствии с высказанным утверждением 2 полученное решение будет приближённым, а при нахождении методом динамического программирования значение /2(1) можно не учитывать. При нахождении решения динамическим программированием получаем вектор (1, 0, 1, 1, 4, 3), суммарный эффект 315 единиц. Утверждения 1) и 2) подтверждаются многочисленными примерами, рассмотренными авторами данной работы.

В нерассмотренных случаях решение будет приближённым, их целесообразнее рассматривать отдельно. В результате численных экспериментов установлено, что при неубывающих f¿, как правило, 2 < 2*, то есть процедура оптимизации в таком случае приводит нас к локально-оптимальному решению.

5. Исключение функций освоения, не находящихся на критическом пути.

При увеличении стохастических параметров задачи вычислительная сложность алгоритма резко возрастает: когда в рассматриваемой постановке задачи все или большая часть /¿(у^) (см. табл. 1) являются случайными, разбивая стохастическую задачу на множество детерминированных подзадач, приходится решать очень много получившихся подзадач. Для сокращения объёма вычислений было предложено [4] перед разбиением исходной задачи произвести усреднение исходных данных с целью последующей оценки влияния исходных данных на конечный результат.

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

Исследовано влияние параметров задачи на математическое ожидание суммарного эффекта в стохастической задаче динамического программирования. В ходе численных экспериментов подтверждены полученные ранее результаты [2-4].

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Беллман, Р. Динамическое программирование [Текст] / Р. Беллман. — М.: Изд-во ин. лит., 1960. — 400 с.

2. Докучаев, А. В. Адаптивный подход в одной стохастической задаче динамического программирования на основе континуальной постановки [Текст] / А. В. Докучаев / Мат. моделирование и краевые задачи: Тр. пятой всерос. научн. конф. с международ. участием. — Самара: СамГТУ, 2008. — Ч. 2: Моделирование и оптимизация динамических систем и систем с распределёнными параметрами. — С. 25-30. —ISBN 978-5-7964-1088-2.

3. Докучаев, А. В. Использование байесовского подхода в стохастической постановке задачи динамического программирования для оценки влияния погрешностей исходных

данных [Текст] / А. В. Докучаев / XXXIV Гагаринские чтения: Тр. Международн. мо-лодёжн. научн. конф. — М., 2008. —С. 54-55.

4. Докучаев, А. В. Решение задачи календарного планирования производства в условиях стохастической неопределенности параметров [Текст] / А. В. Докучаев, А. П. Котенко // Вестн. Сам. гос. техн. ун-та. Сер. Физ.-мат. науки. — 2007.—№ 2 (15). — С. 182-183.

Поступила в редакцию 30/ІХ/2008; в окончательном варианте — 07/Х/2008.

MSC: 90C39, 90C15

NEW ALGORITHM OF DYNAMIC PROGRAMMING FOR STOCHASTIC PROBLEMS SOLUTION

A. V. Dokuchaev, A. P. Kotenko

Samara State Technical University,

443100, Samara, Molodogvardeyskaya str., 244.

E-mails: docuhaevamail.ru, ako1959amail.ru

Article proposes algorithms for solution of stochastic problems of dynamic programming of the big dimensions. The problem of distribution of resources is studied,.

Key words: stochastic dynamic programming, method of R.Bellman, resources distribution problem.

Original article submitted 30/IX/2008; revision submitted 07/X/2008.

Dokuchaev Alexander Vladimirovich, Post graduate student, Dept. of Applied Mathematics and Computer Science of Samara State Technical University.

Kotenko Andrey Petrovich, Ph. D. (Phis. & Math.) Assist. Prof., Dept. of Applied Mathematics and Computer Science of Samara State Technical University.

i Надоели баннеры? Вы всегда можете отключить рекламу.