Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







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





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

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

Обозначим через Хk, управление на k-м шаге (k=1, 2,..., n). Переменные Хk, удовлетворяют некоторым ограничениям и в этом смысле называются допустимыми (Хk может быть числом, точкой в n-мерном пространстве, качественным признаком).

Пусть Х(Х1, Х2,..., Хn,) — управление, переводящее систему S из состояния s0 в состояние . Обозначим через sk состояние системы после k-го шага управления. Получаем последовательность состояний s0, s1,..., sk-1,…, sn= , которую изобразим кружками (рис. 7.1).

Рис. 7.1

Показатель эффективности рассматриваемой управляемой операции — целевая функция — зависит от начального состояния и управления:

Z=F(s0,X) (7.1)

Сделаем несколько предположений.

1. Состояние sk системы в конце k-го шага зависит только от предшествующего состояния sk-1 и управления на k-м шаге Хk, (и не зависит от предшествующих состояний и управлений). Это требование называется “отсутствием последействия”. Сформулированное положение записывается в виде уравнений

которые называются уравнениями состояний.

2. Целевая функция (7.1) является аддитивной от показателя эффективности каждого шага. Обозначим показатель эффективности k-го шага через Тогда

(7.2)

Задача пошаговой оптимизации (задача ДП) формулируется так: определить такое допустимое управление Х, переводящее систему S из состояния в s0 в состояние , при котором целевая функция (7.2) принимает наибольшее (наименьшее) значение.

Выделим особенности модели ДП:

1. Задача оптимизации интерпретируется как n-шаговый процесс управления.

2. Целевая функция равна сумме целевых функций каждого шага.

3. Выбор управления на k-м шаге зависит только от состояния системы к этому шагу, не влияет на предшествующие шаги (нет обратной связи).

4. Состояние sk после k-го шага управления зависит только от предшествующего состояния sk-1 и управления Хk (отсутствие последействия).

5. На каждом шаге управление Хk, зависит от конечного числа управляющих переменных, а состояние sk — от конечного числа параметров.

 

 

Пример решения задачи

Планируется деятельность четырех промышленных предприятий (системы) на очередной год. Начальные средства: s0 = 5 усл. ед. Размеры вложения в каждое предприятие кратны 1 усл. ед. Средства х, выделенные k-му предприятию (k=1, 2, 3, 4), приносят в конце года прибыль fk(х). Функции fk (х) заданы таблично (табл. 7.1.1). Принято считать, что:

а) прибыль fk(х) не зависит от вложения средств в другие предприятия;

б) прибыль от каждого предприятия выражается в одних условных единицах;

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

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

Таблица 7.1.1

x f1(x) f2(x) f3(x) f 4(x)
         
         
         
         
         

 

Решение. Обозначим через хk количество средств, выделенных k-му предприятию. (Нумерацию предприятий 1, 2, 3, 4 сохраняем в процессе решения неизменной.)

Суммарная прибыль равна

, хk≥0,k=1,2,3,4.

 

Переменные х удовлетворяют ограничениям:

, хk≥0,k=1,2,3,4.

Требуется найти переменные х1, х2, х3, х4, удовлетворяющие системе ограничений и обращающие в максимум функцию.

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

Схема решения задачи методом ДП имеет следующий вид: процесс решения распределения средств s0=5 можно рассматривать как 4-шаговый, номер шага совпадет с номером предприятия; выбор переменных х1, х2, х3, х4 — управление соответственно на I, II, III, IV шагах. - конечное состояние процесса распределения — равно нулю, так как все средства должны быть вложены в производство, =0. Схема распределения показана на рис. 7.1.1.

Уравнения состояний в данной задаче имеют вид:

где sk - параметр состояния - количество средств, оставшихся после k-го шага, т.е. средства, которые остается распределить между оставшимися
4 - k предприятиями.

 

Рис. 7.1.1

Введем в рассмотрение функцию - условную оптимальную прибыль, полученную от k-го,..., 4-го предприятий, если между ними распределялись оптимальным образом средства sk-1(0≤ sk-1≤5). Допустимые управления на k-м шаге удовлетворяют условию: 0≤xk≤ sk-1 (либо k-му предприятию ничего не выделяем, хk=0, либо не больше того, что имеем к к-му шагу, xk≤ sk-1 .

Уравнения имеют вид:

k=4, (a)

(б)

(в)

(г)

 

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

IV ш а г. В таблице 7.1.1 f 4(x) прибыли монотонно возрастают, поэтому все средства, оставшиеся к IV шагу, следует вложить в 4-е предприятие. При этом для возможных значений s3=0, 1,..., 5 получим:

и

III ш а г. Делаем все предположения относительно остатка средств s2 к III шагу (т.е. после выбора х1 и х2). s2 может принимать значения 0, 1, 2, 3, 4, 5. В зависимости от этого выбираем 0≤ х3≤s2, находим s3=s2-x3 и сравниваем для разных х3 при фиксированном s2 значения суммы . Для каждого s2 наибольшее из этих значений есть - условная оптимальная прибыль, полученная при оптимальном распределении средств s2 между 3-м и 4-м предприятиями.

II ш а г. Условная оптимизация, согласно уравнению (в), проведена в таблице 7.1.2. при k=2.

I ш а г. Условная оптимизация (уравнение (г) проведена в табл. 7.1.2 при k=1 для s0=5. Поясним решение подробно: если х=0, то s1=5, прибыль, полученная от четырех предприятий при условии, что s1=5 ед. средств между оставшимися тремя предприятиями будут распределены оптимально, равна . Если х1=1, то s2=4. Суммарная прибыль при условии, что s2=4 ед. средств между оставшимися тремя предприятиями будут распределены оптимально, равна . Аналогично при х1=2, s2= 3 и ;

при х1=3, s2= 2 и ;

при х1=4, s2= 1 и ;

при х1=5, s2= 0 и .

Сравнивая числа, получим усл. ед. =Zmax при .

Максимум суммарной прибыли равен 24 усл. ед. средств при условии, что 1-му предприятию выделено 1 усл. ед.; 2-му предприятию — 2 усл. ед.; 3-му предприятию — 1 усл. ед.; 4-му предприятию — 1 усл.ед.

Таблица 7.1.2

S k-1 xk sk K=3 K=2 K=1
 
                       
                       
      0+1=1     0+4=4     0+6=6    
      3+1=3     6+0=6     8+0=8    
      0+6=6     0+7=7     0+10=10    
      3+4=4     6+4=10     8+6=14    
      4+0=4     9+0=9     10+0=10    
      0+8=8     0+9=9     0+13=13    
      3+6=9     6+7=13     8+10=18    
      4+4=8     9+4=13     10+6=16    

 

 

Сетевая модель

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

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

Порядок построения сетевого графика.

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

2. В сетевом графике не должно быть событий (кроме исходного), которым не предшествует хотя бы одна работа.

3. В сети не должно быть замкнутых контуров и петель, т. е путей, соединяющих некоторые события с ними же самими.

4. Любые два события должны быть непосредственно связаны не более чем одной работой-стрелкой.

5. В сети рекомендуется иметь одно исходное и одно завершающее событие.

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

Критический путь – наиболее продолжительный полный путь в сетевом графике.

Временные параметры сетевых графиков

Элемент сети, характеризуемый параметром Наименование параметра Условное обозначение параметра
Событие i Ранний срок свершения события Поздний срок свершения события Резерв времени события tp(i) tn(i) R(i)
Работа (i,j) Продолжительность работы Ранний срок начала работы Ранний срок окончания работы Поздний срок начала работы Поздний срок окончания работы Полный резерв времени работы Частный резерв времени работы первого вида Частный резерв времени работы второго вида иди свободный резерв времени работы Независимый резерв времени работы t(i,j) tрн(i,j) tро(i,j) tпн(i,j) tпо(i,j) Rп(i,j) R1(i,j)   Rс(i,j)     Rн(i,j)
Путь L Продолжительность пути Продолжительность критического пути Резерв времени пути t(L) tкр R(L)

Оптимизация сетевого графика – процесс улучшения организации выполнения комплекса работ с учетом срока его выполнения.

Частная оптимизация – минимизация времени выполнения комплекса работ при заданной стоимости, минимизация стоимости комплекса работ при заданном времени выполнения проекта.

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

 

Пример решения задачи

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

Таблица 8.1.1

№ п/п Работа (i,j) Продолжительность работы, сутки Коэффициент затрат на ускорение работы h(i,j) Стоимость работы, усл. руб. С=(i,j) при t(i,j)= b (i,j)
мини- мальная а(i,j) макси- мальная b (i,j)
  (0,1)        
  (0,2)        
  (1,2)        
  (1,3)        
  (2,7)        
  (3,4)        
  (3,5)        
  (4,6)        
  (5,6)        
  (6,7)        
  (7,8)        
Итого          

 

Решение. Исходный для оптимизации план (см. рис.8.1.1) имеет максимальную продолжительность работ t(i,j)= b (i,j) и соответственно минимальную стоимость С=З00 (усл. руб.). Найдем все полные пути сетевого графика.

 

Рис. 8.1.1

Их четыре:

L1 продолжительностью t(L1)=89 (суток);

L2 продолжительностъю tкр= t(L2)=99 (суток);

L3 продолжительностью t(L3)=50(сугок);

L4 продолжительностью t(L4)=50 (сугок).

Для удобства дальнейших расчетов представим эти пути графически в виде цепочек работ (рис. 8.1.2), в которых цифры над стрелками показывают коэффициенты затрат на ускорение работ h(i,j), а под стрелками — максимально возможные величины уменьшения продолжительности работ Dt(i,j) = b (i,j)- а(i,j).

 

Рис. 8.1.2

I ш а г. Уменьшить продолжительность выполнения комплекса можно, как известно, только за счет сокращения продолжительности работ критического пути tкр=t(L2). Из работ критического пути L2 наименьший коэффициент затрат на ускорение h(i,j) имеет работа (3,4):
hmin(i,j)= min{h (0, 1); h (1,.3); h (3, 4); h (4, б); h (б, 7);
h (7, 8)}= min{6; 8; 2; 4; 5; 9}=2, т.е. hmin(i,j)= h (3, 4)=2. Продолжительность работы t(3,4) можно сокращать не более чем на 10 суток. При этом изменится длина только критического пути (с 99 до 89 суток) — L2 единственного из четырех путей, проходящего через работу (3,4). А стоимость проекта за счет ускорения работы (3,4) возрастет до 320 (усл. руб.). Итак, на 1 шаге:

, где 89≤t≤99;

новые длины путей равны t(L1)= t(L2)=89; t(L3)= t(L4)=50.

II ш а г. Теперь мы имеем два критических пути L1 и L2 и сократить срок выполнения проекта можно за счет одновременного сокращения их продолжительности. Сократить одновременно t(L1) и t(L2) можно, уменьшив продолжительность работ, лежащих на этих путях: либо t(0, 1), либо t(6,7), либо t(7, 6). Останавливаемся на t(6, 7), поскольку при этом обеспечивается минимум затрат на ускорение работы: hmin(i,j)=min{h(0,1);h(1,3); h(6,7); h(7,8)}=min{6; 8; 5; 9}=5, т.е.
hmin(i,j)=h (6, 7)=5.

Продолжительность работы t(6,7), можно уменьшить не более на 5 суток. На эту величину уменьшатся длины критических путей t(L1) и t(L2), а следовательно, и срок выполнения проекта t= t(L1) и t= t(L2). При этом стоимость проекта увеличится с 320 до 345 (усл. руб.). Итак, на II шаге:

где 84≤t≤89;

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

III ш а г. hmin(i,j)= min {h(0, 1); h(1, 3); h(7, 8)} = min (6; 8; 9}=6, т.е. hmin(i,j)=h(0,1)=6. Сокращая продолжительностъ работы t(0, 1) до 10 суток, найдем

где 74≤t≤84

 

IV ш а г. hmin(i,j)= min {h(1, 3); h(7,6)} = min {8; 9} = 8, т.е.
hmin(i,j)= h(1, 3)= 8. Сокращая продолжительность работы t(1, З) до 5 суток, найдем

где 69≤t≤74

 

V ш а г. Сокращая продолжительность работы t (7, 8) до 5 суток, найдем (учитывая, что h (7, 8)=9)

где 64≤t≤69

 

VI ш а г. Теперь несокращенными остались продолжительности трех критических работ: t(3, 5) и t(5, 6) критического пути L1, каждую из которых можно сократить до 5 суток, и t(4, 6) критического пути L2, которую можно сократить до 10 суток. Сокращение какой-либо одной из названных величин не приведет к сокращению продолжительности выполнения проекта, ибо при этом сократится лишь один из двух путей, а длина несокращенного пути, который станет единственным критическим путем, не изменится. Поэтому последовательно сокращая t(4, 6) и t(5, 6) до 5 суток (с учетом времени сокращения продолжительности работ), найдем (теперь коэффициент затрат на ускорение работ равен
h(4, 6)+h(5, 6)= 4+4= 8):

где 59≤t≤64;

VII ш а г. Продолжительность работы t(4, 6) можно сократить еще до 5 суток и на тот же срок можно сократить t (3, 5) (иначе срок выполнения проекта не изменится). Полагая, что h (4, 6)+h (3, 5)=4+6=10, найдем

где 54≤t≤59

 

График оптимальной зависимости стоимости проекта С(t) от продолжительности его выполнения показан на рис. 8.1.3. С помощью этого графика можно, с одной стороны, оценить минимальную стоимость проекта при любом возможном сроке его выполнения, а с другой стороны — найти предельную продолжительность выполнения проекта при заданной его стоимости. Например, при продолжительности проекта t=79 (суток) минимальная стоимость выполнения рассматриваемого комплекса составит 375 (усл. руб.), а при стоимости выполнения комплекса, например, 540 (усл. руб.) предельная продолжительность проекта составит 55 (суток). С помощью функции С(t) можно оценить дополнительные затраты, связанные с сокращением сроков завершения комплекса. Так, сокращение продолжительности проекта с 79 до 55 суток потребует дополнительных затрат 540-375=165 (усл. руб.).

 

Рис. 8.1.3

 

Список литературы

1. Акулич И. Л. Математическое программирование в примерах и задачах. — М.; Высшая школа, 1986.

2. Банди Б. Основы линейного программирования. - М.: Радио и связь, 1989.

3. Вентцель С. Исследование операций. Задачи, принципы, методология. — М.: Наука, 1980.

4. Высшая математика для экономистов/Под ред. Н.Ш. Кремера. — М.: Банки и биржи, ЮНИТИ, 1997.

5. Горчаков А.А., Орлова И.В. Компьютерные экономико-математические модели. — М.: Компьютер, ЮНИТИ, 1995.

6. Исследование операций/Под ред. М. А Войтенко и Н.Ш. Кремера. — М.: Экономическое образование, 1992.

7. Карасев А.И., Кремер Н.Ш, Савельева Т.И. Математические методы и модели в планировании. — М.: Экономика, 1987.







Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.