Kết quả giải bài toán (RAP) bằng Thuật toán 2.2 và Thuật toán 2.3

Một phần của tài liệu (LUẬN văn THẠC sĩ) một số lớp bài TOÁN tối ưu KHÔNG lồi THUẬT TOÁN và ỨNG DỤNG (Trang 48)

No. M N K #Var #Constr Thuật toán 2.2 Thuật toán 2.3

#Iter UB LB time(s) #Iter UB LB time(s) NoF

1 3 3 4 36 153 5 4981 4981 1.4 2 4981 4981 0.9 1 2 4 4 3 48 376 11 2267 2267 0.5 2 2267 2267 0.3 1 3 4 4 4 64 496 5 16528 16500 1.4 2 16543 16500 1 1 4 3 3 6 54 225 39 40 40 8.8 17 40 40 1.4 1 5 4 4 5 80 616 797 876753 876624 25.4 95 876654 876534 23.4 2 6 4 4 6 96 736 49 5962 5950 65.6 38 5962 5871 35.4 2 7 5 5 4 100 1225 123 9564 9514 792.4 37 9587 9432 76.8 2 8 6 6 3 108 1926 137 3757 3743 1023.2 33 3789 3641 151.4 1 9 5 4 6 120 1160 - - - - 399 12367 12356 1500 2 10 5 5 5 125 1525 - - - - 278 98794 98765 1809 2

- : Thất bại trong việc tìm −nghiệm tối ưu của (RAP) .

được này xấp xỉ nghiệm tối ưu toàn cục. Tuy nhiên để kiểm chứng tính tối ưu toàn cục chúng ta vẫn phải chạy thuật toán nhánh cận đến khi cận trên và cận dưới đủ gần nhau. Có thể thấy chất lượng nghiệm chấp nhận được thu bởi DCA là tốt và đáng tin cậy. Vì vậy khi yêu cầu về thời gian khắt khe, ta có thể sử dụng luôn kết quả thu được từ DCA.

• DCA cho kết quả trong thời gian ngắn giúp tăng tốc thuật toán nhánh cận cổ điển. Khi số biến càng lớn thì sự hiệu quả của thuật toán nhánh cận kết hợp DCA so với thuật toán sử dụng lược đồ nhánh cận truyền thống càng được thể hiện rõ.

2.2 Thuật toán giải bài toán năng lượng phủ cảm biến cho mạngcảm biến vô tuyến cảm biến vô tuyến

Mạng cảm biến vô tuyến (Wireless sensor networks) bao gồm một tập hợp (số lượng từ chục đến hàng nghìn) các cảm biến (sensor nodes) sử dụng các liên kết vô tuyến hoạt động trên một vùng địa lí để thu thập dữ liệu từ môi trường xung quanh. Cảm biến có kích thước nhỏ và chỉ sử dụng năng lượng từ pin, có chức năng thu thập các thông tin chẳng hạn như: nhiệt độ, độ ẩm, ánh sáng,.... từ môi trường xung quanh để gửi về cho người sử dụng thông qua một trạm thu nhận nào đó. Các cảm biến có thể hoạt động trong những điều kiện khắc nghiệt vì vậy nó được ứng dụng trong rất nhiều lĩnh vực, chẳng hạn như dự báo thiên tai (lũ lụt, cháy rừng, sóng thần,...), nông nghiệp, quân sự, y tế, thiết kế nhà ở, văn phòng thông minh,... Chi tiết về mạng cảm biến vô tuyến có thể xem trong [60] và danh mục các tài liệu tham khảo kèm theo. Một trong những bài toán thu hút được sự quan tâm nghiên cứu khi thiết kế một mạng cảm biến vô tuyến là bài toán phủ cảm biến (sensor coverage problem) [61], mục đích xác định số lượng tối thiểu các cảm biến sao cho mỗi điểm đích (target node) của vùng cần giám sát đều được thu thập thông tin bởi ít nhất một cảm biến. Tuy nhiên, để duy trì hoạt động của mạng hiệu quả thì việc sử dụng năng lượng một cách hữu hiệu

và tiết kiệm là một vấn đề quan trọng (xem chi tiết trong [62, 63, 64, 65, 66, 67, 68]). Gần đây, Astorino và Miglionico [39] đã nghiên cứu vấn đề này và đề xuất mô hình bài toán năng lượng phủ cảm biến (sensor cover energy problem, viết tắt là SCEP) cho mạng cảm biến vô tuyến, mục đích xác định bán kính cảm biến cho mỗi cảm biến sao cho tất cả các điểm đích đều được giám sát trong khi năng lượng tiêu hao cho mạng là ít nhất. Bài toán (SCEP) là một bài toán tối ưu không lồi khó với ràng buộc không lồi. Bằng cách sử dụng kĩ thuật hàm phạt các tác giả đã đưa bài toán về một bài toán tối ưu DC và đề xuất thuật toán giải dựa trên cách tiếp cận địa phương DCA, nhưng khó có thể kiểm tra tính toàn cục của nghiệm thu được. Trong luận án này, với việc khai thác các tính chất từ cấu trúc đơn điệu của bài toán, chúng tôi đã đề xuất ba thuật toán mới giải bài toán (SCEP), bao gồm: một thuật toán tìm nghiệm địa phương, một thuật toán toàn cục dựa trên lược đồ nhánh-giảm-cận (BRB) truyền thống và một thuật toán cải tiến thuật toán nhánh-giảm-cận truyền thống. Các thuật toán toàn cục thu được sau khi bài toán gốc được đưa về một bài toán tối ưu đơn điệu rời rạc tương đương. Nghiệm chấp nhận được sử dụng trong các bước của thuật toán toàn cục nhánh-giảm-cận cải tiến là kết quả thu được từ thuật toán tìm nghiệm địa phương của bài toán ban đầu. Cách tìm nghiệm chấp nhận được mới này giúp tăng tốc đáng kể thuật toán dựa trên lược đồ BRB truyền thống. Tính hiệu quả của các thuật toán đề xuất được minh họa thông qua các tính toán thử nghiệm cho thuật toán địa phương với số biến lên tới 1000 và thuật toán toàn cục với số biến tới 75.

2.2.1 Mô tả bài toán

Xét một mạng cảm biến vô tuyến với cảm biến tại các vị trín si ∈Rm, i= 1, ..., n vàmđiểm đích tại các vị trítj ∈ Rp, j = 1, ..., m.Trong thực tế, thông thườngp = 2 hoặcp = 3tương ứng với mạng cảm biến được xét trên một mặt bằng hay trong không gian ba chiều. Với mỗi i ∈ {1, . . . , n ,} năng lượng tiêu thụ của cảm biến trên mỗii đơn vị thời gian, được kí hiệu là Ei(ri), là một hàm đơn điệu không giảm theo bán kính cảm biếnri (ri ∈R+) và được tính theo công thức:

Ei(ri) = α irβi

i + γ, ` i ≤ r i ≤ ui,

trong đó αi > , β0 i > 0là các hằng số phụ thuộc vào thiết bị phần cứng dùng thiết kế cảm biến và biểu diễn trạng thái tiêu thụ năng lượng lúc nghỉ của cảm biến. Bàiγ toán đặt ra là xác địnhri ∈[`i, ui] ⊂R+, i = 1, . . . , n,sao cho mỗi điểm đícht j, j = 1, ..., mđều được phủ bởi ít nhất một cảm biến và tổng năng lượng tiêu thụ của toàn bộ mạng là ít nhất. Kí hiệur = (r 1, . . . , rn)T, ` = (` 1, . . . , `n)T, u = (u 1, . . . , un)T.

Khi đó ta có biểu diễn toán học của bài toán này như sau min E r( ) = n Xi=1 Ei(ri), (SCEP) v.đ.k. max 1≤ ≤i n (ri− ksi − tjk ≥) 0 j∀ ∈{1, . . . , m ,} ` r≤ ≤u. Đặtxi = αirβi i , aji = αiksi − t jkβi, ci = α i`βi i , bi = αiuβi i ,với i = 1, . . . , n và c = (c1, . . . , cn)T, b = (b1, . . . , bn)T thì bài toán (SCEP) sẽ tương đương với bài toán dưới đây: min f x( ) = n Xi=1 xi (2.19) v.đ.k. gj( ) = maxx 1≤ ≤i n (xi − aji) 0 = 1≥ , j , . . . , m, c x≤ ≤b.

Rõ rànggj( ) x lồi với mọij = 1, . . . , m. Do đó bài toán (2.19) là một bài toán tối ưu không lồi với hàm mục tiêu tuyến tính và các ràng buộc lồi đảo. Mô hình trên được xây dựng bởi Astorino và Miglionico [39]. Trong công trình này, các tác giả sử dụng kĩ thuật hàm phạt chuyển ràng buộc lồi đảo lên hàm mục tiêu và đưa bài toán về một bài toán tối ưu DC rồi sử dụng thuật toán DCA để giải. Tuy nhiên, như đã biết cách tiếp cận này không cho phép kiểm tra tính toàn cục của nghiệm thu được.

Chú ý rằng,gj( )x , j = 1, . . . , m cũng là một hàm tăng, vì vậy bài toán (SCEP) thực chất cũng thuộc lớp bài toán tối ưu đơn điệu tổng quát: cực tiểu một hàm tăng f x( ) = n

P

i=1 xi với các ràng buộc đơn điệugj( ) 0 = 1x ≥ , j , ..., m.

2.2.2 Bài toán tối ưu đơn điệu rời rạc tương đương với bài toán (SCEP)

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. (adsbygoogle = window.adsbygoogle || []).push({});

(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. (adsbygoogle = window.adsbygoogle || []).push({});

(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] = ∅. (adsbygoogle = window.adsbygoogle || []).push({});

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 phần của tài liệu (LUẬN văn THẠC sĩ) một số lớp bài TOÁN tối ưu KHÔNG lồi THUẬT TOÁN và ỨNG DỤNG (Trang 48)