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

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Результат поиска


Наименование:


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

Информация:

Тип работы: реферат. Добавлен: 18.10.2012. Сдан: 2012. Страниц: 6. Уникальность по antiplagiat.ru: < 30%

Описание (план):


 
 
 
 
 
 
РЕФЕРАТ 
 

по дисциплине:
на тему:
Динамическое  программирование 
 
 
 
 
 

  
                                                                   
 
 
 
 
 
 
 

СОДЕРЖАНИЕ 

Введение
1. Задача динамического программирования
2.Общая структура динамического программирования
3. Принцип оптимальности. Функциональные уравнения Беллмана
4.Применение  динамического программирования
Заключение
Список использованной литературы 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ВВЕДЕНИЕ 

     Динамическое  программирование (иначе – динамическое планирование) – это метод нахождения оптимальных решений в задачах с многошаговой (многоэтапной) структурой. Многие экономические процессы расчленяются на шаги естественным образом. Это все процессы планирования и управления, развиваемые во времени. Естественным шагом в них может быть год, квартал, месяц, декада, неделя, день и т. д. Однако метод динамического программирования может использоваться при решении задач, где время вообще не фигурирует; разделение на шаги в таких задачах вводится искусственно. Поэтому «динамика» задач динамического программирования заключается в методе решения.
В экономической  практике встречается несколько  типов задач, которые по постановке или способу решения относятся  к задачам динамического программирования. Это задачи оптимального перспективного и текущего планирования во времени. Их решают либо путем составления  комплекса взаимосвязанных статических  моделей для каждого периода, либо путем составления единой динамической задачи оптимального программирования с применением многошаговой процедуры  принятия решений. 
 
 
 
 
 
 
 
 
 
 

    ЗАДАЧА ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ
 
      Большинство методов исследования операций связано  в первую очередь с задачами вполне определенного содержания. Классический аппарат математики оказался малопригодным  для решения многих задач оптимизации, включающих большое число переменных и/или ограничений в виде неравенств. Несомненна привлекательность идеи разбиения задачи большой размерности  на подзадачи меньшей размерности, включающие всего по нескольких переменных, и последующего решения общей задачи по частям. Именно на этой идее основан метод динамического программирования.
      Динамическое  программирование (ДП) представляет собой  математический метод, заслуга создания и развития которого принадлежит прежде всего Беллману. Метод можно использовать для решения весьма широкого круга задач, включая задачи распределения ресурсов, замены и управления запасами, задачи о загрузке. Характерным для динамического программирования является подход к решению задачи по этапам, с каждым из которых ассоциирована одна управляемая переменная. Набор рекуррентных вычислительных процедур, связывающих различные этапы, обеспечивает получение допустимого оптимального решения задачи в целом при достижении последнего этапа.
    Происхождение названия динамическое программирование, вероятно, связано с использованием методов ДП в задачах принятия решений через фиксированные промежутки времени (например, в задачах управления запасами). Однако методы ДП успешно применяются также для решения задач, в которых фактор времени не учитывается. По этой причине более удачным представляется термин многоэтапное программирование, отражающий пошаговый характер процесса решения задачи.
    Фундаментальным принципом, положенным в основу теории ДП, является принцип оптимальности. По существу, он определяет порядок поэтапного решения допускающей декомпозицию задачи (это более приемлемый путь, чем непосредственное решение задачи в исходной постановке) с помощью рекуррентных вычислительных процедур.
      Динамическое  программирование позволяет осуществлять оптимальное планирование управляемых  процессов. Под «управляемыми» понимаются процессы, на ход которых мы можем  в той или другой степени влиять.
      Пусть предполагается к осуществлению  некоторое мероприятие или серия  мероприятий («операция»), преследующая определенную цель. Спрашивается: как  нужно организовать (спланировать) операцию для того, чтобы она была наиболее эффективной? Для того, чтобы поставленная задача приобрела количественный, математический характер, необходимо ввести в рассмотрение некоторый численный критерий W, которым мы будем характеризовать качество, успешность, эффективность операции. Критерий эффективности в каждом конкретном случаи выбирается исходя из целевой направленности операции и задачи исследования (какой элемент управления оптимизируется и для чего).
      Сформулируем  общий принцип, лежащий в основе решения всех задач динамического  программирования («принцип оптимальности»):
      «Каково бы ни было состояние системы S перед очередным шагом, надо выбрать управление на этом шаге так, чтобы выигрыш на данном шаге плюс оптимальный выигрыш на всех последующих шагах был максимальным».
      Динамическое  программирование – это поэтапное  планирование многошагового процесса, при котором на каждом этапе оптимизируется только один шаг. Управление на каждом шаге должно выбираться с учетом всех его последствий в будущем.
      При постановке задач динамического  программирования следует руководствоваться  следующими принципами:
    Выбрать параметры (фазовые координаты), характеризующие состояние S управляемой системы перед каждым шагом.
    Расчленить  операцию на этапы (шаги).
    Выяснить набор шаговых управлений xi для каждого шага и налагаемые на них ограничения.
    Определить какой выигрыш приносит на i-ом шаге управление xi, если перед этим система была в состоянии S, т.е. записать «функцию выигрыша»:
.
    Определить, как изменяется состояние S системы S под влиянием управление xi на i-ом шаге: оно переходит в новое состояние
. (1.1)
    Записать основное рекуррентное уравнение динамического программирования, выражающее условный оптимальный выигрыш Wi(S) (начиная с i-го шага и до конца) через уже известную функцию Wi+1(S):
. (1.2)
      Этому выигрышу соответствует условное оптимальное  управление на i-м шаге xi(S) (причем в уже известную функцию Wi+1(S) надо вместо S подставить измененное состояние
    Произвести условную оптимизацию последнего (m-го) шага, задаваясь гаммой состояний S, из которых можно за один шаг дойти до конечного состояния, вычисляя для каждого из них условный оптимальный выигрыш по формуле
    Произвести условную оптимизацию (m-1)-го, (m-2)-го и т.д. шагов по формуле (1.2), полагая в ней i=(m-1),(m-2),…, и для каждого из шагов указать условное оптимальное управление xi(S), при котором максимум достигается.
    Заметим, что если состояние системы в  начальный момент известно (а это  обычно бывает так), то на первом шаге варьировать  состояние системы не нужно - прямо  находим оптимальный выигрыш  для данного начального состояния  S0. Это и есть оптимальный выигрыш за всю операцию
    
    Произвести  безусловную оптимизацию управления, «читая» соответствующие рекомендации на каждом шаге. Взять найденное  оптимальное управление на первом шаге ; изменить состояние системы по формуле (1.1); для вновь найденного состояния найти оптимальное управление на втором шаге х2* и т.д. до конца.
   Данные  этапы рассматривались для аддитивных задач, в которых выигрыш за всю  операцию равен сумме выигрышей  на отдельных шагах. Метод динамического  программирования применим также и  к задачам с так называемым «мультипликативным» критерием, имеющим  вид произведения:
       (если только выигрыши wi положительны). Эти задачи решаются точно так же, как задачи с аддитивным критерием, с той единственной разницей, что в основном уравнении (1.2) вместо знака «плюс» ставится знак «умножения»:   
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    ОБЩАЯ СТРУКТУРА ДИНАМИЧЕСКОГО  ПРОГРАММИРОВАНИЯ
 
    Отыскание оптимальной стратегии принятия набора последовательных решений, в  большинстве случаях, производится следующим образом: сначала осуществляется выбор последнего во времени решения, затем при движении в направлении, обратном течению времени, выбираются все остальные решения вплоть до исходного.
    Для реализации такого метода необходимо выяснить все ситуации, в которых  может происходить выбор последнего решения. Обычно условия, в которых  принимается решение, называют «состоянием» системы. Состояние системы –  это описание системы, позволяющее, учитывая будущие решения, предсказать  ее поведение. Нет необходимости  выяснять, как возникло то ил иное состояние  или каковы были предшествующие решения. Это позволяет последовательно  выбирать всего по одному решению  в каждый момент времени. Независимо от того, отыскивают оптимальные решения  с помощью табличного метода и  последующего поиска или аналитическим  путем, обычно быстрее и выгоднее производить выбор по одному решению  в один момент времени, переходя затем  к следующему моменту и т.д. К  сожалению, таким методом можно  исследовать не все процессы принятия решений. Необходимым условием применения метода динамического программирования является аддитивность цен всех решений, а также независимость будущих результатов от предыстории того или иного состояния.
    Если  число решений очень велико, то можно построить относительные  оценки состояний так, чтобы оценки, отвечающие каждой паре последовательных решений, отличались друг от друга на постоянную величину, представляющую собой средний «доход» на решение. Также можно выполнять дисконтирование  доходов от будущих решений. Необходимость  в этом иногда появляется в том  случае, когда решение принимаются редко, скажем раз в году. Тогда уже не нужно рассматривать последовательно 1,2,3…решения, чтобы достичь решения с большим номером. Вместо этого можно непосредственно оперировать функциональным уравнением, что, как правило, дает существенную выгоду с точки зрения сокращения объема вычислений.
 

     
    ПРИНЦИП ОПТИМАЛЬНОСТИ. ФУНКЦИОНАЛЬНЫЕ УРАВНЕНИЯ БЕЛЛМАНА
 
     Метод динамического программирования состоит  в том, что оптимальное управление строится постепенно, шаг за шагом. На каждом шаге оптимизируется управление только этого шага. Вместе с тем  на каждом шаге управление выбирается с учетом последствий, т.к. управление, оптимизирующее целевую функцию  только для данного шага, может  привести к неоптимальному эффекту  всего процесса. Управление на каждом шаге должно быть оптимальным с точки  зрения процесса в целом. В основе метода динамического программирования лежит принцип оптимальности, сформулированный Беллманом.
     Принцип оптимальности: если некоторая последовательность решений оптимальна, то на любом шаге последующие решения образуют оптимальную стратегию по отношению к результату предыдущих решений.
     Другими словами, каково бы не было состояние  системы перед очередным шагом, надо выбрать управление на этом шаге так, чтобы выигрыш на данном шаге (проигрыш) плюс оптимальный выигрыш (проигрыш) на всех последующих шагах  был бы максимальным (минимальным). На основе принципа оптимальности Беллмана строится схема решения монгошаговой задачи, состоящая из 2-х частей:
     1) Обратный ход: от последнего шага к первому получают множество возможных оптимальных («условно-оптимальных») управлений.
     2) Прямой ход: от известного начального состояния к последнему из полученного множества «условно-оптимальных» управлений составляется искомое оптимальное управление для всего процесса в целом.
     Оптимальную стратегию управления можно получить, если сначала найти оптимальную  стратегию управления на n-м шаге, затем на двух последних шагах, затем на трех последних шагах и т.д., вплоть до первого шага.
     Чтобы можно было использовать принцип  оптимальности практически, необходимо записать его математически. Обозначим  через z1(xn-1), z2(xn-2),…, zn(x0) условно-оптимальные значения приращений целевой функции на последнем шаге, двух последних,…, на всей последовательности шагов, соответственно.
     Тогда для последнего шага:
     z1(xn-1) = (min) {Fn(xn-1, un)},  

     где un – множество допустимых (возможных) управлений на n-ом шаге, xn-1
и т.д.................


Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть полный текст работы бесплатно


Смотреть похожие работы


* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.