Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Matematicheskie_modeli_i_metody_issledovania_op...docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
796.19 Кб
Скачать

Построение математической модели.

Введем xij 0 – поток по дуге. Разобьём все вершины на три подмножества:

- N1 - множество источников (Ti> 0);

- N2 - промежуточные вершины ( );

- N3 - множество вершин – стоков ( ).

Из каждой вершины N1 вся продукция должна быть вывезена:

В каждый сток должно быть привезено продукции ровно столько, сколько требуется:

Для промежуточных вершин выполняется:

И функция цели примет вид:

Таким образом, мы получили модель сетевой транспортной задачи.

Выпишем окончательный вид модели:

Замечание 1.1 Известно, что для матричной транспортной задачи, условие баланса является необходимым и достаточным условием совместности. Для сетевой транспортной задачи ∑Ti = 0 является только необходимым условием совместности.

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

Замечание 1.2. В модели (1.6) - (1.10) можно исключить ограничения (1.6) и (1.8).

???Почему?

Замечание 1.3. Матрица инциденций — одна из форм представления графа, в которой указываются связи между инцидентными элементами графа (ребро (дуга) и вершина). Столбцы матрицы соответствуют ребрам, строки — вершинам. Ненулевое значение в ячейке матрицы указывает связь между вершиной и ребром (их инцидентность). В случае ориентированного графа каждому ребру (x, y) ставится в соответствие -1 на позиции [x, y] и 1 на позиции [y, x]; если связи между вершинами нет, то ставится в соответствие 0.

Заметим, что матрица ограничений сетевой транспортной задачи и есть матрица инциденций.

Метод потенциалов для сетевой транспортной задачи.

Метод потенциалов включает в себя четыре этапа.

Краткая характеристика этапов и алгоритмы:

Этап 1. Построение начального базисного решения.

Этап 2. Проверка имеющегося решения на оптимальность:

- если решение оптимально, то переход к этапу IV,

- иначе переход к этапу III.

Этап 3. Перестроение базисного решения и переход к этапу II.

Этап 4. Вычисление значения целевой функции.

Этап I. Построение начального базисного решения.

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

Алгоритм:

Шаг 1.Вводится вершина с номером i = 0 и интенсивностью Ti = 0.

Шаг 2. Все вершины, имеющие положительные интенсивности Ti 0 связываются с нулевой вершиной входящими дугами с целевым коэффициентом ci0 = 0 и потоком [xi0] = Тi.

Шаг 3. Вводится вершина с номером i = n+1 и интенсивностью Ti=­ 0.

Шаг 4. n + 1 вершина связывается с вершинами, имеющими Тi< 0, исходящими дугами с c (n+1) i = 0 и с потоком [x(n+1) i] = |Ti|.

Шаг 5. Вводится дуга (0, n+1)cc0 (n+1) = М, М – достаточно большое число, с потоком [x0 (n+1)] = (Ti+> 0).

Шаг 6. Вершины, имеющие нулевую интенсивность , связываются с вершинами дерева дугами графа (i0, j) или (j, i0),

где , и с потоком .

Замечание. Для вершин с Тi = 0 можно в шаге 2 или шаге 4 поставить нестрогое неравенство, тогда шаг 6 будет отсутствовать.

Этап II. Проверка базисного решения на оптимальность.

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

Пусть имеется базисное решение:

где , состоящий из линейно-независимых столбцов матрицы .

Для проверки имеющегося допустимого решения на оптимальность используется следующая идея:

Выписывается двойственная задача:

(A)

Берутся базисные ограничения двойственной задачи и записываются в виде равенств:

(B).

Получаем систему с квадратной невырожденной матрицей, у которой есть единственное решение, пусть – решение системы (B).

Далее вычисляются оценки:

если верно или , то найдено оптимальное решение задачи.

Если же такое, что , то решение не оптимально и значение должно быть увеличено.

Перейдем к рассмотрению транспортной задачи.

Выпишем задачу двойственную к транспортной. Она будет иметь следующий вид:

Каждое двойственное ограничение соответствует дуге, а каждое uii-той вершине, ui называются потенциалами задачи, поэтому метод носит название метод потенциалов.

Обозначим множество дуг дерева через и запишем , . Так как дерево имеет n вершин, и(n-1) дугу, то полученная система уравнений является системой, состоящей из(n-1) уравнения с n неизвестными, следовательно, имеет бесчисленное множество решений.

Поэтому один из потенциалов можно положить, равным нулю и затем найти значения всех остальных потенциалов.

Замечание1. 4. Удобнее полагать равным нулю потенциал вершины, которая является стоком.

Алгоритм:

Шаг 1. Выписывается система уравнений, соответствующих дугам дерева .(B)

Шаг 2. Потенциал одного из стоков полагаем равным нулю: .

Шаг 3. Остальные потенциалы вычисляем из системы уравнений (B).

Шаг 4. Для всех дуг графа вычисляется разность потенциалов и сравнивается с собственным .

Шаг 5. Если , то переходим к этапу IV, иначе – к этапу III.

Замечание 1.5. Так как , то пока дереву принадлежит дуга с целевым коэффициентом , остальные можно положить равными нулю .

Этап III. Перестроение базисного решения.

Пусть .

Алгоритм:

Шаг 1. Дуга присоединяется к дереву.

Шаг 2.Отыскивается цикл, связывающий с дугами дерева (такой цикл существует, и он единственный, что следует из свойств дерева).

Шаг 3.При движении по циклу в направлении дуги на дугах цикла расставляются знаки:

“+” – по сонаправленной дуге,

“–“ – по противоположно направленной.

Шаг 4. Определяется (минимум из дуг со знаком “ – “).

Шаг 5. Потоки по дугам, входящим в цикл, пересчитываются по формулам: Потоки по непомеченным дугам не пересчитываются.

Шаг 6. Одна из дуг цикла, помеченная знаком “–“, поток по которой стал (или был) равным нулю, исключается из дерева (удобнее исключать дуги с большими значениями cij).

Шаг 7. Переход к этапу II.

Замечание 1.6. Полезно проверять условия баланса по вершинам для контроля арифметических ошибок, то есть

Для каждой вершины сумма входящих потоков плюс интенсивность должны равняться сумме исходящих потоков.

Замечание 1.7. Фиктивные вершины исключаются, тогдаx0n+1=0, при этом исключаются три дуги, то есть дуги (0, n+1); (i, 0); (n+1,i).

Замечание 1.8. Стоимости cij возвращаются в алгоритм тогда, когда фиктивные вершины исключаются из дерева.

Замечание 1.9. Сетевая транспортная задача несовместна, если , но при этом остается х0n+1 >0.

Замечание 1.10.Из теории двойственности следует, что на оптимальных решениях исходной и двойственной задач значения целевых функций этих задач совпадают.

Этап IV. Вычисление значения целевой функции

Шаг 1. Если х0n+1 >0, то вписывается ответ: задача несовместна. Иначе шаг 2.

Шаг 2. Вычисление значения целевой функции по формуле

Шаг 3. Вычисление значения целевой функции двойственной задачи

Шаг 4. Проверка равенства c(x) = g(u)(на оптимальном решении значение целевой функции исходной и двойственной задач совпадает).

Рассмотрим метод потенциалов на примере.

Пусть задан ориентированный граф.

Рис. 1.3

Построим начальное базисное дерево:

Рис 1.4

В рассматриваемом примере:

П роверка на оптимальность:

Рис 1.5

То есть решение не оптимально и дугу (3,4) можно присоединить к дереву. Теперь найдем цикл, связывающий дугу (3,4) с дугами дерева. Это будет цикл: (3,4), (4,6), (6,0), (0,3). Заметим, что все дуги противоположно ориентированы и на них следует поставить знак минус (см. рис. 1.5). В соответствие с алгоритмом этапа II будем иметь , то есть дуга (3,0) будет исключена из базиса.

Н а рис 1.6. представлено новое базисное решение:

рис. 1.6

После нескольких итераций получится следующее базисное решение:

Рис 1.7

Т о есть дугу (4,5) можно присоединить к дереву. Видим, что цикл связывает все вершины дерева и . После пересчета величин потоков получим: , то есть вершины нулевая и шестая вместе с соответствующими дугами можно отбросить, и получится распределение потоков по соответствующим дугам графа.

Рис 1.8

Теперь при вычислении потенциалов необходимо задействовать настоящие значения .

Рис. 1.9

  • Решение найдено.

Вычислим теперь:

Решение найдено верно.

???Задание для самостоятельной работы:

Методом потенциалов решить сетевую транспортную задачу для графа, заданного на рис. 1.3, если даны интенсивности двух вершин, для остальных вершин интенсивности задаются самостоятельно, учитывая условие баланса.

1. T2 = 6, T5 = 7. 13. T1 = - 10, T5 = 1.

2. T1 = - 9, T4 = - 4. 14. T4 = - 4, T5 = 2.

3. T3 = - 2, T5 = 6. 15. T2 = 1, T3 = - 6.

4. T2 = 2, T4 = - 5. 16. T1 = - 2, T3 = - 6.

5. T2 = 1, T3 = - 4. 17. T3 = - 7, T5 = 10.

6. T1 = - 9, T5 = 4. 18. T2 = 6, T3 = - 1.

7. T4 = - 2, T5 = 8. 19. T1 = - 2, T5 = 7.

8. T2 = 1, T5 = 9. 20. T1 = - 7, T3 = - 9.

9. T1 = - 5, T2 = 9. 21. T1 = - 9, T2 = 1.

10. T3 = - 3, T4 = 7. 22. T2 = 3, T4 = - 9.

11. T3 = - 8, T5 = 10. 23. T2 = 10, T3 = - 5.

12. T2 = 8, T5 = 1. 24. T4 = - 6, T5 = 1.

25. T3 = - 8, T4 = - 4.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]