3.6. Задача распределения потоков.
3.6.1.Постановка задачи.
Задана структура сети G=(X,E), пропускные способности всех каналов и матрица требований
. Надо распределить потоки по всем каналам и найти такой вектор многопродуктового потока
, совместимый с набором пропускных способностей, для которого
(3.24)
при условии
(3.25)
Выше было доказано, что функция вогнута по переменным
. Используем это свойство для построения алгоритма. Для удобства перейдём от целевой функции вида (3.24) к следующей
(3.26)
которая тоже вогнута, а потом к эквивалентной задаче минимизации
(3.27)
Учитывая, что вероятности , получаем, что
. Кроме того, очевидно, что функция
будет выпуклой по переменным
. Это свойство позволяет применить следующий метод отклонения потоков, или модифицированный метод отклонения потоков.
3.6.2.Алгоритм решения задачи РП
Алгоритм А2 состоит из начального этапа и конечного числа однотипных итераций.
На начальном этапе строим начальный допустимый поток, совместимый с матрицей H и удовлетворяющий условию . Будем считать, что такой поток построено, обозначим его через
.
k-тая итерация:
Пусть есть поток
1. Найдём условные длины всех дуг:
2. Находим кратчайшие пути в метрике для всех пар узлов (i,j)
.
3. Распределяем все потоки по кратчайшим путям и находим общий поток по кратчайшим путям .
4. Рассчитываем стоимостной показатель для потока V(k):
и для потока :
5. Если , то конец. Данный поток
не может быть улучшен, иначе на шаг 6.
6. Построим выпуклую комбинацию потоков
7. Находим значение критерия
и находим такое , при котором
. Для этого используем метод Фибоначчи или "Золотого сечения".
.
8. Находим и, приравнивая k=k+1, переходим к шагу 1 (k+1)-ой итерации.
Начальный этап.
Допустим, что задан суммарный внешний поток . Вводим масштабный коэффициент
так, чтоб
равнялось интенсивности потока, с которым мы имеем дело при данном значении
.
1. Приравниваем и будем считать, что
решение задачи распределения потоков по кратчайшим путям в сети с условными длинами
. На этом шаге направляем весь поток
по сети. Обозначим через
поток в канале (r,s). Приравниваем n=0.
2. Пускай .
Если , то приравниваем
, STOP,
- допустимый начальный поток и перейти к основной части.
Если , то приравниваем
, где
- необходимый параметр точности. Иначе на шаг 3.
3. Приравниваем - это реализуемый многопродуктовый поток, который передаёт трафик с суммарной интенсивностью внешнего потока
.
4. Находим условные длины путей:
5. Находим кратчайшие пути в метрике
и определяем поток по кратчайшим путям
.
Дальше находим оптимальное значение такое, что
минимизирует
. Если n=0, то перейти к шагу 7, иначе к шагу 6.
6. Если и
, где
и
соответствующим образом выбранные допуски, то конец. Задача не имеет решения при выбранных допусках
и
. Иначе перейти к шагу 7.
7. Приравниваем n=n+1 и переходим к шагу 2.