Проверяемый текст
Буркова, Ирина Владимировна; Метод дихотомического программирования в задачах управления проектами (Диссертация 2004)
[стр. 57]

Выбираем первое подмножество.
Соответствующая очередность обработки деталей (2,3,1) с продолжительностью обработки Т = 20.
Это решение оптимально, поскол ьку оценка остальны х подмножеств больше 20 (Рис.
1.6).
Н а Р исунке число в скобках у д у г (например ( 1)) показывает, какая деталь делается, а число с чертой показывает, какая деталь не делается (последней, предпоследней и т.д.).

57 Рис.
1.6.
Оптимальное решение М е т о д д и н а м и ч е с к о г о п р о г р а м м и р о в а н и я .
В основе метода л еж ит сведение задачи оптимизации к задаче определения экстремальной траектории (минимальной или максимальной длины ) в некоторой специальным образом построенном семействе возм ож ны х траекторий.
П ринцип оптимальности
Бсллмана гласит: лю бой участок оптимальной траектории оптимален [17, 2 2 ,2 6 ].
В случае дискретны х задач метод динамического программирования сводится к определению п ути максимальной или м инимальной длины в специальным образом построенной сети.
Дадим иллю страцию метода на примере
классической задачи о ранце.
И мею тся п предметов.
К аж д ы й предмет имеет ценность
ас и вес Cj.
Требуется выбрать подмножество Q предметов так, чтобы их суммарная ценность A(Q) =
Z a , isQ была максимальной п р и ограничении на сум м арны й вес Z c , < R isq
[стр. 49]

эта оценка —отдельный вопрос).
Дадим иллюстрацию метода на примере
задачи обработки деталей (Рис.
1.3).
Возьмем деталь 1 с минимальным Ь, и разобьем множество всех решений на два подмножества.
В первом подмножестве деталь 1 делается последней, а во втором не делается последней.
Очевидно, что оценка снизу продолжительности обработки для первого подмножества равна П rj = ^ a i + minbi =13+7=20 i=l a для второго II Лг “ + minbi =13+9=22 i=i Выбираем подмножество с минимальной оценкой, то есть деталь 1 обрабатывается последней.
Это подмножество разбивается на два.
В первом деталь 3 (имеющая минимальную величину bj из оставшихся деталей) обрабатывается предпоследней, а во втором —нет (то есть обрабатывается первой).
Оценка первого подмножества Tl = (Q ii) = max(19, 20) = 20 а оценка второго Ti = (Q,2) = max (22, 20) = 22 Выбираем первое подмножество.
Соответствующая очередность обработки деталей (2,3,1) с продолжительностью обработки Т = 20.
Это решение оптимально, поскольку оценка остальных подмножеств больше 20 (Рис.
1.6).
На Рисунке число в скобках у дуг (например (1)) показывает, какая деталь делается, а число с чертой показывает, какая деталь не делается (последней, предпоследней и т.д.).

49

[стр.,50]

Метод динамического программирования.
В основе метода лежит сведение задачи оптимизации к задаче определения экстремальной траектории (минимальной или максимальной длины) в некоторой специальным образом построенном семействе возможных траекторий.
Принцип оптимальности
Беллмана гласит: любой участок оптимальной траектории оптимален [17, 22, 26].
В случае дискретных задач метод динамического программирования сводится к определению пути максимальной или минимальной длины в специальным образом построенной сети.
Дадим иллюстрацию метода на примере классической задачи о ранце.
Имеются п предметов.
Каждый предмет имеет ценность
сц и вес Cj.
Требуется выбрать подмножество Q предметов так, чтобы их суммарная ценность A(Q ) =
2 а , i€Q была максимальной при ограничении на суммарный вес 2 c iiR leq Способ построения сети рассмотрим на примере.
Имеются четьфе предмета, данные о ценностях и весах которых приведены в таблице 1.
Таблица 1.1.
i 1 2 3 4 ai 3 2 4 5 Ci 2 1 3 4 Пусть R = 6.
Строим на плоскости систему координат, одна ось которой соответствует предметам, а вторая их весу.
По оси предметов отмечаем номера предметов 1,2,3,4 (Рис.
1.7).
Из начала координат проводим две дуги одна горизонтальная в точку (1,0), а другая наклонная в точку (1,2), где 2 вес первого предмета.
Первая дуга соответствует случаю, когда первый предмет не берется, а вторая когда он берется.
Из каждой полученной точки (1, 00) и ( 1,2) проводим также по две дуги для второго предмета.
Получаем четыре точки (2,0), (2,1), (2,2) и (2,3), соответствую50

[Back]