ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
Vũ Trọng Hiền
MỘT SỐ BÀI TOÁN TỐI ƯU PHI TUYẾN
QUY ĐƯỢC VỀ
BÀI TOÁN QUI HOẠCH TUYẾN TÍNH
LUẬN VĂN THẠC SĨ TOÁN HỌC
Thái Nguyên - 2013
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
Vũ Trọng Hiền
MỘT SỐ BÀI TOÁN TỐI ƯU PHI TUYẾN
QUY ĐƯỢC VỀ
BÀI TOÁN QUI HOẠCH TUYẾN TÍNH
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 - 2013
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
Mục lục
Lời nói đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. Kiến thức cơ sở về qui hoạch tuyến tính 4
1.1. Bài toán qui hoạch tuyến tính và tính chất . . . . . . . 4
1.1.1. Nội dung bài toán qui hoạch tuyến tính . . . . . . 4
1.1.2. Tính chất bài toán qui hoạch tuyến tính . . . . . 6
1.2. Qui hoạch tuyến tính đối ngẫu . . . . . . . . . . . . . . . 7
1.2.1. Cặp bài toán đối ngẫu . . . . . . . . . . . . . . . 7
1.2.2. Các quan hệ đối ngẫu . . . . . . . . . . . . . . . 10
1.3. Phương pháp đơn hình . . . . . . . . . . . . . . . . . . . 11
1.3.1. Cơ sở của phương pháp . . . . . . . . . . . . . . . 11
1.3.2. Thuật toán đơn hình . . . . . . . . . . . . . . . . 14
2. Bài toán tối ưu không lồi dạng đặc biệt 17
2.1. Nội dung bài toán và ý nghĩa . . . . . . . . . . . . . . . 17
2.2. Bài toán quy hoạch tuyến tính tương đương . . . . . . . 18
2.3. Thuật toán nới lỏng . . . . . . . . . . . . . . . . . . . . . 23
2.4. Ví dụ minh họa . . . . . . . . . . . . . . . . . . . . . . . 26
3. Bài toán mở rộng 29
3.1. Nội dung bài toán . . . . . . . . . . . . . . . . . . . . . . 29
3.2. Bài toán tuyến tính tương đương . . . . . . . . . . . . . 30
3.3. Một số trường hợp riêng . . . . . . . . . . . . . . . . . . 42
Kết luận 45
Tài liệu tham khảo 46
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2
LỜI NÓI ĐẦU
Qui hoạch tuyến tính (Linear Programming) là bài toán tối ưu đơn
giản nhất. Đó là bài toán tìm cực tiểu (hay cực đại) của một hàm tuyến
tính với các ràng buộc đẳng thức hay bất đẳng thức tuyến tính. Qui
hoạch tuyến tính có nhiều ứng dụng rộng rãi trong lý thuyết và thực
tiễn. Phương pháp đơn hình (do G. B. Dantzig đề xuất năm 1947) là
phương pháp quen thuộc, có hiệu quả để giải bài toán qui hoạch tuyến
tính và các bài toán đưa được về qui hoạch tuyến tính.
Một số bài toán tối ưu phi tuyến, nói riêng là bài toán tối ưu lồi, có
thể quy được về bài toán qui hoạch tuyến tính, nhờ đó việc giải bài toán
được dễ dàng hơn. Chẳng hạn, bài toán có hàm mục tiêu là tổng (với hệ
số dương) giá trị tuyệt đối của các biến (hàm mục tiêu lồi) có thể đưa
được về bài toán với hàm mục tiêu tuyến tính, bằng cách thêm vào bài
toán ban đầu các biến phụ.
Luận văn này nhằm mục đích tìm hiểu và trình bày một số bài toán tối
ưu phi tuyến không lồi dạng đặc biệt có thể giải được bằng các phương
pháp của qui hoạch tuyến tính. Phát biểu nội dung bài toán và nêu cách
đưa bài toán về qui hoạch tuyến tính, từ đó có thể áp dụng phương pháp
đơn hình Dantzig để giải bài toán được xét.
Luận văn gồm lời nói đầu, ba chương, kết luận và danh mục các tài
liệu tham khảo.
Chương 1 với tiêu đề "Kiến thức cơ sở về qui hoạch tuyến tính" trình
bày nội dung và các tính chất cơ bản của bài toán qui hoạch tuyến tính,
khái niệm bài toán đối ngẫu và các quan hệ đối ngẫu trong qui hoạch
tuyến tính. Phương pháp đơn hình Dantzig giải bài toán qui hoạch tuyến
tính được nhắc lại ở chương này, với đầy đủ cơ sở lý luận và ví dụ bằng
số để minh họa.
Chương 2 với tiêu đề "Bài toán không lồi dạng đặc biệt" xét một lớp
bài toán tối ưu phi tuyến không lồi dạng đặc biệt: giới thiệu nội dung
và ý nghĩa thực tế của bài toán, trình bày bài toán qui hoạch tuyến tính
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
tương đương, nêu thuật toán nới lỏng giải bài toán ban đầu và cuối cùng
đưa ra ví dụ số minh họa cho thuật toán giải.
Chương 3 với tiêu đề "Bài toán mở rộng" xét một dạng mở rộng của
bài toán tối ưu phi tuyến không lồi đã đề cập tới ở Chương 2. Nghiên
cứu một số tính chất nghiệm của bài toán và trình bày cách đưa bài toán
về bài toán qui hoạch tuyến tính tương đương. Cuối chương nêu một số
trường hợp riêng của bài toán.
Do thời gian và kiến thức còn hạn chế nên chắc chắn luận văn còn có
những thiếu sót nhất định, kính mong quý thầy cô và các bạn đóng góp
ý kiến để tác giả tiếp tục hoàn thiện luận văn này.
Nhân dịp này, tác giả xin bày tỏ lòng biết ơn sâu sắc đến 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ả trân trọng cảm ơn các thầy cô giáo Trường Đại học Khoa học
– Đại học Thái Nguyên, Viện Toán họ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.
Tác giả cũng xin trân thành cảm ơn Ban Giám hiệu, tổ Khoa học Tự
nhiên trường THPT Kim Ngọc – Bắc Quang – Hà Giang và tập thể bạn
bè đồng nghiệp cùng gia đình đã quan tâm giúp đỡ, động viên tác giả
hoàn thành tốt Luận văn này.
Thái Nguyên, tháng 3 năm 2013
Tác giả
Vũ Trọng Hiền
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
4
Chương 1.
Kiến thức cơ sở về qui hoạch tuyến
tính
Chương này trình bày những kiến thức cơ sở về qui hoạch tuyến tính:
các dạng bài toán qui hoạch tuyến tính, bài toán qui hoạch tuyến tính
đối ngẫu, các quan hệ đối ngẫu trong qui hoạch tuyến tính và phương
pháp đơn hình quen thuộc giải qui hoạch tuyến tính. Các kiến thức này
sẽ cần đến ở chương sau. Nội dung của chương được tham khảo chủ yếu
từ các tài liệu [1], [2] và [4].
1.1. Bài toán qui hoạch tuyến tính và tính chất
1.1.1. Nội dung bài toán qui hoạch tuyến tính
a) Bài toán tổng quát
Bài toán này có dạng: Tìm các biến số x
1
, x
2
, , x
n
thỏa mãn điều
kiện
n
j=1
a
ij
x
j
≤ b
i
, i = 1, , m
1
, (1.1)
n
j=1
a
ij
x
j
≥ b
i
, i = m
1
+ 1, , m
1
+ m
2
, (1.2)
n
j=1
a
ij
x
j
= b
i
, i = m
1
+ m
2
+ 1, , m, (1.3)
x
j
≥ 0, j = 1, , n
1
, x
j
≤ 0, j = n
1
+ 1, , n
1
+ n
2
≤ n. (1.4)
sao cho hàm f(x) =
n
j=1
c
j
x
j
đạt cực tiểu. Ở đây a
ij
, b
i
, c
j
là các hằng số
thực cho trước.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5
Trong bài toán trên, f gọi là hàm mục tiêu, mỗi hệ thức ở (1.1) - (1.4)
gọi là một ràng buộc. Mỗi ràng buộc (1.1) - (1.3) gọi là một ràng buộc
chính (dạng đẳng thức hay bất đẳng thức), mỗi ràng buộc x
j
≥ 0 hay
x
j
≤ 0 gọi là một ràng buộc về dấu.
Điểm x = (x
1
, x
2
, , x
n
) ∈ R
n
thỏa mãn mọi ràng buộc gọi là một
điểm chấp nhận được hay một phương án. Tập hợp tất cả các phương
án, ký hiệu là D, gọi là miền ràng buộc hay miền chấp nhận được. Một
phương án đạt cực tiểu của hàm mục tiêu gọi là một phương án tối ưu
hay một lời giải của bài toán đã cho.
Bài toán có ít nhất một phương án tối ưu gọi là bài toán có lời giải.
Bài toán không có phương án (miền ràng buộc rỗng D = Ø) hoặc có
phương án nhưng không có phương án tối ưu, do hàm mục tiêu giảm vô
hạn (bài toán tìm min) hoặc tăng vô hạn (bài toán tìm max), gọi là bài
toán không có lời giải.
b) Dạng chính tắc và dạng chuẩn tắc
Người ta thường xét bài toán qui hoạch tuyến tính ở hai dạng sau
đây
• Dạng chính tắc
f(x) ≡
n
j=1
c
j
x
j
→ min,
n
j=1
a
ij
x
j
= b
i
, i = 1, 2, , m,
x
j
≥ 0, j = 1, , n
(ràng buộc chính chỉ là các đẳng thức và mọi biến đều không âm).
• Dạng chuẩn hay chuẩn tắc
f(x) ≡
n
j=1
c
j
x
j
→ min,
n
j=1
a
ij
x
j
≥ b
i
, i = 1, 2, , m,
x
j
≥ 0, j = 1, , n.
(ràng buộc chính chỉ gồm các bất đẳng thức ≥ đối với bài toán min
hoặc ≤ đối với bài toán max và mọi biến đều không âm).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6
Để viết bài toán gọn hơn, ta dùng các ký hiệu véctơ và ma trận sau:
A =
a
11
a
12
· · · a
1n
a
21
a
22
· · · a
2n
.
.
.
.
.
.
.
.
.
.
.
.
a
m1
a
m2
· · · a
mn
, A
j
=
a
1j
a
2j
.
.
.
a
mj
, b =
b
1
b
2
.
.
.
b
m
,
c =
c
1
c
2
.
.
.
c
n
, x =
x
1
x
2
.
.
.
x
n
, 0 =
0
0
.
.
.
0
.
(A là ma trận m × n gồm các hệ số ở vế trái ràng buộc chính, A
j
là
véctơ cột thứ j của ma trận A tương ứng với biến x
j
, b là véctơ các hệ
số ở vế phải ràng buộc chính, c là véctơ các hệ số ở hàm mục tiêu, x là
véctơ các ẩn số, 0 là véctơ không. Tất cả các véctơ này đều là các véctơ
cột).
Với các ký hiệu trên, bài toán qui hoạch tuyến tính chính tắc có dạng
(với b ≥ 0):
min {f(x) = c, x : Ax = b, x ≥ 0} hay
max {f(x) = c, x : Ax = b, x ≥ 0}
(c, x là tích vô hướng của hai véctơ c và x).
Bài toán qui hoạch tuyến tính chuẩn tắc có dạng (không đòi hỏi
b ≥ 0):
min {f(x) = c, x : Ax ≥ b, x ≥ 0} hay
max {f(x) = c, x : Ax ≤ b, x ≥ 0} .
1.1.2. Tính chất bài toán qui hoạch tuyến tính
Định lý 1.1. Tập hợp D các phương án của bài toán qui hoạch tuyến
tính (dạng bất kỳ) là một tập hợp lồi. Hơn nữa, đó là một tập hợp lồi đa
diện (khúc lồi).
Định lý 1.2. Nếu một qui hoạch tuyến tính có ít nhất một phương
án và hàm mục tiêu bị chặn dưới trong miền ràng buộc (đối với bài toán
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
min) thì bài toán chắc chắn có phương án tối ưu.
Định lý 1.3. Nếu x
0
là một phương án tối ưu của bài toán qui hoạch
tuyến tính (dạng bất kỳ) và nếu x
1
, x
2
(x
1
= x
2
) là phương án thỏa mãn
x
0
= λx
1
+ (1 − λ)x
2
, 0 < λ < 1, thì x
1
, x
2
cũng là các phương án tối ưu.
Định nghĩa 1.1. Một lời giải chấp nhận được x ∈ D mà đồng thời
là một đỉnh của D gọi là một phương án cực biên hay một lời giải cơ
sở, nghĩa là x không thể biểu diễn dưới dạng tổ hợp lồi của bất kỳ hai
phương án (lời giải chấp nhận được) khác của D.
Định lý 1.4. Để một phương án x
0
=
x
0
1
, x
0
2
, , x
0
n
của bài toán
qui hoạch tuyến tính dạng chính tắc là phương án cực biên thì cần và
đủ là các véctơ cột A
j
của ma trận A ứng với các thành phần x
0
j
> 0 là
độc lập tuyến tính.
Định lý 1.5. Nếu bài toán qui hoạch tuyến tính dạng chính tắc có
ít nhất một phương án thì nó cũng có phương án cực biên (miền ràng
buộc D có đỉnh).
Định lý 1.6. Nếu bài toán qui hoạch tuyến tính dạng chính tắc có
phương án tối ưu thì cũng có phương án cực biên tối ưu.
1.2. Qui hoạch tuyến tính đối ngẫu
1.2.1. Cặp bài toán đối ngẫu
Cho một qui hoạch tuyến tính, ký hiệu (P ), dưới dạng chuẩn
(P ) f(x) = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
→ min,
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
≥ b
i
, i = 1, 2, , m,
x
j
≥ 0, j = 1, 2, , n,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8
trong đó a
ij
, b
i
, c
j
là các hệ số cho trước; x = (x
1
, x
2
, , x
n
) ∈ R
n
là véctơ
biến cần tìm.
Ta gọi đối ngẫu của (P ) là qui hoạch tuyến tính, ký hiệu (Q), có dạng:
(Q) g(y) = b
1
y
1
+ b
2
y
2
+ + b
m
y
m
→ max,
a
1j
y
1
+ a
2j
y
2
+ + a
mj
y
m
≤ c
j
, j = 1, 2, , n,
y
i
≥ 0, i = 1, 2, , m,
ở đây y = (y
1
, y
2
, , y
m
) ∈ R
m
là véctơ biến cần tìm.
Dùng ký hiệu véctơ và ma trận, ta có thể viết
Bài toán gốc: Bài toán đối ngẫu:
f(x) = c, x → min, g(y) = b, y → max,
Ax ≥ b, A
T
y ≤ c,
x ≥ 0. y ≥ 0.
(A
T
là ma trận chuyển vị của A, a, b là tích vô hướng của hai véctơ a
và b).
Tương tự, ta định nghĩa đối ngẫu của qui hoạch tuyến tính dạng chính
tắc
f(x) = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
→ min,
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
= b
i
, i = 1, 2, , m,
x
j
≥ 0, j = 1, 2, , n,
là bài toán
g(y) = b
1
y
1
+ b
2
y
2
+ + b
m
y
m
→ max,
a
1j
y
1
+ a
2j
y
2
+ + a
mj
y
m
≤ c
j
, j = 1, 2, , n,
Ở đây, do các ràng buộc chính có dấu = nên các biến đối ngẫu tương
ứng không có ràng buộc về dấu (các biến y
i
có dấu tùy ý). Dưới dạng
véctơ - ma trận, ta có thể viết
Bài toán gốc: Bài toán đối ngẫu:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
f(x) = c, x → min, g(y) = b, y → max,
Ax = b, A
T
y ≤ c,
Tổng quát, xét bài toán qui hoạch tuyến tính có dạng
f(x) = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
→ min,
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
≥ b
i
, i ∈ I
1
,
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
= b
i
, i ∈ I
2
,
a
i1
x
1
+ a
i2
x
2
+ + a
in
x
n
≤ b
i
, i ∈ I
3
,
x
j
≥ 0 (j ∈ J
1
), x
j
tùy ý (j ∈ J
2
), x
j
≤ 0 (j ∈ J
3
),
trong đó I
1
∪ I
2
∪ I
3
= {1, , m} , I
i
∩ I
k
= Ø, i, k = 1, 2, 3 (i = k); J
1
∪
J
2
∪ J
3
= {1, , n} , J
j
∩ J
k
= Ø, j, k = 1, 2, 3 (j = k)
Ta gọi đối ngẫu của bài toán trên là bài toán:
g(y) = b
1
y
1
+ b
2
y
2
+ + b
m
y
m
→ max,
a
1j
y
1
+ a
2j
y
2
+ + a
mj
y
m
≤ c
j
, j ∈ J
1
,
a
1j
y
1
+ a
2j
y
2
+ + a
mj
y
m
= c
j
, j ∈ J
2
,
a
1j
y
1
+ a
2j
y
2
+ + a
mj
y
m
≥ c
j
, j ∈ J
3
,
y
i
≥ 0 (i ∈ I
1
), y
i
tùy ý (i ∈ I
2
), y
i
≤ 0 (i ∈ I
3
).
Sơ đồ đối ngẫu tổng quát được tóm tắt trong bảng dưới đây
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10
1.2.2. Các quan hệ đối ngẫu
Định lý 1.7.(Đối ngẫu yếu). Nếu x là một phương án bất kỳ của bài
toán gốc (P ) và y là một phương án bất kỳ của bài toán đối ngẫu (Q) thì
f(x) = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
≥ g(y) = b
1
y
1
+ b
2
y
2
+ + b
m
y
m
Hệ quả 1.3.
a) Giá trị mục tiêu của một phương án đối ngẫu bất kỳ là một cận
dưới cho giá trị mục tiêu đối với mọi phương án của bài toán gốc.
b) Nếu hàm mục tiêu của bài toán gốc không bị chặn dưới trong miền
ràng buộc của nó thì bài toán đối ngẫu không có bất kỳ một phương án
nào.
c) Nếu hàm mục tiêu của bài toán đối ngẫu không bị chặn trên trong
miền ràng buộc của nó thì bài toán gốc không có bất kỳ một phương án
nào.
d) Nếu x
∗
là một phương án của bài toán gốc, y
∗
là một phương án
của bài toán đối ngẫu và f(x
∗
) = g(y
∗
) thì x
∗
là phương án tối ưu của
bài toán gốc và y
∗
là phương án tối ưu của bài toán đối ngẫu.
Định lý 1.8.(Đối ngẫu mạnh).Nếu một qui hoạch có phương án tối
ưu thì qui hoạch đối ngẫu của nó cũng có phương án tối ưu và giá trị
tối ưu của chúng là bằng nhau.
Định lý 1.9.(Định lý tồn tại). Đối với mỗi cặp qui hoạch đối ngẫu
nhau chỉ có thể xảy ra một trong ba khả năng loại trừ nhau sau đây.
a) Cả hai qui hoạch đều không có phương án.
b) Cả hai qui hoạch đều có phương án. Khi đó, cả hai qui hoạch đều
có phương án tối ưu và giá trị tối ưu của các hàm mục tiêu là bàng nhau.
c) Một qui hoạch có phương án và qui hoạch kia không có phương án.
Khi đó, qui hoạch có phương án sẽ không có phương án tối ưu và hàm
mục tiêu của nó không giới nội trong miền ràng buộc.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
Định lý 1.10.(Định lý yếu về độ lệch bù). Một cặp phương án x, y
của hai qui hoạch đối ngẫu (P) và (Q) là những phương án tối ưu khi và
chỉ khi chúng nghiệm đúng các hệ thức:
y
i
n
j=1
a
ij
x
j
− b
i
= 0 với mọi i = 1, 2, , m,
x
j
c
j
−
m
i=1
a
ij
y
i
= 0 với mọi j = 1, 2, , n.
Định lý 1.11.(Định lý mạnh về độ lệch bù). Nếu cặp bài toán đối
ngẫu (P) và (Q) có phương án thì tồn tại một cặp phương án tối ưu
x
∗
, y
∗
nghiệm đúng
y
∗
+ (Ax
∗
− b) > 0 và x
∗
+
c − A
T
y
∗
> 0
1.3. Phương pháp đơn hình
1.3.1. Cơ sở của phương pháp
Xét bài toán qui hoạch tuyến tính dạng chính tắc:
c, x → min, (1.5)
Ax = b, (1.6)
x ≥ 0, (1.7)
trong đó A là một ma trận m × n, b ∈ R
m
, c và x ∈ R
n
. Cũng như trước
đây, ta giả thiết:
• Số ràng buộc chính ít hơn số biến của bài toán: m ≤ n;
• Ma trận A có hạng bằng m.
Bài toán qui hoạch tuyến tính được gọi là không suy biến nếu tất cả
các phương án cực biên của nó đều không suy biến, tức là đều có số
thành phần dương bằng m. Bài toán gọi là suy biến nếu có dù chỉ một
phương án cực biên suy biến.
Bây giờ ta giả thiết thêm rằng:
• Bài toán (1.5) - (1.7) không suy biến.
• Biết trước một phương án cực biên x
0
của bài toán.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
Ở cuối bài sẽ nêu cách giải quyết những bài toán không có các giả
thiết này.
Không giảm tổng quát, giả sử phương án cực biên x
0
có dạng:
x
0
= (x
0
1
, x
0
2
, , x
0
m
, 0, , 0) với x
0
j
> 0 (j = 1, 2, , m)
Ký hiệu
J
0
=
j : x
0
j
> 0
= {1, 2, , m}
Các véctơ {A
j
, j ∈ J
0
} là độc lập tuyến tính và |J
0
| = m. Hệ véctơ
{A
j
, j ∈ J
0
} gọi là cơ sở của phương án x
0
. Để cho tiện, đôi khi ta cũng
gọi J
0
(với các tính chất như trên) là cơ sở của x
0
. Các véctơ A
j
và các
biến x
j
với j ∈ J
0
được gọi là các véctơ cơ sở và biến cơ sở tương ứng
với x
0
. Còn các véctơ A
j
và các biến x
j
với j /∈ J
0
gọi là các véctơ và
biến phi cơ sở tương ứng với x
0
.
Ký hiệu B là ma trận lập nên bởi các véctơ cơ sở đang xét: B =
{A
1
, A
2
, , A
m
}. Khi đó, B có hạng bằng m và còn tồn tại ma trận
nghịch đảo B
−1
.
Mỗi véctơ cột A
k
(k = 1, 2, , n) của A được biểu diễn qua các véctơ
cơ sở A
j
, j ∈ J
0
:
A
k
=
j∈J
0
z
jk
A
j
= z
1k
A
1
+ z
2k
A
2
+ + z
mk
A
m
, k = 1, 2, , n. (1.8)
Ký hiệu các véctơ cột Z
k
= (z
1k
, z
2k
, , z
mk
)
T
, X
0
B
= (x
0
1
, x
0
2
, , x
0
m
)
T
,
các véctơ hàng C
B
= (c
1
, c
2
, , c
m
). Hệ thức (1.8) được viết lại thành
A
k
= BZ
k
. Từ đó Z
k
= B
−1
A
k
. Mặt khác, ta có
Ax
0
= BX
0
B
= b ⇒ X
0
B
= B
−1
b.
Giá trị hàm mục tiêu tại x
0
bằng
f
0
=
c, x
0
= C
B
X
0
B
= c
1
x
0
1
+ c
2
x
0
2
+ + c
m
x
0
m
(1.9)
Với mỗi k = 1, 2, , n tính số sau đây, gọi là ước lượng của biến x
k
∆
k
= C
B
Z
k
− c
k
= C
B
B
−1
A
k
− c
k
= c
1
z
1k
+ c
2
z
2k
+ + c
m
z
mk
− c
k
, k = 1, 2, , n. (1.10)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13
Định lý 1.12. (Dấu hiệu tối ưu). Nếu đối với phương án cực biên x
0
ta có các hệ thức
∆
k
≤ 0, ∀k = 1, 2, , n. (1.11)
thì x
0
là một phương án tối ưu.
Chú ý:
• Nếu A
k
là một véctơ cơ sở (k ∈ J
0
) thì trong các hệ số khai triển của
A
k
theo các véctơ cơ sở ở (1.8) chỉ có duy nhất một hệ số z
kk
= 1,
tất cả các hệ số khác đều bằng 0, nghĩa là Z
k
= e
k
(véctơ đơn vị
thứ k trong R
m
). Do đó
∆
k
= C
B
Z
k
− c
k
= c
k
− c
k
= 0, ∀k ∈ J
0
Vì thế trên thực tế, để kiểm tra tối ưu đối với phương án cực biên
hiện có ta chỉ cần kiểm tra điều kiện
∆
k
≤ 0, ∀k /∈ J
0
• Nếu bài toán không suy biến thì (1.11) cũng là điều kiện cần của
tối ưu.
Định lý 1.13. (Dấu hiệu bài toán không có lời giải). Nếu đối với
phương án cực biên x
0
tồn tại k /∈ J
0
sao cho ∆
k
> 0 và z
jk
≤ 0, ∀j ∈ J
0
thì bài toán đã cho không có phương án tối ưu và hàm mục tiêu giảm vô
hạn trong miền ràng buộc của bài toán.
Định lý 1.14. (Cải tiến phương án hiện có). Nếu tồn tại chỉ số s /∈ J
0
sao cho ∆
s
> 0 và z
js
> 0 với ít nhất một j ∈ J
0
thì tìm được phương
án cực biên mới x
1
tốt hơn phương án x
0
: f(x
1
) < f(x
0
).
Với các giả thiết của định lý 1.14, véctơ x
1
được xác định như sau:
x
1
j
=
x
0
j
− θz
js
, j ∈ J
0
0, j /∈ J
0,
j = s
θ
0
, j = s
(1.12)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
trong đó số θ
0
được xác định từ hệ thức
θ
0
= min
j∈J
0
x
0
j
z
js
: z
js
> 0
=
x
0
r
z
rs
> 0
Phương án x
1
tương ứng với cơ sở J
1
= (J\ {r}) ∪ {s} và
f
1
= f(x
1
) = f
0
− θ
0
× ∆
s
< f
0
. Như vậy, biến x
s
(biến phi cơ sở đối với
x
0
) trở thành biến cơ sở đối với x
1
và biến x
r
(biến cơ sở đối với x
0
) trở
thành biến phi cơ sở đối với x
1
.
Định lý 1.15. Nếu bài toán qui hoạch tuyến tính có phương án và
mọi phương án cực biên của bài toán đều không suy biến thì thuật toán
đơn hình sẽ có phương án tối ưu (hữu hạn hay vô cực) sau một số hữu
hạn lần thay đổi phương án cực biên.
1.3.2. Thuật toán đơn hình
Thuật toán đơn hình xuất phát từ một đỉnh của tập ràng buộc D.
Tiếp đó kiểm tra xem đỉnh đó đã tối ưu chưa, bằng cách so sánh giá
trị mục tiêu tại đỉnh đó với giá trị mục tiêu tại các đỉnh kề với nó. Nếu
đúng thì dừng tính toán. Trái lại, sẽ tìm một đỉnh (kề với đỉnh trước đó)
có giá trị mục tiêu nhỏ hơn. Quá trình này lặp lại cho tới khi tìm được
đỉnh tối ưu hoặc phát hiện bài toán vô nghiệm. Thuật toán đơn hình
giải qui hoạch tuyến tính gồm các bước sau:
Bước 0. Tìm một phương án cực biên ban đầu x
0
với cơ sở J
0
và
B = {A
j
, j ∈ J
0
} gồm m véctơ cột độc lập tuyến tính của A. Đặt c
B
=
{c
j
: j ∈ J
0
}. Tính véctơ biến cơ sở x
B
= B
−1
b, các véctơ khai triển
Z
k
= B
−1
A
k
và các ước lượng ∆
k
= c
B
Z
k
− c
k
với mọi k = 1, 2, , n.
Bước 1.(Kiểm tra tối ưu). Nếu ∆
k
< 0 với mọi k /∈ J
0
thì x
0
là
phương án tối ưu (Định lý 1.9): dừng thuật toán. Trái lại, chuyển sang
Bước 2.
Bước 2.(Kiểm tra bài toán không có lời giải). Nếu có k /∈ J
0
sao cho
∆
k
> 0 và z
ik
≤ 0, ∀i ∈ J
0
thì hàm mục tiêu của bài toán không bị chặn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15
dưới trên tập ràng buộc D (Định lý 1.10): dừng thuật toán. Trái lại,
chuyển sang bước 3.
Bước 3.(Tìm véctơ đưa vào cơ sở). Đưa vào cơ sở véctơ A
s
(s /∈ J
0
)
với
∆
s
= max {∆
k
: k /∈ J
0
} > 0
Bước 4.(Tìm véctơ đưa ra khỏi cơ sở). Loại khỏi cơ sở véctơ thứ r
trong cơ sở B sao cho
z
r0
z
rs
= min
z
i0
z
is
: z
is
> 0, i = 1, 2, , m
= θ.
Bước 5.(Lập phương án cực biên mới). Xây dựng phương án mới x
1
với
x
1
j
=
x
0
j
− θz
js
, j ∈ J
0
0, j /∈ J
0,
j = s
θ
0
, j = s
Tập chỉ số mới J
1
= (J
0
\ {i
r
}) ∪ {s}. Tính các hệ số khai triển mới theo
z
ik
=
z
ik
−
z
rk
z
rs
z
is
, i = r
z
rk
z
rs
, i = r
(i = 1, 2, , m, m + 1; k = 0, 1, , n)
Trở lại thực hiện Bước 1 và tiếp tục thuật toán cho tới khi nhận được
phương án tối ưu (Bước 1) hoặc phát hiện bài toán không có phương án
tối ưu (Bước 2) thì dừng quá trình giải.
Ví dụ. Giải bài toán qui hoạch tuyến tính sau đây:
f = −2x
1
− 4x
2
+ x
3
− x
4
→ min,
với các điều kiện
x
1
+ 3x
2
+ x
5
= 4
2x
1
+ x
2
− x
3
+ x
6
= 3
x
2
+ 4x
3
+ x
4
= 3
x
j
≥ 0, j = 1, 2, , 6.
Bài toán qui hoạch tuyến tính trên có dạng chính tắc. Các vectơ cơ
sở A
5
, A
6
, A
4
là các vectơ đơn vị, nên A
1
chính là vectơ các hệ số khai
triển của nó theo các vectơ cơ sở A
5
, A
6
, A
4
. Cũng vậy đối với A
2
và A
3
.
Bảng đơn hình ban đầu có dạng như sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16
Trong dòng mục tiêu còn phần tử dương ở cột x
1
, x
2
nên phương án
x
0
ở bảng này chưa tối ưu. Biến đưa vào cơ sở x
2
(ứng với δ
2
= 3 lớn
nhất), biến loại khỏi cơ sở là x
5
. Phần tử quay là z
52
= 3. Biến đổi bảng
1 theo các quy tắc đã nêu ta nhận được bảng 2.
Trong dòng mục tiêu của bảng 2 còn phần tử dương ở cột x
1
nên
phương án này cũng chưa tối ưu. Biến đưa vào cơ sở x
1
(ứng với δ
1
=
5
3
lớn nhất), biến loại khỏi cơ sở là x
6
. Phần tử quay là z
61
=
5
3
. Biến đổi
bảng 2 theo các quy tắc đã nêu ta nhận được bảng 3.
Trong bảng này mọi δ
k
≤ 0, nên phương án x
2
= (1; 1; 0; 2; 0; 0) là tối
ưu với f
min
= f(x
2
) = −8.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
Chương 2.
Bài toán tối ưu không lồi dạng đặc
biệt
Chương này đề cập tới một lớp bài toán tối ưu phi tuyến không lồi
dạng đặc biệt: giới thiệu nội dung và ý nghĩa thực tế của bài toán, trình
bày bài toán qui hoạch tuyến tính tương đương và nêu thuật toán nới
lỏng giải bài toán cùng ví dụ minh họa thuật toán. Nội dung của chương
được tham khảo chủ yếu từ các tài liệu [3], [4] và [5].
2.1. Nội dung bài toán và ý nghĩa
Trong mục này ta xét bài toán tối ưu sau đây:
(P) c
T
z → min
với điều kiện
z ∈ S
z
i
= x
i
y
i
, i = 1, 2, , n, (2.1)
x ∈ X, y ∈ Y, α ≤ d
T
y ≤ β, (2.2)
trong đó S ⊆ R
n
là một tập lồi đa diện khác rỗng,
X = {x ∈ R
n
: 0 < a ≤ x ≤ A}, Y = {y ∈ R
n
: 0 ≤ b ≤ y ≤ B};
a, A, b, B, c, d ∈ R
n
là các véctơ cho trước (a ≤ A, b ≤ B); α, β là hai số
thực cho trước (α ≤ β); T là ký hiệu chuyển vị (véctơ hay ma trận).
Có thể giải thích mô hình toán học của bài toán (P) như sau. Giả
sử một công ty nông nghiệp cần lập kế hoạch về năng suất và diện tích
của n loại cây trồng, trong đó x
i
và y
i
lần lượt biểu thị năng suất và
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
18
diện tích cây trồng thứ i cần xác định. Năng suất cây trồng i biến động
trong khoảng [a
i
, A
i
] (tức x ∈ X), còn diện tích cây trồng i biến động
trong khoảng [b
i
, B
i
] (tức y ∈ Y ); d
i
biểu thị hao phí lao động trên một
đơn vị diện tích cây trồng i; α, β là giới hạn dưới và trên về tổng số lao
động sử dụng (ràng buộc α ≤ d
T
y ≤ β). z
i
= x
i
y
i
là sản lượng cây trồng
i thu được. Tập S biểu thị các ràng buộc về sản lượng cây trồng và c
i
là chi phí cho một đơn vị sản lượng cây trồng i (i = 1, 2, , n). Cần lập
kế hoạch về diện tích và năng suất các loại cây trồng sao cho sản lượng
của chúng đáp ứng các yêu cầu của kế hoạch đề ra và phù hợp với khả
năng vật tư, nguồn vốn hiện có (tức z ∈ S) với tổng chi phí nhỏ nhất
(tức c
T
z đạt cực tiểu)?
Do các ràng buộc z
i
= x
i
y
i
, i = 1, 2, , n nên cấu trúc tuyến tính của
bài toán bị phá vỡ và (P) trở thành bài toán tối ưu phi tuyến không lồi
theo các biến x, y và z. Về thực chất (P) có thể xem như bài toán qui
hoạch song tuyến tính với các ràng buộc liên kết (z ∈ S). Mặc dù các kỹ
thuật của tối ưu toàn cục rất đáng được chú ý, nhưng nói chung chúng
không hiệu quả đối với bài toán (P).
Nhờ khai thác cấu trúc riêng biệt của bài toán (P), trong [5] đã chỉ ra
rằng (P) tương đương với bài toán qui hoạch tuyến tính theo các biến z
với ràng buộc z ∈ S và nhiều ràng buộc khác nữa đối với z, thay cho các
ràng buộc (2.1) - (2.2). Tuy nhiên, để giải qui hoạch tuyến tính tương
đương ta không cần biết trước tất cả các ràng buộc của bài toán mà có
thể xây dựng dần từng ràng buộc, khi cần đến trong quá trình giải.
2.2. Bài toán quy hoạch tuyến tính tương đương
Trong mục này ta sẽ nêu cách đưa bài toán (P) về bài toán qui
hoạch tuyến tính tương đương. Muốn thế, ta phân chia các hệ số d
i
(i = 1, 2, , n) thành hai tập con rời nhau:
I
+
= {i : d
i
≥ 0} và I
−
= {i : d
i
< 0} (I
+
∩ I
−
= Ø).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
19
Giả thiết
i∈I
+
d
i
b
i
+
i∈I
−
d
i
B
i
≤ β và
i∈I
+
d
i
B
i
+
i∈I
−
d
i
b
i
≥ α. (2.3)
Bổ đề sau giải thích ý nghĩa của giả thiết trên.
Bổ đề 2.1. Có điều kiện (2.3) khi và chỉ khi có ít nhất một y ∈ Y
thỏa mãn α ≤ d
T
y ≤ β.
Chứng minh. Trước hết, giả sử (2.3) đúng. Ký hiệu y
min
là véctơ có
các thành phần b
i
(i ∈ I
+
) và B
i
(i ∈ I
−
) và y
max
là véctơ có các thành
phần B
i
(i ∈ I
+
) và b
i
(i ∈ I
−
). Rõ ràng y
min
∈ Y, y
max
∈ Y và từ (2.3)
ta nhận được
d
T
y
min
≤ β và d
T
y
max
≥ α.
Nếu có thêm d
T
y
min
≥ α hoặc d
T
y
max
≤ β thì y = y
min
hoặc y = y
max
sẽ thỏa mãn α ≤ d
T
y ≤ β. Nếu trái lại ta có
d
T
y
min
< α ≤ β < d
T
y
max
. (2.4)
Đặt u =
d
T
y
max
− β
d
T
y
max
− d
T
y
min
và v =
d
T
y
max
− α
d
T
y
max
− d
T
y
min
. Từ (2.4) suy ra
0 ≤ u ≤ v ≤ 1 (xem Hình 2.1). Chọn tùy ý số t ∈ [u, v] ⊂ [0, 1] và đặt
y = ty
min
+(1−t)y
max
. Do Y là tập lồi và y
min
∈ Y, y
max
∈ Y nên y ∈ Y.
Bằng cách tính toán trực tiếp cho thấy α ≤ d
T
y ≤ β và phần thứ nhất
của bổ đề được chứng minh.
Ngược lại, nếu có y ∈ Y sao cho α ≤ d
T
y ≤ β thì (2.3) được suy trực
tiếp từ định nghĩa của tập Y và bổ đề được chứng minh.
Bây giờ ta đặt
Z = {z ∈ R
n
: a
i
b
i
≤ z
i
≤ A
i
B
i
, i = 1, 2, , n}
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
20
và ký hiệu C là họ tất cả các tập chỉ số I ⊂ {1, 2, , n} sao cho d
i
= 0
với mọi i ∈ I. Tập Z sẽ bị chặn nếu A
i
< +∞ và B
i
< +∞ với mọi
i = 1, 2, , n.
Định lý sau chỉ ra các ràng buộc của qui hoạch tuyến tính tương
đương với bài toán (P).
Định lý 2.1. Bài toán (P) tương đương với qui hoạch tuyến tính sau:
(L) c
T
z → min
với điều kiện z ∈ S ∩ Z và
i∈I
+
∩I
d
i
A
i
z
i
+
i∈I
−
∩I
d
i
a
i
z
i
+
i∈I
+
\I
d
i
b
i
+
i∈I
−
\I
d
i
B
i
≤ β, (2.5)
i∈I
+
∩I
d
i
a
i
z
i
+
i∈I
−
∩I
d
i
A
i
z
i
+
i∈I
+
\I
d
i
B
i
+
i∈I
−
\I
d
i
b
i
≥ α, (2.6)
với mọi I ∈ C.
Chứng minh. Do bài toán (P) và (L) có hàm mục tiêu như nhau
nên ta chỉ cần chỉ ra rằng các tập ràng buộc của chúng trùng nhau.
Thật vậy, trước hết giả sử z thỏa mãn mọi ràng buộc của bài toán (P),
tức là z ∈ Z, z
i
= x
i
y
i
(i = 1, 2, , n), x ∈ X, y ∈ Y và α ≤ d
T
y ≤ β. Ta
sẽ chứng tỏ z ∈ S ∩ Z và z thỏa mãn mọi ràng buộc (2.5) - (2.6). Thật
vậy, rõ ràng z ∈ S ∩ Z.
Do x ∈ X nên với i ∈ I
+
ta có
z
i
A
i
≤
z
i
x
i
= y
i
, từ đó
d
i
A
i
z
i
≤ d
i
y
i
và
với i ∈ I
−
ta có
z
i
a
i
≥
z
i
x
i
= y
i
, từ đó
d
i
a
i
z
i
≤ d
i
y
i
.
Vì thế với mọi I ∈ C ta có
i∈I
+
∩I
d
i
A
i
z
i
+
i∈I
−
∩I
d
i
a
i
z
i
+
i∈I
+
\I
d
i
b
i
+
i∈I
−
\I
d
i
B
i
.
≤
i∈I
+
∩I
d
i
y
i
+
i∈I
−
∩I
d
i
y
i
+
i∈I
+
\I
d
i
y
i
+
i∈I
−
\I
d
i
y
i
= d
T
y ≤ β.
(có đẳng thức là do I = (I
+
∩ I) ∪ (I
+
\I) ∪ (I
−
∩ I) ∪ (I
−
\I)).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
21
Điều này chứng tỏ z thỏa mãn ràng buộc (2.5) với mọi I ∈ C. Bằng
lập luận tương tự, có thể chỉ ra rằng z cũng thỏa mãn ràng buộc (2.6)
với mọi I ∈ C.
Ngược lại, bây giờ giả sử rằng z ∈ S ∩ Z và z thỏa mãn ràng buộc
(2.5) - (2.6). Ta sẽ chỉ ra z thỏa mãn mọi ràng buộc của (P). Muốn thế
ta đặt
I
1
=
i ∈ I
+
:
z
i
A
i
≥ b
i
⊆ I
+
, I
2
=
i ∈ I
−
:
z
i
a
i
≤ B
i
⊆ I
−
. (2.7)
Ta xác định véctơ x
1
∈ X và y
1
∈ Y sao cho z
i
= x
1
i
y
1
i
(i = 1, 2, , n)
và d
T
y
1
≤ β như sau:
a1) với i ∈ I
1
đặt x
1
i
= A
i
, y
1
i
=
z
i
A
i
;
b1) với i ∈ I
+
\I
1
đặt x
1
i
=
z
i
b
i
, y
1
i
= b
i
(để ý là b
i
> 0 với mọi
i ∈ I
+
\I
1
);
c1) với i ∈ I
2
đặt x
1
i
= a
i
, y
1
i
=
z
i
a
i
;
d1) với i ∈ I
−
\I
2
đặt x
1
i
=
z
i
B
i
, y
1
i
= B
i
(với i ∈ I
−
\I
2
thì B
i
> 0).
Có thể dễ kiểm tra rằng a
i
≤ x
1
i
≤ A
i
(tức x
1
∈ X), b
i
≤ y
1
i
≤ B
i
(tức y
1
∈ Y ) và z
i
= x
1
i
y
1
i
với mọi i = 1, 2, , n. Cũng dễ thấy rằng
d
T
y
1
≤ β. Thật vậy, có hai khả năng:
+ Nếu I
1
= I
2
= Ø do z thỏa mãn (2.5) với I = Ø nên ta có:
β ≥
i∈I
+
d
i
b
i
+
i∈I
−
d
i
B
i
=
i∈I
+
d
i
y
1
i
+
i∈I
−
d
i
y
1
i
(có dấu = là do b1) và
d1)).
Vậy ta có d
T
y
1
=
i∈I
+
d
i
y
1
i
+
i∈I
−
d
i
y
1
i
≤ β.
+ Nếu trái lại (I
1
∪ I
2
= 0) thì do z thỏa mãn (2.5) với I =
{I
1
∪ I
2
: d
i
= 0} nên ta có (để ý là ở đây I
+
∩I = I
1
, I
−
∩I = I
2
, I
+
\I =
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
22
I
+
\I
1
, I
−
\I = I
−
\I
2
)
i∈I
+
∩I
d
i
A
i
z
i
+
i∈I
−
∩I
d
i
a
i
z
i
+
i∈I
+
\I
d
i
b
i
+
i∈I
−
\I
d
i
B
i
=
=
i∈I
1
d
i
A
i
z
i
+
i∈I
2
d
i
a
i
z
i
+
i∈I
+
\I
1
d
i
b
i
+
i∈I
−
\I
2
d
i
B
i
= d
T
y
1
≤ β.
(có đẳng thức cuối là theo cách xác định y
1
).
Bằng cách lập luận tương tự, ta có thể tìm được véctơ x
2
∈ X và
y
2
∈ Y sao cho z
i
= x
2
i
y
2
i
(i = 1, 2, , n) và d
T
y
2
≥ α. Cụ thể, ta ký hiệu
I
3
=
i ∈ I
+
:
z
i
a
i
≤ B
i
⊆ I
+
, I
4
=
i ∈ I
−
:
z
i
A
i
≥ b
i
⊆ I
−
và xác định x
2
và y
2
theo cách sau:
a2) x
2
i
= a
i
, y
2
i
=
z
i
a
i
với i ∈ I
3
;
b2) x
2
i
=
z
i
B
i
, y
2
i
= B
i
với i ∈ I
+
\I
3
(để ý là B
i
> 0 với mọi
i ∈ I
+
\I
3
);
c2) x
2
i
= A
i
, y
2
i
=
z
i
A
i
với i ∈ I
4
;
d2) x
2
i
=
z
i
b
i
, y
2
i
= b
i
với i ∈ I
−
\I
4
( i ∈ I
−
\I
4
kéo theo b
i
> 0).
Bằng lập luận như trong chứng minh Bổ đề 2.1 (với y
1
thay cho
y
min
, y
2
thay cho y
max
), có thể chỉ ra rằng tồn tại số t ∈ [0, 1] sao cho
y = ty
1
+ (1 − t)y
2
∈ Y và α ≤ d
T
y ≤ β.
Để hoàn thành chứng minh bổ đề, ta còn phải chỉ ra rằng với y vừa
tìm được, có x ∈ X sao cho z
i
= x
i
y
i
với mọi i = 1, 2, , n. Để làm điều
này ta nhận xét là a
i
y
k
i
≤ x
k
i
y
k
i
= z
i
≤ A
i
y
k
i
với k = 1, 2 và i = 1, 2, , n.
(do x
k
∈ X, y
k
≥ 0). Từ đó
z
i
A
i
≤ y
k
i
≤
z
i
a
i
, do đó
z
i
A
i
≤ y
i
≤
z
i
a
i
với mọi i = 1, 2, , n. (2.8)
Với mỗi i = 1, 2, , n ta đặt
x
i
=
z
i
y
i
nếu y
i
= 0
t ∈ [a
i
, A
i
] nếu y
i
= 0
(∀i = 1, 2, , n) (2.9)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
23
Từ (2.8) - (2.9) suy ra z
i
= x
i
y
i
và a
i
≤ x
i
≤ A
i
với mọi i = 1, 2, , n,
tức là x = (x
1
, x
2
, , x
n
)
T
∈ X và bổ đề đã được chứng minh xong.
2.3. Thuật toán nới lỏng
Định lý 2.1 cho thấy thay cho việc giải bài toán (P) ta có thể bài
toán tuyến tính (L). Ngoài ràng buộc z ∈ S ∩ Z, (L) có rất nhiều ràng
buộc (2.5) và (2.6), do số tập con I ∈ C có thể lên tới 2
n
(một con số
khổng lồ nếu n lớn!). Tuy nhiên để giải (L) ta không cần biết trước tất
cả các ràng buộc loại này mà sẽ xây dựng dần từng ràng buộc một, khi
cần đến trong quá trình giải (L). Thay cho (L) ta sẽ giải các bài toán
nới lỏng (L
k
) như sau (k chỉ số hiệu vòng lặp).
(L
k
) Cực tiểu c
T
z với z ∈ S ∩ Z ∩ D
k
, k = 1, 2,
Ở đây D
k
là tập tất cả các z thỏa mãn
i∈I
+
∩I
d
i
A
i
z
i
+
i∈I
−
∩I
d
i
a
i
z
i
+
i∈I
+
\I
d
i
b
i
+
i∈I
−
\I
d
i
B
i
≤ β, ∀I ∈ G
k
, (2.10)
i∈I
+
∩J
d
i
a
i
z
i
+
i∈I
−
∩J
d
i
A
i
z
i
+
i∈I
+
\J
d
i
B
i
+
i∈I
−
\J
d
i
b
i
≥ α, ∀J ∈ H
k
, (2.11)
với G
k
, H
k
là các tập con của C (G
1
= H
1
= Ø).
Do giả thiết S là tập lồi đa diện, Z là siêu hộp bị chặn (nếu mọi
A
i
< +∞, B
i
< +∞) và D
k
được xác định bởi các ràng buộc tuyến tính
(2.10) - (2.11) nên (L
k
) là bài toán qui hoạch tuyến tính và (L
k
) luôn có
nghiệm tối ưu (với mọi k).
Cho trước tùy ý z ∈ S ∩ Z với bất kỳ I ∈ C ta ký hiệu g(I), h(I) lần
lượt là biểu thức ở vế trái (2.5), (2.6) (hay (2.10), (2.11)) và đặt
K =
i ∈ I
+
: d
i
> 0 và
z
i
A
i
≥ b
i
∪
i ∈ I
−
:
z
i
a
i
≤ B
i
, (2.12)
M =
i ∈ I
+
: d
i
> 0 và
z
i
a
i
≤ B
i
∪
i ∈ I
−
:
z
i
A
i
≥ b
i
, (2.13)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên