Để mô hình sự liên hệ này, trong toán học lý thuyết đồ thị sẽ biểu diễn bởi một đồ thị, trong đó đỉnh của đồ thị là điểm thông tin, cạnh của đồ thị là sự liên hệ của các điểm thông ti
Trang 1MỤC LỤC
LỜI NÓI ĐẦU……… 4
CHƯƠNG 1 ……….6
GIỚI THIỆU VỀ NGÔN NGỮ VISUAL BASIC 6.0 …….……….6
1.1 Tìm hiểu ngôn ngữ lập trình Visual Basic ……….………….6
1.1.1 Giới thiệu Visual Basic ……… ……….……….6
1.1.2 Môi trường phát triển của Visual Basic 6.0 ………6
1.1.3 Form và công cụ điều khiển Control ……….…… 7
1.1.4 Lập trình trên Visual basic ……… … 10
1.1.4.2 Khai báo biến trong VB ……… ……… 11
1.1.4.3 Các cấu trúc lặp trong Visual Basic ……… 12
1.1.4.4 Thủ tục và hàm trong Visual Basic ……… 14
CHƯƠNG 2 ……… ………16
LÝ THUYẾT ĐỒ THỊ ……… 16
2.1 Các định nghĩa đồ thị ……….……… 16
2.1.1 Định nghĩa đồ thị ……….……….………16
2.1.2 Đồ thị đơn ……….……….……… 17
2.1.3 Đa đồ thị ………… ……….17
2.1.4 Giả đồ thị ……… 17
2.2 Các loại đồ thị ……… 18
2.2.1 Đồ thị vô hướng ………18
2.2.2 Đồ thị có hướng ………18
2.2.3 Đồ thị hỗn hợp ……… 18
2.3 Một số khái niệm và tính chất cơ bản của đồ thị ……….18
2.3.1 Bậc đồ thị ……… ……… 18
2.3.1.1 Bậc đồ thị vô hướng ……… ………18
2.3.1.2 Bậc đồ thị có hướng ……….……… 19
2.3.2 Đường đi và chu trình ……….………… 20
2.3.3 Đồ thị liên thông ……….………… 21
2.3.4 Đồ thị con và đồ thị bộ phận ……….………23
CHƯƠNG 3 ……… ………24
Trang 22
MỘT SỐ BÀI TOÁN THIẾT KẾ MẠNG VIỄN THÔNG VÀ CÁC VẤN ĐỀ LIÊN QUAN ……….………24
3.1 Các chỉ tiêu chất lượng mạng ……… 24
3.1.1 Chất lượng mạng ……… …24
3.1.2 Các tham số đặc trưng của chất lượng mạng ………26
3.1.2.1 Các tham số chất lượng chuyển mạch ……… 26
3.1.2.2 Các tham số chất lượng truyền dẫn ……… 26
3.1.2.3 Các tham số của sự ổn định ……….… 27
3.1.3 Tiêu chuẩn đánh giá chất lượng mạng ……….…….27
3.2 Một số bài toán tối ưu trong quy hoạch và thiết kế mạng ……… …28
3.2.1 Bài toán dự báo ……….28
3.2.1.1 Giới thiệu chung ………28
3.2.1.2 Dự báo nhu cầu ……… 28
3.2.1.3 Dự báo lưu lượng ……… ……….………29
3.2.2 Bài toán thiết kế mạng tập trung kết nối đa điểm ……….29
3.2.2.1 Bài toán kết nối đa điểm đơn giản……… 29
3.2.2.2 Bài toán kết nối đa điểm mở rộng……… 31
3.3 Một số bài toán tối ưu trong quản lý và khai thác tài nguyên mạng ………32
3.3.1 Định tuyến tối ưu ……… 32
3.3.1.1 Đặt vấn đề ……… 32
3.3.2 Cực tiểu hóa thời gian trễ trung bình trên mạng ……….………… 33
3.3.2.1 Đặt vấn đề ……….………….33
3.3.2.2 Mạng hàng đợi đóng ……….………….33
3.3.3 Thiết kế tối ưu mạng riêng ảo ……… ……….35
3.3.3.1 Đặt vấn đề ……….……….35
CHƯƠNG 4 ……….……… … ……37
CÁC THUẬT TOÁN TÌM ĐƯỜNG ……….…… …… 37
4.1 Mô hình hệ thống định tuyến tĩnh ……… ………….37
4.1.1 Giới thiệu ……… ……37
4.1.2 Các thông số của hệ thống ……… ……… 37
4.1.3 Kĩ thuật tìm đường tập trung hoặc phân tán ……….40
4.1.4 Bài toán tìm đường đi ngắn nhất ……… 41
4.2 Lập trình song song ……… ……… 42
Trang 34.2.1 Mục đích ………… ………42
4.2.2 Đánh giá hiệu quả của giải thuật song song ……….42
4.2.3 Các vấn đề cần chú ý khi tìm đường ………43
4.3 Phân tích các thuật toán tìm đường ……… ……… 45
4.3.1 Giải thuật tìm đường tĩnh ……….45
4.3.1.1 Giải thuật Dijkstra ……… ……… 45
4.3.1.2 Giải thuật Bellman Ford ………48
4.3.1.3 Giải thuật Floyd ……….51
4.3.2 Giải thuật tìm đường động ………53
4.3.3 Các phương pháp tìm đường đi ngắn nhất khác ……… 57
4.3.3.1 Giải thuật Depth First Search (Tìm kiếm theo độ sâu) ……… 57
4.3.3.2 Giải thuật Breadth First Search (Tìm kiếm ưu tiên bề rộng)………… 58
KẾT LUẬN ………61
1.KẾT QUẢ ĐẠT ĐƯỢC ……….…….61
2.HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI ……….………61
TÀI LIỆU THAM KHẢO ……….……62
PHỤ LỤC ……… ………63
CHƯƠNG TRÌNH CÀI ĐẶT MỘT SỐ THUẬT TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT TRÊN MẠNG ……… 63
// Modul các thuật toán ……… ……….63
Trang 44
…… o0o…….
LỜI NÓI ĐẦU
Trong thực tế ta thường sử dụng đến mạng lưới điện thoại, giao thông
(đặc biệt là đường hàng không), mạng máy tính… Chúng giữ một vị trí rất quan
trọng trong cuộc sống Việc nghiên cứu và phát triển kỹ thuật luôn được chú
trọng, nhằm giải quyết các công việc trong những lĩnh vực này một cách linh
hoạt, ví dụ như giảm chi phí ít tốn kém thời gian và còn nhiều hiệu quả Để giải
quyết những tổn hao đó, việc nghiên cứu phải dựa trên cơ sở toán học đó là lý
thuyết đồ thị hay nói một cách chung lý thuyết đồ thị là một công cụ toán học xây
dựng mô hình cho các vấn đề trên
Như ta đã biết một mạng điện thoại, mạng máy tính hay một mạng thông
tin nói chung thường có một cấu trúc chung đó là các điểm liên hệ với nhau Để
mô hình sự liên hệ này, trong toán học lý thuyết đồ thị sẽ biểu diễn bởi một đồ
thị, trong đó đỉnh của đồ thị là điểm thông tin, cạnh của đồ thị là sự liên hệ của
các điểm thông tin, số được gán trên cạnh của đồ thị và biểu diễn khoảng cách
hay chi phí các nút thông tin
Để hiểu được các quy tắc giảm thời gian và chi phí trên các ứng dụng
thực tế cũng như lý thuyết thì đề tài “ Xây dựng chương trình cài đặt một số
thuật toán tìm đường đi trên mạng ” được thực hiện nhằm giải quyết vấn đề
- Các chỉ tiêu để có một mạng viễn thông tốt
- Vấn đề tối ưu trong quy hoạch và thiết kế mạng
Bài toán dự báo số người sẽ truy cập vào mạng viễn thông tại một thời
điểm quan sát nào đó hay số lượng thuê bao mới trong tương lai Hay vấn
Trang 5đề thiết kế mạng tập trung kết nối đa điểm với M nút cơ sở cần kết nối về
một trung tâm qua N nút quá giang
- Vấn đề tối ưu trong quản lý và khai thác tài nguyên mạng
Định tuyến rất quan trọng trong điều hành và quản lý mạng, việc định
tuyến tối dựa trên tiêu chuẩn chi phí nhỏ nhất Hay vấn đề cần thiết phải
xây dựng mạng riêng ảo
Chương 4 Các thuật toán tìm đường
Kỹ thuật tìm đường tập trung, phân tán, tìm đường tĩnh, đường động Các
giải pháp tuần tự, song song, giải pháp động
Cài đặt một số thuật toán tìm đường đi ngắn nhất trong mạng:
Thuật toán Dijkstra, Bellman_Ford, Floyd, Depth_First_Search,
Breadth_First_Search
Đồ án được hoàn thành tại khoa Công nghệ thông tin - Đại học Thái Nguyên
với sự hướng dẫn của thầy giáo ThS Nguyễn Đình Dũng
Trang 6
6
CHƯƠNG 1 GIỚI THIỆU VỀ NGÔN NGỮ VISUAL BASIC 6.0
1.1 Tìm hiểu ngôn ngữ lập trình Visual Basic
1.1.1 Giới thiệu Visual Basic
Microsoft Visual Basic (viết tắt là VB) là cách dễ dàng nhất và nhanh
nhất để xây dựng một chương trình ứng dụng chạy trên nền Microsoft
Window.VB cung cấp sẵn một tập đầy đủ các công cụ để làm nhanh, đơn giản
quá trình phát triển ứng dụng
“Visual” chỉ là cách tạo giao diện người dùng đồ hoạ một cách trực quan
Thay vì phải viết rát nhiều dòng mã lệnh để mô tả hình dáng và vị trí các phần tử
tạo nên giao diện, ta chỉ cần đặt những đối tượng đã được xây dựng sẵn lên màn
hình
“Basic” chỉ tới ngôn ngữ lập trình BASIC (Beginners All-Purpose
Symbolic Intruction Code ), một trong những ngôn ngữ lập trình nổi tiếng
Visual Basic là một sản phẩm của Micsoft và là một chương trình 32
bit chỉ chạy trên nền Windows 95 trở lên
Visual Basic là một ngôn ngữ lập trình theo kiểu hướng đối tượng
Có thể thấy ngay được thao tác khi thiết kế
Cho phép chỉnh sửa dễ dàng
Là ngôn ngữ lập trình cơ sở dữ liệu rất mạnh, hỗ trợ nhiều tính năng
cho phép xử lý dữ liệu một cách dễ dàng, hiệu quả
1.1.2 Môi trường phát triển của Visual Basic 6.0
Microsoft Visual Basic cung cấp cho người lập trình xây dựng nhanh các
ứng dụng Windows Khác với ngôn ngữ hướng thủ tục trước đây VB 6.0 là trợ
thủ đắc lực cho thiết kế giao diện và viết chương trình quản lý
Ngôn ngữ lập trình Visual Basic có 3 ấn bản:
- Learning: ấn bản này ít được dùng
- Prossional: ấn bản này hiện nay được người lập trình sử dụng phổ biến
Nó cung cấp đầy đủ những gì cần thiết để xây dựng một ứng dụng
Trang 7- Enterprise là bản Prossional cộng thêm các công cụ Back Office
1.1.3 Form và công cụ điều khiển Control
Thuộc tính, sự kiện, phương thức
Form
Control: Label, Text box, Check box, Option Group, List/Combo box …
Focus
Dialog box (hộp hội thoại)
a Thuộc tính, sự kiện, phương thức
Form và Control (điều khiển) của Visual Basic là các đối tượng với thuộc
tính (Property), phương thức (Method) và sự kiện (Event) Thuộc tính là các đặc
điểm qui định đối tượng, phương thức là các hành động và sự kiện là sự đáp ứng
tác động gắn với mỗi đối tượng
b Form
Đối tượng Form là thành phần cơ sở của một chương trình viết bằng
Visual Basic, là cửa sổ giao diện với người dùng Form có thuộc tính, sự kiện và
phương thức
c Command button
Command button (nút lệnh) cho phép người sử dụng nhấn vào để thực
hiện một hành động Khi người dùng nhấn vào nút lệnh, thủ tục sự kiện Click
được gọi Lập trình viên viết lệnh vào thủ tục sự kiện Click để thực hiện hành
động mong muốn
d Label
Label (nhãn) hiển thị văn bản mà người dùng không thể trực tiếp thay đổi
ta có thể định danh các Control không có thuộc tính Caption như Text box và
Scroll bar Văn bản được hiển thị trong một Label được điều khiển bởi thuộc tính
Caption, thuộc tính này có thể được đặt khi thiết kế tại cửa sổ Properties hay khi
chạy bằng cách gán giá trị cho nó trong mã chương trình
Trang 88
f Text box
Text box (hộp soạn thảo) dùng để nhập dữ liệu từ người dùng hay hiển thị
dữ liệu Tuy nhiên, không nên dùng Text box để hiển thị dữ liệu không được thay
đổi bởi người dùng nếu như không đặt thuộc tính Locked là True
g Check box
Check box (hộp đánh dấu) được dùng để đưa ra lựa chọn đúng /sai,
có/không cho người sử dụng
Hình 1.1: Ví dụ về Check box
h Option Button và nhốm Option Button
Option (nút tuỳ chọn) được dùng theo nhóm cho phép người dùng chọn
một trong số nhiều lựa chọn
Tạo nhóm Option Button
Tất cả các Option Button được đặt trực tiếp lên Form tạo thành một nhóm
Nếu muốn tạo thêm các nhóm những Option Button thuộc nhóm mới phải được
cùng đặt trong một Frame box hay Picture box
i List box và Combo box
List box (hộp danh sách) và Combo box (hộp kéo dài) sử dụng để liệt kê
các lựa chọn cho người dùng
Hình 1.2: Lựa chọn cho người dùng chọn Node
j Các Control khác
Picture Box Control: Hiển thị kết quả của chương trình, ngoài ra còn
hiển thị hình ảnh qua thuộc tính Picture chứa tên tệp ảnh và đường dẫn
Trang 9Lightweight Graphic control: Các Control image, shape và line được gọi
là các Lightweight Controls Chúng hỗ trợ một tập các properties, Method và
event của Picture box
k Focus
Focus là khả năng được nhận Input của người dùng từ chuột hoặc bàn phím
Các sự kiện GotFocus và LostFocus xảy ra khi một đối tượng nhận hay
mất Focus Form và hầu hết các Control hỗ trợ các sự kiện này
Đặt Tab Order
Tab order (thứ tự Tab) là thứ tự mà người dùng di chuyển từ Control này
sang Control khác bằng cách nhấn phím Tab Mỗi Form có một Tab order riêng
của nó Thông thường, Tab order là thứ tự các Control
Để thay đổi Tab order cho một Control, đặt thuộc tính TabIndex Mặc
định, Control đầu tiên được vẽ có TabIndex bằng 0, cái thứ hai có TabIndex bằng
1, …
Bỏ một Control ra khỏi tab order: Ta có thể bỏ một Control ra khỏi Tab
order bằng cách đặt thuộc tính TabStop bằng False (0)
l Dialog box
Dialog box dùng để hỏi người dùng dữ liệu cần thiết hoặc dùng để hiện
thông tin cho người dùng Dialog box là một kiểu đối tượng Form đặc biệt mà có
thể tạo theo 3 cách sau:
Predefined dialog box có thể tạo được từ mã chương trình sử dụng các
hàm MsgBox, InputBox
Trang 1010
Customized dialog box có thể được tạo từ Form chuẩn hoặc sửa một
dialog box có sẵn
Standard dialog box, chẳng hạn Print và File Open, có thể được tạo từ
Common dialog Control
Hình 1.3: Thông báo cho người sử dụng
1.1.4 Lập trình trên Visual basic
1.1.4.1 Các kiểu dữ liệu có sẵn trong Jet Database Engine
VB bao gồm nhiều kiểu dữ liệu khác nhau, cho phép người lập trình có thể khai
thác các biến theo các kiểu dữ liệu để lưu trữ các kiểu dữ liệu khác nhau
Các kiểu dữ liệu:
Kiểu Mô tả Kích thước
Memo Xâu ký tự dài Tối đa 1.2GB
âm 1.401298E-45 đến 3.402823E38 với giá trị dương
Trang 11Date Ngày giờ
Binary Dữ liệu nhị phân Tối đa 1.2GB
1.1.4.2 Khai báo biến trong VB
a Qui tắc đặt tên
Tên thủ tục, hàm,biến, hằng phải tuân theo qui tắc:
Bắt đầu bằng kí tự chữ
Không chứa kí tự phân cách (như [.] hay kí tự rỗng), kí tự khai báo kiểu
Không dài hơn 255 kí tự Tên của Control, Forms, Class và Module không
vượt quá 40 kí tự
Không trùng với các từ khoá của ngôn ngữ
b Khai báo biến
Cú pháp:
Dim (tên biến) [as (kiểu dữ liệu)]
Khai báo biến với từ khoá Dim trong một thủ tục tồn tại khi thủ tục đó
được chạy; khi thủ tục kết thúc, giá trị của biến đó được giải phóng
c Khai báo hằng
Cú pháp:
[Public/Private] Conts(tên hằng) [As (kiểu dữ liệu)]=(giá trị hằng)
Phạm vi hằng số người dùng định nghĩa:
Trang 1212
Hằng khai báo trong một thủ tục chỉ có phạm vi trong thủ tục đó
Hằng khai báo trong phần Declarations của một Module có phạm vi trong
toàn Module
Hằng khai báo trong phần Declarations của một Module với từ khoá
Public có phạm vi trong toàn chương trình
d Biến kiểu mảng
Cú pháp:
Dim (tên mảng)[(số phần tử)] as (kiểu dữ liệu)
e Biến kiểu người sử dụng tự định nghĩa
Cú pháp:
type (tên biến) (thành phần 1) as (kiểu dữ liệu) ………
(thành phần n) as (kiểu dữ liệu)
f Gán giá trị cho biến
Cú pháp:
(tên biến) = (biểu thức)
1.1.4.3 Các cấu trúc lặp trong Visual Basic
a Cấu trúc if … then
Cú pháp 1:
If <biểu thức điều kiện> then
… End if
Cú pháp 2:
If <biểu thức logic> then
… Else
…
End if
Trang 13b Cấu trúc Select … Case
Là một cấu trúc lựa chọn theo một biến hay một điều kiện nào đó Cấu
trúc này thường sử dụng trong trường hợp cần xét nhiều điều kiện lựa chọn xẩy
ra trên một biến nào đó
<câu lệnh n>
[Case else
<câu lệnh Else>]
End Select
c Cấu trúc For … Next
Là một cấu trúc lặp với số bước lặp cố định Cấu trúc này thường được sử
dụng khi biết trước số bước lặp Ở cấu trúc này câu lệnh được thực hiện cho đến
+ Biến đếm: kiểu số nguyên
+ Giá trị đầu: Giá trị bắt đầu của biến đếm
+ Giá trị cuối: Giá trị kết thúc của biến đếm
+ Bước nhảy: Bước nhảy của mỗi lần lặp Nếu giá trị này không có mặc
nhiên giá trị của bước nhảy là một
Trang 1414
d Cấu trúc Do … While
Là một cấu trúc lặp thực hiện cho đến khi biểu thức điều kiện thực sự
được thoả mãn Ở cấu trúc này khi gặp điều kiện thoả mãn thì vòng lặp dừng
Nếu câu lệnh sai thì bỏ qua các câu lệnh và thực hiện các câu lệnh phía dưới
Câu lệnh With cho phép truy cập đến thuộc tính của đối tượng mà không
cần gọi đầy đủ tên đối tượng và tên thuộc tính
Cú pháp: With đối tượng
Thuộc tính 1 = thuộc tính Thuộc tính 2 = thuộc tính
… End With
1.1.4.4 Thủ tục và hàm trong Visual Basic
Khi lập trình ta thường gặp những đoạn chương trình lặp đi lặp lại nhiều
lần ở những chỗ khác nhau Để chương trình đỡ phức tạp, các đoạn này được
thay thế bằng các chương trình con tương ứng, khi cần ta chỉ cần gọi nó ra mà
không cần viết lại cả đoạn Chương trình con là thủ tục hoặc hàm có dạng sau :
Trang 15- Cấu trục của một thủ tục lặp
Sub <tên thủ tục>
………….’các lệnh’
End Sub
Nếu muốn dùng thủ tục này trong toàn bộ chương trình thì bạn dùng thêm
từ khóa Public trước từ khóa Sub, còn nếu bạn chỉ muốn dùng trong một Form
chứa nó thì bạn thêm từ khóa Private trước từ khóa Sub
Trang 1616
CHƯƠNG 2
LÝ THUYẾT ĐỒ THỊ 2.1 Các định nghĩa đồ thị
2.1.1 Định nghĩa đồ thị
Đồ thị là một cấu trúc rời rạc bao gồm các đỉnh và các cạnh nối các đỉnh
này, các loại đồ thị khác nhau được phân biệt bởi kiểu và số lượng cạnh nối hai
đỉnh nào đó của đồ thị
Giả sử X là tập hữu hạn, không rỗng các phần tử nào đó và U thuộc X´X
Bộ G = <X, U> được gọi là đồ thị hữu hạn Mỗi phần tử x thuộc X gọi là một
đỉnh và mỗi phần tử u = (x,y) thuộc U gọi là một cạnh của đồ thị G = <X, U>
Xét một cạnh u thuộc U khi đó tồn tại 2 đỉnh x, y ẻ X sao cho u = (x, y), ta
nói rằng x nối với y hoặc x và y thuộc u
- Nếu cạnh u = (x, y) mà x và y là hai đỉnh phân biệt thì ta nói x, y là hai
đỉnh kề nhau
- Nếu u = (x, x) thì u là cạnh có hai đỉnh trùng nhau ta gọi đó là một
khuyên
- Nếu u = (x, y) mà x,y là cặp đỉnh có phân biệt thứ tự hay có hướng từ x
đến y thì u là một cung, khi đó x là gốc còn y là ngọn hoặc x là đỉnh ra, y là đỉnh
vào
- Khi giữa cặp đỉnh (x, y) có nhiều hơn một cạnh thì ta nói những cạnh
cùng cặp đỉnh là những cạnh song song hay là cạnh bội
Trang 17Hình 1.1
Trong thực tế ta có thể gặp nhiều vấn đề mà có thể dùng mô hình đồ thị để
biểu diễn, như sơ đồ một mạng máy tính, sơ đồ mạng lưới giao thông, sơ đồ thi
công một công trình
Ví dụ: Xét một mạng máy tính, có thể biểu diễn mạng này bằng một mô
hình đồ thị, trong đó mỗi máy là một đỉnh, giữa các máy được nối với nhau bằng
các dây truyền, chúng tương ứng là các cạnh của đồ thị Một mô hình mạng máy
tính như hình 1.2 trong đó có các máy tính A, B, C, D tương ứng là các đỉnh,
giữa 2 máy được nối trực tiếp với nhau thì tương ứng với 1 cặp đỉnh kề nhau
Hình 1.2 Ví dụ về một đồ thị
2.1.2 Đồ thị đơn
Đồ thị G = <X, U> được gọi là đồ thị đơn nếu giữa hai đỉnh bất kỳ được
nối với nhau bởi không quá một cạnh (cung), tức là đồ thị không có cạnh bội,
không có khuyên
Hình 1.2 là một ví dụ về đồ thị đơn
2.1.3 Đa đồ thị
Đồ thị G = <X, U> được gọi là đa đồ thị nếu nó có ít nhất một cặp đỉnh
được nối với nhau bởi hai cạnh (hai cung) trở lên
2.1.4 Giả đồ thị
Là đồ thị có ít nhất một khuyên, có thể chứa cạnh bội, cạnh đơn Tóm lại
đây là loại đồ thị tổng quát nhất
Trang 1818
2.2 Các loại đồ thị
2.2.1 Đồ thị vô hướng
Đồ thị G=<X,U> được gọi là đồ thị vô hướng nếu tất cả các cạnh thuộc U
mà cặp đỉnh thuộc nó e = (x,y) thuộc X không phân biệt thứ tự Đồ thị vô hướng
là đồ thị không có bất kỳ một cung nào
Ví dụ: như hình 1.3.a là biểu diễn của một đồ thị vô hướng
2.2.2 Đồ thị có hướng
Đồ thị G = <X, U> được gọi là đồ thị có hướng nếu tất cả các cạnh e thuộc
U mà cặp đỉnh thuộc nó e = (x, y) thuộc X có phân biệt thứ tự Đồ thị có hướng
là đồ thị mà mọi e = (x, y) thuộc X đều là cung
Hình 2.1 Đồ thị có hướng
2.2.3 Đồ thị hỗn hợp
Đồ thị G=<X,U> vừa có cạnh vô hướng, vừa có cạnh có hướng thì nó
được gọi là đồ thị hỗn hợp, loại đồ thị này rất ít khi được dùng tới
Chú ý rằng vấn đề phân chia đồ thị và các thuật ngữ về đồ thị chỉ mang tính
tương đối, hiện nay vẫn còn chưa mang tính thống nhất chuẩn trên nhiều tài liệu
2.3 Một số khái niệm và tính chất cơ bản của đồ thị
2.3.1 Bậc đồ thị
2.3.1.1 Bậc đồ thị vô hướng
Cho đồ thị vô hướng G = <X,U> Xét 1 đỉnh x thuộc X đặt m(x) là số
cạnh thuộc đỉnh x khi đó m(x) được gọi là bậc của đỉnh x Nếu x có một khuyên
thì m(x) được cộng thêm 2
m(x) = 3 m(x) = 2
- Nếu m(x) = 0 thì đỉnh x được gọi là đỉnh cô lập
- Nếu m(x) = 1 thì đỉnh x được gọi là đỉnh treo
m(x) m(G)
C
Trang 19thì m(G) được gọi là bậc của đồ thị vô hướng G = <X, U>
2.3.1.2 Bậc đồ thị có hướng
Cho đồ thị có hướng G= <X,U> xét 1 đỉnh x thuộc X, ta ký hiệu m+(x) là
số các cung vào của đỉnh x, còn m-(x) là số các cung ra khỏi x Khi đó ta gọi
m+(x) là bậc vào của đỉnh x còn m-(x) là bậc ra của đỉnh x
- Nếu m+(x) + m-(x) = 0 thì đỉnh x được gọi đỉnh là cô lập
- Nếu m+(x) + m-(x) = 1 thì đỉnh x được gọi là đỉnh treo
Ta thấy một cạnh thuộc 2 đỉnh, nếu xoá một cạnh thì bậc của G giảm đi 2,
nếu xoá một khuyên u = (x, x) thì bậc của G cũng giảm đi 2, còn nếu xoá hết
cạnh, hết khuyên thì bậc của đồ thị bằng 0 Từ đó suy ra định lý
Hệ quả: Số đỉnh bậc lẻ của đồ thị G = <X,U> là một số chẵn
x
(x) m (x) m m(G)
x X
x
m(x) m(x)
m(x) 2m
Trang 2020
Ta có:
Do vế trái chẵn nên tổng vế phải cũng là số chẵn Mà tổng bậc của các
đỉnh bậc chẵn (x thuộc A) là số chẵn nên tổng bậc của các đỉnh bậc lẻ (x thuộc B)
phải là số chẵn, do tất cả các số hạng của nó là số lẻ, nên tổng này phải gồm một
Trong đó các cạnh, các đỉnh trong đường đi có thể lặp lại
Độ dài của đường đi bằng số các cạnh (hoặc cung) trong đường đi đó
* Chú ý rằng trong đồ thị có hướng, trên một cung uv chẳng hạn thì đường đi chỉ
có thể đi từ gốc (u) đến ngọn (v) không thể đi ngược lại
b) Chu trình
Xét một đường đi từ xi - xj Nếu xi ≡ xj thì đường đi này được gọi là một
chu trình Như vậy chu trình là một đường đi có đỉnh xuất phát và đỉnh kết thúc
trùng nhau
* Chú ý rằng đường đi trong đồ thị có hướng không được đi ngược chiều mũi tên
- Đường đi (chu trình) được gọi là đơn nếu nó đi qua mỗi cạnh không quá
Trang 21Ví dụ như ở hình 3.1 ADBE là một đường đi sơ cấp từ A đến E độ dài 3;
ABCDBE là đường đi không sơ cấp ( qua B 2 lần) từ A đến E độ dài 5; ABDAB
là một đường đi không đơn (chứa cạnh AB 2 lần) từ A đến B độ dài 4; ABDA
Là 1 chu trình đơn và sơ cấp độ dài 3; CC là đường đi độ dài 0
Xét đồ thị có hướng như hình 2.1 thì ABCB là một đường đi độ dài 3;
CBA không là một đường đi vì không có cung đi từ B đến A
Định lý:
Nếu trong đồ thị G = <X,U> các đỉnh đều có bậc không nhỏ hơn 2 ( "x
thuộc X | m(x) ³ 2 ) thì trong G tồn tại ít nhất một chu trình
các đường đi đơn là hữu hạn Chọn một đường đi là dài nhất nào đó ví dụ từ xi1
đến xij +1 (xem hình vẽ dưới đây) Theo giả thiết m(x) ³ 2 nên tồn tại ít nhất một
đỉnh xi0 và một cạnh nối đỉnh xi1 và xi0 Đỉnh xi0 thuộc một trong các đỉnh trên
đường đi đã chọn chẳng hạn xij vì đường đi là dài nhất, nên chứng tỏ tồn tại
một chu trình trong đường đi
2.3.3 Đồ thị liên thông
Cho đồ thị G = <X,U> Hai đỉnh phân biệt x,y thuộc X được gọi là liên
thông nếu tồn tại một đường đi nối các đỉnh x, y với nhau Đồ thị G được gọi là
liên thông nếu với hai đỉnh phân biệt bất kỳ trong đồ thị đều là liên thông
Ví dụ như hình 3.1 là một đồ thị liên thông vì luôn có đường đi nối hai
đỉnh bất kỳ của đồ thị, còn đồ thị như hình 3.2 là không liên thông vì không có
đường đi từ A tới D hoặc từ D tới F v.v
Trang 2222
U = U1 ^ U2Thì G = <X,U> là đồ thị có 2 thành phần liên thông G1, G2
Hình 3.3
Ví dụ như đồ thị trong hình 3.3 có ba thành phần liên thông sau:
G1 = <X1, U1> với X1= {A,B,C} và U1 = {AB, AC, CB}
G2 = <X2, U2> với X2= {D, E} và U2 = {DE}
G3 = <X3, U3> với X3= {F} và U3 = 0
Cho đồ thị có hướng G = <X, U>
- G được gọi là đồ thị liên thông yếu nếu đồ thị vô hướng tương ứng với
nó là liên thông
- G là liên thông một chiều nếu với hai đỉnh x,y khác nhau bất kỳ của G
luôn có đường đi x - y hoặc đường đi y - x
- G là liên thông mạnh (liên thông 2 chiều) nếu hai đỉnh x,y khác nhau bất
kỳ của G đều có đường đi x - y và đường đi y - x
H1 H2 H3
Hình 3.4
Ở hình 3.4 đồ thị H1 là liên thông mạnh, giả sử cặp đỉnh (A,C) ta có chiều
đi từ C tới A, và đồng thời cũng có chiều đi từ A tới C, và bất kỳ các cặp đỉnh
khác cũng tương tự như vậy H2 là liên thông một chiều vì xét cặp đỉnh (A,D) có
chiều đi từ D tới A nhưng không có chiều đi từ A tới D H3 là liên thông yếu vì
Trang 23tồn tại cặp đỉnh (B,C) không có chiều đi B - C cũng không có chiều đi C - B,
nhưng đồ thị vô hướng tương ứng là liên thông
2.3.4 Đồ thị con và đồ thị bộ phận
Cho đồ thị G = <X,U>
- Nếu trong đồ thị đó ta bỏ đi một số đỉnh nào đó và các cạnh xuất phát từ
đỉnh đó thì phần còn lại của đồ thị được gọi là đồ thị con của đồ thị G đã cho,
hoặc là nếu D = <X',U'> là đồ thị con của G = <X,U> thì X' thuộc X và U' thuộc
U
- Nếu trong đồ thị G ta bỏ đi một số cạnh nhưng giữ nguyên các đỉnh thì
phần còn lại của đồ thị được gọi là đồ thị bộ phận của đồ thị G
Trang 2424
CHƯƠNG 3 MỘT SỐ BÀI TOÁN THIẾT KẾ MẠNG VIỄN
THÔNG VÀ CÁC VẤN ĐỀ LIÊN QUAN
3.1 Các chỉ tiêu chất lượng mạng
Chất lượng dịch vụ của một mạng viễn thông thể hiện mức độ hài lòng
của người sử dụng các dịch vụ trên mạng đó Ta không thể đo lường mức độ hài
lòng này Tuy nhiên ta biết rằng, chất lượng dịch vụ được đảm bảo nhờ chất
lượng mạng Tìm hiểu chỉ tiêu chất lượng mạng chính là tìm hiểu các chỉ tiêu mà
sau này bài toán tối ưu sẽ hướng tới
Theo định nghĩa của ITU tại khuyến nghị E.800, chất lượng mạng là
năng lực của một mạng ( hoặc một phần của mạng ) thực hiện các chức năng có
liên quan đến khả năng truyền thông giữa những người sử dụng Theo quan điểm
công nghệ, chất lượng mạng là các tham số thể hiện năng lực của mạng, nó có
thể được tính toán, đo lường, điều khiển để đảm bảo chất lượng các dịch vụ cung
cấp trên mạng
3.1.1 Chất lượng mạng
Chất lượng mạng thể hiện qua chất lượng chuyển mạch, chất lượng
truyền dẫn và độ tin cậy của mạng
Chất lượng chuyển mạch được thể hiện thông qua thời gian cần thiết để
thiết lập kết nối và chất lượng kết nối Trong các mạng viễn thông, một số lượng
lớn người sử dụng cùng chia sẻ một số lượng hữu hạn các phần tử mạng Nhu
cầu người sử dụng xuất hiện ngẫu nhiên nên sinh ra hiện tượng xếp hàng đợi, dẫn
đến trễ, tắc nghẽn và tổn thất cuộc gọi Chất lượng chuyển mạch được quyết định
bởi cấu trúc mạng, khả năng xử lý của các nút mạng và lưu lượng phát sinh trên
mạng Thông thường, chất lượng chuyển mạch được thể hiện qua tổn thất và trễ
Tổn thất là các cuộc gọi, gói hoặc tế bào (gọi chung là cuộc gọi) bị mất do tắc
nghẽn lưu lượng tại trường chuyển mạch hoặc trên các nhóm trung kế hay người
được gọi bận… Tổn thất thường được diễn tả bởi xác suất tổn thất (tỷ lệ mất cuộc
gọi) Trễ là khoảng thời gian mà các cuộc gọi phải chờ để được thiết lập kết nối
Trang 25do nhu cầu xử lý lớn hơn năng lực của hệ thống Trong mạng chuyển mạch kênh
đó là khoảng thời gian từ người gọi bắt đầu cuộc gọi đến khi nhận được âm quay
số, thời gian từ khi quay số đến khi gửi tín hiệu chuông nghe rõ (trễ quay số), hay
thời gian từ khi kết thúc cuộc gọi đến khi sẵn sàng cho cuộc gọi khác (trễ khôi
phục) Trong mạng chuyển mạch gói hoặc mạng ATM, trễ bao gồm trễ chuyển
mạch, trễ đóng/tháo gói, trễ hàng đợi… Trễ được đặc trưng bởi thời gian trễ
trung bình hay xác suất trễ Trong các hệ thống có tổn thất, các cuộc gọi đến lớn
hơn khả năng xử lý của hệ thống sẽ lập tức bị từ chối (hiện tượng tổn thất xảy
ra) Ngược lại, trong các hệ thống có trễ, khi các cuộc gọi đến lớn hơn khả năng
xử lý của hệ thống thì sẽ được dựa vào hàng đợi tại các bộ đệm (cuộc gọi chỉ bị
trễ chứ không bị mất) Tuy nhiên nếu các cuộc gọi xếp hàng quá nhiều và lớn
hơn dung lượng bộ đệm tại hàng đợi thì vẫn có hiện tượng tổn thất xảy ra
Chất lượng truyền dẫn biểu thị mức độ chính xác của việc truyền dẫn
thông tin trên mạng, là do yếu tố chính quyết định độ trung thực của tín hiệu tại
đầu thu so với đầu phát Trong mạng thoại chất lượng truyền dẫn quyết định chất
lượng tiếng, bao gồm độ rõ và âm lượng âm thanh Trong các hệ thống truyền
dẫn số, chất lượng truyền dẫn được thể hiện bằng các tham số BER (tỷ lệ lõi bit),
PER (tỷ lệ lỗi gói) hay phần trăm giây lỗi nghiêm trọng (SES%)…
Độ ổn định của mạng chỉ ra độ tin cậy của mạng, tức khả năng mạng
thực hiện được các chức năng theo yêu cầu Trong các mạng viễn thông, độ tin
cậy của tổng đài, các đường truyền dẫn cũng như các thiết bị ngoại vi khác quyết
định độ ổn định của mạng Việc phân tích, tính toán độ ổn định của mạng có thể
thực hiện dựa trên các nguyên lý của lý thuyết hệ thống và lý thuyết độ tin cậy
Ngoài các chỉ tiêu đã nêu, khả năng tính cước cũng là một phần quan
trọng của chất lượng mạng, bởi vì nó ảnh hưởng trực tiếp đến người sử dụng
Khả năng tính cước phụ thuộc vào cả ba chỉ tiêu chất lượng mạng đã nêu Tỷ lệ
cuộc gọi bị tính cước sai, số cuộc gọi kéo dài, băm nhỏ… thường được sử dụng
để đánh giá khả năng tính cước của hệ thống
Trang 2626
3.1.2 Các tham số đặc trưng của chất lượng mạng
3.1.2.1 Các tham số chất lượng chuyển mạch
- Xác suất tổn thất bên trong tổng đài là xác suất không thể thiết lập một
kết nối giữa một trung kế vào và bất kỳ trung kế ra nào đó của tổng đài
- Trễ đáp ứng vào là khoảng thời gian tính từ thời điểm có một tín hiệu
đến đầu vào tổng đài tới thời điểm tổng đài bị gọi gửi cho tổng đài gọi một tín
hiệu sẵn sàng nhận
- Trễ thiết lập cuộc gọi là khoảng thời gian tính từ thời điểm tổng đài bị
gọi nhận được thông tin địa chỉ cần thiết cho việc thiết lập cuộc gọi tới thời điểm
tín hiệu báo chiếm hoặc thông tin địa chỉ tương ứng được gửi tới tổng đài kế tiếp
- Trễ chuyển mạch là khoảng thời gian tính từ thời điểm hoàn thành việc
gửi tín hiệu quay số tới khi thiết lập đường liên lạc qua tổng đài giữa các trung kế
vào và ra
3.1.2.2 Các tham số chất lượng truyền dẫn
- Tỷ lệ lỗi bit là tỷ số giữa tổng số bit bị lỗi trên tổng số bit gửi đi
- Tỷ lệ mất gói là tỷ số giữa tổng số gói bị mất trên tổng số gói gửi đi
(trong chuyển mạch gói)
- Tỷ lệ lỗi gói là tỷ số giữa số gói bị lỗi trên tổng số gói gửi đi (trong
chuyển mạch gói) Trong các mạng hoạt động dựa theo nguyên lý chuyển mạch
gói, một nhóm các lỗi có thể xảy ra làm cho các gói thông tin bị mất hoặc bị định
tuyến nhầm
- Giây bị lỗi là giây trong khoảng thời gian khả dụng có tỷ lệ lỗi bit nhỏ
hơn 10-3
- Giây bị lỗi nghiêm trọng là giây trong khoảng thời gian khả dụng có tỷ
lệ lỗi bit lớn hơn hoặc bằng 10-3 hoặc có tín hiệu chỉ thị cảnh báo (AIS)
- Phút suy giảm chất lượng là khoảng thời gian : Trong khoảng thời gian
khả dụng tất cả các giây bị lỗi nghiêm trọng được loại bỏ, các giây còn lại được
nhóm liên tiếp thành từng khối 60 giây và các khối này được gọi là “phút” Một
phút suy giảm là phút có tỷ lệ lỗi bit lớn hơn 10-6
Trang 27- Rung pha là hiện tượng mà trong đó pha của chuỗi xung trở lên không
ổn định một thời gian ngắn Rung pha phát sinh từ sự thay đổi đầu vào của các
mạch đối với việc tách xung thời gian từ thiết bị lặp tái sinh, hoặc từ sự đồng bộ
khung/bit của thiết bị trạm đầu cuối Sự tích lũy của rung pha sẽ dẫn đến lỗi bit
- Lệch pha là hiện tượng mà trong đó pha của chuỗi xung trở nên không
ổn định một thời gian tương đối dài so với rung pha
- Trượt bit là hiện tượng mà trong đó thông tin liên lạc của chuỗi thông tin
được nhắn bị mất hay gối lên nhau, nếu khác pha giữa đồng hồ đọc và chuỗi
xung nhận được vượt quá dung lượng của bộ nhớ đệm cho đồng bộ pha mà trong
đó chuỗi xung được ghi vào
3.1.2.3 Các tham số của sự ổn định
- Độ khả dụng của các kênh điện thoại là độ đo cho biết toàn bộ các
kênh điện thoại bao gồm phương tiện truyền dẫn, các tổng đài có khả năng hoàn
thành các chức năng của chúng tại bất kỳ thời điểm nào
- Độ khả dụng thiết bị tổng đài điện thoại là độ đo cho biết mức độ hoạt
động bình thường (không có sự cố tổng đài) của tổng đài điện thoại
- Độ khả dụng mạng cáp ngoại vi là độ đo cho biết mức độ hoạt động
bình thường (không có sự cố tính từ giá phối dây chính của tổng đài tới các hộp
đấu dây) của mạng ngoại vi
- Thời gian khắc phục sự cố là thời gian tính từ thời điểm phát hiện sự cố
trên mạng tới thời điểm sửa chữa xong sự cố
- Thời gian khả dụng là thời gian hệ thống có khả năng thực hiện chức
năng quy định Các khoảng thời gian 1 giây được tính là thời gian đơn vị để xem
xét tỷ lệ lỗi bit
3.1.3 Tiêu chuẩn đánh giá chất lượng mạng
Trong mạng viễn thông, để truyền thông tin một cách tin cậy, mạng phải
đảm bảo hai chỉ tiêu sau đây:
- Tính trong suốt về mặt nội dung: Đảm bảo cho mạng khả năng truyền
thông tin một cách chính xác từ nguồn tới đích với số lỗi cho phép
Trang 2828
- Tính trong suốt về mặt thời gian: Đảm bảo độ trễ đủ nhỏ cho các dịch vụ
thông tin trên mạng, đặc biệt là các dịch vụ thời gian thực Tính trong suốt về mặt
thời gian chủ yếu phụ thuộc vào chất lượng truyền dẫn của mạng
3.2 Một số bài toán tối ưu trong quy hoạch và thiết kế mạng
3.2.1 Bài toán dự báo
3.2.1.1 Giới thiệu chung
Để có thể dự báo được số người sẽ truy cập vào mạng viễn thông tại một
thời điểm quan sát nào đó hay số lượng các thuê bao mới trong tương lai, ta cần
phải sử dụng các phương pháp phân tích tương quan hay hồi quy Mục đích của
phân tích tương quan và hồi quy là tìm ra mối quan hệ giữa một chỉ tiêu (biến chỉ
tiêu) và các đối tượng hay sự việc mà ta quan tâm (biến độc lập) Quá trình dự
báo được tiến hành qua các bước sau:
- Thu thập số liệu (lấy mẫu) về các biến chỉ tiêu và các biến độc lập với
một số lượng thích hợp
- Phân tích tương quan: Dựa trên các số liệu thu thập được, xác định xem
giữa biến chỉ tiêu và các biến độc lập có quan hệ với nhau không
- Chọn mô hình hồi quy và xác định các tham số của mô hình hồi quy
- Dựa vào mô hình hồi quy đã xác định được các tham số, tính giá trị của
biến chỉ tiêu ứng với các biến độc lập đã cho
3.2.1.2 Dự báo nhu cầu
Khi chọn mô hình hồi quy để dự báo ta phải xác định biến chỉ tiêu và các
biến độc lập Trong trường hợp dự báo nhu cầu thì biến chỉ tiêu chính là nhu cầu,
các biến độc lập là các biến ảnh hưởng đến nhu cầu Nhìn chung, nhu cầu các
dịch vụ viễn thông chịu ảnh hưởng của rất nhiều yếu tố Ta có thể chia yếu tố này
thành hai nhóm chính: Yếu tố bên trong (yếu tố chủ quan) và yếu tố bên ngoài
(yếu tố khách quan) được thể hiện qua bảng sau:
Trang 29Yếu tố bên trong Yếu tố bên ngoài
- Đòi hỏi của công việc
- Trào lưu xã hội
Để thu được kết quả dự báo chính xác, phản ánh sát thực tế sẽ xảy ra, cần phải
quan tâm đến tất cả mọi yếu tố Như vậy ta phai giải bài toán đa hồi quy Ở đây
ta không đi sâu vào bài toán đa hồi quy
3.2.1.3 Dự báo lưu lượng
Để làm cơ sở cho việc qui hoạch mạng, ngoài vấn đề dự báo nhu cầu ta
còn phải dự báo lưu lượng, tức là xác định mức độ chiếm dụng mạng (chiếm
dụng băng thông) của các thuê bao giữa các nút mạng Theo khuyến nghị đại
lượng đặc trưng về lưu lượng là lượng trung bình trong 30 ngày bận nhất của
năm Ngoài ra lưu lượng thực hiện (là tổng lưu lượng các cuộc gọi thành công
trên một tuyến), lưu lượng cung cấp (là lưu lượng phát sinh trên mạng), lưu
lượng tổn hao (là tổng lưu lượng của các cuộc gọi không thành công do tắc
nghẽn hay do thuê bao bị gọi không có mặt)
3.2.2 Bài toán thiết kế mạng tập trung kết nối đa điểm
3.2.2.1 Bài toán kết nối đa điểm đơn giản
Giả sử có M nút mạng cơ sở cần phải nối về một trung tâm qua N nút quá
giang Nút mạng thứ i có nhu cầu băng thông trung bình tổng cộng là Bi Mỗi nút
cơ sở chỉ nối về một nút quá giang nhưng một nút quá giang có thể chấp nhận
nhiều nút cơ sở Nút quá giang thứ j có thể cung cấp băng thông tối đa là Cj và
được nối thẳng về trung tâm Ký hiệu xij là kết nối từ nút cơ sở thứ i đến nút quá
giang thứ j Như vậy xij chỉ có thể chấp nhận giá trị 1 hoặc 0, xij = 1 có kết nối từ
Trang 30Xác định điều kiện ràng buộc
Mỗi nút cơ sở chỉ kết nối với một nút quá giang nên điều kiện:
xij i M
N
j
, , 2 , 1
; 11
( 2 ) phải được thỏa mãn Mỗi nút quá giang có thể chấp nhận nhiều nút cơ sở nhưng
nó không thể nhận một số lượng nút cơ sở vượt quá khả năng cung cấp băng
thông của nó Nghĩa là:
Bixij Cj j N
N
i
, , 2 , 1
;1
Từ các phân tích trên đây, ta xây dựng được bài toán thiết kế tối ưu kết nối
đa điểm như sau:
; 1
C x
N
i
, , 2 , 1
;1
Đây là bài toán quy hoạch không - một Cần lưu ý rằng, với các ràng buộc
(5)-(6) lời giải tối ưu của bài toán có thể rơi vào trường hợp có nút quá giang dư
thừa Nghĩa là, có những nút quá giang không kết nối với bất kỳ một nút cơ sở
Trang 31x với chỉ số j nào đó Những nút quá giang dư thừa sẽ được
loại bỏ khỏi mạng Lời giải tối ưu của bài toán vẫn là một lời giải hợp lý
3.2.2.2 Bài toán kết nối đa điểm mở rộng
Trong phần 2.2.2.1 trên ta đã giả thiết băng thông của nút quá giang thứ j
là Cj đã cho trước và chưa quan tâm đến chi phí kết nối nút quá giang với trung
tâm Ta có thể hình dung rằng, chi phí kết nối nút quá giang thứ j với trung tâm
tỷ lệ thuận với băng thông của tuyến truyền dẫn này, nghĩa là tỷ lệ thuận với Cj
Ký hiệu βj là chi phí cho một đơn vị băng thông và yj là băng thông thực tế sẽ lắp
đặt cho tuyến kết nối từ nút quá giang j về trung tâm Ta thấy rằng, để có được
một đơn vị băng thông trên một tuyến nhất thiết phải mất chi phí xây dựng, nghĩa
là βj > 0 Như vậy tổng chi phí cho các kết nối từ các nút quá giang về trung tâm
sẽ là
j j N
Qua phân tích trên, nếu quan tâm đến chi phí kết nối các điểm quá giang
với trung tâm thì bài toán thiết kế tối ưu kết nối đa điểm cần mở rông như sau:
Cực tiểu hóa:
N
j ij ij N
j
M
i j
x
1 1
1) , (
xij
N j
, , 2 , 1
; 1
y x
N
i
, , 2 , 1
;1
Có hai trường hợp thoạt đầu có vẻ khiến ta bận tâm Trường hợp thứ nhất
khi yj = 0 và xij ≠ 0, nghĩa là, có ít nhất một nút cơ sở nối vào nút quá giang
nhưng nút quá giang đó không nối với trung tâm Rất may trường hợp này không
Trang 3232
thể xảy ra với một lời giải tối ưu nhờ thỏa mãn điều kiện (11) Trường hợp thứ
hai là trường hợp khi ta có yj ≠ 0 nhưng 0
x , nghĩa là, nút quá giang thứ j
nối với trung tâm nhưng không có một nút cơ sở nào nối với nó Cũng rất may
trường hợp này không thể xảy ra với lời giải tối ưu Thật vậy, giả sử 0
x và
yj khác 0, do βj > 0 nên khi đó giá trị hàm mục tiêu (9) ứng với yj ≠ 0 không phải
là giá trị nhỏ nhất Khi đó ta có thể cho yj = 0 mà không tổn hại đến điều kiện
(11)
3.3 Một số bài toán tối ưu trong quản lý và khai thác tài nguyên mạng
3.3.1 Định tuyến tối ưu
3.3.1.1 Đặt vấn đề
Định tuyến là một vấn đề quan trọng của điều hành và quản lý mạng Đã
có rất nhiều phương pháp định tuyến được đề xuất như định tuyến tự thích nghi
(Adaptive Routing), định tuyến động (Dynamic Routing), định tuyến tối ưu
(Optimal Routing) Vấn đề định tuyến thường gắn liền với kỹ thuật báo hiệu
thông qua các giao diện như UNI (User-Network Interface), PNNI (Private
Network-Network Interface) Về mặt hình thức, mạng chuyển mạch gói hoặc
mạng chuyển mạch ATM có thể biểu diễn dưới dạng một đồ thị liên thông, trong
đó mỗi nút mạng là một đỉnh của đồ thị và mỗi cung truyền dẫn giữa hai nút
mạng là một cặp cạnh hai chiều của đồ thị Định tuyến là việc xác định đường
truyền của một gói tin đi từ nút nguồn đến nút đích, tương đương với việc xác
định một đường đi từ một đỉnh đến một đỉnh khác của đồ thị Việc định tuyến tối
ưu được thực hiện dựa trên tiêu chuẩn chi phí nhỏ nhất theo một nghĩa nào đó
Chi phí ở đây có thể định nghĩa đơn giản là tổng chiều dài, tổng nghịch đảo dung
lượng, tổng hệ số tải, hoặc là tổng số tiền phải trả cho các cung tuyền dẫn mà gói
tin phải đi qua…
Bài toán định tuyến tối ưu có thể diễn tả như sau: Cho một mạng gồm các
nút được nối với nhau bởi các cung truyền dẫn Mỗi cung kết nối hai nút mạng có
thể có giá khác nhau đối với mỗi hướng truyền dẫn Tìm một tuyến liên thông
giữa hai nút mạng cho trước sao cho tổng giá của tuyến là nhỏ nhất Như vậy
Trang 33muốn hiểu các thuật toán định tuyến tối ưu, chúng ta phải hiểu một vài kiến thức
cơ sở của lý thuyết đồ thị như đã nêu trong chương 1
Ta sẽ xét một số thuật toán để minh họa cho định tuyến tối ưu ở chương
sau
3.3.2 Cực tiểu hóa thời gian trễ trung bình trên mạng
3.3.2.1 Đặt vấn đề
Trên mạng viễn thông, thời gian trễ của một tế bào, một gói tin hay một
cuộc gọi là một trong những chỉ số chất lượng quan trọng Hiển nhiên, nếu ta
muốn giảm thời gian đợi ở một nút mạng thì ta có thể thực hiện điều đó bằng
cách tăng năng lực phục vụ (chẳng hạn tăng băng thông đầu ra của nút mạng)
Khi tăng năng lực phục vụ ở một nút mạng, thời gian trễ trung bình trên mạng bắt
đầu giảm đến một giá trị nhất định nhưng sau đó lại tiếp tục tăng Điều này dễ
hiểu, bởi vì khi tăng năng lực phục vụ ở nút mạng thứ nhất sẽ làm giảm thời gian
đợi ở nút mạng này Chừng nào năng lực phục vụ ở nút mạng thứ hai vẫn dư đủ
thì không có vấn đề gì xảy ra Khi các nhu cầu phục vụ từ nút mạng thứ nhất
chuyển đến nút mạng thứ hai một cách nhanh hơn (do năng lực phục vụ ở nút
mạng thứ nhất tăng) trong khi năng lực phục vụ ở nút mạng thứ hai vẫn như cũ
thì hàng đợi ở nút mạng thứ hai sẽ lớn lên, làm cho thời gian đợi ở đây cũng lớn
theo Rốt cuộc ta vẫn không thể làm giảm thời gian trễ trung bình trên mạng Để
thoát khỏi tình trạng này ta phải tăng năng lực phục vụ ở nút mạng thứ hai… Quá
trình này dẫn tới việc phải tăng năng lực phục vụ của toàn mạng, điều không phải
lúc nào cũng thực hiện được và nói chung không kinh tế Câu hỏi được đặt ra là,
với một tổng năng lực phục vụ cố định, phải phân bố chúng tại các nút mạng như
thế nào để thời gian trễ trung bình trên mạng nhỏ nhất Chúng ta sẽ giải quyết
vấn đề này cho một mạng hàng đợi đóng
3.3.2.2 Mạng hàng đợi đóng
Xét ở góc độ dịch vụ, mạng viễn thông có thể coi như một mạng hàng đợi
Mỗi nút mạng (trạm chuyển mạch) được xem như một đơn vị phục vụ, có nhiệm
vụ đáp ứng yêu cầu (xử lý và chuyển tiếp) của các dữ liệu (tế bào, gói tin…) gọi
chung theo ngôn ngữ của lý thuyết hàng đợi là khách hàng Khi đến một nút
Trang 3434
mạng, các dữ liệu chưa được xử lý ngay mà được lưu vào bộ đệm dưới dạng một
cầu lớn hơn năng lực phục vụ và khách hàng phải xếp hàng đợi đến lượt được
phục vụ, sau khi được phục vụ ở một thực thể phục vụ này, yêu cầu sẽ đi tiếp đến
một thực thể phục vụ khác, chờ ở đó và đợi đến lượt được tiếp tục phục vụ
Mạng hàng đợi đóng là một mạng hàng đợi trong đó tổng số các khách
hàng trong mạng là không đổi Nghĩa là, tại thời điểm quan sát, không có khách
hàng nào đi vào mạng hay đi ra khỏi mạng Ký hiệu K là tổng số khách hàng
trong mạng, xi là số khách hàng của hàng đợi tại nút mạng thứ i và N là tổng số
nút mạng Đối với mạng hàng đợi đóng ta có
xi K
N i
x N
Ta dễ dàng hình dung ra rằng, số các trạng thái của mạng là rất lớn Để
đơn giản hóa cách trình bày tiếp theo, ta đưa ra các giả thiết sau đây
- Việc phục vụ trên mạng được thực hiện theo phương thức đến trước
phục vụ trước, không có chế độ ưu tiên chèn hàng
- Thời gian phục vụ tại nút mạng thứ i tuân theo phân bố mũ với giá trị
trung bình là µi
- Tốc độ phục vụ của các hàng là độc lập thống kê với nhau
Ở đây ta không đi sâu vào cách xây dựng công thức, mà đưa ra công thức tính
thời gian trễ trung bình của một gói tin trên mạng tại một nút mạng bằng tổng
thời gian xử lý trung bình và thời gian đợi trung bình
1 1
) ) 1 ( 1
(
1 ) (
K x E K
d E
i i i
i i
Trang 353.3.3 Thiết kế tối ưu mạng riêng ảo
3.3.3.1 Đặt vấn đề
Việc hình thành mạng riêng ảo trước hết do nhu cầu của những người sử
dụng nhiều, họ muốn có một mạng riêng nhưng nếu xây dựng một mạng riêng về
mặt vật lý thì sẽ rất tốn kém Một nguyên nhân khác dẫn tới việc hình thành
mạng riêng ảo là làm tăng năng lực quản lý mạng, bởi vì việc phân chia các nhu
cầu phục vụ khác nhau thành các lớp riêng biệt và phục vụ những nhu cầu này
qua một mạng riêng ảo thì sẽ thuận lợi hơn Thí dụ ta có thể chia các luồng nhạy
cảm cao với độ trễ và luồng nhạy cảm cao với tổn thất thành hai lớp logic khác
nhau và dành cho mỗi lớp một mạng riêng ảo Tuy nhiên tài nguyên của một
mạng vật lý là có hạn, dành nhiều tài nguyên cho mạng ảo này đồng nghĩa với
việc giảm bớt tài nguyên cho các mạng ảo khác Vấn đề đặt ra là, làm thế nào để
phân chia một cách tối ưu nguồn tài nguyên cho các mạng ảo
Để xây dựng mô hình mạng riêng ảo, ta giả thiết rằng nó bao gồm L cung
truyền dẫn logic được hình thành từ các phần tử và cung truyền dẫn của mạng
vật lý Ký hiệu xj là băng thông sẽ dành cho cung truyền dẫn logic thứ j, x =
(x1,x2,…,xL)T là véc tơ có các thành phần là băng thông của L cung truyền dẫn
logic, C = (C1,C2,…,CK)T là băng thông của K cung truyền dẫn vật lý, S là ma
trận gồm K hàng và L cột với các phần tử sij cho biết cung truyền dẫn logic j sử
dụng băng thông của cung truyền dẫn vật lý i Gọi một chuỗi các cung truyền dẫn
kế tiếp nhau là một tuyến Ký hiệu R là tập các tuyến cố định trên mạng ảo Giữa
hai nút mạng có thể có nhiều tuyến Để bài toán bớt phức tạp, ta chấp nhận các
giả thiết sau:
- Luồng vr chiếm dụng tuyến r R được sinh ra bởi quá trình poisson
Các quá trình trên các tuyến khác nhau độc lập thống kê với nhau
- Mỗi tuyến r R cần một băng thôngtương ứng là Bjr trên cung truyền
dẫn j Nếu tuyến không đi qua cung truyền dẫn j thì Bjr nhận giá trị 0
- Thời gian một cuộc gọi (một kết nối) chiếm dụng tuyến có phân bố đều
với kỳ vọng bằng 1 và độc lập thống kê với nhau giữa các tuyến