Số phần tử của tập () nhỏ hơn rất nhiều so với số phần tử của tập

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 92)

V(conv )Y

Như vậy, nếu xác định được toàn bộ tập đỉnh của bao Edgeworth-Pareto củaY thì ta giải xong bài toán ( )P . Sau đây chúng tôi đề xuất một thuật toán tìm toàn bộ tập này.

Với mỗij ∈ {1, . . . , m ,} kí hiệu Yj ⊂ Rm−1 là tập thu được từ Y bằng cách xóa tọa độ thứ Dựa vào các tậpj. V Y( j ) ⊂ Yj, j ∈ {1, . . . , m ,} chúng tôi đề xuất thuật toán tínhV Y( )như sau.

Thuật toán 3.2:Tính tập đỉnh của bao Edgeworth-Pareto củaY,tức tậpV Y( ). Bước 1:LấyyM ∈Rm sao choyM > yU.

Bước 2:Với mỗij = 1, ..., m

Xác địnhYj := {pj( )y |y ∈Y ,} trong đópj( )y thu được từy = (y 1, ..., yj, ..., ym)T bằng cách xóa tọa độ thứj. Tính Vj := {v ∈R m|pj( ) v ∈ V Y( j ), vj = yMj }. Bước 3:LấyY0:= Y ∪( m S j=1 Vj)∪{yM}và xác địnhV Y( )theo công thức V Y( ) = (V convY 0) ∩ Y.

Chú ý 3.2. (i) Thuật toán 3.2 là thuật toán đệ quy theo số chiềumcủa tậpY . (ii) Có thể xem Thuật toán 3.2 như là một thủ tục với đầu vào làY vàm; đầu ra là

EPH(Y, m) := V Y ).( Khi đó, vớim = 1 rõ ràng ta có bao Edgeworth-Pareto của tậpY ⊂Rlà EPH(Y,1) = min{ |y y ∈ Y .}

Dưới đây là một ví dụ đơn giản minh họa cho Thuật toán 3.2 cho trường hợp m = 2.

Ví dụ 3.4. Xét tập

Y := {a, b, c, d} với a:= (1 1), , b := (1 0), , c := (0 −1), , d:= ( 1− −1), như minh họa ở Hình 3.10.

Bước 1:Tính yM1 := 2 max> {y 1| (y1, y2) ∈Y}= 1, yM2 := 3 max> {y 2| (y1, y2) ∈Y}= 1. Bước 2:Xác định Y1= 1 0 1 1{ , , − , − }, Y 2 = 1 1 0 1{ , , , − }. Y1 = conv( 1 0 1 )+{− , , } R + = [ 1 + )− , ∞ , Y 2 = conv( 1 0 1 )+{− , , } R + = [ 1 + )− , ∞ . Và V Y( 1) = 1{− }, V Y( 2) = 1{− }, V1 = {v = (v 1, v2) ∈ R2, v2 ∈ V Y( 1 ), v1 = yM1 = 2 = (2 1) = } { , − } {y M1}, V2 = {v = (v 1, v2) ∈ R2, v1 ∈ V Y( 2 ), v2 = yM2 = 3 = ( 1 3) = } { − , } {y M2}. Bước 3: Y0= Y ∪{V1, V2}∪{yM} = Y ∪{(2, 1) (− , 1 3)− , }∪{(2 3), }. V Y( ) = (convY 0)∩ Y = ( 1 1){ − , − }.

3 2 1 1 a d -1 c -1 b . . . 0 yM2 yM1 yM Hình 3.10:Minh họa Ví dụ 3.4

Tính đúng đắn và dừng hữu hạn của thuật toán được thể hiện qua định lí sau.

Định lí 3.1. Thuật toán 3.2 dừng sau hữu hạn bước lặp cho ta tập tất cả các đỉnh của bao Edgeworth-Pareto Y .

Chứng minh. Ta chia chứng minh thành một số bước như sau: (i) LấyS = V(convY0) \ ( m

S

j=1 Vj)∪{yM} .Ta sẽ chứng minh rằngS ⊂Y. Thật vậy, vìy ≤yM với mọiy ∈convY0kéo theoyM là một đỉnh của convY0. Vớij = 1, lấyv∈ V1và giả sử rằngv6∈ V(convY0).Dov1= yM

1 ≥ y1 với mọi y = (y1, ..., ym) ∈ convY0, ta thấy rằng là tổ hợp lồi của những điểm thuộcv Y0

nằm trên mặt y1 = y1M,điều đó có nghĩa là v = X vµ∈V1 λµvµ+ λMyM (3.5) = X vµ∈V1 λµvµ+ λMq λ+ M(yM − q ,) (3.6) trong đó P vµ∈V1 λµ+ λM = 1, λ µ, λM ∈[0 1], , q ∈Y. Từ (3.6) ta có thể viết p1( ) =v X vµ∈V1 λµp1(vµ) + λ Mp1( ) +q α,

trong đóp1(vµ), p1( ) q ∈ Y1 = p1( )Y , α λ= Mp1((yM −q)) p∈ 1(Rp+) = R p−1+ . Vìp1( ) v ∈ V Y( 1 )ta cóλµ = 1 vớip1(vµ) = p 1( )v , λµ = 0 vớip1(vµ) = 6 p1( )v và λM = 0. Kết hợp với (3.5) ta kết luận là một đỉnh của convv Y0. Lập luận tương tự cho những trường hợp còn lạij = 2, . . . , m.

Như vậy, (∪mj=1 Vj)∪{yM} ⊂ V(conv(Y0)).Kết hợp với định nghĩa của Y0= Y ∪( m

S

j=1 Vj)∪{yM}ta thu đượcS ⊂ Y.

(ii) Ở bước này ta chứng minh rằng với mỗij ∈ {1, ..., m}vàv ∈V j,tồn tạiv¯∈ S sao cho pj(¯v) = p j( )v .Không mất tính tổng quát ta sẽ xét trường hợp j = 1, những trường hợp còn lại của ta sẽ làm tương tự.j

Cố định v ∈ V1 và đặt ¯v = argmin{y1|y ∈ Y, p1( ) =y p 1( )v }. Ta sẽ chứng minh rằng ¯v ∈ S.Thật vậy, vì p1(¯v) ∈ V Y( 1) nên ¯v không thể là tổ hợp lồi của những điểm thuộc Y0mà hình chiếu của nó trên không gian p1(Rm) := {(y2, ..., ym), j∀ = 2, ..., m}khácp 1(¯v .) Mặt khác, vì

¯v1 = min{y 1|y ∈Y, p1( ) = y p 1( ) = minv } {y 1|y ∈ Y0, p1( ) = y p1( )v }, ta có ¯v6∈conv(Y0\ {¯v}) + R m

+ chính là điều cần chứng minh. (iii) Bây giờ ta sẽ chứng minh rằng Y = S .

Hiển nhiên, S ⊂ Y , vì vậy ta chỉ cần chỉ ra rằng Y ⊂ S . Thật vậy, lấy điểm y ∈ Y , khi đó tồn tại z ∈ convY, d ∈ Rm

+ sao cho y = z + d. Do z ∈ convY ⊂ convY0, ta có thể biểu diễn thành tổ hợp lồi củaz V(convY0), nghĩa là z = l Xk=1 λkv k + m Xj=1 vµ jX ∈Vj λjµvµj + λMyM, (3.7) trong đóλk, λj µ, λM ∈[0 1] , và l P k=1 λk+ m P j=1 vµ jP∈Vj λj µ + λM = 1. Từ (ii), với mỗivµj ∈Vj có ¯vµj ∈ Ssao chovµj = ¯vµj + α jµej vớiαj

µ > .0 Như vậy, từ (3.7) kéo theo (adsbygoogle = window.adsbygoogle || []).push({});

z = l Xk=1 λkv k + m Xj=1 vµ jX ∈Vj λjµ¯vµj + λMv1+ m Xj=1 vXµj ∈Vj αjµej + λ M(yM − v1), (3.8) = l Xk=1 λkv k + m Xj=1 vµ jX ∈Vj λjµ¯vµj + λMv1+ ¯d, (3.9)

trong đód =¯ m P j=1 vµjP∈Vj αj µej + λM(yM − v1) ∈Rm +,suy ray ∈S vàY ⊂S . (iv) Cuối cùng ta chứng minh khẳng địnhV Y( ) = = (S V convY 0) ∩ Y.

Trước hết ta chỉ ra rằng vk 6∈ conv({v1, v2, ..., vl} \ {v k}) + R m

+ , với mọik ∈

{1 2, , ..., l .}

Thật vậy, giả sử ngược lạivk = +u β,trong đó là tổ hợp lồi củau {v 1, v2, ..., vl} \ {v k} vàβ ∈ Rm

+ .Chú ý rằng, với mỗi j ∈ {1, ..., m , v} k + (yM

j − vjk)ej ∈conv(Y0) vàyM

j > vk

j do đó tồn tại sốtj > 0 sao chovk + te j ∈ convY0với0 ≤ ≤t t j. Vì convY0lồi nên

conv( m [

j=1

{vk+ tej| ≤ ≤0 t t j}) ⊂convY0. Đặtv := vk+λβ, khi đó tồn tạiλ > 0thỏa

v∈ conv(

m

[

j=1

{vk+ te j| ≤ ≤0 t t j }),

tức là v ∈ convY 0, và do đó vk = λ+1λ u + λ+11 v, điều này trái với vk ∈

V(convY0).

Từ (iii) và (iv) ta kết luận rằngV Y( ) = S = V(convY 0) ∩ Y. Định lí đã được chứng minh.

Chú ý 3.3. Do convY = conv( (V convY )) và như đã biết trong nhiều trường hợp tập V(convY) nhỏ hơn tập Y rất nhiều nên với Thuật toán 3.2 ta có thể thay thếY bằng V(convY). Để tìm V(convY ) ta có thể sử dụng những thuật toán đã biết chẳng hạn như thuật toán Quickhull [77].

Cuối cùng, chúng tôi đề xuất thuật toán giải toàn cục bài toán ( )P trong trường hợp hàm đơn điệu tăng và tựa lõm trênϕ Y .

Thuật toán 3.3:Giải toàn cục bài toán( )P .

Bước 1. Dùng một thuật toán đã biết để tính V (convY ,) chẳng hạn thuật toán Quickhull [77].

Bước 2. Áp dụng Thuật toán 3.2 vớiY := V(convY ) tính tập đỉnh V Y( ) của bao Edgeworth-ParetoY .

Bước 3. Tính giá trị hàm mục tiêu tại các điểm củaϕ V Y( )để tìm ra y∗ ∈

argmin{ϕ y( ) y| ∈ V Y( )}.Khi đóy∗ là nghiệm tối ưu của bài toán(OP) và giá trị x∗ thỏa mãn f x( ∗) = y ∗ chính là nghiệm tối ưu toàn cục của bài toán ( )P .

3.3.3 Kết quả tính toán thử nghiệm

Chúng tôi lập trình thử nghiệm các thuật toán bằng Matlab phiên bản R2012a, trên máy tính cá nhân với cấu hình RAM 8G, Intel core i7 2.26 GHz và hệ điều hành Win7-64bit. (adsbygoogle = window.adsbygoogle || []).push({});

Để tính tập đỉnh của bao lồi của Y chúng tôi sử dụng lệnh "convhulln" trong Matlab ("convhulln" được thiết kế dựa trên thuật toán Quickhull [77]).

Dữ liệu của bài toán được sinh ngẫu nhiên theo sơ đồ sau

• f x( ) = Cx,trong đó ma trậnC ∈ {0 1, } m n× được sinh ngẫu nhiên.

• X chứap p( ∈N) véc-tơ trongR n,được viết dưới dạng ma trận cấpp n.× Các phần tử củaX được sinh ngẫu nhiên trong đoạn[0 1000], .

• Hàm có dạngϕ

ϕ1( ) = miny {B 1( )y Tz z| ∈{0 1}, n, aTz ≤ }b hoặc

ϕ2( ) = miny {B 2( )y Tz z| ∈{0 1}, n, aTz ≤ }b ,

trong đó a ∈ R m là một véc-tơ nguyên được sinh ngẫu nhiên trong đoạn [0 1000], , b = 12 m

P

i=1 ai. và Bk( ) :y Rm → Rn, k = 1 2, được cho bởi công thức Bi1( ) = Πy nj=1 yαij j , αji ≥ 0, yj ≥ 0 = 1, i , . . . , n j; = 1, . . . , m và Bi2( ) =y n Xj=1 α i j log(yj + 1), α ij ≥ 0, yj ≥ 0 = 1, i , . . . , n j; = 1, . . . , m.

Rõ ràngϕ1 vàϕ2 là các hàm đơn điệu tăng và tựa lõm theoy. Như vậy ta có thể áp dụng Thuật toán 3.3 để giải bài toán( )P .

Chúng tôi tính tại mỗi điểm bằng cách sử dụng CVX 2.1 kèm theo Gurobiϕ y Solver 6.0 (academic version at http://cvxr.com/cvx/ and http://www.gurobi.com/) cho việc giải bài toán quy hoạch nguyên.

Thuật toán 3.2 và Thuật toán 3.3 được thử nghiệm cho trường hợpp = 106, p = 105 vàm = 2 3 4 5, , , . Các hệ số{α i

j}i ,...,nj ,...,m=1=1 được sinh ngẫu nhiên trong đoạn[0 1], , [0 0 5] , . và trong[0 0 25], . theo thứ tự vớin = 20 n = 50, vàn = 100.

Với mỗi cỡ bài toán chúng tôi chạy cho 10 ví dụ sinh ngẫu nhiên và lấy kết quả trung bình cho 10 ví dụ đó. Kí hiệu #S là số phần tử trung bình của tập choS 10 ví dụ, trong đó có thể làS V (convY , V Y) ( ) hoặc YN. Chúng tôi so sánh Thuật toán 3.3 với cách làm trực tiếp - tínhYN từ tậpY và sau đó tính giá trị hàm mục tiêu tại tất cả các điểm của YN để thu được nghiệm tối ưu của bài toán (Thuật toán 3.4). Cách tínhYN từ tậpY tương tự như [69, Thuật toán 8.1, trang 209]. Chi tiết Thuật toán 3.4 như sau.

Thuật toán 3.4:Giải toàn cục bài toán( )P bằng cách làm trực tiếp.

Bước 1: TínhYN =Min từ tậpY Y đã biết theo thuật toán đã biết (chẳng hạn, [69, Thuật toán 8.1, trang 209]).

Bước 2: Tính giá trị hàm mục tiêu ϕ tại các điểm của YN để tìm ra y∗ ∈

argmin{ϕ y( ) y| ∈ YN} là nghiệm tối ưu của bài toán (OP .) Điểm x ∗ ∈ X thỏa mãnf x( ∗) = y ∗ chính là nghiệm tối ưu toàn cục của bài toán( )P .

Bảng 3.6:Kết quả tính toán thử nghiệm Thuật toán 3.2

p = 105 p = 106

m n # (V convY) # (V Y ) CPU(s) # (V convY) # (V Y ) CPU(s)

20 17.4 3.6 0.0952 20.2 4.3 0.7972 2 50 15.3 3.6 0.1092 17.6 3.9 0.9313 100 15.7 3.8 0.1544 17.7 3.8 1.3775 20 80.8 9.1 0.117 111.8 9.9 0.9859 3 50 77.7 9.4 0.1778 94 8.9 1.0889 100 72.2 7.2 0.2059 87.9 9.5 1.3806 20 301 18.6 0.1763 450.9 18.4 1.2511 4 50 256.3 12.5 0.1981 356.5 15.7 1.2293 100 231.8 13.3 0.2262 307.2 15.3 1.4087 20 853.3 23.2 0.5772 1477.6 38 2.5943 5 50 658.7 21.8 0.4586 1060 25.8 2.3228 100 621.8 19.8 0.4352 967.2 24.7 2.5225

Bảng 3.7:Kết quả so sánh Thuật toán 3.3 và Thuật toán 3.4

ϕ1-CPU(s) ϕ2-CPU(s)

p m n # (V convY) # (V Y ) #YN Thuật toán 3.3 Thuật toán 3.4 Thuật toán 3.3 Thuật toán 3.4

20 17.4 3.6 8.1 0.4961 1.5647 0.4118 1.4945 2 50 15.3 3.6 6.2 0.5148 1.4305 0.4212 1.3884 100 15.7 3.8 6.7 0.5476 1.2355 0.468 1.2168 20 80.8 9.1 25.8 0.883 3.4382 0.8268 3.4164 3 50 77.7 9.4 24.4 1.0436 3.705 0.9204 3.6379 105 100 72.2 7.2 15.8 0.9079 3.3524 0.8315 3.2885 20 301 18.6 55.4 1.7628 8.2446 1.702 8.1838 4 50 256.3 12.5 40.4 1.3073 8.1417 1.1778 7.9202 100 231.8 13.3 40.7 1.3666 6.1527 1.2558 5.9187 20 853.3 23.2 73.3 2.6767 17.6843 2.4476 17.0915 5 50 658.7 21.8 74.7 2.5085 16.0198 2.3478 15.8404 100 621.8 19.8 71.7 2.028 10.1697 1.989 10.0543 20 20.2 4.3 8.4 1.1716 6.4912 1.1794 6.4319 2 50 17.6 3.9 6.9 1.2527 7.5161 1.2698 7.5161 100 17.7 3.8 7.4 1.7004 5.2385 1.7098 5.1886 20 111.8 9.9 23.9 1.8548 14.1774 1.8174 14.11654 3 50 94 8.9 26.4 1.9812 17.6796 1.8751 17.5361 106 100 87.9 9.5 27.9 2.3057 19.8917 2.1887 19.848 20 450.9 18.4 61.2 2.8532 57.0823 2.6676 56.8982 4 50 356.5 15.7 61 2.4617 41.3278 2.4461 41.0922 100 307.2 15.3 64.3 2.6411 42.4744 2.6005 42.2607 20 1477.6 38 153.5 5.694 119.2986 5.577 119.26276 5 50 1060 25.8 96.3 4.6691 90.2169 4.4164 90.1218 100 967.2 24.7 104.9 4.6597 79.9053 4.4725 79.7103

Từ các kết quả số thu được ta rút ra một số nhận xét sau

• Thuật toán 3.2 tính tập đỉnh của bao Edgeworth-Pareto của một bài toán tối ưu đa mục tiêu hiệu quả ngay cả trong trường hợp số lượng điểm của tập ràng buộc là106 và số lượng hàm mục tiêu là 5.

• Thuật toán 3.3 sử dụng bao Edgeworth-Pareto giải bài toán tối ưu một hàm tựa lõm, đơn điệu tăng trên một tập hữu hiệu của một bài toán tối ưu đa mục tiêu rời rạc hiệu quả hơn Thuật toán 3.4 khi tập ràng buộc rời rạc có số lượng điểm lớn và việc tính giá tr ị hàm mục tiêu tại mỗi điểm đòi hỏi nhiều thời gian tính toán. (adsbygoogle = window.adsbygoogle || []).push({});

Kết luận

Chương 3 của luận án nghiên cứu thuật toán giải hai bài toán tối ưu không lồi trong tối ưu đa mục tiêu rời rạc.

• Bài toán tìm toàn bộ tập giá trị hữu hiệu của bài toán tối ưu đa mục tiêu rời rạc. - Sử dụng khái niệm đa khối nửa mở cho biểu diễn miền kiếm của bài toán

tối ưu đa mục tiêu rời rạc.

- Chúng tôi đề xuất một thủ tục cập nhật miền tìm kiếm mới sử dụng cho lược đồ chung GM để tìm toàn bộ tập giá trị hữu hiệu.

- Nghiên cứu sự ảnh hưởng của việc quản lí những bài toán con được lưu trong suốt quá trình tìm kiếm thông qua việc khảo sát lược đồ chung GM với bốn cách quản lí khác nhau.

- Thuật toán mới đề xuất được lập trình so sánh với các thuật toán đã biết cho rất nhiều ví dụ có sẵn và sinh ngẫu nhiên với nhiều cỡ bài toán từ nhỏ đến lớn. Kết quả số cho thấy sự hiệu quả của lược đồ chung GM phụ thuộc lớp bài toán cần giải, thủ tục cập nhật miền tìm kiếm và cách quản lí các bài toán con được lưu.

• Bài toán tối ưu trên tập hữu hiệu.

- Chúng tôi xét một lớp bài toán tối ưu trên tập hữu hiệu với hàm mục tiêu đơn điệu tăng và tựa lõm, miền ràng buộc là tập hữu hiệu của một bài toán tối ưu đa mục tiêu rời rạc.

- Chúng tôi đề xuất thuật toán tính toàn bộ tập đỉnh của bao Edgeworth- Pareto trong không gian ảnh và sử dụng kết quả này cho việc đề xuất thuật toán toàn cục giải bài toán tối ưu trên tập hữu hiệu đang xét.

- Tính hiệu quả của các thuật toán đề xuất được thể hiện thông qua việc lập tr ình thử nghiệm cho nhiều ví dụ sinh ngẫu nhiên với nhiều cỡ bài toán khác nhau.

KẾT LUẬN CHUNG

1. Những đóng góp chính của luận án

Luận án nghiên cứu các thuật toán giải một số bài toán tối ưu không lồi có nhiều ứng dụng trong thực tế, cụ thể là:

Đối vớibài toán phân bổ tài nguyên cho mạng không dây OFDMA/TDD, chúng tôi đã xây dựng mô hình toán học cho bài toán này dưới dạng một bài toán quy hoạch tuyến tính nhị phân. Sau đó, sử dụng tiếp cận liên tục (kĩ thuật hàm phạt) bài toán được đưa về dạng một bài toán tối ưu DC. Cuối cùng chúng tôi đề xuất thuật toán toàn cục nhánh cận kết hợp DCA để giải bài toán này.

Đối vớibài toán năng lượng phủ cảm biến cho mạng cảm biến vô tuyến, chúng tôi xuất phát từ mô hình bài toán tối ưu không lồi liên tục khó (với ràng buộc không lồi), được đề xuất bởi Astorino và Miglionico [39]. Bằng cách 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 trên, 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 cổ điển và một thuật toán cải tiến thuật toán nhánh- giảm-cận cổ điển. Trong đó, 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.

Đối vớibài toán tìm toàn bộ tập giá trị hữu hiệu cho bài toán tối ưu đa mục tiêu rời rạc, sử dụng khái niệm đa khối nửa mở cho biểu diễn miền kiếm của bài toán tối ưu đa mục tiêu rời rạc, chúng tôi đề xuất một thủ tục cập nhật miền tìm kiếm mới dùng cho lược đồ GM để tìm toàn bộ tập giá trị hữu hiệu của bài toán tối ưu đa mục tiêu rời rạc. Ngoài ra, chúng tôi còn nghiên cứu sự ảnh hưởng của việc quản lí những bài toán con được lưu trong suốt quá trình tìm kiếm thông qua việc khảo sát lược đồ GM với một số cách quản lí khác nhau.

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 92)