Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Основные идеи вычислительного метода динамического программирования




Динамическое программирование

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

Обычно методами динамического программирования оптимизируют работу некоторых управляемых систем, эффект которой оценивается аддитивной, или мультипликативной, целевой функцией. Аддитивной называется такая функция нескольких переменных , значение которой вычисляется как сумма некоторых функций fj, зависящих только от одной переменной xj:

(1)

Слагаемые аддитивной целевой функции соответствуют эффекту решений, принимаемых на отдельных этапах управляемого процесса. По аналогии, мультипликативная функция распадается на произведение положительных функций различных переменных:

(2)

Рассмотрим сущность вычислительного метода динамического программирования на примере задачи оптимизации:

(3)

при ограничениях

(4)

Содержательно задача (3)-(4) может быть сформулированна как проблема оптимального вложения некоторых ресурсов j, приводимых к единой размерности (например, денег) с помощью коэффициентов aj, в различные активы (инвестиционные проекты, предприятия и т.п.), характеризующиеся функциями прибыли fj, т.е. такого распределения ограниченного объёма ресурса (b), которое максимизирует суммарную прибыль. Пусть имеется ситуация, когда она решается последовательно для каждого актива. Если на первом шаге принять решение о вложении в n-й актив xn единиц, то на остальных шагах можно распределить b-anxn единиц ресурса. Здесь вполне естественно будет поступить так, чтобы на оставшихся шагах распределение текущего объёма ресурса произошло оптимально, что равнозначно решению задачи:

(5)

при ограничениях:

(6)

Очевидно, что максимальное значение (5) зависит от размера распределяемого остатка, и если оставшееся количество ресурса обозначить через , то величину (5) можно выразить как функцию от :

, (7)

где индекс n-1 указывает на оставшееся количество шагов. Тогда суммарный доход, получаемый как следствие решения принятого на первом шаге, и оптимальных решений, принятых на остальных шагах, будет

(8

Если бы имелась возможность влиять на xn, то для получения максимальной прибыли нужно было бы максимизировать , по переменной xn, т.е. найти и фактически решить задачу:

(9)

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

, (10)

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

Если в выражении (9) заменить значения b на и n на k, то его можно рассматривать как рекуррентную формулу, позволяющую последовательно вычислять оптимальные значение целевой функции при распределении объёма ресурса за k шагов:

(11)

Значение переменной xk, при котором достигается рассматриваемый максимум, обозначим .

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

Таким образом, динамическое программирование представляет собой целенаправленный перебор вариантов, который приводит к нахождению глобального максимума. Уравнение (11) выражающее оптимальное решение на k-ом шаге через решения, принятые на предыдущих шагах, называется основным рекуррентным соотношением динамического программирования.

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 514; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.