Tải bản đầy đủ (.pdf) (35 trang)

Phương pháp cắt benders và thuật toán nhánh cận giải bài toán quy hoạch nguyên ngẫu nhiên hai giai đoạn

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 (247.6 KB, 35 trang )

Mục lục
trang
Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Chương 1. Kiến thức cơ sở . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1. Một số yếu tố ngẫu nhiên cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1. Khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2. Tính chất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1.2. Bài toán quy hoạch tuyến tính nguyên . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.1. Bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2. Phương pháp nhánh và cận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3. Phương pháp cắt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3. Bài toán quy hoạch ngẫu nhiên hai giai đoạn . . . . . . . . . . . . . . . . 12
Chương 2. Phương pháp nhánh và cận giải bài toán
QHTT nguyên ngẫu nhiên hai giai đoạn . . . . . . . . 16
2.1. Phương pháp cắt Benders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2. Một lớp bài toán quy hoạch nguyên ngẫu nhiên 2 giai đoạn . . 17
2.2.1. Bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2. Tính chất . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3. Thuật toán nhánh và cận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.1. Kỹ thuật phân nhánh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
2.3.2. Tính cận dưới . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.3. Lựa chọn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.4. Thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.4. Tính hữu hạn của thuật toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Tài liệu tham khảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36


3

Mở đầu


Xét bài toán quy hoạch
min{f (x) = cT x : Ax = b, x ≥ 0, x ∈ Zn }
trong đó c, A, b là những ma trận số thực. Khi một số thông tin về dữ
liệu của c, A, b không xác định, phụ thuộc đại lượng ngẫu nhiên w nào
đó thì ta có bài tốn quy hoạch ngẫu nhiên. Thông thường trong sản
xuất, xét với dữ liệu đầy đủ, ta có phương án tối ưu xác định x∗ . Việc
thực hiện tìm phương án tối ưu như vậy được xem như giai đoạn 1.
Do dữ liệu phụ thuộc đại lượng ngẫu nhiên nên Ax và b có những sai
khác, x∗ khơng cịn tối ưu. Người ta cần điều chỉnh lại phương án tối
ưu, quá trình điều chỉnh như vậy được xem như là giai đoạn 2. Lúc
đó ta có bài tốn quy hoạch hai giai đoạn.
Trong lớp các bài toán quy hoạch ngẫu nhiên, bài toán quy hoạch
ngẫu nhiên hai giai đoạn đóng vai trị rất quan trọng. Việc nghiên cứu
bài toán này nhằm phát hiện những tính chất của nó và thuật tốn để
giải vẫn đang là vấn đề thời sự, có ý nghĩa khoa học và thực tiễn rộng
lớn. Khi tiếp cận với cơng trình khoa học A finite branch and boud
algorithm for two-stage stochastic integer programs của các tác giả S.
Ahmed, M. Tawarmallani và N. V. Sahinidis [4], tôi đề xuất đề tài:
"Phương pháp cắt Benders và thuật toán nhánh - cận giải
bài toán quy hoạch nguyên ngẫu nhiên hai giai đoạn"
Hiện nay, các bài toán quy hoạch nguyên ngẫu nhiên hai giai đoạn
đã có nhiều thuật tốn giải khá tin cậy. Tuy nhiên, thuật tốn nhánh
và cận có ảnh hưởng nhiều trong việc giải các bài toán quy hoạch ngẫu
nhiên hai giai đoạn.


4

Luận văn được trình bày trong 2 chương:
Chương 1. Kiến thức cơ sở. Trong chương này, chúng tơi trình

bày một số vấn đề về phương pháp nhánh và cận giải bài toán quy
hoạch, về đại lượng ngẫu nhiên, bài toán quy hoạch ngẫu nhiên hai giai
đoạn. Chương này được xem như phần kiến thức chuẩn bị để thuận
lợi cho việc trình bày chương hai.
Chương 2. Thuật tốn nhánh và cận giải bài tốn quy hoạch
tuyến tính ngun ngẫu nhiên hai giai đoạn. Chương này là nội
dung chính của luận văn. Trong chương này chúng tơi trình bày kỹ
thuật phân rã Benders; bài toán quy hoạch nguyên ngẫu nhiên hai
giai đoạn, các tính chất và thuật tốn nhánh và cận giải bài tốn đó.
Luận văn được hồn thành tại Trường Đại học Vinh dưới sự hướng
dẫn của thầy giáo, PGS.TS. Trần Xn Sinh. Nhân dịp này tơi xin
được tỏ lịng biết ơn sâu sắc tới thầy và cảm ơn các thầy giáo trong tổ
Xác suất thống kê đã giảng dạy, chỉ bảo cho tôi trong suốt thời gian
học tập và nghiên cứu.
Cũng nhân dịp này tôi xin gửi lời cảm ơn các thầy giáo, cơ giáo
trong khoa Tốn, khoa Sau đại học, bạn bè và gia đình đã tạo điều
kiện thuận lợi cho tơi hồn thành luận văn này.
Vinh, tháng 12 năm 2011
Tác giả


5

Chương 1

Kiến thức cơ sở
1.1. Một số yếu tố ngẫu nhiên
1.1.1. Khái niệm
1.1.1.1. σ- đại số
Giả sử Ω là một tập tuỳ ý khác rỗng. Ký hiệu P(Ω) là tập hợp gồm

tất cả các tập con của Ω.
Lớp A ⊂ P(Ω) được gọi là một đại số nếu:
A1) Ω ∈ A,
A2) A ∈ A ⇒ A = (Ω \ A) ∈ A,
A3) A, B ∈ A ⇒ A ∪ B ∈ A (hoặc A ∩ B ∈ A). Lớp F ⊂ P(Ω)
được gọi là σ - đại số nếu nó là đại số và ngồi ra có:
A4) Nếu An ∈ F, ∀n = 1, 2, ... thì

n
i=1 Ai

∈ F (hoặc là

n
i=1

∈ F).

1.1.1.2. Không gian đo
Cặp (Ω, F) được gọi là một khơng gian đo, trong đó Ω = Ø bất kỳ,
F là một σ - đại số các tập con của Ω.
1.1.1.3. Biến ngẫu nhiên
Giả sử (Ω, F) là một không gian đo , R = [−∞, +∞]. Hàm thực
X = X(ω)
xác định trên Ω lấy giá trị trên R gọi là hàm F - đo được hoặc biến
ngẫu nhiên suy rộng nếu
{ω : X(ω) ∈ B} = X −1 (B) ∈ F


6


với mỗi B ∈ B(R) (với B(R) là σ-đại số các tập Borel của trục R).
Nếu
X : Ω −→ R = (−∞; +∞)
thì X được gọi là biến ngẫu nhiên.
1.1.1.4. Hàm Borel
Hàm
ϕ : (Rn , B(Rn )) −→ (R, B(R))
được gọi là hàm Borel, nếu nó là B(Rn ) - đo được, nghĩa là
ϕ−1 (B) ∈ B(Rn ),
với mỗi
B ∈ B(R).
1.1.1.5. Hàm phân phối xác suất của biến ngẫu nhiên
Giả sử X là biến ngẫu nhiên xác định trên (Ω, F, P) nhận giá trị
trên R. Hàm số FX (x) = P[X < x], (x ∈ R) được gọi là hàm phân
phối của biến ngẫu nhiên X.
1.1.1.6. Kỳ vọng của biến ngẫu nhiên
Nếu X là biến ngẫu nhiên đơn giản xác định trên (Ω, F, P), có
nghĩa là

n

X=

xk IAk
k=1

với
xk ∈ R, Ak ∈ F, (k = 1, 2, ..., n)
và Ak Al = O, (k = l) thì kỳ vọng của X ký hiệu là EX (hoặc đơn giản

là EX) được định nghĩa như sau
n

EX =

xk P(Ak ).
k=1


7

Nếu biến ngẫu nhiên X là giới hạn của dãy tăng các biến ngẫu
nhiên đơn giản, không âm Xn sao cho 0 ≤ Xn ↑ X thì
EX := lim EXn .
n→∞

Giả sử X là biến ngẫu nhiên bất kỳ, khi đó X có thể biểu diễn dưới
dạng
X = X + − X −,
với X + , X − là các biến ngẫu nhiên đơn giản, không âm
(X + = max{X, 0}, X − = max{−X, 0}).
Nếu
min(EX + , EX − ) < ∞
thì
EX := EX + − EX − .
Trong trường hợp EX + và EX − đều hữu hạn thì X được gọi là có kỳ
vọng hữu hạn.
1.1.2. Tính chất
1.1.2.1. Định lý. Giả sử
X : Ω −→ R.

Khi đó các mệnh đề sau là tương đương:
a) X là biến ngẫu nhiên.
b) {ω : X(ω) < x} ∈ F với mỗi x ∈ R.
c) {ω : X(ω) ≤ x} ∈ F với mỗi x ∈ R.
d) {ω : a ≤ X(ω) < b} ∈ F với a < b bất kỳ.
1.1.2.2. Định lý. Giả sử X1 , X2 , ..., Xn là các biến ngẫu nhiên cùng
xác định trên (Ω, F) và ϕ(t1 , ..., tn ) là hàm Borel giá trị thực. Khi đó
Y = ϕ(X1 , X2 , ..., Xn )


8

cũng là biến ngẫu nhiên.
1.1.2.3. Hệ quả. Giả sử X, Y là các biến ngẫu nhiên. Khi đó
X ± Y, X.Y, X ∨ Y, X ∧ Y,
X + = X ∨ 0, X − = (−X) ∨ 0, |X| = X + + X −
cũng là các biến ngẫu nhiên. Đặc biệt, nếu Y khơng triệt tiêu thì X/Y
là biến ngẫu nhiên.
1.1.2.4. Định lý. Giả sử Xn , n ≥ 1 là dãy biến ngẫu nhiên và
sup Xn , inf Xn
n

n

hữu hạn trên Ω. Khi đó
sup Xn , inf Xn , lim sup Xn , lim inf Xn
n

n


n

n

là các biến ngẫu nhiên. Đặc biệt nếu
lim Xn = X

n→∞

hữu hạn thì X cũng là biến ngẫu nhiên.
1.2. Bài toán quy hoạch tuyến tính ngun
1.2.1. Bài tốn
Bài tốn quy hoạch tuyến tính nguyên tổng quát có dạng
n

min f (X) =

cj xj

(1.1)

j=1

với điều kiện





n

j=1 aij xj (≤, ≥, =)

bi , i = 1, 2, ..., m


xj ≥ 0, j = 1, ..., n, xj ∈ Z, j = 1, ..., k, k ≤ n.
Hàm f (X) được gọi là hàm mục tiêu; điểm X ∈ Rn thoả mãn các
điều kiện của bài toán gọi là phương án, ký hiệu tập phương án của


9

bài toán đã cho là D; phương án X đạt cực tiểu hàm mục tiêu gọi là
phương án tối ưu (hoặc là nghiệm) của bài tốn.
Nếu k = n thì ta có bài tốn quy hoạch ngun tồn phần.
Nếu k < n thì ta có bài tốn quy hoạch ngun bộ phận.
Chú ý rằng bằng phân rã Benders có thể tách các biến khơng
ngun, để được bài tốn quy hoạch tuyến tính ngun tồn phần.
Do vậy, nếu khơng sợ nhầm lẫn thì từ nay chúng ta chỉ nói tới bài
tốn quy hoạch tuyến tính ngun tồn phần.
1.2.1.1. Định lý. Nếu bài tốn quy hoạch tuyến tính ngun có
phương án tối ưu thì tồn tại một đỉnh thuộc bao lồi của D(convD) tối
ưu.
Chứng minh. Chúng ta chú ý rằng bao lồi của các điểm nguyên là
một tập lồi có các đỉnh là ngun.
Mặt khác, bài tốn quy hoạch tuyến tính, với tập phương án là
convD, nếu có phương án tối ưu thì tồn tại một đỉnh của convD tối
ưu.
Từ đó suy ra điều phải chứng minh.
1.2.2. Phương pháp nhánh và cận


ý tưởng chính của phương pháp là thực hiện phân nhánh để chia
tập phương án M thành những phần nhỏ dần. Trên mỗi phần nhỏ
của tập M , xác định cận của hàm mục tiêu. Từ đó loại bỏ dần những
phần khơng có khả năng chứa nghiệm. Như vậy, cơng việc chính của
phương pháp là tìm cách phân nhánh, tính cận và lựa chọn loại bỏ
sao cho sau hữu hạn bước lặp có được câu trả lời của bài tốn. Nhiệm
vụ của phương pháp nhánh và cận là thực hiện "phân nhánh", "tính
cận"và "loại bỏ" sao cho q trình hội tụ về nghiệm cần tìm.
1.2.2.1. Phân nhánh


10

Việc phân nhánh được thực hiện bằng cách chia tập phương án M
thành các tập con
M1 , M2 , ..., Mk
sao cho

k

Mi , Mi ∩ Mj = ∅, (i = j).

M=
i=1

1.2.2.2. Tính cận
Hàm số γ(A) gọi là cận dưới của hàm f (x) trên A nếu γ(A) thoả
mãn hai điều kiện:
+) γ(A) ≤ min f (x), ∀x ∈ A.

+) γ(A1 ) ≥ γ(A2 ) nếu A1 ⊂ A2 ⊂ M.
Từ đó ta có
γ(Mi ) ≥ γ(Mj ), ∀i = 1, 2, ..., k.
Đồng thời
f (x ) = min{f (x) : x ∈ M } ≥ min γ(Mi ) = γ(Ms )
Do đó nếu f (x ) = γ(Ms ) thì x là phương án tối ưu cần tìm.
1.2.2.3. Lựa chọn và loại bỏ
+ Lựa chọn: Giả sử
k

M=

Mi
i=1


Mi ∩ Mj = ∅, i = j.
Khi đó
γ(Ms ) = min γ(Mi ), i = 1, 2, ..., k,
tức là
γ(Ms ) ≤ γ(Mi ), ∀i = 1, 2, ..., k,


11

nên
γ(Ms ) ≤ min{f (x) : ∀x ∈ M }.
Ta hy vọng Ms chứa phương án tối ưu. Vì vậy có thể chọn Ms để phân
nhánh.
+ Loại bỏ: Việc loại bỏ nhằm thu gọn bài toán, giảm bớt bộ nhớ.

Tiêu chuẩn để loại bỏ là: Giả sử ở bước k, biết được phương án x mà
f (x) ≤ f (x),
với mọi phương án x đã biết, lúc này ta nói x là phương án kỷ lục,f (x)
là giá trị kỷ lục.
Nếu có Mj mà γ(Mj ) ≥ f (x) thì Mj bị loại bỏ (chú ý rằng nếu
Mj = ∅ thì Mj cũng bị loại bỏ).
1.2.3. Phương pháp cắt
1.2.3.1. Nhát cắt hợp cách. Nội dung của phương pháp là: Bỏ qua
điều kiện ngun, giải bài tốn quy hoạch tuyến tính bằng phương
pháp đơn hình được phương án tối ưu x(0) .
Nếu xoj nguyên (j = 1, ..., n) thì x(0) là phương án tối ưu cần tìm.
Nếu ngược lại, bổ sung vào bài tốn quy hoạch tuyến tính điều kiện
n

dj xj ≤ e.

L(x) =

(1.2)

j=1

L(x) phải thoả mãn hai tính chất:
+ x(0) không thoả mãn (1.2)
+ Mọi phương án nguyên đều thoả mãn (1.2).
Điều kiện (1.2) như vậy được gọi là nhát cắt hợp cách.
Người ta đã đưa ra nhiều nhát cắt hợp cách giải bài tốn quy hoạch
ngun có hiệu quả. Sau đây ta trình bày thuật tốn với nhát cắt
Gomory.



12

1.2.3.2. Nhát cắt Gomory. Giả sử x(0) = (xo1 , xo2 , ..., xom , 0, ..., 0) là
phương án tối ưu của bài tốn quy hoạch tuyến tính tương ứng, tồn
tại xok chưa nguyên. Ký hiệu [xok ] và {xok } là phần nguyên và phần thập
phân của xok . Khi đó nhát cắt sau đây là hợp cách
n

{xok }



{xkj }xj ≤ 0,

(1.3)

j=m+1

trong đó xij là toạ độ thứ i của vectơ Aj trong cơ sở của x(0) (các
phần tử của vectơ Aj trong bảng đơn hình của x(0) ). Nhát cắt (1.3)
được gọi là nhát cắt Gomory.
1.3. Bài toán quy hoạch ngẫu nhiên hai giai đoạn
Xét bài toán quy hoạch
min {f (x) : x ∈ M ⊂ Rn } .
Trong trường hợp các dữ liệu của bài toán ổn định, ta có bài tốn
quy hoạch dạng ổn định.
Trong trường hợp các dữ liệu phụ thuộc các biến ngẫu nhiên, ta có
bài tốn quy hoạch ngẫu nhiên.
Quy hoạch ngẫu nhiên hai giai đoạn là các bài toán khi kế hoạch

hoá việc sản xuất sản phẩm trong trường hợp vắng các dữ liệu về nhu
cầu của nó. Trong trường hợp này, giai đoạn 1, đầu tiên ta nhận được
nghiệm sơ bộ về khối lượng sản xuất trên cơ sở thông tin có được từ
thực nghiệm trước đó. Sang giai đoạn 2 điều chỉnh nghiệm theo nhu
cầu để được nghiệm cần thiết.
Chú ý rằng nghiệm sơ bộ không làm mất khả năng của sự điều
chỉnh và phải cùng phối hợp với nghiệm điều chỉnh sao cho chi phí
trung bình phải tối thiểu cho cả hai giai đoạn.
Chi tiết về mơ hình bài tốn quy hoạch ngẫu nhiên tuyến tính hai


13

giai đoạn(Two-Stage Stochastic Linear Progamming - (2SSLP )) được
xét tới như sau:
Chúng ta tiếp cận với bài tốn có điều kiện ràng buộc phụ thuộc
vào biến ngẫu nhiên. Cụ thể ta xét bài toán.
(SLP )

min cT x : Ax = b, T x = h, x ≥ 0

trong đó c là ma trận cấp n × 1; x là ma trận cấp n × 1; b là ma trận
hệ số cấp m × 1; A là ma trận hệ số cấp m × n; h là ma trận cấp p × 1
và T là ma trận cấp p × n, các phần tử của các ma trận h và T là các
biến ngẫu nhiên có phân phối xác suất đã biết.
Giả sử h hoàn toàn chưa biết, nhưng biết hàm phân phối của nó,
với kỳ vọng hữu hạn Eh. Rõ ràng khơng thể xác định x từ các phương
trình T x = h. Sự khác nhau giữa T x và h cũng chính là một biến
ngẫu nhiên có hàm phân phối phụ thuộc vào x. Ta phải "trả giá" cho
sự phụ thuộc này. Do vậy, bài toán của ta là quyết định làm cực tiểu

hàm cT x và cần có mức phạt cho sự khác nhau phải trả giá đó.
Kỹ thuật hai bước nhằm chuyển bài toán (SLP) về một bài toán
tất định theo giá trị kỳ vọng tương ứng. Q trình giải bài tốn (SLP)
gồm hai bước.
Bước thứ nhất: Chọn véctơ x khơng âm nào đó thoả mãn những
điều kiện nhất định đã biết nào đó.
Bước thứ hai: Chúng ta bổ sung độ lệch giữa T x và h bởi một ma
trận bổ sung W và một biến phạt y thoả mãn
W y = h − T x.
Do thông tin không đầy đủ, ta đặt d là véctơ phạt và đi tìm giá trị
nhỏ nhất của dT y với điều kiện bổ sung độ lệch
W y = h − T x, y ≥ 0


14

và x ≥ 0. Giả sử ở bước 1 ta đã biết x∗ , ta tìm y từ bài tốn
(P LP )
min dT y


 T x∗ + W y = h
với điều kiện

 y ≥ 0.
Đây là giai đoạn hai của bài tốn quy hoạch ngẫu nhiên. Khi đó bài
tốn (SLP) có thể viết thành bài tốn
min(cT x + E min dT y)

(P )


x

y




Ax = b



với điều kiện
Tx + Wy = h




 x ≥ 0, y ≥ 0.
Bây giờ ta xét một lớp bài toán quy hoạch ngẫu nhiên hai giai đoạn
min g(x) = cT x + Q(x)



Ax = b






 T (ξ) = h(ξ)
với điều kiện


x≥0





 ξ ∈ Ω,

(2SSLP )

trong đó
Q(x) = Eξ∈Ω [Q(x, ξ)],
Q(x, ξ) = min dT (ξ)y


 W (ξ)y = h(ξ) − T (ξ)x
với điều kiện

 y ≥ 0.


15

ở đây ξ là biến ngẫu nhiên thuộc không gian xác suất (Ω, F, P), với
Ω ⊂ Rk ; c là ma trận cấp n × 1; x là ma trận cấp n × 1; y là ma trận
cấp q × 1; d(ξ) được hiểu như là một vectơ phạt khi có sự chênh lệch

trong điều kiện buộc của bài toán với dữ liệu chưa chắc chắn,
Q(x) = Eξ∈Ω [Q(x, ξ)]
là kỳ vọng của Q(x, ξ) lấy theo biến ngẫu nhiên ξ ∈ Ω; A là ma trận
hệ số cấp m × n; b là ma trận hệ số cấp m × 1; T (ξ) là ma trận cấp
p × n; h(ξ) là ma trận cấp p × 1, W (ξ) là ma trận cấp p × q, nói chung
khơng phụ thuộc vào ξ.
Nếu ξ là biến ngẫu nhiên rời rạc nhận giá trị trong tập hữu hạn
Ω = (ξ 1 , ξ 2 , ..., ξ k ),
với xác suất
P(ξ = ξ i ) = pi .
Khi đó

k

pi Q(x, ξ i ).

Eξ∈Ω [Q(x, ξ)] =
i=1

Trong thời gian gần đây, nhiều nhà tốn học đã và đang tìm những
thuật tốn để giải bài toán quy hoạch ngẫu nhiên hai giai đoạn, và
thực tế đã có nhiều thuật tốn khá tin cậy. Trong chương hai, chúng
ta sẽ tìm hiểu kỹ hơn về vấn đề này.


16

Chương 2

Thuật toán nhánh và cận

giải bài toán quy hoạch tuyến tính
nguyên ngẫu nhiên hai giai đoạn
2.1. Phương pháp cắt Benders
Xét bài tốn quy hoạch tuyến tính ngẫu nhiên hai giai đoạn
S

(2SSIP )

T

ps Qs (x)

z = min c x +
s=1

với điều kiện
x ∈ X,
trong đó
Qs (x) := min f s y
với điều kiện
Ds y ≥ hs + T x
y ∈ Y ∩ Zn1
ở đây x, c ⊆ Rn1 , T ∈ Rm2 ×n1 và y ⊆ Rn2 . f s ∈ Rn2 , hs ∈ Rm2 , Ds ∈
Rm2 ×n2 với mỗi s = 1, ..., S.
Từ bài toán (2SSIP ), thực hiện nới lỏng (tạm bỏ qua điều kiện
nguyên) để có được bài tốn quy hoạch tuyến tính (LP ) và xét bài
toán
ΨsLP (χ) = min f s y
với điều kiện
Ds y ≥ hs + χ(us )



17

y ≥ 0,
ở đây χ là giá trị biến nhạy cảm, tại bước s đã cho, us là phương án
tối ưu của bài toán đối ngẫu.
Chúng ta giả thiết rằng điều kiện y ∈ Y thoả mãn trong điều kiện
Ds y ≥ hs + χ. Khi đó một lớp các nhát cắt Benders người ta đã nêu
ra là
(hs + χ)us ≤ ΨsLP (χ),
tại mỗi χ (không phải χ). Từ ΨsLP (χ) ≤ Ψs (χ), chúng ta có
S

S
s

s

s

ps Ψs (χ).

p [(h + χ)u ] ≤
s=1

s=1

Do vậy, nếu chúng ta có phương án đối ngẫu us bài toán (LP ) nới
lỏng của bài toán ở giai đoạn hai, tương ứng với mỗi χ thì sẽ có thể

thiết lập một nhát cắt
S

ps [(hs + χ)us ].

θ≥

(2.1)

s=1

Nhát cắt (2.1) sẽ được sử dụng trong việc xây dựng thuật toán ở
mục 2.3.
2.2. Một lớp bài toán quy hoạch ngẫu nhiên hai giai đoạn
2.2.1. Bài toán
Xét bài toán
(2SSP ) z = min cT x + Eω∈Ω [Q(x, ω)],

(2.2)

Q(x, ω) = min f (ω)T y,

(2.3)

x∈X

trong đó

với điều kiện
D(ω)y ≥ h(ω) + T (ω); x ∈ X, y ∈ Y.



18

ở đây X ⊆ Rn1 , c ∈ Rn1 và Y ⊆ Rn2 . ω là biến ngẫu nhiên từ không
gian xác suất (Ω, F, P), với Ω ⊆ Rk , f : Ω → Rn2 , h : Ω → Rm2 ,
D : Ω → Rm2 ×n2 , T : Ω → Rm2 ×n1 .
Bài tốn (2.1) với biến x tạo thành từ giai đoạn đầu những thứ cần
thiết đã được giải quyết trước khi thực hiện của tham biến không chắc
chắn và (2.2) với những biến y tạo thành ở giai đoạn 2.
Ví dụ
min{−1.5x1 − 4x2 + E[Q(x1 , x2 , ω1 , ω2 )]}
với điều kiện
0 ≤ x 1 , x2 ≤ 5
ở đây
Q(x1 , x2 , ω1 , ω2 ) = min{−16y1 − 19y2 − 23y3 − 28y4 }



2y1 + 3y2 + 4y3 + 5y4 ≤ ω1 − 13 x1 − 32 x2



với điều kiện 6y1 + y2 + 3y3 + 2y4 ≤ ω2 − 23 x1 − 13 x2




 y1 , y2 , y3 , y4 ∈ {0, 1}
và (ω1 , ω2 ) ∈ {5, 15} × {5, 15} với cùng một phân phối xác suất.

2.2.2. Tính chất
Trước khi xét tới các tính chất của bài toán, ta nêu ra các giả thiết
ban đầu:
(A1): Ω = {ω 1 , ω 2 , ..., ω S }, với P(ω = ω s ) = ps
(A2): Giai đoạn 2 những biến y là nguyên, y ∈ Z n2
(A3): Ma trận T là tất định, T (ω) = T.
Với những giả thiết trên ta được bài toán sau:
S

(2SSIP )

T

ps Qs (x)

z = min c x +
x∈X

s=1


19

trong đó
Qs (x) = min f s y
với điều kiện
Ds y ≥ hs + T x; y ∈ Y ∩ Zn2 .
ở đây X ⊆ Rn1 , c ∈ Rn1 , T ⊆ Rm2 ×n1 .
Đối với mỗi s = 1, 2, ..., S, f s ∈ Rn2 , hs ∈ Rm2 và Ds ∈ Rm2 ×n2 .
Chúng ta đặt thêm những giả thiết cho bài toán (2SSIP )

(A4): Giai đoạn đầu tập X = Ø và X compact
(A5): Qs (x) < ∞,∀x ∈ Rn1 , ∀s
s s
s
2
(A6): Mỗi s có us ∈ Rm
+ sao cho u D ≤ f

(A7): Với mỗi s, Ds ∈ Zm2 ×n2 .
Thay bài tốn (2SSIP ), chúng ta giải quyết bài toán sau:
(T P )

min f (χ),

χ∈M

ở đây f (χ) = Φ(χ) + Ψ(χ)
S

ps Ψs x

Ψ(χ) =
s=1

Φ(χ) = min{cT x : T x = χ, x ∈ X}
Ψs (χ) = min{f s y : Ds y ≥ hs + χ, y ∈ Y ∩ Zn2 }
M = {χ ∈ Rm2 : χ = T x, x ∈ X}.
2.2.2.1. Bổ đề. Ψs (χ) là bị chặn và nửa liên tục dưới.
Chứng minh. Từ (A5) suy ra Ψs (χ) là bị chặn. Với mỗi α ∈ R, ta
xét tập hợp

C = {χ ∈ M : Ψs (χ) ≤ α}.


20

Lấy χk ∈ C, χk → χ0 , k = 1, 2, .... Vì χk ∈ M nên tồn tại xk ∈ X sao
cho T xk = χk . Do χ và x biến đổi liên tục nên có xk → x0 . Theo xác
định C ta có
Ψs (χk ) = min{f s y : Ds y ≥ hs + χk , y ∈ Y ∩ Zn2 ≤ α.
Do vậy ta có được
Ψs (χ0 ) = min{f s y : Ds y ≥ hs + χ0 , y ∈ Y ∩ Zn2 ≤ α.
Điều đó chứng tỏ rằng χ0 ∈ C. Từ đó suy ra C đóng.
Vậy Ψs (χ) là nửa liên tục dưới.
2.2.2.2. Định lý. Tồn tại một phương án tối ưu đối với bài toán
(TP)
Chứng minh. Theo Bổ đề 2.2.2.1 thì Ψs (χ) là bị chặn và nửa liên
tục dưới. Đồng thời theo quy hoạch tuyến tính tham số (với tham số
χ) thì Φ(χ) là các hàm lồi tuyến tính từng khúc, liên tục trên M . Suy
ra f (χ) là tổ hợp tuyến tính dương của các hàm nửa liên tục dưới trên
M nên nó là nửa liên tục dưới.
Mặt khác, từ X = Ø, compact (A4) và T phép biến đổi tuyến tính,
ta có M là khác rỗng, compact. Như vậy, theo Định lý Weiertrass thì
tồn tại phương án tối ưu χ đối với bài toán (T P ).
2.2.2.3. Định lý. Cho χ là một phương án tối ưu của (TP). Khi
đó
x ∈ arg min {cT x : x ∈ X, T x = χ }
là một phương án tối ưu của bài toán (2SSIP ). Hơn nữa giá trị tối
ưu của hàm mục tiêu của hai bài toán là bằng nhau.
Chứng minh. Trước hết, để ý rằng đối với χ và x sao cho T x = χ,
chúng ta có

Ψs (χ) = Qs (x), ∀s.


21

Khi đó từ định nghĩa của x và Ψ(.), ta có
S
T

ps Qs (x ).

Φ(χ ) + Ψ(χ ) = c x +

(2.4)

s=1

Chúng ta chứng minh khẳng định bằng phản chứng. Giả sử rằng x
không phải là phương án tối ưu của (2SSIP ). Khi đó, có x sao cho
S
T

S
s

c x +

s

T


ps Qs (x ).

p Q (x ) < c x +
s=1

(2.5)

s=1

Bây giờ, ta xây dựng χ = T x và để ý rằng χ ∈ M .
Từ x ∈ {x : x ∈ X, T x = χ }, chúng ta có
S
T

ps Qs (x ).

f (χ ) ≤ c x +
s=1

Hơn nữa,
Ψs (χ) = Qs (x ), ∀s.
Từ phương trình (2.4) và (2.5), có được
Φ(χ ) + Ψ(χ ) < Φ(χ ) + Ψ(χ ).
Điều này mâu thuẫn với x là phương án tối ưu của (TP).
Phương trình (2.4) cũng chứng tỏ rằng những giá trị mục tiêu của
hai bài toán là bằng nhau.
Định lý 2.2.2.3 biểu hiện rằng chúng ta có thể giải quyết (2SSIP)
bằng cách giải quyết (TP) với sự liên quan tới những biến nhạy cảm
χ ∈ M , với M có chiều nhỏ hơn của X. Quan trọng hơn, phép biến

đổi này đem lại một cấu trúc đặc biệt đến sự gián đoạn trong bài toán.
Cho Ψs (χj ), nghĩa là Ψs (χ) như là một hàm của thành phần thứ
j, (j = 1, 2, .., n), của χ. Mặt khác, chúng ta sử dụng cl(X), ∂(X) và
dim(X) được hiểu là bao đóng, biên và chiều của tập X.


22

2.2.2.4. Bổ đề. Với mỗi s = 1, 2, ..., S, và j = 1, 2, ..., m2 , Ψs (χj )
là nửa liên tục dưới và không giảm trong χj .
2.2.2.5. Bổ đề. Với mỗi kjs ∈ Z, Ψs (χj ) là không đổi trên khoảng
χj ∈ (kjs − hsj − 1; kjs − hsj ]
với mọi s = 1, 2, ..., S và j = 1, 2, ..., m2 .
Chứng minh. Từ giả thiết (A7), Ds là nguyên, (Ds y)j > hsj + χj đưa
đến (Ds y)j ≥ [hsj + χj ]. Như vậy, với mỗi kjs ∈ Z, Ψs (χj ) là không đổi
trên miền
{(hsj + χj )|[hsj + χj ] = kjs } = {(hsj + χj )|kjs − 1 < hsj + χj ≤ kjs }.
Một cách tương tự, Ψs (kjs ) là không đổi trên những khoảng
χj ∈ (kjs − hsj − 1; kjs − hsj ], với kjs ∈ Z.
Đó là điều phải chứng minh.
2.2.2.6. Định nghĩa. Cho B là một tập hợp con của Rn và I là
một tập các chỉ số. Tập M := {Mi : i ∈ I}, ở đây Mi ⊆ B, được gọi là
một phân hoạch của B nếu B =

i∈I

Mi và Mi

Mj = ∂(Mi )


∂(Mj )

với mọi i, j ∈ I, i = j.
S
) ∈ ZSm2 là một vectơ
2.2.2.7. Định lý. Cho k = (k11 , ..., kjS , ..., km
2

nguyên. Với mỗi k, đặt
S

C(k) = {χ ∈ R

m2

m2

(kjs − hsj − 1; kjs − hsj ]}.

: χ=
s=1 j=1

Những khẳng định sau đây là đúng:
(i) Nếu C(k) = Ø thì cl(C(k)) là một siêu hộp có chiều đầy đủ,
nghĩa là dim(C(k)) = m2 .
(ii) {C(k)|k ∈ ZSm2 } là một phân hoạch của Rm2 .
(iii) Nếu C(k) = Ø thì Ψ(χ) là khơng đổi trên C(k).


23


Chứng minh. (i) Chú ý rằng

m2
s
j=1 (kj

− hsj − 1; kjs − hsj ] là tích Đề

các của các khoảng và do đó là một siêu hộp. Sự giao nhau trực giao
của tất cả những cái siêu hộp cũng là một siêu hộp. Phần đầu của
khẳng định sau từ những sự kiện đã biết đối với bao lồi các tập Ci với
i ∈ I, cl(

i∈I )

=

i∈I

cl(Ci ) và cl(

i∈I

Ci ) =

i∈I

cl(Ci ).


Như vậy, ta thấy rằng siêu hộp là có chiều đầy đủ, chúng ta chứng
minh rằng mỗi C(k) = Ø có thể viết như sau
m2

S

[kjs − hsj − 1; kjs − hsj ].

C(k) =

j=1 s=1

Với mỗi j,
S

[kjs − hsj − 1; kjs − hsj ]
s=1

là sự giao nhau có hạn của chiều dài các khoảng trái mở phải đóng.
Như vậy, sự giao nhau này là chiều dài của một khoảng. C(k) là tích
Đề các của các khoảng xác định và là có chiều đầy đủ.
(ii) Ta có thể kiểm tra lại một cách dễ dàng rằng mỗi χ ∈ Rm2 có
tồn tại k ∈ ZSm2 sao cho χ ∈ C(k). Hơn nữa, với k = k , thì C(k) và
C(k ) là rời rạc. Như vậy {C(k)|k ∈ ZSm2 } là phân hoạch của Rm2 .
(iii) Với mỗi k đã cho, từ bổ đề 2.2.2.5, thì với mỗi s, Ψs (χ) là không
đổi trên siêu chữ nhật

m2
s
s

s
s
j=1 (kj −hj −1; kj −hj ].

Do vậy C(k) là tập con

không trống của tất cả siêu chữ nhật (với mọi s) và Ψ(χ) là không đổi
trên C(k) và Ψ(χ) cũng như vậy.
2.2.2.8. Định lý. Cho M ∈ Rm2 và K := {k ∈ ZSm2 |C(k) ∩ M =
Ø}. Khi đó, nếu M compact, thì |K| < ∞.
Chứng minh. Từ χ là compact, chúng ta có thể đạt được những cận
có hạn lj và uj sao cho lj ≤ χj ≤ uj với mọi M . Bây giờ, giả sử mỗi
S T
k = (k11 , ..., kjS , ..., km
) , tồn tại χ = C(k) ∩ M . Khi đó, từ định nghĩa
2


24

của C(k) và χ là compact, với mỗi j chúng ta có
lj ≥ kjs − hsj
với mọi s. Từ đó suy ra
kjs ≥ [lj + hsj ].
Một cách tưng tự, chúng ta cũng có
kjs − hsj − 1 ≤ uj .
Khi đó
kjs ≤ [uj + hsj + 1].
Vì vậy
[lj + hsj ] ≤ kjs ≤ [uj + hsj + 1].

Chúng ta có mỗi thành phần cận của vectơ k với C(k) ∩ M = Ø. Từ k
là một vectơ nguyên, đó chỉ có thể là một số hữu hạn của những cận
trên thoả mãn.
Đó là điều phải chứng minh.
Kết quả trên, cùng với Định lý 2.2.2.7, cho thấy rằng tập compact
M là cái phủ hoàn toàn bởi một số hữu hạn của phân hoạch siêu hộp
chữ nhật. Hơn nữa, trên mỗi cái phủ giai đoạn 2, hàm giá trị là khơng
đổi.
Trong mục 2.3 chúng ta sẽ sử dụng tính chất này để đưa ra thuật
toán nhánh và cận giải bài toán (T P ).
2.3. Thuật toán nhánh và cận giải bài tốn (2SSP )
Trong mục này, chúng tơi trình bày thuật toán giải bài toán (2SSIP ).
Như đã nêu trong mục 2.2 (Định lý 2.2.3), thay vì việc giải bài toán
(2SSIP ), chúng ta đi giải bài toán (T P ).


25

Sử dụng phương pháp nhánh và cận trên miền liên tục cho ta kết
quả là gần đúng, bởi quá trình không hữu hạn nhưng hội tụ. Hơn nữa,
đối với bài toán (T P ), chúng ta cần đến cách riêng để giải quyết với
tính khơng liên tục của hàm mục tiêu. Nhiệm vụ khó khăn ở đây là
tìm ra sự kết hợp của cận dưới và những kỹ thuật phân nhánh đó có
thể vận dụng hàm mục tiêu khơng liên tục và mang lại một thuật toán
hữu hạn. Theo hướng này, chúng ta khai thác cấu trúc kết quả của
phần 2.2 bởi sự phân chia nghiên cứu không gian trong những miền
có dạng

m2
j=1 (lj ; uj ],


ở đây lj là một điểm ở giai đoạn 2, hàm giá trị

Ψ(χj ) có thể là khơng liên tục. Nhớ lại rằng Ψ(χj ) có thể chỉ khơng
liên tục tại điểm χj nơi (hsj +χj ) là nguyên với một vài s. Vì vậy chúng
ta phân chia không gian nghiên cứu của chúng ta theo những giá trị
của χ. Sự phân nhánh trong cách này chúng ta có thể cơ lập những
miền qua giai đoạn 2 hàm giá trị là không đổi và kể từ đây giải quyết
bài tốn một cách chính xác.
2.3.1. Kỹ thuật phân nhánh
2.3.1.1. Ký hiệu
L: Danh sách của bài toán con mở.
k: Số phép lặp; cũng sử dụng để chỉ ra lựa chọn bài toán con.
P k : Phân hoạch tương tự đến k.
αk : Cận trên đạt được tại phép lặp k.
β k : Cận dưới trên bài toán con k.
χk : Một phương án khả thi đối với bài tốn con k.
U : Cận trên tồn cục của giá trị tối ưu.
L: Cận dưới trên toàn cục của giá trị tối ưu.
χ : Phương án tối ưu toàn cục.
2.3.1.2. Kỹ thuật


26

Như đã nói ở trên, ta nghĩ đến sự phân hoạch của lớp

m2
j=1 (lj ; uj ],


ở đây lj thoả mãn hsj + lj là một số nguyên với một vài s. Khi đó,
chúng ta có thể xây dựng một phân hoạch
m1
0

(lj0 ; u0j ] ⊇ M

P :=
j=1

bằng cách:
+ Xây dựng một phân hoạch đóng

m2
j=1 [lj , uj ]

⊇ M như sau:

Với mỗi thành phần j của χ, đặt
lj := min{χj | χ ∈ M }; uj := max{χj | χ ∈ M }.
M là đa diện vì thế bài tốn trên là bài tốn quy hoạch tuyến tính.
+ Với mỗi s và j, tìm kjs ∈ Z sao cho kjs − hsj − 1 < lj ≤ kjs − hsj . Nếu
lj + hsj là nguyên, đặt kjs = lj + hsj , cách khác, đặt kjs = [lj + hsj + 1]
Cho lj0 = maxs=1,2,..S {kjs − hsj − 1}.
Đặt u0j = uj .
Như trên, chúng ta nới lỏng lj đến lj0 sao cho điểm lj0 gần đến lj , với
(lj0 + hsj ) là nguyên với một vài s. Từ nay, khi nào thuận tiện, chúng ta
sẽ chỉ rõ phân hoạch của phần (lj ; uj ] bởi (l, u], với l = (l1 , l2 , ..., lm2 )T
và u = (u1 , ..., um2 )T .
2.3.2. Tính cận

2.3.2.1. Tính cận dưới
Cho một phân hoạch P k :=

m2
k
k
j=1 (lj , uj ],

ở đây lj thoả mãn (hsj + ljs )

là nguyên với một vài s. Chúng ta có thể đạt được một cận dưới trên
bài tốn con tương ứng bởi giải bài toán (LB) sau đây, nhờ vào nhát
cắt Benders (2.1):
(LB)

fL (P k ) = min cT x + θ

(2.6)


×