TRƯỜNG ĐẠI HỌC KHOA HỌC ------ NGUYỄN ĐỖ QUỲNH TRANG THUẬT TOÁN TÌM NGHIỆM HỮU HIỆU CỦA BÀI TOÁN TỐI ƯU HAI CẤP TUYẾN TÍNH ĐA MỤC TIÊU... TRƯỜNG ĐẠI HỌC KHOA HỌC ------ NGUYỄN Đ
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC
- -
NGUYỄN ĐỖ QUỲNH TRANG
THUẬT TOÁN TÌM NGHIỆM HỮU HIỆU CỦA BÀI TOÁN TỐI ƯU HAI CẤP TUYẾN TÍNH ĐA MỤC TIÊU
Trang 2TRƯỜNG ĐẠI HỌC KHOA HỌC
- -
NGUYỄN ĐỖ QUỲNH TRANG
THUẬT TOÁN TÌM NGHIỆM HỮU HIỆU CỦA BÀI TOÁN TỐI ƯU HAI CẤP TUYẾN TÍNH ĐA MỤC TIÊU
Trang 3Mục lục
Chương 1 Kiến thức chuẩn bị về tối ưu đa mục tiêu 4
1.1 Tập lồi đa diện 4
1.2 Bài toán tối ưu đa mục tiêu tuyến tính 8
1.3 Tìm các đỉnh và cạnh hữu hiệu 11
1.3.1 Tìm đỉnh hữu hiệu ban đầu 11
1.3.2 Tìm các đỉnh hữu hiệu và cạnh hữu hiệu 12
Chương 2 Bài toán tối ưu hai cấp tuyến tính đa mục tiêu 14 2.1 Phát biểu bài toán 14
2.2 Xác định các điểm hữu hiệu của (BMPP’) 16
2.3 Thực thi thuật toán 18
2.4 Bài toán tối ưu hai cấp tuyến tính đa mục tiêu 21
2.5 Ví dụ minh họa 24
Trang 4Mở đầu
Bài toán tối ưu hai cấpcó thể hiểu đơn giản là bài toán tối ưu mà trong ràng buộccủa nó lại là một bài toán tối ưu khác Bài toán tối ưu hai cấp xuất hiện trên sách báo,tạp chí có liên quan tới các hệ thống phân cấp, bài toán hai cấp nảy sinh từ nhiều ứngdụng đa dạng chẳng hạn trong hoạt động vận tải, kinh tế, sinh thái học, kỹ thuật, Khi các hàm mục tiêu và các hàm ràng buộc trong bài toán là các hàm tuyến tính,thì ta có bài toán tối ưu hai cấp tuyến tính Chúng được phân ra thành: bài toán mộtmục tiêu (được nghiên cứu và ứng dụng nhiều hơn), bài toán đa mục tiêu (khó ứngdụng hơn do ít có thuật toán hiệu quả) và bài toán tối ưu trên tập Pareto là trường hợpriêng biệt
Tối ưu hai cấp thuộc lớp các bài toán tối ưu toàn cục, nói chung rất phức tạp vàkhó giải Nói riêng nó bao hàm bài toán tối ưu trên tập Pareto như một trường hợp cụthể Nhiều phương pháp đã được đề xuất, tuy nhiên hiệu quả không cao và chủ yếuđối với các bài toán tuyến tính hai cấp với một hay nhiều mục tiêu
Bài toán tối ưu hai cấp có một số dạng chính sau:
toán ngoài (bài toán cấp trên) và bài toán trong (bài toán cấp dưới), G: X → R,
Trang 5Khi F, f và G, g tuyến tính, bài toán gọi là bài toán tối ưu tuyến tính hai cấp (Bilevel Linear Programming Problem - BLPP) hay trò chơi Stackelberg tuyến
Problem - BMPP): Nếu F và f là các véctơ hàm (hàm giá trị véctơ), tức là
Đề tài luận văn “Thuật toán tìm nghiệm hữu hiệu của bài toán tối ưu hai cấp
tuyến tính đa mục tiêu” có mục đích tìm hiểu và trình bày một số kết quả lý thuyếtliên quan tới bài toán tối ưu hai cấp đa mục tiêu và giới thiệu thuật toán tìm nghiệmhữu hiệu của bài toán tối ưu hai cấp tuyến tính đa mục tiêu (khái niệm min được hiểutheo nghĩa Pareto sẽ được định nghĩa ở phần sau) Luận văn được viết dựa trên các tàiliệu tham khảo [1]-[6] hiện có và chủ yếu nhằm giới thiệu thuật toán được đưa ra ởhai tài liệu [5] và [6] Nội dung luận văn gồm hai chương:
số khái niệm về tập lồi và tập lồi đa diện (đỉnh, cạnh và diện của tập lồi đadiện), khái niệm nghiệm hữu hiệu (điểm tối ưu Pareto) của bài toán tối ưu tuyếntính đa mục tiêu, tính chất tập nghiệm hữu hiệu và giới thiệu thuật toán tìm cácnghiệm hữu hiệu của bài toán
Trang 6• Chương 2 Bài toán tối ưu hai cấp tuyến tính đa mục tiêucó nội dung:
– Phát biểu bài toán tối ưu hai cấp tuyến tính đa mục tiêu.
– Khái niệm nghiệm hữu hiệu.
– Tính chất nghiệm hữu hiệu của bài toán.
– Thuật toán tìm các nghiệm hữu hiệu của bài toán.
Do thời gian có hạn nên luận văn này chủ yếu chỉ dừng lại ở việc tìm hiểu, tập hợp tàiliệu, sắp xếp và trình bày các kết quả nghiên cứu đã có theo chủ đề đặt ra Trong quátrình viết luận văn cũng như trong soạn thảo văn bản chắc chắn không tránh khỏi cónhững sai sót nhất định Tác giả luận văn rất mong nhận được sự góp ý của các thầy
cô và các bạn đồng nghiệp để luận văn được hoàn thiện hơn
Nhân dịp này, tác giả xin bày tỏ lòng biết ơn sâu sắc tới thầy hướng dẫn GS.TS.Trần Vũ Thiệu đã tận tình giúp đỡ trong suốt quá trình làm luận văn Tác giả cũng xinchân thành cảm ơn các GS, PGS, TS của Khoa Toán-Tin, Trường Đại học Khoa họcThái Nguyên và của Viện Toán học đã giảng dạy và tạo mọi điều kiện thuận lợi trongquá trình tác giả học tập và nghiên cứu
Thái Nguyên, ngày 20 tháng 5 năm 2015
Tác giả
Nguyễn Đỗ Quỳnh Trang
Trang 7Chương 1
Kiến thức chuẩn bị về tối ưu đa mục tiêu
Chương này nhắc lại một số kiến thức về tập lồi đa diện, khái niệm nghiệm hữuhiệu (điểm tối ưu Pareto) của bài toán tối ưu tuyến tính đa mục tiêu và giới thiệu cáchtìm các đỉnh và cạnh hữu hiệu của bài toán, dựa trên phương pháp nón pháp tuyến.Nội dung của chương được tham khảo từ các tài liệu [1], [4] và [6]
1.1 Tập lồi đa diện
Trước hết ta nêu lại một số khái niệm có liên quan
Định nghĩa 1.1.1 (Tập afin) Tập M ⊆ Rn được gọi là một tập afin nếu có
tức là nếu M chứa hai điểm nào đó thì M chứa cả đường thẳng đi qua hai điểm ấy
Định nghĩa 1.1.2 Bao afin của một tập E ⊂ Rn là giao của tất cả các tập afin chứa
E, ký hiệu aff(E) Đó là tập afin nhỏ nhất chứa E
Định nghĩa 1.1.3 Thứ nguyên (hay số chiều) của một tập afin M được định nghĩa
bằng số chiều của không gian con song song với M
Định nghĩa 1.1.4 (Tập lồi) Tập C ⊆ Rn được gọi là một tập lồi nếu với mọi x1, x2∈ C
được định nghĩa bằng thứ nguyên của affC (bao afin của C)
Bổ đề 1.1.5 Giao của một họ bất kỳ các tập lồi trong Rnlà một tập lồi.
Trang 8Định nghĩa 1.1.6 (Siêu phẳng) Cho véctơ a ∈ Rn(a 6= 0) và số b ∈ R Tập
Ví dụ 1.1.7 Trong không gian 3 chiều R3, phương trình ax + by + cz = d, với a, b, c,
Định nghĩa 1.1.8 Cho véctơ a ∈ Rn (a 6= 0) và số b ∈ R Khi đó, các tập
Ví dụ 1.1.9 Trong mặt phẳng R2, Siêu phẳng x1+ x2 = 2tạo ra hai nửa không gian(nửa mặt phẳng) đóng
Bổ đề 1.1.10 Mọi siêu phẳng và nửa không gian đóng là các tập lồi.
Định nghĩa 1.1.11 (Tập da diện) Nếu P ⊆ Rn là giao của một số hữu hạn các
nửa không gian đóng thì P được gọi là một tập đa diện Một cách hình thức, cho
i=1
mãn chặtràng buộc i∗ i∗, x ≥ bi∗
Bổ đề 1.1.12 Tập đa diện là một tập lồi.
Một tập đa diện có thể không bị chặn Một tập đa diện bị chặn còn được gọi là
một đa diện lồi Các đa giác lồi theo nghĩa thông thường trong mặt phẳng (tam giác,
hình chữ nhật, hình thang, ) là những ví dụ cụ thể về đa diện lồi
Trang 9Định nghĩa 1.1.13 (Đường thẳng) Cho hai véctơ x0
chỉ phươngcủa đường thẳng
Định nghĩa 1.1.14 (Tia) Cho điểm x0∈ Rn và véctơ chỉ phương d ∈ Rn (d 6= 0) Tia
Định nghĩa 1.1.15 (Nón lồi) Cho tập lồi K ⊆ Rn Khi đó, K là một nón lồi nếu với
mọi x ∈ K và mọi λ > 0, ta có λ x ∈ K Một tập lồi đa diện mà đồng thời là một nón
lồi gọi là một nón lồi đa diện.
Định nghĩa 1.1.16 (Hướng lùi xa) Cho một tập lồi C ⊆ Rn Véctơ d ∈ Rn, d 6= 0 gọi
là một hướng lùi xa của C nếu
Có quan hệ đáng chú ý sau giữa ma trận A xác định P và hướng lùi xa của P
Định lí 1.1.17 Giả sử P ⊆ Rn là một tập đa diện xác định bởi
Định nghĩa 1.1.19 (Nón lùi xa) Nón lồi tạo nên bởi tập tất cả các hướng lùi xa của
một tập lồi C và véctơ 0 gọi là nón lùi xa của C, ký hiệu recC.
Ví dụ 1.1.20 Với các tập đa diện P và P0 vừa xét ở trên thì
Định lí 1.1.21 Tập đa diện P không bị chặn khi và chỉ khi recP 6= {0}.
Trang 10Định nghĩa 1.1.22 (Diện của tập lồi) Một tập con lồi F của một tập lồi C gọi là một
nghĩa là một đoạn thẳng bất kỳ thuộc C mà có một điểm bên trong nó thuộc F thì cảđoạn thẳng ấy phải nằm trọn trong F
Một diện của C, khác rỗng và khác C, gọi là một diện thực sự của C Ví dụ, các
Định nghĩa 1.1.23 (Điểm cực biên) Một diện có thứ nguyên (số chiều) 0 gọi là một
điểm cực biên của C Nói cách khác, x0∈ C là một điểm cực biên của C nếu không
Điểm cực biên của tập đa diện P gọi là một đỉnh của P.
Định nghĩa 1.1.24 (Đỉnh suy biến) Cho tập đa diện P = {x ∈ Rn : Ax ≥ b} Giả sử
Cho tập đa diện P 6= ∅ xác định bởi hệ bất phương trình tuyến tính
riêng, các đỉnh và cạnh) của P được cho trong định lý sau
Định lí 1.1.25 (Diện của tập đa diện) Một tập con lồi khác rỗng F ⊂ P là một diện
thực sự của P khi và chỉ khi
với I là tập chỉ số sao cho I0 ⊂ I ⊂ {1, , m} (I gọi là tập chỉ số xác định diện F).
Hơn nữa, ta códim F = n − rank{ai: i ∈ I} và dim P = n − rank{ai: i ∈ I0}.
Trang 11Định nghĩa 1.1.26 (Cạnh và đỉnh kề) Một diện của tập đa diện P có thứ nguyên 1
gọi là một cạnh: cạnh là hữu hạn nếu diện đó là một đoạn thẳng, cạnh là vô hạn nếu
diện đó là một nửa đường thẳng (tức tia) hay cả đường thẳng Hai đỉnh của P gọi là kềnhau nếu chúng được nối với nhau bằng một cạnh hữu hạn
i, x ≥ bi, với i = 1, , m:
x0 thỏa mãn chặt n ràng buộc độc lập tuyến tính của P;
(b) Nếu một đoạn thẳng (nửa đường thẳng hay cả đường thẳng) Γ ⊂ P là một cạnh
của P thì Γ được xác định bởi một tập chỉ số I sao cho rank{ai: i ∈ I} = n − 1.
1.2 Bài toán tối ưu đa mục tiêu tuyến tính
Xét bài toán tối ưu đa mục tiêu có dạng
với các x ∈ U khác nhau Vì thế, ta cần xác định một quan hệ thứ tự trên h(U), dùng
chỉ có thể xác định một thứ tự bộ phận trên h(U) Giả sử K là một nón tùy ý sao cho
bởi
Quan hệ thứ tự bộ phận tạo ra bởi các nón lồi, đóng và nhọn hay được sử dụng nhất
Do không thể tìm được một nghiệm mà là tối ưu đồng thời cho mọi hàm mục tiêu,nên ta dùng một khái niệm yếu hơn, đó là khái niệm điểm không bị vượt trội
Định nghĩa 1.2.1 Điểm y0 ∈ h(U) gọi là điểm không bị vượt trội (non-dominated
Trang 12Nếu y∗ ∈ h(U)là điểm không bị vượt trội theo nón K thì x∗ ∈ U sao cho y∗ = h(x∗)
gọi là điểm tối ưu Pareto (Pareto-optimal point) theo nón K.
Định nghĩa sau đây về các điểm hữu hiệu hay được sử dụng trên thực tế
Định nghĩa 1.2.2 Điểm x∗∈ U gọi là điểm tối ưu Pareto hay nghiệm hữu hiệu ciant solution) của bài toán (BMPP) nếu không tồn tại x ∈ U sao cho
(effi-[h1(x), , hp(x)] ≤ [h1(x∗), , hp(x∗)], và[h1(x), , hp(x)] 6= [h1(x∗), , hp(x∗)]
+\ {0p})
Khi đó các nghiệm hữu hiệu, hay nghiệm tối ưu Pareto, là những nghiệm màkhông thể cải tiến theo một mục tiêu nào đó mà lại không làm thiệt hại ít nhất mộtmục tiêu khác (Ví dụ xe khách chạy một lúc sẽ tạo ra trên xe trạng thái tối ưu Pareto)
Ta nhận xét là Định nghĩa 1.1.22 là một trường hợp đặc biệt của Định nghĩa 1.1.19
+\ {0p}
Giải một bài toán tối ưu đa mục tiêu có nghĩa là tìm một phần hay toàn bộ tậpđiểm hữu hiệu và đệ trình nó cho người ra quyết định xem xét, đánh giá và lựa chọn.Khi đó, nghiệm do người ra quyết định lựa chọn (chẳng hạn theo một tiêu chuẩn nàođó) được xem là nghiệm tối ưu của bài toán tối ưu đa mục tiêu đã cho
Khi h(x) là một ánh xạ tuyến tính và U là một tập lồi đa diện thì ta có bài toán tối
ưu tuyến tính đa mục tiêu, ký hiệu là (MOLP) Có thể phát biểu như sau:
Sau đây là một số khái niệm về nghiệm của bài toán (MOLP)
Trang 13Định nghĩa 1.2.3 Ta nói x0 ∈ Dlà một nghiệm hữu hiệu của (MOLP) nếu không có
thì ta nói F là một diện nghiệm hữu hiệu, hay đơn giản, diện hữu hiệu Nếu diện hữu hiệu F là một đỉnh (hay cạnh) của D thì để đơn giản, ta nói F là một đỉnh hữu hiệu (hay cạnh hữu hiệu) của (MOLP).
Định nghĩa 1.2.4 Ta nói x0∈ Dlà một nghiệm hữu hiệu yếu của (VP) nếu không có
với mọi x ∈ D
Rõ ràng một nghiệm hữu hiệu cũng là nghiệm hữu hiệu yếu, nhưng điều ngược lạikhông chắc đúng
Chương này quan tâm chủ yếu tới các nghiệm hữu hiệu của bài toán (MOLP) Ta
có kết quả quan trọng sau đây
Bổ đề 1.2.5 Điểm x0∈ D là một nghiệm hữu hiệu của (MOLP) khi và chỉ khi có véctơ
dương λ ∈ Rp(λ > 0) sao cho x0là nghiệm cực tiểu của hàm tuyến tính f (x) = λTCx
trên D.
Bổ đề 1.2.6 Nếu tập D bị chặn thì bài toán (MOLP) luôn có nghiệm hữu hiệu.
Sau đây là một điều kiện cần và đủ để một điểm là nghiệm hữu hiệu
Bổ đề 1.2.7 x0 ∈ D là một nghiệm hữu hiệu của (MOLP) khi và chỉ khi nón pháp
tuyến của D tại x0 là pháp tuyến âm, tức là ND(x0) có chứa véctơ C-âm.
Trang 14Từ đó suy ra một số hệ quả sau về nghiệm hữu hiệu của bài toán (MOLP).
Hệ quả 1.2.8 Giả sử I(F) là tập chỉ số xác định diện F ⊆ D Khi đó, F là diện hữu
hiệu khi và chỉ khi I(F) là tập chuẩn tắc âm, theo nghĩa
Hệ quả 1.2.9 Tập nghiệm hữu hiệu của (MOLP) là rỗng khi và chỉ khi
[
x∈D
Nếu giao này khác rỗng thì mỗi phần tử v thuộc giao sinh ra một nghiệm hữu hiệu
Hệ quả 1.2.10 Tập nghiệm hữu hiệu của (MOLP) là liên thông đường gấp khúc,
nghĩa là với bất kỳ hai nghiệm hữu hiệu x, y ∈ D, tồn tại hữu hạn nghiệm hữu hiệu
x1, , xk sao cho x0= x, xk= y và mọi đoạn [xi, xi+1], i = 0, , k − 1, là hữu hiệu.
đều không suy biến (xem Định nghĩa 1.1.24)
1.3.1 Tìm đỉnh hữu hiệu ban đầu
Trang 15Nếu hệ vô nghiệm thì dừng: Bài toán (MOLP) không có nghiệm hữu hiệu Trái lại,
là mọi x ∈ D là nghiệm hữu hiệu) Còn nếu v 6= 0, giải bài toán qui hoạch tuyến tính:
hữu hiệu ban đầu của bài toán (MOLP)
1.3.2 Tìm các đỉnh hữu hiệu và cạnh hữu hiệu
(b) I là tập chuẩn tắc hay hệ
i, x ≥ bi, i∈ {1, , m} \ I
chứa véctơ C-âm (tức là véctơ biểu diễn được thành tổng các véctơ hàng của C với các
Trang 16Bước 1 (Đỉnh x0không suy biến) Chọn tập I ⊂ I(x0)với |I| = n − 1 (n tập).1a) Kiểm tra I chuẩn tắc âm: Giải hệ
quay lại thực hiện 1a) Trái lại, I là tập chuẩn tắc âm và chuyển sang thựchiện 1b)
t0= min {ti: i ∈ {1, , m} \ I}
thực hiện 1a)
Kết luận Chương 1
Chương 1 đã đề cập tới bài toán tối ưu đa mục tiêu và trường hợp riêng là bài toántối ưu tuyến tính đa mục tiêu, nhắc lại một số khái niệm có liên quan đến bài toánnhư: tập lồi đa diện và các đỉnh, cạnh, diện của tập lồi đa diện, khái niệm điểm tối
ưu Pareto hay nghiệm hữu hiệu của bài toán đa mục tiêu và giới thiệu tóm tắt thuậttoán xác định các đỉnh và cạnh hữu hiệu của bài toán, dựa theo phương pháp nón pháptuyến
Trang 17và [6].
2.1 Phát biểu bài toán
Bài toán tối ưu hai cấp một mục tiêu (Bilevel Programming Problem) có thể phátbiểu như sau:
ngoài (bài toán cấp trên) và bài toán trong (bài toán cấp dưới), G: X → R, g: X ×Y →
R là các hàm ràng buộc bất đẳng thức
Khi các hàm mục tiêu (F, f ) và các hàm ràng buộc (G,g) trong bài toán cấp trên
và bài toán cấp dưới là hàm tuyến tính thì bài toán lúc đó gọi là bài toán tối ưu tuyến
Trang 18tính hai cấp (Bilevel Linear Programming Problem, viết tắt là BLPP) hay trò chơi
Stackelberg tuyến tính(Linear Stackelberg Game)
Nếu F và f là các véctơ hàm (hàm giá trị véctơ), tức là
thì ta có bài toán tối ưu đa mục tiêu hai cấp (Bilevel Multi-Objective Program-mingProblem, viết tắt BMPP) Bài toán tối ưu đa mục tiêu hai cấp (BMPP) có thể phátbiểu như sau:
Với các ký hiệu đó, ta có thể phát biểu bài toán (BMPP) dưới dạng:
Ký hiệu Ω là tập chấp nhận được (feasible space) của (BMPP), xác định bởi
Trang 19Định nghĩa 2.1.1 (x∗, y∗)là một điểm (hay nghiệm) hữu hiệu (efficient point/solution)
[F1(x, y), , Fp(x, y)] ≤ [F1(x∗, y∗), , Fp(x∗, y∗)] và[F1(x, y), , Fp(x, y)] 6= [F1(x∗, y∗), , Fp(x∗, y∗)]
Mục đích chính là xác định các điểm hữu hiệu của bài toán (BMPP)
Để cho tiện, sau đây tập điểm hữu hiệu của bài toán tối ưu đa mục tiêu, xácđịnh bởi hàm giá trị véctơ h trên tập chấp nhận được U theo nón K, sẽ được ký hiệu
và S chỉ toàn bộ tập điểm hữu hiệu của bài toán (BMPP’)
2.2 Xác định các điểm hữu hiệu của (BMPP’)
Xét bài toán tối ưu đa mục tiêu (cấp dưới), được xây dựng từ dữ liệu của bài toán(BMPP’)
min
x,y
¯
Định lí 2.2.1 Ω = E( ¯f,Z,≤K).
Chứng minh Xem Pieume C O et al [6, p.291].
Khi đó, việc giải (BMPP’) tương đương với giải bài toán:
min
Điều này dẫn một cách tự nhiên đến hệ quả sau
Hệ quả 2.2.2 S = E(F,E( ¯f,Z,≤K3), ≤K1)
Trang 20Tìm E( ¯f,Z,≤K)không phải là việc dễ dàng ít nhất là vì hai lý do: Thứ nhất, rất
thứ hai, trong các tài liệu không có phương pháp xác định các điểm hữu hiệu đối với
Định lí 2.2.3 E( ¯f,Z,≤K4) ⊂ E( ¯f, Z, ≤K3).
Chứng minh. Giả sử X = (x,y) ∈ E( ¯f,Z,≤K4) Khi đó, không tồn tại X0= (x0, y0) ∈ Z
min
Rõ ràng từ cách phát biểu này và Hệ quả 2.2.2 dẫn đến hệ quả sau
Hệ quả 2.2.4 E(F,E( ¯f,Z,≤K4), ≤K1) ⊆ S.
dàng Các tác giả bài báo [6] đưa ra một bài toán mới dễ giải hơn và việc giải nó cóthể cho phép tìm được một tập con các nghiệm hữu hiệu của (BMPP")
Xét bài toán tối ưu đa mục tiêu sau đây
min
Định lí 2.2.5 E( ¯f,Z,≤K4) ∩ E(F, Z, ≤K1) ⊆ E(F, E( ¯f, Z, ≤K4), ≤K1).
Chứng minh. Giả sử (x,y) ∈ E( ¯f,Z,≤K4) ∩ E(F, Z, ≤K1), nghĩa là (x,y) ∈ E( ¯f,Z,≤K4