4 - BSU.name

advertisement
Числовой Пример алгоритма ДП
Формулировка задачи 1|dj=d |∑wjUj n=4
(минимизации суммарного штрафа за невыполнение
директивных сроков):
Служащий должен выполнить 4 работы к заданному сроку d=4.
Для каждой работы j задана длительность выполнения pj и
штраф wj, выплачиваемый в случае завершения работы j после
d. Найти такую последовательность выполнения работ, чтобы
суммарный штраф был наименьшим.
pj (длительность обслуживания) 3
2
3
2
wj (вес)
4
4
1
• k=0, 1, … , 4 т.к. n=4 и
• a=0, 1, ... , 4 т.к. d=4
3
a=0
к=0
(0)
F(0, 0)=0
к=1
(0,1)
F(1, 0)=3
a=1
a=2
a=3
a=4
1. Частичное решение x1,
1-запаздывающая работа, 0-ранняя работа
(0,0)
F(1, 3)=0
к=2
к=3
2. Состояние частичного решения (k, a)
т.к. p1=3, a=a=0 для запаздывающих р-т,
a=a+3 для ранних работ
3. Значение функции доминирования F (k, a)
к=4
т.к. w1=3, F=F+3 =0+3 для запаздывающих р-т,
F=F=0 для ранних работ
a=0, …, 4
Пример решения задачи методом ДП
Найти последовательность работ для минимизации суммы штрафов
к=0
(0)
F(0, 0)=0
к=1
(0,1)
F(1, 0)=3
к=2
(0,1,1)
F(2, 0)=7
(0,1,0)
F(2, 2)=3
(0,0,1)
F(2, 3)=4
(0,1,1,1)
F(3, 0)=11
(0,1,0,1)
F(3, 2)=7
(0,1,1,0)
F(3, 3)=7
к=3
к=4
(0,0)
F(1, 3)=0
(0,0,1,0)
F(3, 3)=8
(0,1,1,1,1)
F(4, 0)=12
(0,1,0,1,1)
F(4, 2)=8
(0,1,1,1,0)
F(4, 2)=11
(0,1,1,0,1)
F(4, 3)=8
ответ
(0,1,0,1,0)
F(4, 4)=7
Download