Tải bản đầy đủ

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

ĐẠI HỌC THÁI NGUYÊN
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

LUẬN VĂN THẠC SĨ TOÁN HỌC

THÁI NGUYÊN - 2016


ĐẠI HỌC THÁI NGUYÊN
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

LUẬN VĂN THẠC SĨ TOÁN HỌC
Chuyên ngành :Toán ứng dụng
Mã số

: 60 46 01 12

NGƯỜI HƯỚNG DẪN KHOA HỌC:
GS.TS. Trần Vũ Thiệu

THÁI NGUYÊN - 2016


i

Mục lục

Mở đầu

1

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

Tài liệu tham khảo

32


1

Mở đầu
Bài toán tối ưu hai cấp có thể hiểu đơn giản là bài toán tối ưu mà trong ràng buộc
củ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 ứng
dụ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ột
mụ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ó ứng
dụ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ợp
riê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:
• Bài toán tối ưu hai cấp một mục tiêu (Bilevel Programming Problem - BPP)




G(x) 0,





miny∈Y f (x, y)
(BPP)
min F(x, y) với
x∈X


y nghiệm đúng




với g(x, y) 0.

với x ∈ X ⊂ Rn , y ∈ Y ⊂ Rm và F, f : X ×Y → R lần lượt là hàm mục tiêu của bài
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,
g : X ×Y → R là các hàm ràng buộc.


2
Khi 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
tính (Linear Stackelberg Game - LSG).
• Bài toán tối ưu đa mục tiêu hai cấp (Bilevel Multi-Objective Programming
Problem - BMPP): Nếu F và f là các véctơ hàm (hàm giá trị véctơ), tức là
F : Rn × Rm → R p



f : Rn × Rm → Rq

Bài toán tối ưu đa mục tiêu hai cấp (BMPP) được viết như sau
min F(x, y) = min F1 (x, y), · · · , Fp (x, y)
với
x∈X
x∈X



G(x) 0, x ∈ X







min f (x, y) = min f1 (x, y), · · · , fq (x, y)

y∈Y

y nghiệm đúng y∈Y






với g(x, y) 0, y ∈ Y.

(BMPP)

Khi F, f , G, g là các ánh xạ tuyến tính thì ta có bài toán tối ưu tuyến tính hai
cấp đa mục tiêu. Bài toán này bao gồm trường hợp riêng là bài toán tối ưu trên
tập nghiệm hữu hiệu.
Đề 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ết
liê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ệ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 (khái niệm min được hiểu
theo 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ài
liệ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:
• Chươ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ố 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 đa
diệ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ến
tí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ác
nghiệm hữu hiệu của bài toán.


3
• Chương 2. Bài toán tối ưu hai cấp tuyến tính đa mục tiêu có 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ài
liệ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 xin
chân thành cảm ơn các GS, PGS, TS của Khoa Toán-Tin, Trường Đại học Khoa học
Thá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 trong
quá 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


4

Chươ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ữu
hiệ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ách
tì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ó
λ a + (1 − λ )b ∈ M

với mọi a, b ∈ M và mọi λ ∈ R,

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
và mọi λ ∈ [0, 1] ta có λ x1 + (1 − λ )x2 ∈ C. Thứ nguyên của tập lồi C, ký hiệu dimC,
đượ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 Rn là một tập lồi.


5
Định nghĩa 1.1.6 (Siêu phẳng). Cho véctơ a ∈ Rn (a = 0) và số b ∈ R. Tập
H = x ∈ R n | aT x = a1 x 1 + . . . + an x n = b
gọi là một siêu phẳng trong Rn . Đó là tập nghiệm của một phương trình tuyến tính
trong Rn .
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,
d ∈ R không cùng bằng 0, xác định một siêu phẳng (mặt phẳng) trong R3 .
Định nghĩa 1.1.8. Cho véctơ a ∈ Rn (a = 0) và số b ∈ R. Khi đó, các tập
H1 = x ∈ Rn | aT x = a1 x1 + . . . + an xn ≤ b ,
H1 = x ∈ Rn | aT x = a1 x1 + . . . + an xn ≥ b ,
gọi là các nửa không gian đóng, xác định bởi siêu phẳng aT x = b.
Ví dụ 1.1.9. Trong mặt phẳng R2 , Siêu phẳng x1 + x2 = 2 tạo ra hai nửa không gian
(nửa mặt phẳng) đóng
H1 = x ∈ R2 | x1 + x2 ≤ 2



H2 = x ∈ R2 | x1 + x2 ≥ 2

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
a1 , . . . , am ∈ Rn là tập hữu hạn các véctơ cột và b1 , . . . , bm là các hằng số. Xét các nửa
không gian đóng Hi = x ∈ Rn | ai , x ≥ bi . Khi đó, P =

m

Hi là một tập đa diện.

i=1

Mỗi bất phương trình ai , x ≥ bi gọi là một ràng buộc cuả P. Ta nói điểm x0 ∈ P thỏa


mãn chặt ràng buộc i∗ nếu ai , 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.


6
Định nghĩa 1.1.13 (Đường thẳng). Cho hai véctơ x0 , d ∈ Rn (d = 0). Đường thẳng đi
qua x0 theo phương d là tập các điểm x(λ ) = x0 + λ d với λ ∈ R. Véctơ d gọi là véctơ
chỉ phương củ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 = 0). Tia
đi từ x0 theo hướng d là tập điểm Γ = x | x = x0 + λ d, λ ≥ 0 ..
Đị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 = 0 gọi
là một hướng lùi xa của C nếu
x | x = x0 + λ d, λ ≥ 0 ⊆ C

với mọi x0 ∈ C.

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
P = {x ∈ Rn : Ax ≥ b, x ≥ 0} .
Khi đó, d là một hướng lùi xa của P khi và chỉ khi
Ad ≥ 0, d ≥ 0, d = 0.
Hệ quả 1.1.18. Nếu P0 = {x ∈ Rn : Ax = b, x ≥ 0}. Khi đó, d là một hướng lùi xa của
P khi và chỉ khi Ad = 0, d ≥ 0, d = 0.
Đị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ì
rec P = {d ∈ Rn : Ad ≥ 0, d ≥ 0}



rec P0 = {d ∈ Rn : Ad = 0, d ≥ 0} .

Định lí 1.1.21. Tập đa diện P không bị chặn khi và chỉ khi rec P = {0}.


7
Đị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
diện (face) của C nếu x, y ∈ C mà λ x + (1 − λ )y ∈ F, với một λ ∈ (0, 1) thì [x, y] ⊆ F,
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
diện thực sự của khối lập phương trong R3 là 8 đỉnh, 12 cạnh và 6 mặt của nó.
Đị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
tồn tại x1 , x2 ∈ C, x1 = x0 hoặc x2 = x0 sao cho x0 = λ x1 + (1 − λ )x2 với λ ∈ (0, 1).
Đ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ử
x0 là một đỉnh của P. Nếu x0 thỏa mãn chặt (với dấu bằng) đúng n ràng buộc xác định
P thì x0 gọi là một đỉnh không suy biến, trái lại (x0 thỏa mãn chặt nhiều hơn n ràng
buộc) thì x0 gọi là một đỉnh suy biến.
Cho tập đa diện P = ∅ xác định bởi hệ bất phương trình tuyến tính
ai , x ≥ bi,

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

Với x ∈ P, ký hiệu I(x) = i : ai , x = bi là tập chỉ số những ràng buộc mà x thỏa
mãn chặt. Đặt I0 = i : ai , x = bi với x ∈ P . Tính chất đặc trưng của các diện (nói
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
F = x : ai , x = bi , i ∈ I,

ai , x ≥ bi , i ∈
/I

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 }.


8
Đị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.
Hệ quả 1.1.27. Cho P là tập đa diện xác định bởi hệ ai , x ≥ bi , với i = 1, . . . , m:
(a) Điểm x0 ∈ P là một đỉnh của P khi và chỉ khi rank{ai : i ∈ I(x0 )} = n, nghĩa là
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
Vmin h(x) = [h1 (x), . . . , h p (x)]

với x ∈ U,

(MOPP)

h : Rn → R p là véctơ hàm mục tiêu, U ⊆ Rn là tập ràng buộc của bài toán.
Để giải (MOPP), ta cần phải so sánh các véctơ hàm mục tiêu [h1 (x), . . . , h p (x)] đối
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
để só sánh. Vì với p ≥ 2, trong R p không có thứ tự toàn phần như trong R1 nên ta
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
K ⊂ R p , một quan hệ nhị nguyên (hai ngôi) theo nón K, ký hiệu ≤K , được xác định
bởi
a ≤K b

khi và chỉ khi

(b − a) ∈ K.

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
point) trên h(U)theo nón K nếu không tồn tại điểm y ∈ h(U), y = y0 sao cho y ≤K y0 .


9
Nế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 (efficiant solution) của bài toán (BMPP) nếu không tồn tại x ∈ U sao cho
[h1 (x), . . . , h p (x)] ≤ [h1 (x∗ ), . . . , h p (x∗ )],



[h1 (x), . . . , h p (x)] = [h1 (x∗ ), . . . , h p (x∗ )].
Nếu x∗ là một điểm tối ưu Pareto thì h(x∗ ) gọi là một điểm không bị vượt trội (theo
p
nón K ≡ R+
\ {0 p }).

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ột
mụ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
p
với nón được sử dụng là R+
\ {0 p }.

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:
Vmin {Cx : x ∈ D}

(MOLP)

với C là ma trận cấp p × n và D ⊆ Rn là một tập lồi đa diện được xác định bởi hệ
ai , x ≥ bi ,

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

với ai ∈ Rn và bi ∈ R (i = 1, . . . , m) cho trước.
Sau đây là một số khái niệm về nghiệm của bài toán (MOLP).

(1.1)


10
Định nghĩa 1.2.3. Ta nói x0 ∈ D là một nghiệm hữu hiệu của (MOLP) nếu không có
x ∈ D với Cx0 ≥ Cx và Cx0 = Cx. Nếu mọi điểm thuộc diện F ⊆ D là nghiệm hữu hiệu
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 ∈ D là một nghiệm hữu hiệu yếu của (VP) nếu không có
x ∈ D với Cx0 > Cx. Ta còn nói x0 ∈ D là một nghiệm hữu hiệu lý tưởng nếu Cx0 ≤ Cx
với mọi x ∈ D.

Hình 1.1: D1 và D2 : x1 , x2 - đỉnh hữu hiệu, [x1 , x2 ] - cạnh hữu hiệu; trong D2 : [x0 , x1 )
- hữu hiệu yếu; trong D3 : x0 - hữu hiệu lý tưởng
Hình 1.1 minh họa tập nghiệm hữu hiệu trong R2 khi C = I2 (ma trận đơn vị).
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ại
khô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 λ ∈ R p (λ > 0) sao cho x0 là nghiệm cực tiểu của hàm tuyến tính f (x) = λ T Cx
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.


11
Từ đó 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
cone −ai : i ∈ I ∩ ri − cone c1 , . . . , c p

=∅

Hệ quả 1.2.9. Tập nghiệm hữu hiệu của (MOLP) là rỗng khi và chỉ khi
ND (x) ∩ ri − cone c1 , . . . , c p

= ∅.

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
của (VP), đó là nghiệm cực tiểu của bài toán min −vT x : x ∈ D .
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.

1.3

Tìm các đỉnh và cạnh hữu hiệu

Mục này nhắc lại tóm tắt thuật toán tìm đỉnh và cạnh hữu hiệu của bài toán tối ưu
tuyến tính đa mục tiêu (MOLP), dựa theo phương pháp nón pháp tuyến [4].
Ta nêu lại bài toán (MOLP)
Vmin {Cx : x ∈ D}

với

C ⊂ R p×n và

D = x ∈ Rn : ai , x ≥ bi, i = 1, 2, . . . , m
trong đó ai ∈ Rn , bi ∈ R (i = 1, . . . , m) cho trước. Giả thiết D = ∅ và mọi đỉnh của D
đề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

Giải hệ
p

m

∑ µia

i=1

i

=

∑ λk ck ,
k=1

µi ≥ 0, i = 1, . . . , m, λk > 0, k = 1, . . . , p.


12
Nế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,
giả sử λ > 0 là một nghiệm. Đặt v = CT λ . Nếu v = 0 thì dừng: Tập D là hữu hiệu (tức
là mọi x ∈ D là nghiệm hữu hiệu). Còn nếu v = 0, giải bài toán qui hoạch tuyến tính:
min{vT x : x ∈ D}. Ta thu được nghiệm tối ưu, chẳng hạn đỉnh x0 , và x0 là mộ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

Giả sử x0 là một đỉnh hữu hiệu. Ký hiệu
I(x0 ) = i ∈ {1, . . . , m} : ai , x0 = bi .
Bất kỳ tập con I ⊂ I(x0 ) với |I| = n − 1 và {ai : i ∈ I} độc lập tuyến tính, xác định một
hướng v = 0 từ hệ phương trình ak , x = 0, k ∈ I.
Để biết cạnh đi từ x0 theo hướng v là hữu hiệu, ta kiểm tra:
(a) I là tập chuẩn tắc âm hay nón sinh bởi {−ai : i ∈ I} có chứa véctơ C-âm.
(b) I là tập chuẩn tắc hay hệ
ai , x = bi ,

i ∈ I;

ai , x ≥ bi ,

i ∈ {1, . . . , m} \ I.

Ta nói tập chỉ số I ⊆ {1, . . . , m} là chuẩn tắc âm nếu nón sinh bởi {−ai : i ∈ I} có
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
hệ số âm).
THUẬT TOÁN. Tìm các cạnh hữu hiệu đi từ đỉnh hữu hiệu x0
Bước 0 (khởi sự). Xác định tập chỉ số tích cực:
I(x0 ) = i ∈ {1, . . . , m} ai , x = bi .
Nếu |I(x0 )| = n, chuyển sang Bước 1. Trái lại (tức là |I(x0 )| > n), chuyển tới
Bước 2.


13
Bước 1. (Đỉnh x0 khô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ệ
p

m

∑ µia

i

=

i=1

∑ λk ck ,

µi ≥ 0, i = 1, . . . , m, λk > 0, k = 1, . . . , p.

k=1

Nếu hệ này vô nghiệm thì chọn một tập I ⊂ I(x0 ) khác (|I| = n − 1) và
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ực
hiện 1b).
1b) Tìm cạnh hữu hiệu tương ứng: Tìm hướng v của cạnh đi từ x0 bằng cách
giải hệ ak , v = 1, k ∈ I(x0 ) \ I, ai , v = 0, i ∈ I. Đặt
ti = max t : ai , x0 + tv ≥ bi , t ≥ 0 ,

i ∈ {1, . . . , m} \ I,

t0 = min {ti : i ∈ {1, . . . , m} \ I} .
1c) Nếu 0 < t0 < ∞ thì x0 + t0 v là một đỉnh hữu hiệu và [x0 , x0 + t0 v] là một
cạnh hữu hiệu kề x0 . Lưu giữ đỉnh và cạnh hữu hiệu nếu trước đó chúng
chưa được lưu giữ. Chọn một tập I ⊂ I(x0 ) khác (|I| = n − 1) và quay lại
thực hiện 1a).
1d) Nếu t0 = ∞ thì {x0 + tv : t ≥ 0} là một tia hữu hiệu. Ghi lại kết quả. Chọn
một tập I ⊂ I(x0 ) khác (|I| = n − 1) và quay lại thực hiện 1a). Thuật toán
sẽ dừng khi mọi tập con I ⊂ I(x0 ), |I| = n − 1, đã được xét.

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án
tố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án
như: 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ật
toá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áp
tuyến.


14

Chương 2

Bài toán tối ưu hai cấp tuyến tính
đa mục tiêu
Chương này đề cập tới bài toán tối ưu hai cấp đa mục tiêu và trường hợp riêng là
bài toán tối ưu hai cấp tuyến tính đa mục tiêu. Phần đầu trình bày một số kết quả lý
thuyết liên quan tới bài toán tối ưu hai cấp đa mục tiêu. Sau đó giới thiệu thuật toán
giải bài toán tối ưu hai cấp tuyến tính đa mục tiêu và xét một ví dụ minh họa cho thuật
toán giải trình bày. Nội dung của chương được tham khảo chủ yếu từ các tài liệu [5]
và [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át
biểu như sau:

min F(x, y) với
x∈X





G(x)




0,


miny∈Y f (x, y)



y nghiệm đúng




với g(x, y)


(BPP)

0.

với x ∈ X ⊂ Rn , y ∈ Y ⊂ Rm và F, f : X ×Y → R lần lượt là hàm mục tiêu của bài 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, 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


15
tí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à
F : Rn × Rm → R p



f : Rn × Rm → Rq

thì ta có bài toán tối ưu đa mục tiêu hai cấp (Bilevel Multi-Objective Program-ming
Problem, viết tắt BMPP). Bài toán tối ưu đa mục tiêu hai cấp (BMPP) có thể phát
biểu như sau:
min F(x, y) = min F1 (x, y), · · · , Fp (x, y)
x∈X
x∈X



G(x) 0, x ∈ X







min f (x, y) = min f1 (x, y), · · · , fq (x, y)
với

y∈Y

y nghiệm đúng y∈Y






với g(x, y) 0, y ∈ Y.

(BMPP)

Với mỗi quyết định x của cấp trên, ký hiệu R(x) là tập phương án của cấp dưới. Tập
này thường được xác định là tập điểm tối ưu Pareto của bài toán:
min f (x, y) = ( f1 (x, y), . . . , fq (x, y))
y∈Y

với g(x, y) ≤ 0.

Với các ký hiệu đó, ta có thể phát biểu bài toán (BMPP) dưới dạng:
F(x, y) = [F1 (x, y), . . . , Fp (x, y)]

với G(x) ≤ 0, y ∈ R(x).

Ký hiệu Ω là tập chấp nhận được (feasible space) của (BMPP), xác định bởi
Ω = {(x, y) ∈ X ×Y ⊆ Rn × Rm | G(x) ≤ 0 và y ∈ R(x)} .
Phát biểu ngắn gọn bài toán (BMPP) như sau:
min F(x, y) = [F1 (x, y), . . . , Fp (x, y)].

(x,y)∈Ω

Ta có định nghĩa sau.

(BMPP’)


16
Định nghĩa 2.1.1. (x∗ , y∗ ) là một điểm (hay nghiệm) hữu hiệu (efficient point/solution)
của (BMPP’) khi và chỉ khi (x∗ , y∗ ) ∈ Ω và không tồn tại (x, y) ∈ Ω sao cho
[F1 (x, y), . . . , Fp (x, y)] ≤ [F1 (x∗ , y∗ ), . . . , Fp (x∗ , y∗ )]



[F1 (x, y), . . . , Fp (x, y)] = [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
là E(h,U, ≤K ). Nếu khi nói về điểm hữu hiệu mà không nhắc tới nón cụ thể nào thì
p
điểm hữu hiệu được hiểu theo Định nghĩa 1.2.2. Ta còn sử dụng các ký hiệu: K1 = R−
\
n
n
{0 p }, K2 = Rq+ \{0q }, X = Rn+ , Y = Rm
+ , Z = (x, y) ∈ R+ × R+ | G(x) ≤ 0 và y ∈ R(x)

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 f¯(x, y) = ( f1 (x, y), . . . , fq (x, y), x) với (x, y) ∈ Z.
x,y

Giả sử K3 = Rq+ \ {0q } × {0n } và Ω là tập được xác định như trước đâ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 F(x, y) = [F1 (x, y), . . . , Fp (x, y)]
x∈X

Đ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 ).

với

(x, y) ∈ E( f¯, Z, ≤K ).

(MPP2 )


17
Tì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
khó để xác định được toàn bộ tập hữu hiệu E( f¯, Z, ≤K ) vì tập này có vô số điểm và
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
nón đặc biệt K3 = Rq+ \ {0q } × {0n }. Thông thường chỉ có các phương pháp tìm các
nghiệm hữu hiệu đối với các nón dạng Rn+ \ {0n }, n ∈ N.
Đặt K4 = Rq+n
+ \ {0q+n } (Rõ ràng là K4 ⊃ K3). Ta có kết quả sau.
Đị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 X = (x , y ) ∈ Z
sao cho (X ) − (X) ∈ K4 . Do K3 ⊂ K4 nên không tồn tại X = (x , y ) sao cho (X ) −
(X) ∈ K3 . Do đó X = (x, y) ∈ E( f¯, Z, ≤K3 ). Suy ra định lý.
Định lý 2.2.3 gợi ý cách tìm một tập con của E( f¯, Z, ≤K3 ) nhờ giải bài toán
min F(x, y) = [F1 (x, y), . . . , Fp (x, y)]
x∈X

với

(x, y) ∈ E( f¯, Z, ≤K ).

(BMPP”)

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.
Ngay cả khi nón dùng trong cách phát biểu cuối cùng này là K1 = Rn+ \ {0n },
n ∈ N, thì bài toán tối ưu nhiều hàm mục tiêu trên tập điểm hữu hiệu cũng không dễ
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 F(x, y) = [F1 (x, y), . . . , Fp (x, y)]
x∈X

với

(x, y) ∈ Z.

(MPP1 )

Đị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
) và (x, y) ∈ E(F, Z, ≤K1 ). Giả sử phản chứng rằng
(x, y) ∈
/ E(F, E( f¯, Z, ≤K4 ), ≤K1 ).


18
Khi đó, tồn tại (x , y ) ∈ E( f¯, Z, ≤K4 ) sao cho (x , y ) vượt trội (x, y), nghĩa là
F(x , y ) ≤ F(x, y)



F(x , y ) = F(x, y)

. Do E( f¯, Z, ≤K4 ) ⊆ Z, nên tồn tại (x , y ) ∈ Z sao cho
F(x , y ) ≤ F(x, y)



F(x , y ) = F(x, y).

Kết quả là (x, y) ∈
/ E(F, Z, ≤K1 ), trái với giả thiết
(x, y) ∈ E( f¯, Z, ≤K4 ) ∩ E(F, Z, ≤K1 .
Định lý được chứng minh.
Kết quả sau đây suy từ Định lý 2.2.5 và Hệ quả 2.2.4.
Hệ quả 2.2.6. E( f¯, Z, ≤K4 ) ∩ E(F, Z, ≤K1 ) ⊆ S.
Kết quả sau cùng này cho thấy rằng để tìm nghiệm hữu hiệu của (BMPP’) ta có
thể giải bài toán (MPP1 ) với thứ tự ≤K1 và bài toán (MPP2 ) với thứ tự ≤K4 và giữ lại
các điểm hữu hiệu thuộc cả hai tập điểm hữu hiệu.

2.3

Thực thi thuật toán

Để thực hiện các kết quả trên, ta cần chắc chắn rằng thuật toán sinh ra ít nhát
một nghiệm hữu hiệu của bài toán (BMPP’). Điều này chắc chắn sẽ xảy ra khi và
chỉ khi E( f¯, Z, ≤K4 ) ∩ E(F, Z, ≤K1 ) = ∅. Như vậy, điều kiện cần là E( f¯, Z, ≤K4 ) và
E(F, Z, ≤K1 ) phải khác rỗng. Kết quả sau đây cho một điều kiện đủ để hai tập kể trên
khác rỗng.
Định lí 2.3.1. Nếu có ba điều kiện sau:
(a) Z là tập compact, khác rỗng.
(b) với mọi i = {1, . . . , p}, Fi nửa liên tục dưới.
(c) với mọi j = {1, . . . , q}, f j nửa liên tục dưới.


19
thì E( f¯, Z, ≤K4 ) = ∅ và E(F, Z, ≤K1 ) = ∅.
p
Chứng minh. Nếu có điều kiện (b) thì F nửa liên tục dưới trên R+
(tức là nghịch ảnh

của orthant âm đã tịnh tiến luôn là tập đóng). Theo (a) Z là tập compact và khác rỗng
p
nên F(Z) là R+
-nửa liên tục và khác rỗng. Dựa trên kết quả này có thể khẳng định

rằng tập điểm không bị vượt trội là khác rỗng. Từ đó có thể kết luận rằng tập điểm
Pareto là khác rỗng, tức E( f¯, Z, ≤K1 ) = ∅. Chứng minh tương tự cho phép kết luận
rằng E( f¯, Z, ≤K4 ) = ∅.
Định lý sau cho một điều kiện đủ để thực hiện thuật toán dựa trên Hệ quả 2.2.6.
Định lí 2.3.2. Nếu có hai điều kiện sau:
(1) Z ⊂ Rm+n
là tập compact, khác rỗng.
+
(2) tồn tại i0 ∈ {1, . . . , p}, tồn tại j0 ∈ {1, . . . , q} và tồn tại α > 0 sao cho
• Fi0 và f j0 là các hàm nửa liên tục dưới,
• Fi0 và f j0 là các hàm đơn ánh,
• Fi0 = α f j0
thì E( f¯, Z, ≤K4 ) ∩ E(F, Z, ≤K1 ) = ∅.
Chứng minh. Giả sử có (1) và (2). Xét bài toán tối ưu
min{ f j0 (z) : z ∈ Z}

(pb1 )

Do f j0 là hàm nửa liên tục dưới và Z là tập compact khác rỗng, nên (pb1 ) có ít nhất
một nghiệm, chẳng hạn z0 . Ta sẽ chứng minh
z0 ∈ E( f¯, Z, ≤K4 ) ∩ E(F, Z, ≤K1 ).
Thật vậy, trước hết ta chỉ ra rằng z0 ∈ E( f¯, Z, ≤K4 ). Giả sử z0 ∈
/ E( f¯, Z, ≤K4 ). Khi đó,
tồn tại z ∈ Z, z = z0 , sao cho f¯(z ) = f¯(z0 ) và f¯(z ) ≤ f¯(z0 ). Từ đó suy ra f j0 (z ) ≤
f j0 (z0 ). Mặt khác, do z0 là một nghiệm tối ưu của (pb1 ) nên f j0 (z0 ) ≤ f j0 (z ) và do


20
đó f j0 (z0 ) = f j0 (z ). Vì f j0 là hàm đơn ánh nên điều này kéo theo z0 = z , ta gặp mâu
thuẫn! Vậy phải có z0 ∈ E( f¯, Z, ≤K4 ).
Do Fi0 = α f j0 và α > 0 nên z0 cũng là một nghiệm tối ưu của bài toán
min{Fj0 (z) : z ∈ Z}.
Lập luận tương tự như ở trên, ta thấy z0 ∈ E(F, Z, ≤K1 ) = ∅.
Nếu các điều kiện nêu trên được thỏa mãn thì ta có thể nghĩ tới thực hiện một thuật
toán sinh ra các điểm hữu hiệu của (BMPP) dựa trên Hệ quả 2.2.6. Có thể sử dụng ít
nhất hai ý tưởng. Ý tưởng thứ nhất có thể giúp xác định toàn bộ tập điểm hữu hiệu
của (MLPP1 ) và sau đó lặp đi lặp lại trên tập này để giữ lại các nghiệm đồng thời là
điểm tối ưu Pareto của bài toán thứ hai (MLPP2 ). Nhưng có lẽ khó có thể sinh ra toàn
bộ tập hữu hiệu của bài toán (MLPP1 ).
Ý tưởng thứ hai có thể giúp từng bước tạo ra các điểm hữu hiệu của (MPP1 ) và
kiểm tra đồng thời tính hữu hiệu đối với (MLPP2 ) trước khi chuyển tới điểm hữu hiệu
tiếp theo của (MPP1 ). Cách này tỏ ra thực tiễn hơn. Thuật toán dựa trên ý tưởng thứ
hai có thể diễn đạt như sau.
Thuật toán 1 gồm 5 bước tính toán sau:
1. Nhập dữ liệu bài toán và lập bài toán (MPP1 ) và (MPP2 ). Đặt S = ∅.
2. Tìm một nghiệm hữu hiệu (chẳng hạn z) của bài toán (MPP1 ) và chuyển sang
thực hiện 4.
3. Tìm một nghiệm hữu hiệu mới z của bài toán (MPP1 ).
4. Nếu z là nghiệm hữu hiệu của bài toán (MPP2 ) thì z là một nghiệm của bài toán
(BMPP) : S = S ∪ {z}.
5. Nếu số điểm trong S đủ lớn, hoặc tất cả các điểm hữu hiệu của (MPP1 ) đã được
kiểm tra thì dừng thuật toán. Trái lại, quay lại thực hiện 3.
Ở mục sau sẽ trình bày cách thực hiện có hiệu quả để tạo ra các nghiệm hữu hiệu
của bài toán tối ưu đa mục tiêu tuyến tính hai cấp.


21

2.4

Bài toán tối ưu hai cấp tuyến tính đa mục tiêu

Xét bài toán sau đây
min F(x, y) = [C1 (x, y), . . . ,C p (x, y)]

x∈Rn+

với




A1 x ≤ b1 ,




y đạt minm f (x, y) = [c1 (x, y), . . . , cq (x, y)]

y∈R+




A x + A y ≤ b , y ≥ 0.
2
3
2

(BLMPP)

Hai bài toán tối ưu đa mục tiêu đã dùng trong Thuật toán 1 là




A 1 x ≤ b1 ,



min F(x, y) = [C1 (x, y), . . . ,C p (x, y)] với A2 x + A3 y ≤ b2 ,

x∈Rn+




x ≥ 0, y ≤ 0.

(LMPP1 )



min f¯(x, y) = [c1 (x, y), . . . , c p (x, y)]

x∈Rn+





A1 x ≤ b1 ,



với A2 x + A3 y ≤ b2 ,





x ≥ 0, y ≤ 0.

(LMPP2 )

trong đó A1 , A2 , A3 , b1 , b2 là các ma trận và véctơ có kích thước thích hợp.
Cho trước x ∈ R và y ∈ R. Để cho tiện ta đưa vào véctơ z ∈ R với n thành phần
đầu là x1 , . . . , xn và m thành phần sau là y1 , . . . , ym .
Ta gọi C (tương ứng c) là các ma trận cấp p × (n + m) (tương ứng, (q + n) × (n +
m)) sao cho
F(z) = [C1z , . . . ,C pz ] = Cz

tương ứng (z = cz)

. Để cho gọn, các ký hiệu và kết quả nêu sau đây chỉ đối với (LMPP1 ), tất cả đều đúng
đối với (LMPP2 ).
Sau khi thêm vào p + q biến không âm z p+q+1 , z p+q+2 , . . . , z p+2q , dữ liệu của bài
toán (LMPP1 ) có thể biểu diễn ở dạng bảng như sau:


22
ZN

ZB

D

C

0

b

A

1

 
b
0 A1
 và b =  1 
trong đó A = 
b2
A2 A3
Thuật toán sẽ bắt đầu từ một điểm cực biên hữu hiệu ban đầu và sẽ lặp đi lặp lại




qua các điểm cực biên hữu hiệu khác của bài toán (LMPP1 ). Ở một bước lặp bất kỳ,
mỗi điểm cực biên hữu hiệu z của (LMPP1 ) chưa kiểm tra sẽ được kiểm tra xem z có
là điểm hữu hiệu của bài toán (LMPP2 ) không.
Những điểm tối ưu Pareto đối với cả hai bài toán sẽ được lưu giữ lại. Toàn bộ lược
đồ sẽ được lặp lại cho tới khi mọi điểm cực biên hữu hiệu của (LMPP1 ) đều đã được
kiểm tra.
Do các điểm cực biên hữu hiệu tạo thành một đồ thị liên thông, nên (LMPP1 ) có
một số hữu hạn điểm cực biên hữu hiệu và do đó thuật toán sẽ dừng sau một số hữu
hạn bước.
Ở mỗi bước của thuật toán, điểm (cực biên) hữu hiệu đang xét z∗ sẽ luôn tương
ứng với một bảng đơn hình T (như đã nói tới ở trên). NT ký hiệu tập chỉ số các biến
phi cơ sở của z∗ (tương ứng với bảng T). Ký hiệu ST là tập điểm tối ưu Pareto của bài
toán (LMPP1 ), đã được kiểm tra là hữu hiệu đối với (LMPP2 ). S2 là tập điểm đã kiểm
tra là tối ưu Pareto cho cả hai bài toán.
Kết quả sau chỉ ra lược đồ sẽ được dùng để kiểm tra một điểm chấp nhận được là
nghiệm tối ưu Pareto của bài toán (LMPP1 ).
Bổ đề 2.4.1. Điểm z0 ∈ Z là nghiệm tối ưu Pareto của (LMPP1 ) khi và chỉ khi nghiệm
tối ưu (¯z, s)
¯ của bài toán qui hoạch tuyến tính sau có giá trị mục tiêu 0:
max eT s : Cz + Is = Cz0 , z ∈ Z, s ≥ 0 .
Nếu s¯ = 0 thì z¯ là nghiệm tối ưu Pareto của (LMPP1 ).
Có thể dùng kết quả sau để xác định các cạnh hữu hiệu kề đỉnh hữu hiệu z∗ .


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×