Міністрерство освіти і науки України
Тернопільський національний технічний університет
імені Івана Пулюя
Кафедра математичних
методів в інженерії
ЗВІТ
до лабораторної роботи №8
з курсу «Сучасні методи розв’язку дискретного програмування»
Максимальний потік в мережі і дугах
Виконав:
ст. гр.
Перевірила:
Крива Н.Р.
Тернопіль 201_
Тема:
Максимальний потік в мережі і дугах.
Мета:
Потрібно знайти максимальний потік в мережі і дугах.
Текст програми:
%Лабораторна робота №8
%
%Варіант
clear all %очистити память
V=[1 2; 1 1; 2 2; 2 1; 3 2; 3 1; 4 2; 4 1];
E=[1 2 1; 1 3 2; 1 4 3; 2 4 4; 4 3 5; 3 5 6; 3 6 7; 4 6 8; 5 6 9; 6 8 10; 5 7 11; 5 8 12; 7 8 13];
s=1; % источник сети
t=8; % сток сети
fprintf('Джерело s=%d\nСтік t=%d\n',s,t)
grPlot(V,E,'d','','%d');
set(get(gcf,'CurrentAxes'),...
'FontName','Times New Roman Cyr','FontSize',10)
title('\bfОрграф мережі')
[v,mf]=grMaxFlows(E,s,t);
disp('Рішення задачі')
disp(' N дуги потік')
fprintf(' %2.0f %12.8f\n',[[1:length(v)];v'])
fprintf('Максимальний потік =%12.8f\n',mf)
grPlot(V,[E(:,1:2),v],'d','','%6.4f');
set(get(gcf,'CurrentAxes'),...
'FontName','Times New Roman Cyr','FontSize',10)
title('\bfПотоки в дугах')
Рисунок 1 – Вихідний граф
Рисунок 2 – Потоки в дугах
Джерело s=1
Стік t=8
Рішення задачі
N дуги потік
1 1.00000000
2 2.00000000
3 3.00000000
4 1.00000000
5 2.83804539
6 3.94464557
7 0.89339982
8 1.16195461
9 0.89434140
10 2.94969583
11 2.42032980
12 0.62997438
13 2.42032980
Максимальний потік = 6.00000000
Висновок:
На даній лабораторній роботі я використав функцію grMaxFlows для визначення максимального потоку в дугах.