Bằng cách sử dụng phép tịnh tiến, không giảm tính tổng quát, trong bài toán (2.19), ta có thể giả thiếtc = 0. Khi đó bài toán (2.19) trở thành
min f x( ) = n Xi=1 xi, (2.20) v.đ.k. gj( ) = maxx 1≤ ≤i n (xi− a ji) 0≥ , j∀ = 1, . . . , m, 0 ≤ ≤x b. Kí hiệu aj = (aj1, . . . , ajn), j = 1, . . . , m, H j = {x ∈ [0 ], b |gj( )x ≥ }, H0 =
T m j=1 Hj. Bổ đề 2.1. (i) Ta có Hj = [0 ] [0, b \ , aj) và H = Tj J∈ Hj với J = {j ∈ {1, . . . , m a}| j ≥ }0 .
(ii) Kí hiệu J1là tập tất cả các chỉ số j ∈ J mà không tồn tại chỉ số k ∈ J \ { }j thỏa mãn aj ≤ a k. Khi đó
H = \
j J∈ 1
Hj = {x∈ [0 ], b |gj( ) 0x ≥ , j ∈J 1}. Chứng minh. (i) Nếuj ∈J thì rõ ràng
Hj = {x∈ [0 ] max, b |
i∈{1,...,n} (xi − aji) 0 = [0 ] [0≥ } , b \ , a j).
Nếuj /∈J thì dog j(0)≥ 0 vàgj( ) x là hàm tăng nên{x∈ [0 ], b |gj( )x ≥ }0 = [0 ], b .Từ đóHj = [0 ] , b vớij /∈J, suy raH =
Tj J∈ Hj.
(ii) Nếuj1 ∈ J J\ 1 thì tồn tạij2 ∈ J, j 2 6= j1sao choaj1 ≤ aj2.Do đó,[0, aj1) ⊂
[0, aj2).Từ (i) ta lại có
{x∈[0 ], b g| j2( ) 0 = [0 ] [0x ≥ } , b \ , a j2) [0 ] [0⊂ , b \ , aj1) = {x∈ [0 ], b |g j1( ) 0x ≥ }. Tức là mỗi ràng buộc gj1 ≥ 0 với j 1 ∈ J J\ 1được suy ra từ một ràng buộc gj2 ≥ 0 nào đó. Suy ra
H = {x∈ [0 ]|, b gj( ) 0x ≥ , j ∈J} = {x∈[0 ], b |g j( ) 0x ≥ , j ∈J 1}. Bổ đề được chứng minh xong.
Theo Bổ đề 2.1, bài toán (2.20) tương đương với bài toán sau: min f x( ) = n Xi=1 xi, (2.21) v.đ.k. gj( ) = maxx 1≤ ≤i n (xi − a ji) 0≥ , j∀ ∈J 1, 0 ≤ ≤x b.
Như vậy chính là tập chấp nhận được của bài toán (2.21). ĐặtH g x( ) = min
j J∈ 1 gj( )x . Dễ thấy nếu g b <( ) 0 thì bài toán (2.21) có tập chấp nhận được H = ∅. Ngược lại
nếu g b( )≥ 0, bài toán (2.21) có nghiệm tối ưu thuộc vào tập {x ∈ [0 ], b g x| ( ) = 0} theo Chú ý 1.3 (i) và Mệnh đề 1.8. Trong trường hợp này, ta có thêm kết quả như bổ đề dưới đây
Bổ đề 2.2. Với giả thiếtg b( ) 0≥ ta có: (i) Hlà một đối đa khối khác rỗng.
(ii) Mỗi đỉnh chính củaH là một nghiệm tối ưu địa phương của bài toán (2.21). Chứng minh. (i) Hiển nhiên, H 6= ∅ vì b ∈ H. Từ Bổ đề 2.1, với mỗi j ∈ J1,
Hj = [0 ] [0, b \ , a j) = [0 ] ([0, b ∩ , X \ , a] [0 j)),trong đóX = (X 1, . . . , Xn)với Xi > max{bi, aij, j ∈J 1}, i= 1, . . . , n.Dựa vào Mệnh đề 1.6 ta có
[0, X \ , a] [0 j) = n [ k=1 [vjk, X ,] vớivjk = ajkek.Vì vậy, Hj = [0 ], b ∩( n [ k=1 [vjk, X]) = n [ k=1 ([0 ], b ∩ v[jk, X .])
Chú ý rằng, nếu ajk ≤ bk thìvjk ≤ b và [0 ] [, b ∩ vjk, X] = [vjk, b .] Ngược lại, nếuajk > bk ta có[0 ], b ∩ v[ jk, X] = ∅.Suy ra Hj = [ v T∈ j [v, b ,] với Tj = {vjk, k = 1, . . . , n v| jk ≤ }b = v{ jk, k = 1, . . . , n a| jk ≤ bk}. Lại có Tj 6= ∅ do gj( )b ≥ g b ≥ , j( ) 0 ∈ J 1. Từ Mệnh đề 1.4, H = Tj J∈ 1 Hj là một đối đa khối với tập đỉnhT = {∨ j J∈ 1zj, zj ∈ Tj},trong đó z = ∨ j J∈ 1zj tức là zi = max j J∈ 1 zji với mọii= 1, ..., n.
(ii) Suy ra từ Mệnh đề 1.7.
Hệ quả 2.1. Điểm u = ∨ j J∈ 1uj,vớiuj = vjkj = a kjjekj ∈ Tj, kj = argmin{a jk|ajk ≤ bk, k ∈{1, . . . , n}} thuộc vào tậpH.
Kí hiệuV là tập tất cả các đỉnh chính của đối đa khốiH.Khi đó, H =
[
z V∈
[z, b , V 6] =∅.
Chú ý 2.3. (i) Mỗi nghiệm tối ưu địa phương của bài toán (2.21) là một đỉnh chính của đối đa khốiH.
Thật vậy, giả sử x∈ H là một nghiệm tối ưu địa phương của bài toán (2.21) và x không phải là một đỉnh chính của H. Khi đó, tồn tại z¯ ∈ V,¯z 6= x sao cho x∈ [¯z, b .] Hơn nữa, do tính tối ưu địa phương của điểm đối với bài toán (2.21)x nên luôn tồn tại số ε > 0 sao chof x( ) ≤ ( )f y ,với mọi y ∈ B x, ε( ) ∩H.Lấy điểmx¯= −x ε
2
x − ¯z
|| −x ¯z|| .Rõ ràngx¯∈ B x, ε( ) ∩H nhưngf(¯x < f x .) ( ) Mâu thuẫn với điều giả sử.
Kết hợp với kết quả của Bổ đề 2.2, tập tất cả các nghiệm tối ưu địa phương của bài toán (2.21) cũng chính là tập tất cả các đỉnh chínhV của đối đa khốiH. (ii) Chú ý rằngV ⊂ T, với T là tập đỉnh của H được xác định như trong chứng
minh của Bổ đề 2.2 (i). Từ Mệnh đề 1.5, bài toán này tương đương với bài toán tối ưu đơn điệu rời rạc sau đây
min f x( ) =
n
Xi=1 xi, (2.22)
v.đ.k. x∈V.
(iii) Trong tính toán, để giải bài toán (2.22), thực tế rất khó để có thể tìm được toàn bộ tập đỉnh chínhV cũng như là tập đỉnh củaT H khi cỡ bài toán lớn. Để giảm bớt khó khăn này, chúng ta xét tập hữu hạn
S = {x∈[0 ]|, b xi ∈{0, aji, j ∈J 1}, i ∈ {1, . . . , n}}⊃T ⊃ V. Khi đó
H ⊃{x∈S g x| ( ) ≥ }0 ⊃V và như vậy bài toán
min f x( ) =
n
Xi=1 xi, (2.23)
v.đ.k. g x( ) 0≥ , x∈ S.
tương đương với bài toán (2.22) hay bài toán (2.21), theo nghĩa chúng có cùng nghiệm tối ưu toàn cục.
Bài toán (2.23) thuộc lớp các bài toán tối ưu đơn điệu rời rạc tổng quát và ta có thể áp dụng lược đồ nhánh-giảm-cận để giải toàn cục bài toán này.
2.2.3 Thuật toán toàn cục nhánh-giảm-cận (BRB) giải bài toán (SCEP)
Trong phần này chúng tôi sẽ thiết kế thuật toán dựa trên lược đồ nhánh-giảm-cận (BRB) để tìm nghiệm toàn cục cho bài toán (2.23) tức bài toán (SCEP). Chúng tôi cũng đề xuất một cải tiến cho thủ tục tìm điểm chấp nhận được (tính cận trên) của lược đồ nhánh-giảm-cận. Điểm chấp nhận được thu được thông qua quá trình tìm nghiệm địa phương của bài toán (2.21). Nghiệm địa phương này, theo Bổ đề 2.2, thuộc vào tập đỉnh chính của đối đa khốiH.
Như đã đề cập ở Mục 1.2.2, lược đồ nhánh-giảm-cận gồm ba thủ tục chính là chia nhánh, cắt giảm và tính cận. Tùy thuộc vào từng bài toán ta có các bước cụ thể cho ba thủ tục này. Sau đây là chi tiết các thủ tục này khi áp dụng kĩ thuật nhánh-giảm-cận giải bài toán (2.23).
Thủ tục chia nhánh
Giả sử tại thời điểm hiện tại ta đang xét hộpB = [p, q , p, q] [ ] ⊂Rn.Thủ tục chia hộp B = [p, q] hoàn toàn giống như lược đồ nhánh-giảm-cận tổng quát đã trình bày trong Mục 1.2.2. Cụ thể, ta xác định chỉ số iB ∈{1, ..., n}sao cho
qiB − piB = max
i∈{1,...,n} (qi− pi). ĐặtriB = (qiB + piB) 2/ và chia thành hai hộp conB
B+ = {x∈ B x| iB ≥ r iB}, B− = {x∈ B x| iB ≤ r iB}.
Thủ tục cắt giảm
Giả sử tại thời điểm hiện tại ta đang xét hộp B = [p, q .] Trước khi tiến hành tính một cận dưới củaf x( )trên hộp này ta sẽ tìm cách cắt hộp nhiều nhất có thể mà vẫnB không làm mất các nghiệm chấp nhận được tiềm năng, tức là giá trị hàm mục tiêu tại đó tốt hơn giá trị hàm mục tiêu hiện tại. Cụ thể là, nếu là giá trị hàm mục tiêu tốtγ nhất hiện tại củaf x( ), khi đó thay hộp[p, q]bằng một hộp nhỏ hơn[p0, q0] = redγ[p, q] mà vẫn chứa các nghiệm chấp nhận được nằm trong và thỏa mãnB f x( ) ≤ ;γ sau đó, dùng -hiệu chỉnh thu được redS S
γ[p, q] = [˜p, ˜q ,] vớip˜= dp 0eS vàq˜= bq0cS.
Đối với bài toán (2.23) ta có kết quả sau, có thể xem như một hệ quả trực tiếp từ Mệnh đề 1.11.
Mệnh đề 2.1. Nếu tồn tại một nghiệm chấp nhận được x ∈ [p, q] và f x( ) ≤ γ thì g q( ) ≥ và0 f p( ) ≤ γ.Điểm này luôn thuộc hộpx [p 0, q0] xác định bởi
p0= q − n Xi=1 ηi(qi − pi)e i, q0= p0+ n Xi=1 µi(qi − p 0 i)ei, (2.24) trong đó, ηi = sup{ |η ≤0 η ≤1 (, g q η− (q i − pi)ei) 0≥ }, (2.25) µi = sup{ |µ ≤0 µ ≤1 (, f p 0+ (µ qi− p0i)ei) ≤ }γ . (2.26) với mọi i = 1, . . . , n.
Theo Mệnh đề 2.1 ta thấy rằng, nếu g q <( ) 0hoặc f p > γ( ) thì red γ[p, q] = ∅. Ngược lại, ta sẽ sử dụng công thức (2.24), (2.25) và (2.26) để tìmp0, q0.
Cụ thể, với mỗii ∈{1, . . . . , n ,} nếup i = qi thì từ (2.25) và (2.26) ta cóp0
i = qi0= pi = qi.Trong trường hợp còn lại, nếupi < qi thì ta tínhp0= q − n
P i=1 ηi(qi− pi)ei với ηi = minj J∈ 1ηij,với ηij = sup{ |η ≤0 η ≤1, g j(q η− (qi − pi)ei) 0≥ } (2.27) = 1 nếu maxk∈{1,...,n}\{ }i (qk− a j k) 0≥ , qi − aji qi− pi trường hợp còn lại. ∀ ∈j J1. (2.28) Sau khi thu đượcp0,nếup0
i = qi thì từ (2.24) ta cóq0 i = p0 i = qi,ngược lại ta tính q0= p0+ n P i=1 µi(qi − p0i)ei với µi = 1 nếu f p( 0+ (qi− p0 i)ei) ≤ γ, γ f p− ( 0) qi − p0 i trường hợp còn lại.
Như đã đề cập ở trên, sau khi tính xongp0, q0ta sẽ tínhp˜ = dp0eS vàq˜ = bq0cS. Vì vậy nếup˜ q˜ thì[p0, q0] ∩ S = ∅. Do đó ta có thể bỏ qua tập này bằng cách đặt redS
γ[p, q] = ∅.
Thủ tục tính cận
Phần này mô tả cách tìm cận trên và cận dưới củaf x( )trên hộpB = [p, q]sau khi được cắt giảm thông qua thủ tục cắt giảm ở phần trước. Chú ý rằng, khi đóp, q ∈S.
Với bất kìx˜∈ H đặtI 1 = {i ∈{1, . . . , n}|x˜ i> 0}và
Khi đó ta gọiz¯i = ˜x+ (w i − ˜x i)ei, i ∈ I1,làđiểm lân cận dưới thứicủax.˜ Một số trường hợp sau đây có thể xử lí nhanh chóng
• Nếug q <( ) 0thì không cóx∈ [p, q]chấp nhận được vàmin ( ){f x |x∈[p, q }] = + ;∞
• Nếu g p( ) ≥ 0 thì mọi giá trị x ∈ [p, q] là chấp nhận được và min ( ){f x |x ∈
[p, q }] = ( );f p
• Nếuf p > γ( ) ( là giá trị cận trên tốt nhất hiện tại) thìγ f x > γ x( ) ∀ ∈ [p, q] và ta có thể bỏ qua hộp [p, q .]
Bỏ qua những trường hợp tầm thường trên, ta có bổ đề sau
Bổ đề 2.3. Giả thiếtg q( ) 0 ≥ > g p( )vàf p( ) ≤ γ.
(i) Gọi x B( ) là giao đ iểm của đoạn thẳng{p α q+ ( −p ,) 0 ≤ α ≤ }1 nối vàp q với mặtg x( ) = 0.Khi đóx B( ) = + ( − )p λ q p ,với
λ = max j J∈ p min i∈{1,...,n} qi−pi6=0 aji − pi qi− pi , Jp = {j ∈ J 1|p∈ [0, aj) = } {j ∈J 1|gj( ) 0p < }. Và ta có g x B(b ( )cS) = 0. (ii) Đặt yi = + ( ( )p x B i− pi)ei, i= 1, . . . , nvà đặt I = {i ∈{1, . . . , n}|red S γ[yi, q] = [˜y i, ˜qi] = 6 ∅}.
NếuI = ∅thì không có điểm chấp nhận được nào của bài toán (2.23) nằm trong hộp[p, q] thỏa mãnf x < γ,( ) ngược lại ta có:
β B( ) = min
i I∈ f(˜y i). (2.29)
sẽ là một cận dưới củaf x( ) trênB.
(iii) Với bất kì ˜x∈H đặtI 1 = {i∈ {1, . . . , n}|x˜ i > 0} và
wi = max{y i|yi ∈{0, aji, j ∈J 1}, yi < ˜x i}, i∈ I 1.
Khi đó, ¯zi = ˜x+ (w i− ˜x i)ei, i ∈ I1 là “điểm lân cận dưới thứ ” củai x. Nếu˜ g(¯zi) 0 < với mọi i∈I 1thì ˜xlà một đỉnh chính củaH, tức là, ˜x ∈V.
Chứng minh. (i) Trước tiên ta chỉ ra rằng 0 ≤ λ ≤ 1.Thật vậy, vì g p <( ) 0nên λ ≥ 0.Giả sửλ > .1 Khi đó theo định nghĩa của tồn tại một chỉ sốλ j ∈J psao cho
aji − pi
qi − pi > , i1 ∀ ∈{1, . . . , n , q} i − pi 6= 0.
Vì vậy ta có qi < a ji với mọi i ∈ {1, . . . , n ,} tức là, q ∈ [0, a j); hay, g q( ) ≤ gj( ) 0;q < điều này mâu thuẫn vớig q( ) 0 ≥ và chứng tỏλ ≤ 1.
Tiếp theo, ta sẽ chứng minh g x B( ( )) = 0. Với những j /∈ J p, hiển nhiên gj( ( ))x B ≥ g j( )p ≥ .0 Vớij ∈ J p đặt λj = min i ,...,n=1 qi−pi6=0 aji − pi qi − pi và lấy j∗ ∈ Jp thỏa mãnλj∗ = max j J∈ p λj = λ.Ta có gj( ( )) x B ≥ g j( +p λ j(q p− )) = max i ,...,n=1 (pi+ λ j(qi − pi) − a ji) = 0 với mọi j ∈ J p.Do đó g x B( ( )) = min
j J∈ 1 gj( ( )) =x B g j∗( ( )) = 0x B . Từ định nghĩa củaS-hiệu chỉnh dướidễ dàng suy rag x B(b ( )cS) = 0.
(ii) Ta sẽ chứng minh rằng, nếu là điểm chấp nhận được của bài toán (2.23) vày y ∈ B thì sẽ phải thuộc một trong các hộpy [yi, q , i] ∈ {1, ..., n .} Thật vậy, nếu ngược lại, với bất kì i = 1, ..., n ta có y i < yi
i (vìyi k = pk ≤ yk với mọi k ∈{1, . . . , n} \ { }) và do đói g y( ) = min j J∈ 1 max i ,...,n=1 (yi− a ji) min< j J∈ 1 max i ,...,n=1 ( ( )x B i− a ji) = ( ( )) = 0g x B , điều này mâu thuẫn với tính chấp nhận được củay.
Vì vậy {x∈B g x| ( ) 0≥ }⊂ n [ i=1 [yi, q .] Từ đó {x∈ B∩ |S g x( ) 0 ( )≥ , f x ≤ }γ ⊂ n [ i=1 redS γ[yi, q] = [ i I∈ [˜yi, ˜qi]. Suy ra,β B( ) = min
i I∈ f(˜y i)là một cận dưới củaf x( ) trên nếuB I 6= ∅và {x∈B ∩ |S g x( ) 0 ( )≥ , f x ≤ }γ =∅
nếuI = ∅. (iii) Vìx˜ ∈ H =
S
z V∈
[z, b] nên có một điểm z1 ∈ V sao chox˜ ∈ [z1, b .] Từ đó z1 ≤ ˜x. Với i ∈ {1, . . . , n} \I 1,0 ≤ z 1
i ≤ ˜x i = 0 rõ ràng z 1
i = ˜x 1i = 0. Giờ ta giả sử rằng tồn tại i1 ∈ I1 thỏa mãn z1
i1 < ˜x i1.Do z1 ∈ V ⊂ S và từ cách xác định của wi1 nên tồn tại chỉ số j1 ∈ J1 sao cho z1
i1 = a j1 i1 ≤ wi1.Ta lại có z¯i1 i = ˜x i ≥ z 1 i với mọi i 6= i1 và z¯i1 i1 = wi1 ≥ z 1
i1. Vì vậy ta thu được g(¯zi1) ≥ g z( 1) = 0,đây chính là mâu thuẫn. Và như vậyx z˜= 1 ∈ V.
Theo Bổ đề 2.3, các thủ tục tính cận dưới và cận trên củaf x( ) trên tậpB = [p, q] của bài toán (2.23) được mô tả chi tiết dưới đây.
Thủ tục tìm cận dưới
Cận dưới được tìm bằng cách sử dụng Bổ đề 2.3 (i) và (ii).
Thủ tục tìm cận trên
Về cơ bản ta có thể chọnbx B( )cS là điểm chấp nhận được của bài toán (2.23) với cận trên tương ứngf x B(b ( )c S) vìbx B c( ) S ∈ S vàg( x Bb ( )cS) = 0.Cách tính này giống như cách tìm điểm chấp nhận được của lược đồ nhánh-giảm-cận truyền thống. Thuật toán nhánh-giảm-cận tr uyền thống áp dụng cho bài toán (2.23) cụ thể như sau:
Thuật toán 2.4: Tìm nghiệm tối ưu toàn cục của bài toán (2.23) (hay, chính là nghiệm toàn cục của bài toán (SCEP)).
Khởi tạo. Nếu g b <( ) 0 thì bài toán (2.23) có tập chấp nhận được bằng rỗng, thuật toán kết thúc. Ngược lại,g b( ) 0≥ ,đặtP 1 := {B 1}, B1 = [0 ], b , R1 = ∅.Lấyγ = γ 0 := ( (f bx B 1)cS) là giá trị cận trên tốt nhất đầu tiên. Gánk := 1, x:= b (x B 1)cS.
Bước 1.Với mỗi hộpB = [p, q] ∈ Pk
- Trường hợp 1: Nếug q <( ) 0hoặcf p > γ( ) thì cập nhậtP k := Pk\B. - Trường hợp 2: Nếug q( ) ≥ ( )g p ≥ 0vàf p( ) ≤ γ thì cập nhật nghiệm
chấp nhận được x := p và giá trị cận mới γ := ( )f p đồng thời gán Pk := Pk \ B.
- Trường hợp 3: Nếu g q( ) ≥ 0 > g p( ) và f p( ) ≤ γ thì cắt giảm [p, q] thành[˜p, ˜q] = red Sγ[p, q] theo thủ tục cắt giảm trình bày ở trên và gán B := [˜p, ˜q .]
Bước 2. NếuPk = ∅, chuyển sang Bước 3. Ngược lại, với mỗi hộpB của Pk,sử dụng Bổ đề 2.3 (i) và (ii) tính nghiệm chấp nhận được bx B( )cS và cận dướiβ B .( )
Bước 3.Cập nhật lại giá trị cận trên tốt nhất và nghiệm chấp nhận đượcγ tương ứng Đặtx. Rk+1 = {B ∈ R k∪Pk|β B( ) γ .≤ }
Bước 4. NếuRk+1 6= ∅ thì chọn Bk ∈ argmin{β B( ) B| ∈ R k+1}. Chia Bk thành hai hộpBk1 vàBk2 theo thủ tục chia nhánh nêu ở đầu mục 2.2.3. LấyPk+1 = {B k1, Bk2}.Gánk:= + 1k và quay lạiBước 1.
Bước 5.NếuRk+1 = ∅thì dừng thuật toán và kết luận là một nghiệm tốix ưu với giá trị tối ưuγ.
Kết quả sau đây về sự hội tụ của Thuật toán 2.4 có thể xem là một trường hợp đặc biệt của Định lí 1.4.
Định lí 2.4. Thuật toán 2.4 dừng sau hữu hạn bước lặp và cho kết quả là nghiệm tối ưu toàn cục của bài toán (2.23).
Chứng minh. Xuất phát từ tính hữu hạn của tập S và phép cắt giảm S− hiệu chỉnh, tổng số nút của cây nhánh cận là hữu hạn. Do đó thuật toán sẽ dừng sau hữu hạn bước lặp. Nghiệm thu được hiển nhiên là nghiệm tối ưu toàn cục do lược đồ nhánh cận.
Định lí 2.4 khẳng định Thuật toán 2.4 dừng sau hữu hạn bước lặp và cho kết quả là nghiệm tối ưu toàn cục của bài toán (2.23). Tuy nhiên, chúng ta có thể khai thác thêm các tính chất đặc biệt của bài toán này để cải tiến thủ tục tính cận với hi vọng đẩy nhanh được tốc độ của Thuật toán 2.4 (theo lược đồ BRB truyền thống). Tiếp theo chúng tôi sẽ đề xuất một cách tính cận trên mới (khác với cách tính cận trên trong Thuật toán 2.4) sử dụng trong lược đồ nhánh-cận-giảm cho việc giải toàn cục bài toán (2.23). Nội dung của thủ tục này như sau. Nếux˜là một điểm chấp nhận được của bài toán (2.23) thuộc vào tậpH∩[p, q]vàx˜không phải là đỉnh chính của H (kiểm tra bằng Bổ đề 2.3 (iii)), ta sẽ di chuyển nó tới điểm chấp nhận được tốt hơn, chính là một trong những điểm lân cận dưới của
˜
x.Quá trình di chuyển này được thực hiện liên tục đến khi ta thu được một đỉnh