ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
-----o0o-----
Bài giảng môn
TỐI ƯU HÓA
THÂN QUANG KHOÁT
Thái nguyên - 2007
Thân Quang Khoát
MỤC LỤC
Chương 1. MỞ ĐẦU......................................................................................................3
§1. ĐỐI TƯỢNG NGHIÊN CỨU...............................................................................3
1.1. Bài toán tối ưu tổng quát...................................................................................3
1.2. Phân loại bài toán..............................................................................................3
1.3. Một số mô hình thực tế .....................................................................................4
§2. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ..........................................................6
2.1. Dạng tổng quát..................................................................................................6
2.2. Dạng chuẩn tắc..................................................................................................7
2.3. Dạng chính tắc...................................................................................................7
§3. MỘT SỐ KIẾN THỨC BỔ TRỢ ..........................................................................9
3.1. Tập hợp lồi và điểm cực biên............................................................................9
3.2. Đa diện lồi (polytope) .....................................................................................10
§4. CẤU TRÚC MIỀN RÀNG BUỘC CỦA BÀI TOÁN........................................11
QUY HOẠCH TUYẾN TÍNH ............................................................................11
4.1. Phương án cực biên và phương án cực biên tối ưu.........................................11
4.2. Điều kiện cần và đủ để một phương án là cực biên ........................................13
4.3. Cơ sở của một phương án cực biên.................................................................15
Chương 2. THUẬT TOÁN ĐƠN HÌNH....................................................................17
§1. MỞ ĐẦU .............................................................................................................17
1.1. Bài toán ...........................................................................................................17
1.2. Phương pháp Hình Học...................................................................................17
§2. THUẬT TOÁN ĐƠN HÌNH...............................................................................19
2.1. Tư tưởng của thuật toán đơn hình...................................................................19
2.2. Công thức số gia hàm mục tiêu - dấu hiệu tối ưu ...........................................20
2.3. Tìm phương án cực biên tốt hơn - Công thức đổi cơ sở .................................21
2.4. Thuật toán đơn hình (Simplex method) ..........................................................23
2.5. Bảng đơn hình .................................................................................................24
§3. TÍNH HỮU HẠN CỦA THUẬT TOÁN ĐƠN HÌNH .......................................28
3.1. Trường hợp bài toán không suy biến ..............................................................28
3.2. Trường hợp bài toán suy biến .........................................................................28
§4. PHƯƠNG PHÁP HAI PHA ................................................................................31
4.1. Vấn đề .............................................................................................................31
4.2. Phương pháp hai pha giải bài toán QHTT ......................................................32
Bộ môn Khoa Học Cơ Bản
1
Bài Giảng môn Tối Ưu Hoá
4.3. Một số ví dụ ....................................................................................................34
§5. PHƯƠNG PHÁP ĐÁNH THUẾ.........................................................................36
§6. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU ...................................41
6.1. Bài toán đối ngẫu ............................................................................................41
6.2. Các định lý đối ngẫu .......................................................................................42
6.3. Một số ứng dụng của lý thuyết đối ngẫu ........................................................44
6.4. Thuật toán đơn hình đối ngẫu .........................................................................46
Chương 3. TỐI ƯU HOÁ RỜI RẠC .........................................................................56
§1. BÀI TOÁN TỐI ƯU HOÁ RỜI RẠC.................................................................56
1.1. Mở đầu............................................................................................................56
1.2. Một số bài toán tối ưu hoá rời rạc tiêu biểu....................................................56
§2. PHƯƠNG PHÁP CẮT GOMORY GIẢI BÀI TOÁN QHTT NGUYÊN..........58
2.1. Tư tưởng chung của phương pháp cắt ............................................................58
2.2. Phương pháp cắt Gomory cho bài toán QHTT nguyên hoàn toàn .................59
2.3. Phương pháp cắt Gomory cho bài toán QHTT nguyên bộ phận ....................64
§3. PHƯƠNG PHÁP NHÁNH CẬN ........................................................................65
3.1. Sơ đồ tổng quát ...............................................................................................65
3.2. Thuật toán nhánh cận Land-Doig giải bài toán QHTT nguyên......................66
3.3. Một số ví dụ ....................................................................................................68
§4. BÀI TOÁN CÁI TÚI...........................................................................................72
4.1. Đưa bài toán QHTT Nguyên về bài toán cái túi.............................................72
4.2. Phương pháp Quy hoạch động giải bài toán cái túi........................................74
Tài liệu tham khảo.......................................................................................................77
Khoa Công nghệ thông tin - ĐHTN
2
Thân Quang Khoát
Chương 1. MỞ ĐẦU
§1. ĐỐI TƯỢNG NGHIÊN CỨU
1.1. Bài toán tối ưu tổng quát
Bài toán tối ưu tổng quát có dạng như sau:
1
12
2
( ) min (max)
() , 1,
() , 1,
() , 1,
ii
jj
kk
n
f x
gx b i m
gx b j m m
gx b k m m
xX
→
⎧
≥=
⎪
⎪
⎪
⎪
≤=+⎪
⎪
⎪
⎨
⎪
==+
⎪
⎪
⎪
⎪
∈⊂ℜ
⎪
⎪
⎩
Trong đó
()f x
được gọi là hàm mục tiêu;
(), 1,
i
gx i m=
được gọi là các
hàm ràng buộc. Mỗi một đẳng thức hay bất đẳng thức được gọi là một ràng
buộc. Gọi
11
2
() , 1, ; () , 1,
() , 1, ;
ii j j
n
kk
gx bi m gx bj m m
Dx
gx bk m mx X
⎧⎫
≥= ≤ =+
⎪⎪
⎪⎪
⎪⎪
=∈ℜ
⎨⎬
⎪⎪
==+ ∈
⎪⎪
⎪⎪
⎩⎭
2
∈
D
được gọi là miền ràng buộc (hay miền chấp nhận được). Mỗi một vectơ
được gọi là một phương án của bài toán (hay lời giải chấp
nhận được).
12
( , , ..., )
n
xxx x D=
Định nghĩa: Phương án được gọi là phương án tối ưu của bài toán nếu
thoả mãn điều kiện sau
*
xD∈
(®èi víi bµi to¸n t×m Min)
(®èi víi bµi to¸n t×m Max)
*
*
() (),
() (),
f xfx xD
fx fx x D
≤∀∈
≥∀∈
khi đó giá trị
*
()f x
được gọi là giá trị tối ưu.
1.2. Phân loại bài toán
Chúng ta thấy rằng, một cách hiển nhiên nhất để giải bài toán đặt ra là: Tính
giá trị của hàm
()f x
trên tất cả các phương án của miền ràng buộc sau đó so
sánh các giá trị của hàm mục tiêu thu được để tìm ra phương án tối ưu. Tuy
Bộ môn Khoa Học Cơ Bản
3
Bài Giảng môn Tối Ưu Hoá
nhiên cách làm này là rất khó hoặc đúng hơn là không thể làm được trong
trường hợp tổng quát (chẳng hạn tập
là không đếm được). Vì vậy chúng ta
phải phân tách nhỏ ra bằng cách thêm một số điều kiện nào đó để được các bài
toán “dễ giải”. Người ta đã phân ra một số loại bài toán như sau:
D
+ Quy hoạch tuyến tính
+ Quy hoạch lồi.
+ Quy hoạch phi tuyến.
+ Quy hoạch toàn phương.
+ Quy hoạch rời rạc.
+ Quy hoạch nguyên.
1.3. Một số mô hình thực tế
Ta sẽ xem xét một số bài toán trong thực tế đưa đến bài toán t
ối ưu hoá và
mô mình toán học tương ứng của nó.
1.3.1. Bài toán lập kế hoạch sản xuất cho một nhà máy
Một nhà máy có khả năng sản xuất loại sản phẩm. Để sản xuất loại
sản phẩm này thì cần
m
loại nguyên liệu. Biết:
n n
ij
a
- lượng nguyên liệu loại
i
cần thiết để sản xuất một đơn vị sản phẩm loại
j
i
b
- lượng dự trữ nguyên liệu loại
i
j
c
- tiền lãi từ việc bán một đơn vị sản phẩm loại
j
1, , 1,imj==n
Hãy xây dựng kế hoạch sản xuất sao cho nhà máy thu được tổng lợi nhuận
là nhiều nhất.
Gọi
là lượng sản phẩm loại mà nhà máy sẽ sản xuất, rõ ràng ta có
. Kế hoạch sản xuất của nhà máy sẽ là véctơ . Đại lượng
là tổng chi phí nguyên liệu loại theo kế hoạch sản xuất , theo giả
thiết ta có:
j
x j
0
j
x ≥
12
( , , ..., )
n
xxx x
=
1
n
ij j
j
ax
=
∑
i
x
1
n
ij j i
j
ax b
=
≤
∑
Khoa Công nghệ thông tin - ĐHTN
4
Thân Quang Khoát
Tổng lợi nhuận thu được theo kế hoạch sản xuất
x
sẽ là . Như vậy
yêu cầu của bài toán này đưa về mô hình toán học như sau:
1
n
jj
j
cx
=
∑
1
1
()
,1,
0, 1,
n
jj
j
n
ij j i
j
j
f xcxM
ax b i m
xjn
=
=
=→
⎧
≤=
⎪
⎪
⎪
⎨
⎪
≥=
⎪
⎪
⎩
∑
∑
ax
Mô hình thu được chính là một bài toán quy hoạch tuyến tính.
1.3.2. Bài toán cái túi
Một nhà thám hiểm cần đem theo một cái túi có trọng lượng không quá
b
.
Có
loại đồ vật có thể đem theo. Đồ vật thứ có trọng lượng là và giá trị
sử dụng là
n
j
j
a
(1,
j
cj n
= )
. Hỏi rằng nhà thám hiểm cần lấy các loại đồ vật nào và
số lượng bao nhiêu để cho tổng giá trị sử dụng của các đồ vật mang theo là
nhiều nhất ?
Gọi
(1,
j
xj n
= )
là số lượng đồ vật loại mà nhà thám hiểm sẽ đem theo.
Khi đó tổng giá trị của các đồ vật đó là
, tổng trọng lượng của chúng là
. Từ giả thiết ta có . Như vậy yêu cầu của bài toán sẽ đưa
về việc giải bài toán sau:
j
1
n
jj
j
cx
=
∑
1
n
jj
j
ax
=
∑
1
n
jj
j
ax b
=
≤
∑
vµ nguyªn
1
1
max
0(
n
jj
j
n
jj
j
j
cx
ax b
xj
=
=
→
⎧
≤
⎪
⎪
⎨
⎪
≥=
⎪
⎩
∑
∑
1,)n
Đây lại là một bài toán quy hoạch tuyến tính Nguyên.
1.3.3. Bài toán vận tải
Có
m
kho hàng cùng chứa một loại hàng hoá, lượng hàng có ở kho thứ
i
là
(1,
m
)
i
ai
=
. Có
n
địa điểm tiêu thụ loại hàng nói trên, với nhu cầu tiêu thụ ở
điểm
là
j
(1,
j
bj n
)=
. Biết là cước phí vận chuyển một đơn vị hàng hoá từ
kho thứ đến điểm tiêu thụ thứ . Hãy lập kế hoạch vận chuyển hàng hoá từ
các kho đến các điểm tiêu thụ sao cho tổng chi phí vận chuyển là nhỏ nhất.
ij
c
i
j
Ký hiệu
là lượng vận chuyển từ kho
i
đến điểm tiêu thụ thứ , khi đó:
ij
x
j
Bộ môn Khoa Học Cơ Bản
5
Bài Giảng môn Tối Ưu Hoá
ij
11
mn
ij
ij
cx
==
∑∑
là tổng chi phí vận chuyển
1
n
ij
j
x
=
∑
là lượng hàng vận chuyển từ kho thứ
i
1
m
ij
i
x
=
∑
là lượng hàng vận chuyển đến điểm tiêu thụ thứ
j
khi đó bài toán lập kế hoạch trên có thể đưa về mô hình toán học như sau:
11
1
1
0, 1, , 1,
mn
ij ij
ij
n
ij i
j
n
ij j
j
ij
cx Min
xa
xb
ximj
==
=
=
→
⎧
=
⎪
⎪
⎪
⎪
⎪
=
⎨
⎪
⎪
⎪
≥= =
⎪
⎪
⎩
∑∑
∑
∑
n
n
ℜ
Đây chính là một bài toán Quy hoạch tuyến tính.
§2. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
2.1. Dạng tổng quát
Tìm véctơ
sao cho:
12
(, ,..., )
t
n
xxx x=∈
1
() ( )
n
jj
j
f xcxMinMa
=
=→
∑
x
với các điều kiện:
tù do ,
1
1
12
1
2
1
1
12
2
,1,
,1
,1
0, 1,
0, 1,
1,
n
ij j i
j
n
pj j p
j
n
kj j k
j
j
j
j
ax b i m
ax b p m m
ax b k m m
D
xjn
xjnn
xjnn
=
=
=
⎧
≥=
⎪
⎪
⎪
⎪
≤=+
⎪
⎪
⎪
⎪
⎪
==+
⎪
⎪
=
⎨
⎪
≥=
⎪
⎪
⎪
⎪
≤=+
⎪
⎪
⎪
⎪
=+
⎪
⎪
⎩
∑
∑
∑
,
,
Dễ thấy rằng:
1)
() min () maxf xfx→⇔−→
Khoa Công nghệ thông tin - ĐHTN
6
Thân Quang Khoát
2)
11
()
nn
ij j i ij j i
jj
ax b a x b
==
≥⇔ − ≤−
∑∑
3)
1
1
1
n
ij j i
n
j
ij j i
n
j
ij j i
j
ax b
ax b
ax b
=
=
=
⎧
⎪
≥
⎪
⎪
⎪
=⇔
⎨
⎪
≤
⎪
⎪
⎪
⎩
∑
∑
∑
4)
11
,( 0)
nn
ij j i ij j n i i n i
jj
ax b ax x b x
++
==
≥⇔ −= ≥
∑∑
5)
11
,( 0)
nn
ij j i ij j n i i n i
jj
ax b ax x b x
++
==
≤⇔ += ≥
∑∑
các biến
được gọi là các biến bù.
ni
x
+
6) Một biến
không ràng buộc về dấu (tự do) có thể được thay bằng hiệu
hai biến không âm:
j
x
Víi 0, 0
jjj j j
xxx x x
=− ≥ ≥
Từ các nhận xét trên ta thấy rằng bất kỳ một bài toán quy hoạch tuyến tính
nào cũng có thể đưa về một trong hai dạng sau đây:
2.2. Dạng chuẩn tắc
1
1
()
,1,
0, 1,
n
jj
j
n
ij j i
j
j
f xcxMi
ax b i m
xjn
=
=
=→
⎧
⎪
≥=
⎪
⎪
⎨
⎪
≥=
⎪
⎪
⎩
∑
∑
n
Hay dưới dạng ma trận
()
0
t
f xcxMin
Ax b
x
=→
≥
⎧
⎪
⎪
⎨
⎪
≥
⎪
⎩
trong đó:
lµ ma trËn cÊp
,, ,
nm
cx b A m n∈ℜ ∈ℜ ×
2.3. Dạng chính tắc
Bộ môn Khoa Học Cơ Bản
7
Bài Giảng môn Tối Ưu Hoá
1
1
()
,1,
0, 1,
n
jj
j
n
ij j i
j
j
f xcxMi
ax b i m
xjn
=
=
=→
⎧
⎪
==
⎪
⎪
⎨
⎪
≥=
⎪
⎪
⎩
∑
∑
n
Hay dưới dạng ma trận
()
0
t
f xcxMin
Ax b
x
=→
=
⎧
⎪
⎪
⎨
⎪
≥
⎪
⎩
Ví dụ: Cho bài toán quy hoạch tuyến tính
12 34
12 4
234
12 3
() 2 3 4 5 max
6
293
4
57
2
0, 1, 4
i
f xxxxx
xx x
xxx
xxx
xi
=−+−→
⎧
+−
⎪
=
⎪
⎪
⎪
−++
≥
⎪
⎪
⎨
⎪
+−
≤
⎪
⎪
⎪
≥=
⎪
⎪
⎩
khi đó dạng chính tắc của bài toán sẽ là:
1234
12 4
2345
12 3 6
() 2 3 4 5 min
6
293
4
57
2
0, 1, 6
i
gx xxxx
xx x
xxxx
xxx x
xi
=− + − + →
⎧
+−
⎪
=
⎪
⎪
⎪
−++−
=
⎪
⎪
⎨
⎪
+− +
=
⎪
⎪
⎪
≥=
⎪
⎪
⎩
dạng chuẩn tắc là:
1234
12 4
234
12 3
12 4
() 2 3 4 5 min
6
293
4
57
2
6
0, 1, 4
i
gx x x x x
xx x
xxx
xx x
xx x
xi
=− + − + →
⎧
+−
≥
⎪
⎪
⎪
⎪
−++
≥
⎪
⎪
⎪
−−+
≥
−
⎨
⎪
⎪
−− +
≥
⎪
−
⎪
⎪
⎪
≥=
⎪
⎩
Khoa Công nghệ thông tin - ĐHTN
8
Thân Quang Khoát
§3. MỘT SỐ KIẾN THỨC BỔ TRỢ
3.1. Tập hợp lồi và điểm cực biên
3.1.1. Tập hợp lồi (convex set)
Đoạn thẳng: cho hai điểm khi đó đoạn thẳng nối hai điểm đó là tập
hợp điểm có dạng
,
n
ab∈ℜ
[]
{}
(1 ) , 0,1
n
xxa bλλλ∈ℜ = + − ∈
. Nếu thì ta sẽ có
đường thẳng đi qua hai điểm
.
λ
∈ℜ
,
ab
Tập lồi: Tập được gọi là tập lồi nếu lấy hai điểm bất kỳ thì
đoạn thẳng nối hai điểm này thuộc hoàn toàn trong
C
.
n
C ⊂ℜ
12
,xx C∈
Hoặc ta có thể phát biểu như sau:
lµ tËp låi th×
12 1 2
,,0;1 (1)C xxC x x xCλλλ
⎡ ⎤
⇔∀ ∈ ∀ ∈ = + − ∈
⎢ ⎥
⎣ ⎦
Các tập lồi
Ví dụ: Trong không gian 2 chiều thì các đa giác, các hình tròn, các hình elip,…
là các tập lồi.
Các siêu phẳng
{
1
n
n
ii
i
}
cxβ
=
=∈ℜ =
∑
Hx
cũng là một tập lồi trong
ℜ
n
Các nửa không gian
{
1
n
n
ii
i
}
cxβ
=
=∈ℜ ≥
∑
Hx
là các tập lồi trong
n
ℜ
Bổ đề: Giao của các tập lồi cũng là một tập lồi.
3.1.2. Điểm cực biên (vertex)
Điểm cực biên: điểm thuộc tập lồi
C
được gọi là điểm cực biên của
C
nếu nó không là điểm trong của bất kỳ đoạn thẳng nào nối hai điểm khác nhau
thuộc
C
. Tức là,
0
x
0
12 1 2 1
x=
2
,, : (1)xx Cx x x xαα∃∈ ≠ +−
⎡⎤
∈
⎢⎥
⎣⎦
với
α
.
0; 1
Ví dụ:
C
là đa giác lồi trong
ℜ
thì các đỉnh của nó chính là các điểm cực biên,
các điểm khác đều không là điểm cực biên. Tất cả các điểm trên đường tròn là
2
Bộ môn Khoa Học Cơ Bản
9
Bài Giảng môn Tối Ưu Hoá
điểm cực biên của hình tròn đó.
* Chú ý:
- Cần phân biệt Điểm biên và Điểm Cực biên. Ví dụ các đỉnh của một
tam giác là điểm cực biên, còn các điểm trên các cạnh là các điểm biên.
- Có những tập lồi không có điểm cực biên, chẳng hạn: các nửa không
gian, một mặt phẳng,…
3.2. Đa diện lồi (polytope)
3.2.1. Tổ hợp lồi (convex combinatorial)
Định nghĩa: Một tổ hợp lồi của các điểm
(1,
in
xi∈ℜ =
)
m
là điểm
có dạng
trong đó
n
x ∈ℜ
12
12
...
m
m
xx x xαα α=+++
0( 1, )
i
imα ≥=
và .
1
1
m
i
i
α
=
=
∑
Như vậy nếu ta có 2 điểm A, B thì mọi điểm nằm trên đoạn thẳng nối hai
điểm đó sẽ là tổ hợp lồi của hai điểm A và B. Định lý sau đây sẽ cho ta biết
được một tập khi nào là một tập lồi.
Định lý: Tập
C
là tập lồi khi và chỉ khi
,0(1,)
i
i
xC i m
α∀∈ ∀≥ =
1
1
m
i
i
α
=
=
∑
α
=
∈
,
thì
∑
.
1
m
i
i
i
xC
Bổ đề: Tập hợp M gồm mọi tổ hợp lồi của hữu hạn các điểm cho trước là một
tập lồi.
3.2.2. Đa diện lồi
Định nghĩa: Tập hợp M gồm mọi tổ hợp lồi của một số hữu hạn điểm cho trước
được gọi là một đa diện lồi sinh bởi hệ điểm đã cho.
12
, ,...,
m
xx x
Ký hiệu:
{}
12
, ,...,
m
Mconvxx x
=
Như vậy ta thấy đa diện lồi là một tập hợp lồi. Tuy nhiên không phải tập lồi
nào cũng là đa diện lồi, chẳng hạn hình tròn là tập lồi nhưng không là đa diện
lồi.
Ví dụ: Đoạn thẳng nối hai điểm A và B là một đa diện lồi.
Đa diện lồi sinh bởi 3 điểm A, B, C trên mặt phẳng là một tam giác. Ba
điểm A, B, C là các đi
ểm cực biên của đa diện lồi này.
Định lý: Nếu M là một đa diện lồi thì nó có điểm cực biên. Số điểm cực biên của M
Khoa Công nghệ thông tin - ĐHTN
10
Thân Quang Khoát
là hữu hạn và mọi điểm của M đều là các tổ hợp lồi của các điểm cực biên đó.
Như vậy định lý này cho chúng ta biết được một tính chất quan trọng của
đa diện lồi, đó là số đỉnh cực biên của một đa diện lồi cho trước là hữu hạn.
Về mặt hình học ta thấy, đa diện lồi là một tập lồ
i và là giao của một số các
nửa không gian đóng trong
. Tuy nhiên điều ngược lại chưa chắc đúng. Vậy
thì làm thế nào để biết được phần giao của các nửa không gian đóng trong
là
một đa diện lồi ?
n
ℜ
n
ℜ
Hai nhà toán học là Hoàng Tụy và Asmanov sẽ trả lời cho chúng ta bằng
định lý sau đây:
Định lý: Xét tập
{
n
Mx Axb
=∈ℜ ≥
}
trong đó
A
là ma trận cấp
m
, .
Nếu
M
và giới nội thì M là một đa diện lồi.
n
×
m
b
∈ℜ
φ
≠
§4. CẤU TRÚC MIỀN RÀNG BUỘC CỦA BÀI TOÁN
QUY HOẠCH TUYẾN TÍNH
4.1. Phương án cực biên và phương án cực biên tối ưu
Không mất tổng quát ta xét bài toán QHTT dạng chính tắc như sau:
()
0
t
f xcxMin
Ax b
x
=→
=
⎧
⎪
⎪
⎨
⎪
≥
⎪
⎩
(I)
Ký hiệu:
{}
,0
n
Dx Axbx=∈ℜ = ≥
Đặt:
,
0
EE
A
b
AAb
E
⎛⎞
⎛⎞
⎟
⎟
⎜
⎜
⎟
⎟
⎜
⎜
⎟
⎟
⎜
⎜
⎟
⎟
⎜
⎜
⎟
=− =−
⎟
⎜
⎜
⎟
⎟
⎜
⎜
⎟
⎟
⎜
⎟
⎜
⎟
⎟
⎟
⎜
⎜
⎟
⎟⎜
⎜
⎝⎠
⎝⎠
b
khi đó ta có:
{}
n
EE
Dx Axb
=∈ℜ ≥
Phương án cực biên: Phương án được gọi là phương án cực biên của
bài toán (I) nếu
là điểm cực biên của
D
.
0
xD∈
0
x
Bộ môn Khoa Học Cơ Bản
11
Bài Giảng môn Tối Ưu Hoá
Phương án cực biên tối ưu: Nếu phương án cực biên là phương án tối ưu
của bài toán (I) thì
được gọi là phương án cực biên tối ưu của bài toán (I).
0
x
0
x
Người ta đã chứng minh được định lý sau đây:
Định lý: Xét tập
{}
n
Gx Axb=∈ℜ ≥
, Giả sử . Khi đó có điểm cực
biên khi và chỉ khi
. Đặc biệt hơn, nếu
G
thì đều có thể
được viết dưới dạng
trong đó
G
φ
≠
G
()rank A n
=
φ≠
xG∀∈
11
mk
i
i
ij
xxα
==
=+
∑∑
j
j
yβ
(1,
i
xi m=
)
là các điểm
cực biên của
G
;
1
0, 1, 0, 0 ( 1, )
m
j
ii j
i
Ay j k
αα β
=
≥=≥≥=
∑
.
Áp dụng định lý đối với miền ràng buộc
thì ta có: Do nên
theo định lý, nếu
(tức là bài toán (I) có phương án) thì
D
có đỉnh cực
biên (bài toán (I) có phương án cực biên). Hơn nữa ta có kết quả sau:
D
()
E
rank A n
=
D
φ
≠
Hệ quả: xét miền
{}
,0
n
Dx Axbx=∈ℜ = ≥
, . Khi đó nếu
thì nó có điểm cực biên và mọi điểm luôn tồn tại biểu diễn
trong đó
() ,
m
ij m n
Aa b
×
=∈ℜ
j
j
y
β
D φ≠
xD∈
11
pk
i
i
ij
xx
α
==
=+
∑∑
(1,
i
xi p=
)
là các điểm cực biên của ;
D
1
0, 1, 0, 0 ( 1, )
p
j
ii j
i
Ay j k
αα β
=
≥==≥=
∑
.
Chứng minh:
Ta viết lại
dưới dạng
D
{}
n
EE
Dx Axb=∈ℜ ≥
. Do nên
theo định lý, nếu
D
thì
D
có đỉnh cực biên.
()
E
rank A n=
φ≠
Cũng theo định lý thì mọi điểm
x
luôn tồn tại biểu diễn
trong đó
D∈
1
p
i
i
i
xx
α
=
=
∑
1
k
j
j
j
y
β
=
+
∑
(1,
i
xi p=
)
là các điểm cực biên của ; ,
D
1
0, 1
p
ii
i
αα
=
≥=
∑
0, 0 ( 1, )
j
Ej
Ay j k
β
≥≥=
. Từ ta có ngay và do đó
. Vậy ta có điều phải chứng minh. ■
0
j
E
Ay ≥
0, 0
jj
Ay Ay≥− ≥
0
j
Ay =
Bây giờ ta sẽ dùng hệ quả này để chứng minh kết quả sau cho bài toán (I).
Định lý: Nếu bài toán (I) có phương án thì sẽ có phương án cực biên, và nếu
hàm mục tiêu bị chặn dưới trong
thì bài toán sẽ có phương án tối ưu, do đó
có phương án cực biên tối ưu.
D
Chứng minh:
Rõ ràng theo hệ quả trên ta có: nếu bài toán (I) có phương án thì nó sẽ có
Khoa Công nghệ thông tin - ĐHTN
12
Thân Quang Khoát
phương án cực biên.
Bây giờ ta giả thiết rằng (I) có hàm mục tiêu bị chặn dưới trong
D
. Khi
đó bài toán (I) sẽ có phương án cực biên tối ưu. Thật vậy:
Theo hệ quả thì mọi phương án
x
của (I) đều có thể viết dưới dạng:
11
mk
i
i
ij
xx
α
==
=+
∑∑
j
j
y
β
, trong đó
(1,
i
xi m=
)
là các điểm cực biên của ;
D
1
0, 1, 0, 0 ( 1, )
m
j
ii j
i
Ay j k
αα β
=
≥==≥=
∑
.
Gọi
() min{(), 1,}
ri
f xfxi==m
. Ta sẽ chứng minh rằng sẽ là phương án tối
ưu của bài toán (I).
r
x
a) Trước hết ta thấy rằng
() 0, 1,
i
f yi
≥∀=
k
:
Thật vậy, giả sử tồn tại
mà
0
j
0
()0
j
f y
<
thì nếu ta lấy còn
thì
0
0,
j
jjβ =∀≠
0
j
β
→+∞
0
0
1
() ( ) .( )
m
ij
ij
i
f xfxfy
αβ
=
=+→
∑
−∞
r
. Điều này trái với giả thiết
hàm mục tiêu bị chặn dưới trên miền ràng buộc
D
.
b)
thì:
xD
∀∈
11
1
11
() ( ) ( )
()
() () ()
mk
ij
ij
ij
m
i
i
i
mm
rr
ii
ii
f xfxfy
fx
f xfx fx
αβ
α
αα
==
=
==
=+
≥
≥==
∑∑
∑
∑∑
Vậy
() ( ),
r
f xfx xD
≥∀∈
, hay là phương án tối ưu của bài toán (I). Do đó ta
đi đến kết luận của hệ quả này. ■
r
x
4.2. Điều kiện cần và đủ để một phương án là cực biên
Xét bài toán QHTT dạng chính tắc (I). Ký hiệu
là các véctơ cột
của ma trận ràng buộc
12
, ,...,
n
aa a
11 12 1
21 22 2
12
...
...
... ... ... ...
...
n
n
mm mn
aa a
aa a
A
aa a
⎛⎞
⎟
⎜
⎟
⎜
⎟
⎜
⎟
⎜
⎟
⎜
=
⎟
⎜
⎟
⎜
⎟
⎟
⎜
⎟
⎜
⎟
⎜
⎝⎠
Không mất tổng quát ta luôn giả thiết
{}
12
( ) , ,...,
n
rank A rank a a a m
==
Bộ môn Khoa Học Cơ Bản
13
Bài Giảng môn Tối Ưu Hoá
(nếu có phương trình nào trong hệ là tổ hợp tuyến tính của các phương
trình khác thì ta có thể loại bỏ đi). Khi đó ta có định lý sau:
Ax b
=
Định lý: Phương án
là một phương án cực biên khi và chỉ khi hệ các
véctơ cột của ma trận
tương ứng với các thành phần dương của độc lập
tuyến tính.
0
xD
∈
A
0
x
Ký hiệu:
{}
00
() | 0
j
Jx jx
+
=>
Khi đó định lý có thể phát biểu như sau:
0
xD
∈
là phương án cực biên độc lập tuyến tính.
{
0
,(
j
ajJx
+
⇔∈
}
)
}
k
n
∈ℜ
z z
Chứng minh:
Không mất tổng quát ta có thể giả thiết
(có thể đánh lại
chỉ số các biến nếu cần thiết để thu được điều kiện này).
0
(){1,2,...,}
Jx k
=
“Điều kiện cần”: giả thiết
là một phương án cực biên của (I).
0
xD∈
Giả sử hệ vectơ
phụ thuộc tuyến tính. Khi
đó tồn tại các số không đồng thời bằng 0 để . Đặt
. Khi đó ta có:
{}
{
012
,(),,...,
j
ajJx aa a
+
∈=
12
, ,...,
k
zz z
1
1
...
k
k
za za
θ
++ =
1
( ,..., ,0,...,0)
t
k
zz z=
Az
θ
=
Xét hai vectơ
và . Khi đó (do
).
0
'
xx
λ=−
0
''
xx
λ=+
0
'''
Ax Ax Ax b
===
Az
θ=
Nếu ta lấy
đủ bé sao cho (luôn lấy được vì
z
) thì ta có
. Mà ta lại có
λ
'0,''0xx≥≥
λ
θ≠
',''xDx D∈∈
0
11
'
22
xxx=+''
}
}
, trái với giả thiết là phương án
cực biên của (I). Vậy hệ
{
độc lập tuyến tính.
0
x
12
, ,...,
k
aa a
“Điều kiện đủ”: giả thiết hệ
{
độc lập tuyến tính.
12
, ,...,
k
aa a
Giả sử x
0
không là phương án cực biên của (I). Khi đó
sao cho
,,xx Dx x∃∈≠
′′′ ′ ′′
0
11
22
xxx=+
′′′
)
. Dễ dàng thấy rằng
(
thành phần cuối cùng của
và
x
cũng bằng 0, còn các thành phần khác là không âm. Vậy ta có:
nk−
x
′
′′
00 0
11
11
nk
jj jj
jj
nk
jj jj
jj
Ax xa xa b
Ax x a x a b
==
==
===
===
′′ ′
∑∑
∑∑
Khoa Công nghệ thông tin - ĐHTN
14
Thân Quang Khoát
11
0
11
nk
jj jj
jj
kkk
jj jj jj
jjj
Ax x a x a b
xa xa xa
==
===
===
′′ ′′ ′′
⇒==
′′
∑∑
∑∑∑
1
′
}
nhưng do hệ
{
độc lập tuyến tính nên
12
, ,...,
k
aa a
0
,( 1, )
jjj
xxxj k== =
′′′
. Mà theo
nhận xét trên thì
0
0, ( 1, )
jjj
xxx jk n=== =+
′′′
. Vậy ta có . Điều này
mâu thuẫn với giả thiết
x
. Do đó là phương án cực biên. ■
0
xxx==
′′′
′′
x≠
′
0
x
Ví dụ: xét miền D được xác định như sau
12 3
12 3
134
32
23
22
0, 1, 4
i
xx x
xx x
xxx
xi
++ =
⎧
⎪
⎪
⎪
⎪
++ =
⎪
⎪
⎨
++=
⎪
⎪
⎪
⎪
⎪
≥=
⎪
⎩
5
5
9
}
)
Ta thấy
là một phương án của D. Có và
các véctơ cột
tương ứng là:
chúng lập thành hệ độc lập tuyến tính. Vậy là một
phương án cực biên.
0
(1; 0; 1; 3)
t
x =
{}
0
() 1;3;4Jx
+
=
{
0
|(
j
ajJx
+
∈
13
(3,2,2), (2,3,1),
tt
aa==
4
a =
(0, 0, 2)
t 0
(1; 0; 1; 3)
t
x =
Dễ dàng kiểm tra được rằng vectơ
1
9
2
(0;5;0; )
t
x =
cũng là một phương án
cực biên. Tuy nhiên
515547
(; ; ; )
88816
t
x =
là một phương án của bài toán, nhưng lại
không là phương án cực biên của nó.
4.3. Cơ sở của một phương án cực biên
Giả sử
{
0
,0
n
xDx Axbx∈= ∈ℜ = ≥
}
)
)
}
là một phương án cực biên, ,
(số thành phần dương của là
k
). Khi đó hệ
là độc lập tuyến tính, suy ra
km
.
()rank A m=
()
0
()Card J x k
+
=
0
x
{}
0
,(
j
aj J x
+
∈
≤
Nếu
thì ta luôn có thể bổ xung thêm
(
véctơ cột khác của
để được một hệ véctơ độc lập tuyến tính cực đại gồm đủ
véctơ, nghĩa là ta
tìm được tập gồm đủ
chỉ số sao cho hệ
là độc lập tuyến tính. Còn nếu
k
thì ta đặt .
km< mk− A
m
m
{}
0
12
, , ..., , ( )
m
Jjj jJJx
+
=⊃
{
:
j
ajJ∈
m=
0
()
JJx
+
=
Bộ môn Khoa Học Cơ Bản
15
Bài Giảng môn Tối Ưu Hoá
Cơ sở của phương án cực biên: ta gọi hệ véctơ nói trên là một cơ sở
của phương án cực biên
. Đôi khi ta còn gọi tắt
J
là cơ sở của .
{
:
j
ajJ∈
}
0
x
0
x
Định nghĩa: một phương án cực biên là không suy biến nếu có đúng
thành phần dương, tức là
. Ngược lại thì gọi là suy biến.
0
x
m
()
0
()
Card J x m
+
=
Ví dụ: Đối với ví dụ trên thì
.
() 3rank A =
- Phương án cực biên
có cơ sở là .
Do đó nó là phương án cực biên không suy biến.
0
(1; 0; 1; 3)
t
x =
0
( ) {1;3;4}JJx
+
==
- Phương án cực biên
1
9
2
(0;5;0; )
t
x =
có nên nó là
phương án cực biên suy biến. Ta có thể lấy một cơ sở của nó là
.
1
( ) {2; 4}Jx
+
=
1
( ) {3} {2; 4; 3}JJx
+
=∪=
Bài toán QHTT gọi là không suy biến nếu mọi phương án cực biên của nó
không suy biến. Rõ ràng là nếu một phương án là không suy biến thì nó chỉ có
một cơ sở duy nhất. Như vậy nếu bài toán QHTT là không suy biến thì số cơ sở
nhiều nhất là
(vì lấy
m
véctơ từ véctơ), do đó số phương án cực biên của
bài toán QHTT nhiều nhất cũng chỉ là
. Vậy số các phương án cực biên là
hữu hạn.
m
n
C
n
m
n
C
Khoa Công nghệ thông tin - ĐHTN
16
Thân Quang Khoát
Chương 2. THUẬT TOÁN ĐƠN HÌNH
§1. MỞ ĐẦU
1.1. Bài toán
Ta xét bài toán QHTT dạng chính tắc sau:
()
0
t
f xcxMin
Ax b
x
=→
=
⎧
⎪
⎪
⎨
⎪
≥
⎪
⎩
(I)
trong đó
lµ ma trËn cÊp
,, ,
nm
cx b A m n∈ℜ ∈ℜ ×
Hiện nay đã có rất nhiều các thuật toán khác nhau giải bài toán (I). Ta có
thể liệt kê ra một số như sau:
- Thuật toán đơn hình (do Dantzig đề xuất).
- Các phương pháp điểm trong (do Karmarkar đề xuất).
- Các phương pháp Ellipsoid (do Khachian đề xuất).
Trong đó các phương pháp Điểm trong và phương pháp Ellipsoid là các
phương pháp có độ phức tạp tính toán là đa thức, còn phương pháp Đơn hình thì
không. Tuy nhiên trong thực tế tính toán thì người ta thấy rằng, phương pháp
đơn hình là rất hiệu quả,
đồng thời nó cũng là thuật toán dễ hiểu và dễ thực hiện.
Một trường hợp đặc biệt là khi chúng ta xét những bài toán QHTT trong
không gian 2 chiều hoặc 3 chiều thì chúng ta có thể dùng phương pháp hình học
khá hữu hiệu để giải.
1.2. Phương pháp Hình Học
Ta xét trong không gian 2 chiều với bài toán dạng chuẩn tắc:
11 22
()
f xcxcx Min=+→
với các điều kiện:
11 22
,1,
iii
ax ax b i m+≥ =
Ký hiệu:
{}
12 11 22
(, ) , 1,
iii
Dxxxaxaxb i m== + ≥ =
Ta biết rằng mỗi một bất phương trình tuyến tính
xác định
11 22ii
ax ax b+≥
i
Bộ môn Khoa Học Cơ Bản
17
Bài Giảng môn Tối Ưu Hoá
một nửa mặt phẳng. Như vậy tập
D
là giao của
m
nửa mặt phẳng sẽ là một đa
giác lồi trên mặt phẳng.
Phương trình
khi
α
thay đổi sẽ xác định trên mặt phẳng các
đường thẳng song song với nhau.
11 22
cx cx
α
+=
Định nghĩa: Với mỗi một giá trị của thì đường thẳng
được gọi là một đường mức.
α
11 22
cx cx
α
+=
Với mỗi điểm
12
(, )xxx D∈=
sẽ nằm trên đường mức có giá trị mức là
11 22
cx cx
α
+=
. Như vậy bài toán đặt ra có thể phát biểu như sau: Trong số các
đường mức cắt tập
D
, hãy tìm đường mức có giá trị mức nhỏ nhất.
α
Ta thấy rằng nếu dịch chuyển các đường mức song song các đường mức
theo hướng véctơ pháp tuyến của chúng
thì giá trị của mức sẽ tăng,
nếu dịch chuyển theo hướng ngược lại thì giá trị mức sẽ giảm. Vì vậy chúng ta
có thể giải bài toán đặt ra theo cách như sau: Bắt đầu từ một đường mức cắt
D
,
ta dịch chuyển đường mức theo hướng ngược với hướng véctơ
cho
đến khi nào việc dịch chuyển tiếp theo làm cho đường mức không cắt
D
nữa thì
dừng. Các điểm của
nằm trên đường mức này sẽ là các lời giải cần tìm, còn
giá trị mức chính là giá trị tối ưu của bài toán.
12
(, )ccc=
12
(, )
ccc
=
D
Ví dụ: Giải bài toán QHTT sau
12
12
12
12
12
() min
7(
2
22
0, 0
1)
(2)
(3)
f xxx
xx
xx
xx
xx
=−→
⎧− − ≥ −
⎪
⎪
⎪
⎪
−+ ≥−
⎪
⎪
⎨
⎪
+≥
⎪
⎪
⎪
⎪
≥≥
⎪
⎩
(D)
Để giải bài toán này bằng phương pháp hình học thì trước tiên ta phải biểu
diễn miền D trên mặt phẳng toạ độ. Sau đó ta xác định một đường mức cắt miền
D, chẳng hạn:
. Cuối cùng ta sẽ dịch chuyển đường mức theo hướng
giảm (dựa vào véctơ pháp tuyến
) để tìm ra đường mức có mức nhỏ
nhất cắt miền D.
12
0xx−=
(1, 1)c =−
Khoa Công nghệ thông tin - ĐHTN
18
Thân Quang Khoát
2
x
1
x
Ta thấy miền D của bài toán chính là đa giác ABIJK. Khi dịch chuyển
đường mức theo hướng véctơ
thì điểm I chính là điểm cuối cùng mà đường
mức cắt miền D. Vì vậy I chính là điểm cực biên tối ưu.
c−
Do I là giao điểm của đường thẳng (1) với
nên toạ độ điểm I chính là
nghiệm của hệ pt:
2
Ox
1
12
12
0
7
07
x
xx
xx
=
−− =−
⎧⎧
⎪⎪
⎪⎪
⇒
⎨⎨
==
⎪⎪
⎪⎪
⎩⎩
Vậy
là phương án tối ưu và
*
(0; 7)x =
*
() 7f x =−
§2. THUẬT TOÁN ĐƠN HÌNH
2.1. Tư tưởng của thuật toán đơn hình
Xét bài toán QHTT dạng chính tắc:
()
0
t
f xcxMin
Ax b
x
=→
=
⎧
⎪
⎪
⎨
⎪
≥
⎪
⎩
(I)
Bộ môn Khoa Học Cơ Bản
19
Bài Giảng môn Tối Ưu Hoá
trong đó
lµ ma trËn cÊp
,, ,
nm
cx b A m n
∈ℜ ∈ℜ ×
Chúng ta đã biết rằng:
- Nếu bài toán (I) có phương án thì có phương án cực biên.
- Nếu bài toán (I) có phương án tối ưu thì cũng có phương án cực biên tối ưu.
- Số phương án cực biên là hữu hạn.
Vì tập hợp các phương án cực biên là hữu hạn nên ta có thể tìm một
phương án tối ưu (hay một lời giải của bài toán). Vì vậy Dantzig đã đề xuất một
thuật toán như sau (gọi là thuật toán đơn hình): Xu
ất phát từ một phương án cực
biên
. Kiểm tra đã là phương án tối ưu hay chưa. Nếu chưa là phương
án tối ưu thì ta tìm cách chuyển sang một phương án cực biên mới là
tốt hơn
theo nghĩa
0
x
0
x
0
x
1
x
0
x
1
() ()
0
f xfx<
. Quá trình này lặp lại nhiều lần. Vì số phương án
cực biên là hữu hạn nên sau một số hữu hạn bước lặp ta sẽ tìm thấy phương án
tối ưu hoặc phát hiện ra rằng bài toán không có phương án tối ưu hữu hạn.
2.2. Công thức số gia hàm mục tiêu - dấu hiệu tối ưu
Giả sử ta có phương án cực biên
với cơ sở
J
tương ứng. Khi đó ta có:
0
x
hay (2.2.1)
0
Ax b=
0
1
n
j
j
jjJ
bxa x
=∈
==
∑∑
0
j
j
a
Vì hệ véctơ
{ }
|
j
ajJ∈
là độc lập tuyến tính nên nó là một cơ sở trong không
gian
. Do đó ta có thể biểu diễn véctơ qua cơ sở đó như sau:
m
ℜ
k
a
( )
kj
jk
jJ
aza k
∈
=∀
∑
J∉
j
j
a
jk
Giả sử
là một phương án bất kỳ. Ta có:
xD∈
1
n
jj
jj
jjJ
jJ
bxa xa x
=∈
∉
==+
∑∑∑
jj
jk
jJ jJ
kJ
xa x z a
∈∈
∉
=+
∑∑∑
( )
j
jjkk
jJ
kJ
xzx
∈
∉
=+
∑∑
a
}
)
(2.2.2)
Vì
{
độc lập tuyến tính nên từ (2.2.1) và (2.2.2) ta suy ra:
|
j
ajJ∈
0
()
jj jkk
kJ
xx zx jJ
∉
=+ ∀∈
∑
hay:
(2.2.3)
0
(
jj jkk
kJ
xx zx jJ
∉
=− ∀∈
∑
Khoa Công nghệ thông tin - ĐHTN
20
Thân Quang Khoát
ta gọi (2.2.3) là khai triển của một phương án bất kỳ qua cơ sở
J
.
Bây giờ ta xét hàm mục tiêu:
1
()
n
t
jj jj kk
jjJ
kJ
f xcx cx cx cx
=∈
∉
===+
∑∑∑
()
()
0
0
jjkkjk
jJ
kJ kJ
jj jkj k k
jJ jJ
kJ
xzxcc
cx z c c x
∈
∉∉
∈∈
∉
=− +
=− −
∑∑ ∑
∑∑∑
k
x
Ký hiệu:
()
kjkjk
jJ
zc c k J
∈
∆= − ∉
∑
gọi là các ước lượng theo cơ sở
J
. Khi đó ta có:
0
() ( )
kk
kJ
f xfx x
∉
=−∆
∑
(2.2.4)
Đại lượng
được gọi là công thức số gia hàm mục tiêu.
kk
kJ
x
∉
−∆
∑
Từ (2.2.4) ta thấy rằng, nếu (do
). Do đó ta có dấu hiệu tối ưu sau:
th×
0
,0()(),
k
k J fx fx x D∀∉ ∆≤ ≥ ∀∈
0x ≥
Định lý: Phương án cực biên
ứng với cơ sở
J
là phương án tối ưu khi và chỉ
khi
.
0
x
0,
k
kJ
∆≤ ∀ ∉
2.3. Tìm phương án cực biên tốt hơn - Công thức đổi cơ sở
Giả sử
với cơ sở là một phương án cực biên nhưng chưa phải là
phương án tối ưu, khi đó
. Giả sử
0
x
J
:
k
kJ∃∉ ∆>
0
0
s
∆>
Theo thuật toán đơn hình ta cần cải tiến
để nhận được một phương án
cực biên
tốt hơn. Nhằm mục đích kế thừa tận dụng các kết quả ở bước trước
ta sẽ tìm phương án cực biên mới
với cơ sở chỉ khác
J
một véctơ:
, nghĩa là ta sẽ đưa véctơ vào cơ sở thay thế cho véctơ bị
loại khỏi cơ sở
J
. các véctơ và phải được lựa chọn sao cho tốt hơn .
0
x
1
x
1
x
1
J
1
{ }\{ }
JJsr
=∪
s
a
r
a
s
a
r
a
1
x
0
x
Vì mọi thành phần ngoài cơ sở của một phương án cực biên đều bằng 0 nên
phương án cực biên mới
có cơ sở là
1
x
1
{ }\{ }
JJsr=∪
(2.2.5)
víi (tøc lµ )
víi
1
1
0,
k
kJk s kJ
x
ksθ
⎧∉≠ ∉
⎪
⎪
=
⎨
⎪
=
⎪
⎩
Bộ môn Khoa Học Cơ Bản
21
Bài Giảng môn Tối Ưu Hoá
trong đó là một số dương sẽ được xác định sau sao cho là một phương án
cực biên.
θ
1
x
Thay (2.2.5) vào (2.2.3) ta được:
10 10
()
j j jk k j js
kJ
xx zxx z jJθ
∉
=− =− ∀∈
∑
Như vậy ta có:
(2.2.6)
víi
víi
víi
1
0
0,
j
jjs
jJj s
xj
xz jJ
θ
θ
⎧
⎪
∉≠
⎪
⎪
⎪
⎪
==
⎨
⎪
⎪
⎪
−∈
⎪
⎪
⎩
s
s
Trước hết ta cần xác định số dương
θ
sao cho là một phương án.
1
x
Ta có:
()
11 1 0
0
jj j
jj jjs
jJ jJ
jJ
jjs
jjs
jJ jJ
Ax xa xa x z a a
xa z a a b
θθ
θθ
∈∈
∉
∈∈
=+=−+
=− +=
∑∑∑
∑∑
Vậy
thì ràng buộc thứ nhất luôn thoả mãn. Do đó ta chỉ cần chọn sao
cho
. Có hai trường hợp xảy ra:
θ∀
θ
1
0
x
≥
a)
Trường hợp 1: Nếu thì là phương án,
nhưng:
1
0, 0, 0
js
zjJx
θ
≤∀∈ ⇒ ≥ ∀>
1
x
10 10
() () () ( )
kk s
kJ
f xfx xfx khiθθ
∉
=−∆=−∆→−∞ →+∞
∑
(do
), Vậy hàm mục tiêu không bị chặn dưới trên miền ràng buộc. Khi đó
bài toán không có lời giải hữu hạn.
0
s
∆>
Hệ quả: Nếu
mà thì
,0
k
kJ∃∉ ∆>
0,
jk
zj≤∀∈J
()
f x
sẽ không bị chặn dưới
trong miền ràng buộc.
b)
Trường hợp 2: Nếu , khi đó theo (2.2.6) số
θ
không thể lớn tuỳ
ý, nó phải thoả mãn điều kiện
. Như vậy có thể lấy:
,
js
jJz∃∈ >0
10
0( )
jj js
xx z jJ
θ
=−≥∀∈
{}
0
0
min : , 0
j
r
js
rs js
x
x
jJz
zz
θ == ∈ >
khi đó ta có:
0
10
() ()
r
s
rs
x
fx fx
z
=−∆
(2.2.7)
Khoa Công nghệ thông tin - ĐHTN
22
Thân Quang Khoát
víi
víi
víi
0
1
0
0
0,
r
j
rs
r
jjs
rs
jJj s
x
x
z
x
xz jJ
z
∉≠
⎧
⎪
⎪
⎪
⎪
⎪
⎪
=
⎨
⎪
⎪
⎪
⎪
−∈
⎪
⎪
⎩
js
=
(2.2.8)
Từ (2.2.7) ta thấy
10
() ()f xfx≥
nên tốt hơn .
1
x
0
x
Định lý: Phương án
được xác định theo công thức (2.2.8) là phương án cực
biên với cơ sở
.
1
x
1
{ }\{ }JJsr=∪
Các công thức (2.2.7), (2.2.8) cho ta cách tìm các thành phần của phương
án cực biên mới
cùng với giá trị hàm mục tiêu
1
x
1
()f x
thông qua các hệ số khai
triển
và các ước lượng trong cơ sở
J
. Để có thể tiến hành các bước tiếp
theo, ta cần xác định các đại lượng tương ứng
và trong cơ sở . Người
ta đã tìm được chúng như sau:
jk
z
k
∆
1
jk
z
1
k
∆
1
J
víi
víi
1
,
rk
rs
jk
rk
jk js
rs
z
js
z
z
z
zz jJj
z
⎧
⎪
=
⎪
⎪
=
⎨
⎪
−∈
⎪
⎪
⎩
s
≠
(2.2.9)
1
rk
kk
rs
z
z
∆=∆− ∆
s
(2.2.10)
Các công thức (2.2.7), (2.2.8), (2.2.9), (2.2.10) gọi là các công thức đổi cơ
sở từ cơ sở
sang cơ sở . Chúng cho phép dựa vào kết quả
bước trước để tìm tất cả các yếu tố cần thiết cho việc thực hiện các bước sau của
thuật toán đơn hình.
J
1
{ }\{ }
JJsr=∪
2.4. Thuật toán đơn hình (Simplex method)
* Thuật toán:
¾ Bước xuất phát: Tìm một phương án cực biên
và cơ sở tương
ứng. Tính các hệ số khai triển
và các ước lượng .
0
x
J
jk
z
k
∆
¾ Bước 1: (kiểm tra dấu hiệu tối ưu)
a) Nếu
0, 1,
k
k∆≤ ∀ = n
thì kết luận là phương án tối ưu. Kết
thúc thuật toán.
0
x
Bộ môn Khoa Học Cơ Bản
23
Bài Giảng môn Tối Ưu Hoá
b) Ngược lại, nếu thì chuyển sang bước 2.
0
k
∃∆ >
¾ Bước 2: (kiểm tra dấu hiệu hàm mục tiêu không bị chặn)
a) Nếu
thì kết luận hàm mục
tiêu giảm vô hạn trên miền ràng buộc. Bài toán không có lời
giải hữu hạn. Kết thúc thuật toán.
mµ:0 0,
kjk
kJ z jJ∃∉ ∆> ≤ ∀∈
b) Ngược lại, ta chuyển sang bước 3.
¾ Bước 3:
a) Chọn véctơ
đưa vào cơ sở theo quy tắc
s
a
{}
max 0,
sk
kJ∆= ∆> ∉
b) Chọn véctơ
đưa ra khỏi cơ sở theo quy tắc
r
a
{}
0
0
min : , 0
j
r
js
rs js
x
x
jJz
zz
=∈>
1
jk
chuyển sang bước 4.
¾ Bước 4: Tính các giá trị
trong cơ sở mới
theo các công thức (2.2.7), (2.2.8), (2.2.9), (2.2.10).
Quay trở lại bước 1.
111
,(), ,
jk
xfx z∆
1
{ }\{ }
JJsr=∪
2.5. Bảng đơn hình
Cơ sở Hệ số Phương án 1 2 … k … n
J
j
c
j
x
1
c
2
c
…
k
c
…
n
c
1
j
1
j
c
1
j
x
1
1j
z
1
2j
z
…
1
jk
z
…
1
jn
z
2
j
2
j
c
2
j
x
2
1j
z
2
2j
z
…
2
jk
z
…
2
jn
z
… … … … … … … … …
m
j
m
j
c
m
j
x
1
m
j
z
2
m
j
z
…
m
jk
z
…
m
jn
z
()f x
1
∆
2
∆
…
k
∆
…
n
∆
Để tiện cho việc tính toán theo thuật toán đơn hình, người ta sắp xếp các số
Khoa Công nghệ thông tin - ĐHTN
24