Реферат: Применение метода ветвей и границ для задач календарного планирования
Способ конструирования вариантов после-
довательностей s и вычисления оценок D(s) для каждого из них состоит в следующем.
Пусть имеется начальная подпоследовательность s. Тогда вычисляются величины:
dC (s) = С(s) +, (1)
dB (s) = В (s) ++ mincj , (2)
dA (s) = A (s) + + (3)
где J (s) — множество символов, образующих последовательность s.
За оценку критерия С (s) для варианта s можно принять величину
D(s) = max {dA (s), dB (s), dC (s)}.(4)
Тогда ход решения задачи трех станков можно представить следующей формальной схемой.
Нулевой шаг. Задание множества G(0) , образуется всеми возможными последовательностями (s = 0).
Вычисление оценки для множества G0 :
гдеD(0) = max {dA (0), dB (0), бC (0)},
; ; .
Первый шаг.Образование множеств G1 (1) UG1 (2) U... …G1 (n) .
Подмножество Gk определяется всеми последовательностями с началом ik ( k — 1, ...,n ).
Вычисление оценок . Оценку для последовательности sk определяют из соотношения (4), т. е.
D(sk ) = max {dA (sk ), dB (sk ), dC (sk )}; k = 1, n.
Выбор варианта для продолжения. Из всех подпоследовательностей, построенных на предыдущем шаге, выбирают наиболее перспективную последовательность sk с наименьшей оценкой, т. е.
D(sk (1) )=min D(sj (1) ).
Ветвление. Выбрав наиболее перспективный вариант последовательности sk (1) , развивают его построением всех возможных подпоследовательностей длиной 2с началом sk (1) вида sk+1 (2) = (sk (1) , j ), где j не входит в sk .
Вычисление оценок производят в соответствии с соотношениями (1), (2), (3).
k - ш а г. Допустим, что уже проведено k шагов, в результате чего построены варианты s1 (k) ,s2 ( k) ,…,svk ( k) , а именно подпоследовательности длиной k .
Выбираем самый перспективный вариант sS ( k) такой, что
D(ss (k) )=min D(sj (k) ).
Множество Gs ( k ) разбиваем на (п — k ) подмножеств, каждое из которых образуется добавлением к последовательности ss ( k ) некоторого элемента i k +1 такого, что i k +1 .
Оценка определяется в соответствии с соотношениями (1) — (4).
В результате строим дерево вариантов следующего вида: вершина О отвечает s = 0, вершины первого уровня G 1 (1) , G 2 (1) ..., G n (1) соответствуют последовательностям длиной 1, т. е. s1 (1) = 1, s2 (1) = 2,..., sn (1) = п и т. д. Каждая конечная вершина отвечает последовательности максимальной длины п.
Признак оптимальности. Если sv ( n) отвечает конечной вершине дерева, причем оценка наименьшая из оценок всех вершин, то sv ( n) — искомый вариант, иначе переходим к продолжению варианта с наименьшей оценкой.
Пример 6. Рассмотрим задачу .трех станков, условия которой приведены в табл. 1:
Таблица 1
Длительность операций | Деталь | ||||
1 | 2 | 3 | 4 | 5 | |
ai bi ci | 2 3 4 | 5 2 4 | 1 1 2 | 3 4 2 | 3 5 2 |
Нулевой шаг. s = 0.
dA (s = 0) = A(0) + + = 0 + 14 + 3 = 17;
dB (s = 0) = В(0) + + mincj = 0 + 15 + 2 = 17;
dC (s = 0) = С(0) + =14 .