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

Quy hoạch tuyến tính suy rộng luận án 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 (531.8 KB, 46 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KHOA HỌC
Phạm Đình Phước
QUI HOẠCH TUYẾN TÍNH SUY RỘNG
LUẬN VĂN THẠC SĨ TOÁN HỌC
Thái Nguyên - 2013
1Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
i
Mục lục
Mở đầu 1
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 . . . . . . . . . . . . . . . . . 4
1.1.2 Các tính chất . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . 8
1.2.3 Ví dụ bài toán đối ngẫu . . . . . . . . . . . . . . 10
1.3 Phương pháp đơn hình . . . . . . . . . . . . . . . . . . 11
1.3.1 Cơ sở lý thuyết . . . . . . . . . . . . . . . . . . 11
1.3.2 Các bước thuật toán . . . . . . . . . . . . . . . . 12
1.3.3 Ví dụ về thuật toán đơn hình . . . . . . . . . . . 13
2 Qui hoạch tuyến tính suy rộng 15
2.1 Bài toán qui hoạch tuyến tính suy rộng . . . . . . . . . 15
2.1.1 Mô hình toán học . . . . . . . . . . . . . . . . . 15
2.1.2 Bài toán suy rộng tương đương . . . . . . . . . . 16
2.1.3 Ví dụ về bài toán qui hoạch tuyến tính suy rộng 20
2.1.4 Trường hợp riêng . . . . . . . . . . . . . . . . . 21
2.2 Phương pháp Wolfe . . . . . . . . . . . . . . . . . . . . 23
2.2.1 Cơ sơ phương pháp giải . . . . . . . . . . . . . . 24
2Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


ii
2.2.2 Ví dụ minh họa phương pháp Wolfe . . . . . . . 29
2.2.3 Trường hợp D
j
không bị chặn . . . . . . . . . . 33
2.2.4 Sự hội tụ hữu hạn . . . . . . . . . . . . . . . . 38
Kết luận 40
Tài liệu tham khảo 41
3Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii
Lời cảm ơn
Trong suốt quá trình làm luận văn, tôi luôn nhận được sự hướng dẫn
và giúp đỡ của GS.TS Trần Vũ Thiệu (Viện Toán học Việt Nam). Tôi
xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy.
Tôi xin cảm ơn quý thầy, cô giảng dạy lớp cao học khóa 5 (2011 -
2013) đã mang đến cho tôi nhiều kiến thức bổ ích trong khoa học và
cuộc sống.
Mặc dù đã có nhiều cố gắng nhưng luận văn khó tránh khỏi những
thiếu sót. Tác giả mong nhận được những ý kiến đóng góp của quý thầy,
cô và bạn đọc để luận văn được hoàn thiện hơn.
Xin trân trọng cảm ơn!
Hải Phòng, tháng 01 năm 2013.
Người viết Luận văn
Phạm Đình Phước
4Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
1
Mở đầ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ô hình toán học của bài toán qui hoạch tuyến tính như sau:
Tìm các biến số x
j
= (1, 2, . . . , n) sao cho:
c
1
x
1
+ c
2
x
2
+ . . . + c
n
x
n
→ min
với điều kiện
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)
trong đó a
ij
, b
i
, và c
j
là các hằng số cho trước (m, n nguyên dương).
Có thể giải thích ý nghĩa thực tiễn của bài toán qui hoạch tuyến
tính như sau: Có n phương thức sản xuất, ký hiệu j = 1, , n. Phương
thức sản xuất j hoạt động ở cường độ đơn vị sẽ cho ra a
ij
đơn vị sản
phẩm i (i = 1, , m) và tốn một chi phí là c
j
. Giả thiết số các sản phẩm
làm ra và chi phí tỉ lệ thuận với cường độ hoạt động của mỗi phương
thức sản xuất (giả thiết tuyến tính). Hỏi cần sử dụng những phương
thức sản xuất nào và với cường độ bao nhiêu để có thể sản xuất ra được
các sản phẩm với số lượng định trước tương ứng là b
1

, . . . , b
m
, và sao
cho tốn ít chi phí nhất?
5Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
2
Khi mô hình hóa các hệ thống sản xuất thực tiễn, ta thường gặp
các hệ số đầu vào của một hay nhiều phương thức hoạt động không nhận
các giá trị cố định (giống như trong bài toán qui hoạch tuyến tính đã
mô tả) mà mỗi cột hệ số thứ j (véctơ

A
j
= (c
j
, a
1j
, , a
mj
)
T
) trong bài
toán được lựa chọn một cách tùy ý từ một tập lồi đa diện D
i
⊂ R
n
cho
trước. Lớp bài toán này được gọi là bài toán qui hoạch tuyến tính suy
rộng (Generalized Linear Programming)(GLP). Philip Wolfe là người
đầu tiên đã nghiên cứu bài toán này (xem [6], trang 267) và bài toán đã

được biết đến trong [5] và sau đó trong [3].
Tên gọi của bài toán xuất phát từ nhận xét là bài toán này trở
thành bài toán qui hoạch tuyến tính thông thường khi

A
1
,

A
2
, . . . ,

A
n

các véctơ hằng, nghĩa là khi mỗi tập D
j
chỉ gồm duy nhất một phần tử.
Còn bây giờ là các véctơ biến cần được xác định, vì thế hàm mục tiêu
và các ràng buộc trong bài toán (GLP) là ràng buộc song tuyến tính và
(GLP) là một bài toán toàn phương không lồi (xem [2], [3]). Tuy nhiên,
sự giống nhau giữa hai bài toán này gợi ra ý tưởng xây dựng thuật toán
hiệu quả giải bài toán (GLP). Thuật toán ban đầu do Wolfe (xem [6])
đề xuất có thể xem như một sự mở rộng trực tiếp của phương pháp đơn
hình cổ điển.
Luận văn này nhằm mục đích tìm hiểu và trình bày các kết quả
đã có về bài toán qui hoạch tuyến tính suy rộng, đặc biệt là về phương
pháp giải bài toán.
Luận văn gồm lời nói đầu, hai 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.
6Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
3
Chương 2 với tiêu đề "Qui hoạch tuyến tính suy rộng" đề cập tới
bài toán qui hoạch tuyến tính suy rộng. Giới thiệu mô hình toán học
của bài toán và nêu cách đưa bài toán về bài toán quy hoạch tuyến tính
suy rộng tương đương, gọi là bài toán chủ, dễ xử lý hơn. Bài toán chủ
với số ràng buộc như cũ nhưng có rất nhiều biến. Cột hệ số của các biến
này sẽ được tìm dần khi cần, nhờ giải các bài toán phụ trên các tập D
j
.
Trình bày thuật toán Wolfe giải bài toán qui hoạch tuyến tính suy rộng,
thông qua giải các bài toán phụ thu hẹp. Chứng minh tính hữu hạn của
phương pháp giải và xây dựng các ví dụ bằng số để minh họa.
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ôi tiếp tục hoàn thiện luận văn này.
7Số 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 tóm tắt một số kiến thức cơ bản cần thiết về
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 giải

qui hoạch tuyến tính. Nội dung của chương được tham khảo chủ yếu từ
các tài liệu [1] và [2].
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
Quy hoạch tuyến tính 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 f(x) trên một khúc lồi R
n
được xác định bởi một hệ
phương trình hay bất phương trình tuyến tính cho trước.
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
8Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
5
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)
và hàm số 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ố cho trước.
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 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 của bài toán
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 = ∅) 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 max), gọi là bài toàn không
có lời giải.
• Dạng chuẩn tắc:
min

f(x) = c
T
x : Ax ≥ b, x ≥ 0

,
trong đó A ∈ R
m×n
(ma trận cấp m × n), b ∈ R
n
+
. Trong bài toán
tập ràng buộc D = {x ∈ R
n
: Ax ≥ b, x ≥ 0} là một tập lồi đa diện.
• Dạng chính tắc:
max


f(x) = c
T
x : Ax = b, x ≥ 0

,
9Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
6
trong đó A ∈ R
m×n
(ma trận cấp m × n), b ∈ R
n
+
. Trong bài toán
tập ràng buộc D = {x ∈ R
n
: Ax = b, x ≥ 0} là một tập lồi đa diện.
Trong các bài toán trên f(x) được gọi là hàm mục tiêu. Mỗi bất phương
trình (Ax)
i
≥ b
i
hay phương trình (Ax)
i
= b
i
gọi là một ràng buộc
chính, x
j
≥ 0, j = 1, . . . , n, gọi là các ràng buộc không âm hay ràng

buộc về dấu. Véctơ (điểm) x ∈ D gọi là một phương án hay lời giải chấp
nhận được của bài toán. Một phương án đạt cực tiểu của hàm mục tiêu
f(x) gọi là một phương án tối ưu hay lời giải tối ưu của bài toán.
1.1.2 Các tính chất
Định lý sau nêu điều kiện để một qui hoạch tuyến tính có lời giải tối
ưu.
Định lý 1.1. Nếu một qui hoạch tuyến tính có lời giải chấp nhận được
và hàm mục tiêu bị chặn dưới trên tập ràng buộc (đối với bài toán min)
thì qui hoạch đó chắc chắn có lời giải tối ưu.
Định lý 1.2. 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à hai 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 của bài toán.
Định nghĩa 1.3. Một lời giải chấp nhận được x ∈ D mà đồng thời là
đỉ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ý sau nêu một tính chất đặc trưng cho phương án cực biên (lời
giải cơ sở) của bài toán qui hoạch tuyến tính chính tắc với giả thiết
m ≤ n và rank(A) = m.
Định lý 1.4. Để một lời giải chấp nhận được ¯x = {¯x
1
, ¯x
2
, . . . , ¯x
n
} của
qui hoạch tuyến tính chính tắc là lời giải cơ sở thì cần và đủ là các véctơ
10Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
7
cột A
j
của ma trận A ứng với các thành phần x
j
> 0 là độc lập tuyến
tính.
Người ta phân ra hai loại lời giải cơ sở: không suy biến nếu lời giải
đó có số thành phần dương bằng m và suy biến nếu trái lại (số thành
phần dương nhỏ hơn m).
Định lý sau cho thấy qui hoạch tuyến tính chính tắc có phương án

cực biên.
Đị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, nghĩa là tập
ràng buộc D có đỉnh.
1.2 Qui hoạch tuyến tính đối ngẫu
Đối ngẫu là phương pháp mà ứng với mỗi qui hoạch tuyến tính đã
cho (gọi là qui hoạch gốc), ta có thể thiết lập một qui hoạch khác (gọi là
qui hoạch đối ngẫu) sao cho từ lời giải của bài toán này ta sẽ thu được
thông tin về lời giải của bài toán kia.
1.2.1 Cặp bài toán đối ngẫu
Sau đây là hai dạng cặp bài toán đối ngẫu thường gặp.
• Đối ngẫu của qui hoạch tuyến tính dạng chuẩn tắc (qui hoạch gốc):
(P ) min =

f(x) = c
T
x : Ax ≥ b, x ≥ 0

là bài toán qui hoạch tuyến tính (qui hoạch đối ngẫu):
(Q) max =

g(y) = b
T
y : A
T
y ≥ c, y ≥ 0

(A
T
là ma trận chuyển vị của ma trận A).

• Đối ngẫu của qui hoạch tuyến tính dạng chính tắc (qui hoạch gốc):
(P ) min =

f(x) = c
T
x : Ax = b, x ≥ 0

11Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
8
là bài toán qui hoạch tuyến tính (qui hoạch đối ngẫu):
(Q) max =

g(y) = b
T
y : A
T
y ≤ c,

(biến đối ngẫu y có dấu tùy ý)
(A
T
là ma trận chuyển vị của ma trận A).
Dễ kiểm tra lại rằng lấy đối ngẫu của bài toán đối ngẫu ta được lại bài
toán gốc.
1.2.2 Các quan hệ đối ngẫu
Các kết quả nêu dưới đây đúng cho cặp bài toán đối ngẫu (P) và (Q)
dạng bất kỳ.
Định lý 1.6. (Đối ngẫu yếu). Nếu x là một lời giải chấp nhận được của
bài toán gốc (P) và y là một lời giải chấp nhận được 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
,
nghĩa là giá trị mục tiêu của một phương án gốc bất kỳ (bài toán min)
không nhỏ hơn giá trị mục tiêu của một phương án đối ngẫu bất kỳ (bài
toán max).
Từ định lý đối ngẫu yếu trên đây ta suy ra ngay các hệ quả sau:
Hệ quả 1.7. 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
12Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
9
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ó lời giải tối ưu
thì qui hoạch đối ngẫu của nó cũng có lời giải tối ưu và hai trị tối ưu
bằng nhau.
Các định lý trên cho thấy các quan hệ sau giữa hai qui hoạch gốc và
đối ngẫu.

Định lý 1.9. (Định lý đối ngẫu cơ bản). Đối với một cặp bài toán qui
hoạch tuyến tính đối ngẫu nhau chỉ có một trong ba khả năng loại trừ
nhau sau đây:
a) Cả hai bài toán đều không có lời giải chấp nhận được.
b) Cả hai bài toán đều có lời giải chấp nhận được. Khi đó, cả hai đều có
lời giải tối ưu và giá trị tối ưu của hai hàm mục tiêu bằng nhau.
c) Một bài toán có lời giải chấp nhận được và bài toán kia không có lời
giải chấp nhận được. Khi đó, bài toán có lời giải chấp nhận được sẽ có
giá trị tối ưu vô cực (+∞ hay −∞ tùy theo bài toán max hay min).
Quan hệ giữa cặp qui hoạch tuyến tính đối ngẫu nhau còn thể hiện ở
sự kiện sau.
Định lý 1.10. (Định lý độ lệch bù yếu). Một cặp lời giải chấp nhận
được x, y của hai qui hoạch tuyến tính đối ngẫu nhau (P) và (Q) là cặp
lời giải 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ý độ lệch bù mạnh). Nếu cặp bài toán đối ngẫu
(P) và (Q) có phương án tối ưu x

, y

nghiệm đúng:
y

+ (Ax

− b) > 0 và x

+ (c − A
T
y

) > 0.
13Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
10
1.2.3 Ví dụ bài toán đối ngẫu

Bài toán qui hoạch tuyến tính:
f(x) = x
1
+ x
2
+ x
3
+ x
4
+ x
5
→ min,
3x
1
+ x
2
+ x
3
= 1,
5x
1
+ x
2
+ x
3
+ x
4
= 3,
2x
1

+ 5x
2
+ x
3
+ x
5
= 8,
x
1
≥ 0, x
2
≥ 0, x
3
≥ 0, x
4
≥ 0, x
5
≥ 0
có phương án tối ưu x

=(0, 1, 0, 2, 3) với f
min
= f(x

) = 6. Hãy tìm
phương án tối ưu của bài toán đối ngẫu tương ứng.
Giải Bài toán đối ngẫu có dạng:
g(y) = y
1
+ 3y

2
+ 8y
3
→ max,
với điều kiện
3y
1
+ 5y
2
+ 2y
3
≤ 1,
y
1
+ y
2
+ 5y
3
≤ 1,
y
1
+ y
2
+ y
3
≤ 1,
y
2
≤ 1,
y

3
≤ 1.
Gọi y

là phương án tối ưu của bài toán này. Do x

2
, x

4
, x

5
> 0 nên
theo Định lý 1.10 y

nghiệm đúng hệ phương trình:
y
1
+ y
2
+ 5y
3
= 1, y
2
= 1, y
3
= 1.
Giải hệ này ta được y


=(-5, 1, 1) với g
max
= g(y

) = −5 + 3 + 8 =
6 = f
min
.
14Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
11
1.3 Phương pháp đơn hình
Phương pháp đơn hình giải qui hoạch tuyến tính do G.B. Dantzig đề
xuất năm 1947 dựa trên hai tính chất quan trọng sau đây của bài toán
qui hoạch tuyến tính:
a) Nếu qui hoạch tuyến tính 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, nghĩa là có ít nhất một đỉnh của miền
ràng buộc là lời giải.
b) Mỗi điểm cực tiểu địa phương của hàm tuyến tính (cũng là hàm
lồi) trên một tập hợp lồi là một điểm cực tiểu tuyệt đối.
1.3.1 Cơ sở lý thuyết
Xét qui hoạch tuyến tính chính tắc min

f(x) = c
T
x : Ax = b, x ≥ 0

,
với m ≤ n và rank(A) = m. Xuất phát từ một lời giải cơ sở chấp nhận
được. Chẳng hạn,
¯x = {¯x

1
, ¯x
2
, . . . , ¯x
m
, 0, . . . , 0} với ¯x
j
> 0 (j = 1, 2, . . . , m)
Đặt J = {j : ¯x
j
> 0} , B = {A
j
: j ∈ J} và c
B
= {c
j
: j ∈ J}. Khi
đó, rank(B) = m và tồn tại B
−1
. Tính Z
k
= B
−1
A
k
và ∆
k
= c
B
Z

k
− c
k
với mọi k = 1, 2, ., n.
Định lý sau nêu điều kiện để nhận biết một phương án cực biên là tối
ưu.
Định lý 1.12. (Dấu hiệu tối ưu). Nếu đối với phương án cực biên ¯x
của bài toán ta có ∆
k
≤ 0 với mọi k ∈ J thì ¯x là phương án (cực biên)
tối ưu của bài toán.
Định lý sau nêu điều kiện để nhận biết bài toán có trị tối ưu vô cực.
Định lý 1.13. (Dấu hiệu bài toán có trị tối ưu vô cực). Nếu đối với
phương án cực biên ¯x tồn tại chỉ số k ∈ J sao cho ước lượng ∆
k
> 0 và
z
ik
≤ 0, ∀i ∈ J thì bài toán đã cho có trị tối ưu vô cực (−∞ đối với bài
toán min).
15Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
12
Định lý sau khẳng định tính hữu hạn của thuật toán đơn hình.
Định lý 1.14. 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ẽ cho 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 Các bước thuật toán
Thuật toán đơn hình dựa trên hai tính chất quan trọng sau:
a) Nếu bài toán qui hoạch tuyến tính chính tắc có phương án tối ưu

thì cũng có phương án cực biên (lời giải cơ sở) tối ưu.
b) Mỗi điểm cực tiểu địa phương của hàm tuyến tính trên một tập
hợp lồi là một điểm cực tiểu toàn cục.
Thuật toán đơn hình bắt đầu từ một phương án cực biên tùy ý của
bài toán mà nó là một đỉnh của tập ràng buộc D. Tiếp đó kiểm tra xem
phương án hiện có đã phải là phương án tối ưu hay chưa, bằng cách so
sánh giá trị hàm mục tiêu tại đỉnh đó với giá trị hàm mục tiêu tại các
đỉnh kề với nó. Nếu đúng thì dừng quá trình tính toán. Trái lại, sẽ tìm
một phương án cực biên mới tốt hơn (với giá trị hàm mục tiêu nhỏ hơn)
mà nó là đỉnh kề với đỉnh trước đó. Quá trình này lặp lại cho tới khi
tìm được phương án tối ưu hoặc phát hiện bài toán đã cho không có
phương án tối ưu.
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

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, khai triển Z
k
= B
−1
A
k
và ướ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

phương án tối ưu (Định lý 1.12): 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

16Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
13

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 dưới trên tập ràng buộc D (Định lý 1.13): dừng tính 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
)
sao cho:

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, . . . , 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,
θ, j ∈ J
0
, j = s.
Tập chỉ số cơ 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
rk

z
rs
, i = r
z
ik

z
rk
z
rs
z
is
, i = r
, i=1,. . . , m, k=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.
1.3.3 Ví dụ về thuật toán đơn hình
Ví dụ 1
Giải bài toán qui hoạch tuyến tính sau đây:
f = x
1
− x
2
− 2x
4
+ 2x
5
− 3x
6

→ min,
17Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
14
với các điều kiện















x
1
+ x
4
+ x
5
− x
6
= 2,
x
2

+ x
4
+ x
6
= 12,
x
3
+ 2x
4
+ 4x
5
+ 3x
6
= 9,
x
j
≥ 0, j = 1, 2, . . . , 6,
Cho x
4
= x
5
= x
6
= 0 ta được phương án cực biên ban đầu x
0
= (2;
12; 9; 0; 0; 0) với trị mục tiêu f
0
= −10. Cơ sở của x
0

là J
0
= {1, 2, 3}.
Các biến cơ sở là x
1
, x
2
, x
3
. Các biến phi cơ sở là x
4
, x
5
, x
6
. Các véctơ
cơ sở A
1
, A
2
, A
3
là các véctơ đơn vị, nên A
4
chính là véc tơ các hệ số
khai triển của nó theo các véc tơ cơ sở A
1
, A
2
, A

3
. Cũng vậy đối với A
5
và A
6
. Ta giải bài toán bằng phương pháp đơn hình. Lời giải thu được
là x

=(0; 8; 0; 3; 0; 1) là tối ưu với f
min
= f(x

) = −17.
Bảng đơn hình sau đây:
18Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
15
Chương 2
Qui hoạch tuyến tính suy rộng
Chương này đề cập tới bài toán qui hoạch tuyến tính suy rộng và trình
bày thuật toán Wolfe giải bài toán với đầy đủ cơ sở lý luận của phương
pháp và các ví dụ minh họa bằng số cụ thể. Nội dung của chương được
tham khảo chủ yếu từ các tài liệu [5], [6] và [3].
2.1 Bài toán qui hoạch tuyến tính suy rộng
2.1.1 Mô hình toán học
Qui hoạch tuyến tính suy rộng là bài toán có dạng:
(GLP)
n

j=1
c

j
x
j
→ min
với điều kiện
n

j=1
A
j
x
j
= b,
Y
j
=

c
j
A
j

∈ D
j
, j = 1, 2, . . . , n,
x
j
≥ 0, j = 1, 2, . . . , n,
19Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
16

trong đó x ∈ R
n
,

A
j
= (c
j
, a
1j
, , a
mj
)
T
∈ R
n
(j = 1, 2, . . . , n), b ∈ R
m
,
D
j
⊂ R
m+1
(j = 1, 2, . . . , n) là các tập lồi đa diện cho trước. Bài toán
này đã được Philip Wolfe nghiên cứu lần đầu tiên (xem [5]). Tên gọi
của bài toán xuất phát từ nhận xét là bài toán này trở thành bài toán
qui hoạch tuyến tính thông thường khi Y
1
, . . . , Y n là các véctơ hằng với
Y

j
= (c
j
, a
1j
, , a
mj
)
T
, nghĩa là khi mỗi tập D
j
chỉ gồm duy nhất một
phần tử. Còn bây giờ Y
j
là các véctơ biến cần được xác định, vì thế
hàm mục tiêu và các hàm ràng buộc trong bài toán (GLP) là hàm song
tuyến tính và (GLP) là một bài toán toàn phương không lồi (xem [2],
[3]). Tuy nhiên, sự giống nhau giữa hai bài toán này gợi ra ý tưởng xây
dựng thuật toán hiệu quả giải bài toán (GLP). Thuật toán ban đầu do
Wolfe đề xuất (xem [6]) có thể xem như một sự mở rộng trực tiếp của
phương pháp đơn hình cổ điển.
Trong mục sau ta sẽ nêu bài toán suy rộng tương đương với (GLP).
2.1.2 Bài toán suy rộng tương đương
Định lý sau đây cho thấy sự tương đương giữa hai bài toán qui
hoạch suy rộng.
Định lý 2.1. Bài toán qui hoạch tuyến tính suy rộng (2.1) tương đương
với bài toán suy rộng (2.2) sinh ra ở một vòng lặp nào đó của thuật toán
Wolfe.
Bài toán qui hoạch tuyến tính suy rộng ban đầu:
n


j=1
c
j
x
j
→ min
với điều kiện
n

j=1
a
ij
x
j
= b
i
, i = 1, . . . , m, (2.1)
x
j
≥ 0, j = 1, 2, . . . , n,
20Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
17
trong đó Y
j
=

c
j
A

j

là véctơ được chọn tùy ý từ tập lồi đa diện cho
trước D
j
.
Bài toán suy rộng tương đương (gọi tắt là bài toán chủ):
ˆz =
n

j=1
(c
j
ˆx
j
+
K
j

k=1
c
k
j
ˆx
k
j
) → min
với điều kiện
n


j=1
(a
ij
ˆx
j
+
K
j

k=1
a
k
ij
ˆx
k
j
) = b
i
, i = 1, . . . , m, (2.2)
ˆx
j
≥ 0, ˆx
k
j
≥ 0, k = 1, . . . , K
j
≥ 0, j = 1, . . . , n
trong đó Y
j
=


c
j
A
j

là véctơ được chọn tùy ý từ tập lồi đa diện cho
trước D
j
và Y
k
j
=

c
k
j
A
k
j

∈ D
j
, k = 1, 2, . . . , K
j
, là các véctơ cố định
thuộc D
j
.
Chứng minh. Giả sử

x
j
= u
j
,

c
j
A
j

=

c
0
j
A
0
j

∈ D
j
, z
min
là lời giải (nghiệm tối ưu) của bài toán (2.1) và
ˆx
j
= v
j
, ˆx

k
j
= v
k
j
,

c
j
A
j

=

c

j
A

j

ˆz
min
là lời giải (nghiệm tối ưu) của bài toán (2.2). Chú ý là (ˆx
j
= u
j
, ˆx
k
j

=
0, z
min
) là một nghiệm chấp nhận được của bài toán (2.2). Vì thế, ˆz
min

z
min
.
Mặt khác, nghiệm tối ưu của bài toán (2.2) có thể viết lại như một
nghiệm chấp nhận được của bài toán (2.1):
˜z =
n

j=1
˜c
j
˜v
j
→ min
21Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
18
với điều kiện
n

j=1
˜c
j
˜v
j

= b
i
, i = 1, . . . , m,
˜v
j
≥ 0, j = 1, . . . , n,
trong đó
˜v
j
= v
j
+
K
j

k=1
v
k
j

˜c
j
˜
A
j

=


















c

j
A

j


v
j
˜v
j
+

K
j

k=1


c
k
j
A
k
j


v
j
˜v
j
, khi ˜v
j
= 0


c

j
A

j


, khi ˜v
j

= 0
Vì thế, ˆz
min
≥ z
min
. Điều này cùng với ˆz
min
≤ z
min
kéo theo ˆz
min
=
z
min
Định lý sau nêu bài toán qui hoạch tuyến tính tương đương với
(GLP).
Định lý 2.2. Qui hoạch tuyến tính suy rộng (2.1) tương đương với qui
hoạch tuyến tính:
ˆz =
n

j=1

n
j

k=1
c
k
j

ˆx
k
j

→ min
với điều kiện
n

j=1

n
j

k=1
c
k
j
ˆx
k
j

= b
i
, i = 1, . . . , m, (2.3)
ˆx
k
j
≥ 0, k = 1, . . . , n
j
, j = 1, . . . , n,

trong đó Y
k
j
=

c
k
j
A
k
j

∈ D
j
, k = 1, . . . , n
j
là các đỉnh hay phương cực
biên của D
j
.
22Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
19
Chứng minh. Để đơn giản, ta chứng minh cho trường hợp D
j
bị chặn.
Giả sử
x
j
= u
j

,

c
j
A
j

=

c
0
j
A
0
j

∈ D
j
, z
min
là lời giải (nghiệm tối ưu) của bài toán (2.1) và
ˆx
k
j
= v
k
j
, k = 1, . . . , n
j
, j = 1, . . . , n, ˆz

min
là lời giải (nghiệm tối ưu) của bài toán (2.3).
Chú ý là với mỗi j = 1,. . ., n ta có biểu diễn:

c
0
j
A
0
j

=
n
j

k=1
λ
k
j

c
k
j
A
k
j

với mọi λ
k
j

≥ 0 và

n
j
k=1
λ
k
j
= 1,
Từ đó cho thấy (ˆx
k
j
= u
j
λ
k
j
, z
min
) là một nghiệm chấp nhận được của
bài toán (2.3). Vì thế, ˆz
min
≤ z
min
. Mặt khác, nghiệm tối ưu của bài
toán (2.3) có thể viết lại như một nghiệm chấp nhận được của bài toán
(2.1):
˜z =
n


j=1
˜c
j
˜v
j
→ min
với điều kiện
n

j=1
˜c
j
˜v
j
= b
i
, i = 1, . . . , m, (2.4)
˜v
j
≥ 0, j = 1, . . . , n,
trong đó
˜v
j
=
n
j

k=1
v
k

j

˜c
j
˜
A
j

=

















c

j
A


j


v
j
˜v
j
+

K
j
k=1


c
k
j
A
k
j


v
j
˜v
j
, khi ˜v
j
= 0

bất kỳ


c

j
A

j


∈ D
j
, khi ˜v
j
= 0
23Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
20
Vì thế, ˆz
min
≥ z
min
. Điều này cùng với ˆz
min
≤ z
min
kéo theo ˆz
min
=
z

min
.
2.1.3 Ví dụ về bài toán qui hoạch tuyến tính suy rộng
Ví dụ 2.3. Sau đây là một ví dụ về bài toán qui hoạch tuyến tính suy
rộng:
Tìm x
j
≥ 0 (j=1, 2, 3, 4), y
i4
(i=0, 1, 2) và z sao cho
z = 6x
1
+ 4x
2
+ x
3
+ y
04
x
4
→ min,
x
1
+ x
2
− 4x
3
+ y
14
x

4
= 5,
−x
1
+ x
2
− x
3
+ y
24
x
4
= 1, (2.5)
x
1
≥ 0, x
2
≥ 0, x
3
≥ 0, x
4
≥ 0
trong đó véctơ hệ số Y
4
= (y
04
, y
14
, y
24

)
T
không cố định trước mà được
chọn là một điểm của tập lồi đa diện:
D
4
=

Y
4
∈ R
3
: 3y
04
+ y
14
+ 2y
24
= 2, y
i4
≥ 0, i = 0, 1, 2

. (2.6)
Đây là ví dụ về một hệ phương trình phi tuyến. Tuy nhiên ta sẽ chỉ
ra rằng bằng cách đổi biến thích hợp có thể diễn đạt lại bài toán dưới dạng
một qui hoạch tuyến tính. Thật vậy, nhân phương trình 3y
04
+y
14
+2y

24
=
2 với x
4
ta nhận được:
3y
04
x
4
+ y
14
x
4
+ 2
y
24x
4
= 2x
4
(2.7)
Đặt các biến mới u
0
= y
04
x
4
, u
1
= y
14

x
4
, u
2
= y
24
x
4
và thế vào
(2.6) và (2.7) ta nhận được bài toán qui hoạch tuyến tính:
ˆz = 6x
1
+ 4x
2
+ x
3
+ u
0
→ min,
x
1
+ x
2
− 4x
3
+ u
1
= 5,
−x
1

+ x
2
− x
3
+ u
2
= 1, (2.8)
3u
0
+ u
1
+ 2u
2
= 2x
4
,
24Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
21
x
1
≥ 0, x
2
≥ 0, x
3
≥ 0, x
4
≥ 0, u
0
≥ 0, u
1

≥ 0, u
2
≥ 0
Giải bài toán (2.8) ta nhận được lời giải (nghiệm tối ưu):
ˆx
1
= ˆx
2
= ˆx
3
= 0, ˆx
4
=
7
2
, ˆu
0
= 0, ˆu
1
= 5, ˆu
2
= 1, ˆz
min
= 0
Từ đó suy ra nghiệm tối ưu của bài toán qui hoạch tuyến tính suy
rộng (2.5) là:
x
1
= ˆx
1

= 0, x
2
= ˆx
2
= 0, x
3
= ˆx
3
= 0, x
4
= ˆx
4
=
7
2

y
04
=
ˆu
0
ˆx
4
= 0, y
14
=
ˆu
1
ˆx
4

=
10
7
, y
24
=
ˆu
2
ˆx
4
=
2
7
, z
min
= ˆz
min
= 0.
2.1.4 Trường hợp riêng
Mở rộng Ví dụ 2.3, ta xét bài toán qui hoạch tuyến tính suy rộng
có dạng:
z = c
T
x = y
0,n+1
x
n+1
→ min
với điều kiện
Ax + Y

n+1
= b, A ∈ R
m.n
, Y
n+1
∈ R
m
, (2.9)
(x, x
n+1
) = (x
1
, . . . , x
n
, x
n+1
≥ 0),
trong đó các hệ số (y
0,n+1
; Y
n+1
) không cố định mà là một điểm được
chọn tùy ý thuộc tập lồi đa diện:
D
n+1
=

y
i,n+1
:

m

i=0
α
i
y
i,n+1
= 1, y
i,n+1
≥ 0, i = 0, 1, . . . , m

.
Nhân hai vế của phương trình xác định D
n+1
với x
n+
1 ta nhận
được:
m

i=0
α
i
y
i,n+1
x
n+1
= x
n+1
.

Đặt các biến u
i
= y
i,n+1
x
n+1
(i = 0, 1, , m) và xét qui hoạch
tuyến tính:
c
T
x + u
0
= w → min
25Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

×