Tải bản đầy đủ (.ppt) (16 trang)

Báo cáo khoa học 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (231.14 KB, 16 trang )

1
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

2
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

Kết luận
3
3
TÓ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.
4
4
1. 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…
5
5

2. 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.
6
6
3. 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

chi phí
” thực tế để đi qua cạnh này.
-Độ 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 ∞.
7
7
3.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.
)(),()(
11
zdzacad
kk
=+
−−
8
8

3.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) < ).
∞+
9
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.
ax ≠
∞=:)(xL
}.)(min{: TuuLm ∈=
+∞=m
+∞<m
Tv ∈
mvL =)(
}{: vTT −=
vz =
vz ≠
Tx ∈
),,()()( xvcvLxL +>
),()(:)( xvcvLxL +=
10

10
3.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
{ }
0 , max ≥≤ xbAxxc
T
Bài toán đối ngẫu của nó là:
{ }
0 , min ≥≥ ycyAyb
TT

= )(/)(),()( jciyjiAjlength
iy
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)( jlengthy
yj
=
α
Đặt:
ybyD
T
=)(
11
11
Tì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:

)(/)( yyD
α
)()(
1
1
qlengthy
k
yk

=

α
),(/)()(
1
qpApbqcff
kk
+=⇒

Ta được cấu trúc bài toán đối ngẫu:








+=

),(/)(

),(/)(
1)()(
1
qiAib
qpApb
iyiy
kk
ε
Tính biến đối ngẫu
)(/)(
0
ibiy
δ
=
12
12
Cho

:1≥k
)1()()1(
)(),(
),(
)(
)()(
)()()(
1
11
−−+−=
+=
=


−−
∑∑

kffkD
iyqiA
qpA
pb
iyib
iyibkD
kk
i
k
i
k
i
k
αε
ε

=

−−+=⇒
k
l
ll
lffDkD
1
1
)1()()0()(

αε
)(/)(min yyD
y
αβ
=
thì ta được
)1(/)1( −−≤ llD
αβ

=

−−+≤
k
l
ll
lDffmkD
1
1
)1()()(
β
ε
δ
13
13

=

−−+=⇒
k
l

ll
lxffmix
1
1
)1()()(
β
ε
δ
βεβε
βε
δ
β
ε
β
ε
β
ε
δ
/./.
/)(
1
1
1
1
1
.)0(.
)1(.
)1()(1
)1()()1()()(
1

kk
kk
ff
ff
kk
kk
k
l
ll
emxe
kxe
kxff
kxfflxffmkx
=≤
−≤







−+=
−−+−−+=⇒





=



Dùng BĐT:
βε
δ
/.
.)()()(
k
f
emkDkxkD ≤⇒≤
Vậy,
βε
δ
/.
.)(1
t
f
emtD ≤≤
14
14

3.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
15
15

4. Kết luận
Kết quả của bài báo đã đáp ứng được mục
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.

16
16
XIN CHÂN THÀNH CẢM ƠN
!

×