lời mở đầu
Cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật, các bài toán tối u xuất
hiện ngày càng nhiều và tính phức tạp của chúng ngày càng lớn. Phạm vi và khả
năng ứng dụng của các bài toán tối u cũng ngày càng đa dạng và phong phú.
Lớp bài toán tối u quan trọng đợc nghiên cứu đầu tiên và đợc ứng dụng nhiều
nhất là bài toán quy hoạch tuyến tính (linear programming). Đó là mô hình toán học
của một lớp rộng lớn các bài toán ứng dụng trong kinh tế và kỹ thuật. Do đó cấu trúc
của lớp bài toán quy hoạch tuyến tính có nhiều tính chất rất tốt về mặt toán học, ngời
ta đã tìm đợc các thuật giải rất hữu hiệu cho bài toán này. Năm 1947 nhà toán học
Mỹ G.B. Dantzig đã nghiên cứu và đề xuất ra thuật toán đơn hình (simplex method)
để giải bài toán quy hoạch tuyến tính. Thuật toán đơn hình đợc phát triển mạnh mẽ
trong những năm sau đó và đợc xem là một phơng pháp kinh điển để giải các bài
toán quy hoạch tuyến tính. Đây là một phơng pháp đợc sử dụng có thể nói là rộng rãi
nhất. Có ba lý do chính:
Một là: Rất nhiều vấn đề thực tế, trong nhiều lĩnh vực khác nhau có thể đa về
bài toán quy hoạch tuyến tính.
Hai là: Trong nhiều phơng pháp giải các bài toán phi tuyến, bài toán tuyến tính
xuất hiện nh là một bài toán phụ cần phải giải trong nhiều bớc lặp.
Ba là: Phơng pháp đơn hình là phơng pháp hiệu quả để giải bài toán quy hoạch
tuyến tính.
Ngày nay, bằng thuật toán đơn hình và các dạng cải biên của chúng, ngời ta có
thể giải rất nhanh các bài toán QHTT cỡ lớn.
Lớp các bài toán vận tải là trờng hợp đặc biệt của quy hoạch tuyến tính, bởi vậy
có thể dùng các phơng pháp của quy hoạch tuyến tính để giải. Tuy nhiên, do tính
chất đặc thù riêng của nó, ngời ta xây dựng các phơng pháp giải riêng.
Thông thờng khi nói đến bài toán vận tải ta thờng liên hệ ngay đến bài toán vận
tải hai chỉ số, bởi đây là bài toán vận tải kinh điển có những phơng pháp giải hay.
Bên cạnh đó, ngời ta còn xét một số các bài toán vận tải mở rộng nh bài toán vận tải
Trang: 1
). Các x
i
, i =1, ..., n gọi là các thành phần hay toạ độ của vector. Ví
dụ x=(4,5,10,20).
Hai vectơ x và y gọi là bằng nhau x=y, nếu x
i
=y
i
, i =1, ..., n.
Xét hai phép toán trên các vector:
Phép cộng: x+y=(x
1
+y
1
, x
2
+y
2
, ..., x
n
+y
n
)
Phép nhân: x=(x
1
, x
2
, ..., x
n
), R
i
i
i
xx
1
)(
với ít nhất một
i
0 thì x gọi là tổ hợp tuyến tính của các
x
(i)
, i =1, ..., m. Hơn nữa nếu
i
> 0, i =1, ..., m và
=
=
m
i
i
1
1
thì x gọi là tổ hợp lồi
của các x
(i)
, i =1, ..., m.
Trong R
n
n
), ký hiệu, <x,y>, là một số bằng.
Tích vô hớng là một dạng song tuyến tính, đối xứng, không âm, tức là:
1. <x,y> = <y, x>. x,y R
n
2. <x
(1)
+ x
(2)
, y >=< x
(1)
, y >+< x
(2)
, y>. x
(1)
, x
(2)
, y R
n
3. <x,y> = <x,y>. x,y R
n
4. <x,x> 0, x R
n
dấu bằng xẩy ra khi và chỉ khi x= 0.
Độ dài của vector x=(x
1
, x
2
, ..., x
n
)0()(
=
xx
k
k
=
=><
n
i
ii
yxyx
1
,
k
( ) ( )
=
=><==
n
i
ii
yxyxyxyxyx
1
2
,,
)(
lim
Một tập chứa mọi điểm biên của nó là tập đóng.
* Tập C đợc gọi là tập Compact nếu từ mọi dãy vô hạn {x
(k)
} thuộc C đều có thể
trích ra một dãy con {x
(ki)
} hội tụ tới phần tử thuộc C. Tập C là Compact khi và chỉ
khi C đóng và giới nội. Tập Compact M của tập đóng C cũng đóng trong C. Tập con
đóng M của tập Compact cũng Compact.
Hàm f(x) liên tục trên tập Compact C thì sẽ đạt cực trị trên tập ấy.
1.1.3 Tập lồi
Cho hai điểm a, b R
n
. Ta gọi đờng thẳng qua a, b là tập điểm có dạng
xR
n
: x = a + (1-)b, R.
Đoạn thẳng nối hai điểm a, b là tập lồi các điểm có dạng
xR
n
:x = x + (1-)y, 0 1
* Một tập MR
n
đợc gọi là một đa tạp affine nếu với hai điểm bất kỳ
x, y M thì toàn bộ đờng thẳng đi qua hai điểm đó cũng thuộc M.
Tức là x + (1-)y M : x,y M, R.
* Một siêu phẳng trong không gian R
n
, R
* Tập hợp các điểm x=(x
1
, x
2
, ..., x
n
) R
n
thoản mãn bất phơng trình tuyến tính
a
1
x
1
+ a
2
x
2
+ ... + a
n
x
n
đợc gọi là nửa không gian đóng.
* Nửa không gian đợc cho bởi a
1
x
1
+ a
2
Trang: 6
.
...
....................
...
...
2211
22222121
11212111
+++
+++
+++
nnnnnn
nn
nn
bxaxaxa
bxaxaxa
bxaxaxa
* Hàm f(x) xác định trên C đạt cực tiểu tuyệt đối tại x* C nếu
f(x
*
) f(x): xC
Dx
xcxf
j
n
j
j
=
=
min
1
( )
1.1max
1
=
j
n
j
j
xc
( ) ( )
( )
3.1,...,1,0
2.1...,,1,,,
1
njx
mibxa
xcxf
j
n
j
j
=
=
max
1
Dxxcxc
hayDxxcxcf
n
j
jj
n
j
jj
j
n
j
j
n
j
jj
=
jj
,...,1,0
,...,1,
max
1
1
=
=
=
=
njx
mibxa
xc
j
i
n
j
jij
j
n
j
j
,...,1,0
,...1,
max
1
1
n
j
ijij
bxa
1
i
n
j
jij
bxa
=
=
1
i
n
j
jiji
n
j
jij
bxabxa
==
11
,
0,0,
=
++
1
ij
n
j
ij
bxa
=
=
=+
=
+
2,1,0
,...,1,
max
2111
2211
jx
mibxaxa
D
xcxc
j
iii
Từ ý nghĩa hình học ta biết rằng mỗi bất phơng trình tuyến tính a
i1
ờng mức cắt tập D, hãy tìm đờng mức với gía trị lớn nhất.
Nếu dịch chuyển song song các đờng mức theo hớng vector pháp tuyến của
chúng thì giá trị mức sẽ tăng, nếu dịch chuyển theo hớng ngợc lại thì giá
trị mức sẽ giảm. Vì vậy để giải bài toán đặt ra, ta có thể tiến hành nh sau.
Bắt đầu từ một đờng mức cắt D, ta dịch chuyển song song các đờng mức theo h-
ớng vector pháp tuyến (c
1
,c
2
) cho đến khi việc dịch chuyển tiếp theo làm cho đờng
mức không còn cắt D nữa thì dừng. Điểm của D (có thể nhiều điểm) nằm trên đờng
mức cuối cùng này sẽ là lời giải tối u cần tìm, còn giá trị của hàm mục tiêu tại đó
chính là giá trị tối u của bài toán.
Ví dụ: Xét bài toán:
f(x)= 4x
1
+5x
2
max
Xét đờng mức: 4x
1
+5x
2
=10. Đờng mức này đi qua hai điểm (0,2) và (2.5,0). Ta
có x*=(3,2), f
max
=22
Trang: 10
0,0
21
,ccn
=
y
n
*x
x
và x* là một đỉnh của D. Qua phơng pháp hình học ta thấy rằng:
- Nếu quy hoạch tuyến tính có phơng án tối u thì có ít nhất một đỉnh là tối u. Sở
dĩ nói ít nhất vì có trờng hợp đờng mức ở vị trí giới hạn trùng với một cạnh của D thì
tất cả các điểm trên cạnh này là phơng án tối u, trong đó có hai đỉnh.
- Nếu miền ràng buộc D giới nội và khác rỗng thì chắc chắn có phơng án tối u.
- Nếu miền ràng buộc không giới nội nhng hàm mục tiêu bị chặn trên ở trên
miền ràng buộc thì cũng chắc chắn có phơng án tối u.
1.2.2 Một số tính chất chung
Mệnh đề 1: Tập hợp tất cả các phơng án của một bài toán QHTT là tập lồi.
Tập lồi D các phơng án của một bài toán QHTT xác định bởi toàn bộ các ràng
buộc (1.2) và (1.3). Tập D có thể là rỗng, hoặc là một đa diện lồi hoặc là một tập lồi
đa diện không giới nội.
Nếu D là một đa diện lồi thì bài toán có phơng án, hơn nữa giá trị tối u của hàm
mục tiêu trên đa diện lồi là hữu hạn và việc tìm phơng án tối u đa đến việc chọn các
điểm của đa diện D có số đỉnh (điểm cực biên hay phơng án cực biên) hữu hạn.
Mệnh đề 2: Hàm mục tiêu của bài toán QHTT sẽ đạt Max tại điểm cực biên của
tập D. Nếu hàm mục tiêu không chỉ nhận Max tại một điểm cực biên của tập lồi D
mà tại nhiều điểm cực biên thì nó sẽ đạt giá trị cực đại tại những điểm là tổ hợp lồi
của các điểm đó.
Ký hiệu A
j
, j=1, ..., n là các vector cột của ma trận A.
n
A
n
=b
trong đó x
j
>
0, j=1,...k thì điểm
Trang: 11
x=(x
1
,x
2
,...,x
k
,0,...,0)
là điểm cực biên của tập lồi đa diện D.
Mệnh đề 4: Nếu x =(x
1
,x
2
,...,x
n
) là điểm cực biên của tập lồi đa diện D thì các
vector A
j
trong biểu diễn (1.4) ứng với các thành phần x
j
> 0 lập thành hệ độc lập
- Giai đoạn 2: Kiểm tra điều kiện tối u đối phơng án tìm đợc ở giai đoạn 1. Nếu
điểu kiện tối u đợc thoả mãn thì phơng án đó là tối u. Nếu không, ta chuyển sang ph-
ơng án cực biên mới sao cho cải tiến giá trị hàm mục tiêu. Tiếp theo lại kiểm tra điều
kiện tối u đối với phơng án mới.
Ngời ta thực hiện một dãy các thủ tục nh vậy cho đến khi nhận đợc phơng án tối
u, hoặc đến tình huống bài toán không có phơng án tối u.
Trang: 12
( )
5.1,...,1,0,1
1
njxx
j
n
j
j
==
=
ii) Cơ sở của thuật toán.
Xét bài toán QHTT dới dạng chính tắc:
< c, x > max (1.6)
Ax
= b (1.7)
x 0 (1.8)
Trong đó A là ma trận kích thớc mxn và giả sử rằng hạng của ma trận A là m
(điều này không làm mất tính tổng quát). x là một vector.
Giả sử x là một phơng án cực biên nào đó. Ta ký hiệu:
J* = {j| x
jk
đợc xác định duy nhất bởi việc giải hệ phơng trình:
Bài toán QHTT đợc gọi là không thoái hoá nếu tất cả các phơng án cực biên của
nó đều không thoái hoá.
Giả sử bài toán không thoái hoá và ta đã tìm đợc một phơng án cực biên x=(x
1
,
x
2
,...x
m
, 0,...0) và cơ sở của nó A
1,
, A
2
,...A
m
.
Trang: 13
( )
11.1,1, miaaz
ikij
Jj
jk
==
( )
10.1
0, kJ (1.18)
Ngời ta có thể chứng minh rằng nếu bài toán không thoái hoá thì (1.16) cũng
là điều kiện cần của tối u.
Định lý 1.2: Nếu tồn tại một chỉ số k sao cho
k
< 0 thì ngời ta có thể tìm đợc ít
nhất một phơng án x mà đối với nó Z > Z
0
.
Công thức tìm phơng án x:
Nhân (1.10) với
nào đó ta có:
Lấy (1.12) trừ đi (1.19) từng vế ta có:
Trang: 14
( )
12.1,....,1,0,
1
mjxbAx
j
m
j
jj
=>=
=
( )
13.1
1
0
k
=
( )
17.1,0 Jjcc
jjj
==
)19.1(
1
kj
m
j
jk
AAz
=
=
( )
)20.1(
1
bAAzx
kj
m
j
jkj
=+
=
o
z
rk
=0.
Nh vậy ta nhận đợc phơng án mới x với cơ sở A
j
, jJ\ {r}{k}=J.
Nếu z
jk
0, j J thì tất cả các thành phần x
j
-
z
jk
trong (1.22) sẽ không âm
>0, nghĩa là ta luôn có phơng án
>0, nhng từ (1.21) ta dễ thấy giá trị hàm mục
tiêu tiến tới + khi
tiến tới +.
Trong thực hành Dantzig đã chứng minh rằng các bớc lặp sẽ giảm đáng kể nếu
ta thay vector A
s
thoả mãn:
và khi đó vector A
r
đợc xác định theo công thức:
>=
{ }
( )
24.10min
<=
kk
k
s
( )
25.1,0min
rs
r
js
js
j
s
z
x
Jjz
z
x
=
29.3,.....,1,0:' mjzxx
jkjj
==
)21.1('
0 k
ZZ
=
)22.1(,.....,1,0:' mjzxx
jkjj
==
Trên cơ sở lý thuyết đã nhận đợc, ta chuyển sang xét thuật toán đơn hình.
Thuật toán đơn hình
Giả sử ta đã đa QHTT về dạng chính tắc:
cx=Z max
Ax=b
x0
Bớc 1: Xây dựng bảng đơn hình xuất phát. Tìm một phơng án cực biên xuất
phát x và cơ sở của nó A
j
, jJ.
Xác định các số z
jk
bởi hệ phơng trình:
Đối với mỗi k J , tính các ớc lợng:
Còn với jJ thì
kks
kj
Jj
jk
AAz
=
kj
Jj
jkk
ccz
=
=
Jj
jj
xcZ
0
Bớc 4: Tìm vector loại khỏi cơ sở. Xác định
Và đa vector A
r
ra khỏi cơ sở.
Bớc 5: Chuyển sang phơng án cực biên mới và cơ sở mới. Cơ sở mới là {A
j
,j
r
js
rs
j
s
z
x
z
z
x
=
>=
0min
{ }
Jk
kks
>=
,0max
jjss
rs
rk
riJj
jjkk
A
z
z
A
z
z
zAzA
z
z
AzA
+
=
jsrsrkjk
jk
zz
zzzz
z
( )
29.1''
'
kj
Jj
jkk
ccz
=
{ }
0,,
=
xbAxxc
Sau khi có z
jk
ta tính:
Để dễ tính toán, trong mỗi bớc lặp ta thiết lập bảng đơn hình (xem bảng 1.1).
Nếu tất cả các số trong dòng cuối (trừ hàm mục tiêu f) đều không âm, nghĩa là
k
0 k, khi đó x là phơng án tối u.
Bảng 1.1
c
s
... A
n
c
1
.
..
c
j
.
..
c
r
.
..
c
m
A
1
...
A
j
...
A
r
.
..
A
m
x
..
1 .
..
0
0 .
..
0 .
..
0 .
..
1
z
1k
.
..
z
jk
.
..
z
rk
.
..
z
mk
z
1s
...
z
js
thì bài toán không có phơng án tối u. Nếu trái lại thì chọn cột sao cho
Rồi chọn ( trong số các dòng cắt cột s ở những số dơng ) dòng r sao cho:
Cột s gọi là cột quay. Vector A
r
đợc đa vào cơ sở. Dòng r gọi là dòng quay.
Vector A
r
bị đa ra khỏi cơ sở.
Phần tử z
rs
> 0 là giao của cột quay và dòng quay gọi là phần tử chính của phép
quay. Các phần tử z
js
, j r gọi là phần tử quay.
Các công thức (1.26), (1.29) gọi là các công thức đổi cơ sở. Bảng đơn hình mới
suy đợc từ bảng cũ bằng cách thay c
r
, A
r
trong dòng quay bằng c
s
, A
s
. Sau đó thực
hiện các phép biến đổi dới đây:
Trang: 18
{ }
0min
<=
kks
ứng đợc số 0 ở mọi vị trí còn lại của cột quay.
Dòng mới = dòng cũ tơng ứng - dòng chính x phần tử quay
Lu ý rằng sau phép quay thì ở vị trí
s
ta thu đợc số 0 vì lúc này A
s
trở thành
vector đơn vị cơ sở, nghĩa là ta đã làm mất số âm nhỏ nhất ở dòng cuối của bảng cũ.
Toàn thể phép biến đổi trên gọi là phép quay xung quanh phần tử chính z
rs
. Sau
khi thực hiện phép quay ta có một phơng án mới và một cơ sở mới. Nếu cha đạt yêu
cầ nghĩa là còn
k
<1 thì ta lại tiếp tục quá trình.
Chú ý: Trong bảng đơn hình ở bảng 1.1, không giảm tổng quát ta coi các vector
cơ sở đợc đánh số A
1
, A
2
, ..., A
m
, nghĩa là J = {1,2, ..., m}.
Trang: 19
Chơng 2. Bài toán vận tải và bài toán vận tải mở rộng
2.1 Bài toán vận tải hai chỉ số
2.1.1 Phát biểu bài toán và tính chất
Có m địa điểm A
1
B
j
là điểm thu j, j=1, ..., n
Hàng có thể chở từ một điểm phát bất kỳ (i) đến một điểm thu bất kỳ (j)
Ký hiệu:
c
ij
- chi phí chuyên chở một đơn vị hàng từ điểm phát (i) đến điểm thu (j).
x
ij
- lợng hàng chuyên chở từ (i) đến (j).
Bài toán đặt ra là: xác định những đại lợng x
ij
cho mọi con đờng (i,j) sao cho
tổng chi phí chuyên chở là nhỏ nhất với giả thiết là:
Tức là lợng hàng phát ra bằng đúng lợng hàng yêu cầu ở các điểm thu (điều
kiện cân bằng thu phát).
Dạng toán học của BTVT là:
Trang: 20
= =
m
i
n
j
ijij
xc
1 1
)1.2(min
i
jij
n
j
iij
Ibaba
njmix
njbx
miax
1 1
1
1
)(;0,
)4.2(,1;,1,0
)3.2(,1,
)2.2(,1,
Hệ rằng buộc (2.2), (2.3) có m + n phơng trình, m x n ẩn, tuy nhiên do (I) nên
bất kỳ phơng trình nào trong m + n phơng trình cũng là hệ quả của các phơng trình
còn lại và có thể bỏ đi. Thật vậy, hệ rằng buộc có thể viết dạng (2.5).
Giả sử ta cộng các phơng trình từ thứ (m+1) tới thứ (m+n) rồi trừ đi tổng các
phơng trình từ thứ (2) tới thứ (m) thì ta đợc phơng trình thứ (1). Do đó số phơng trình
cực đại của hệ (2.2), (2.3) không quá m + n-1.
Ký hiệu ma trận của hệ (2.5) là A.
X = (x
11
, x
12
, ..., x
ij,
là cột của ma trận A ứng với biến x
ij
. Vector này có 2 thành phần bằng
1 tại dòng thứ i và dòng thứ m+j còn các thành phần khác bằng 0.
Trang: 21
)5.2(
)(
.....
)2(
)1(...
)(...
.....
)2(...
)1(...
21
222212
112111
21
222221
111211
=
><
)8.2(0
)7.2(
)6.2(,min
X
PAX
XC
Định nghĩa 1: Vector X thỏa mãn (2.7), (2.8) đợc gọi là một phơng án của
BTVT.
Một phơng án đạt cực tiểu (2.6) gọi là phơng án tối u.
Một phơng án X gọi là phơng án cơ sở nếu vector cột P
ij
của ma trận A tơng ứng
với các x
ij
> 0 là độc lập tuyến tính.
Định lý 2.1: BTVT luôn có phơng án tối u.
Chứng minh:
1) Trớc hết ta chứng minh BTVT luôn có phơng án.
2) Sau đó chứng minh rằng miền rằng buộc giới nội.
a) Đặt :
Ta thấy:
Lập thành một phơng án, vì rằng x
ij
0
), (i
2
,j
2
), (i
2
,j
3
), ..., (i
s
,j
s+1
) (2.9)
hoặc: (i
1
,j
1
), (i
2
,j
1
), (i
2
,j
2
), (i
3
,j
2
), ..., (i
mia
S
ba
S
ba
x
j
m
i
ij
m
i
ji
m
i
ij
i
n
j
ji
n
j
ji
n
j
ij
,1,
,1,
1
11
- Nếu một tập hợp con thực sự của G lập thành chu trình thì ta có một chu trình
con của G.
Định lý 2.2: Hệ thống vector P
ij
của BTVT là độc lập tuyến tính khi và chỉ khi
các ô tơng ứng với các vector của hệ thống không tạo thành chu trình.
Chứng minh: Cần. Ký hiệu P
ij
= { P
ij
(i,j) G}. Giả sử P
ij
là hệ độc lập tuyến
tính, ta phải chứng minh G không lập thành chu trình.
Bằng phản chứng, nếu có một chu trình tạo nên bởi các ô tơng ứng với một số
vector của hệ P
ij
thì nó có dạng:
(i
1
,j
1
), (i
1
,j
2
), (i
2
,j
2
là độc lập
tuyến tính.
Bằng phản chứng, giả sử hệ P
ij
là phụ thuộc tuyến tính. Mỗi vector P
ij
có dạng:
(
1
, ...,
i
, ...,
m
,
m+1
, ...,
m+j
, ...,
m+n
)
với thành phần
i
=
m+j
= 1 còn các tọa độ khác bằng 0.
Nếu hệ P
ij
phụ thuộc tuyến tính, tức là có một tổ hợp tuyến tính của các vector
P
ij
+
và
tập các ô lẻ K
-
(xen kẽ nhau). Không giảm tổng quát có thể coi:
(nếu không ta quy ớc lại các ô chẵn và lẻ trên K)
Ký hiệu: = min{x
ij
(i,j) K
-
} (2.12)
Ta chuyển X X nh sau:
Rõ ràng X vẫn còn là phơng án của BTVT vì rằng:
Vì mỗi hàng hay cột chỉ chứa 2 ô sử dụng nên và (-) triệt tiêu nhau.
Hàm mục tiêu không tăng vì
Trang: 24
)11.2(
_
),(),(
+
K
c
K
c
ji
ij
ji
==
==
=
=
m
i
jij
n
j
iij
ij
njbx
miax
jix
1
'
1
'
x
ij
> 0 bây giờ x
ij
= 0. Ta loại ô đó ra khỏi G do đó khỏi K và phá đợc chu trình K.
Nếu còn chu trình nào khác ta lại phá bằng cách tơng tự. Vì vậy ta luôn có thể giả
thiết rằng phơng án đang xét có các ô sử dụng không lập thành chu trình.
Hệ quả: Mọi phơng án X đều có thể chuyển về phơng án cức biên X không xấu
hơn X.
2.1.2 Cách tìm phơng án xuất phát
Phơng pháp góc tây bắc.
Lập bảng T, ta ghi số liệu vào bảng đó, luôn xuất phát từ ô ở góc trên, bên trái.
b
j
a
i
b
1
... b
j
... b
n
a
1
x
ịj
...
a
i
1
- x
11
. Tiếp tục quá trình,
bắt đầu từ ô (1,2).
Một lần phân phối nh vậy ta đợc một tải lợng x
ij
> 0 và bỏ bớt đi đợc một hàng
(hoặc cột) của bảng T. Bảng mới cuối cùng chỉ còn lại một ô (m, n) và do cân bằng
thu phát nên cực tiể đạt cả ở hàng, cả ở cột sau khi phân phối lợng còn lại. Do đó ta
xóa cả cột n và hàng m đi. Tổng số hàng và cột là m + n mỗi lần phân phối bỏ đi đợc
1 hàng (hoặc cột), lần cuối cùng bỏ cả cột n và hàng m, nên phơng án thu đợc có
không quá m + n - 1 ô sử dụng, không lập thành chu trình, tức là có phơng án cực
biên.
Phơng pháp cớc phí tối thiểu trong toàn bảng.
Trang: 25