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

Phương pháp điểm trong để giải bài toán quy hoạch tuyến tính

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 (1.39 MB, 71 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

PHAN THỊ NHƢ QUỲNH

PHƢƠNG PHÁP ĐIỂM TRONG
ĐỂ GIẢI BÀI TOÁN

QUY HOẠCH TUYẾN TÍNH

LUẬN VĂN THẠC SỸ KHOA HỌC

Đà Nẵng - Năm 2015


BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG

PHAN THỊ NHƢ QUỲNH

PHƢƠNG PHÁP ĐIỂM TRONG
ĐỂ GIẢI BÀI TOÁN
QUY HOẠCH TUYẾN TÍNH
Chun ngành: Phƣơng pháp Tốn sơ cấp
Mã số: 60.46.01.13

LUẬN VĂN THẠC SỸ KHOA HỌC

Ngƣời hƣớng dẫn khoa học:TS. PHẠM QUÝ MƢỜI

Đà Nẵng - Năm 2015




LỜI CAM ĐOAN
Tơi cam đoan đây là cơng trình nghiên cứu của tôi dƣới sự hƣớng dẫn
của thầy giáo TS. Phạm Quý Mƣời. Các kết quả trong luận văn là trung thực
và chƣa từng đƣợc ai công bố trong bất kỳ cơng trình nào.
Đà Nẵng, tháng 11 năm 2015
Tác giả

Phan Thị Nhƣ Quỳnh


MỤC LỤC
MỞ ĐẦU .......................................................................................................... 1
1. Lý do chọn đề tài ................................................................................... 1
2. Mục tiêu nghiên cứu ............................................................................. 1
3. Đối tƣợng và phạm vi nghiên cứu......................................................... 2
4. Phƣơng pháp nghiên cứu ...................................................................... 2
5. Bố cục của luận văn .............................................................................. 2
CHƢƠNG 1. KIẾN THỨC CƠ BẢN ............................................................ 3
1.1. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH............................................... 3
1.2. TÍNH CHẤT .............................................................................................. 7
1.3. BÀI TỐN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU .......................... 9
1.4. PHƢƠNG PHÁP ĐƠN HÌNH ................................................................. 11
1.5. ĐỘ PHỨC TẠP CỦA THUẬT TỐN ................................................... 13
CHƢƠNG 2. PHƢƠNG PHÁP ELLIPSOID VÀ PHƢƠNG PHÁP
ELLIPSOID CẢI TIẾN ................................................................................ 16
2.1. ĐẶT VẤN ĐỀ.......................................................................................... 16
2.2. PHƢƠNG PHÁP ELLIPSOID ................................................................ 17
2.2.1. Ý tƣởng của phƣơng pháp Ellipsoid ............................................. 23

2.2.2. Giải thuật Ellipsoid và sự hôi tụ ................................................... 24
2.2.3. Giải thuật Ellipsoid cải tiến và sự hội tụ ....................................... 27
2.3. ỨNG DỤNG VÀO BÀI TỐN QUY HOẠCH TUYẾN TÍNH ............ 29
2.4. CHƢƠNG TRÌNH MATLAB ................................................................. 34
2.4.1.Chƣơng trình Matlab cho Giải thuật 2.2.2 ..................................... 35
2.4.2. Chƣơng trình Matlab cho Ví dụ 2.3.1 ........................................... 35
2.4.3. Chƣơng trình Matlab cho Ví dụ 2.3.2 ........................................... 36
CHƢƠNG 3. PHƢƠNG PHÁP ĐIỂM TRONG ........................................ 38
3.1. ĐƢỜNG TÂM ......................................................................................... 38


3.1.1. Bài toán chắn và đƣờng tâm ......................................................... 38
3.1.2. Điều kiện tối ƣu Kuhn – Tucker cho bài toán chắn ...................... 40
3.2. THUẬT TOÁN THEO ĐƢỜNG TÂM GỐC ......................................... 47
3.2.1. Giải thuật điểm trong và sự hội tụ ................................................ 47
3.2.2. Phƣơng pháp chọn điểm khởi đầu ................................................ 53
3.3. NGHIỆM SỐ ............................................................................................ 56
3.4. CHƢƠNG TRÌNH MATLAB ................................................................. 57
3.4.1. Chƣơng trình Matlab cho giải thuật Ellipsoid cải tiến .................. 58
3.4.2. Chƣơng trình Matlab cho Giải thuật 3.3.2 .................................... 59
3.4.3. Chƣơng trình Matlab cho Ví dụ 3.3.1 ........................................... 60
3.4.4. Chƣơng trình Matlab cho Ví dụ 3.3.2 ........................................... 60
KẾT LUẬN .................................................................................................... 62
TÀI LIỆU THAM KHẢO ............................................................................ 63
QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao)


DANH MỤC CÁC KÝ HIỆU

R


Tập số thực

Rn

Không gian Euclid n chiều

xD

x thuộc tập D



Tập rỗng

C\D

Hiệu của tập C và tập D

CD

Hợp của tập C và tập D

CD

Giao của tập C và tập D

CD

Tập C là tập con của tập D


x, y

Tích vơ hƣớng của x và y

x

Chuẩn Euclid của x

x

Trị tuyệt đối của x

f ( x)

Vectơ gradient của hàm f tại điểm x

AT

Ma trận chuyển vị của ma trận A

A1

Ma trận nghịch đảo của ma trận A

In

Ma trận đơn vị cấp n

rank ( A)


Hạng của ma trận A

det( A)

Định thức của ma trận A

x

Với mọi x

x

Tồn tại x


DANH MỤC BẢNG
Số hiệu

Tên bảng

Trang

2.1.

Giải thuật 2.2.2 với x0  (0,0) và r  10 cho Ví dụ 2.3.1

31

đối với bài tốn tìm phƣơng án chấp nhận đƣợc

2.2.

Giải thuật 2.2.2 với x0  (0,0) và r  10 cho Ví dụ 1 đối

32

với bài tốn tìm phƣơng án tối ƣu chấp nhận đƣợc
2.3.

Giải thuật 2.2.2 với x0  (1,, 1) và r  3 cho Ví dụ

33

2.3.2 đối với bài tốn tìm phƣơng án chấp nhận đƣợc
2.4.

Giải thuật 2.2.2 với x0  (0,,0) và r  10 cho Ví dụ

34

2.3.2 đối với bài tốn tìm phƣơng án tối ƣu chấp nhận
đƣợc
3.1.

Giải thuật 3.2.1 cho Ví dụ 3.3.1.

56

3.2.


Giải thuật 3.2.1 cho Ví dụ 3.3.2.

57


DANH MỤC HÌNH

Số hiệu

Tên bảng

Trang

2.1.

Minh họa ellipsoid E '0 đƣợc sinh ra từ E '

19

2.2.

Xây dựng ellipsoid có thể tích giảm dần

24

3.1.

Đƣờng trung tâm và tâm giải tích trong miền ràng buộc

40


đối ngẫu.


1

MỞ ĐẦU
1. Lý do chọn đề tài
Quy hoạch tuyến tính là mơn học có tính ứng dụng thực tiễn cao. Khi
mơ hình hóa nhiều bài tốn thực tế trong các lĩnh vực khác nhau nhƣ kinh tế,
tài chính, cơng nghiệp và kỹ thuật,… đều dẫn đến các bài toán quy hoạch
tuyến tính. Hơn nữa trong chƣơng trình tốn ở cấp đại học và cấp trung học
phổ thơng, các bài tốn quy hoạch tuyến tính cũng xuất hiện và đƣợc giảng
dạy nhƣ một mơn học bắt buộc.
Để giải các bài tốn quy hoạch tuyến tính, hầu hết các giáo trình và tài
liệu tham khảo trong nƣớc đều trình bày thuật tốn đơn hình bởi tính đơn
giản, dễ ứng dụng của thuật toán này. Trong những năm gần đây, các thuật
toán điểm trong đã đƣợc nghiên cứu và phát triển, đánh dấu một bƣớc ngoặt
trong lịch sử phát triển của quy hoạch tuyến tính về tính hiệu quả thực tế,
nhanh hơn thuật tốn đơn hình với những bài tốn cỡ lớn và đặc biệt nó là
thuật tốn có thời gian đa thức. Tuy nhiên rất ít tác giả, tài liệu, giáo trình
tiếng Việt nghiên cứu và đề cập đến các phƣơng pháp điểm trong.
Là một giảng viên đang giảng dạy môn „Quy hoạch tuyến tính‟ tại
Trƣờng Cao Đẳng Cơng Nghiệp Tuy Hịa, với mong muốn đƣợc tìm hiểu sâu
sắc hơn về các phƣơng pháp giải bài tốn quy hoạch tuyến tính, đặc biệt là
các phƣơng pháp điểm trong, tôi quyết định chọn đề tài : “Phƣơng pháp
điểm trong để giải bài toán quy hoạch tuyến tính” cho luận văn thạc sĩ của
mình.
2. Mục tiêu nghiên cứu
Nghiên cứu các phƣơng pháp điểm trong để giải các bài tốn quy hoạch

tuyến tính, ứng dụng và so sánh các phƣơng pháp này với phƣơng pháp đơn


2

hình. Đặc biệt, so sánh các phƣơng pháp này với phƣơng pháp đơn hình cho
một số bài tốn quy hoạch tuyến tính cỡ lớn.
3. Đối tƣợng và phạm vi nghiên cứu
Các phƣơng pháp điểm trong, phần mềm Matlab để giải bài tốn quy
hoạch tuyến tính.
4. Phƣơng pháp nghiên cứu
Với đề tài “Phƣơng pháp điểm trong để giải bài toán quy hoạch tuyến
tính” tơi đã sử dụng các phƣơng pháp nghiên cứu sau:
+ Thu thập, tổng hợp, phân tích, so sánh, đánh giá và mô tả.
+ Sử dụng, phát triển và ứng dụng các phƣơng pháp đã có trong lý
thuyết bài tốn quy hoạch tuyến tính cho việc nghiên cứu các phƣơng pháp
điểm trong.
5. Bố cục của luận văn
Ngoài phần mở đầu, kết luận và tài liệu tham khảo, nội dung của luận
văn gồm có 3 chƣơng:
Chƣơng 1. Kiến thức cơ bản
Chƣơng 2. Phƣơng pháp Ellipsoid và phƣơng pháp Ellipsoid cải tiến
Chƣơng 3. Phƣơng pháp điểm trong


3

CHƢƠNG 1
KIẾN THỨC CƠ BẢN
Chương này hệ thống lại một số nội dung cơ bản về lý thuyết quy hoạch

tuyến tính, phương pháp đơn hình để giải bài tốn quy hoạch tuyến tính và độ
phức tạp của thuật tốn đơn hình. Nội dung của chương chủ yếu dựa vào tài
liệu [1, 4, 6, 8].
1.1. BÀI TỐN QUY HOẠCH TUYẾN TÍNH
Quy hoạch tuyến tính là bài tố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 tập lồi đa diện D  Rn đƣợc xác định bởi một
hệ các phƣơng trình hoặc bất phƣơng trình tuyến tính cho trƣớc.
Bài tốn quy hoạch tuyến tính dạng tổng qt
Bài tốn này có dạng: Tìm x   x1 , x2 ,..., xn  sao cho
n

f  x    c j x j  min  max 
j 1

 n
(i  1,..., m1 )
 aij x j  bi
j 1

 n
( i  m1  1,..., m2 )
 aij x j  bi
với các điều kiện  j 1
 n
 aij x j  bi
( i  m2  1,..., m)
 j 1
 x  0, j  1,..., n , x  0, j  n  1,..., n  n  n
1
j

1
1
2
 j

1.1
1.2 
1.3
1.4 

Ở đây aij , bi , 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.
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


4

x   x1 , x2 ,..., xn  R n thỏa mãn mọi ràng buộc của bài toán gọi là một phương
án. Tập tất cả các phƣơng án gọi là miền chấp nhận được (hay miền ràng
buộc), ký hiệu là D. Phƣơng án mà tại đó hàm mục tiêu đạt giá trị nhỏ nhất
(hoặc lớn nhất) đƣợc gọi là phương án tối ưu.
Với mỗi bài toán quy hoạch tuyến tính, chỉ xảy ra một trong ba trƣờng
hợp:
a. Bài tốn khơng có phƣơng án (miền ràng buộc D rỗng).
b. Bài tốn có phƣơng án nhƣng khơng có phƣơng án tối ƣu.
c. Bài tốn có phƣơng án tối ƣu (lời giải).






Ta có thể thấy rằng: f x  max f  x    f x  min  f  x  .
xD
xD
Chính vì vậy, về mặt lý thuyết dƣới đây chỉ đề cập tới các bài toán quy
hoạch tuyến tính dạng min.
Và để thuận tiện trong q trình nghiên cứu quy hoạch tuyến tính cũng
nhƣ khi áp dụng nó, ngƣời ta thƣờng dùng hai dạng đặc thù sau:
Bài tốn quy hoạch tuyến tính dạng chính tắc
Bài tốn này có dạng: Tìm x   x1 , x2 ,..., xn  sao cho
n

 f  x    c j x j  min
j 1

 n
i  1,..., m
 aij x j  bi ,
 j 1
 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).
Bài tốn quy hoạch tuyến tính dạng chuẩn tắc


5


Bài tốn này có dạng: Tìm x   x1 , x2 ,..., xn  sao cho
n

 f  x    c j x j  min
j 1

 n
i  1,..., m
 aij x j  bi ,
j

1

 x j  0,
j  1,..., n



(Ràng buộc chính 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).
Để viết bài tốn gọn hơn, ta dùng các ký hiệu vectơ và ma trận sau:
 a11 a12
a
a 22
A   21


a m1 a m 2


a1n 
 a1 j 
a 
a 2n 
 , Aj   2j  ,
 

 

a mn 
a mj 

 b1 
 c1 
 x1 
0 
b 
c 
x 
0 
2
2
b    , c    , x   2  , 0   ,
 
 
 
 


 

 
 
bm 
cn 
0 
 xn 
trong đó A là ma trận cỡ m  n gồm các hệ số vế trái của các ràng buộc chính.

Aj là vectơ cột thứ j của ma trận A tƣơng ứng với biến x j . b là vectơ các hệ
số ở vế phải ràng buộc chính. c là vectơ các hệ số ở hàm mục tiêu. x là vectơ
các ẩn số. 0 là vectơ khơng. Khi đó:
Bài tốn quy hoạch tuyến tính dạng tổng qt có dạng


6

 f  x   cT x  min  max 

, i  1,..., m1
A i x  bi

, i  m1  1,..., m2
.
A i x  bi
A x  b
, i  m2  1,..., m
i
 i
 x j  0, j  1,..., n1 , x j  0, j  n1  1,..., n1  n2  n
Bài tốn quy hoạch tuyến tính dạng chính tắc có dạng (với b ≥ 0)

 f  x   cT x  min

.
Ax  b
x  0


Bài tốn quy hoạch tuyến tính dạng chuẩn tắc có dạng (khơng địi hỏi b ≥ 0)
 f  x   cT x  min

.
Ax  b
x  0


Chuyển đổi dạng bài tốn quy hoạch tuyến tính
Mọi bài tốn quy hoạch tuyến tính tổng qt có thể biến đổi một cách
tƣơng đƣơng về bài toán dạng chuẩn tắc hoặc dạng chính tắc. Vì vậy, ta chỉ
cần chọn một dạng thuận tiện để nghiên cứu là đủ (thƣờng là dạng chính tắc)
mà khơng mất tính tổng qt của các kết quả nghiên cứu.
a. Đƣa bài toán cực đại về bài tốn cực tiểu
Bài tốn tìm cực đại g  max có thể đƣa về bài tốn tìm cực tiểu

f   g  min với cùng các ràng buộc và ta có hệ thức
max g  x  : x  D   min  f  x  : x  D , D là miền chấp nhận đƣợc của f .


7

Thật vậy, nếu bài tốn f  min có phƣơng án tối ƣu là x* với giá trị


f min  f  x*  thì ta có f min  f  x*    g  x*   f  x    g  x  , x  D hay

g  x*   g  x  , x  D . Điều này chứng tỏ x* là phƣơng án tối ƣu của bài

 

 

toán g  max và gmax  g x*   f x*   f min .
b. Chuyển ràng buộc bất đẳng thức về ràng buộc đẳng thức
n

Mỗi ràng buộc bất đẳng thức  aij x j  bi hoặc
j 1

n

a x
j 1

ij

j

 bi

có thể đƣa về ràng buộc đẳng thức nhờ thêm một biến mới là xn1 (với

xn1  0 ), biến này gọi là biến phụ (hay biến bù):

n

a x
j 1

ij

j

 xn 1  bi hoặc

n

a x
j 1

ij

j

 xn1  bi .

c. Chuyển ràng buộc về dấu
Nếu biến x j không bị ràng buộc về dấu thì thay nó bởi hiệu của hai
biến khơng âm bằng cách đặt x j  x j   x j  với x j   0 , x j   0 .
Nếu biến x j  0 thì bằng cách đặt biến mới x j '   x j khi đó ta sẽ có

xj '  0.
1.2. TÍNH CHẤT
Định lý 1.2.1.([6] Sự tồn tại lời giải của quy hoạch tuyến tính) Nếu một

quy 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 tốn min) thì bài tốn chắc chắn có
phương án tối ưu.


8

Định nghĩa 1.2.2. Một phƣơng án x  D đồng thời là đỉnh của D gọi là
một phương án cực biên, nghĩa là x không thể biểu diễn dƣới dạng một tổ hợp
lồi của bất cứ hai phƣơng án bất kỳ nào khác của D. Nói một cách khác, hễ

x   x1  1    x 2 với 0    1 và x1 , x 2  D thì phải có x  x1  x 2 .
Sau đây ta sẽ tập trung nghiên cứu bài tốn quy hoạch tuyến tính dạng
chính tắc với giả thiết m  n và rank  A  m . Định lý sau cho một tính chất
đặc trƣng của phƣơng án cực biên.
Định lý 1.2.3. Nếu bài toán quy hoạch tuyến tính dạng chính tắc có
phương án thì có phương án cực biên và nếu hàm mục tiêu bị chặn dưới trên
D thì có phương án cực biên tối ưu.
Chứng minh. Xem trong [1].





0
0
0
0
Định lý 1.2.4. Để một phương án x  x1 , x2 ,..., xn của bài tốn quy


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
vectơ cột A j của ma trận A ứng với các thành phần x 0j  0 là độc lập tuyến
tính.
Chứng minh. Xem trong [6].
Từ Định lý 1.2.4 ta dễ dàng suy ra các tính chất sau:
Hệ quả 1.2.5. Số phương án cực biên của bài tốn quy hoạch tuyến
tính dạng chính tắc là hữu hạn.
Chứng minh. Xem trong [6].


9

Hệ quả 1.2.6. Số thành phần dương trong mỗi phương án cực biên của
bài tốn quy hoạch tuyến tính dạng chính tắc tối đa bằng m (m là số hàng của
ma trận A).
Chứng minh. Xem trong [6].
1.3. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU
Đối ngẫu là một phƣơng pháp mà ứng với mỗi quy hoạch tuyến tính đã
cho (gọi là bài tốn gốc), ta có thể thiết lập một bài tốn quy hoạch tuyến tính
khác (gọi là bài tốn đố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.
Để tiện cho việc nghiên cứu lý thuyết đối ngẫu, sau đây ta sẽ xét cặp
bài toán đối ngẫu ở dạng chuẩn tắc. Tuy nhiên các kết quả nhận đƣợc cũng
đúng cho một cặp bài toán đối ngẫu bất kỳ.
Đối ngẫu của bài tốn quy hoạch tuyến tính dạng chuẩn tắc (bài toán
gốc)

 P

 f  x   cT x  min


Ax  b
x  0


là bài tốn quy hoạch tuyến tính (bài tốn đối ngẫu)

 D

 g  y   bT y  max
 T
,
A y  c
y  0


(các biến yi của bài toán đối ngấu  D  đƣợc gọi là biến đối ngẫu).


10

Quan hệ giữa cặp bài toán  P  và  D  :
Định lý 1.3.1. Giả sử x là phương án bất kỳ của bài toán gốc  P  , y là
phương án bất kỳ của bài toán đối ngẫu  D  thì f  x   g  y .
Chứng minh. Xem trong [1], [6].
Từ Định lý 1.3.1 ta suy ra các kết quả sau:
Hệ quả 1.3.2. Xét cặp bài toán cặp bài toán  P  và  D  :
i) 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.
ii) Nếu hàm mục tiêu của bài tốn gốc khơng bị chặn dưới trong miền

ràng buộc của nó thì bài tốn đối ngẫu khơng có bất kỳ một phương án nào.
iii) Nếu hàm mục tiêu của bài tốn đối ngẫu khơng bị chặn trên trong
miền ràng buộc của nó thì bài tốn gốc khơng có bất kỳ một phương án nào.
iv) 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.
Chứng minh. Xem trong [1], [6].
Định lý 1.3.3. ([1] Định lý đối ngẫu mạnh) Nếu một quy hoạch có
phương án tối ưu thì quy hoạch đối ngẫu của nó cũng có phương án tối ưu và
giá trị mục tiêu tối ưu của chúng là bằng nhau.
Định lý 1.3.4. ([6] Định lý tồn tại) Đối với mỗi cặp quy hoạch tuyến
tính đối ngẫu nhau chỉ có thể xảy ra một trong ba khả năng nhau sau:


11

i) Cả hai quy hoạch tuyến tính đều khơng có phương án.
ii) Cả hai quy hoạch tuyến tính đều có phương án. Khi đó, cả hai quy
hoạch tuyến tính đề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.
iii) Một quy hoạch có phương án và quy hoạch kia khơng có phương
án. Khi đó, quy 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 bị chặn trong miền ràng buộc.
Định lý 1.3.5. ([1], [4], [6] Định lý độ lệch bù) Giả sử x và y là nghiệm

chấp nhận được của bài toán gốc và bài tốn đối ngẫu, tương ứng. Khi đó x
và y là tối ưu khi và chỉ khi:
  n

 yi   aij x j  bi   0 , i  1, m
  j 1


m


c

a
y

j
ij
i

 x j  0 , j  1, n

i 1



1.4. PHƢƠNG PHÁP ĐƠN HÌNH
Để giải bài tốn quy hoạch tuyến tính bất kỳ nào, trƣớc hết ta đƣa nó về
dạng chính tắc bằng một số phép biến đổi đã biết. Từ lời giải của bài tốn ở
dạng chính tắc đó, ta suy ra lời giải của bài toán ban đầu. Đối với bài tốn quy

hoạch tuyến tính dạng chính tắc, nhƣ đã trình bày ở trên, nếu có phƣơng án thì
có phƣơng án cực biên, nếu có phƣơng án tối ƣu thì có phƣơng án cực biên tối
ƣu. Điều đó cho thấy vai trò quan trọng của các phƣơng án cực biên trong
việc đề xuất các phƣơng pháp giải bài toán quy hoạch tuyến tính dạng chính
tắc, đồng thời có thể sử dụng tính hữu hạn của các phƣơng án cực biên của bài
tốn đó. Phƣơng pháp đơn hình là một trong các phƣơng pháp dùng để giải
bài toán quy hoạch tuyến tính dạng chính tắc. Ý tƣởng của phƣơng pháp này


12

là xuất phát từ một phƣơng án cực biên bất kỳ. Tiếp đó, kiểm tra xem phƣơng
án cực biê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 đó với giá trị hàm mục tiêu tại các điểm liền kề với nó.
Nếu đúng thì dừng q trình tính tốn. Trái lại, ta phải tìm cách xây dựng một
phƣơng án cực biên khác tốt hơn phƣơng án cực biên ban đầu. Quá trình cứ
lặp lại nhƣ vậy, sau một số hữu hạn bƣớc (vì số phƣơng án cực biên là hữu
hạn) sẽ thu đƣợc phƣơng án tối ƣu hoặc nhận biết đƣợc bài tốn đó có hàm
mục tiêu khơng bị chặn.
Nhƣ vậy, phƣơng pháp đơn hình tiến hành khảo sát các đỉnh của miền
ràng buộc để tìm ra đỉnh tối ƣu. Mặc dù số đỉnh của bài tốn nói chung là rất
lớn, nhƣng trên thực tế phƣơng pháp này chỉ đòi hỏi kiểm tra một phần tƣơng
đối nhỏ các đỉnh. Điều đó thể hiện hiệu quả thực tế của phƣơng pháp đơn
hình.
Khi sử dụng phƣơng pháp đơn hình để giải bài tốn quy hoạch tuyến
tính dạng chính tắc với ma trận hệ số A  R m n , b R m và c  R n , số lần lặp
để giải bài toán bắt đầu từ lời giải cơ sở chấp nhận đƣợc là bội số nhỏ nhất
của m thƣờng là giữa 2m và 3m. Thực tế thì Dantzig đã quan sát thấy rằng đối
với các bài tốn có số ràng buộc m ≤ 50 và số biến n ≤ 200 thì số lần lặp đơn
hình nói chung nhỏ hơn 1,5m.

Lúc đó các nhà nghiên cứu đã tin và cố gắng chứng minh rằng thuật
tốn đơn hình ln địi hỏi số lần lặp bị chặn bởi một đa thức theo kích thƣớc
của bài tốn. Tuy nhiên, vào năm 1972, Victor Klee và George Minty đã tìm
đƣợc phản ví dụ chứng tỏ rằng, về lý thuyết, phƣơng pháp đơn hình tồi tệ hơn
ngƣời ta vẫn tƣởng. Đó là ví dụ về lớp các bài tốn quy hoạch tuyến tính mà
mỗi bài tốn trong đó địi hỏi số lần lặp là hàm mũ, nếu nhƣ giải nó bằng
phƣơng pháp đơn hình.


13

Dạng ví dụ của Klee – Minty là:
n

n j
 f  x   10 x j  max
j 1

 i 1 i  j
i 1
210 x j  xi  100 , i  1,2,..., n
 j 1
 x j  0 , j  1,2,..., n



Với bài toán có m = n này, hai ơng đã chỉ ra rằng nếu áp dụng quy tắc
n
Dantzig thì sau đúng 2  1 bƣớc lặp mới đi đến nghiệm tối ƣu. Đây là số rất


lớn (vì tăng theo số mũ). Chẳng hạn, với trƣờng hợp n =50 ta có 250  1  1015.
Biết rằng một năm với 365 ngày, tức là có khoảng 3  107 giây. Nhƣ vậy nếu
một máy tính chạy liên tục và thực hiện một triệu phép lặp trong một giây thì
cần một khoảng thời gian là
1015
 33 năm
3  107  106

Vậy có thể nói điểm yếu của thuật tốn đơn hình là về mặt lý thuyết, nó
có thời gian tính hàm mũ.
1.5. ĐỘ PHỨC TẠP CỦA THUẬT TỐN
Một thuật tốn đƣợc gọi là hiệu quả nếu nó tiết kiệm đƣợc khơng gian
và thời gian. Tiết kiệm khơng gian tức là chiếm dụng ít bộ nhớ trong thời gian
thực hiện. Tiết kiệm thời gian là chạy nhanh. Trong đó tiêu chuẩn thời gian
thực hiện nhanh là quan trọng hàng đầu. Vì thế, đánh giá độ phức tạp của
thuật toán là đánh giá thời gian thực hiện nó.
Trong khi đó, thời gian thực hiện thuật tốn đƣợc đo bằng tổng số phép
toán số học cần tiến hành để giải bài toán bằng thuật toán này. Tuy nhiên,


14

tổng số phép tốn lại phụ thuộc vào “kích cỡ” của bài toán, tức là độ lớn của
đầu vào. Do đó thời gian thực hiện thuật tốn thƣờng đƣợc biểu diễn dƣới
dạng T  n  là một hàm số dƣơng của n, đồng biến theo n. Để tiện so sánh thời
gian thực hiện của các thuật toán, ngƣời ta đƣa ra ký hiệu O (đọc là O lớn).
Giả sử f  n  , g  n  là hai hàm số không âm. Ta viết f  n   O  g  n  
khi và chỉ khi tồn tại hằng số C để f  n   C.g  n  kể từ n  n0 nào đó. Ta
nói f  n  có cấp lớn không vƣợt quá g  n  . Chẳng hạn:


f  n   2n2  3n  5

f  n   2n2  3n2  5n2  12n2

 

2
với mọi n ≥ 1. Ta viết f  n   O n .

Viết T  n   O  g  n   , nghĩa là tốc độ tăng của T  n  khi n tiến đến vô
cùng không vƣợt quá tốc độ tăng của g  n  . Khi n lớn, g  n  cho ta hình dung
đƣợc mức độ lớn của T  n  . g  n  là “thƣớc đo” độ lớn của T  n  . Các đơn vị
đo tăng hay dùng ƣớc lƣợng thời gian thực hiện thuật toán là

ln n, n, n.log n, n2 , n3 ,..., nk , n!, en , nn .

 

k
Các thuật tốn có thời gian thực hiện T  n  không vƣợt quá O n , k

là hằng số, đƣợc gọi là thuật toán thời gian đa thức. Các thuật tốn có thời
gian thực hiện lớn hơn, ở mức n!, en , nn đƣợc gọi là có thời gian hàm mũ.
Về mặt lý thuyết, chỉ những thuật toán với thời gian đa thức mới đƣợc
coi là khả thi.


15

Đánh giá thời gian thực hiện của thuật toán đơn hình:

Trong mỗi bƣớc lặp của phƣơng pháp đơn hình cần thực hiện O  m.n 

 

phép toán số học để tính giá trị mục tiêu, các biến cơ sở và O m2 phép tốn
để tính lại ma trận cơ sở. Tổng số phép toán số học trong một phép lặp đơn





hình là O m.n  m3 .
Nói chung, ngƣời ta nhận thấy rằng cần khoảng O  m  phép lặp đơn
hình để giải bài tốn quy hoạch tuyến tính. Nghĩa là theo kinh nghiệm, về
trung bình, thời gian giải bài tốn quy hoạch tuyến tính bằng thuật tốn đơn
hình là một đa thức theo m và n.
Tuy nhiên, số phƣơng án cực biên hay chính xác hơn là số cơ sở có thể
có là Cnm . Do đó, trong trƣờng hợp xấu nhất cần phải thực hiện Cnm phép lặp
đơn hình. Nhƣ vậy, về mặt lý thuyết, thuật tốn đơn hình khơng phải là thuật
tốn với thời gian đa thức. Tìm kiếm các thuật tốn thời gian đa thức giải quy
hoạch tuyến tính là một vấn đề đang đƣợc quan tâm.
Và phần dƣới đây sẽ giới thiệu một cách khái quát về một số thuật toán
thời gian đa thức để giải bài tốn quy hoạch tuyến tính.


16

CHƢƠNG 2

PHƢƠNG PHÁP ELLIPSOID VÀ

PHƢƠNG PHÁP ELLIPSOID CẢI TIẾN
Chương này nghiên cứu phương pháp Ellipsoid và phương pháp
Ellipsoid cải tiến để tìm một điểm thỏa mãn hệ bất phương trình tuyến tính và
ứng dụng các phương pháp này vào bài tốn quy hoạch tuyến tính. Cụ thể là,
giải bài tốn tìm phương án chấp nhận được và phương án tối ưu chấp nhận
được trong bài tốn quy hoạch tuyến tính. Phương pháp Ellipsoid đã được
nghiên cứu trong các tài liệu [1, 4, 8]. Trên cơ sở phương pháp Ellipsoid,
chúng tôi đề xuất phương pháp Ellipsoid cải tiến. Các kết quả và ứng dụng
của phương pháp Ellipsoid đã được đăng trong bài báo [3].
2.1. ĐẶT VẤN ĐỀ
Trong chƣơng này, chúng tôi trình bày phƣơng pháp Elliposoid tìm một
nghiệm của tập P định nghĩa bởi

P  {u  Rk : Bu  d},

(2.1)

lk
trong đó B  R và d  Rl là ma trận và vectơ cho trƣớc tƣơng ứng.

Phƣơng pháp Ellipsoid đã đƣợc nghiên cứu trong [1, 4, 8]. Sau khi
chứng minh sự hội tụ của phƣơng pháp và những hạn chế của nó. Chúng tơi
đề xuất một phƣơng pháp mới, gọi là phƣơng pháp Ellipsoid cải tiến, khắc
phục hạn chế của phƣơng pháp Ellipsoid và trình bày ứng dụng của phƣơng
pháp Ellipsoid cải tiến vào giải bài tốn tìm phƣơng án chấp nhận đƣợc và
phƣơng án tối ƣu chấp nhận đƣợc trong bài tốn quy hoạch tuyến tính.


17


2.2. PHƢƠNG PHÁP ELLIPSOID
Phần này trình bày phƣơng pháp Ellipsoid và chứng minh sự hội tụ của
nó. Trƣớc hết ta tìm hiểu một số khái niệm cơ bản, làm cơ sở cho việc trình
bày và chứng minh phƣơng pháp Ellipsoid.
n
Định nghĩa 2.2.1. Một Ellipsoid trong không gian R là tập





E  z, D  : x  R k :  x  z  D 1  x  z   1 ,
T

k
ở đây, D là ma trận đối xứng, xác định dƣơng cấp k  k và z  R đƣợc gọi là

tâm của ellipsoid.
n
Nhƣ vậy, ellipsoid trong R là mở rộng trực tiếp của ellipsoid trong

R 2 và ellipsoid trong R 3 . Trƣờng hợp đặc biệt, với D  r 2 I , ở đây r  0 và I
là ma trận đơn vị thì ellipsoid



E  z, r 2 I   x  R n :  x  z   x  z   r 2
T




 x  Rn : x  z  r ,
là hình cầu tâm z, bán kính r.
Cho ma trận D cấp m  n , bình thƣờng (khơng cần đối xứng và xác
định dƣơng) thì ánh xạ S : R n  R n xác định bởi S(x) = Dx + b đƣợc gọi là
một biến đổi affine.
n
Thể tích (volume) của một tập T  R đƣợc định nghĩa là

Vol T  :  dx .
T


×