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

Автор работы: Пользователь скрыл имя, 09 Марта 2011 в 21:59, курсовая работа

Описание работы

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

Содержание работы

Введение 3
1 Теоретическая часть. Модели динамического программирования 4
1.1 Предмет динамического программирования 4
1.2 Постановка задачи динамического программирования 6
1.3 Принцип оптимальности и математическое описание динамического процесса управления 8
1.4 Оптимальное распределение инвестиций 10
1.5 Выбор оптимальной стратегии обновления оборудования 13
2 Расчетная часть 16
Заключение 30
Список использованных источников 31

Файлы: 1 файл

курсовая.doc

— 234.00 Кб (Скачать файл)

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

      Если  в начале каждого года сохраняется  оборудование, возраст которого t лет, то доход за этот год составит r(t). К началу (k+1)-го года возраст оборудования достигнет (t+1) и максимально возможный доход за оставшиеся годы (с (k+1)-го по n-й) составит Fk+1(t+1). Если в начале k-го года принято решение о замене оборудования, то продается старое оборудование возраста     t лет по цене S(t), приобретается новое за P единиц, а эксплуатация его в течение k-го года нового оборудования принесет прибыль r(0). К началу следующего года возраст оборудования составит 1 год и за все оставшиеся годы с (k+1)-го по n-й максимально возможный доход будет Fk+1(1). Из двух возможных вариантов управления выбирается тот, который приносит максимальный доход.

      Функция Fk(t) вычисляется на каждом шаге управления для всех                1 ≤ t ≤ t0 + k – 1. Управление при котором достигается максимум дохода, является оптимальным.

      Значения  функции Fn(t), определяемые Fn-1(t), Fn-2(t) вплоть до F1(t). F1(t0) представляют собой возможные доходы за все годы. Максимум дохода достигается при некотором управлении, применяя которое на первом году, мы определяем возраст оборудования к началу второго года. Для данного возраста оборудования выбирается управление, при котором достигается максимум дохода за годы со второго по n-й и так далее. В результате на этапе безусловной оптимизации определяются годы, в начале которых следует произвести замену оборудования.

        

      2   РАСЧЕТНАЯ ЧАСТЬ

      Построение  оптимальной последовательности операций в коммерческой деятельности

      Пример

      Пусть на оптовую базу «Ларес» прибыло 10 машин с товаром для разгрузки и   8 машин для загрузки товаров, направляемых в магазины. Материально-ответственное лицо оптовой базы осуществляет оформление документов по операциям разгрузки или загрузки для одной машины, а затем переходит к обслуживанию другой машины. Известны затраты по выполнению каждой операции, которые показаны на ребрах графа (рис. 2). Издержки от операций обусловлены простоем транспорта, типом операции (прием или отправка товара) и не зависят от конкретной машины. Необходимо спланировать последовательность операций обоих видов таким образом, чтобы суммарные издержки по приему и отправке товаров для всех машин были минимальными.

      Решение:

      Из  условия следует, что состояние экономической системы характеризуется двумя параметрами: количеством принятых и оформленных машин по разгрузке товара и количеством машин, отправленных с товаром в магазины. Поэтому решение будем искать на плоскости X0Y, на ограниченном прямыми прямоугольнике, который является областью допустимых состояний системы. Если по оси X отложить число (10) разгруженных машин, а по оси Y – число (8) загруженных товаром машин, то можно построить на плоскости граф состояний процесса, в котором каждая вершина характеризует состояние операции приема и отгрузки товара на оптовой базе. Ребра этого графа означают выполнение работы по приему или отправке товара на очередной машине. Каждому ребру можно сопоставить издержки, связанные с выполнением операции по разгрузке или загрузке машины.

      Точка S0 определяет начало процесса, a S1 – конечное состояние, соответствующее приему и отправке всех машин. Оптимизацию процесса будем производить с конечного состояния S1. Весь процесс разобьем на шаги, их количество k = n + m = 10 + 8 = 18. Каждый шаг представляет собой сечение графа состояний, проходящее через вершины (на рис. 2 сечения показаны косыми линиями).

      

       
             
                 
                 
                 
                 
               
                 

      

    К=18     К=17    К=16      К=15    К=14    К=13     К=12       К=11      К=10     К=9

Рисунок 2Графическая схема связи операций 

      I этап. Условная оптимизация.

       1-й шаг.  k = 1. На первом шаге, с задаваемым сечением А1В1, из состояний      А1 и B1 возможен только один вариант перехода в конечное состояние S1. Поэтому в вершинах А1 и B1 записываем соответственно издержки 13 и 10. Ребра A1S1 и B1Sl обозначаем стрелкой, направленной в вершину S1, как показано на рис. 3.

                                                                                       

                                                                                   
 

      Рисунок 3Сетевая модель операции, шаг 1 

      2-й  шаг. k = 2. Второй шаг оптимизации задается сечением по вершинам            А2, В2, C1. Из состояний А2 и C1 возможен единственный переход в вершины  А1 и B1 соответственно, поэтому в вершинах А2 и C1 записываем суммарные издержки 29 и 28 на первых двух шагах перехода в конечное состояние S1.

      Из  вершины В2 возможны два варианта перехода: в вершину А1 или вершину B1. При переходе В2 → А1 сумма издержек составляет 11 + 13 = 24, на переходе В2 → В1 сумма составляет 15 + 10 = 25. Из двух вариантов суммарных издержек выбираем наименьшую (24) и обозначаем стрелкой условно оптимальный переход В2 → А1, как показано на рис. 4.

        

        

        

      Рисунок 4Сетевая модель операции, шаг 2 

      3-й  шаг. k = 3. На третьем шаге сечение  проходит через вершины А3, В3, С2, D1. Из вершин А3 и D1 возможен единственный переход в вершины А2 и С1 соответственно. Суммарные издержки для состояния D1 равны 28 + 19 = 47; для состояния А3: 29 + 20 = 49. Из вершины В3 возможны два варианта перехода:    в вершину А2 издержки равны 29 + 9 = 38; в вершину В2 – 13 + 24 = 37.

      Для вершины С2 возможен переход в вершину В2 (21 + 24 = 45) и в вершину   С1 (18 + 28 = 46). Выбираем для вершин В3 и С2 наименьшие суммарные издержки и обозначаем стрелкой условно оптимальный переход, как показано на рис. 5.

        

        

        

        
 

      Рисунок 5Сетевая модель операции, шаг 3 

      4-й  шаг. k = 4. Четвертый шаг оптимизации задается сечением по вершинам А4, В4, C3, D2, Е1. Из состояний А4 и Е1 возможен единственный переход в вершины А3 и D1 соответственно, поэтому в вершинах А4 и Е1 записываем суммарные издержки:

      А4А3: 18 + 49 = 67

      Е1D1: 18 + 47 = 65.

      Вершина В4: В4А3: 10 + 49 =59

                            В4В3: 13 + 37 = 50.

      Вершина С3: С3В3: 20 + 37 =57

                            С3С2: 21 + 45 = 66.

      Вершина D2: D2С2: 19 + 45 =64

                            D2D1: 11 + 47 = 58. 
 
 

      

        

        

        

        
 

      Рисунок 6Сетевая модель операции, шаг 4 

      5-й шаг. k = 5. На пятом шаге сечение проходит через вершины А5, В5, С4, D3, Е2, F1. Из вершин А5 и F1 возможен единственный переход в вершины         А4 и Е1 соответственно:

      А5А4: 15 + 67 = 82

      F1Е1: 16 + 65 = 81.

      Вершина В5: В5А4: 13 + 67 =80

                            В5В4: 12 + 50 = 62.

      Вершина С4: С4В4: 18 + 50 = 68

                            С4С3: 12 + 57 = 69.

      Вершина D3: D3С3: 18 + 57 = 75

                            D3D2: 11 + 58 = 69.

      Вершина Е2: Е2D2: 16 + 58 = 74

                            Е2Е1: 15 + 65 = 80. 
 
 
 
 

      

        
 

        

        

        

        

      Рисунок 7Сетевая модель операции, шаг 5 

      6-й  шаг. k = 6. Шестой шаг оптимизации задается сечением по вершинам А6, В6, C5, D4, Е3, F2, G1. Из состояний А6 и G1 возможен единственный переход в вершины А5 и F1 соответственно, поэтому в вершинах А6 и G1 записываем суммарные издержки:

      А6А5: 13 + 82 = 95

      G1F1: 10 + 81 = 91.

      Вершина В6: В6А5: 14 + 82 =96

                            В6В5: 15 + 62 = 77.

      Вершина С5: С5В5: 10 + 62 = 72

                            С5С4: 12 + 68 = 80.

      Вершина D4: D4С4: 16 + 68 = 84

                            D4D3: 12 + 69 = 81.

      Вершина Е3: Е3D3: 15 + 69 = 84

                            Е3Е2: 14 + 74 = 88.

      Вершина F2: F2Е2: 15 + 74 = 89

                            F2F1: 12 + 81 = 93.

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