Tải bản đầy đủ (.doc) (18 trang)

Tiểu luận lý thuyết đối ngẫu

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 (184.98 KB, 18 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
TIỂU LUẬN
LÝ THUYẾT ĐỐI NGẪU
Học phần: Tối ưu hóa
Chuyên ngành: Khoa học máy tính
M! s#: 62.48.01.01
Khóa học: 2011 - 2015
NCS. Trần Ngọc Việt
Người hướng dẫn: PGS.TSKH. Trần Quốc Chiến
PGS.TS. Lê Mạnh Thạnh
ĐÀ NẴNG – 2012
1
MỤC LỤC
MỞ ĐẦU ……………………………………………………………… 2
Chương 1. PHÂN TÍCH TỔNG QUAN CÁC VẤN ĐỀ LIÊN QUAN
ĐẾN ĐỀ TÀI LUẬN ÁN
1. Tổng quan về các công trình trong nước liên quan đến đề tài
luận án …………………………………………………… 3
1.1. Công trình về thuật toán tìm đường đi ngắn nhất ……… 3
1.1.1. Thuật toán đường đi ngắn nhất xuất phát từ một đỉnh 5
1.1.2. Thuật toán đường đi ngắn nhất trong k cặp đỉnh
nguồn đích ……………………………………………… 6
1.2. Thuật toán Bellman – Ford …………………………… 8
1.3. Thuật toán Floyd-Warshall ……………………………. . 9
1.4. Công trình về thuật toán luồng cực đại …………………. 10
1.5. Bài toán luồng đa phương tiện cực đại …………………. 14
1.6. Bài toán luồng đa phương tiện cực đại đồng thời ………. 19
1.7. Bài toán luồng đa phương tiện cực đại đồng thời có ràng
buộc chi phí …………………………………………… 23
2. Tổng quan về các công trình đ! nghiên cứu trên thế giới …. 27


3. Một s# ứng dụng lớn trên thế giới ………………………. 28
4. Danh mục các công trình liên quan ………………………. 29
Chương 2. PHƯƠNG PHÁP NGHIÊN CỨU, KẾT QUẢ
DỰ KIẾN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI …………. 31
KẾT LUẬN ………………………………………………………… 33
TÀI LIỆU THAM KHẢO …………………………………………. 34
2
Chương 1.
LÝ THUYẾT ĐỐI NGẪU
1.1. Khái niệm về đối ngẫu
Đ#i ngẫu là một khái niệm cơ bản của việc giải bài toán quy hoạch tuyến
tính vì lý thuyết đ#i ngẫu dẫn đến một kết quả có tầm quan trọng về mặt lý thuyết
và cả mặt thực hành.
1.2. Phát biểu bài toán đối ngẫu
Tương ứng với mỗi bài toán Quy hoạch tuyến tính (còn gọi là bài toán g#c)
có một bài toán đ#i ngẫu. Bài toán đ#i ngẫu của bài toán QHTT cũng là một bài
toán QHTT. Như vậy, bài toán g#c và bài toán đ#i ngẫu của nó lập thành một cặp
bài toán QHTT, tính chất của bài toán này có thể được khảo sát thông qua bài
toán kia. Nhiều quy trình tính toán hay phân tích được hoàn thiện khi xem xét cặp
bài toán trên trong m#i liên quan chặt chẽ của chúng, mang lại lợi ích trong việc
giải quyết các vấn đề phát sinh từ thực tế. Với mục đích tìm hiểu bước đầu,
chúng ta xét bài toán g#c là bài toán quy hoạch tuyến tính dạng Max với các ràng
buộc chỉ có dấu

và các biến đều thoả m!n điều kiện không âm.
Bài toán gốc

nn
xcxcxcxf +++= )(max
2211


với các điều kiện ràng buộc











≤+++
≤+++
≤+++
0, ,,




21
2211
22222121
11212111
n
mnmnmm
nn
nn
xxx

bxaxaxa
bxaxaxa
bxaxaxa
Lúc đó bài toán QHTT sau đây được gọi là bài toán đ#i ngẫu của bài toán QHTT
trên.
3
Bài toán đối ngẫu

mm
ybybybyg +++= )(min
2211
với các điều kiện ràng buộc:











≥+++
≥+++
≥+++
0, ,,





21
2211
22222112
11221111
m
nmmnnn
mm
mm
yyy
cyayaya
cyayaya
cyayaya

Các biến
m
yyy , ,,
21
được gọi là các biến đ#i ngẫu. Trong trường hợp này, do
bài toán g#c có m ràng buộc, nên bài toán đ#i ngẫu có m biến đ#i ngẫu. Biến đ#i
ngẫu
i
y
tương ứng với ràng buộc thứ i của bài toán g#c.
Trong trường hợp quy hoạch tuyến tính tổng quát, những quy tắc sau đây được áp
dụng để xây dựng bài toán đ#i ngẫu :
- Hàm mục tiêu đ#i ngẫu :
. max ↔ min
- Biến đ#i ngẫu :
. mỗi ràng buộc ↔ một biến đ#i ngẫu

- Chi phí đ#i ngẫu và giới hạn ràng buộc :
. chi phí đ#i ngẫu ↔ giới hạn ràng buộc
- Ma trận ràng buộc đ#i ngẫu :
. ma trận chuyển vị
- Chiều của ràng buộc và dấu của biến :
. ràng buộc trong bài toán max có dấu ≤ thì biến đ#i ngẫu trong bài
toán min có dấu ≥ 0 ( trái chiều )
. ràng buộc trong bài toán max có dấu = thì biến đ#i ngẫu trong bài
toán min có dấu tùy ý.
4
. ràng buộc trong bài toán max có dấu ≥ thì biến đ#i ngẫu trong bài
toán min có dấu ≤ 0 ( trái chiều )
. biến của bài toán max có dấu ≥ 0 thì ràng buộc đ#i ngẫu trong bài
toán min có dấu ≥ ( cùng chiều )
. biến của bài toán max có dấu tùy ý thì ràng buộc đ#i ngẫu trong
bài toán min có dấu =
. biến của bài toán max có dấu ≤ 0 thì ràng buộc trong bài toán đ#i
ngẫu min có dấu ≤ ( cùng chiều )
1.3. Định lý độ lệch bù
Giả sử x* và y* là các phương án t#i ưu của cặp bài toán đ#i ngẫu. Lúc đó
(x*, y*) thoả m!n hệ:




=−
=−
0)(
0)(
yAcx

bAxy
TT
T
Chứng minh
Với
)()( ,
**
ygxfyyxx =⇒==
hay
.cxxcybby
TTTT
===
Mặt khác,
yAxAxy
TTT
=
0)()( )()( =−+−⇒−=−⇒ yAcxbAxycyAxbAxy
TTTTTT



=−
=−

0)(
0)(
yAcx
bAxy
TT
T

Chú ý rằng:
0.yAc 0, x0,bAx 0,y
TTT
≤−≥≤−≥
Vậy, ta có điều phải
chứng minh.
1.4. Cơ sở của phương pháp đơn hình đối ngẫu
Xét bài toán g#c:
xcxf
T
=)(min
với
}.0,:{ ≥≥∈=∈ xbAxRxDx
n
Dễ
dàng đưa bài toán này về dạng chính tắc:
xcxf
T
=)(min
với các ràng buộc
0 , ≥= xbxA
, trong đó
[ ]
TT
s
TT
s
T
T
xxxcccIAA ),( ),,( , ==−=

, với chỉ s#
dưới s dùng để ký hiệu các chỉ s# bù.
Xét một véc tơ
x
thỏa m!n
0 , ≥= xbxA
. Bằng cách phân r!
5
[ ]
T
T
B
T
N
xxxBNA ),( , ==
và cho
,0=
N
x
với
bBx
B
1−
=
. Các véc tơ cột
Bj
Jja ∈∀,
của B được gọi là:
- Cơ sở g#c chấp nhận nếu
0

1
≥=

bBx
B
, nhưng không nhất thiết

TT
B
cABc ≤
−1
- Cơ sở đ#i ngẫu chấp nhận nếu
TT
B
cABc

−1
, nhưng không nhất thiết

0
1
≥=

bBx
B
Kiểm tra lại các bước của thuật toán đơn hình đ#i ngẫu. Giả sử,
T
T
B
T

N
xxx ),( =
là một phương án đ#i ngẫu khả thi, tức là các véc tơ cột
Bj
Jja ∈∀,
, là cơ sở đ#i
ngẫu chấp nhận. Nên
.0
1
≥−=∆

j
T
B
jj
aBcc
Nếu
0
1
≥=

bBx
B
thì
x

phương án t#i ưu. Chú ý rằng, thuật toán đơn hình đ#i ngẫu được bắt đầu với ma
trận
IB −≡
, do đó có

.
1
IbbBx
B
−==

Nếu
0
1
≥=

bBx
B
chưa được thỏa m!n thì tồn tại
. ,0
Bq
Jqx ∈<
Lúc đó
ta cần thực hiện thủ tục xoay.
Trường hợp 1:
Jj ∈∀
(
J
là tập các chỉ s# của các véc tơ cột của ma trận
A
),
.0≥
qj
x
Điều này có nghĩa là tất cả các tọa độ thứ q của các véc tơ

JjaB
j
∈∀

,
1
đều không âm. Ta sẽ chỉ ra rằng bài toán g#c không có phương
án, hay bài toán đ#i ngẫu có hàm mục tiêu không bị chặn trên. Xét véc tơ:
.)(
1 T
T
B
Bcy

=
Dễ dàng chứng minh được đây đúng là phương án của bài toán
đ#i ngẫu. Thật vậy, ta có:

cyA
T

Đặt
T
q
U
là véc tơ hàng q trong ma trận
1−
B
và xét
q

Uyy
θ
−='
với
0>
θ
nào đó. Thế thì
=−=
j
T
q
T
j
T
aUyay )( )'(
θ
j
T
j
T
qj
T
ayaUay ≤−
θ
.
6
Ta có
jj
T
cay ≤

, nên
jj
T
cay ≤ )(
'
. Do đó,
cyA
T

'

hay
'
y
cũng là
phương án của bài toán đ#i ngẫu. Mặt khác, giá trị của hàm mục tiêu trong bài
toán đ#i ngẫu là
+∞→−=−=−==
q
T
q
T
T
q
T
T
xygbUbybUybyyg
θθθ
)()()()(
''


khi
.+∞→
θ

Để chứng minh bài toán g#c không có phương án có thể lập luận ngắn gọn hơn.
Thật vậy, ta có
0 <=


j
Jj
jqj
xxx
(do
)
11
bBxAB
−−
=
.
Nếu bài toán g#c có phương án với các tọa độ không âm thì đây là điều vô lý vì:
.,0, Jjxx
jqj
∈∀≥
Trường hợp 2:
.0: ≥∈∃
qj
xJj
Ta chọn cột xoay theo “qui tắc tỷ s# âm lớn

nhất”, tức là chọn chỉ s# s sao cho:












=

<
qj
j
qj
x
qs
s
xx
0
min

Tiếp tục thực hiện thủ tục xoay trong bài toán đơn hình đ#i ngẫu, ta sẽ chuyển
được sang phương án đ#i ngẫu khả thi mới. Trong phương án mới
s
x

sẽ là biến
cơ sở thay chỗ cho biến
q
x
.
Vì mỗi phương án đ#i ngẫu khả thi tìm được trong quá trình giải tương ứng với
một ma trận cơ sở B trong một phân r! nào đó A = [N B], nên s# phương án đ#i
ngẫu khả thi được xem xét là một s# hữu hạn. Do đó, sau một s# hữu hạn bước,
ta sẽ kết thúc việc giải bài toán QHTT bằng phương pháp đơn hình đ#i ngẫu.
1.5. Thuật toán đơn hình đối ngẫu
Thuật toán đơn hình đ#i ngẫu được xây dựng dựa trên tính chất của cặp bài
toán đ#i ngẫu.
7
Thuật toán của phương pháp đơn hình đ#i ngẫu được phát biểu cho bài toán
QHTT:

xcxf
T
=)(min
, với
}.0,:{ ≥=∈=∈ xbAxRxDx
n
Bước khởi tạo
-Tìm một phương án đ#i ngẫu khả thi
bBx
1−
=
tương ứng với ma trận cơ sở B
trong một phân r! nào đó
[ ]

BNA =
: điều kiện
jx
j
∀≥ ,0
có thể không được
thỏa m!n nhưng luôn có
.,0 j
j
∀≥∆
-Tính:
njfc
jjj
,1, =∀−=∆
trong đó n là s# biến của bài toán đang xét.
Các bước lặp
Bước 1: Kiểm tra điều kiện t#i ưu. Nếu điều kiện t#i ưu
njx
j
,1,0 =∀≥
đ!
được thỏa m!n thì in / lưu kết quả của bài toán và dừng.
Bước 2: Nếu tồn tại một chỉ s#
j
sao cho
0<
j
x
thì tiến hành thủ tục xoay
gồm nhiều bước tương tự theo thủ tục xoay của phương pháp đơn hình với các

khác biệt sau:
- Trước tiên chọn hàng xoay là hàng với biến
j
x
có giá trị âm (thông
thường với trị tuyệt đ#i lớn nhất, hoặc chọn ngẫu nhiên).
- Sau đó chọn cột xoay theo quy tắc tỷ s# âm lớn nhất (các tỷ s# được tạo
ra bằng cách lấy hàng
j

chia cho hàng
j
x
và chỉ xét các tỷ s# có mẫu s# âm).
Nếu không tìm được cột xoay thì kết luận bài toán không có phương án khả thi,
in / lưu kết quả của bài toán và chuyển sang bước kết thúc.
- Nếu tìm được cột xoay thì thực hiện các bước tiếp theo của thủ tục
xoay.
-Tính lại các
nj
j
,1, =∀∆
và quay lại bước 1.
-Việc thực hiện giải bài toán g#c bằng phương pháp đơn hình đ#i ngẫu
8
thực chất là việc giải bài toán đ#i ngẫu bằng phương pháp đơn hình. Điều này
cũng giải thích lí do tại sao khi thực hiện thủ tục xoay của phương pháp đơn hình
đ#i ngẫu cần trước hết xác định hàng xoay rồi sau đó mới xác định cột xoay.
Ví dụ: Xét cặp bài toán đ#i ngẫu
Bài toán gốc


21
23)(min xxxf +=
với các ràng buộc









≥+
≥+
≥+
0,
42
3
42
21
21
21
21
xx
xx
xx
xx
Nếu giải trực tiếp bài toán trên bằng phương pháp đơn hình, thì cần đưa bài toán
về dạng chính tắc với 8 biến (thêm ba biến bù “thừa” và ba biến giả). Một

phương pháp khác như đ! biết là, trước hết tìm cách giải bài toán đ#i ngẫu
(chỉ với 5 biến), sau đó sẽ tìm được phương án t#i ưu của bài toán g#c.
Bài toán đối ngẫu

321
434)(max yyyyg ++=
với các ràng buộc







≤++
≤++
0,,
22
32
321
321
321
yyy
yyy
yyy
Viết bài toán đ#i ngẫu dưới dạng chính tắc:

54321
00434)(max yyyyyyg ++++=
với các ràng buộc








=+++
=+++
0,,,,
22
32
54321
5321
4321
yyyyy
yyyy
yyyy
9
Cách 1. Giải bài toán đ#i ngẫu bằng phương pháp đơn hình. Kết quả được cho
trong bảng. Theo tính chất của cặp bài toán đ#i ngẫu, ta có phương án t#i ưu của
bài toán g#c là
2 ,1
*
2
*
1
== xx
với
.7

min
=f
Hệ số Biến cơ sở P/án
4
1
=c
3
2
=c
4
3
=c
0
4
=c
0
5
=c
y
1
y
2
y
3
y
4
y
5
0
0

y
4
y
5
3
2
1
2
1
1
[2]
1
1
0
0
1
0
0
4
0
3
0
4
0
0
0
0
4
0
y

3
y
5
3/2
1/2
½
[3/2]
½
1/2
1
0
½
-1/2
0
1
6
2
2
2
1
4
0
2
-2
0
0
4
4
y
3

y
1
4/3
1/3
0
1
1/3
[1/3]
1
0
2/3
-1/3
-1/3
2/3
20/3
4
0
8/3
1/3
4
0
4/3
-4/3
4/3
-4/3
4
3
y
3
y

2
1
1
-1
3
0
1
1
0
1
-1
-1
2
7
5
-1
3
0
4
0
1
-1
2
-2
Cách 2. Giải bài toán g#c bằng phương pháp đơn hình đ#i ngẫu.
10
Trước hết đưa Bài toán gốc về dạng sau:

54321
00023)(min xxxxxxf ++++=

với các ràng buộc









−=+−−
−=+−−
−=+−−
0,,,,
42
3
42
54321
521
421
321
xxxxx
xxx
xxx
xxx
Nội dung tóm tắt của phương pháp đơn hình đối ngẫu: Trong phương pháp đơn
hình, dịch chuyển dần từ phương án khả thi, tức là
j
x
≥ 0, ∀j nhưng điều kiện Δ

j
≥ 0, ∀j chưa được thoả m!n, tới phương án t#i ưu, tức là x
j
≥ 0 và Δ
j
≥ 0, ∀j.
Trong phương pháp đơn hình đ#i ngẫu, ta dịch chuyển dần từ phương án không
khả thi (nhưng đối ngẫu khả thi), tức là điều kiện
j
x
≥ 0, ∀j không được thoả
m!n nhưng luôn có Δ
j
≥ 0, ∀j, tới phương án t#i ưu, tức là có x
j
≥ 0 và
Δ
j
≥ 0, ∀j. Quy trình giải bài toán g#c dạng chuẩn tắc trên đây bằng phương
pháp đơn hình đ#i ngẫu được mô tả trong bảng như sau:
Hệ số Biến cơ sở P/án 3 2 0 0 0
x
1
x
2
x
3
x
4
x

5
11
0
0
0
x
3
x
4
x
5
-4
-3
-4
-1
-1
[-2]
-2
-1
-1
1
0
0
0
1
0
0
0
1
0

0
3
0
2
0
0
0
0
0
0
0
0
3
x
3
x
4
x
1
-2
-1
2
0
0
1
[-3/2]
-1/2
1/2
1
0

0
0
1
0
-1/2
-1/2
-1/2
6
3
0
3/2
1/2
0
0
0
0
-3/2
3/2
2
0
3
x
2
x
4
x
1
4/3
-1/3
4/3

0
0
1
1
0
0
-2/3
[-1/3]
1/3
0
1
0
1/3
-1/3
-2/3
20/3
4
0
2
0
-1/3
1/3
0
0
-4/3
4/3
2
0
3
x

2
x
3
x
1
2
1
1
0
0
1
1
0
0
0
1
0
-2
-3
1
1
1
-1
7
3
0
2
0
0
0

-1
1
-1
1
Chương 2.
ỨNG DỤNG BÀI TOÁN ĐỐI NGẪU
2.1. Ứng dụng bài toán đối ngẫu cho bài toán phân luồng giao thông
12
tuyến tính
+ Cho một đồ thị có hướng G = (V, E) với khả năng thông qua của các cung là
.:
*
REc →
Trong V có
k
đỉnh nguồn
k
sss , ,,
21
tương ứng với
k
đỉnh đích
k
ttt , ,,
21
và các đỉnh trung gian khác tạo thành một mạng có hướng. Ở đây mỗi
cặp đỉnh nguồn đích
),(
jj
ts

được gắn với một phương tiện
j
. Giả thiết rằng
phương tiện
j
xuất phát từ đỉnh nguồn
j
s
định trước, thì sẽ kết thúc tại đỉnh đích
j
t
tương ứng, với
., ,1 kj =
Bài toán luồng đa phương tiện cực đại là tìm một
luồng đa phương tiện trong mạng G đ! cho, sao cho tổng các luồng của tất cả
k
phương tiện đạt cực đại.
+Cơ sở lý thuyết thuật toán: Gọi
j
P
là tập hợp các đường đi từ
j
s
đến
j
t
trong
mạng G,
., ,1 kj =
Gọi

k
PPPP ∪∪∪=
21
, là hợp của
., ,,
21 k
PPP
Với
e
P
là tập hợp các đường trong P đi qua
., Eee ∈∀
Mỗi đường
Pp ∈
, gắn một
biến
)(px
của luồng gửi dọc theo đường
.p
Yêu cầu bài toán được phát biểu dạng bài toán quy hoạch tuyến tính như sau:









∈∀≤

=




0
),()(
)(max
x
Eeecpx
px
Pp
Pp
λ
(P)
Giải bài toán (P) ta xây dựng mô hình tuyến tính đ#i ngẫu với (P) gọi là bài toán
(D) như sau:
Ee ∈∀
, gắn cho
e
một hàm độ dài
)(el
. Định nghĩa:










∈∀≥
==




0
,1)(
)().()(min
l
Ppel
eleclD
pe
Ee
β
(D)
13
Gọi
)(ldist
j
là độ dài ngắn nhất tính theo
l
trong các đường thuộc
j
P
,
., ,1 kj =∀
Đặt


{ }
kjldistl
j
, ,1 )( min)( ==
α
Vậy
)(l
α
là độ dài ngắn nhất trong mọi đường giữa các cặp nguồn đích. Xét bài
toán








*
:
)(
)(
min REl
l
lD
α

)(
α

D

Ta có



∈∀≥
pe
Ppel .,1)('

Khi đó, ta được
'l
là phương án chấp nhận của (D) và
.
)(
)(
)'(
l
lD
lD
α
=
Từ đó suy ra
)min()min(
α
DD ≤
. Ngược lại, nếu
l
là phương án chấp nhận của
(D) thì

)(
)(
)(
lD
l
lD

α
, từ đó suy ra
)min()min(
α
DD ≥
.
Cu#i cùng ta được
)min()min(
α
DD =
. Tiếp theo, nếu
l
là nghiệm t#i ưu của
bài toán
)(
α
D
thì
Eelelel ∈∀= ),(/)()('
α
là nghiệm t#i ưu của bài toán (D).
+Thuật toán: Thuật toán được thực hiện bởi một s# bước lặp. Gọi
1−i

l
là hàm độ
dài tại điểm bắt đầu bước lặp thứ
i

1−i
f
là giá trị tổng luồng đ! đạt được sau
các bước lặp
.1, ,1 −i
Ta có
)(
1−i
l
α
là độ dài ngắn nhất trong các đường n#i giữa các cặp nguồn đích,
tính theo
1−i
l
. Gọi
p
là đường đi có độ dài
)(
1−i
l
α

c
là khả năng thông qua
cực tiểu trên

p
. Tại bước lặp
i
, ta chuyển
c
đơn vị phương tiện dọc theo
p
.
Theo đó
.
1
cff
ii
+=

Tiếp theo ta đặt
,)),(/.1).(()(
1
peeccelel
ii
∈∀+=

ε
trong đó
0≥
ε
là hằng s# sẽ chọn sau.
14
Ban đầu,
Ee ∈∀

, đặt
δ
=)(
0
el
, trong đó
δ
là hằng s# cũng được chọn sau.
Thuật toán dừng sau
t
bước, với
t
là s# nhỏ nhất mà
.1)( ≥
t
l
α
2.2. Ứng dụng bài toán đối ngẫu cho bài toán luồng đa phương tiện cực đại
đồng thời
Cho một đồ thị có hướng G = (V, E) với khả năng thông qua của các cung

.:
*
REc →
Trong V có
k
đỉnh nguồn
k
sss , ,,
21

tương ứng với
k
đỉnh
đích
k
ttt , ,,
21
và các đỉnh trung gian khác tạo thành một mạng có hướng. Ở
đây mỗi cặp đỉnh nguồn đích
),(
jj
ts
được gắn với một phương tiện
j
. Giả thiết
rằng phương tiện
j
xuất phát từ đỉnh nguồn
j
s
định trước, thì sẽ kết thúc tại
đỉnh đích
j
t
tương ứng, với
., ,1 kj =
Bài toán luồng đa phương tiện cực đại
đồng thời là mỗi phương tiện
j
có một yêu cầu vận chuyển

)( jd
gắn với nó.
Nhiệm vụ của bài toán là tìm s#
λ
lớn nhất sao cho có một luồng đa phương tiện
chuyển
)(. jd
λ
đơn vị phương tiện
j
qua luồng,
., ,1 kj =∀
+Cách biểu diễn đường đi, ta có bài toán theo mô hình quy hoạch tuyến tính như
sau:










≥≥
≤≤∀≥
∈∀≤


℘∈

℘∈
0,0
1),(.)(
),()(
max
λ
λ
λ
x
kjjdpx
Eeecpx
j
e
p
p
(P)

Để giải (P) ta xây dựng mô hình tuyến tính đ#i ngẫu với (P), gọi là (D), như sau:
15
,Ee ∈∀
gắn cho
e
một hàm độ dài
)(el
, với mỗi phương tiện
kj , ,1=
, gán
một biến
).( jz
Định nghĩa:












℘∈∀≤≤∀≥
=



=


0,
1)().(
,1),()(
)().()(min
1
zl
jzjd
pkjjzel
eleclD
k
j

pe
j
Ee
l
(D)
Định nghĩa
)( jz
(còn gọi là
)(ldist
j
) là độ dài ngắn nhất trong các đường thuộc
j
P
tính theo
.1, kjl ≤≤∀
Đặt


=
j
j
ldistjdl )().()(
α
Bài toán đ#i ngẫu (D) tương đương với tìm hàm
*
: REl →
sao cho hàm
)(/)( llD
α
đạt cực tiểu.

Đặt

.
)(
)(
min
l
lD
l
α
β
=
Thuật toán: Thuật toán được thực hiện qua một s# giai đoạn, mỗi giai đoạn gồm
k
vòng lặp (
k
là s# phương tiện). Ở vòng lặp thứ
j
của giai đoạn
i
ta chuyển
)( jd
đơn vị phương tiện thứ
j
qua luồng. Việc vận chuyển này được thực hiện
trong một s# bước.
Gọi
1
,
−s

ji
l
là hàm độ dài ở đầu bước thứ
s
, gọi
s
ji
p
,
là đường ngắn nhất
giữa
j
s

j
t
lúc này, tức là
s
ji
p
,
có độ dài là
)(
1
,
−s
jij
ldist
.
16

Trong bước này ta vận chuyển
{ }
1
,,
,min

=
s
ji
s
ji
dcf
đơn vị phương tiện
thứ
j
dọc theo
s
ji
p
,
. Trong đó
c
là khả năng thông qua nhỏ nhất trên
s
ji
p
,
,
1
,

−s
ji
d
là lượng phương tiện thứ
j
còn lại cần chuyển qua (s#
)( jd
đơn vị cần
chuyển qua trong bước này). Sau đó ta đặt

s
ji
s
ji
s
ji
fdd
,
1
,,
−=


s
ji
s
ji
s
ji
s

ji
s
ji
s
ji
s
ji
peelelpe
ec
f
elel
,
1
,,,
,
1
,,
),()( & ,
)(
.1).()( ∉∀=∈∀








+=
−−

ε
Tiếp theo ta có
∑ ∑∑


−−

+==
Ee
pe
s
ji
s
ji
s
ji
Ee
s
ji
s
ji
s
ji
felecelecellD
,
,
1
,
1
,,,

.).()().()().()(
ε

)( )()( )(
,,
1
,
1
,,
1
,
s
jij
s
ji
s
ji
s
jij
s
ji
s
ji
ldistflDldistflD
εε
+≤+=
−−−
Vòng lặp thứ
j
của giai đoạn

i
kết thúc sau
),( jiq
bước, khi mà
.0
),(
,
=
jiq
ji
d
Giai đoạn
i
kết thúc, khi vòng lặp thứ
k
của giai đoạn
i
kết thúc.
Hàm độ dài
l
được tính như sau:
- Hàm độ dài ban đầu:
.),(/
0
0,1
Eeecl ∈∀=
δ
- Hàm độ dài ở đầu bước lặp đầu tiên của mỗi giai đoạn
1>i
bằng hàm độ

dài ở cu#i giai đoạn trước:
),1(
,1
0
0,
kiq
ki
i
ll


=
.
- Hàm độ dài ở đầu mỗi vòng lặp tiếp theo có giá trị bằng hàm độ dài ở cu#i
vòng lặp trước:
)1,(
1,
0
,


=
jiq
ji
ji
ll
.
Ta có

)( )()(

),(
,
),(
,
1),(
,
),(
,
jiq
ji
j
jiq
ji
jiq
ji
jiq
ji
ldistflDlD
ε
+≤

17

)().(.)(
),(
,
0
,
jiq
ji

jji
ldistjdlD
ε
+≤≤
Ký hiệu:
)(),(, iiDl
i
α
là giá trị các hàm ở cu#i mỗi giai đoạn. Từ quan hệ
trên suy ra

)().(.)()()(
0
, ikkii
ldistkdlDlDiD
ε
+≤=

)().(.)(
)1,(
1,
ik
kiq
ki
ldistkdlD
ε
+=


)()).1()().(.()(

1
0
1,
≤−++≤
−− ikikki
ldistkdldistkdlD
ε
)(.)1()().(.)(
1
0
0,
iiDldistjdlD
ij
k
j
i
αεε
+−=+≤

=
tiiiDiD , ,1),(.)1()( =∀+−≤⇒
αε
Thuật toán dừng sau giai đoạn
t
, khi mà
.1)( ≥tD
18

×