Задача про максимальний потік у транспортній мережі

Транспортною мережею (s/t-мережі) назвемо зв`язний орієнтований граф без петель, у якого є дві особливі вершини s (джерело) та t (стік). Причому:

з вершини s дуги тільки виходять, а у вершину t – тільки заходять;

кожній дузі транспортної мережі приписана невід`ємна величина, яка називається пропускною спроможністю дуги і позначається cij.

Зафіксуємо деяку вершину s/t-мережі хк. Для поняття потоку транспортної мережі розглянемо дві множини А-множина всіх вершин s/t-мережі, з яких виходить дуга та заходить у вершину хк, та В – множина всіх вершин s/t-мережі, які безпосередньо слідують за вершиною хк. Тоді потоком в s/t-мережі будемо називати невід`ємну величину jij (для деякої дуги uij)=v, якщо виконуються наступні умови:

jij £ cij , для будь-якої дуги графа;

Задача про максимальний потік у транспортній мережі - student2.ru

Перша умова говорить, що для будь-якої дуги транспортної мережі потік не перевищує пропускну спроможність транспортної мережі, а друга про те, що для будь –якої вершини транспортної мережі сумарний потік, що входить у вершину, рівний сумарному потоку, що виходить з вершини, тобто потік неподільний.

Нехай Х – множина всіх вершин s/t-мережі. Розіб`ємо її на дві підмножини Х1 та Х2 таким чином, щоб:

Задача про максимальний потік у транспортній мережі - student2.ru

Тоді розтином s/t-мережі назвемо множину всіх дуг, що слідують з множини вершин Х1 до множини вершин Х2, позначимо (Х1, Х2). Величина розтину рівна сумі пропускних спроможностей дуг, що створюють розтин, та позначається v(X1, X2).

Задача про визначення максимального потоку в транспортній мережі є основною задачею оптимізації на графах. Її рішення базується на наступній теоремі Форда-Фалкерсона: максимальний потік у транспортній мережі дорівнює величині найменшого розтину в ній.

Задача 4. Транспортну мережу задано графічно. Необхідно знайти максимальний потік в s/t-мережі.

Задача про максимальний потік у транспортній мережі - student2.ru

Розв`язок. Кожній дузі графа припишемо пару чисел cij, jij. На початку в s/t-мережі розподілимо нульовий потік, тобто jij=0. Далі для розмітки будь-якої к-ї вершини будемо використовувати позначення к(і+, e(к)) або к(і-, e(к)), де і- номер вершини, з якої ми потрапили до вершини к, ‘+’ - по прямій дузі, ‘-‘ - по зворотній дузі, e(к) – невід`ємна величина, на яку можна збільшити потік (для прямої дуги) або зменшити (для зворотної дуги). Вершина s завжди має особливу помітку (s+, ¥). Помічати вершини по прямих дугах можна, якщо на цих дугах потік можливо збільшити ( cij-jij >0), а по зворотніх – якщо потік можливо зменшити (jij >0). Для вершини к(і+, e(к)) e(к)=min(e(i), cik-jik), а для вершини к(і-, e(к)) e(к)=min(e(i), jik). Перший крок будь-якого етапу полягає у розставленні поміток вершин мережі, доки або не буде помічено вершину t , тоді переходимо на другий крок, або переконаємося, що вершину t помітити неможливо (задачу вирішено).

1-й єтап.

1-й крок. S(s+,¥). Далі помічаємо вершини суміжні з s. 1(s+, min(¥,10-0) , тобто 1(s+,10). Аналогічно 2(s+,15), 3(s+,15). Тепер вершина s розглянута. Для подальшого розгляду вибираємо будь-яку із суміжних помічених вершин. Наприклад, вершину 3. Помічаємо вершини, суміжні з третьою: 2(3+, min(15, 10-0)=10), t(3+, min(15,8-0)=8) Помітили вершину t – переходимо до друго кроку 1-го етапу.

Задача про максимальний потік у транспортній мережі - student2.ru

2-й крок. За допомогою поміток вершин будуємо ланцюг, який приводить з вершини s у вершину t: t3s. На прямих дугах ланцюга потік збільшуємо на величину e(t), а на зворотній – зменшуємо на цю саму величину. На малюнку показано розподіл потоку після виконання першого етапу. Переходимо до другого етапу, який виконуємо аналогічно першому.

2-й етап.

S(s+,¥) 1(s+,10) 2(s+,15) 3(s+,7) t(2+,15) t2s e(t)=15

3-й етап.

S(s+,¥) 1(s+,10) 3(s+,7) 4(1+,7) t(1+,7) t1s e(t)=7

Після 2-го та 3-го етапів розподіл потоку у мережі показано на малюнку.

4-й етап.

S(s+,¥) 1(s+,3) 3(s+,7) 2(3+,7) t(2+,5) t23s e(t)=5

5-й етап.

S(s+,¥) 1(s+,3) 3(s+,2) 4(1+,3) t(4+,3) t41s e(t)=3

6-й етап.

S(s+,¥) 3(s+,2) 2(3+,2) S(2-,2)  

На 1-му кроці 6-го етапу прийшли до побудови контуру навколо вершини s, а в вершину t так і не потрапили. Це свідчить про те, що потік у мережі збільшити неможливо. Будуємо розтин мережі: віднесемо до множини Х1 усі вершини, що помічені на 6-му кроці, а до множини Х2 – ті, що не помічені. Х1={s, 2, 3}, X2={1, 4, t}, (X1, X2)={us1, u2t, u3t}, v(X1, X2)=cs1+c2t+c3t=10+20+8=38. Перевірка: якщо просумувати всі значення e(t): 8+15+7+5+3=38, то отримаємо те саме значення величини розрізу.

Результуючій розподіл потоку в мережі має вигляд

 
  Задача про максимальний потік у транспортній мережі - student2.ru

На малюнку також показано розріз найменшої величини, який побудовано у розглянутому прикладі.

Контрольна робота №3.

Завдання №1

Задано граф G. Представити граф у виді матриць суміжності й суміжності ваг. Знайти найкоротший шлях і його довжину між двома зазначеними вершинами графа (варіант із номером, який кратний 2, - методом Дейкстри, інші варіанти - методом Форда, за необхідності розставивши напрямок дуг від вершини з меншим індексом до вершини з більшим індексом). Варіанти завдань знаходяться у додатку.

Завдання №2

Орієнтований граф G=(X,U) заданий у видгляді матриці суміжності ваг С. Потрібно:

1) представити граф графічно й у видгляді матриці інциденцій;

2) визначити хроматичне число графа;

3) використовуючи метод Шимбела, визначити найкоротші відстані між будь-якими двома вершинами графа.

1. Задача про максимальний потік у транспортній мережі - student2.ru 2. Задача про максимальний потік у транспортній мережі - student2.ru

3. Задача про максимальний потік у транспортній мережі - student2.ru 4. Задача про максимальний потік у транспортній мережі - student2.ru

5. Задача про максимальний потік у транспортній мережі - student2.ru 6. Задача про максимальний потік у транспортній мережі - student2.ru

7. Задача про максимальний потік у транспортній мережі - student2.ru 8. Задача про максимальний потік у транспортній мережі - student2.ru

9. Задача про максимальний потік у транспортній мережі - student2.ru 10. Задача про максимальний потік у транспортній мережі - student2.ru

11. Задача про максимальний потік у транспортній мережі - student2.ru 12. Задача про максимальний потік у транспортній мережі - student2.ru

13. Задача про максимальний потік у транспортній мережі - student2.ru 14. Задача про максимальний потік у транспортній мережі - student2.ru

15. Задача про максимальний потік у транспортній мережі - student2.ru 16. Задача про максимальний потік у транспортній мережі - student2.ru

17. Задача про максимальний потік у транспортній мережі - student2.ru 18. Задача про максимальний потік у транспортній мережі - student2.ru

19. Задача про максимальний потік у транспортній мережі - student2.ru 20. Задача про максимальний потік у транспортній мережі - student2.ru

21. Задача про максимальний потік у транспортній мережі - student2.ru 22. Задача про максимальний потік у транспортній мережі - student2.ru

23. Задача про максимальний потік у транспортній мережі - student2.ru 24. Задача про максимальний потік у транспортній мережі - student2.ru

25. Задача про максимальний потік у транспортній мережі - student2.ru 26. Задача про максимальний потік у транспортній мережі - student2.ru

27. Задача про максимальний потік у транспортній мережі - student2.ru 28. Задача про максимальний потік у транспортній мережі - student2.ru

29. Задача про максимальний потік у транспортній мережі - student2.ru 30. Задача про максимальний потік у транспортній мережі - student2.ru

Завдання №3

У розподільній системі опрацювання даних у деякий момент часу є n ресурсів готових до виконання завдань. У систему надходить n завдань. Відома якість виконання завдань кожним ресурсом (коефіцієнти матриці С). Потрібно призначити кожному ресурсу своє завдання таким чином, щоб якість виконання всіх завдань була максимальною.

1. Задача про максимальний потік у транспортній мережі - student2.ru 2. Задача про максимальний потік у транспортній мережі - student2.ru

3. Задача про максимальний потік у транспортній мережі - student2.ru 4. Задача про максимальний потік у транспортній мережі - student2.ru

5. Задача про максимальний потік у транспортній мережі - student2.ru 6. Задача про максимальний потік у транспортній мережі - student2.ru

7. Задача про максимальний потік у транспортній мережі - student2.ru 8. Задача про максимальний потік у транспортній мережі - student2.ru

9. Задача про максимальний потік у транспортній мережі - student2.ru 10. Задача про максимальний потік у транспортній мережі - student2.ru

11. Задача про максимальний потік у транспортній мережі - student2.ru 12. Задача про максимальний потік у транспортній мережі - student2.ru

13. Задача про максимальний потік у транспортній мережі - student2.ru 14. Задача про максимальний потік у транспортній мережі - student2.ru

15. Задача про максимальний потік у транспортній мережі - student2.ru 16. Задача про максимальний потік у транспортній мережі - student2.ru

17. Задача про максимальний потік у транспортній мережі - student2.ru 18. Задача про максимальний потік у транспортній мережі - student2.ru

19. Задача про максимальний потік у транспортній мережі - student2.ru 20. Задача про максимальний потік у транспортній мережі - student2.ru

21. Задача про максимальний потік у транспортній мережі - student2.ru 22. Задача про максимальний потік у транспортній мережі - student2.ru

23. Задача про максимальний потік у транспортній мережі - student2.ru 24. Задача про максимальний потік у транспортній мережі - student2.ru

25. Задача про максимальний потік у транспортній мережі - student2.ru 26. Задача про максимальний потік у транспортній мережі - student2.ru

27. Задача про максимальний потік у транспортній мережі - student2.ru 28. Задача про максимальний потік у транспортній мережі - student2.ru

29. Задача про максимальний потік у транспортній мережі - student2.ru 30. Задача про максимальний потік у транспортній мережі - student2.ru

Завдання №4

Транспортна мережа задана за допомогою таблиці, де зазначені дуги мережі і пропускна спроможність цих дуг. Необхідно представити граф графічно і, використовуючи теорему Форда-Фалкерсона, визначити найбільший потік у мережі (s - джерело, t - стік). Перелік дуг мережі у вигляді Задача про максимальний потік у транспортній мережі - student2.ru

1. us1=13, us2=17, us3=1, u1t=7, u13=5, u23=2, u24=17, u34=1, u3t=2, u4t=12

2. us1=16, us2=14, u13=9, u21=10, u23=5, u24=8, u35=6, u3t=9, u45=1, u4t=6, u5t=6.

3. us1=6, us2=10, us3=3, u12=3, u14=2, u13=2, u24=1, u2t=8, u32=4, u34=5, u4t=9

4. us1=3, us2=5, us3=4, us4=1, u1t=7, u21=2, u24=1, u2t=1, u32=3, u34=2, u4t=3

5. us1=25, us2=18, u12=4, u14=10, u24=10, u2t=15, u3t=5, u43=10, u4t=10

6. us1=5, us2=4, us3=6, u1t=4, u14=1, u13=1, u23=3, u24=2, u34=2, u3t=3, u4t=7

7. us1=12, us2=20, us3=5, u1t=10, u13=8, u23=5, u24=10, u34=4, u3t=8, u4t=12

8. us1=8, us3=4, us4=6, u12=4, u24=2, u2t=10, u31=3, u32=2, u34=5, u4t=7

9. us1=10, us2=10, us3=15, u14=7, u12=4, u24=6, u32=5, u3t=20, u4t=10

10. us1=6, us2=7, us3=5, u12=3, u14=2, u13=1, u23=4, u24=2, u2t=3, u3t=7, u4t=8

11. us1=5, us2=6, us3=8, u12=2, u14=3, u13=1, u24=1, u2t=4, u3t=5, u4t=6

12. us1=10, us2=3, us3=15, u1t=5, u12=8, u23=16, u24=4, u2t=15, u34=5, u4t=20

13. us1=7, us4=15, ust=5, u1t=3, u13=5, u21=10, u34=3, u42=20, u4t=6

14. us1=20, us4=5, u12=17, u13=6, u24=10, u2t=3, u32=10, u3t=5, u4t=20

15. us1=25, us3=40, u14=20, u13=15, u2t=40, u32=20, u3t=15, u4t=7

16. us1=6, us2=14, u1t=10, u14=3, u23=3, u21=10, u24=2, u34=5, u4t=8

17. us1=5, us2=18, us5=7, u14=15, u23=25, u35=10, u3t=4, u43=10, u4t=10, u5t=2

18. us1=20, us2=10, us3=15, u12=15, u23=20, u25=15,u34=4,u35=8, u3t=1,u4t=20,u5t=4

19. us1=10, us2=5, us4=10, u12=1, u13=5, u14=8, u34=4, u3t=4, u42=5, u2t=20

20. us1=15, us2=20, us3=5, u1t=15, u12=8, u23=16, u24=4, u2t=10, u34=5, u4t=3

21. us1=10, us3=15, u14=8, u1t=13, u24=15, u31=6, u32=3, u3t=5, u4t=12

22. us3=10, us4=15, u1t=13, u2t=20, u31=8, u34=5, u41=2, u42=8, u4t=12

23. us1=15, us2=12, us3=11, u1t=9, u14=7, u13=6, u23=7, u21=10, u34=8, u3t=8, u4t=17

24. us1=13, us2=17, us3=1, u1t=7, u13=5, u23=2, u24=17, u34=1, u3t=2, u4t=12

25. us1=9, us2=7, us3=10, us4=12, u13=6, u14=8, u23=6, u24=6, u3t=14, u43=8, u4t=10

26. us1=8, us2=7, us4=16, u1t=7, u12=5, u23=10, u3t=12, u43=6, u45=10, u53=7, u5t=9

27. us1=11, us2=19, u1t=15, u14=8, u23=8, u21=15, u24=7, u34=10, u4t=13, u2t=2

28. us1=10, us2=3, us3=15, u1t=5, u12=8, u23=16, u24=4, u2t=15, u34=5, u4t=20

29. us1=5, us2=18, us5=7, u14=15, u23=25, u35=10, u3t=4, u43=10, u4t=10, u5t=2

30. us1=25, us2=18, u12=4, u14=10, u24=10, u2t=15, u3t=5, u43=10, u4t=10

31. us1=6, us2=10, us3=3, u12=3, u14=2, u13=2, u24=1, u2t=8, u32=4, u34=5, u4t=9

СПИСОК ЛІТЕРАТУРИ

1. Бардачов Ю.М., Соколова Н. А., Ходаков В.Є. Дискретна математика. – К. Вища школа , 2002. – 288 с.

2. Бондаренко М.Ф., Білоус Н.В., Руткас А.Г.Комп’ютерна дискретна математика. – Харків: Компанія СМІТ, 2004. – 480 с.

3. Капітонова Ю.В., Кривий С. Л., Летичевський о.А., Луцький Г.М., Печурін М. К. Основи дискретної математики: Підручник. – К.: ЛіфтСофт, 2000. –Т.2 – 380 с.

4. Новіков А.Ф. Дискретная математика. – СПб. Питер, 2004. – 302 с.

5. Тевяшев А.Д., Гусарова І.Г. Основи дискретної математики в прикладах і задачах.-Харків: ХНУРЕ, 2003.-272 с.

6. Андерсон Д.А. Дискретная математика и комбинаторика. – М. 2003, –960 с.

Методичні вказівки щодо практичних занять з навчальної дисципліни «Дискретна математика» до теми “теорія графів” для студентів денної форми навчання за напрямом 6.040302 – “Інформатика” (у тому числі скорочений термін навчання)

Укладачі к.т.н., доц. .А,І.Дерієнко

асист. І.І. Киба

Відповідальний за випуск: зав. кафедри інформатики та вищої математики проф. В.П. Ляшенко

Підп. до др. _________. Формат 60х84 1/16. Папір тип. Друк ризографія.

Ум. друк. арк. ____. Наклад _______ прим. Зам. №_______. Безкоштовно.

Видавничий відділ КрНУ

39614,м.Кременчук, вул. Першотравнева, 20

Наши рекомендации