Автор работы: Пользователь скрыл имя, 07 Января 2014 в 09:34, контрольная работа
Закрепление теоретических знаний по разделу "Структура и структурные свойства сети" и освоение методики и алгоритмов построения сетей связи с:
минимальной протяженностью ветвей (МПВ);
минимальной протяженностью связей (МПС);
минимальными капитальными затратами (МКЗ).
Матрица V
0 |
380 |
560 |
260 |
480 |
330 |
130 |
110 |
0 |
280 |
670 |
440 |
160 |
730 |
370 | |
0 |
290 |
500+660=1160 |
720 |
270+660=930 |
360 | ||
0 |
600 |
370 |
390 |
410 | |||
0 |
420 |
660 |
360 | ||||
0 |
710 |
860 | |||||
0 |
180 | ||||||
0 |
Суммарная протяженность связей составит = 683020
кан.-км.
Дальнейшие шаги сведем в таблицу
Исходный узел 1 |
Исходный узел 2 |
Обходной узел |
Суммарная протяженность |
7 |
5 |
3 |
644080 |
5 |
4 |
1 |
618880 |
7 |
6 |
4 |
596870 |
2 |
1 |
5 |
582810 |
4 |
3 |
1 |
572080 |
8 |
7 |
4 |
565060 |
3 |
2 |
5 |
558620 |
6 |
5 |
3 |
554840 |
7 |
1 |
3 |
555230 |
8 |
1 |
3 |
555670 |
6 |
1 |
3 |
556330 |
8 |
2 |
5 |
558180 |
8 |
3 |
5 |
560060 |
8 |
4 |
6 |
563600 |
5 |
1 |
3 |
567980 |
6 |
2 |
4 |
573420 |
7 |
2 |
4 |
597510 |
Матрица V будет:
- |
0 |
2880 |
1150 |
0 |
0 |
0 |
0 |
- |
0 |
1560 |
1470 |
0 |
0 |
0 | |
- |
0 |
3790 |
1470 |
1060 |
0 | ||
- |
0 |
1830 |
2010 |
0 | |||
- |
0 |
0 |
1200 | ||||
- |
0 |
1450 | |||||
- |
0 | ||||||
- |
В данном случае не достигается т.к. отсутствуют обходы длинной 2.
Рис. 2. Модель структуры сети с МПС
Матрица L
0 |
110 |
21 |
31 |
41 |
52 |
61 |
71 |
0 |
78 |
52 |
32 |
42 |
53 |
62 | |
0 |
89 |
23 |
33 |
43 |
54 | ||
0 |
114 |
24 |
34 |
44 | |||
0 |
65 |
125 |
35 | ||||
0 |
89 |
26 | |||||
0 |
117 | ||||||
0 |
Матрица V
0 |
380 |
560 |
260 |
480 |
330 |
130 |
110 |
0 |
280 |
670 |
440 |
160 |
730 |
370 | |
0 |
290 |
500 |
720 |
270 |
360 | ||
0 |
600 |
370 |
390 |
410 | |||
0 |
420 |
660 |
360 | ||||
0 |
710 |
860 | |||||
0 |
180 | ||||||
0 |
Матрица Кз
0 |
6 |
8 |
12 |
6 |
6 |
8 |
8 |
8 |
0 |
6 |
6 |
6 |
12 |
6 |
6 |
8 |
8 |
0 |
8 |
8 |
6 |
10 |
6 |
8 |
8 |
6 |
0 |
6 |
8 |
8 |
8 |
8 |
10 |
8 |
6 |
0 |
6 |
6 |
8 |
8 |
8 |
8 |
8 |
10 |
0 |
8 |
6 |
12 |
6 |
8 |
8 |
6 |
6 |
0 |
8 |
10 |
8 |
12 |
6 |
8 |
15 |
6 |
0 |
Рассчитаем суммарные капитальные затраты на сеть при связи по принципу «каждая с каждой» (n=nmax):
Аналогичный образом как в задании 2 идет оптимизация сети, только на этот раз учитывается также стоимость, что меняет стратегию оптимизации, результаты работы алгоритма сведем в таблицу:
Исходный узел 1 |
Исходный узел 2 |
Обходной узел |
Суммарная стоимость |
7 |
5 |
3 |
3943280 |
5 |
4 |
1 |
3775960 |
7 |
6 |
4 |
3626140 |
2 |
1 |
5 |
3541780 |
4 |
3 |
6 |
3486100 |
8 |
7 |
4 |
3443980 |
3 |
2 |
5 |
3405340 |
6 |
5 |
3 |
3382660 |
3 |
1 |
5 |
3527140 |
8 |
1 |
5 |
3514820 |
8 |
3 |
5 |
3523460 |
7 |
1 |
4 |
3510720 |
4 |
2 |
7 |
3651420 |
6 |
1 |
4 |
3657360 |
8 |
2 |
5 |
3668460 |
8 |
4 |
6 |
3689700 |
В данном случае не достигается т.к. отсутствуют обходы длинной 2.
Матрица V в итоге будет иметь вид:
0 |
- |
- |
1320 |
2130 |
- |
- |
- |
0 |
- |
- |
1470 |
160 |
1400 |
- | |
0 |
- |
2780 |
1430 |
930 |
- | ||
0 |
- |
2290 |
2080 |
0 | |||
0 |
- |
- |
1200 | ||||
0 |
- |
1450 | |||||
0 |
- | ||||||
0 |
Из графика видно, что стоимость сети почти линейно растет с увеличением числа ветвей в сети.
Вывод: в результате данной расчетной работы ознакомился с различными подходами к проектированию сети. В зависимости от того какие задачи перед нами ставит сеть, сети бывают с минимальным числом ветвей, минимальным числом связей и минимальными капитальными затратами. В процессе выполнения научился строить сети каждой из этих категорий.
Код программы на языка Matlab
Код для 1го задания курсовой работы:
function [ output_args ] = kur01( input_args )
%KUR01 Summary of this function goes here
% Detailed explanation goes here
tic
clear
clc
BIG = 10^4;
N = 8;
x = xlsread('D:\var21.xlsx');
x = triu(x) + zeros(N,N);
x1 = x + x';
x0 = x;
x = x + x' * 10000 + eye(N,N) * 10000;
% x = x(1 : N - 1 , : );
GetWays(x);
CorrectWay(x);
[MIN_V, MIN_N] = min(x');
S = 0;
I = 1;
SUM_ALL = 0;
for i = 1 : N - 1
[x, x1] = BigAndZero(x, x1, i, MIN_N(i));
S = S + MIN_V(i);
SUM_ALL(I) = S;
MIN_XLS(1,I) = i;
MIN_XLS(2,I) = MIN_N(i);
MIN_XLS(3,I) = MIN_V(i);
MIN_XLS(4,I) = S;
I = I + 1;
end
% x
% x1
% S
% while ((CorrectWay(x1) == 1) & (I < 100))
N0 = 8*(8-1)/2;
while (I<N0)
[MIN_V, MIN_ROW] = min(x'); %минимальные значения в каждом столбце
[V, minN] = min(MIN_V); %строка с минимальным значением
S = S + MIN_V(minN);
% MIN_V(minN)
X_before = x1;
[x, x1] = BigAndZero(x, x1, minN, MIN_ROW(minN));
SUM_ALL(I) = S;
MIN_XLS(1,I) = minN;
MIN_XLS(2,I) = MIN_ROW(minN);
MIN_XLS(3,I) = MIN_V(minN);
MIN_XLS(4,I) = S;
I = I + 1;
end
xlswrite('D:\var21\kur01.xls',
% x
% x1
% X_before
% GetWays(X_before)
I - 1 %последняя не засчитывается, т.к. рвет сеть
% bar(SUM_ALL);
toc
'end'
end
function [x, x1] = BigAndZero(x, x1, row, col)
BIG = 10^4;
x(row, col) = BIG;
x(col, row) = BIG;
x1(row, col) = 0;
x1(col, row) = 0;
end
function [y] = GetWays(x)
s = size(x);
N = s(1);
y = 0;
for i = 1 : N
y = y + x^i;
end
end
function [y] = CorrectWay(x)
a = GetWays(x);
y = 1;
if (HaveZero(a) == 1) y = 0; end;
end
function [Have] = HaveZero(x)
Have = 0;
s = size(x);
for i = 1 : s(1)
for j = 1 : s(2)
if (x(i,j) < 1) Have = 1; end;
end
end
end
Код для 2го задания курсовой работы:
function [ output_args ] = kur02( input_args )
%KUR02 Summary of this function goes here
% Detailed explanation goes here
tic
clear
clc
BIG = 10^4;
ALL = 8;
N = xlsread('D:\var21.xlsx');
N = triu(N) + zeros(ALL, ALL);
N = N + N';
N = N + eye(ALL) * BIG;
% N
L = xlsread('D:\var212.xlsx');
L = L + L';
xlswrite('D:\var21\L.xls',L);
I = 1;
Y_ALL(4, I) = sum(sum(L .* N)) / 2;
L = L + eye(ALL) * BIG;
N0 = N;