Tải bản đầy đủ (.pdf) (38 trang)

Thuật toán chia đôi giải bài toán tối ưu trên tập điểm Pareto (LV thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (269.69 KB, 38 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
-------------------------------

TRẦN THỊ DUNG

THUẬT TOÁN CHIA ĐÔI
GIẢI BÀI TOÁN TỐI ƯU TRÊN TẬP ĐIỂM PARETO

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
-------------------------------

TRẦN THỊ DUNG

THUẬT TOÁN CHIA ĐÔI
GIẢI BÀI TOÁN TỐI ƯU TRÊN TẬP ĐIỂM PARETO

Chuyên ngành :Toán ứng dụng
Mã số

: 60 46 01 12

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

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
Bảng ký hiệu

ii

Mở đầu

1

Chương 1. Một số kiến thức chuẩn bị
1.1. Tập lồi và tập lồi đa diện . . . . . . . . . . . . . . . . . . . .
1.1.1. Tổ hợp lồi . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3

1.1.2. Tập lồi đa diện . . . . . . . . . . . . . . . . . . . . . 5
1.2. Bài toán tối ưu tuyến tính đa mục tiêu . . . . . . . . . . . . 7
1.3. Cách tìm các đỉnh hữu hiệu . . . . . . . . . . . . . . . . . . 11
1.4. Tìm tập đỉnh của một đa diện lồi . . . . . . . . . . . . . . . 12
Chương 2. Bài toán tối ưu trên tập điểm Pareto
17

2.1. Nội dung bài toán . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2. Thủ tục xấp xỉ ngoài giải bài toán phụ (Pk ) . . . . . . . . . 20
2.3. Thuật toán chia đôi . . . . . . . . . . . . . . . . . . . . . . . 27
2.4. Ví dụ minh họa . . . . . . . . . . . . . . . . . . . . . . . . . 29
Kết luận

33

Tài liệu tham khảo

34


ii

Bảng ký hiệu
Rn
Rn+

không gian Euclid n chiều
tập các véctơ không âm trong Rn

{xk }, {xk }
dãy điểm trong Rn
x, y
tích vô hướng của hai véctơ x và y
conv {x1 , . . . , xk } bao lồi của các điểm x1, . . . , xk
x∈X
x∈
/X

int X

x là một pần tử của tập X
x không là phần tử của tập X
phần trong của tập X

C
rec S


bao đóng của tập C
nón lùi xa của tập lồi S
tập hợp rỗng

D ⊆ Rn
¨
D
F ⊆D

tập lồi đa diện trong Rn
tập đỉnh của tập lồi đa diện D
diện F của tập lồi đa diện D

Γ⊂D
minx∈C f (x)

cạnh Γ của tập lồi đa diện D
bài toán cực tiểu hàm vô hường f (x) trên tập C

maxx∈C f (x)

V minx∈X F (x)

bài toán cực đại hàm vô hướng f (x) trên tập C
bài toán cực tiểu hàm véctơ {F (x) = (f1 (x), . . . , fp (x)}
trên tập X

V maxx∈X F (x)

bài toán cực đại hàm véctơ F (x) = (f1 (x), . . . , fp (x)
trên tập X
bài toán tối ưu đa mục tiêu tuyến tính

(MOLP)
(VP)
XE

bài toán tối ưu véctơ hay bài toán tối ưu đa mục tiêu
tập nghiệm hữu hiệu, tập điểm Pareto của bài toán đa
mục tiêu trên tập X


1

Mở đầu
Tối ưu một mục tiêu đã được nghiên cứu khá kỹ và khái niệm nghiệm
tối ưu đã khá quen thuộc. Tối ưu nhiều mục tiêu, nói riêng là tối ưu tuyến
tính nhiều mục tiêu, đưa tới khái niệm tối ưu mới là khái niệm hữu hiệu
hay tối ưu Pareto. Tối ưu một hay nhiều mục tiêu là các bài toán tối ưu
một cấp, đã được nhiều người nghiên cứu và ứng dụng.
Tối ưu trên tập điểm hữu hiệu (hay tập điểm Pareto) thuộc loại bài

toán tối ưu hai cấp, khó giải hơn. Bài toán này có thể được phát biểu
như sau:
min {dT x : x ∈ XE }
trong đó d ∈ Rn , XE là tập đ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 min {cT1 x, . . . , cTp x}(c1 , . . . , cp ∈ Rn ),
với các điều kiện: Ax ≤ b, x ≥ 0, (A ∈ Rm×n , b ∈ Rm ).
Xét một ví dụ cụ thể: Khi đánh giá học lực của học sinh theo nhiều môn
học (văn, toán, ngoại ngữ, tin học, ...) ta thường dùng khái niệm tối ưu
Pareto. Học sinh nào nổi trội nhất về một môn học nào đó đều được xem
là "tối ưu" (theo nghĩa Pareto). Như thế trong một lớp có thể có nhiều
học sinh "tối ưu". Bây giờ nhà trường muốn chọn một học sinh "tối ưu"
để khen thưởng. Vậy nên chọn ai? Khi đó cần thêm một tiêu chuẩn nữa,
chẳng hạn chọn học sinh "tối ưu" trẻ nhất hoặc có hạnh kiểm tốt nhất...
Từ đó đưa tới bài toán tối ưu trên tập điểm hữu hiệu (tức tập nghiệm tối
ưu Pareto).
Luận văn:
"Thuật toán chia đôi giải bài toán tối ưu trên tập điểm Pareto"


2

có mục đích tìm hiểu bài toán tối ưu trên tập điểm hữu hiệu và trình bày
thuật toán chia đôi nêu ở [4] giải bài toán.
Luận văn được viết dựa chủ yếu trên các tài liệu tham khảo [1] - [4]
hiện có. Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo luận
văn gồm hai chương:
Chương 1 "Một số kiến thức chuẩn bị"
1.1. Tập lồi và tập lồi đa diện
1.2. Bài toán tối ưu tuyến tính đa mục tiêu

1.3. Cách tìm các đỉnh hữu hiệu
1.4. Tìm tập đỉnh của một đa diện lồi
Chương 2 "Bài toán tối ưu trên tập điểm hữu hiệu"
2.1. Nội dung bài toán
2.2. Thủ tục xấp xỉ ngoài giải bài toán phụ (Pk )
2.3. Thuật toán chia đôi
2.4. Ví dụ minh họa
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 thầy cô 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, Viện Công
nghệ thông tin thuộc Viện Hàn lâm Khoa học và Công nghệ Việt Nam đã
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.
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.
Thái Nguyên, tháng 10 năm 2016
Học viên
Trần Thị Dung


3

Chương 1
Một số kiến thức chuẩn bị
Chương này nhắc lại một số khái niệm và kết quả về tập lồi và tập lồi

đa diện. Tiếp theo giới thiệu bài toán tối ưu tuyến tính đa mục tiêu. Cuối
cùng nêu cách tìm đỉnh hữu hiệu và cách tìm tập đỉnh của một đa diện lồi.
1.1.
1.1.1.

Tập lồi và tập lồi đa diện
Tổ hợp lồi

Ta ký hiệu Rn là không gian Euclid n-chiều trên trường số thực R, mỗi
phần tử x ∈ Rn là một véc-tơ n-tọa độ là các số thực. Một đường thẳng
nối hai điểm (hai véc-tơ) a, b trong Rn là tập tất cả các véc-tơ x ∈ Rn
có dạng
{x ∈ Rn : x = αa + βb, α, β ∈ R, α + β = 1}.
Đoạn thẳng nối hai điểm a và b trong Rn là tập hợp các véc-tơ có dạng
{x ∈ Rn : x = αa + βb, α ≥ 0, β ≥ 0, α + β = 1}.
Tập lồi là một khái niệm cơ bản nhất của giải tích lồi, nó được định
nghĩa như sau:
Định nghĩa 1.1 Một tập C ⊆ Rn được gọi là một tập lồi, nếu C chứa
một đoạn thẳng đi qua hai điểm bất kỳ của nó. Tức là C lồi khi và chỉ khi
∀x, y ∈ C, λ ∈ [0, 1] ⇒ λx + (1 − λ)y ∈ C.


4

Ta nói x là tổ hợp lồi của các điểm (véc-tơ) x1 , . . . , xk nếu
k

k

λj x , λj ≥ 0 ∀j = 1, . . . , k và

j

x=
j=1

λj = 1.
j=1

Mệnh đề 1.1 Tập hợp C lồi khi và chỉ khi C chứa mọi tổ hợp lồi của các
điểm của nó. Tức là C lồi khi và chỉ khi
k
k

1

∀k ≥ 2, ∀x , . . . , x ∈ C, ∀λ1 , . . . , λk > 0 :

k

λj xj ∈ C.

λj = 1, ⇒
j=1

j=1

Chứng minh. Điều kiện đủ là hiển nhiên từ định nghĩa. Ta chứng minh
điều kiện cần bằng quy nạp theo số điểm. Với k = 2, điều cần chứng minh
suy ra ngay từ định nghĩa của tập lồi và tổ hợp lồi. Giả sử mệnh đề đúng
với k − 1 điểm. Ta cần chứng minh mệnh đề đúng với k điểm.

Giả sử x1 , . . . , xk ∈ C là tổ hợp lồi của k điểm. Tức là
k

k

λj x , λj ≥ 0 ∀j = 1, . . . , k và
j

x=
j=1

j=1

Đặt
k−1

ξ=

λj .
j=1

Khi đó 0 < ξ < 1 và
k−1

λj xj + λk xk

x=
j=1

k−1



j=1

Do

λj = 1.

k−1

j=1

λj j
x + λk xk .
ξ

λj
= 1.
ξ


5



λj
ξ

> 0 với mọi j = 1, . . . , k − 1 nên theo giả thiết quy nạp, điểm
k−1


y=
j=1

λj
∈ C.
ξ

Ta có
x = ξy + λk xk .
Do ξ > 0, λk > 0 và
k

ξ + λk =

λj = 1,
j=1

nên x là một tập hợp lồi của hai điểm y và xk đều thuộc C. Vậy x ∈ C.
Lớp các tập lồi là đóng với các phép giao, phép cộng đại số và phép
nhân tích Decastes. Cụ thể ta có mệnh đề sau:
Mệnh đề 1.2 Nếu A, B là các tập lồi trong Rn , C là lồi trong Rm , thì
các tập sau là lồi:
A ∩ B = {x : x ∈ A, x ∈ B},
αA + βB = {x : x = αa + βb, a ∈ A, b ∈ B, α, β ∈ R},
A × C = {x ∈ Rm × Rn : x = (a, c), a ∈ A, c ∈ C}.
Chứng minh. Dễ dàng được suy ra trực tiếp từ định nghĩa.
1.1.2.

Tập lồi đa diện


Định nghĩa 1.2 Một tập được gọi là tập lồi đa diện, nếu nó là giao của
một số hữu hạn các nửa không gian đóng.
Nhận xét 1.1
i) Rn , ∅ là các tập lồi đa diện.
ii) Tập lồi đa diện là tập hợp nghiệm của một hệ hữu hạn các bất phương
trình tuyến tính. Dạng tường minh của một tập lồi đa diện được cho


6

như sau:
D = {x ∈ Rn : ai, x ≤ bi , i = 1, . . . , m},
trong đó ai ∈ Rn , bi ∈ R, i = 1, . . . , m.
Nếu ký hiệu A là ma trận có m hàng là véc-tơ ai với i = 1, . . . , m và
véc-tơ b = (b1 , . . . , bm )T thì hệ trên viết được là
D = {x ∈ Rn : Ax ≤ b}.
Chú ý rằng, do một phương trình
a, x = b,
có thể viết một cách tương đương dưới dạng hai bất phương trình
a, x ≤ b

−a, x ≤ −b.
Tập nghiệm của một hệ hữu hạn các phương trình và bất phương trình
tuyến tính cũng là một tập lồi đa diện.
Định nghĩa 1.3 Tập lồi D được gọi là hữu hạn sinh nếu tồn tại các điểm
v 1 , . . . , v k ∈ Rn và các phương d1 , . . . , dq ∈ Rn sao cho
q

k

i

D = {x : x =

λi v +
i=1

k
j

µj d , λ1 , . . . , λk ≥ 0,
j=1

λi = 1, µ1 , . . . , µq ≥ 0}.
i=1

Định lý 1.1 Một tập con khác rỗng F ⊂ D là một diện thực sự của D
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 - tập chỉ số xác định diện
F ), trong đó I0 = {i ∈ {1, . . . , m} : ai , x = bi , ∀i = 1, . . . , m, ∀x ∈ D}.


7

Hơn nữa, dim F = n − rank {ai : i ∈ I} và dim D = n − rank {ai :
i ∈ I0 }.
Hệ quả 1.1 Nếu D là một tập lồi đa diện xác định bởi hệ
ai , x ≤ bi , i = 1, . . . , m (ai ∈ Rn , bi ∈ R)


(1.1)

thì
a) Điểm x0 ∈ D là một đỉnh của D 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 hệ (1.1);
b) Nếu một đoạn thẳng (nửa đường thẳng hay cả đường thẳng) Γ ⊂ D
là một cạnh của D thì Γ được xác định bởi một tập chỉ số I sao cho
rank {ai : i ∈ I} = n − 1, tức là mọi x ∈ ri Γ cùng thỏa mãn chặt
n − 1 ràng buộc độc lập tuyến tính của hệ (1.1).
Định lý 1.2 a) Mỗi đa diện lồi C bằng bao lồi của tất cả các đỉnh của
nó: C = conv C¨ hay x ∈ C khi và chỉ khi x = λ1 v 1 + . . . + λk v k với mọi
λi ≥ 0, λ1 + . . . + λk = 1 và v i (i = 1, . . . , k) là các đỉnh của C.
b) Với tập lồi đa diện C không bị chặn, mỗi x ∈ C có thể biểu diễn
dưới dạng một tổ hợp lồi của các đỉnh của C cộng với một tổ hợp tuyến
tính không âm của các phương cực biên của C, nghĩa là x ∈ C khi và
chỉ khi x = λ1 v 1 + . . . + λk v k + µ1 d1 + . . . + µq dq với mọi λ1 , . . . , λk ≥ 0,
λ1 + . . . + λk = 1, µ1 , . . . , µq ≥ 0, k, q là số nguyên và v i (i = 1, . . . , k) là
các đỉnh của C, dj (j = 1, . . . , q) là các phương của các cạnh vô hạn của C.
1.2.

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

Cho f , g1 , . . . , gr là các hàm lồi liên tục, gr+1 , . . . , gm là các hàm tuyến
tính afin trên tập lồi đóng X. Ký hiệu
C = {x ∈ X : g1 (x) ≤ 0, . . . , gr (x) ≤ 0, gr+1 (x) = 0, . . . , gm (x) = 0}.


8


Bài toán qui hoạch lồi có dạng
min f (x).

(CP )

x∈C

Lập hàm Lagrange
m

L(x, λ) = f (x) +

λi gi (x).
i=1

Bài toán đối ngẫu của (CP ) như sau
sup

inf L(x, λ)

λ1 ,...,λr ≥0 x∈X

(DCP )

Ta có định lý đối ngẫu Lagrange sau đây.
Định lý 1.3 Giả sử
i) Bài toán (CP ) có nghiệm.
ii) Điều kiện Slater thỏa mãn, tức tồn tại x0 sao cho gi (x0 ) < 0, ∀i =
1, . . . , r và gi (x0 ) = 0, ∀i = r + 1, . . . , m. Khi đó (CP ) và (DCP ) là

cặp bài toán đối ngẫu chính xác.
Định lý 1.4 Cho f là hàm lồi, C là tập lồi đa diện khác rỗng và C ⊂
domf . Giả sử C không chứa đường thẳng nào và f bị chặn trên C. Khi đó
supremum của f đạt tại một trong các đỉnh của C.
Định lý 1.5 (Định lý minimax) Cho C ⊂ Rm và D ⊂ Rn là các tập
lồi khác rỗng, K(u, v) là hàm lồi theo u lõm theo v, xác định và liên tục
trên C × D. Nếu ít nhất một trong hai tập C và D bị chặn, ta có
inf sup K(u, v) = sup inf K(u, v).

v∈D u∈C

u∈C v∈D

Định nghĩa 1.4 Cho X là một tập trong không gian hữu hạn chiều Rn .
Cho Rn+ = {x ∈ Rn : xi ≥ 0, i = 1, . . . , n} là nón các phần tử không âm
của Rn , phần trong của Rn+ ký hiệu là int Rn+ . Ta nói điểm x ∈ X là


9

i) cực đại (cực tiểu) Pareto của tập X nếu y − x ∈
/ Rn+ , ∀y ∈ X, y = x
(tương ứng x − y ∈
/ Rn+ , ∀y ∈ X, y = x).
ii) cực đại (cực tiểu) Pareto yếu của tập X nếu y − x ∈
/ {0} ∪ int Rn+ ,
∀y ∈ X, y = x (tương ứng x − y ∈
/ {0} ∪ int Rn+ , ∀y ∈ X, y = x).
Cho x = (x1 , . . . , xn ), y = (y1 , . . . , yn ) ∈ Rn. Ta nói
i) x nhỏ hơn y, ký hiệu x ≤ y, nếu x = y và xi ≤ yi với mọi i = 1, . . . , n.

ii) x nhỏ hơn hẳn y, ký hiệu x < y, nếu xi < yi với mọi i = 1, . . . , n.
Khi đó ta có hai mệnh đề sau.
Mệnh đề 1.3 Cho X ⊂ Rn , khi ấy:
i) x là cực đại (cực tiểu) Pareto khi và chỉ khi X ∩ (x + Rn+ ) = {x}
(tương ứng X ∩ (x − Rn+ ) = {x}).
Nói cách khác, x là cực đại (cực tiểu) Pareto khi và chỉ khi không tồn
tại điểm y ∈ X, y = x để x ≤ y (không tồn tại điểm y ∈ X, y = x để
y ≤ x).
ii) x là cực đại (cực tiểu) Pareto yếu khi và chỉ khi X∩(x+int Rn+ ) = {∅}
(tương ứng X ∩ (x − int Rn+ ) = {∅}).
Nói cách khác x là cực đại (cực tiểu) Pareto yếu khi và chỉ khi không
tồn tại điểm y ∈ X để x < y (không tồn tại điểm y ∈ X để y < x).
Mệnh đề 1.4 Tập các cực đại (cực tiểu) Pareto chứa trong tập các cực
đại (cực tiểu) Pareto yếu.
Định lý 1.6 Nếu X ⊂ Rn là tập compact thì các tập cực đại Pareto, cực
tiểu Pareto của X khác rỗng.
Hệ quả dưới đây sẽ cho phép khẳng định tính khác rỗng của tập Pareto.
Hệ quả 1.2 Cho X ⊂ Rn là tập compact, F : Rn → Rp là ánh xạ liên
tục. Khi đó tập F (X) là tập compact và các tập cực đại Pareto và cực tiểu
Pareto của F (X) là khác rỗng.


10

• Xét bài toán tối ưu đa mục tiêu
V max {F (x) = (F1 (x), . . . , Fp(x)},
x∈X

(V P )


trong đó X ⊂ Rn và F = (F1 , . . . , Fp ) : X → Rp .
Trước hết, ta nhận xét bài toán (V P ) có thể chuyển thành bài toán
V min {−F (x) = (−F1 (x), . . . , −Fp (x)},
x∈X

(V P ′ )

trong đó X ⊂ Rn , F = (F1 , . . . , Fp ) : X → Rp và ngược lại.
Định nghĩa 1.5 Ta nói x là điểm Pareto của bài toán đa mục tiêu (V P )
nếu F (x) là cực đại Pareto của tập F (X) và là điểm Pareto yếu của bài
toán đa mục tiêu (V P ) nếu F (x) là cực đại Pareto yếu của tập F (X).
Mệnh đề 1.5 x ∈ X là điểm Pareto (Pareto yếu) của bài toán (V P ) khi
và chỉ khi không tồn tại y ∈ X để F (y) − F (x) ≥ 0 (F (y) − F (x) > 0).
Ta dùng ký hiệu XE và W XE để chỉ tập Pareto và Pareto yếu của (V P ).
Định nghĩa 1.6 Bài toán tối ưu đa mục tiêu (V P ) gọi là tuyến tính nếu
X là một tập lồi đa diện và F (x) là ánh xạ tuyến tính. Bài toán đó được
viết như sau
V max {(C1T x, . . . , CpT x)}
x∈X

(M OLP )

trong đó X ⊂ Rn là một tập lồi đa diện, và Ci ∈ Rn , với mọi i = 1, . . . , p.
Định nghĩa 1.7 Tập B ⊂ Rn được gọi là liên thông đường nếu với mọi
a, b ∈ B tìm được hữu hạn điểm b0 , b1 , . . . , bk+1 sao cho b0 = a, bk+1 = b
và các đoạn thẳng [bi , bi+1 ] ⊂ B, ∀i = 0, . . . , k.
Định lý 1.7 Tập điểm Pareto XE và tập điểm Pareto yếu W XE của bài
toán (M OLP ) là đóng, liên thông đường và gồm một số diện của tập lồi
đa diện X.



11

1.3.

Cách tìm các đỉnh hữu hiệu

Xét bài toán qui hoạch tuyến tính đa mục tiêu
V max {Cx : Ax = b, x ≥ 0},

(M OLP )

với C ∈ Rp×n , A ∈ Rm×n , b ∈ Rm cho trước và x ∈ Rn là véctơ biến
cần tìm.
Ký hiệu X = {x ∈ Rn : Ax = b, x ≥ 0} và XE là tập điểm hữu hiệu.
Khi đó, x ∈ XE khi và chỉ khi tồn tại λ ∈ Rp++ sao cho x là nghiệm tối ưu
của bài toán:
LP(λ)

max {λT Cx : Ax = b, x ≥ 0}, λ ∈ Rp++ .

Cho x0 ∈ X là một điểm chấp nhận được. Vấn đề đặt ra là khi nào
thì x0 là điểm hữu hiệu? Nếu không, thì hãy tìm một điểm hữu hiệu hoặc
chỉ rõ bài toán không có điểm hữu hiệu. Định lý sau đây trả lời cho câu
hỏi này.
Định lý 1.8 Xét bài toán qui hoạch tuyến tính:
y0 = y1 + y2 + . . . + yp → max,

(1.2)


Cx − y = Cx0 , Ax = b, x ≥ 0, y = (y1 , . . . , yp ) ≥ 0.

(1.3)

với điều kiện

Khi đó:
a) x0 là điểm hữu hiệu khi và chỉ khi giá trị max y0 = 0.
b) Nếu (x1 , y 1 ) là phương án tối ưu với giá trị max y0 > 0 thì x1 là điểm
hữu hiệu.
c) Nếu hàm mục tiêu (1.2) không bị chặn trên trong miền ràng buộc (1.3)
thì bài toán (M OLP ) không có điểm hữu hiệu.


12

Chứng minh. a) Theo định nghĩa, x0 là điểm hữu hiệu khi và chỉ khi
không tồn tại y = 0 thoả mãn (1.3), nghĩa là khi và chỉ khi max y0 = 0.
b) Nếu x1 không là điểm hữu hiệu thì phải có x2 ∈ X với Cx2 ≥ Cx1 ,
Cx2 = Cx1 . Đặt y 2 = Cx2 − Cx0 , ta sẽ có y 2 ≥ Cx1 − Cx0 = y 1 , y 2 = y 1 ,
trái với y 1 đạt max của (1.2).
c) Ký hiệu X0 = {x ∈ X : Cx ≥ Cx0 }. Do y0 → +∞ nên tồn tại dãy
điểm {xt } ⊂ X0 sao cho
p

ck , xt → +∞ khi t → ∞.

(1.4)

k=i


Nếu X có điểm hữu hiệu, chẳng hạn x, thì không thể tồn tại x ∈ X với
Cx ≥ Cx, Cx = Cx, nghĩa là pk=i ck , x đạt cực đại trên X, nói riêng
trên X0 ⊂ X. Điều này trái với bất đẳng thức (1.4). Vì vậy D không thể
có điểm hữu hiệu.
Như vậy, với bài toán đa mục tiêu tuyến tính thì việc tìm các điểm hữu
hiệu qui về việc khảo sát các bài toán qui hoạch tuyến tính.
Với mỗi bài toán (M OLP ), có ba khả năng xảy ra:
i) X = ∅ (bài toán tuyến tính đa mục tiêu không có phương án);
ii) X = ∅ nhưng XE = ∅ (bài toán không có nghiệm hữu hiệu);
iii) X = ∅ và XE = ∅ (bài toán có một hoặc nhiều nghiệm hữu hiệu).
1.4.

Tìm tập đỉnh của một đa diện lồi

Mục này đề cập tới bài toán sau đây thường gặp khi thực thi các thuật
toán xấp xỉ ngoài giải qui hoạch lõm.
Bài toán 1. Cho tập lồi đa diện bị chặn M ⊂ Rn xác định bởi hệ ràng
buộc tuyến tính có dạng:
hi(x) = Ai x + bi ≤ 0, i = 1, ..., m,
trong đó Ai là véctơ hàng n-chiều, bi là một con số, m ≥ n. Giả sử ta đã
biết U - tập đỉnh của M , nghĩa là ta có biểu diễn M = conv U .


13

Ta giả thiết U = ∅ (đa diện lồi M có đỉnh). Cho hàm afin
h0 (x) = A0 x + b0
với A0 là véctơ hàng n-chiều khác không, b0 là một số thực.
Đặt

N = M ∩ {x ∈ Rn : h0(x) ≤ 0}.

(1.5)

Rõ ràng N cũng là một đa diện lồi. Bài toán đặt ra là: Hãy xác định
tập đỉnh V của N ? (Bài toán tương tự cũng được đặt ra và giải quyết trọn
vẹn cho trường hợp tập lồi đa diện không bị chặn. Tuy nhiên ta không đề
cập tới ở đây.)
Để giải quyết vấn đề đặt ra, ta ký hiệu:
U − = {u ∈ U : h0 (u) < 0},

(1.6)

U + = {u ∈ U : h0 (u) > 0},

(1.7)

H = {x ∈ Rn : h0 (x) = 0}.
Các mệnh đề sau tạo cơ sở lý luận cho cho việc giải quyết bài toán đặt
ra.
Mệnh đề 1.6 Nếu U + = ∅ thì N = M , nghĩa là V = U .
H

H
M

M

h0 (x) ≤ 0


Hình 1.1. Mệnh đề 1.6 : U + = ∅.

h0 (x) ≤ 0

Hình 1.2. Mệnh đề 1.7 : U − = ∅.

Mệnh đề 1.7 Giả sử U − = ∅. Khi đó:
a) Nếu U + = U thì N = ∅, nghĩa là V = ∅.


14

b) Nếu U + = U thì V = U \ U + .
Mệnh đề 1.8 Giả sử U + = ∅ và U − = ∅. Khi đó:
a) V ∩ U = U \ U + .
b) Mỗi đỉnh w ∈ V \ U là giao điểm của siêu phẳng H với một cạnh hữu
hạn của M (nối một đỉnh thuộc U − với một đỉnh thuộc U + ).
Dựa trên Mệnh đề 1.3 ta có thể tìm các đỉnh mới (thuộc V \ U ) của N
trong trường hợp U + = ∅, U − = ∅ như sau.
Với mỗi cặp (u, u′ ) ∈ U − × U + ta tính điểm
h0 (u′ )
.
w = tu + (1 − t)u với t =
h0 (u′ ) − h0(u))


Ký hiệu J(w) là tập chỉ số các ràng buộc xác định M mà w thỏa mãn
với dấu bằng (gọi là thỏa mãn chặt):
J(w) = {j : hj (w) = 0, j = 1, . . . , m}.
Có thể thấy rằng J(w) = {j : hj (u) = hj (u′ ) = 0, j = 1, . . . , m}.

Dễ dàng kiểm tra được rằng
F (w) = {x ∈ M : hj (x) = 0, j ∈ J(w)}
là diện nhỏ nhất của M chứa w. Vì thế, nếu |J(w)| < n − 1 hoặc nếu
tìm được một z ∈ U \ {u, u′ } sao cho hj (z) = 0 với mọi j ∈ J(w) (nghĩa
là z ∈ U ∩ F (w)) thì dim F (w) > 1, do đó theo Mệnh đề 1.3, w không
phải là đỉnh của N : w ∈ V . Nếu trái lại, dim F (w) = 1 và w là đỉnh của
N :w ∈V.
• Đến đây ta đã giải quyết trọn vẹn bài toán 1 đặt ra ở trên và chuyển
qua xét một trường hợp riêng khi thay (1.5) bởi
N = M ∩ {x ∈ Rn : h0 (x) = A0 x + b0 = 0}.

(1.8)

nghĩa là N nhận được từ M bằng cách thêm vào một ràng buộc đẳng thức


15

tuyến tính. Vì một ràng buộc đẳng thức tương đương với hai ràng buộc
bất đẳng thức, nên để tìm tập đỉnh V của N xác định theo (1.8) ta có thể
áp dụng liên tiếp hai lần cách giải quyết bài toán 1 như đã nêu ở trên. Kết
quả ta có:
Hệ quả 1.3 Cho M là một đa diện lồi với tập đỉnh U và N nhận được
từ M theo (1.8) với tập đỉnh V . Khi đó, với U − , U + xác định theo (1.6),
(1.7) ta có:
a) Giả sử U + = ∅. Nếu U − = U thì N = ∅ và V = ∅, còn nếu U − = U
thì V = U \ U + .
b) Nếu U − = ∅. Nếu U + = U thì N = ∅ và V = ∅, còn nếu U + = U
thì V = U \ U + .
c) Giả sử U + = ∅, U − = ∅. Khi đó, V ∩ U = U \ {U + ∪ U − } và mỗi

w ∈ V \ U là giao điểm của siêu phẳng H = {x ∈ Rn : h0 (x) = 0} với
một cạnh của M nối liền một đỉnh thuộc U − với một đỉnh thuộc U + .
Trong trường hợp c) của Hệ quả 1.3, để tìm các đỉnh mới của N thuộc
V \ U ta cũng làm như trước đây, nhưng chỉ cần xét
w = tu + (1 − t)u′ với u ∈ U − , u′ ∈ U + .
Nhận xét 1.2 Có thể kiểm tra lại rằng những điều trình bày ở mục này
vẫn còn đúng ngay cả khi đa diện lồi M được cho bởi một hệ hữu hạn các
đẳng thức và bất đẳng thức tuyến tính.
Nhận xét 1.3 Bằng cách áp dụng nhiều lần cách làm trên đây ta có thể
tìm được tất cả các đỉnh của một đa diện lồi có dạng
D = {x ∈ Rn+ : Ai x + bi Ri 0, i = 1, . . . , m},
với Ai ∈ Rn là véctơ hàng, bi ∈ R và Ri là một trong các quan hệ "=",
"≤" hay "≥" nhờ xuất phát từ đơn hình
S0 = {x ∈ Rn+ : x1 + . . . + xn ≤ β} ⊃ D,


16

trong đó β = max {x1 + . . . + xn : x ∈ D}. Rõ ràng S0 có n + 1 đỉnh là
v 0 = 0, v j = βej với ej là véctơ đơn vị thứ j trong Rn (j = 1, · · · , n).
Kết luận chương: Chương này nhắc lại một số kiến thức về tập lồi đa
diện, bài toán tối ưu đa mục tiêu, cách tìm đỉnh hữu hiệu và cách tính tập
đỉnh của đa diện lồi.


17

Chương 2
Bài toán tối ưu trên tập điểm
Pareto

Chương này đề cập tới bài toán tối ưu tuyến tính trên tập điểm Pareto
của bài toán tối ưu đa mục tiêu, trình bày thủ tục xấp xỉ ngoài giải bài
toán phụ và thuật toán chia đôi giải bài toán ban đầu. Cuối chương phân
tích ví dụ minh họa thuật toán.
2.1.

Nội dung bài toán

Tập điểm Pareto (hay tập điểm hữu hiệu) của một bài toán tối ưu đa
mục tiêu tuyến tính
V max {Cx : Ax ≤ b, x ≥ 0},
nếu khác rỗng, là một diện hay hợp của một số diện của tập ràng buộc
X = {x ∈ Rn : Ax ≤ b, x ≥ 0}.
trong đó A ∈ Rm×n , b ∈ Rm .
Ký hiệu tập Pareto này là XE hoặc E(C, X) và giả thiết nó khác ∅.
Tập Pareto nói chung gồm nhiều phần tử và thường được dùng tham khảo
cho các nhà quản lý, khi cần đưa ra quyết định về một vấn đề nào đó. Để
giúp thêm căn cứ cho việc đề ra quyết định, người ta còn đưa thêm một
tiêu chuẩn nữa để so sánh, lựa chọn và dẫn đến xét bài toán tối ưu thứ hai


18

với nội dung như sau: trong số các điểm (phương án) thuộc XE , hãy tìm
một (hay nhiều điểm) đạt cực tiểu (hay cực đại) của một hàm tuyến tính
cho trước. Bài toán thứ hai này thường được gọi là bài toán tối ưu trên
tập điểm Pareto, hay nói rõ hơn là tập điểm Pareto của một bài toán tối
ưu đa mục tiêu tuyến tính khác. Bài toán như thế thuộc loại bài toán tối
ưu hai cấp và thường gặp trong nhiều ứng dụng của tối ưu đa mục tiêu.
Ta xét bài toán tối ưu trên tập điểm Pareto có dạng như sau:

max dT x,

(P )

x∈XE

trong đó d ∈ Rn , XE là tập điểm Pareto (hay tập điểm hữu hiệu) của bài
toán tối ưu đa mục tiêu tuyến tính
V max Cx
x∈X

(M OLP )

với C là ma trận p × n; p là số hàm mục tiêu tuyến tính.
Tương tự, ta cũng có thể xét bài toán tối ưu trên tập Pareto yếu
max dT x

x∈W XE

(W P )

trong đó W XE là tập điểm Pareto yếu của bài toán (M OLP ).
Ta nhắc lại, một nghiệm hữu hiệu của bài toán (M OLP ) là điểm x0 ∈ X
sao cho mỗi khi Cx ≥ Cx0 với x nào đó thuộc X thì Cx = Cx0 . Ta dùng
ký hiệu XE để chỉ tập các nghiệm hữu hiệu của bài toán (M OLP ). Bài
toán ta quan tâm ở đây là tìm x∗ ∈ X đạt cực đại của dT x trên XE , trong
đó d ∈ Rn . Cụ thể là bài toán
max {dT x : x ∈ XE },

(P )


với d ∈ Rn cho trước nào đó.
Vì XE là một tập không lồi, cho nên (P ) thuộc lớp bài toán tối ưu toàn
cục. Tuy nhiên so với các bài toán tối ưu toàn cục khác mà cũng có tập
ràng buộc không lồi, thì một điểm chấp nhận được của bài toán (P ) lại


19

có thể tìm dễ dàng nhờ giải một qui hoạch tuyến tính. Nói chính xác hơn,
với số dương M đủ lớn, tồn tại đơn hình
Λ = {λ ∈ Rp : λ ≥ e, eT λ ≤ M },
trong đó e = (1, . . . , 1)T ∈ Rp sao cho x0 ∈ XE khi và chỉ khi x0 là nghiệm
tối ưu của bài toán tuyến tính
max {λT Cx : x ∈ X}

(Pλ )

với λ ∈ Λ nào đó.
Có nhiều phương pháp tiếp cận khác nhau cho bài toán (P ). Cách tiếp
cận [4] dựa vào phép biến đổi bài toán (P ) về bài toán tối ưu không lồi
tương đương, với vô số các ràng buộc:
max {dT x : λT Cx ≥ λT Cy, ∀y ∈ X, x ∈ X, λ ∈ Λ}
= max {dT x : λT Cx ≥ g(λ), x ∈ X, λ ∈ Λ},
trong đó
g(λ) = max {λT Cy : y ∈ X}

(2.1)

là một hàm lồi tuyến tính từng khúc, λ ∈ Λ.

Sau đây chúng tôi sẽ trình bày thuật toán [4] giải bài toán (P ). Thuật
toán này tương đối đơn giản và có hiệu quả cho các bài toán (P ) với số
mục tiêu p nhỏ hơn nhiều so với số biến n.
Ý tưởng chính của thuật toán là áp dụng chiến thuật tìm kiếm chia đôi
để xác định giá trị tối ưu của bài toán (P ) được xét. Nói chính xác hơn,
xuất phát từ một khoảng đóng ban đầu [α0 , β0 ] chứa giá trị tối ưu d∗ của
(P ), ta sẽ thu hẹp dần khoảng này, mỗi lần một nửa, bằng cách giải bài
toán phụ sau đây:
Tìm x ∈ XE sao cho dT x ≥ γk ,

(Pk )

trong đó γk = (αk +βk )/2. Quá trình này được lặp lại cho tới khi βk −αk ≤ ε
với độ chính xác ε > 0 cho trước. Dễ dàng thấy rằng quá trình này là hữu


20

hạn.
Theo thuật toán [4], việc giải (Pk ) ở mỗi bước qui về kiểm tra tính chấp
nhận được của tập
XEk = {x ∈ XE : dT x ≥ γk }.
2.2.

Thủ tục xấp xỉ ngoài giải bài toán phụ (Pk )

Mục này trình bày thủ tục xấp xỉ ngoài để giải bài toán phụ (Pk ).
Trước hết ta nhớ lại rằng x ∈ XE nếu có tồn tại λ ∈ Λ sao cho
λT Cx = max {λT Cy : y ∈ X}
vì thế với mỗi γ ∈ R cho trước ta có

XEγ = {x ∈ XE : dT x ≥ γ}
= {x ∈ X : dT x ≥ γ, λ ∈ Λ, λT Cx ≥ λT Cy, ∀y ∈ X}.
Ta xét bài toán tìm điểm x ∈ XEγ . Bằng cách sử dụng hàm g(λ) xác
định theo (2.1). Ta có thể mô tả lại tập XEγ như sau
XEγ = {x ∈ X : dT x ≥ γ, g(λ) ≤ λT Cx, λ ∈ Λ}.
Định nghĩa 2.1 Hàm h : Rp → R được gọi là hàm lồi tuyến tính từng
khúc trên không gian Rp nếu nó là hàm lồi trên Rp và tồn tại các tập lồi
đa diện Sk sao cho ∪qk=1 Sk = Rp và hàm h tuyến tính trên mỗi tập Sk .
Ta thiết lập hàm
hγ (λ) = max {λT Cx : x ∈ X, dT x ≥ γ}.

(2.2)

Có thể dễ dàng chỉ ra các tính chất sau đây của hàm hγ (λ).
Định lý 2.1 Hàm hγ (λ) có các tính chất:
a) hγ (λ) là hàm lồi tuyến tính từng khúc trên Rp .
b) hγ (λ) là hàm không tăng theo γ, tức là γ < γ ′ ⇒ hγ (λ) ≥ hγ ′ (λ), ∀λ ∈ Rp .


21

c) hγ (λ) = g(λ) với mọi γ < dmin .
d) hγ (λ) ≤ g(λ) với mọi γ ∈ [dmin , dmax ].
trong đó dmin , dmax lần lượt là giá trị nhỏ nhất và lớn nhất của dT x trên
X.
¨ trong đó
Chứng minh. a) Đặt Sk = {λ : hγ (λ) = λT Cv k , v k ∈ X},
¨ là tập các đỉnh của X. Do bài toán qui hoạch tuyến tính hγ (λ) =
X
max {λT Cx : x ∈ X} đạt tại một đỉnh của X, nên ∪qk=1 Sk = Rp .

Lấy λ1 , λ2 ∈ Sk ; µ1 , µ2 ∈ R, ta có
hγ (µ1 λ1 + µ2 λ2 ) = max {(µ1 λ1 + µ2 λ2 )Cx : x ∈ X}
≤ µ1 max {(λ1 )T Cx : x ∈ X} + µ2 max {(λ1 )T Cx : x ∈ X}
= µ1 (λ1 )T Cv k + µ2 (λ2 )T Cv k
= (µ1 λ1 + µ2 λ2 )T Cv k .
Mặt khác, max {(µ1 λ1 + µ2 λ2 )T Cx : x ∈ X} ≥ (µ1 λ1 + µ2 λ2 )T Cv k nên
hγ (µ1 λ1 + µ2 λ2 ) = (µ1 λ1 + µ2 λ2 )T Cv k
= µ1 (λ1 )T Cv k + µ2 (λ2 )T Cv k
= µ1 hγ (λ1 ) + µ2 hγ (λ2 ).
b) Với mọi γ ≤ γ ′ ta có:
{x : x ∈ X, dT x ≥ γ} ⊃ {x : x ∈ X, dT x ≥ γ ′ }
Từ đó

hγ (λ) = max {λT Cx : x ∈ X, dT x ≥ γ}
≥ max {λT Cx : x ∈ X, dT x ≥ γ ′ }
= hγ ′ (λ).


×