Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ




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

В основе метода лежит принцип оптимальности, сформулированный Р. Бэллманом: «Каково бы ни было начальное состояние, на любом шаге решение должно приниматься с учетом оптимальных решений на последующих шагах, т.е. должно выбираться решение лучшее не для данного шага, а для оптимизируемого процесса в целом».

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

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

Основным моментом решения многошаговых задач является составление рекуррентных соотношений. Общий вид рекуррентного соотношения следующий:

,     (9)

n        - номер рассматриваемого шага, нумерация шагов осуществляется с конца, т.е. n = 1 присваивается последнему шагу оптимизируемого процесса, с которого и начинается решение;

yn        -возможное состояние процесса на начало n -го шага (зависит от xn+1 и yn+1);

xn      - решение, возможное на n-ом (от конца процесса) шаге;

fn(xn) - значение критерия на n-ом шаге при принятии решения xn;

Fn(yn) - суммарное экстремальное значение критерия за n шагов, при условии что n-ый шаг начинается при состоянии yn; F0 = 0.

Процесс построения рекуррентных соотношений для решения конкретных задач сводится к следующим основным элементам:

• выбирается деление процесса на шаги;

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

• устанавливаются возможные решения для каждого шага;

• записывается уравнение состояния;

• описывается критерий на одном шаге;

• записывается рекуррентное соотношение.

Решение задачи начинается с последнего шага, т.е. при n = 1. Для этого шага обычно:

,

где x1 связан однозначно с y1.

Затем отыскивается F2(y2) и т.д. до FN(yN) (N - общее число шагов).

Поскольку yn обычно известно из условий задачи, постольку расчет FN(yN) обеспечивает выборxN* - полностью оптимального решения (а не условно-оптимального). Зная уравнение состояния, можно найти yn-1, для которого уже известно условно-оптимальное решение xn-1, которое и оказывается полностью оптимальным; и т.д. до x1.

Решение обычно осуществляется в табличном виде. Число таблиц определяется числом шагов в задаче.

Таблица для решения задачи имеет вид:

 

xn yn xn1 xnе xn* (yni) Fn (yni)
yn1 . . . ynk a11 . . . ak1 aij a1е . . . akе

 

к          - число возможных состояний процесса на начало n-го шага;

упi        - возможное (i-ое) состояние на n-ом шаге (i = 1,...,к);

е         - число возможных решений на n-ом шаге;

xnj        - возможное (j-ое) решение на n-ом шаге (j = 1,...,е);

x*n{ynj) - оптимальное решение на n-ом шаге при условии, что yn состояние процесса на начало n-го шага;

Fn (yni) - условно оптимальное суммарное значение критерия, соответствующего xn*:

, где           (10)

,                  (11)

При n = 1 в связи с однозначной зависимостью решения от состояния, таблица имеет вид:

 

y1 x1 (y1i ) F1(y1i )
y11 . . .    

 

При n = N в связи с тем, что начальное состояние процесса известно, таблица имеет только одну строку.










Последнее изменение этой страницы: 2018-06-01; просмотров: 207.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...