Professional Documents
Culture Documents
VD Finals
VD Finals
Bài Toán: Người ta muốn xây dựng một bệnh viện tại 1 trong 7 phường, xã (Vĩnh
Phú, Lái Thiêu, Bình Nhâm, Hưng Định, An Thạnh, Thuận Giao, An Sơn) của
thành phố Thuận An, Bình Dương để người dân thuận tiện đến khám chữa bệnh,
chọn phường, xã nào để đặt bệnh viện cho phù hợp (Tổng khoảng cách người dân
đến bệnh viện là ngắn nhất).
Để giải bài toán này ta xem mỗi phường, xã là 1 đỉnh của đồ thị, mỗi cạnh biểu thị
đường đi từ phường, xã này đến phường, xã kia, trên mỗi cạnh ta điền khoảng cách
đi lại của người dân từ phường, xã này đến phường, xã liền kề. Giả sử vị trí các
phường xã được mô hình hóa thành đồ thị sau:
An Sơn (F)
5 (km)
Lái Thiêu (B) Bình Nhâm (C) Hưng Định (D) An Thạnh (E)
Vĩnh Phú (A)
6 (km)
Thuận Giao (G)
1/ Giải bài toán theo lý thuyết
Áp dụng thuật toán Floyd để tìm đường đi ngắn nhất giữa các cặp đỉnh của đồ thị
trên.
Đỉnh A B C D E F G
A 0 4 ∞ ∞ ∞ ∞ ∞
B 4 0 3 ∞ ∞ ∞ ∞
C ∞ 3 0 3 ∞ ∞ ∞
D ∞ ∞ 3 0 2 5 6
E ∞ ∞ ∞ 2 0 ∞ ∞
F ∞ ∞ ∞ 5 ∞ 0 ∞
G ∞ ∞ ∞ 6 ∞ ∞ 0
Ma trận khoảng cách ngắn nhất giữa các đỉnh là:
Đỉnh A B C D E F G
A 0 4 7 10 12 15 16
B 4 0 3 6 8 11 12
C 7 3 0 3 5 8 9
D 10 6 3 0 2 5 6
E 12 8 5 2 0 7 8
F 15 11 8 5 7 0 11
G 16 12 9 6 8 11 0
Như vậy ta có thể kết luận độ lệch tâm của đỉnh C là nhỏ nhất, tâm đồ thị nằm gần
C nhất. Do đó nơi thích hợp nhất để xây bệnh viện trong 7 phường, xã để thuận
tiện cho việc người dân đi lại là Bình Nhâm.
*Tìm một chu trình Euler và Hamilton của đồ thị:
Điều kiện đầu tiên để có được chu trình Euler và cả Hamilton của đồ thị chính là
đồ thị phải liên thông (Có ít nhất một đường đi giữa mọi cặp đỉnh trong đồ thị.
Quan sát đồ thị ta có thể kết luận, đồ thị của bài toán trên không tồn tại chu trình
Euler hay Hamilton.
2/ Giải bài toán bằng MATLAB
Tìm giá trị nhỏ nhất trong một mảng hoặc trong các phần tử
min
của ma trận
Được sử dụng để tạo vòng lặp, cho phép thực hiện một khối
for
mã lệnh lặp đi lặp lại một số lần xác định
Được sử dụng để thực hiện điều kiện rẽ nhánh trong chương
trình. Nó cho phép bạn thực hiện một khối mã lệnh nếu một
If – else - end
điều kiện được đáp ứng và một khối mã lệnh khác nếu điều
kiện không được đáp ứng.
Từ Ma Trận Đường đi ngắn nhất ta tìm được độ lệch tâm của đỉnh C là bé nhất.
Qua đó cho thấy nơi thích hợp xây bệnh viện nhất là Bình Nhâm