Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Лекция 26 Динамическое программирование

Читайте также:
  1. Prolog и логическое программирование.
  2. VІ ЛЕКЦИЯ-ТЕЗИС
  3. VІІ ЛЕКЦИЯ-ТЕЗИС 1 страница
  4. VІІ ЛЕКЦИЯ-ТЕЗИС 2 страница
  5. VІІ ЛЕКЦИЯ-ТЕЗИС 3 страница
  6. VІІ ЛЕКЦИЯ-ТЕЗИС 4 страница
  7. VІІ ЛЕКЦИЯ-ТЕЗИС 5 страница
  8. VІІ ЛЕКЦИЯ-ТЕЗИС 6 страница
  9. VІІ ЛЕКЦИЯ-ТЕЗИС 7 страница
  10. VІІ ЛЕКЦИЯ-ТЕЗИС 8 страница
  11. Аспектно-Ориентированное Программирование (Aspect Oriented Programming, AOP)
  12. Введение в объектно-ориентированное программирование

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

 

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

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

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

Алгоритм реализации метода построен на разделение общей задачи на отдельные этапы.

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

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

Динамическое программирование позволяет, не нарушая строгости решения, сократить число рассматриваемых вариантов.

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

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

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

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

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

 

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

Для знакомства с методиками приведём примеры решения задач.



Рассмотрим пример геометрической интерпретации (рис.18.1) метода (источник информации [3]) Смысл её состоит в следующем.

Рис. 18.1. Геометрическая интерпретация задачи

 

Вертикальным линиям соответствуют моменты времени, в которые рассматривают исследуемую задачу.

В начальный момент t0 = 0 процесс (система) находится в одном из возможных начальных состояний, множеству которых соответствует множество точек Аi .Начальное состояние может быть задано либо областью возможных состояний, либо одним конкретным значением, в нашем случае четырьмя А1 А2 А3 и А4 . Будем также считать, для простоты, что в каждый момент времени система находится так же в одном из четырех возможных состояний, которые показаны точками на соответствующих вертикалях.

Конечное состояние системы — одна из четырех точек В1 В2 В3 и В4

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

Эта функция — количественная характеристика перехода в следующее состояние в зависимости от предыдущего — выражает либо выигрыш, либо затраты. Поскольку значение функции перехода зависит от предыдущего х(i) и от последующего х (i + 1) состояний системы, ее можно записать в общем случае так:

 

Каждая допустимая стратегия выражается ломаной линией, соединяющей вертикаль t= 0 с вертикалью tn = Т.

Состоит она из набора управлений на каждом этапе, т. е. ей можно сопоставить число:

 

Оптимальной стратегии соответствует ломаная с наименьшим значением F.

Следовательно, исходную задачу можно сформулировать в следующем виде: требуется из всех допустимых ломаных, соединяющих вертикаль t0=0 c вертикалью tn = T выбрать такую, которой соответствует наименьшее значение F.

Решают задачу в таком порядке.

Для всех возможных состояний системы в начале последнего этапа х(n — 1) определяют оптимальное управление — выбирают функцию перехода в одно из

конечных состояний с минимальным значением. Переходы, соответствующие минимальному значению Qn-1 для каждого состояния (n — 1),показаны на рис. 18.1 жирной линией. Таким образом, в какой бы точке не оказалась система в начале последнего этапа, всегда можно предложить оптимальную стратегию для перевода ее в конечное состояние, получить ряд условно-оптимальных решений. Условие оптимальности каждого такого решения — состояние системы в начале рассматриваемого периода.

Теперь для каждого состояния системы в начале предпоследнего этапа Х(n-2)можно определить условно-оптимальные стратегии для перевода в одно из конечных состояний уже по общему минимуму функций перехода на двух последних этапах: min

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

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

 

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

 

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

Математическая постановка задачи выглядит следующим образом.

 

 

 

В качестве примера реализации методики динамического программирования можно привести решение задачи по оптимизации режима ведения поезда на одном из участков (рис. 18.2.).

Рис. 18.2 Определение наивыгоднейшего режима ведения поезда по участку

 

<== предыдущая лекция | следующая лекция ==>
| Лекция 26 Динамическое программирование

Дата добавления: 2014-01-05; Просмотров: 338; Нарушение авторских прав?;


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



ПОИСК ПО САЙТУ:


Читайте также:



studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ip: 54.80.132.10
Генерация страницы за: 0.025 сек.