TIẾP CẬN BÀI TOÁN QUY HOẠCH TUYẾN TÍNH THÔNG QUA BÀI TOÁN TÌM ĐƯỜNG ĐI NGẮN NHẤT Trần Ngọc Việt NCS khóa 2010 - 2014 Đại học Đà Nẵng... Nội dung trình bày Tóm tắt Sơ lược về các ph
Trang 1TIẾP CẬN BÀI TOÁN QUY HOẠCH TUYẾN TÍNH THÔNG QUA BÀI TOÁN TÌM ĐƯỜNG
ĐI NGẮN NHẤT
Trần Ngọc Việt
NCS khóa 2010 - 2014
Đại học Đà Nẵng
Trang 2
Nội dung trình bày
Tóm tắt
Sơ lược về các phương pháp tối ưu
Xây dựng mô hình toán học cho các bài toán tối
ưu thực tế
Bài toán đường đi có trọng số bé nhất
+Bài toán
+Định lý
+Thuật toán Dijkstra tìm đường đi ngắn nhất
+Hướng tiếp cận bài toán quy hoạch tuyến tính thông
qua bài toán tìm đường đi ngắn nhất
Trang 3TÓM TẮT
Kết quả chính của bài báo là nghiên cứu mối
quan hệ giữa bài toán quy hoạch tuyến tính với bài toán đường đi ngắn nhất Dựa trên cơ sở vận dụng thuật toán Dijkstra cải tiến để tìm đường đi ngắn nhất của cặp đỉnh bất kì trên mạng đồ thị
và kết hợp lý thuyết đối ngẫu trong quy hoạch tuyến tính Bài báo phân tích, chứng minh các
kết quả đưa ra Chương trình tương ứng cài đặt bằng C và cho kết quả chính xác
Trang 41 Sơ lược về các phương pháp tối ưu
Trong thực tế sản xuất kinh doanh chúng ta thường phải giải
quyết các nhiệm vụ dẫn đến việc tìm giá trị max hoặc min của một hàm nào đó Chẳng hạn cần lập phương án sản xuất, thi công sao cho có thể đạt được một trong các yêu cầu sau:
+ Tổng giá trị sản lượng lớn nhất;
+ Tổng lợi nhuận lớn nhất;
+ Chi phí thấp nhất;
+ Cước phí rẻ nhất;
+ Thời gian thực hiện nhanh nhất;
+ Tổng vốn đầu tư nhỏ nhất…
Trang 52 Xây dựng mô hình toán học cho các bài toán tối ưu
thực tế
Việc mô hình hoá toán học cho một vấn đề thực tế có
thể chia làm bốn bước như sau:
Bước 1: Xây dựng mô hình định tính cho vấn đề đặt ra.
Bước 2: Xây dựng mô hình toán học cho vấn đề đang xét
Trong bước này việc quan trọng là phải xác định hàm
mục tiêu và các ràng buộc toán học.
Bước 3: Sử dụng công cụ toán học để khảo sát, giải quyết
các bài toán hình thành trong bước 2.
Bước 4: Kiểm định lại các kết quả thu được trong bước 3.
Trang 63 Bài toán đường đi có trọng số bé nhất
3.1 Bài toán Cho đồ thị G = (V, E, c) và hai đỉnh a, z Tìm đường đi ngắn nhất (nếu có) đi từ đỉnh a đến đỉnh z
trong đồ thị G Đồ thị G được gọi là đồ thị có trọng số
nếu trên mỗi cạnh ( i, j ) của đồ thị được gán một số
nguyên không âm c ( i,j )
-Nhãn c ( i,j ) trên cạnh ( i,j ) của đồ thị thường biểu diễn
-Độ dài đường đi ngắn nhất từ đi đỉnh a đến đỉnh z còn được gọi là khoảng cách từ đỉnh a đến đỉnh z trong đồ
thị Nếu không có đường đi từ a đến z thì đặt khoảng
cách bằng ∞.
Trang 73.2 Định lý Tại mỗi đỉnh z giá trị nhãn d ( z ) cuối cùng (nếu có) chính là độ dài của đường đi ngắn nhất từ đỉnh a đến đỉnh z.
Chứng minh.
Sau khi đã thực hiện xong thuật toán trên, nếu giá trị nhãn
d ( z ) xác định thì ta có đường đi từ đỉnh a tới đỉnh z
Ta khôi phục đường đi từ a đến z như sau:
d ( i ) + c ( i,z ) = d ( z )
Đỉnh i như thế chắc chắn phải tồn tại vì xảy ra đẳng thức ở lần gán hoặc giảm giá trị nhãn d ( j ) cuối cùng Cứ tiếp tục như thế cho đến khi gặp đỉnh a
Giả sử ta nhận được dãy các cạnh:
( a, a1 ) , ( a1, a2 ) , , ( ak-1, z )
Ta có:
d ( a ) + c ( a,a1 ) = d ( a1 )
d ( a1 ) + c ( a1,a2 ) = d ( a2 )
d ( a2 ) + c ( a2,a3 ) = d ( a3 )
Cộng lại vế theo vế, ta được:
c ( a,a1 ) + c ( a1,a2 ) + c ( a2,a3 )+ + c ( ak-1,z ) = d ( z )
Vậy nhãn d ( z ) là độ dài của đường đi ngắn nhất
) ( )
, (
) (a 1 c a 1 z d z
Trang 83.3.Thuật toán Dijkstra tìm đường đi ngắn nhất
Thuật giải tìm đường đi ngắn nhất từ
đỉnh nguồn a đến đỉnh đích z trong đồ thị có
trọng số, với c (i,j) > 0 và đỉnh x sẽ mang nhãn L(x) Kết thúc giải thuật L(z) chính là chiều dài ngắn nhất từ a đến z
+ Đầu vào Đồ thị G = (V, E, c) có trọng số
c (i,j) > 0 với mọi cạnh , đỉnh nguồn a và đỉnh đích z
+ Đầu ra L(z) chiều dài đường đi ngắn nhất
từ đỉnh nguồn a đến đỉnh đích z và đường đi
ngắn nhất (nếu L(z) < ).
Trang 9+ Phương pháp gồm các bước sau:
(1)Khởi tạo: Gán L(a):=0 Với mọi đỉnh gán
Đặt T:=V.
(2)Tính
Nếu , kết thúc và ta nói không tồn tại đường đi
từ a đến z.
Ngược lại, nếu , chọn :
và đặt Sang bước 3.
(3)Nếu , kết thúc, L(z) là chiều dài đường đi ngắn nhất từ a đến z.
Từ z lần ngược theo đỉnh được ghi nhớ ta có đường đi ngắn nhất.
Ngược lại, nếu , sang bước 4.
(4)Với mỗi kề (kề sau) v, nếu thì gán
và ghi nhớ đỉnh v cạnh x để xây dựng đường đi ngắn nhất.
Quay về bước 2.
a
x
: )
(x
L
}.
) ( min{
m
} {
v
z
v
z
T
) , ( )
( :
)
L
Trang 103.4 Hướng tiếp cận bài toán quy hoạch tuyếntính thông qua bài toán tìm đường đi ngắn nhất :
Xét bài toán quy hoạch tuyến tính dạng tổng quát:
Biến đối ngẫu y(i) của độ dài cạnh i
max c T x Ax b x
Bài toán đối ngẫu của nó là:
min b T y A T y c y
( , ) ( ) / ( ) )
( j A i j y i c j
Tìm 1 đường đi ngắn nhất tương ứng với tìm kiếm
1 cột có chiều dài tối thiểu:
) ( min
)
Trang 11Tìm biến đối ngẫu y: là nhỏ nhất
Cho q là cột có chiều dài nhỏ nhất từ ma trận A:
) ( / )
) ( )
(
1
y
k
y
k
) , ( / ) ( ) (
1 c q b p A p q f
f k k
Ta được cấu trúc bài toán đối ngẫu:
) , ( / ) (
) , ( / )
( 1
) ( )
q i A i
b
q p A p
b i
y i
Tính biến đối ngẫu y0(i) /b(i)
Trang 12Cho k 1 :
) 1 (
) (
) 1 (
) ( )
,
( )
, (
)
( )
( )
(
) ( )
( )
(
1
1 1
k f
f k
D
i y
q i
A q
p A
p
b i
y i b
i y i b k
D
k k
k
l f
f D
k
D
) 1 (
) (
) 0 ( )
) ( / ) ( min y D y y
Trang 13
k
l x f
f m
i
x
1 1
) 1 (
) (
)
(
/ /
.
/ ) (
1
1
1
)
0 (
) 1 (
) 1 (
) (
1
) 1 (
) (
) 1 (
) (
) (
1
k k
k k
f f
f f
k k
k k
k
e m x
e
k x e
k x f
f
k x f
f l
x f
f m
k x
. / )
( )
( )
(k x k D k m e f k
Trang 143.5.Thử nghiệm chương trình:
Kết quả chạy chương trình bài toán quy
hoạch tuyến tính thông qua bài toán tìm đường
đi ngắn nhất
Ví dụ: Cho mạng đồ thị gồm 4 đỉnh, 7 cạnh và các nút từ 1 đến 4
Trang 154 Kết luận
tiêu đề tài là “ Tiếp cận bài toán quy hoạch
tuyến tính thông qua tìm đường đi ngắn nhất ”
đã đặt ra, đó là nghiên cứu xây dựng mô hình toán học cho bài toán Quy hoạch, trong đó các ràng buộc về khả năng thông qua, mục tiêu tối
ưu, phát triển và áp dụng hiệu quả các thuật
toán tối ưu
Trang 16XIN CHÂN THÀNH CẢM ƠN
!