Bài viết trình bày mô hình bài toán tối ưu chi phí vận tải trong điều kiện thông tin về dữ liệu không đầy đủ. Mô hình toán học được thiết lập có mối liên hệ với khái niệm ma trận hiệu chỉnh nửa đầy đủ và đầy đủ.
Trang 1VỀ MỘT LỚP BÀI TOÁN TỐI ƯU NGẪU NHIÊN
CHI PHÍ VẬN TẢI
TRẦN XUÂN SINH (*) DƯƠNG XUÂN GIÁP (**) NGUYỄN THỊ THANH HIỀN (***)
TÓM TẮT
Trong bài báo này, chúng tôi trình bày mô hình bài toán tối ưu chi phí vận tải trong điều kiện thông tin về dữ liệu không đầy đủ Mô hình toán học được thiết lập có mối liên hệ với khái niệm ma trận hiệu chỉnh nửa đầy đủ và đầy đủ Trên cơ sở phân tích mô hình, chúng tôi nghiên cứu cấu trúc của ma trận hiệu chỉnh đầy đủ, ma trận hiệu chỉnh nửa đầy
đủ, tìm mối quan hệ giữa chúng, đư a ra điều kiện cần và đủ để một ma trận hiệu chỉnh nửa đầy đủ là ma trận hiệu chỉnh đầy đủ.
Từ khoá: bài toán tối ưu ngẫu nhiên, mô hình, ma trận
ABSTRACT
In this paper, we present the problem model of optimal transportation cost in terms of information on incomplete data The mathematical model is established to be associated with the concept of complete recourse matrix and semicomplete recourse matrix Based on analysing the model, we study the structure of the complete recourse and semicomplete recourse matrix, find the relationships between them, provide necessary and sufficient conditions in order a semicomplete recourse matrix to be a complete recourse matrix.
Keywords: Random optimal problem, Model, Matrix
Trong lĩnh vực tối ưu hiện nay, nhiều
nhà Toán học quan tâm nghiên cứu bài
toán điều khiển tối ưu, chủ yếu là bài toán
tối ưu ngẫu nhiên Đặc biệt, nhóm nghiên
cứu của Chen mấy năm gần đây tập trung
nghiên cứu và công bố nhiều bài bá o về
các kết quả thu được cải tiến các phương
pháp xấp xỉ giải bài toán tối ưu ngẫu nhiên
2 giai đoạn và chứng tỏ tầm quan trọng cả
trong lí thuyết và thực tiễn tính toán, ứng
dụng Trong [1], Chen và các cộng sự chỉ
ra rằng những quy tắc quyết định tuyến
tính có thể dẫn tới những trường hợp
(*)
PGS.TS, Trường Đại học Vinh
(**) (***) ThS, Trường Đại học Vinh
không khả thi cho bài toán tối ưu ngẫu nhiên với sự hiệu chỉnh đầy đủ
Ma trận W cỡ m×n được gọi là ma trận hiệu chỉnh đầy đủ, nếu với mỗi ma trận t cỡ
m×1 đều tồn tại ma trận w = [w1 w2 w n]T
cỡ n×1 sao cho w j ≥ 0, ∀j = 1, ., n và
Ww = t [1].
Ma trận W cỡ m×n được gọi là ma trận hiệu chỉnh nửa đầy đủ, nếu tồn tại ma trận
r = [r1r2 r n]T cỡ n×1 sao cho r j > 0,∀j =
1, , n và Wr = 0.
Trong nhiều bài toán thực tế thường dẫn tới bài toán tối ưu ngẫu nhiên hiệu chỉnh đầy đủ hoặc nửa đầy đủ Trong bài báo này, chúng tôi muốn trình bày mô hình bài toán vận tải, với thông tin về dữ liệu có
Trang 2tính ngẫu nhiên, dẫn tới bài toán quy hoạch
ngẫu nhiên có đặc tính như đã nêu
Chen và các cộng sự chỉ ra rằng ma
trận hiệu chỉnh đầy đủ là ma trận hiệu
chỉnh nửa đầy đủ [1] Tuy nhiên, điều
ngược lại nói chung không đúng Câu hỏi
chúng tôi đặt ra là: Với điều kiện nào thì
ma trận hiệu chỉnh nửa đầy đủ là ma trận
hiệu chỉnh đầy đủ? Thiết lập điều kiện cần
và đủ để ma trận hiệu chỉnh nửa đầy đủ là
ma trận hiệu chỉnh đầy đủ Trả lời triệt để
câu hỏi này chính là nội dung thứ hai của
bài báo
Kết quả này sẽ đem tới hai ý nghĩa
quan trọng, bởi vì:
Một là định nghĩa ma trận hiệu chỉnh
đầy đủ khó để kiểm tra, cũng như khó để
thiết lập so với định nghĩa ma trận hiệu
chỉnh nửa đầy đủ
Hai là, bất kỳ bài toán quy hoạch ngẫu
nhiên với hiệu chỉnh đầy đủ là chấp nhận
được đối với những quy tắc quyết định
tuyến tính lệch Tuy nhiên, quy tắc quyết
định tuyến tính lệch vẫn có thể chấp nhận
được nếu thiếu sự hiệu chỉnh đầy đủ - đó là
các biến hiệu chỉnh nửa đầy đủ nhưng
không hiệu chỉnh đầy đủ, câu hỏi chúng ta
đặt ra ở đây là điều đó xảy ra khi nào? Từ
đó, chúng tôi chỉ ra được điều kiện cần và
đủ để một ma trận hiệu chỉnh nửa đầy đủ
nhưng không là ma trận hiệu chỉnh đầy đủ
2 BÀI TOÁN TỐI ƯU CHI PHÍ
2.1 Bài toán
Có n kho chứa hàng với sức chứa mỗi
kho là b i , i = 1, ., n Số lượng hàng cần
xác định ở kho thứ i là x i , (x i ≥ 0, i = 1, ,
n) Kinh phí bảo quản lưu giữ một đơn vị
hàng ở kho thứ i là s i , i = 1, , n Cước phí
vận tải một đơn vị hàng từ kho thứ i đến
kho thứ j là c ij , i = 1, , n, j = 1, , n Cần
vận chuyển để điều chỉnh lượng hàng ở các
kho sao cho tổng chi phí lưu kho và vận
chuyển là bé nhất Biết rằng giữa kho i và kho j luôn có cung đường vận tải và c ij =
c ji , với mọi i = 1, , n, j = 1, , n.
2.2 Mô hình toán học
Kí hiệu z ij là số đơn vị hàng được
chuyển từ i tới j, (z ij ≥ 0) Khi đó một
phương án vận tải z = (z ij) được thực hiện
thì số hàng t i , i = 1, , n, có ở kho thứ i tại một thời điểm sẽ là:
t i = x i- ∑
=
n
j 1
z ij+ ∑
=
n
k 1
z ki , i = 1, , n.
Chi phí vận chuyển và lưu trữ được tính theo công thức
∑
=
n
i 1
s i x i+ ∑
=
n
i 1 ∑
=
n
j 1
c ij z ij→minx
Vậy ta có bài toán tìm x = (x i) và
z = (z ij), sao cho
min{∑
=
n
i 1
s i x i+ ∑
=
n
i 1∑
=
n
j 1
c ij z ij} (1) với điều kiện
t i+ ∑
=
n
j 1
z ij-∑
=
n
k 1
z ki = x i , i = 1, , n, (2)
x i ≤ b i , i = 1, , n, (3)
x i ≥ 0, z ij ≥ 0, i = 1, , n, j = 1, , n. (5) Trong thực tế, bài toán đã nêu với biến
x i , i = 1, ., n, có sự tham gia của yếu tố ngẫu nhiên w Khi đó biến z = (z ij) và biến
t = (t i) sẽ phụ thuộc vào yếu tố ngẫu nhiên
đã nêu Để giải quyết bài toán này, ta cần
tới sự điều chỉnh trong lớp các bài toán quy hoạch ngẫu nhiên hai giai đoạn [3]
3 CÁC KẾT QUẢ CHÍNH
3.1 Về bài toán tối ưu chi phí
Như đã nêu trong mô hình (1)-(5), số
Trang 3lượng hàng có ở kho i là x icó thể phụ thuộc
đại lượng ngẫu nhiên w Ta kí hiệu giá trị
thay đổi, do tác động của w là x’ i (w) Do
vậy, số lượng hàng có ở kho thứ i là t i (w),
khi thực hiện phương án vận tải z sẽ là
t i (w) = x i – x’ i (w) - ∑
=
n
j 1
z ij (w) + ∑
=
n
k 1
z ki (w).
Thực hiện ở giai đoạn hai, điều chỉnh
kế hoạch với sự tham gia của yếu tố ngẫu
nhiên, ta cần giải bài toán quy hoạch
min{ (x, z) = ∑
=
n
i 1
s i x i+∑
=
n
i 1 ∑
=
n
j 1
c ij E(z ij (w))} với điều kiện
t i (w) = x i – x’ i (w) - ∑
=
n
j 1
z ij (w) + ∑
=
n
k 1
z ki (w),
i = 1, , n,
x i ≤ b i , i = 1, , n,
t i ≥ 0, i = 1, , n,
x i ≥ 0, x’ i (w), z ij (w) ≥ 0, i = 1, , n, j = 1,
, n.
trong đó E(w) là kỳ vọng của đại lượng
ngẫu nhiên w.
Bài toán nêu trên có thể viết gọn lại
như sau
min{ (x, z) = s T x + c T E(z(w))} (6)
với điều kiện
x – t(w) + Az(w) = x’(w) , (7)
x ≥ 0, t(w), x’(w), z(w) ≥ 0, (9)
trong đó x = (x i ), t(w) = (t i (w)), x’(w) =
(x’ i (w)), b = (b i ) và s T , c Ttương ứng là ma
trận chuyển vị của ma trận s = (s i ), c = (c ij),
A là ma trận gồm các phần tử tương ứng là
các hệ số của z=(z ij)
Định lí 3.1.1 Ma trận A của bài toán
(6) - (9) có n hàng, n(n-1) cột, nhưng có hạng n-1 Đặc biệt, tổng các vectơ cột là vectơ 0.
Chứng minh Viết tường minh bài toán (6) - (9) ta thấy ma trận A gồm các phần tử
1, -1 và 0, trong đó trên mỗi hàng gồm n-1
số 1 và -1, còn lại là số 0 Cũng như vậy, trên mỗi cột chỉ gồm một số 1 và một số
-1, còn lại là số 0 Khi đó, nếu cộng n hàng
lại với nhau thì được hàng toàn số 0, tứ c là
n hàng của A phụ thuộc tuyến tính Nhưng
có thể thấy tồn tại định thức cấp n-1 khác
0 Vậy điều đó chứng tỏ hạng của ma trận
A bằng n-1 Mặt khác, với bản đồ giao
thông là đồ thị đối xứng đầy đủ G(U, V),
tập đỉnh U có n đỉnh sẽ có
2
) 1 (n−
n
cạnh
Mỗi cạnh (i, j) có 2 ẩn z ij và z ji, vì vậy số ẩn
phải là n(n-1) Từ đó cho thấy số cột là n(n-1).
Tương tự, tổng các vectơ cột sẽ là vectơ 0
Định nghĩa Bài toán (6) - (9) có ma
trận A là ma trận hiệu chỉnh nửa đầy đủ thì
ta nói đó là bài toán nửa đầy đủ Tương tự
nếu ma trận A là ma trận hiệu chỉnh đầy đủ thì ta nói đó là bài toán đầy đủ.
Định lí 3.1.2 Bài toán (6) - (9) thuộc
lớp bài toán hiệu chỉnh nửa đầy đủ.
Chứng minh Trước hết, như chứng
minh Định lí 3.1.1, ta nhận thấy rằng ma
trận A gồm các phần tử 1, -1 và 0, trong đó
trên mỗi hàng, số phần tử 1 bằng số phần
tử -1 Khi đó ta chọn vectơ u = (u i ), với u i
= 1, cho mọi i = 1, 2, ., n(n-1), thì thoả
mãn điều kiện bài toán hiệu chỉnh nửa
đầy đủ
Bài toán (6) - (9), theo như Định lí 3.1.2, nó là hiệu chỉnh nửa đầy đủ Tuy nhiên, có thể kiểm tra thấy rằng bài toán đó
Trang 4chưa là hiệu chỉnh đầy đủ Chúng ta hãy
xét riêng một mô hình thường gặp trong
bài toán vận tải đã nêu như sau: Ta giả thiết
rằng số lượng hàng đang có ở kho i là b i
i , tức là x i= ∑n=
j 1 z ij Khi đó ta có bài toán
min{f(x, z) = ∑
=
n
i 1
s i x i+∑
=
n
i 1 ∑
=
n
j 1
c ij E(z ij (w))}
với điều kiện t i (w) = b i + x i – x’ i (w)
-∑
∈V j i
j( , )
z ji (w), i = 1, , n,
x i ≤ b i , i = 1, , n,
x i ≥ 0, t i (w), z ij (w) ≥ 0, i = 1, , n, j = 1, , n.
Kí hiệu D = (I A * ), trong đó I là ma
trận đơn vị, tư ơng ứng với hệ số của x i , i =
1, , n, A * là ma trận hệ số của z ijtrong bài
toán nêu trên (chú ý rằng ma trận A * trong
trường hợp này chỉ khác với ma trận A
trong Định lí 3.1.1, bởi xóa đi các phần tử
1, còn lại các phần tử -1 và 0) Như vậy,
ma trận D có n hàng và 2n cột.
Lúc này bài toán nêu trên có thể viết lại
min{f(x, z) = s T x + c T E(z(w))}
với điều kiện t(w) – D(x, z(w)) = b,
x ≤ b,
x ≥ 0, t(w), z(w) ≥ 0.
Bài toán vừa nêu có thể viết khái quát
và z∈ℝ2n
sao cho min {f(x, z) = s T x + E(d T t(w)) + E(g T E(z(w))} (10)
với
điều
kiện
H(w)x +Tt(w) + D[x, z(w)] = h(w), (12)
x ≥ 0, t(w), z(w) ≥ 0. (13)
trong đó B, T là các ma trận hệ số, D và các
kí hiệu khác như đã nêu trên, H(w) và h(w)
là các hàm affine đối với w , nghĩa là i
H(w) = H0+ ∑
=
k
i 1
H i w i ; h(w) = h0+ ∑
=
k
i 1
h i w i
Định lí 3.1.3 Bài toán (10)-(13) với ma
trận D như đã nêu là hiệu chỉnh đầy đủ Chứng minh Như đã thấy D(I, A *), nên
với vectơ t = (t i) bất kỳ thuộc ℝn
, phương
trình Du = t, ứng với mỗi t icó dạng
u i – v j = t i, (*)
trong đó v j = ∑j∈J u j , với J là tập hợp gồm n-1 chỉ số tương ứng các phần tử -1 trong D.
Rõ ràng phương trình (*) luôn tồn tại
nghiệm u i , v j ≥ 0 với mọi t i Từ v j ta có thể
mãn Du = t, với mọi cách chọn vectơ t.
Đó là điều cần chứng minh
Từ đây trở đi, ta xét bài toán vận tải dạng tổng quát (10) - (13)
Ta giả thiết thêm rằng t(w), z(w) cũng
là hàm affine đối với w i, nghĩa là
t(w) = t0+ ∑
=
k
i 1
t i w i ; z(w) = z0+ ∑
=
k
i 1
z i w i
(Chú ý rằng trong mô hình (10) -(13),
sự biểu diễn dạng affine của U(w), h(w) và t(w) là rất thực tế) Khi đó ta xấp xỉ bài
toán (10)-(13) bởi bài toán sau đây min{F(x, z) = s T x + d T t0+ g T z0} (14) với
điều
kiện
Bx = b, (15)
H i x +Tt i + Dz i = h i , i = 0, 1, , k (16)
x, t(w), z(w) ≥ 0. (17)
Định lí 3.1.4 Mỗi phương án của bài
toán (14)-(17) cũng là phương án của bài toán (10)-(13) Đồng thời minf ≤ minF.
Trang 5Chứng minh Xem [2].
3.2 Về mối quan hệ giữa tính đầy đủ
và nửa đầy đủ
Như đã nêu trong mục 1, bây giờ
chúng ta bàn tới mối quan hệ giữa hai khái
niệm "hiệu chỉnh đầy đủ" và "hiệu chỉnh
nửa đầy đủ"
Trong mục 1, chúng ta đã có xét: "ma
trận hiệu chỉnh đầy đủ là ma trận hiệu
chỉnh nửa đầy đủ Để kiểm tra ma trận W
có phải là ma trận hiệu chỉnh đầy đủ hay
không, hoặc thiết lập ma tr ận hiệu chỉnh
đầy đủ là rất khó Những kết quả chúng tôi
thu được sau đây đã giải quyết những khó
khăn này
là ma trận hiệu chỉnh đầy đủ thì m < n và
ma trận W có hạng bằng m.
Chứng minh Gọi W1, W2, , W nlà các
vectơ cột của ma trận W, đây chính là các
Trước
tiên, ta chứng minh m < n Thật vậy, giả sử
ngược lại, ta xét 3 trường hợp:
Trường hợp 1: m > n Khi đó,
rank{W1, W2, ., W n} < m Theo đại số
tuyến tính, tồn tại vectơ cột t∈ℝm
để
rank{W1, W2, , W n , t}= rank{W1, W2, ,
W n}+ 1,
nghĩa là t không thuộc không gian vectơ
〈W1, W2, ., W n〉 sinh bởi hệ {W1, W2, .,
W n} Từ đó suy ra không tồn tại vectơ cột w
để Ww = t Nói riêng, W không là ma trận
hiệu chỉnh đầy đủ, ta gặp một mâu thuẫn
Trường hợp 2: m = n và rank(W) < m.
Lập luận tương tự trường hợp 1
Trường hợp 3: m = n và rank(W) = m.
Khi đó, ma trận W khả nghịch, suy ra hệ
{W1, W2, ., W n} là cơ sở của không gian
Theo giả thiết, W là ma trận hiệu
chỉnh đầy đủ, ta suy ra W là ma trận hiệu
chỉnh nửa đầy đủ, nghĩa là tồn tại vectơ cột
r = [r1r2 r n]T cấp n×1 sao cho r j > 0,∀j
= 1, , n và Wr = 0 hay
r1W1+ r2W2+ + r n W n= 0
Điều này mâu thuẫn với hệ {W1, W2,
, W n}là cơ sở
Bây giờ ta chứng minh W có hạng bằng m Giả sử ngược lại, ma trận W có hạng bé hơn m, nghĩa là rank{W1, W2, .,
W n} < m Lập luận giống như trường hợp
1, ta dẫn đến mâu thuẫn Điều đó chứng tỏ
hạng của W bằng m.
Định lí chứng minh xong
Định lí 3.2.2 Cho trước hai số tự
nhiên m, n Khi đó, luôn tồn tại ma trận hiệu chỉnh nửa đầy đủ W có cấp m×n Hơn nữa, nếu n > 1 thì với số tự nhiên k bất kì sao cho k ≤ min{m, n-1}, luôn tồn tại ma trận hiệu chỉnh nửa đầy đủ W có cấp m×n
và có rank{W}= k.
Chứng minh Nếu n = 1 thì ta chọn ma trận W là ma trận cột không (chính là vectơ
) Khi đó,
ma trận W thoả mãn điều kiện là ma trận
hiệu chỉnh nửa đầy đủ
Nếu n > 1 thì ta chọn tuỳ ý các vectơ cột W1, W2, ., W n-1 ∈ ℝm
có hạng bằng k
và các số thực dương tuỳ ý r j,∀j = 1, , n.
Ta đặt
n
r
−
−
− − − − ∈ ℝm
(18)
Từ đó suy ra
r1W1+ r2W2+ + r n W n= 0 (19)
Gọi W là ma trận gồm các cột W1, W2,
, W n Khi đó, công thức (19) cho ta Wr =
0 Rõ ràng ma trận W có cấp m×n Do hệ
Trang 6vectơ cột W1, W2, ., W n- 1∈ ℝm
có hạng
bằng k và vectơ cột W n biểu thị tuyến tính
qua hệ các vectơ W1, W2, ., W n-1 nên suy
ra rank(W) = k Như vậy, ma trận W xây
dựng như trên là ma trận hiệu chỉnh nửa
Định lí 3.2.3 Giả sử ma trận W có cấp
m×n, (m < n), có hạng bằng m, thoả mãn
điều kiện tồn tại vectơ cột r = [r1r2 r n]T
cấp n×1, với r j ≥ 0, j = 1, , n, sao cho Wr
= 0 và tập các vectơ cột tương ứng với các
hệ số r j > 0 của ma trận W tồn tại một hệ
các vectơ cột tạo thành cơ sở của không
gian vectơ ℝm
Khi đó W là ma trận hiệu chỉnh đầy đủ.
Chứng minh Xem [4].
Hệ quả 1 Ma trận W cấp m×n, (m <
n), có hạng bằng m Khi đó W là ma trận
hiệu chỉnh đầy đủ khi và chỉ khi W là ma
trận hiệu chỉnh nửa đầy đủ.
Chứng minh Suy trực tiếp từ nhận xét
ở phần I và Định lí 3.2.3
Hệ quả 2 Cho ma trận W cấp m×n là
ma trận hiệu chỉnh nửa đầy đủ Khi đó, ma
trận W là ma trận hiệu chỉnh đầy đủ khi và
chỉ khi m < n và ma trận W có hạ ng bằng m.
Chứng minh Suy ra trực tiếp từ Hệ quả
1 và Định lí 3.2.1
Nhận xét Từ Hệ quả 2, ta có thể thiết
lập ma trận hiệu chỉnh đầy đủ qua việc
thiết lập ma trận hiệu chỉnh nửa đầy đủ
bằng cách sử dụng Định lí 3.2.2 với việc
chọn k = m.
Định lí 3.2.4 Ma trận W cấp m×n là ma trận hiệu chỉnh đầy đủ khi và chỉ khi với số thực bất kỳ và mỗi vectơ cột t cấp m×1 đều tồn tại vectơ cột w = [w1 w n]T với các biến
bị chặn dưới bởi , tức là j ≥ ,
j = 1, , n, thoả mãn Wr = t.
Chứng minh Giả sử W là ma trận hiệu
chỉnh đầy đủ Khi đó, với mỗi số thực và
với mỗi vectơ cột t cấp m×1, ta đặt t * = t
-W*
, trong đó ∗ =[ ]T
là vectơ cột
cấp m×1 gồm các phần tử đều bằng Theo
định nghĩa ma trận hiệu chỉnh đầy đủ, tồn
tại vectơ cột y = [y1 y n]T sao cho y j ≥ 0, j
= 1, , n, thoả mãn Wy = t*, hay Wy = t
-W*
)
= t Đặt w = y +*
= [w1 w n]T , với w j = y j
+≥thì ta có Ww = t thoả mãn các biến
bị chặn dưới bởi
Ngược lại, ta dễ dàng có điều phải
chứng minh với việc chọn =0
Đó là điều phải chứng minh
Định lí 3.2.5 Ma trận W cấp m×n là ma trận hiệu chỉnh đầy đủ khi và chỉ khi với số thựcbất kỳ, với mỗi vectơ cột t cấp m×1 đều tồn tại vectơ cột w = [w1 w n]T , với các biến bị chặn trên bởi , tức là w j ≤ , j =
1, , n, thoả mãn Ww = t.
Chứng minh Việc chứng minh hoàn
toàn tương tự như chứng minh Định lí
3.2.4, chỉ khác ở chỗ để có w bị chặn trên thì ta đặt t * = - t + W*
, trong đó*
= [
]T là vectơ cột cấp n×1
Trang 71 Xin Chen, Melvyn Sim, Peng Sun and Jiawei Zhang (2008), A Linear Decision-Based Approximation - Approach to Stochastic Programming, Operations Research, Vol 56,
No 2, March-April 2008, pp 344-357
2 Xin Chen, Melvyn Sim and Peng Sun (2005), A robust optimization perspective of stochastic programming, Working paper, National University of Singapore.
3 Shapiro, D Dentcheva and A Ruszczyński (2010), Lectures on Stochastic Programming Modeling and Theory, Mathematical Programming, Society
Philadelphia
4 Dương Xuân Giáp (2009), Một số kết quả về sự hiệu chỉnh đầy đủ và hiệu chỉnh nửa đầy đủ trong các phương pháp xấp xỉ giải bài toán quy hoạ ch ngẫu nhiên, Tạp chí
Khoa học, Trường Đại học Vinh, Tập 38, Số 3A(2009), ISSN 1859-2228, 26-34
* Nhận bài ngày 1/12/2011 Sữa chữa xong 10/6/2012 Duyệt đăng 15/6/2012