Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник Слинкиной.doc
Скачиваний:
101
Добавлен:
13.04.2015
Размер:
3.52 Mб
Скачать

4.2. Динамическое программирование. Основные понятия. Сущность методов решения

Динамическое программирование – это метод нахождение оптимальных решений в задачах с многошаговой структурой. Многие экономические процессы разделяются на шаги естественным образом: это все процессы планирования и управления, развивающиеся во времени. Естественным шагом в них могут быть год, неделя, декада и т.д. Однако метод динамического программирования может использоваться при решении задач, где время вообще не фигурирует. Разделение на шаги в таких задачах вводится искусственно.

Особенности задач динамического программирования:

1.Рассматривается система, состояние которой на каждом шаге определяется вектором .Дальнейшие изменения ее состояния зависят только от данного состоянияи не зависят от того, каким путем система пришла в него. Такие процессы называют процессами без последствий.

2.На каждом шаге выбирается одно решение , под действием которого система переходит из предыдущего состоянияв новое. Это новое состояние является функцией состояния на начало интервалаи принятого вначале интервала решения,т.е.

.

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

4.На векторы состояния и управления могут быть наложены ограничения, объединение которых составляет область допустимых решений.

5.Требуется найти такое допустимое управление для каждого шагаt, чтобы получить экстремальное значение функции цели за все T шагов.

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

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

Определение: Управление – это воздействие, переводящее систему из начального состояния в конечное.

Любую многошаговую задачу можно решать по-разному. Во-первых, можно считать неизвестными величинами и находить экстремум целевой функции одним из существующих методов оптимизации, т.е. искать сразу все элементы решения на всех шагах сразу. Этот путь не всегда приводит к результату, особенно если целевая функция задана таблично или число переменных велико. Второй путь основан на проведении поэтапной оптимизации. Поэтапность отнюдь не означает изолированность этап, наоборот, управление на каждом последующем этапе осуществляется с учетом результатов предыдущего. Чаще всего этот метод проще, чем решение всей задачи сразу. Идея постепенной пошаговой оптимизации составляет суть метода динамического программирования. Из качественного анализа идеи поэтапной оптимизации можно сформулировать следующие принципы, лежащие в основе динамического программирования: принцип оптимальности и принцип погружения.

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

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

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