Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
538,35 KB
Nội dung
PHẦN 1: BỔ SUNG KIẾN THỨC ĐẠI SỐ
§1. Vector N chiều và các phép toán trên vector
1. Khái niệm
“Một vector N chiều là một tập hợp các số thực được sắp xếp theo thứ tự nhất định. Vector được ký
hiệu là x, y, z…. và được biểu diễn như sau:
x=(x1, x2, …. xn) hoặc x= {xj} (j= 1..n)
Trong đó các xj được gọi là thành phần thứ j hoặc toạ độ thứ j của vector x.”
2. Các vector đặc biệt
Vector 0 với mọi thành phần đều bằng 0
Vector khác 0: có ít nhất một thành phần khác 0
Vector dương x ≥ 0: mọi thành phần xj ≥ 0
Vector đơn vị: là vector có một thành phần bằng 1, các thành phần khác bằng 0
Như vậy sẽ có tất cả N vector đơn vị. Vector đơn vị như sau:
e1 = (1,0,….0)
ej = (0,…1, ….0)
en = (0,0 …..,0,1)
3. Các phép tính vector
a. Phép so sánh bằng nhau:
Hai vector được gọi là bằng nhau nếu chúng thoả mãn các điều kiện sau:
- có số chiều bằng nhau (n chiều)
- các thành phần tương ứng bằng nhau
x1 = y1 ; x2 = y2 ; ….. xn = yn
Và được ký hiệu là x = y
b. Phép cộng vector
Điều kiện: Phép cộng vector chỉ được thực hiện trên 2 vector có cùng số chiều
Kết quả: kết quả của phép cộng 2 vector n chiều cũng là một vector n chiều
Quy tắc: Ta gọi tổng của hai vector n chiều x và y là một vector n chiều z, mà các thành phần của z là
tổng của các thành phần tương ứng của x và y
Ký hiệu là: z = x + y, trong đó zj = xj + yj với mọi j = 1..N
c. Phép nhân vector với một số
1
Điều kiện: phép nhân vector được thực hiện giữa một vector và một số α được gọi là hệ số nhân:
Kết quả: kết quả của phép nhân một vector n chiều với 1 số là một vector n chiều
Quy tắc: Ta gọi tích của một vector n chiều x với hệ số α là một vector n chiều z trong đó thành phần
thứ j của z chính bằng α lần thành phần thứ j của x.
Ký hiệu như sau:
z=αx
zj = α xj với mọi j = 1..N
Phép nhân vector với một số còn được gọi là phép co giãn vector và α được gọi là hệ số co giãn. Kết
quả của phép giãn được gọi là bội số. Và hai vec tor ở hai vế trong phép giãn được gọi là 2 vector tỷ lệ.
4. Các tính chất của phép tính trên vector.
a. Tính chất giao hoán:
x+y= y+x
αx=xα
b. Tính chất kết hợp:
(x + y) + z = x + ( y + z) = (x + z ) + y
αβx = βαx
c. Tính chất phân bố:
α (x + y) = αx + αy
(α + β) x = αx + βx
d. Các trường hợp đặc biệt
-
Phép nhân một vector với số 1 sẽ được chính nó (1.x = x)
Phép nhân một vector với số 0 sẽ được vector 0
Phép nhân một vector với –1 sẽ được một vector đối (-1x = -x)
Định nghĩa: vector đối của một vector n chiều x là một vector n chiều y thoả mãn:
x+y=0
từ đó ta có mệnh đề: “y là vector đối của x khi và chỉ khi yj = - xj với mọi j = 1..n.
e. hiệu của hai vector
Ta định nghĩa hiệu của hai vector n chiều x và y là tổng của vector x và vector đối của y (vector –y), và
ký hiệu là x + (-y) hay x – y.
5. Tập hợp vector.
“Tập hợp tất cả các vector n chiều được gọi là không gian vector n chiều và được ký hiệu là Rn. ký hiệu
x Є Rn có nghĩa là x thuộc về không gian Rn hay x là vector n chiều.
Ta có mệnh đề: Mọi phép tính trên các vector n chiều sẽ cho kết quả trong Rn
2
Giả sử không gian Rn có tất cả k vector, khi ấy một tập hợp gồm m vector (m≤ k) được gọi là một hệ
vector hay một tập con của Rn được ký hiệu là {xj} (j = 1..n)
6. Tích vô hƣớng
Định nghĩa tích vô hướng của hai vector n chiều x và y được xác định bởi tổng của các tích các thành
phần tương ứng của 2 vector x và y. Ký hiệu là: (x, y)
(x, y) = ∑ xj yj trong đó j = 1..n
Tính chất của tích vô hướng
Tính chất nhóm:
(αx, y) = (x, αy) = α (x, y)
Tính chất tách nhóm: (x + y, z) = (x, z) + (y, z)
Ý nghĩa hình học của tích vô hướng:
Ta gọi độ dài của vector n chiều x là một giá trị số đặc trưng cho tổng bình phương của tất cả các thành
phần của vector x và ký hiệu là ||x||.
||x|| 2 = Σ xj2 trong đó j = 1..n
Khi ấy vector x và vector y được biểu diễn là 2 đoạn thẳng định hướng có gốc trùng nhau (tại vector 0)
và φ được ký hiệu là góc tạo thành bởi hai vector này
Khi ấy ta có công thức:
(x, y) = ||x|| ||y|| cos(φ)
Như vậy sẽ có 3 tình huống xảy ra
-
φ < ½ π thì tích vô hướng sẽ dương
φ = ½ π thì tích vô hướng bằng 0
φ > ½ π thì tích vô hướng âm.
φ
Hai vector có tích vô hướng bằng 0 được gọi là 2 vector trực giao, như vậy vector 0 là vector trực giao
với mọi vector khác.
bản chất của công thức trên là: phép chiếu vector lên một vector khác.
7. Hệ độc lập tuyến tính và hệ phụ thuộc tuyến tính
Một hệ m vector m chiều {xj} (j= 1..m) thuộc không gian vector Rn được gọi là phụ thuộc tuyến tính
nếu có thể tìm được một tập hợp số αj (j= 1..m) trong đó có ít nhất một αj khác 0, thoả mãn công thức:
Σαj xj = 0 (j = 1..m)
Một hệ vector m chiều {xj} (j = 1..m) thuộc không gian vector Rn được gọi là độc lập tuyến tính nếu
đẳng thức Σαj xj = 0 (j = 1..m) đúng khi và chỉ khi mọi αj = 0.
Ý nghĩa: hệ độc lập tuyến tính đặc trưng cho tính chất độc lập của các đối tượng. Còn hệ phụ thuộc
tuyến tính đặc trưng cho quan hệ ràng buộc giữa các phần tử của hệ. Tập hợp hệ số {αj} thoả mãn đẳng
3
thức trên được gọi là 1 ràng buộc. về mặt hình học tập hợp các vector cùng phương là một hệ phụ thuộc
tuyến tính.
Ta có một số mệnh đề sau:
-
Hệ 1 vector {x = 0} là hệ phụ thuộc tuyến tính vì với mọi giá trị α đều thoả mãn đẳng thức
trên
Hệ 1 vector {x} trong đó x ≠ 0 luôn là hệ độc lập tuyến tính
Mọi hệ có chứa vector 0 đều là hệ phụ thuộc tuyến tính
Một số định lý
- Hệ gồm hai vector n chiều x và y là phụ thuộc tuyến tính khi và chỉ khi x và y tỉ lệ với nhau
(x = αy)
- Hệ gồm 2 vector n chiều x và y là độc lập tuyến tính khi và chỉ khi x và y không tỉ lệ với
nhau.
Cho một hệ m vector n chiều {xj} (j = 1..m) nếu y là một vector n chiều thoả mãn đẳng thức y = Σαj x j
(j =1..m) thì y được gọi là tổ hợp tuyến tính của các vector xj hay còn gọi là y được biểu diễn tuyến tính
qua các vector xj.
Các mệnh đề:
-
Một hệ vector là phụ thuộc tuyến tính khi và chỉ khi trong hệ đó có ít nhất một vector được
biểu diễn tuyến tính qua các vector còn lại
Một hệ vector là độc lập tuyến tính khi và chỉ khi mọi vector trong hệ đó đều không thể biểu
diễn tuyến tính qua các vector còn lại
Một hệ vector là phụ thuộc tuyến tính thì mọi hệ vector khác chứa nó đều là phụ thuộc
tuyến tính.
Một hệ vector là độc lập tuyến tính thì mọi hệ con của nó đều độc lập tuyến tính.
8. Hệ con độc lập tuyến tính cực đại
Cho trước một hệ vector A, ta gọi một hệ con độc lập tuyến tính B của hệ vector đó là độc lập tuyến
tính cực đại nếu khi thêm vào bất cứ một vector nào khác của hệ A cũng làm cho hệ B mất đi tính chất
độc lập tuyến tính của nó.
Ta có một mệnh đề sau: Hệ A có thể có nhiều hệ con độc lập tuyến tính cực đại nhưng số vector của
mọi hệ tuyến tính cực đại của hệ A đều bằng 1 hằng số và hằng số đó được gọi là hạng của hệ vector A.
Hạng của không gian vector Rn chính bằng n. Và một hệ vector độc lập tuyến tính cực đại trong không
gian Rn được gọi là một cơ sở của của không gian Rn.
Mệnh đề 2: Một vector x trong không gian Rn bao giờ cũng biểu diễn tuyến tính duy nhất được qua một
cơ sở cho trước.
Chứng minh: trong mệnh đề này có hai điều phải chứng minh: thứ nhất ta phải chứng minh là nếu cho
trước một vector x và một cơ sở U = {u1, u2, …. un} thì x biểu diễn được tuyến tính qua các uj. Thật
vậy vì U là một cơ sở cho nên nó là một hệ độc lập tuyến cực đại của Rn . Do đó nếu thêm bất kỳ một
vector nào vào U thì đều được một hệ phụ thuộc tuyến tính. Giả sử thêm x vào U ta có hệ {U, x} là một
hệ phụ thuộc. Như vậy sẽ có ít nhất một vector biểu diễn tuyến tính được qua các vector còn lại. Nếu
4
đó là x thì ta có công thức x = Σ αj uj đây chính là công thức biểu diễn tuyến tính x qua U. Nếu đó
không phải là x mà là một uk nào đó thì ta có công thức uk = αx + Σ αj uj (j = 1..n, j ≠ k) từ công thức
này ta có thể suy ra x = 1/α uk - Σ αj uj (j = 1..n, j ≠ k) đây cũng chính là công thức biểu diễn tuyến tính
của x qua U.
Thứ 2: ta cần chứng minh nếu có một biểu diễn x = Σ αj uj thì biểu diễn này là duy nhất. Thật vậy giả
sử có cách biểu diễn thứ 2 là x = Σ βj uj, khi đó ta có Σ αj uj = Σ βj uj ; từ đó dễ dàng suy ra Σ αj uj - Σ βj
uj = 0 hay Σ (αj - βj) uj = 0. Vì các uj là độc lập tuyến tính nên công thức trên xảy ra khi và chỉ khi các
hệ số cùng bằng 0, có nghĩa là (αj - βj) = 0 với mọi j do đó αj = βj từ đớ có thể suy ra hai cách biểu diễn
trên là một và duy nhất.
Một vector bất kỳ của Rn bao giờ cũng biểu diễn tuyến tính được qua một cơ sở U bất kỳ của R n theo
công thức x = Σαj uj và khi ấy các hệ số {αj }cũng tạo thành một vector trong Rn và {αj } được gọi là
vector hệ số phân tích của x qua cơ sở U.
Hệ vector đơn vị: Trong không gian Rn ta gọi hệ vector E sau đây là hệ vector đơn vị:
e1 = {1, 0, 0 … 0}
e2 = {0, 1, 0 … 0}
….
en = {0, 0, 0 … n}
Khi đó ta có một số tính chất sau:
-
Một hệ vector đơn vị là một cơ sở và được gọi là một cơ sở đơn vị.
Vector hệ số của vector x bất kỳ biểu diễn qua cơ sở đơn vị E chính bằng vector x
Giả sử có một cơ sở U. nếu ta lấy lần lượt từng vector uj biểu diễn tuyến tính qua chính cơ
sở U thì ta sẽ thu được n vector hệ số phân tích của uJ và n vector này chính là vector đơn
vị:
Thật vậy, ta có:
u1 = 1u1 + 0u2 + …..+ 0un
u2 = 0u1 + 1u2 + ….+ 0un
….
un = 0u1 + 1u2 + ….+ 1un
vector phân tích = {1, 0, …..0}
vector phân tích = {1, 0, …..0}
vector phân tích = {1, 0, …..0}
§2. Ma trận và các phép tính trên ma trận
1. Các định nghĩa
Ta gọi một bảng gồm m x n số thực được sắp thành m hàng và n cột là một ma trận cấp m, n. Thực tế
có thể coi một ma trận là m vector hàng hoặc n vector cột. Các vector hàng thuộc không gian R n còn
các vector cột thuộc không gian Rm.
Trong một ma trận, tập hợp các phần tử có chỉ số hàng và chỉ số cột giống nhau (aij với i = j) được gọi
là đường chéo của ma trận. Về mặt hình học đường chéo của ma trận là các phần tử nằm trên đường
chéo của một hình vuông lớn nhất.
Các ma trận đặc biệt:
Ma trận không (0) là một ma trận mà mọi phần tử đều bằng 0.
5
Ma trận tam giác là một ma trận mà mọi phần tử nằm về một phía của đường chéo bằng 0
Ma trận đường chéo là ma trận mà mọi phần tử nằm ngoài đường chéo đều bằng 0.
Ma trận vuông là ma trận mà số phần tử hàng bằng số phần tử cột ( m = n)
Ma trận đơn vị là một ma trận vuông có các phần tử trên đường chéo bằng một, các phần tử nằm
ngoài đường chéo bằng 0.
Ma trận chuyển vị: Cho A là một ma trận cấp m,n nếu ta chuyển hàng thành cột và cột thành hàng
thì ta được ma trận A* gọi là ma trận chuyển vị của ma trận A.
2. Các phép tính trên ma trận
Hai ma trận A và B cùng cấp m,n được gọi là bằng nhau nếu các phần tử tương ứng của nó bằng nhau.
Ký hiệu là A = B hoặc {aij} = {bij} với mọi i từ 1 đến m và j từ 1 đến n.
Phép cộng ma trận: ta gọi tổng của hai ma trận A và B cùng cấp m,n là một ma trận cùng cấp C có các
phần tử bằng tổng của các phần tử tương ứng của hai ma trận A và B
Ký hiệu là C = A + B hoặc {cij} = {aij} + {bij} với mọi i từ 1 đến n và j từ 1 đến n.
Phép nhân ma trận với 1 số: Ta gọi tích của ma trận A cấp m, n với một hằng số α là một ma trận C
mà mọi phần tử của nó chính bằng các phần tử tương ứng của A nhân với α.
Ký hiệu là C = αA hoặc {cij} = {α aij} với mọi i từ 1 đến m, j từ 1 đến n.
Các phép tính cộng ma trận và nhân ma trận với một hằng số có các tính chất sau:
Giao hoán:
A+B =B+A
αA=Aα
Kết hợp
(A, B cùng cấp)
(A + B) + C = A + (B + C) = (A + C) + B
α (β A) = β (α A) = (αβ) A
Phân bố:
α (A + B) = α A + α B
(α + β) A = αA + βA
Phép nhân hai ma trận
Hai ma trận A và B có thể nhân được với nhau nếu số cột của ma trận A bằng số hàng của ma trận B có
nghĩa là A có cấp m, n thì B phải có cấp là n, p. Kết quả của phép nhân ma trận A và B nói trên sẽ là
một ma trận C cấp m,p được xác định như sau:
cij = Σ aik bkj trong đó i = 1..n; j = 1.. p và k = 1..n
Cụ thể là các phần tử thứ hàng i, cột j của ma trận tích C sẽ bằng tổng các tích của các phần tử hàng
thứ i của ma trận A nhân với cột thứ j của ma trận B. Đây được gọi là quy tắc nhân hàng với cột, hay
thực chất là tích vô hướng của vector hàng thứ i của ma trận A với cột thứ j của ma trận B chính vì vậy
6
một điều kiện cơ bản là 2 vector này cùng số chiều hay số cột của ma trận A phải bằng số hàng của ma
trận B.
Với điều kiện đó, nên phép nhân ma trận không có tính chất giao hoán. Tính chất giao hoán chỉ đúng
khi và chỉ khi nhân 2 ma trận vuông với nhau.
Các tính chất nửa kết hợp và phân bố vẫn đúng với phép nhân ma trận nhưng tất nhiên là với điều kiện
số hàng của ma trận đứng trước phải bằng số cột của ma trận đứng sau:
(Amn x Bnp ) x Cpq = Amn x (Bnp x Cpq)
Amn (Bnp x Cnp ) = Amn Bnp + Amn Cnp
Hạng của ma trận: Người ta gọi hạng của hệ vector cột của một ma trận là hạng của ma trận ấy.
Định lý: Hạng của hệ vector hàng của ma trận A luôn luôn bằng hạng của hệ vector cột của ma trận A
hay chính bằng hạng của ma trận A. Từ đó ta có: Hạng của ma trận A ≤ min (m, n).
Nhận xét: Các phép biến đổi sau đây không làm thay đổi hạng của ma trận
1234-
Đổi chỗ hai hàng hoặc hai cột
Nhân 1 hàng hoặc một cột với một hằng số khác 0
Nhân một hàng với một hằng số khác 0 rồi cộng vào hàng khác
Nhân một cột với một hằng số khác 0 rồi cộng vào cột khác.
Từ nhận xét trên chúng ta xây dựng phương pháp tính hạng của ma trận như sau:
“Dùng các phép biến đổi sơ cấp trên các hàng và cột của ma trận để được một ma trận đường chéo, số
phần tử khác 0 trên đường chéo chính là số hạng của ma trận”
Trong khi biến đổi để tìm hạng ma trận, chúng ta có thể áp dụng quy tắc biến đổi sau:
Quy tắc 1: Nếu một phần tử cô lập trên hàng (trên hàng đó chỉ có phần tử đó khác 0 còn các phần tử
khác bằng 0) thì phần tử đó cũng có thể biến đổi thành cô lập trên cột mà không làm thay đổi hạng ma
trận. Hay nói cách khác khi một phần tử là cô lập trên hàng thì ta được phép thay các phần tử khác trên
cùng cột với phần tử đó bằng số 0 mà không làm thay đổi hạng ma trận. Quy tắc này cũng đúng đối với
các phần tử cô lập trên cột.
Quy tắc 2: Nếu trong một ma trận có 2 hàng (hoặc 2 cột) tỷ lệ với nhau thì có thể thay thế hàng đó
bằng vector 0 hoặc loại bỏ hàng đó mà không làm thay đổi hạng của ma trận.
3. Ma trận nghịch đảo
Cho một ma trận A vuông cấp n, nếu hạng của ma trận A đúng bằng n thì ta nói A là ma trận không suy
biến. Như vậy một ma trận không suy biến tương đương với 2 cơ sở trong không gian Rn.
Cho A là một ma trận không suy biến, khi đó chúng ta có thể tìm được một ma trận A-1 vuông cùng cấp
sao cho A.A-1 = A-1A = E. Ta gọi A-1 là ma trận nghịch đảo của ma trận A.
Phương pháp tìm ma trận nghịch đảo của ma trận A:
7
Trước hết ta xây dựng một ma trận hợp thành từ ma trận A và ma trận đơn vị E bằng cách đặt hai ma
trận này cạnh nhau [A|E]. Ma trận này được gọi là ma trận phụ hợp của A. ma trận phụ hợp là một ma
trận có cấp là n, 2n.
Bây giờ ta thực hiện các phép biến đổi sơ cấp trên các hàng ma trận phụ hợp sao cho phía ma trận A bị
biến đổi thành ma trận E. Khi đó phía ma trận E sẽ bị biến đổi thành ma trận nghịch đảo. Hay nói cách
khác [A|E] sẽ bị biến đổi thành [E|A-1]
Định lý: Chỉ có ma trận không suy biến thì mới có ma trận nghịch đảo.
§ 3. Hệ phương trình tuyến tính
1. Định nghĩa
Một hệ m phương trình tuyến tính tổng quát với n ẩn số được biểu diễn như sau:
a11 x1 + a12 x2 + ……..+ a1n xn = b1
a21 x1 + a22 x2 + ……..+ a2n xn = b2
…..
am1 x1 + a12 x2 + ……..+ amn xn = bn
Nhận xét:
-
các hệ số của hệ m phương trình tuyến tính trên lập thành một ma trận cấp m,n. Ta gọi đó là
ma trận hệ số và ký hiệu là A.
các giá trị bi ( i = 1..n) lập thành một vector n chiều ký hiệu là vector b
các nghiệm {xi } cũng lập thành một hệ vector n chiều và được gọi là vector nghiệm, ký
hiệu là x
Từ các nhận xét trên ta có một cách biểu diễn hệ phương trình tuyến tính nói trên dưới dạng tích ma
trận và vector như sau:
Ax = b
Ta gọi ma trận Ā = [A|b] là ma trận mở rộng của hệ phương trình. Đây là một ma trận cấp m,n+ 1.
Nếu tách A thành một hệ n vector cột {Aj}, khi ấy hệ phương trình tuyến tính lại có thể được biểu diễn
như sau:
x1 A1 + x2 A2 + …..+ xn An = b
Và ta có nhận xét là hệ phương trình tuyến tính tương đương với công thức biểu diễn tuyến tính vector
n chiều b qua n vector cột của ma trận A với các hệ số xj.
Một vector x bất kỳ thoả mãn mọi phương trình của hệ phương trình tuyến tính thì được gọi là một
nghiệm của hệ.
-
Một hệ phương trình không có nghiệm thì được gọi là hệ vô nghiệm
Một hệ phương trình có một nghiệm duy nhất thì được gọi là hệ phương trình xác định hay
một hệ phương trình Cramer.
8
-
Một hệ phương trình có ít nhất một nghiệm thì gọi là hệ có nghiệm hay gọi là hệ tương
thích.
Một hệ phương trình có hơn một nghiệm thì sẽ có vô số nghiệm, và hệ này được gọi là hệ
phương trình vô định.
2. Phƣơng pháp GAUSS giải hệ phƣơng trình tuyến tính
Phương pháp GAUSS, dùng để giải các hệ phương trình tuyến tính thông qua các phép biến đổi sơ cấp
ma trận hệ số như sau:
bước 1: Viết ma trận hệ số và vector vế phải cạnh nhau thành một ma trận cấp m, n+1
| A|b |
bước 2: Dùng các phép biến đổi sơ cấp theo hàng ma trận kể trên về dạng một ma trận tam giác mà nửa
dưới đường chéo là số 0 (mục đích của phép biến đổi này là để thu được một hệ phương trình trong đó
phương trình cuối cùng có ít ẩn số nhất). Trong quá trình biến đổi nếu gặp tình huống xuất hiện một
hàng của ma trận A bằng 0 thì xem xét giá trị phần tử tương ứng trong vector vế phải. Nếu phần tử đó
cũng bằng 0 thì loại bỏ phương trình đó khỏi hệ, nếu phần tử đó khác 0 thì kết luận hệ phương trình vô
nghiệm. Nếu có 2 vector hàng tỉ lệ với nhau thì cũng có thể loại bỏ đi một trong 2 vector.
bước 3: Xét kết quả của quá trình biến đổi. Kết quả này sẽ là một ma trận cấp r, n+1. Trong đó r ≤ n.Và
r vector hàng này độc lập tuyến tính với nhau. Nếu r < n, hệ phương trình có vô số nghiệm. Nếu r = n,
hệ phương trình có một nghiệm duy nhất và khi đó hệ phương trình cuối cùng sẽ có dạng:
a11 x1 + a12 x2 + ….. + a1n xn = b1
a22 x2 + ….. + a2n xn = b2
…..
ann xn = bn
Từ hệ này ta lần lượt giải ra được xn, xn-1 …. Cho đến x1.
Nếu r < n chúng ta sẽ thu được hệ phương trình trong đó phương trình cuối cùng có n-r+1 ẩn số, ta giữ
lại một ẩn, trong phương trình này còn lại các ẩn khác trong phương trình ta chuyển sang vế phải và gọi
là các ẩn tự do. Từ đó biện luận để tìm ra các vector nghiệm, Vector nghiệm mà trong đó các ẩn số
được biểu diễn qua các ẩn tự do được gọi là nghiệm tổng quát của phương trình.
PHẦN 2: BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VÀ
PHƢƠNG PHÁP ĐƠN HÌNH
Một trong những bài toán kinh điển trong kinh tế học đó là bài toán lập phương án sản xuất và tối ưu
hoá. Các bài toán tối ưu trong sản xuất được tổng quát hoá thành một bài toán quy hoạch tuyến tính, bài
toán được phát biểu như sau:
Giả sử chúng ta có một số yếu tố đầu vào nhất định (vốn, nguyên vật liệu, nguồn nhân lực, công nghệ,
…). Và giả sử chúng ta cần lập kế hoạch sản suất n loại sản phẩm khác nhau P 1, P2, …. Pn. Vậy với với
9
mỗi loại sản phẩm, chúng ta cần sản xuất với một số lượng là bao nhiêu thì sẽ thu được lợi nhuận là tối
đa.
Chúng ta gọi xi là số lượng sản phẩm Pi sẽ sản xuất ra, i =1 .. n và cj là lợi nhuận thu được trên một đơn
vị sản phẩm Pj. Khi đó hàm lợi nhuận sẽ được biểu diễn như sau:
f(x) = ∑ cj xj ( j = 1..n )hoặc biểu diễn ở dạng vector như sau f(x) = (c, x)
trong đó x = {x1, x2 ….. xn} và c ={c1, c2 …. cn}
Như vậy bài toán trên sẽ trở thành bài toán tìm cực trị của hàm f(x). (trong trường hợp c là vector lợi
nhuận thì ta tìm cực đại, còn c là vector chi phí thì cần tìm cực tiểu).
Tuy nhiên ta không tìm cực trị của hàm f(x) trên một miền bất kỳ mà cần tìm cực trị của f(x) trên một
miền xác định đó là sự giới hạn của các yếu tố đầu vào của quá trình sản xuất như đã nêu trên. Nếu gọi
{bi }với i = 1 .. m là m yếu tố đầu vào và nếu gọi {aij } với i = 1.. m; j = 1.. n là số lượng yếu tố đầu vào
cần thiết để sản xuất ra xj sản phẩm Pj thì ta có một số điều kiện của bài toán như sau;
a11 x1 + a12 x2 + …. + a1n xn ≤ b1
a21 x1 + a22 x2 + …. + a2n xn ≤ b2
……
am1 x1 + am2 x2 + …. + amn xn ≤ bm
(1)
Trong thực tế, các bài toán quy hoạch tuyến tính còn đòi hỏi thêm điều kiện x j ≥ 0. j = 1 .. n. Nghĩa là
số lượng các sản phẩm cần sản xuất ra phải không âm
(2). Đây là một trong những điều kiện của
bài toán dạng chính tắc sẽ được để cập đến ở phần sau.
Ý nghĩa của hệ bất đẳng thức (1) là tổng số các yếu tố đầu vào sử dụng trong sản xuất không được vượt
quá những yếu tố mà doanh nghiệp có sẵn.
Nếu gọi A là ma trận gồm {aij} i = 1.. m; j =1 .. n và b là vector {bi} với i = 1 .. m thì ta có thể viết lại
điều kiện 1 như sau:
Ax ≤ b
Để tổng quát bài toán chúng ta có một số định nghĩa sau:
§1. Các định nghĩa
Trong bài toán trên f(x) được gọi là hàm mục tiêu. A được gọi là ma trận của hệ ràng buộc hay ma
trận điều kiện; Vector x được gọi là vector nghiệm của bài toán hay gọi là phƣơng án của bài toán;
vector b được gọi là vector yếu tố đầu vào và vector c được gọi là vector hệ số của hàm mục tiêu.
1. Định nghĩa Bài toán quy hoạch tuyến tính tổng quát:
Tìm cưc trị của hàm mục tiêu f(x) tiến đến min (hoặc max) xác định trên tập phương án thoả mãn các
điều kiện của hệ ràng buộc sau: Ax ≤ b (1) và A’x = b’ (2):
f(x) tiến đến min (hoặc max)
Ax ≤ b (1)
A’x = b’ (2)
10
Lưu ý trong định nghĩa tổng quát trên hệ ràng buộc được tách riêng thành hệ phương trình và bất
phương trình ràng buộc.
2. Định nghĩa phương án Một vector x thuộc không gian Rn thoả mãn mọi ràng buộc của bài toán
được gọi là một phương án.
3. Phương án tối ưu: Một phuơng án mà tại đó hàm mục tiêu đạt cực trị được gọi là một phương án tối
ưu.
4. Một bài toán có ít nhất một phương án tối ưu được gọi là bài toán giải được. Một bài toán không
có phương án tối ưu được gọi là bài toán không giải được.
Như vậy một bài toán không giải được nếu nó không có phương án hoặc nó có phương án nhưng trị số
hàm mục tiêu tiến đến -∞ (hoặc +∞) trên tập phương án. (Giảm hoặc tăng vô hạn, không bị chặn trên
tập phương án).
5. Phương án cực biên.
Nếu một phương án x thoả mãn ràng buộc thứ i với dấu bằng: Ai x = bi thì ràng buộc thứ i được gọi là
ràng buộc chặt đối với phương án x hay phương án x thoả mãn chặt ràng buộc thứ i. Ngược lại nếu
phương án x thoả mãn ràng buộc thứ k với dấu bất đẳng thức thực sự: Ak x < bk thì ràng buộc thứ k
được gọi là ràng buộc lỏng đối với phương án x hay phương án x thoả mãn lỏng ràng buộc thứ k.
Về mặt hình học, tập hợp các phương án của bài toán có thể là một hình khép kín hoặc mở như sau:
Khi đó tất cả các điểm nằm trong hình và nằm trên biên của hình là các phương án (vì chúng thoả mãn
các ràng buộc). Các đường thẳng là các phương trình ràng buộc. Các điểm nằm trong là các phương án
thoả mãn lỏng mọi ràng buộc còn các điểm nằm trên biên thì thoả mãn chặt ràng buộc mà chúng nằm
trên. Các điểm nằm ở đỉnh của đa giác thì thoả mãn chặt 2 ràng buộc.
Ở đây chúng ta cần tránh nhầm lẫn hai khái niệm: một phương án thoả mãn chặt một ràng buộc nào đó
và một ràng buộc là chặt đối với một phương án nào đó. Đối với một phương án cụ thể thì một ràng
buộc chỉ có thể hoặc là chặt, hoặc là lỏng. Như vậy với một phương án cụ thể, chúng ta có thể chia ra 2
tập hợp điều kiện như sau:
Ai x = bi
Ak x < bk
( i € I1)
( k € I2)
11
I1 được gọi là tập hợp các ràng buộc chặt, còn I2 được gọi là tập hợp các ràng buộc lỏng của phương án
này.
Còn trên phương diện bài toán, ràng buộc có thể là chặt hoặc lỏng. Nếu một ràng buộc là chặt với mọi
phương án (nghĩa là trong hệ ràng buộc có một phương trình) thì ràng buộc đó được gọi là ràng buộc
chặt của bài toán. Khi đó về mặt hình học, tập phương án là tập hợp các điểm nằm trên phương trình
ràng buộc này.
Phương án cực biên: Một phương án thoả mãn chặt n ràng buộc độc lập tuyến tính được gọi là một
phương án cực biên.
Một phương án thoả mãn chặt đúng n ràng buộc độc lập tuyến tính được gọi là phương án cực biên
không suy biến. Một phương án thoả mãn chặt hơn n ràng buộc trong đó có n ràng buộc độc lập tuyến
tính thì được gọi là một phương án cực biên suy biến.
§2. Các bài toán quy hoạch tuyến tính đặc biệt
1. Bài toán dạng chính tắc
Định nghĩa: Bài toán quy hoạch tuyến tính dạng chính tắc là bài toán quy hoạch tuyến tính mà hệ ràng
buộc là hệ phương trình và các thành phần của vector nghiệm đều không âm:
f(x) = ( c,x )
Ax = b
xj ≥ 0 j = 1.. n
Hàm mục tiêu
Hệ phương trình ràng buộc
Hệ ràng buộc về dấu
Nếu ta ký hiệu Aj là các vector cột của ma trận A thì hệ phương trình ràng buộc có thể biểu diễn dưới
dạng tổng của các tích sau:
∑ xj Aj = b (đây chính là công thức biểu diễn tuyến tính b qua Aj)
Nếu ta triển khai hệ ràng buộc về dấu dưới dạng tích ma trận với vector thì ta có hệ bất phương trình
sau:
x1 + 0x2 + ……+ 0xn ≥ 0
0x1 + x2 + ……+ 0xn ≥ 0
…..
0x1 + 0x2 + ……+ xn ≥ 0
Và biểu diễn dưới dạng ma trận là Ex ≥ 0 Trong đó E là ma trận đơn vị.
Khi đó ma trận hệ ràng buộc đầy đủ có thể được viết như sau:
A
E
Mệnh đề: mọi bài toán quy hoạch tuyến tính đều có thể quy về bài toán dạng chính tắc tương đương
theo nghĩa trị tối ưu của hàm mục tiêu trong hai bài toán là bằng nhau hay từ phương án tối ưu của
bài toán này có thể suy ra phương án tối ưu của bài toán kia và ngược lại
Phương pháp đưa các bài toán phi chính tắc về dạng chính tắc:
12
-
Đối với hệ ràng buộc: ta thêm vào hệ ràng buộc một ẩn số phụ xp sao cho bất phương trình
∑aij xj ≤ b tương đương với ∑aij xj + xpj = b. Nếu là ∑aij xj ≥ b thì xp được thêm vào dấu trừ.
Trong hàm mục tiêu ta thêm vào ẩn xp với hệ số bằng 0, như vậy hàm mục tiêu sẽ không
thay đổi.
Đối với các ràng buộc dấu: Nếu xj đã có ràng buộc dấu xj ≥ 0 thì giữ nguyên ràng buộc,
không cần biến đổi. nếu xk không có ràng buộc về dấu thì dùng phương pháp đặt ẩn phụ dựa
trên tính chất sau: Mọi giá trị số đều có thể biểu diễn được qua hiệu của hai số không âm.
Như vậy ta sẽ đặt ra hai biến phụ xk1 và xk2 sao cho xk = xk1 - xk2 với xk1 ≥ 0 và xk2 ≥ 0. Cuối
cùng thay hiệu số trên vào hàm mục tiêu ta có hàm mục tiêu tương đương sau f(x) = (c, x’)
trong đó vector x’ hình thành từ vector x với n+1 thành phần.
2. Bài toán dạng chuẩn
Bài toán dạng chuẩn là bài toán dạng chính tắc và thoả mãn thêm 2 điều kiện sau:
bi ≥ 0 với mọi i = 1 .. m
m biến đầu tiên x1 x2 …. xm chỉ có mặt trong phương trình ràng buộc tương ứng và với hệ số bằng
1. Nghĩa là ma trận hệ ràng buộc có dạng sau:
1, 0, …. 0, a1, m+1, a1,m+2 ….a1n
0, 1, …..0, a2, m+1, a2,m+2 ….a2n
…
0, 0, ….1, am,m+1, am,m+2 ….am,n
Từ định nghĩa trên ta có một số mệnh đề sau:
Mệnh đề 1: Bài toán dạng chuẩn là bài toán dạng chính tắc mà có các thành phần của vector vế phải b ≥
0 và ma trận hệ ràng buộc Am,n có chứa ma trận đơn vị của không gian Rm.
Mệnh đề 2: bài toán dạng chuẩn bao giờ cũng có phương án cực biên. Một phương án cực biên xác
định có dạng sau:
x0 = (b1, b2, …. bm, 0, 0, …..0)
Thật vậy khi giải hệ ràng buộc để tìm tập hợp nghiệm (hay phương án), chúng ta có thể cho các nghiệm
tự do từ xm+1 cho đến xn bằng 0, thì từ hệ ràng buộc ta có ngay x1 = b1, x2 = b2 …. xm = bm từ đó tìm
ngay được nghiệm tổng quát dạng x0 có dạng sau:
x0 = (b1, b2, …… bm, 0, 0 …. 0)
Nghiệm này trước hết thoả mãn hệ ràng buộc (gồm m phương trình) và ma trận hệ ràng buộc này có
dạng sau:
A=
1 0 ….. 0 a1,m+1 ….. a1,n
0 1 ….. 0 a2,m+1 …. a2,n
……
0 0 ….. 1 an,m+1 …. am,n
13
Hạng của ma trận A nói trên bằng m (vì nó chứa ma trận đơn vị Em,m)
Bây giờ nếu kết hợp thêm các dàng buộc về dấu ta có từ xm+1 trở đi nghiệm x0 thoả mãn với dấu bằng
xm+1 = 0
xm+2 = 0
….
xn = 0
hay nếu khai triển dưới dạng các phương trình đầy đủ như sau
0x1 + 0x2 + ……. + xm+1 + 0 + ….+ 0 = 0
0x1 + 0x2 + ……. + 0 + xm+2 + ….+ 0 = 0
………
0x1 + 0x2 + ……. + 0 + 0 + ….+ xn = 0
Nếu kết hợp n-m ràng buộc chặt này với m ràng buộc chặt ở trên thì ta có x0 thoả mãn n ràng buộc và
hơn nữa nó thoả mãn chặt n ràng buộc độc lập tuyến tính nên nó là phương án cực biên.
Hệ quả: Với bài toán dạng chuẩn, nếu ta có bi > 0 với mọi i = 1 .. m thì phương án cực biên x 0 nói trên
là phương án cực biên không suy biến.
Trong bài toán dạng chuẩn, các biến x1 … xm được gọi là các biến cô lập, các biến xm+1 … xn được gọi
là các biến không cô lập hay còn gọi là các biến số tự do.
§3. Các tính chất chung của bài toán quy hoạch tuyến tính
1. Sự tồn tại của phƣơng án cực biên:
Nếu bài toán quy hoạch tuyến tính có phương án và hạng của ma trận hệ ràng buộc bằng n thì
bài toán có phương án cực biên
Đối với bài toán dạng chính tắc, ma trận hệ ràng buộc là ma trận A/E nên hạng của nó luôn
bằng n. Vì thế nếu bài toán chính tắc có phương án thì đương nhiên nó có phương án cực biên.
2. Sự tồn tại của phƣơng án tối ƣu.
Nếu bài toán quy hoạch tuyến tính có phương án và trị số của hàm mục tiêu bị chặn dưới (hoặc
trên) trên tập phương án thì bài toán có phương án tối ưu (hay còn gọi là bài toán giải đuợc).
(phát biểu dưới dạng công thức: tồn tại một hằng số α sao cho f(x) ≥ α với mọi phương án x)
Nếu bài toán quy hoạch tuyến tính có phương án cực biên và trị của hàm mục tiêu bị chặn dưới
(hoặc trên) trên tập phương án thì bài toán có phương án cực biên tối ưu. Hay nói cách khác,
nếu bài toán quy hoạch tuyến tính có phương án cực biên và giải được thì bài toán đó có
phương án cực biên tối ưu.
Bài toán dạng chính tắc mà có phương án và trị số hàm mục tiêu bị chặn thì bài toán đó có
phương án cực biên tối ưu
Nếu bài toán dạng chính tắc mà giải được thì bài toán đó có phương án cực biên tối ưu.
Ví dụ áp dụng: Cho bài toán sau:
14
f ( x)
3 x1
2 x1
3 x1
x1
xj
x2
x2
x3
5 x3
2 x4
x2
x3
x4
2 x3
x4
18
0
min
7
0
j
Chứng minh rằng bài toán có phương án cực biên và giải được. Hãy chỉ ra một phương án cực biên tối
ưu.
Nhận xét: gọi x0 là vector (0, 0, 0, 0). Ta thấy x0 thoả mãn mọi ràng buộc của bài toán do vậy bài toán
này có phương án. Mặt khác x0 thoả mãn chặt 4 ràng buộc về dấu, nên theo định nghĩa x0 chính là một
phương án cực biên. Hơn nữa, nó còn thoả mãn chặt thêm ràng buộc thứ 2 của hệ ràng buộc do đó nó là
một phương án cực biên suy biến.
Ta có f(x0) = 0 và bây giờ ta sẽ chứng minh là f(x) bị chặn dưới bới f(x0). Thật vậy điều kiện ràng buộc
của bài toán là xj ≥ 0 do đó f(x) ≥ 0 với mọi phương án x. Nghĩa là bài toán bị chặn dưới (giải được) từ
đó kết luận là bài toán có phương án cực biên tối ưu và x 0 chính là phương án cực biên tối ưu. Ta còn
có thể chứng minh thêm là đây là phương án cực biên tối ưu duy nhất.
3. Tính hữu hạn của số phƣơng án cực biên.
“Số phương án cực biên của mọi bài toán quy hoặc tuyến tính đều hữu hạn”
Thật vậy có thể phân bài toán quy hoạch tuyến tính về hai dạng: dạng thứ nhất có số ràng buộc ít hơn
số biến (m < n) khi đó bài toán không có phương án cực biên (vì không thể thoả mãn chặt n ràng buộc
trong khi chỉ có m ràng buộc) do đó số phương án cực biên = 0 (hữu hạn)
Dạng thứ hai là bài toán có số ràng buộc ≥ số biến (m ≥ n). Ta có nhận xét là một phương án cực biên
thì phải thoả mãn chặt n ràng buộc độc lập tuyến tính trong khi đó một phương án thoả mãn chặt n ràng
buộc độc lập tuyến tính thì chưa chắc đã là một phương án cực biên. Lý luận này có nghĩa là số phương
án cực biên có thể có luôn nhỏ hơn hoặc bằng số hệ n phương trình/bất phương trình độc lập tuyến tính
có thể có từ hệ ràng buộc. mà n ≤ m do đó số cách để lấy ra n phương trình hoặc bất phương trình bất
kỳ từ hệ m ràng buộc là Cmn do đó số phương án cực biên luôn nhỏ hơn hoặc bằng con số này và do đó
nó là hữu hạn.
Ví dụ áp dụng:
Cho hai hàm mục tiêu:
f(x) = nx1 + (n-1)x2 + …. + xn min
h(x) = x1 + 2x2 + ….+ nxn min
Và hai hệ ràng buộc:
A:
x1 ≥1
x1+ x2 ≥ 2
B:
x1 ≥1
x1+ x2 ≥ 2
15
….
x1 + x2 + …. + xn ≥ n
xj ≥ 0 với mọi j = 1.. n
….
x1 + x2 + …. + xn ≥ n
xj ≥ 0 với mọi j = 1.. n
Chứng minh rằng 4 bài toán: f(x) với ràng buộc A, f(x) với ràng buộc B, h(x) với ràng buộc A và h(x)
với ràng buộc B là giải được và có phương án cực biên tối ưu.
Giải với trường hợp f(x) và A.
Xét phương án x0 có dạng x0 = (n, 0, 0 …., 0) ta thấy, x0 thoả mãn mọi ràng buộc, trong đó nó thoả
mãn chặt n-1 ràng buộc về dấu và ngoài ra nó thoả mãn chặt ràng buộc
x 1 + x2 + ….+ xn ≥ n.
Như vậy x0 thoả mãn chặt n ràng buộc với ma trận điều kiện như sau
1 1 1 …. 1
0 1 0 …. 0
….
0 0 0 ….1
Thấy ngay là ma trận trên có hạng là n, do đó n ràng buộc mà x 0 thoả mãn chặt là n ràng buộc độc lập
tuyến tính, do đó x0 là một phương án cực biên. Vậy để chứng minh là bài toán có phương án cực biên
tối ưu, ta chỉ cần chứng minh bài toán bị chặn trên tập phương án.
Thật vậy vì điều kiện của bài toán là xj ≥ 0 nên hàm f(x) ≥ 0. Do đó nó bị chặn dưới => bài toán có
phươgn án cực biên tối ưu.
Để tìm phương án cực biên tối ưu. Ta xét bất phương trình có được từ việc cộng các ràng buộc trong hệ
ràng buộc A kể trên lại, ta có:
nx1 + (n-1)x2 + ….+ xn ≥ 1 + 2 + …. + n
Vế trái chính là f(x) và vế phải là một cấp số cộng của n số tự nhiên mà tổng được tính theo công thức :
n
i
i
Do vậy:
1
f ( x)
n( n 1)
2
n(n 1)
2
Khi hệ cho hệ ràng buộc A xảy ra với dấu bằng ta được một hệ phương trình crame và hệ này có một
nghiệm duy nhất x* = (1, 1, ….., 1). Ta có x* thoả mãn chặt n ràng buộc độc lập tuyến tính (các ràng
buộc về dấu nó thoả mãn lỏng) cho nên x* là phương án cực biên không suy biến. Ngoài ra ta có f(x *) =
n(n +1)/2 do đó nó chính là điểm tại đó hàm f(x) đạt cực trị nghĩa là f(x) ≥ f(x *) với mọi x do đó x* là
phương án cực biên tối ưu.
Ví dụ áp dụng 2
Cho hàm f(x) = x1 + x2 + … + xn với hệ ràng buộc là 0 ≤ xj ≤ 1 (j = 1 … n)
16
Xác định số phương án cực biên, chứng tỏ bài toán là giải được và hãy chỉ ra phương án cực biên tối ưu
trong trong cả hai trường hợp f(x) tiến đến min và f(x) tiến đến max.
Giải: Có thể thấy ngay là bài toán có phương án (chẳng hạn x 1 = (1, 1, …., 1), và hơn nữa đây là
phương án cực biên). Ngoài ra tất cả các phương án cực biên có thể có là những phương án mà tại dó
thành phần xj của nó hoặc = 0 hoặc =1 nghĩa là có thể nhận 1 trong hai giá trị {0, 1}. Như vậy số cách
hình thành các phương án này chính là chỉnh hợp lặp chập n từ hai phần tử 0 và 1. Do vậy số phương
án cực biên = Ā2n.
Trong trường hợp f(x) min, thì vì xj ≥ 0 với mọi j cho nên f(x) ≥ 0 hay f(x) bị chặn dưới, do đó bài
toán là giải được. Nếu đặt x0 = {0, 0, .. 0} ta có f(x) ≥ 0 = f(x0) với mọi x do đó x = 0 là phương án tối
ưu hơn nữa nó thoả mãn chặt n ràng buộc nên nó là phương án cực biên tối ưu.
Tương tự trong trường hợp f(x) max ta cũng dễ dàng chứng minh được x1 = {1,1, …1} là một
phương án cực biên tối ưu.
§4. Phương pháp đơn hình giải bải toán quy hoạch tuyến tính
Nội dung phương pháp: Phương pháp đơn hình dựa trên tính chất hữu hạn các phương án cực biên.
Nếu chúng ta có một phương án cực biên x, chúng ta sẽ khảo sát phương án đó xem nó tối ưu hay chưa.
Nếu nó chưa tối ưu thì chúng ta tìm một phương án x’ tốt hơn (theo nghĩa f(x’) ≤ f(x) đối với bài toán
tiến tới min hoặc f(x’) ≥ f (x) đối với bài toán f(x) tiến đến max).
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 hoặc chúng ta sẽ có thể kết là bài
toán không giải được (không bị chặn), hoặc sẽ tìm được phương án cực biên tối ưu.
Như vậy để giải bài toán quy hoạch tuyến tính theo phương pháp đơn hình, chúng ta cần: thứ nhất: tìm
ra một phương án cực biên x ban đầu và; thứ hai: cách thức để cải tiến ra một phương án x’ tốt hơn từ
phương án x nói trên.
1. Khảo sát xây dựng phƣơng án
Vì mọi bài toán đều có thể đưa về dạng chính tắc cho nên chúng ta sẽ khảo sát phương pháp đơn hình
trên bài toán dạng chính tắc mà thôi.
f(x) = (c,x) min (hoặc max)
Ax = b hay dưới dạng vector là ∑xj Aj = b
xj ≥ 0
Lưu ý: Cách viết các điều kiện ràng buộc dưới dạng vector, chính là cách biểu diễn tuyến tính vector b
qua các vector cột của ma trận A (tổng ∑xjAj là tổng của n vector), từ nay về sau ta sẽ dùng ký hiệu Aj
là ký hiệu vector cột thứ j của ma trận điều kiện.
Viết lại dạng bài toán:
Định lý 1:
Phương án x của bài toán chính tắc là cực biên khi và chỉ khi các vector điều kiện Aj tương ứng với các
thành phần dương của phương án là độc lập tuyến tính với nhau: Nghĩa là: {Aj, với xi > 0} là hệ độc lập
tuyến tính.
Chứng minh:
17
Giả sử x là một phương án bất kỳ và ta có thể giả sử là p thành phần đầu tiên là các thành phần dương x
= {x1, x2 …. xp, 0, ….0} (nếu các thành phần dương không nằm ở đầu thì qua phép đổi chỗ ta có thể
đưa các thành phần dương lên đầu)
Từ các ràng buộc về dấu ta có thể xây dựng được n-p ràng buộc chặt của phương án x như sau:
0x1 + 0x2 + …..+ 0xp + 1xp+1 + 0 + ….+ 0xn = 0
0x1 + 0x2 + …..+ 0xp + 0 + 1xp+2 + ….+ 0xn = 0
…
0x1 + 0x2 + …..+ 0xp + 0 + 0 + …. + 1xn = 0
Kết hợp với m ràng buộc chặt từ điều kiện ∑Aj x = b ta có ma trận ràng buộc chặt C có cấu tạo như sau:
a11 a12 ….. a1p a1p+1 , …. a1n
a21 a22 ….. a2p a2p+1 , …. a2n
….
am1 am2 …..amp amp+1 , …. amn
C=
0 0 ….. 0
1 0……. 0
0 0 ……. 0
0 1 ….. 0
……
0 0 ……. 0
0 0 ….. 1
Để tìm hạng của C ta có thể biến đổi các thành phần từ aip+1 trở đi thành 0, khi đó ma trận C có dạng
như sau:
C=
P 0
0 E
Trong đó P là ma trận trích p vector cột đầu tiên của ma trận ràng buộc A và E là ma trận đơn vị cấp np. Như vậy hạng của C sẽ bằng hạng của ma trận P cộng với n-p.
Mà x là phương án cực biên khi và chỉ khi nó thoả mãn chặt n ràng buộc độc lập tuyến tính, có nghĩa là
hạng của ma trận C nói trên phải bằng n. Điều này tương đương với việc hạng của ma trận P bằng p
nghĩa là p vector cột đầu tiên độc lập tuyến tính.
Các hệ quả:
Đối với bài toán dạng chính tắc, vì các ràng buộc đều là phương trình cho nên, chúng ta có thể dùng
phương pháp GAUSS để loại bỏ các phương trình phụ thuộc. Do đó chúng ta có thể giả thiết là hệ ràng
buộc bao gồm m phương trình độc lập tuyến tính hay ma trận điều kiện A có hạng là m, và m < n.
Trường hợp m = n là một trường hợp đặc biệt, khi ấy từ hệ ràng buộc ta xác định được duy nhất một
vector nghiệm. Do đó nếu các thành phần của nghiệm này thoả mãn ràng buộc về dấu thì ta có thể kết
luận ngay bài toán này có một phương án duy nhất và tối ưu. Ngược lại, Nếu có một thành phần nào đó
của nghiệm không thoả mãn ràng buộc về dấu thì có thể kết luận bài toán không có phương án (không
giải được).
Trường hợp m > n thì sẽ có các phương trình ràng buộc phụ thuộc, do đó có thể loại bỏ để đưa về
trường hợp m=n hoặc m < n.
Tóm lại chúng ta chỉ cần khảo sát tổng quát các bài toán quy hoạch tuyến tính mà có m m) thì khi đó số ràng buộc chặt mà nó thoả mãn gồm m phương trình của hệ
ràng buộc và thêm n-k dàng buộc về dấu với dấu bằng (từ xk trở đi = 0) như vậy tổng số
ràng buộc chặt mà phương án này thoả mãn là m+n-k = n – (k-m) 0} € {Aj}
Từ khái niệm trên ta có kết luận sau:
-
Một phương án cực biên không suy biến thì chỉ có một cơ sở duy nhất
Một phương án cực biên suy biến thì có nhiều cơ sở khác nhau mà phần chung của chúng
chính là các vector tương ứng với các thành phần dương.
Gọi các vector Aj thuộc J là các vector cơ sở, các thành phần của phương án x j với j € J được gọi là các
thành phần cơ sở, các thành phần còn lại của phương án được gọi là các thành phần phi cơ sở. Vì các
thành phần dương đều nằm trong cơ sở cho nên chúng ta thấy ngay là các thành phần phi cơ sở của một
phương án thì bằng 0.
Như vậy nếu phân tích lại vector b ta có công thức sau
bi = ∑ xj Aj = ∑ xj Aj + ∑ xk Ak
(j= 1..n)
j€J
k¢ J
Nhưng vì các thành phần thứ k đều bằng 0 cho nên có thể viết b = Σ x j Aj với j € J. Và đây chính là
công thức biểu diễn của vector b qua cơ sở J.
Kết luận
-
Phương án cực biên không suy biến khi và chỉ khi mọi thành phần cơ sở đều dương
Phương án cực biên suy biến thì có ít nhất một thành phần cơ sở bằng 0
19
-
Các thành phần cơ sở của phương án cực biên x0 chính là hệ số phân tích của vector b qua
cơ sở của phương án cực biên ấy.
2. Dấu hiệu tối ƣu và định lý cơ bản của phƣơng pháp đơn hình
Giả sử có một phương án cực biên x với cơ sở J. Khi đó ta có thể tách ma trận hệ ràng buộc thành 2 ma
trận con là AJ = {Aj j € J} và AK = {Ak k không thuộc J} và b được biểu diễn như sau:
[AJ | AK ] x = b.
Nhưng vì các thành phần xk = 0 cho nên ta có AJ xj = b. Từ công thức này nhân cả hai vế với ma trận
nghịch đảo AJ-1 ta sẽ có xj = AJ-1 b. đây chính là công thức tính các thành phần cơ sở của phương án x.
Bây giờ, ta đem phân tích các vector của ma trận điều kiện Ak theo các vector cơ sở Aj :
Ak = ∑ xjk Aj (k = 1.. n; j=1..m)
Ta ký hiệu vector Xk = {xjk} thì ta có công thức Ak = XkAj hay Xk = Aj-1 Ak. Xk là vector hệ số phân
tích của Ak qua cơ sở của bài toán. Như vậy với các vector Aj mà j € J thì Xj là các vector đơn vị tương
ứng, còn với các Ak mà k không thuộc J thì Xk là một tập hợp xác định nào đó. Chúng ta ghi nhớ cách
ký hiệu {xjk} để dùng trong các chứng minh sau.
Khái niệm ước lượng của biến xk: Ứng với mỗi một chỉ số k từ 1 .. n, ta xác định đại lượng ∆k = ∑ cjxjk
– ck (với mọi j thuộc J) hay nếu ký hiệu Cj là vector gồm {cj } j € J thì ∆k có thể biểu diễn dưới dạng
tích vô hướng:
∆k = ∑ cjxjk – ck = (Cj, Xk) – ck
Đại lượng ∆k này được gọi là ước lượng của biến xk theo cơ sở J. Đối với các biến cơ sở (các chỉ số k €
J) thì Xk là các vector đơn vị do đó tích vô hướng với Cj chính là cj vì vậy ước lượng của các biến cơ sở
luôn bằng 0. Về mặt ý nghĩa hình học, ∆k là đại lượng đặc trưng cho chiều biến đổi của phương án x
khi chúng ta cho các biến tự do các giá trị bất kỳ: Phương án x bao giờ cũng có các thành phần cơ sở là
không đổi, khi tịnh tiến các thành phần tự do đi các giá trị ∆k thì ta lại thu được một phương án cực
biên x’ khác. Nếu ∆k là dương thì giá trị biến tự do xk giảm nếu ∆k = 0 thì xk không đổi, còn nếu ∆k âm
thì giá trị biến tự do tương ứng tăng. (ta sẽ sử dụng khái niệm này trong chứng minh định lý cơ bản của
phương pháp đơn hình ở phần sau)
Định lý về dấu hiệu tối ưu
Nếu ta có phương án cực biên x0 của bài toán dạng chính tắc mà có các ∆k ≤ 0 với mọi k không thuộc
cơ sở J0 thì phương án cực biên x0 là phương án cực biên tối ưu.
Chứng minh:
Với phương án x0 ta có: f ( x 0 )
cjxj
j J0
ck xk
k J0
Và vì các thành phần phi cơ sở xk = 0 cho nên tổng thứ 2 bằng 0 => f(x0) = ∑ cj xj với j thuộc J0. Tương
tự ta cũng có vector vế phải b = ∑xoj Aj với j € J0. (1)
20
Bây giờ xét một phương án x bất kỳ ta có:
b = ∑ xjAj + ∑ xkAk với j € J0 và k không thuộc J0.
Trong phương trình trên, thay Ak bởi biểu thức phân tích của nó qua các vector cơ sở Aj ta có:
b = ∑ xjAj + ∑ xk ∑ xjkAj = ∑ (xj + ∑xkxjk ) Aj với j € J0 và k không thuộc J0. (2)
Từ (1) và (2) ta có ∑xoj Aj = ∑ (xj + ∑xkxjk ) Aj hay x0j = (xj + ∑xkxjk )
=> xj = x0j - ∑xkxjk
Để tìm trị của hàm mục tiêu tại phương án x ta có biểu thức
f(x) = ∑ cjxj + ∑ ckxk. thay giá trị của xj ở biểu thức trên vào ta có
f(x) = ∑ cj (x0j - ∑ xkxjk) + ∑ ckxk = ∑ cj x0j - ∑ ∑cjxjk xk + ∑ ckxk
f(x) = ∑ cj x0j – ∑( ∑cjxjk – ck) xk
mà biểu thức ∑cjxjk – ck = ∆k nên ta có f(x) = ∑ cj x0j - ∑∆k xk = f(x0) - ∑∆k xk
Với giả thiết là ∆k ≤ 0 và do các ràng buộc về dấu nên xk ≥ 0 do đó từ biểu thức trên ta có
∑∆k xk ≤ 0 hay f(x) ≥ f(x0) với phương án x bất kỳ => x0 là phương án tối ưu.
Từ định lý trên ta có một nhận xét về tập hợp các phương án tối ưu như sau:
Giả sử ta có một phương án cực biên x0 mà có các ước lượng ∆k < 0 với mọi k không thuộc J0 ( hay k là
các chỉ số phi cơ sở). khi đó theo định lý trên, x0 là phương án tối ưu, ngoài ra trị hàm mục tiêu của một
phương án bất kỳ được biểu diễn như sau:
f(x) = f(x0) - ∑ ∆kxk .
Nếu phương án x cũng là một phương án tối ưu thì nó phải thoả mãn f(x) = f(x0) do đó cần phải có ∑
∆kxk = 0. Nhưng vì các ∆k < 0 cho nên để thoả mãn được điều kiện này các xk của phương án x phải
bằng 0.
Đem biểu diễn vector b qua hai phương án tối ưu x0 và x ta có: b = ∑ x0j Aj và b = ∑ xjAj
Vì biểu diễn tuyến tính của vector b qua cơ sở {Aj } là duy nhất nên ta phải có x0j = xj Nghĩa là nếu một
phương án x cũng là tối ưu thì nó phải có xk = 0 với mọi k không thuộc J0 và xj = x0j. Hay x = x0
Từ đó rút ra mệnh đề sau: Một phương án cực biên x0 mà có các ước lượng ∆k < 0 với mọi k không
thuộc J0 thì x0 là phương án tối ưu duy nhất.
Mệnh đề 2: Nếu một bài toán có hơn một phương án tối ưu thì sẽ có vô số phương án tối ưu.
Thật vậy giả sử ta 2 có phương án tối ưu là x* và x’. Ta sẽ chứng minh là mọi vector có dạng x = λx* +
(1-λ) x’ với 0 ≤ λ ≤ 1 cũng là phương án tối ưu.
gọi f* là trị tối ưu của bài toán ta có (c, x*) = (c, x’) = f*. Đối với vector x nói trên ta có:
21
Ax = A [λx* + (1-λ) x’] = λAx* + (1-λ) Ax’
Vì x* và x’ là các phương án nên Ax* ≥ b và Ax’ ≥ b
Ta có λ và 1- λ đều không âm nên λAx* + (1-λ) Ax’ ≥ λb + (1-λ) b = b Như vậy x cũng thoả mãn các
ràng buộc của bài toán nên x cũng là một phương án. Mặt khác ta có:
f(x) = (c,x) = (c, [λx* + (1-λ) x’] ) = λ(c,x*) + (1-λ) (c,x’) = λf* + (1-λ) f* = f*
Do đó f(x) cũng là một phương án tối ưu.
Như vậy về mặt trực giác, ta thấy nếu x* và x’ là 2 phương án tối ưu thì mọi điểm nằm trên đoạn thẳng
[x*, x’] đều là phương án tối ưu.
Mệnh đề 3: Giả sử ta có một bài toán dạng chính tắc nhận vector x = 0 làm phương án. Nếu bài toán
là giải được thì x = 0 chính là phương án tối ưu.
Chứng minh: vì bài toán là chính tắc nên ta có Ax = b mà x là vector 0 cho nên Ax = 0 hay b cũng là
vector 0.
Giả sử ta có một phương án x* ≠ 0 mà f(x*) < 0, xét vector có dạng λx* (λ > 0) ta có Aλx* = λAx* = λb
= 0 do đó λx* cũng là một phương án.
Ta có f(λx*) = (c, λx*) = λ(c, x*). Với giả thiết f(x* ) = (c, x*)< 0 thì khi λ tiến tới dương vô cùng ta sẽ
có λ(c, x*) tiến đến -∞ => hàm mục tiêu f(x) không bị chặn => bài toán không giải được => mâu thuẫn
với giả thiết. Vậy với mọi phương án x ≠ 0 ta đều có f(x) ≥ 0 hay f(0) = 0 là trị tối ưu của bài toán. => x
= 0 là phương án tối ưu
Mệnh đề 4: Đối với bài toán dạng chính tắc, một phương án x có đúng một thành phần dương thì sẽ là
một phương án cực biên. Chẳng hạn x = (x1, 0, 0 … 0)
Mệnh đề 5: Cho bài toán dạng chính tắc trong đó hạng của ma trận điều kiện = m. Khi đó, nếu bài
toán có phương án cực biên x mà mọi thành phần đều dương thì bài toán là giải được.
Thật vậy theo định lý 1 ở trên, phương án x là phương án cực biên khi và chỉ khi các vector A j tương
ứng với các thành phần dương của x phải độc lập tuyến tính. Trong trường hợp này, x có n thành phần
dương nghĩa là các vector {Aj} j = 1..n phải độc lập tuyến tính, hay hạng của ma trận A = n mà hạng
của ma trận A = n khi và chỉ khi nó có n hàng độc lập tuyến tính => m=n và hệ ràng buộc Ax = b là
một hệ phương trình Crame, do đó có nghiệm duy nhất, mà x là một phương án => x chính là nghiệm
của hệ này nghĩa là bài toán luôn giải được (vì có duy nhất một phương án nên phương án đó cũng là
tối ưu.
Định lý cơ bản của phương pháp đơn hình
Xét bài toán chính tắc f(x) min. Giả sử có một phương án cực biên x0 với cơ sở J0. Nếu tồn tại một
ước lượng ∆k dương thì chúng ta có thể thực hiện một số bước cải tiến phương án x0 này và sau một số
hữu hạn bước chúng ta sẽ có thể:
- hoặc tìm được một dãy phương án trên đó hàm mục tiêu giảm vô hạn (và kết luận là bài
toán không giải được)
22
-
hoặc biến đổi để được một phương án cực biên x * khác tốt hơn x0 theo nghĩa f(x*) < f(x0)
trong trường hợp bài toán không suy biến (nghĩa là mọi phương án cực biên của bài toán
đều không suy biến.
Chứng minh:
Theo định lý về dấu hiệu tối ưu của một phương án, ta thấy ngay là x0 chưa phải là phương án tối ưu.
Ứng với mỗi chỉ số k không thuộc J0, ta xác định một vector zk có cấu tạo như sau:
zk = {zk1, zk2, …..zkn} trong đó zkj = - xjk với j € J0, zkj = 0 với mọi j không thuộc J0 riêng trường hợp zkk
= 1. (lưu ý: xjk là các hệ số phân tích của vector Ak như đã đề cập ở phần đầu của mục này):
zkj = - xjk
zkj = 0
zkk = 1
với mọi j € J0
với mọi j không thuộc J0
Vector zk xây dựng ở trên được gọi là phương kk hay nói một cách hình học, nó là phương của một
cạnh kề của phương án x0
x0
z3
z1
z2
Nếu ta thay thế x0 bởi một vector x’ có dạng x’ = x0 + θzk trong đó hệ số θ dương thì về mặt hình học
có nghĩa là ta đã dịch chuyển đến một điểm x’ nằm trên phương z k. và hệ số θ được gọi là một bước đi
của phép dịch chuyển
Ta có f(x’) = f(x0 + θzk) = ∑ cj(x0 + θzk) = ∑cj x0 + ∑ cj θzk = f(x0) + θ ∑ cjzk
∑cjzk = ∑cj (-xkj) + ck.1 = - ( ∑cjxkj - ck ) = - ∆k (suy ra từ công thức định nghĩa zk)
f(x’) = f(x0) – θ∆k.
Từ công thức trên ta có: nếu ∆k dương thì zk là một phương mà theo đó trị của hàm mục tiêu sẽ giảm.
Nếu ∆k âm thì zk là phương mà theo đó trị của hàm mục tiêu sẽ tăng, còn nếu ∆k = 0 thì khi tịnh tiến x0
theo phương zk, hàm mục tiêu sẽ không đổi.
Theo giả thiết của định lý, tồn tại một ∆k dương nghĩa là nếu ta biến đổi x0 theo zk thì sẽ cải tiến được
phương án x0 để tìm được một phương án x’ tốt hơn
Bây giờ ta xét điều kiện để x’ là một phương án: Để x’ là một phương án thì nó phải thoả mãn các ràng
buộc về dấu: nghĩa là x’j = x0j - θxjk ≥ 0. Mà ở đây ta lấy θ dương do vậy biểu thức trên phụ thuộc vào
dấu của xjk.
-
-
Trường hợp xjk ≤ 0 với mọi j € J0 thì có thể suy ra x’ là phương án. Cho θ +∞ ta sẽ thu
được vô số phương án x’. Nghĩa là phương zk là phương vô hạn mà theo đó trị của hàm mục
tiêu giảm vô hạn bài toán không giải được
Trường hợp có một xjk > 0 thì biểu thức x0 - θxjk ≥ tương đương với biểu thức
23
x 0j
x jk
Như vậy nếu lấy θ nằm trong khoảng từ 0 đến αj thì thì ta sẽ thu được một phương án x’. Vì j € J 0 nên
ta thấy θ bị chặn trên bởi giá trị nhỏ nhất của αj ( j € J0). Như vậy phương zk là phương hữu hạn vì ta
chỉ có thể tăng θ đến một giá trị cận trên của nó.
Ta ký hiệu θ0 = min αj ( j € J0) và gọi đó là bước đi lớn nhất khi cải tiến x0.
Khi cải tiến x0 với một bước đi lớn nhất, có nghĩa là ta sẽ đi tới một đỉnh mới của đa giác tạo bởi các
ràng buộc, lúc đó ta thu được một phương án x* và x* cũng là một phương án cực biên (vì khi ta rời bỏ
điểm x0 có nghĩa là mất đi một ràng buộc chặt nhưng khi đến điểm x * là một đỉnh thì nó lại thoả mãn
thêm một ràng buộc chặt khác)
Ký hiệu bước đi lớn nhất là θ0 thì θ0 = x0r / xkr (trong đó r € J0 ) là trị số tại đó αj đạt min.
Nếu ta gọi J* là cơ sở của phương án x* thì J có một quan hệ với J0 như sau:
J* = J0 \ {r} + {k} Nghĩa là chỉ số r bị loại ra và chỉ số k được đưa vào
Tóm lại nếu ta di chuyển theo phương zk dương, với bước đi θ lớn nhất thì ta sẽ thu được một phương
án cực biên x* mới tốt hơn và có cơ sở J* được xây dựng từ cơ sở J0 bằng cách bỏ đi chỉ số r và thêm
vào chỉ số k (k trước đó là phi cơ sở). Đồng thời trong các vector cơ sở, vector Ar sẽ bị loại đi và thay
bằng vector Ak (Ak trước đó là phi cơ sở).
Ngoài ra vector x* có thành phần thứ k sẽ chính bằng θ (vì x*k = x0k + θ zkk mà zkk bằng 1 theo cách xác
định zk). => x*k = θ = x0r / xkr >0.
Và ta cũng có
x*r
0
k
= x r - θx r =
0
r
x
xr0 k
xr
xrk
0
Như vậy vector x* so với vector x0 cũng chỉ có sự thay đổi ở thành phần thứ r và k. thành phần x *r trở
thành phi cơ sở ( bằng 0) còn thành phần thứ k trở thành thành phần cơ sở.
Chú ý: Đối với bài toán suy biến thì định lý trên vẫn đúng tuy nhiên chỉ có thể kết luận phương án cực
biên mới tương đối tốt hơn so với phương án cực biên cũ nghĩa là trị hàm mục tiêu x* có thể bằng trị
hàm mục tiêu x0: f(x*) ≤ f (x0). Bởi vì đối với bài toán suy biến, giá trị θ có thể bằng 0 và khi đó thực
chất của việc di chuyển ta chỉ thu được 1 cơ sở khác chứ không làm thay đổi trị của hàm mục tiêu.
Công thức đổi cơ sở tổng quát
Giả sử ta có phương án cực biên x0 với cơ sở J0 và giả sử zs là một phương hữu hạn. với bước đi lớn
nhất θ0 = x0r / xsr (trong đó xsr >0 và r € J0) ta thu được phương án cực biên mới x1 và cơ sở tương ứng
J1 = J0 \ {r} + {s}.
24
Như đã đề cập ở trên, khi phân tích các vector Ak qua cơ sở J0, ta được các hệ số phân tích {xkj}. Vậy
khi phân tích các vector Ak qua cơ sở J1 ta thu được các hệ số phân tích {xk-j} có quan hệ với các hệ số
phân tích cũ như thế nào? Ta có công thức đổi cơ sở tổng quát như sau:
xk-j = xkj – (xkr / xsr) xsj
xk-s = (xkr / xsr)
với j € J1 và j ≠ s
với j = s
Từ công thức đổi cơ sở tổng quát trên, đối với x0 và x1 ta có:
x1j = x0j - (x0r / xsr) xsj với j € J1 và j ≠ s
x1s = (x0r / xsr)
với j = s
và f(x1) = f(x0) - (x0r / xsr) ∆s
ta đặt ∆’k = ∆k - (xkr / xsr) ∆s.
Nếu ∆’k ≤ 0 với mọi k thì có thể kết luận phương án cực biên x1 là tối ưu. Ngược lại nếu tồn tại một ∆’k
dương, ta lại lặp lại phép biến đổi cơ sở trên.
Chú ý: Trong phép biến đổi cơ sở trên, xsr được gọi là phần tử trục của phép biến đổi cơ sở, phần tử này
nằm trên hàng r của vector loại ra (Ar) và nằm trên cột của vector đưa vào (As) .
3. Thuật toán của phƣơng pháp đơn hình:
Giả thiết cho một bài toán dạng chính tắc, có một phương án cực biên x0 với cơ sở J0 = {A1, A2, ….
Am}. Ta lập một bảng đơn hình từ các hệ số phân tích của vector b và hệ số phân tích của các các
vector điều kiện Ak (k = 1 .. n) qua cơ sở J0 theo quy tắc sau:
Trên hàng thứ nhất, ghi các hệ số {c1, c2 …. cn} và tương ứng ngay ở bên dưới ghi các thành phần
của vector nghiệm x {x1, x2, ….. xn}
Cột thứ nhất là hệ số {c1, c2 ….. cm}
Cột thứ hai ghi các các thành phần trong cơ sở J0 {x1, x2 …. xm}
Cột thứ 3 ghi các thành phần dương của phương án x0 {x01, x02, …. m0m}
Phần giao nhau của các cột và hàng trong bảng ghi các hệ số phân tích của các vector A k qua cơ sở
{A1, A2 … Am}. Ta nhớ là các cột tương ứng với các thành phần dương của phương án chính là m
vector đơn vị vì đó chính là phân tích của các vector trong cơ sở. Còn các cột còn lại có có được từ
việc tính toán các xjk
Hàng cuối cùng ta đặt trị số hàm mục tiêu tại x o và các giá trị của ∆k. Nhớ là các ∆k với k € J0 thì
bằng 0. Các ∆k khác được tính theo công thức ∆k = ∑ cj xjk – ck (j € J0)
Sau đây là cấu trúc tổng quát của một bảng đơn hình. Trong bảng này, các thành phần dương được dồn
lên đầu, tuy nhiên trong thực tế các thành phần này có thể nằm xen kẽ với các thành phần phi cơ sở. Và
thực tế là sau khi thực hiện các phép biến đổi trên bảng đơn hình, trật tự của các thành phần cơ sở cũng
sẽ bị thay đổi vì sẽ có một thành phần được đưa ra khỏi cơ sở và một thành phần phi cơ sở được đưa
vào.
Hệ số
cj
c1
c2
…
cr
Cơ sở
J0
x1
x2
….
xr
P/á
x0j
x01
x02
…
x0r
c1
x1
1
0
…
0
c2
x2
0
1
…
0
….
….
….
…
…
cr
xr
0
0
…
1
….
….
…
…
cm
xm
0
0
…
0
cm+1
xm+1
x1 m+1
x2 m+1
…
xr m+1
…
…
…
…
cs
xs
x1s
x2s
…
xr s
…
…
…
…
cn
xn
x1n
x2n
…
xrn
25
…
cm
…
xm
f(x)
…
x0m
f(x0)
…
0
0
…
0
0
…
…
0
…
0
0
…
…
0
…
1
0
…
…
xm m+1 …
∆m+1
…
…
xm s
∆s
…
…
…
…
xm s
∆n
Như vậy để lập được bảng đơn hình chúng ta cần 2 giả thiết: (1)- bài toán phải chính tắc và (2) – bài
toán phải có một phương án cực biên x0. Ngoài ra trong bảng đơn hình vừa thành lập, có 2 yếu tố mà
chúng ta chưa xác định được ngay từ các giả thiết trên đó là các hệ số phân tích của các vector phi cơ
sở xjk và các ∆k. Dưới đây sẽ trình bày phương pháp xác định các thành phần x jk cùng với ∆k đối với 3
loại bài toán: Bài toán chính tắc dạng chuẩn và bài toán chính tắc không chuẩn và bài toán tổng quát
(bất kỳ):
a. Đối với bài toán dạng chuẩn:
Bài toán dạng chuẩn có dạng như sau:
f(x) = (c, x) min
Ax = b
x≥0
b≥0
Và ma trận A có chứa m vector đơn vị như sau:
1 0 …… 0 a1m+1 a1m+2 ….. a1n
0 1 …… 0 a2m+1 a2m+1 ….. a2n
……………….
0 0 …… 1 amm+1 amm+2 ….amn
Từ định nghĩa về bài toán dạng chuẩn ta có 3 nhận xét:
Bài toán dạng chuẩn có ngay một phương án cực biên x 0 đó là phương án có các thành phần phi cơ
sở thì bằng 0 còn các thành phần cơ sở thì bằng thành phần tương ứng của vector b: x 0 = {b1 b2 …
bm 0 0 ….0}
Các thành phần dương của phương án x0 (cột thứ 3 trong bảng đơn hình) chính là hệ số phân tích
của vector b qua cơ sở J0 và cũng chính là vector b.
Vì các vector trong cơ sở là vector đơn vị nên hệ số phân tích của các phi cơ sở Ak (k không thuộc
J0) sẽ là chính nó nghĩa là xjk = ajk
Như vậy với bài toán dạng chính tắc chúng ta thành lập ngay được bảng đơn hình, lấy các giá trị b j điền
vào vị trí x0j tương ứng ( j € J0 ) và lấy các thành phần trong ma trận hệ số phân tích để điền vào các vị
trí xjk tương ứng ( j = 1 .. m, k = 1 .. n)
b. Đối với bài toán dạng chính tắc
Đối với bài toán dạng chính tắc thì chúng ta phải có giả thiết là đầu bài đã cho một phương án cực biên
x0. (Nếu bài toán không cho trước phương án cực biên thì chúng ta phải đi tìm một phương án cực biên,
thuật toán tìm phương án cực biên sẽ đề đến trong phần sau).
Ngoài ra, vì bài toán không phải là chuẩn nên chúng ta không có điều kiện là các thành phần của vector
b ≥ 0 và trong ma trận hệ ràng buộc cũng không có chứa các vector đơn vị. Do vậy để tìm các hệ số
phân tích của các vector Ak với k không thuộc J0 chúng ta phải áp dụng một thuật toán biến đổi ma trận
như sau:
26
Viết ma trận điều kiện mở rộng Ā = | A|b |. (Nghĩa là viết vector b bên cạnh ma trận ràng buộc A.
Đánh dấu các cột tương ứng với các thành phần dương của phương án x0 (nghĩa là đánh dấu các
vector Aj trong cơ sở J0)
Thực hiện các phép biến đổi trên hàng của ma trận Ā sao cho các vector cơ sở Aj biến thành các
vector đơn vị. Khi đó các vector Ak với k không thuộc cơ sở sẽ bị biến thành vector hệ số phân tích
của Ak qua cơ sở J0. Lưu ý là trong quá trình biến đổi đó, vector b cũng bị biến đổi theo, trở thành
vector hệ số phân tích của b qua cơ sở J0 nghĩa là bằng x0. Do đó chúng ta có thể dùng điều này để
kiểm tra tính đúng đắn của của trình biến đổi
Viết ma trận Ā cuối cùng (sau khi biến đổi như trên) vào trong bảng đơn hình (đối với các vị trí x jk
tương ứng).
Nhận xét: Thực chất của quá trình biến đổi trên đây là thực hiện các phép biến đổi sơ cấp trên các
phương trình của hệ ràng buộc để chính tắc về dạng chuẩn.
c. Đối với bài toán quy hoạch tuyến tính dạng tổng quát.
Trước đây chúng ta đã có một mệnh đề là mọi bài toán quy hoạch tuyến tính đều có thể đưa về bài toán
dạng chính tắc và từ phương án cực biên của bài toán này có thể suy ra phương án cực biên của bài
toán kia. Như vậy đối với một bài toán quy hoạch tổng quát để có thể giải được bằng phương pháp đơn
hình chúng ta thêm vào các ẩn phụ để đưa bài toán về dạng chính tắc. Sau khi đã có bài toán chính tắc
tương đương, từ phương án cực biên x0 của bài toán tổng quát ban đầu, chúng ta suy ra phương án cực
biên x01 của bài toán chính tắc hệ quả (bằng cách giải các phương trình ràng buộc mới để tìm ra giá trị
các ẩn phụ) và xây dựng bảng đơn hình theo cách của bài toán chính tắc đã trình bày ở trên.
Tính toán ∆k và đánh giá phương án x0:
Sau khi đã có đầy đủ nội dung bên trong của bảng đơn hình theo chúng ta điền nốt giá trị ∆ k theo công
thức tính toán sau:
∆j = 0 (j € J0)
∆k = ∑ cj xjk – ck (j € J0, k không thuộc J0)
Nghĩa là tại các cột ứng với các thành phần cơ sở, chúng ta viết ∆j = 0. Tại các cột ứng với các thành
phần phi cơ sở, chúng ta viết ∆k bằng tích vô hướng của vector cột thứ nhất (vector hệ số cj với j thuộc
cơ sở) trong bảng đơn hình, với vector cột hệ số phân tích Ak tương ứng.
Đến lúc này chúng ta đã hoàn thiện bảng đơn hình với đầy đủ các thành phần. Phần việc còn lại là đánh
giá phương án x0 xuất phát này và biến đổi bảng đơn hình để đi đến một phương án tốt hơn hoặc kết
luận là bài toán không giải được. Các bước tiếp theo được thực hiện như sau:
Bƣớc 1: Đánh giá phương án xuất phát x0.
Chúng ta đã có mệnh đề rằng nếu ∆k ≤ thì phương ∆k là phương tăng hoặc không đổi (tất nhiên là
chúng ta đang xét bài toán f(x) min còn với bài toán f(x) max thì sẽ thảo luận sau).
Như vậy, sau khi xây dựng bảng đơn hình nếu thấy ∆k ≤ 0 với mọi k không thuộc J0 thì có thể kết luận
là x0 là phương án tối ưu. Chấm dứt thuật toán.
Ngược lại nếu tồn tài một ∆k dương thì chúng ta chuyển sang bước 2 sau:
Bƣớc 2: Kiểm tra tính giải được của bài toán
27
Nếu tồn tại một ∆k dương thì rõ ràng là phương án cực biên x 0 chưa tối ưu và nó còn có phương giảm
∆k. Theo lý thuyết, đi theo một phương giảm thì sẽ cải tiến được phương án x0. Tuy nhiên ở đây chúng
ta cần khảo sát hai tình huống:
Trong các phương giảm (∆k dương) chúng ta kiểm tra xem có dấu hiệu giảm vô hạn hay không.
Theo định lý cơ bản của phương pháp đơn hình, phương ∆k mà có tất các hệ số xjk ≤ 0 với mọi j thì
có nghĩa là phương ∆k sẽ giảm vô hạn. Như vậy nếu chúng ta thấy trong bảng đơn hình nếu có một
phương ∆k nào đó mà tương ứng với nó, vector hệ số phân tích Ak không chứa thành phần dương
thì chúng ta có thể kết luận là hàm mục tiêu sẽ giảm vô hạn và bài toán không giải được. Chấm dứt
thuật toán.
Nếu khảo sát mọi cột có ∆k dương đều hữu hạn (nghĩa là trong các thành phần của vector hệ số
phân tích Ak tương ứng có ít nhất một xjk dương) thì nếu đi theo một trong các phương ∆k giảm hữu
hạn đó chúng ta sẽ cải tiến được x0 để thu được phương án tốt hơn.
Bƣớc 3: Chọn phương ∆k để cải tiến phương án x0.
Về lý thuyết, mỗi một lần cải tiến phương án x0 là biến đổi nó theo phương ∆k với một bước đi tối đa θ0
thì sẽ tìm được phương án cực biên mới x1. Mà trị số hàm mục tiêu giảm tỉ lệ thuận với bước đi tối đa
θ0 này. Và chúng ta biết rằng
θ0 = min (x0j / xjk )
Như vậy nếu chúng trong các phương ∆k, chúng ta tìm được một phương ∆s nào đó mà có bước đi tối
đa là lớn nhất so với các phương khác thì chắc chắn khi đi theo phương này chúng ta sẽ thu được một
phương án cực biên mới với trị hàm mục tiêu giảm nhiều nhất. Tuy nhiên trong thực tế tính toán, để
tìm được phương có bước đi lớn nhất chúng ta phải tính các giá trị θ0 ứng với các phương ∆k và sau đó
so sánh các θ0 đó để chọn phương ∆k. Cách làm này sẽ làm mất nhiều thời gian vì vậy chúng ta chọn
phương ∆k một cách ước lệ là lấy ∆k có giá trị lớn nhất với hy vọng là đi theo phương này thì hàm mục
tiêu sẽ giảm nhiều nhất.
Giả sử chúng ta chọn được ∆s là max (∆k), khi đó chúng ta đồng thời cũng đi tìm xem bước đi tối đa θ0
ứng với phần tử xjs nào. Nghĩa là chúng ta sẽ lấy các xjs chia cho x0j tương ứng xem tỉ số nào là nhỏ
nhất ( vì θ0 = min (x0j / xjs ) )
Giả sử phần tử đó là xrs, ta gọi phần tử này là phần tử trục vì nó sẽ đóng vai trò then chốt trong bước
biến đổi bảng đơn hình tiếp sau. Trên bảng đơn hình, ta khoanh vuông phần tử này.
Nội dung của bước 3 này là chúng ta đã xác định một phương di chuyển, và khi di chuyển như vậy thì
một vector Ak ngoài cơ sở sẽ được đưa vào trong cơ sở và một vector Aj trong cơ sở sẽ bị đưa ra ngoài
cơ sở. Ở đây, vector As sẽ được đưa vào cơ sở và vector Ar sẽ bị đưa ra khỏi cơ sở. Cũng vậy, thành
phần xs sẽ được đưa vào cơ sở và thành phần xr sẽ bị loại ra khỏi cơ sở. Chính vì vậy bước biến đổi
bảng đơn hình sau đây còn được gọi là bước đổi cơ sở.
Bƣớc 4: Biến đổi cơ sở
Để biến đổi cơ sở, chúng ta áp dụng công thực biến đổi cơ sở tổng quát theo từng hàng của bảng đơn
hình (kể cả hàng ước lượng ∆k và cột phương án x0) như sau:
Trước hết biến đổi hàng có chứa phần tử trục (hàng r) sao cho phần tử trục trở thành 1. Nghĩa là
chia toàn bộ hàng này cho xrs
28
x’rs = xrk / xrs
Các hàng còn lại được biến đổi sao cho các phần tử trên cột s thì bằng 0 (trừ phần tử x rs) như vậy
chúng ta phải nhân mọi phần tử của hàng r kể trên với số đối của xjs của hàng j và cộng vào tương
ứng vào các phần tử hàng j (đây chính là phép biển đổi để cô lập theo cột trong công thức biến đổi
ma trận để tìm hạng)
xjk = xjk + xrk. (-xjs)
Kết quả sau bước 4 chúng ta sẽ thu được bảng đơn hình mới ứng với một phương án cực biên x 1 mới.
Quay trở lại với bước một của thuật toán và lặp lại quá trình trên, sau một số hữu hạn bước, chúng ta
sẽ: hoặc có thể kết luận được bài toán không giải được; hoặc tìm được một phương án cực biên tối ưu.
§5. Tìm phương án cực biên xuất phát cho bài toán quy hoạch tuyến tính
1. Phƣơng pháp biến giả
Chúng ta biết rằng để giải bài toán quy hoạch tuyến tính bằng phương pháp đơn hình, chúng ta cần biết
một phương án cực biên xuất phát của bài toán. Trong mục này chúng ta sẽ nghiên cứu một phương
pháp tìm phương án cực biên xuất phát cho bài toán dạng chuẩn:
Xét bài toán f(x) = (c, x) min
Các ràng buộc:
Ax = b
xj ≥ 0
bj ≥ 0
Để tìm phương án cực biên của bài toán này (bài toán xuất phát), chúng ta xây dựng một bài toán phụ P
khác bằng cách cộng vào tất cả các ràng buộc của bài toán trên một biến phụ x gi ≥ 0 (i = 1 .. m) và hàm
mục tiêu được xây dựng từ các biến xg với các hệ số cj = 1: p(xg) = ∑xgi min
nếu biểu diễn một vector n + m thành phần (x, xg) gồm n thành phần của x và m thành phần của xg thì
chúng ta có thể viết đầy đủ dạng bài toán P như sau
p(x, xg ) = ∑ xgi min ( i = 1 .. m)
∑ aij xj + xgi = b
xj ≥ 0 ; xgi ≥ 0 với j = 1.. n và i = 1.. m
bj ≥ 0.
Biến xg ở trên được gọi là các biến “giả”. Việc đặt biến giả như vậy cho phép chúng ta suy luận là nếu
có một phương án thoả mãn ràng buộc của bài toán xuất phát thì chắc chắn là các phương án của bài
toán phụ sẽ phải thoả mãn các ràng buộc với điều kiện là các thành phần của vector xg bằng 0 và khi đó
p(x, xg) sẽ đạt cực trị là bằng 0. Ngược lại nếu chúng ta chứng minh được rằng có một phương án của
bài toán phụ mà có thành phần xgi nào đó dương, thì có thể kết luận ngay là bài toán xuất phát không có
phương án (vì sẽ có phương trình thứ i trong hệ ràng buộc không thoả mãn).
29
Từ suy luận trên ta có một số mệnh đề sau:
Mệnh đề 1. Vector Agi của hệ ràng của bài toán P buộc tương ứng với các thành phần x gi chính là
vector đơn vị thứ i (ei ).
Mệnh đề 2: Nếu x là một phương án của bài toán xuất phát thì vector có dạng (x, x g = 0) sẽ là phương
án của bài toán phụ P và ngược lại nếu vector có dạng (x, x g = 0) là phương án của bài toán P thì x là
một phương án của bài toán xuất phát.
Mệnh đề 3: x là phương án cực biên của bài toán xuất phát khi và chỉ khi (x, x g = 0) là phương án cực
biên của bài toán phụ P.
Cách chứng minh: Dựa vào mệnh đề đã biết là x là phương án cực biên khi và chỉ khi các vector A j
tương ứng với các thành phần dương là độc lập tuyến tính.
Như vậy việc tìm phương án cực biên của bài toán xuất phát (nếu có) sẽ dẫn đến việc tìm phương án
cực biên của bài toán P có dạng (x, xg = 0). mà ta biết rằng P (x, xg = 0) = 0 trong khi hàm p(x, xg ) bị
chặn dưới bởi 0. Do đó nếu ta giải được bài toán p (đi tìm phương án tối ưu) thì sẽ tìm ra một phương
án cực biên của bài toán xuất phát.
Nhận xét: Bài toán P là bài toán dạng chuẩn vì nó thoả mãn hai điều kiện: (1) b j ≥ 0 và (2) trong hệ
phương trình ràng buộc chứa đủ m vector đơn vị là các vector Agi do thêm các biến xgi vào. Do đó đối
với bài toán P ta luôn có ngay một phương án cực biên, và hơn nữa vì hàm p(x, x g ) bị chặn dưới bởi 0
nên bài toán P luôn giải được. Nghĩa là sau một số hữu hạn bước chúng ta sẽ tìm được một phương án
cực biên x* của bài toán P. x* = ( x, xg), chúng ta xét 2 trường hợp:
1. Giá trị cực tiểu mà hàm p đạt tại x* là dương nghĩa là p(x*) = ∑ xgi > 0. Khi đó, tồn tại một xgi > 0
và từ đây có thể kết luận vài toán xuất phát không có phương án.
2. Hàm p đạt cực trị bằng 0. Nghĩa là p(x*) = ∑ xgi = 0 hay tất cả các xgi đều bằng 0.
Trong trường hợp này, theo mệnh đề trên ta có thể suy ra thành phần x trong phương án x * chính là một
phương án cực biên của bài toán suất phát. Như vậy nếu tìm được một cơ sở ứng với phương án x của
bài toán xuất phát nữa thì ta có thể giải bài toán xuất phát bằng phương pháp đơn hình.
Giả sử {Aj }là cơ sở của bài toán phụ P ứng với phương án cực biên x *. Nếu {Aj} không chứa một
vector Agi nào thì cơ sở này cũng chính là cơ sở của phương án cực biên x của bài toán xuất phát. Như
vậy chúng ta chỉ cần tính lại hàng ước lượng ∆k theo hàm f và có thể tiếp tục thuật toán trên cùng một
bảng đơn hình để tìm phương án cực biên tối ưu của bài toán xuất phát.
Ngược lại nếu trong cơ sở {Aj} của bài toán phụ có chứa một vector Agi thì dễ thấy ngay rằng phương
án cực biên x* suy biến (do có một thành phần xgi = 0). Trường hợp này để tiếp tục thuật toán, trước
hết, chúng ta phải loại cột tương ứng với thành phần xgi đó ra ngoài bảng đơn hình, tính lại hàng ước
lượng ∆k theo hàm f và tiếp tục thuật toán để tìm phương án cực biên tối ưu cho bài toán xuất phát.
2. Các chú ý
Mục đích của việc xây dựng bài toán phụ P là để tìm ra một bài toán có dạng chuẩn để có thể xác
định ngay một phương án cực biên. Do vậy nếu khảo sát bài toán xuất phát mà tìm thấy một số biến
cô lập thì tại các phương trình chứa các biến cô lập đó, ta không cần cộng thêm biến giả xgi.
30
Trong khi thực hiện thuật toán, nếu một biến giả đã bị loại khỏi cơ sở thì chúng ta không cần tính
toán trên cột đó trong các bước tiếp theo.
Chỉ được áp dụng công thức đổi cơ sở trên bảng đơn hình khi 2 bảng kế tiếp vẫn đang khảo sát trên
cùng một hàm mục tiêu p hoặc f. Nghĩa là, ngay sau khi tìm được phương án cực biên tối ưu của
hàm p và chuyển sang tính ước lượng ∆k cho hàm f thì để tính hàng ước lượng ∆k mới, ta không
được áp dụng công thức đổi cơ sở mà phải tính trực tiếp các giá trị ∆k theo định nghĩa (nhân 2
vector, trừ đi hệ số cj).
Vì bài toán P luôn giải được nên trong quá trình thực hiện thuật toán với bài toán P, chúng ta không
cần kiểm tra tính giải được của bài toán. Nếu trong quá trình tính toán, thấy xuất hiện một phương
giảm vô hạn đối với bài toán P thì có nghĩa là chúng ta đã tính sai ở bước nào đó.
Trong cả hai trường hợp bài toán f(x) tiến đến min hay max thì đối với bài toán phụ, chúng ta cũng
phải xây dựng để nó tiến đến min.
Ví dụ: Giải bài toán sau bằng phương pháp đơn hình
f(x) = 3x1 + 4x2 + 2x3 + 2x4 min
2x1 + 2x2
+ x4 = 28
x1 + 5x2 + 3x3 -2x4 ≤ 31
2x1 – 2x2 + 2x3 + x4 = 16
(1)
(2)
(3)
xj ≥ 0 với mọi j
bước 1: đưa bài toán về dạng chính tắc bằng cách thêm biến phụ vào ràng buộc (2)
2x1 + 2x2
+ x4
x1 + 5x2 + 3x3 -2x4 + x5
2x1 – 2x2 + 2x3 + x4
= 28
= 31
= 16
(1)
(2)
(3)
xj ≥ 0 với mọi j
bước 2: Vì bài toán chính tắc trên chỉ có 1 biến cô lập theo cột cho nên nó không phải dạng chuẩn, để
đi tìm phương án cực biên xuất phát ta dùng bài toán phụ
đặt P(x, xg) = xg1 + xg3 min (vì đã có x5 cô lập nên chỉ cần lấy 2 biến giả)
Các ràng buộc của P:
2x1 + 2x2
+ x4
+xg1 = 28
x1 + 5x2 + 3x3 -2x4 + x5
= 31
2x1 – 2x2 + 2x3 + x4
+xg3 = 16
(1)
(2)
(3)
Từ hệ trên thấy ngay một phương án cực biên của bài toán phụ là x* = (0,0,0,0,31,28,16)
Bước 3: Lập bảng đơn hình cho bài toán phụ
Hệ số
cj
1
Cơ sở
J0
xg1
P/á
x0j
28
3
x1
2
4
x2
2
2
x3
0
2
x4
1
0
x5
0
1
xg1
1
1
xg2
0
31
0
1
x5
xg3
P(x)
31
16
44
1
2
4
5
-2
0
3
2
2
-2
1
2
1
0
0
0
0
0
0
1
0
Lưu ý trong bảng đơn hình có 2 phần, phần x4 đến x5 (màu vàng) chúng vẫn ghi các hệ số cj của f(x),
phần mầu xanh ghi các hệ số c của P(x, xg) nhưng khi tính giá trị của ∆k chúng ta phải tính theo hệ số cj
của hàm P như sau c = ( 0,0,0,0,0,1,1).
Bước 4: Biến đổi bảng đơn hình để đưa các xg ra khỏi cơ sở.
(lưu ý khi đã đưa xg2 ra khỏi cơ sở thì không cần quan tâm đến cột đó nữa cột đó nữa
Hệ số
cj
1
0
0
Cơ sở P/á
J0
x0j
xg1
12
x5
23
x1
8
P(x)
12
3
x1
0
0
1
0
4
x2
4
6
-1
4
2
x3
-2
2
1
-2
2
x4
0
-5/2
1/2
0
0
x5
0
1
0
0
1
xg1
1
0
0
0
1
xg2
Hệ số
cj
0
0
0
Cơ sở
J0
x2
x5
x1
P(x)
3
x1
0
0
1
0
4
x2
1
0
0
0
2
x3
-1/2
5
1/2
0
2
x4
0
-5/2
1/2
0
0
x5
0
1
0
0
1
xg1
1
xg2
P/á
x0j
3
5
11
0
Bước 5: sau khi đã đưa hết xg ra khỏi cơ sở, nếu thấy P(x) = 0 thì tiếp tục bảng đơn hình với các giá trị
cj của hàm f(x) còn nếu thấy P(x) lớn hơn không thì kết luận bài toán gốc không có phương án. Lưu ý
là các
Hệ số
cj
4
0
3
Cơ sở
J0
x2
x5
x1
f(x)
P/á
x0j
3
5
11
45
3
x1
0
0
1
0
4
x2
1
0
0
0
2
x3
-1/2
5
½
-5/2
2
x4
0
-5/2
1/2
-1/2
0
x5
0
1
0
0
Nhận xét: phương án x* = (11, 3, 0, 0, 5) chính là phương án tối ưu của bài toán II bởi vì tại đó chúng ta
thấy các ∆k đều âm nghĩa là chỉ có phương tăng. Do phương án tối ưu của bài toán II cũng là phương
án tối ưu của bài toán I nên phương án tối ưu của bài toán I là x0 = (11,3,0,0).
Trong trường hợp c4 = 1, vì x4 không phải là cơ sở nên chúng ta có thể thay ngay hệ số c4 mới vào bảng
đơn hình sau cùng để thực hiện tiếp phép biến đổi
Hệ số
cj
4
0
Cơ sở
J0
x2
x5
P/á
x0j
3
5
3
x1
0
0
4
x2
1
0
2
x3
-1/2
5
1
x4
0
-5/2
0
x5
0
1
32
3
x1
f(x)
11
45
1
0
0
0
½
-5/2
1/2
1/2
0
0
Lúc đó với phương án x*, phương z4 chính là phương giảm và do có x43 = ½ dương nên phương đó
giảm hữu hạn, thực hiện phép biến đổi đưa x4 vào cơ sở
Hệ số
cj
4
0
1
Cơ sở
J0
x2
x5
x4
f(x)
P/á
x0j
3
60
22
34
3
x1
0
5
2
-1
4
x2
1
0
0
0
2
x3
-1/2
7,5
1
-3
1
x4
0
0
1
0
0
x5
0
1
0
0
Sau một bước biến đổi, ta thu được x0 = (0,3,0,22,60) là phương án cực tối ưu của bài toán II và do đó
phương án tối ưu của bài toán 1 là x0 = (0, 3, 0, 22)
PHẦN 3: BÀI TOÁN ĐỐI NGẪU
Trong khi nghiên cứu các bài toán kinh tế, người ta phát hiện ra rằng mỗi một bài toán quy hoạch tuyến
tính đều có một bài toán khác cũng sử dụng những thông số của bài toán này nhưng lại có mục tiêu đối
nghịch hoàn toàn. Chẳng hạn bài toán tính giá thành sản phẩm, đánh giá giá trị xã hội của sản phẩm là
bài toán đối nghịch với bài toán tính toán chi phí sản xuất: Khi sản xuất sản phẩm người ta cố gắng làm
sao để chi phí đạt tối thiểu (hàm mục tiêu tiến đến min) nhưng khi tính toán giá thành sản phẩm người
ta lại muốn làm sao có thể đạt được giá trị bán ra hay giá trị xã hội của sản phẩm là lớn nhất.
Việc xây dựng bài toán đối ngẫu không những có ý nghĩa kinh tế to lớn mà còn đưa ra những phương
pháp, những cách tiếp cận mới để giải bài toán quy hoạch tuyến tính. Và đôi khi nhờ áp dụng các tính
chất của bài toán đối ngẫu, việc giải bài toán quy hoạch tuyến tính trở nên rất đơn giản.
§1. Xây dựng bài toán đối ngẫu của bài toán chính tắc
Xét bài toán quy hoạch tuyến tính dạng chính tắc sau:
I.
f(x) = (c, x) = ∑cjxj min
∑aij xj = bi
(j = 1 .. n; i = 1 .. m)
xj ≥ 0
Bây giờ với các thông số {c, aij , b} của bài toán này chúng ta xây dựng một bài toán thứ 2 có dạng sau:
Ī
φ(y) = (b, y) = ∑ bi yi max
∑ aij yi ≤ cj
(i = 1 .. m ; j = 1.. n)
Bài toán (I) ở trên được gọi là bài toán gốc, còn bài toán (Ī) được gọi là bài toán đối ngẫu của bài toán
(I). Từ định nghĩa này chúng ta có một số nhận xét sau:
33
Hai bài toán là tương quan 1-1. Nghĩa là từ bài toán này có thể thành lập bài toán kia và ngược lại.
Như vậy việc gọi tên bài toán gốc và bài toán đối ngẫu chỉ mang tính hình thức.
Nếu không xét các ràng buộc về dấu thì tương ứng với một ràng buộc của bài toán này sẽ là một
biến số của bài toán kia và ngược lại.Hay nói cách khác, số ràng buộc của bài toán này bằng số biến
của bài toán kia. Bài toán I có m ràng buộc thì bài toán Ī có m biến y € Rm, trong khi đó bài toán Ī
có n ràng buộc còn bài toán I lại có m biến, vector biến x € Rn.
Khi hàm mục tiêu trong bài toán gốc tiến đến min thì hàm mục tiêu trong bài toán đối ngẫu tiến đến
max và các ràng buộc trong bài toán đối ngẫu có dấu ≤. Ngược lại khi hàm mục tiêu trong bài toán
gốc tiến đến max thì hàm mục tiêu của bài toán đối ngẫu tiến đến min và các ràng buộc có dấu ≥.
Vector hệ số (c) của bài toán này là vector vế phải (b) trong hệ ràng buộc của bài toán kia và ngược
lại.
Ma trận hệ ràng buộc của bài toán này là ma trận chuyển vị của ma trận hệ ràng buộc của bài toán
kia.
Biểu diễn bài toán đối ngẫu dưới dạng ma trận và vector
Ma trận:
f(x) = (c,x) min
Ax = b
x≥0
φ(y) = (b,y) max
yA ≤ c
f(x) = (c,x) min
∑xjAj = b
x≥0
φ(y) = (b,y) max
(Aj , y) ≤ cj
Vector:
§2. Xây dựng bài toán đối ngẫu của bài toán tổng quát
Chúng ta biết rằng với bài toán quy hoạch tuyến tính tổng quát, chúng ta có thể dùng các biến phụ để
đưa về bài toán chính tắc. Và tương quan giữa bài toán chính tắc với bài toán tổng quát có dạng 1 – 1,
do đó có thể gọi bài toán đối ngẫu của bài toán chính tắc là bài toán đối ngẫu của bài toán tổng quát.
Xét bài toán quy hoạch tuyến tính sau:
f(x) = ∑cjxj min
∑aij xj ≥ bi
xj ≥ 0
Đưa bài toán này về dạng chính tắc bằng cách cộng thêm n biến phụ
II
II’
f(x) = ∑cjxj min
∑aij xj – xn+i = bi
xj ≥ 0 ; xn+i ≥ 0
Bây giờ xây dựng bài toán đối ngẫu của nó. Lưu ý là bài toán II’ có thêm m hệ số c n+1 … cn+m và các hệ
số này bằng 0. Ngoài ra ma trận hệ ràng buộc cũng có thêm m vector cột là các vector đơn vị (với dấu
trừ). Do đó hệ ràng buộc của bài toán đối ngẫu sẽ gồm n + m bất phương trình, trong đó m bất phương
trình sau chỉ có 1 biến số y tham gia
34
φ (y) = ∑biyi max
∑aij yi ≤ cj
- yi ≤ cn+i = 0 (i=1 ..m) hoặc đổi dấu yi ≥ 0. (i =1 .. n)
ĪĪ
Như vậy chúng ta có nhận xét là với bài toán quy hoạch tuyến tính tổng quát khi chuyển qua bài toán
đối ngẫu thì có thêm m ràng buộc về dấu đối với các biến số trong bài toán đối ngẫu.
Chúng ta gọi cặp ràng buộc gồm các bất đằng thức ở bài toán này (kể cả ràng buộc về dấu) với ràng
buộc bất đẳng thức có cùng chỉ số ở bài toán kia là một cặp ràng buộc đối ngẫu ký hiệu như sau:
xj ≥ 0 ↔ ∑aij yi ≤ cj
∑aịj xj ≥ bi ↔ yi ≥ 0
(j = 1 .. n)
(i = 1 .. m)
Đối với bài toán chính tắc thì chỉ có n cặp ràng buộc đối ngẫu tương ứng với n ràng buộc về dấu của
bài toán gốc. Còn đối với bài toán quy hoạch tuyến tính tổng quát (II) chúng ta có m+n cặp ràng buộc
đối ngẫu.
Mệnh đề: Nếu xem bài toán đối ngẫu là bài toán gốc thì bài toán gốc lại chính là bài toán đối ngẫu.
Chúng lập thành một cặp bài toán đối ngẫu và không phân biệt thứ tự.
§.3 Lược đồ tổng quát cho cặp bài toán đối ngẫu
Nhận xét là bài toán II vẫn chưa phải dạng tổng quát nhất của bài toán quy hoạch tuyến tính vì chúng ta
có giả thiết là các xj có dàng buộc về dấu. Lược đồ tổng quát sau đây sẽ mô tả cặp bài toán đối ngẫu
cho tất cả các trường hợp kể cả bài toán chính tắc:
Bài toán gốc
f(x) = Σ cj xj min (j= 1..n)
∑aij xj = bi với i € I1
∑aij xj ≥ bi với i € I2
xj – KHÔNG ràng buộc dấu ( j € J1)
xj ≥ 0 (j € J2 )
bài toán đối ngẫu
φ (y) = ∑ bi yi max (i= 1..m)
yi – KHÔNG ràng buộc dấu ( i € I1)
yi ≥ 0 (i € I2 )
∑aij yi = cj với j € J1
∑aij yi ≤ cj với j € J2
Mệnh đề 1: Một ràng buộc trong bài toán này có dấu bằng khi và chỉ khi biến số tương ứng ở bài toán
kia KHÔNG ràng buộc về dấu.
Mệnh đề 2: Một ràng buộc trong bài toán này có dấu bất đẳng thức khi và chỉ khi biến số tương ứng
của bài toán kia CÓ ràng buộc về dấu.
Ví dụ:
Viết bài toán đối ngẫu của bài toán sau:
f(x) = 7x1 - 4x2 + 5x3 min
-2x1 + 3x2 + 4x3 + 2x4
≤ 15
3x1 – 2x2
+ 3x4
= -2
x1 + 2x2 – 5x3 - x4
≥3
x1 ≥ 0, x3 ≥ 0, x4 ≤ 0
(y1)
(y2)
(y3)
35
Nhận xét: bài toán gốc có 3 ràng buộc (không kể các ràng buộc dấu) do đó bài toán đối ngẫu sẽ có 3
biến số y1, y2, y3. Với các hệ số b có sẵn, ta viết ngay được hàm mục tiêu của bài toán đối ngẫu như
sau:
φ (y) = 15y1 – 2y2 + 3y3 max
Để thành lập các ràng buộc, chúng ta áp dụng các quy tắc sau: đối với mỗi biến số xj của bài toán gốc
sẽ có một ràng buộc của bài toán đối ngẫu. Nếu biến x j không có ràng buộc dấu thì ràng buộc của bài
toán đối ngẫu là dấu bằng. Nếu biến xj ≥ 0 và φ (y) max, thì ràng buộc tương ứng ≤ cj. nếu xj ≤ 0 và
φ (y) max thì ràng buộc tương ứng là ≥ cj. Đối (với trường hợp φ (y) min thì ngược lại). Hệ số cj
của bài toán gốc sẽ là vế phải của ràng buộc. Các vector cột của hệ ràng buộc trở thành hệ số của biến
y:
x1 ≥ 0
x2 không có ràng buộc dấu
x3 ≥ 0
x4 ≤ 0
-2y1 + 3y2 + y3 ≤ 7
3y1 – y2 + 2y3 = -4
4y1 – 5y3
≤5
2y1 + 3y2 – y3 ≥ 0
(c1)
(c2)
(c3)
(c4)
Bây giờ đến các ràng buộc về dấu của biến y: Nếu trong bài toán gốc ràng buộc thứ i là dấu (=) thì biến
yi tương ứng không có ràng buộc về dấu. Nếu trong bài toán gốc ràng buộc thứ i có dấu (≤) thì ràng
buộc về dấu của biến yi là ≤ 0. Ngược lại nếu trong bài toán gốc, ràng buộc thứ i là dấu ≥ thì ràng buộc
về dấu của biến yi là ≥ 0. (Lưu ý: đối với bài toán đối ngẫu φ(y) min thì ngược lại).
Tóm lại ta có bài toán đối ngẫu tương ứng như sau:
φ (y) = 15y1 – 2y2 + 3y3 max
-2y1 + 3y2 + y3 ≤ 7
3y1 – y2 + 2y3 = -4
4y1 – 5y3
≤5
2y1 + 3y2 – y3 ≥ 0
y1 ≤ 0 ; y3 ≥ 0
Nhận xét: Với cặp bài toán đối ngẫu mà trong đó 1 bài toán là chính tắc thì bài toán kia sẽ không có
ràng buộc về dấu, và do đó chúng được gọi là cặp bài toán đối ngẫu không đối xứng. Ngược lại với cặp
bài toán đối ngẫu mà cả hai bài toán đều có các ràng buộc bất đẳng thức và có ràng buộc về dấu (bài
toán tổng quát) thì chúng được gọi là cặp bài toán đối xứng.
§3. Các tính chất và định lý của bài toán đối ngẫu
Tính chất 1: Xét cặp bài toán đối ngẫu f(x) min và φ(y) max. Với hai phương án bất kỳ x, y của
hai bài toán ta luôn có f(x) ≥ φ(y)
Chứng minh: (Ta chỉ chứng minh cho cặp bài toán không đối xứng)
Ta có ∑aij yi ≤ cj (1) và ở bài toán gốc có các ràng buộc về dấu x j ≥ 0. do vậy nếu nhân 2 vế của các bất
đẳng thức (1) với xj tương ứng thì bất đẳng thức không đổi dấu:
36
xj∑aij yi ≤ cjxj
(j = 1..n)
(2)
Cộng n bất đẳng thức (2) lại với nhau ta có:
∑xj ∑aij yi ≤ ∑cj xj
∑ ( ∑aij xj )yi ≤ f(x)
Mà ∑aijxj = bi ∑bi yi ≤ f(x) hay φ(y) ≤ f(x)
Về mặt hình học, có thể hình dung hàm f(x) là một đường cong nằm trên và hàm φ(y) là một đường
cong đối xứng nằm bên dưới. Khi ấy điểm cực tiểu của hàm f(x) sẽ tiệm cận với điểm cực đại của hàm
φ(y):
Điểm tiệm cận đó được gọi là điểm
yên ngựa. Việc khảo sát điểm yên ngựa
của các hàm kinh tế có một ý nghĩa rất
quan trọng
f(x)
φ(y)
Tính chất 2: Giả sử với hai phương án x* và y* của cặp bài toán đối ngẫu mà chúng ta có f(x*) = φ(y*)
thì hai phương án x* và y* là hai phương án tối ưu của mỗi bài toán.
Tính chất hai có thể suy ra dễ dàng từ tính chất 1.
1. Định lý 1 đối ngẫu
Nếu một trong hai bài toán của cặp bài toán đối ngẫu là giải được thì bài toán kia cũng giải được và khi
đó với mọi cặp phương án tối ưu x* và y* ta luôn có f(x*) = φ(y*).
hệ quả 1: Điều kiện cần và đủ để cặp bài toán đối ngẫu giải được là mỗi một bài toán có ít nhất một
phuơng án.
Chứng minh: Điều kiện cần là hiển nhiên vì bài toán giải được thì phải có phương án. Điều kiện đủ
được chứng minh như sau: giả sử mỗi bài toán có ít nhất một phương án là x* và y*. khi đó hàm f(x) bị
chặn dưới bởi φ(y*) và ngược lại hàm φ(y) bị chặn trên bởi f(x*). Do đó theo định lý đã phát biểu ở
phần trước; một bài toán có phương án và bị chặn thì bài toán đó giải được.
Hệ quả 2: Trong cặp bài toán đối ngẫu, điều kiện cần và đủ để một bài toán có phương án còn bài toán
kia không có phương án là hàm mục tiêu của bài toán có phương án không bị chặn trên tập phương án
của nó.
Chứng minh: Nếu một bài toán có phương án mà bài toán kia không có phương án thì theo hệ quả 1 bài
toán có phương án sẽ không giải được. Mà bài toán có phương án, không giải được thì có nghĩa là hàm
mục tiêu không bị chặn. Ngược lại nếu một bài toán có phương án và hàm mục tiêu không bị chặn thì
có nghĩa là bài toán đó không giải được. Do đó theo hệ quả một, bài toán thứ 2 có phương án sẽ vô lý.
2. Định lý 2 đối ngẫu (định lý bù yếu)
Điều kiện cần và đủ để hai phương án x và y của cặp bài toán đối ngẫu tối ưu là:
37
Nếu xj > 0 (ràng buộc dấu lỏng) thì ∑aij yi = cj (chặt); hoặc
Nếu ∑aij yi < cj (lỏng) thì xj = 0. (dàng buộc dấu chặt)
Chứng minh: (Chúng ta chỉ chứng minh cho cặp bài toán mà có ràng buộc dấu xj ≥ 0)
Giả sử x, y là hai phương án bất kỳ của cặp bài toán đối ngẫu. Theo định l đối ngẫu nếu x, y là hai
phương án tối ưu thì ta có f(x) = φ (y) hay f(x) – φ(y) = 0
∑cjxj - ∑biyi = 0. Thay bi = ∑aịj xj, chúng ta được ∑cjxj - ∑∑aịj xj yi = 0
∑(cj - ∑aij yi ) xj = 0.
(1)
Vì xj ≥ 0 nên các ràng buộc tương ứng của bài toán đối ngẫu có dạng ∑aij yi ≤ cj Do đó hai thừa số của
công thức 1 đều lớn hơn hoặc bằng 0.
Nếu xj > 0 thì để (1) xảy ra ta phải có cj - ∑aij yi = 0 hay ∑aij yi = cj.
Nếu ∑aij yi = cj thì cj - ∑aij yi = 0 do đó để (1) xảy ra khi và chỉ khi xj = 0.
Lưu ý: hai ràng buộc mà chúng ta xét trong định lý trên là một cặp ràng buộc đối ngẫu và do đó định lý
2 đối ngẫu có thể phát biểu một cách tổng quát như sau:
“Điều kiện cần và đủ để hai phương án x và y của cặp bài toán đối ngẫu tối ưu là: trong các cặp ràng
buộc đối ngẫu, nếu một ràng buộc xảy ra với dẫu bất đẳng thức thực sự (thoả mãn lỏng) thì ràng buộc
đối ngẫu của nó xảy ra với dấu “=” (thoả mãn chặt)
Hệ quả về tập phương án tối ưu
Từ định lý 2 đối ngẫu, chúng ta có thể suy ra một hệ quả mà cho phép chúng ta xác định được tập
phương án tối ưu của một bài toán quy hoạch tuyến tính. Hệ quả như sau:
Nếu một ràng buộc là lỏng đối với một phương án tối ưu của bài toán này thì ràng buộc đối ngẫu của
nó phải được thoả mãn chặt với mọi phương án tối ưu của bài toán kia.
Như vậy để tìm tập phương án tối ưu của bài toán quy hoạch tuyến tính, ta tìm một phương án tối ưu
của bài toán đối ngẫu của nó, lấy ra một các ràng buộc lỏng của phương án đó, tìm các ràng buộc đối
ngẫu tương ứng, và cho các ràng buộc đó là dấu bằng. Giải hệ phương trình tuyến tính này, tìm ra tập
nghiệm của nó thì đó chính là tập phương án tối ưu của bài toán đã cho.
Nhận xét:
1- Trong cặp bài toán đối ngẫu, nếu phương án cực biên tối ưu của bài toán này là không suy biến thì
bài toán kia có một phương án tối ưu duy nhất, chính là nghiệm của hệ phương trình crame hình
thành từ các ràng buộc chặt của bài toán.
2- Trong trường hợp tổng quát nếu x* là phương án cực biên tối ưu của bài toán quy hoạch tuyến tính
và cơ sở của nó là J thì nghiệm của hệ phương trình (Aj , y) = cj sẽ là phương án cực biên của bài
toán đối ngẫu.
Hệ quả 2:
38
Cho một bài toán quy hoạch tuyến tính và có x0 là một phương án thoả mãn chặt mọi ràng buộc. Nếu
bài toán giải được thì x0 là phương án tối ưu và khi ấy mọi phương án bất kỳ của bài toán đối ngẫu đều
tối ưu.
Chứng minh: Thật vậy, theo định lý 1 đối ngẫu nếu bài toán là giải được thì bài toán đối ngẫu có
phương án. Giả sử y là một phương án bất kỳ của bài toán đối ngẫu, khi đó với một ràng buộc lỏng bất
kỳ của phương án y thì ràng buộc đối ngẫu của nó cũng thoả mãn chặt với phương án x. Do đó x và y là
hai phương án tối ưu theo định lý bù yếu.
Vì phương án y là bất kỳ nên mọi phương án của bài toán đối ngẫu đều tối ưu.
Hệ quả 3:
Cho bài toán quy hoạch tuyến tính f(x) = ( c, x ) min với ràng buộc Ax = b. Chứng tỏ rằng nếu bài
toán giải được thì mọi phương án của nó và của bài toán đối ngẫu đều tối ưu.
Chứng minh: Từ bài toán trên chúng ta viết được bài toán đối ngẫu ở dạng:
φ (y) = (b, y) max
yA = c
Với giả thiết bài toán giải được, thì theo định lý 1 đối ngẫu cả hai bài toán đều có phương án. Giả sử x
và y là hai phương án bất kỳ chúng ta có
f(x) = (c, x) = (yA, x) = (y, Ax) = (y, b) = (b,y) = φ(y)
Như vậy theo tính chất 2 của bài toán đối ngẫu ta có x và y là hai phương án tối ưu.
§4. Ứng dụng bài toán đối ngẫu
Từ các tính chất, các định lý và hệ quả đã phát biểu ở trên, chúng ta có thể ứng dụng để giải các bài
toán quy hoạch tuyến tính một cách đơn giản và hiệu quả.
1. Quy trình khảo sát tính tối ƣu của một phƣơng án bất kỳ
Cho một phương án x bất kỳ của bài toán quy hoạch tuyến tính. Chúng ta xây dựng bài toán đối ngẫu
của nó. Sau đó chúng ta giả sử rằng x là phương án tối ưu, khi đó theo định lý bù yếu, với một phương
án tối ưu y bất kỳ của bài toán đối ngẫu phải thoả mãn chặt các ràng buộc đối ngẫu của các ràng buộc
mà x thoả mãn lỏng. Viết các phương trình ràng buộc này ra thành một hệ phương trình và giải hệ
phương trình đó.
Nếu hệ vô nghiệm điều giả sử của chúng ta là sai, x không phải là phương án tối ưu.
Nếu hệ có nghiệm, ta thử các nghiệm này vào các ràng buộc còn lại trong bài toán đối ngẫu và xét hai
trường hợp sau:
Mọi nghiệm đều không thoả mãn hết các ràng buộc còn lại các nghiệm này không phải là
phương án của bài toán đối ngẫu điều giả sử là sai x không phải là phương án tối ưu.
Có một nghiệm y* nào đó thoả mãn được các ràng buộc còn lại y* là phương án của bài toán đối
ngẫu. Do đó theo định lý bù yếu, x và y là hai phương án tối ưu.
2. Quy trình xác định tập hợp phƣơng án tối ƣu
39
Với một bài toán quy hoạch tuyến tính, nếu cho trước một phương án x* thì chúng ta có thể khảo sát
tính tối ưu của phương án x*, đồng thời xác định được tập hợp các phương án tối ưu của bài toán đối
ngẫu theo quy trình a.
Từ một phương án tối ưu của bài toán đối ngẫu, chúng ta lại có thể suy ngược ra hệ phương trình cho
các phương án tối ưu của bài toán ban đầu. Giải hệ phương trình đó, chúng ta xác định được tập
phương án tối ưu của bài toán đã cho. Tất nhiên x* cũng phải là phương án tối ưu.
Ví dụ áp dụng:
Cho bài toán
f(x) = 7x1 + 6x2 -12x3 + x4 max
2x1 – 2x2 - 3x3 + 2x4 = 8
(1)
3x2 + 2x3 – 2x4 ≤ -1
(2)
2x1
- 3x3 + x4 =10
(3)
xj ≥ 0 với mọi j
Và một vector x0 = (0, 6, 0, 10). Phân tích tính chất của vector x0 đối với bài toán đã cho. Xác định tập
hợp các phương án tối ưu của bài toán đối ngẫu và của bài toán gốc. chỉ ra một phương án tối ưu nhưng
không cực biên của bài toán gốc.
Bước 1: thử tính chất x0
Ta có x0 thoả mãn chặt 2 ràng buộc dấu ngoài ra nó còn thoả mãn chặt ràng buộc thứ 1 và thứ 3. Ta viết
ma trận hệ ràng buộc chặt như sau
2 -2 -3 2
2 0 -3 1
1 0 0 0
0 0 1 0
Biến đổi ma trận này ta được hệ độc lập tuyến tính vậy x0 là một phương án cực biên không suy biến
của bài toán đã cho.
Bước 2: viết bài toán đối ngẫu (II)
φ (y) = 8y1 – y2 + 10y3 min
x1≥ 0
x2≥ 0
x3≥ 0
x4≥ 0
(2)
2y1
+ 2y3
-2y1 + 3y2
-3y1 + 2y2 - 3y3
2y1 - 2y2 + y3
y2 ≥ 0
≥7
≥6
≥ -12
≥1
(a)
(b)
(c)
(d)
Bước 3: Dựa vào bài toán đối ngẫu chứng minh tính tối ưu của x0 từ đó xác định tập phương án tối ưu
của bài toán đối ngẫu:
Giả sử x0 là phương án tối ưu, khi đó theo định lý bù yếu những ràng buộc nào mà x0 thoả mãn lỏng thì
ràng buộc đối ngẫu của nó trong bài toán đối ngẫu sẽ được một phương án tối ưu y0 nào đó thoả mãn
chặt
Ở đây x0 thoả mãn lỏng 3 ràng buộc đó là x2 = 6 > 0; x4 = 10 > 0 và ràng buộc (2) do vậy nếu y0 là một
phương án tối ưu của bài toán II thì các thành phần của nó phải thoả mãn
40
-2y1 + 3y2 = 6
2y1 - 2y2 + y3 = 1
y2 = 0
Từ hệ phương trình trên ta tìm được một nghiệm duy nhất là y0 = (-3, 0, 7) Thay y0 vào các ràng buộc
của bài toán đối ngẫu ta thấy y0 cũng thoả mãn do đó y0 là một phương án.
Ta lại có f(x0) = 46 = φ(y0) do đó theo định lý 1 đối ngẫu y0 và x0 là các phương án tối ưu và hơn nữa
do x0 là không suy biến nên y0 là phương án tối ưu duy nhất.
Bước 4: Từ y0 xác định tập phương án tối ưu của bài toán gốc:
Ta thấy y0 thoả mãn chặt ràng buộc về dấu và 3 ràng buộc (b), (c), (d). Còn ràng buộc (a) thì nó thoả
mãn lỏng. Do đó theo định lý bù yếu, tập hợp các phương án tối ưu của bài toán gốc phải thoả mãn chặt
ràng buộc dấu tương đương tức là x1 = 0. Kết hợp với hai ràng buộc chặt đã có của bài toán gốc ta có
hệ phương trình
2x1 – 2x2 - 3x3 + 2x4 = 8
2x1
- 3x3 + x4 =10
x1 = 0
(1)
(3)
Từ hệ trên chúng ra rút ra một hệ nghiệm (lấy x4 làm ẩn tự do) như sau:
x1 = 0
x2 = 1 + x4/2
x3 = x4/3 – 10/3
x4 ≥ 0
Thay các giá trị này vào các ràng buộc lỏng còn lại
3x2 + 2x3 – 2x4 ≤ -1
x3 ≥ 0
x2 ≥ 0
x4 ≤ 16
x4 ≥ 10
Ta tìm được miền xác định của x là các vector (0, 1 + x4/2, x4/3 – 10/3, x4) với x4 nằm trong khoảng từ
10 đến 16. Đây chính là tập hợp các phương án tối ưu của bài toán gốc. Với các giá trị x4 = 10 hoặc 16,
ta thu được phương án tối ưu cực biên. Còn lại các giá trị khác của x4 cho ta các phương án tối ưu
không cực biên. Chẳng hạn lấy x4 = 12 ta có một phương án tối ưu không cực biên là x* = (0, 7, 2/3,
12)
41
TÓM TẮT KHÁI NIỆM CẦN THIẾT
1. Hệ vector phụ thuộc tuyến tính:
- tồn tại các hệ số αj (j= 1..m) trong đó có ít nhất một αj khác 0, thoả mãn công thức: Σαj xj =
0 (j = 1..m)
- Có ít nhất một vector có thể biểu diễn tuyến tính qua các vector còn lại
- Có ít nhất một hệ con phụ thuộc tuyến tính
2. Hệ vector độc lập tuyến tính
- Đẳng thức Σαj xj = 0 (j = 1..m) xảy ra khi và chỉ khi mọi αj = 0.
- Mọi vector trong hệ đều không thể biểu diễn tuyến tính qua các vector còn lại
- Mọi hệ con của hệ độc lập tuyến tính đều độc lập tuyến tính
3. Tổ hợp tuyến tính, biểu diễn tuyến tính
-
Cho một hệ m vector n chiều {xj} (j = 1..m) nếu y là một vector n chiều thoả mãn đẳng thức
y = Σαj x j (j =1..m) trong đó có ít nhất một αj khác 0, thì y được gọi là tổ hợp tuyến tính của
các vector xj hay còn gọi là y được biểu diễn tuyến tính qua các vector xj.
4. Hệ vector độc lập tuyến tính cực đại, hạng và cơ sở của hệ vector
-
-
Cho trước một hệ vector A, ta gọi một hệ con độc lập tuyến tính B của hệ vector đó là độc
lập tuyến tính cực đại nếu khi thêm vào bất cứ một vector nào khác của hệ A cũng làm cho
hệ B mất đi tính chất độc lập tuyến tính của nó.
Số vector của một các con độc lập tuyến tính cực đại đều bằng nhau và bằng một hằng số
được gọi là hạng của hệ vector.
Trong không gian Rn các hệ vector độc lập tuyến tính cực đại được gọi là các cơ sở của
không gian Rn.
3. Vector hệ số phân tích
- Một vector bất kỳ của Rn bao giờ cũng biểu diễn tuyến tính được qua một cơ sở U bất kỳ
của Rn theo công thức x = Σαj uj và khi ấy các hệ số {αj }cũng tạo thành một vector trong Rn
và {αj } được gọi là vector hệ số phân tích của x qua cơ sở U.
5. Vector đơn vị của không gian Rn
e1 = {1, 0, 0 … 0}
e2 = {0, 1, 0 … 0}
….
en = {0, 0, 0 … n}
6. Hạng của ma trận
- Giả sử A là một ma trận có m hàng và n cột, khi đó hạng của hệ n vector cột (ký hiệu là
{Aj} j = 1..n ) được gọi là hạng của ma trận
7. Ma trận không suy biến và ma trận nghịch đảo
- Một ma trận vuông cấp n có hạng đúng bằng n được gọi là một ma trận không suy biến.
- Cho một ma trận không suy biến A, có thể tìm được một ma trận A-1 sao cho tích của hai
ma trận này bằng ma trận đơn vị. A-1 được gọi là ma trận nghịch đảo của ma trận A
42
8. Ma trận hệ số của một hệ phương trình tuyến tính là ma trận được tạo thành từ các hệ số của hệ
phương trình đó
9. Hệ phương trình Crame: là hệ phương trình tuyến tính có nghiệm duy nhất.
10. Hàm mục tiêu: là hàm số cần tìm cực trị trong bài toán quy hoạch tuyến tính, hàm mục tiêu có dạng
f(x) = ∑ ci xi hoặc viết dưới dạng tích vô hướng: f(x) = (c, x). Trong đó c được gọi là vector hệ số
11. Ma trận điều kiện (ma trận ràng buộc): là ma trận của hệ phương trình/bất phương trình điều kiện
của hàm mục tiêu. Hệ phương trình/bất phương trình này còn được gọi là hệ ràng buộc.
12. Phương án của bài toán: là một vector thoả mãn các phương trình hoặc bất phương trình của hệ
ràng buộc.
13. Phương án tối ưu: là phương án mà tại đó hàm f(x) đạt cực trị
14. Phương án cực biên: là phương án thoả mãn chặt n ràng buộc độc lập tuyến tính hay nói cụ thể hơn:
nó thoả mãn n ràng buộc của bài toán với dấu bằng (chặt) và n ràng buộc này là hệ n phương trình
độc lập tuyến tính. (n là chiều của vector nghiệm)
15. Một phương án cực biên thoả mãn chặt đúng n ràng buộc độc lập tuyến tính được gọi là một
phương án cực biên không suy biến.
16. Một phương án cực biên thoả mãn chặt n ràng buộc độc lập tuyến tính đồng thời thoả mãn chặt
thêm r ràng buộc khác nữa thì gọi là phương án cực biên suy biến
17. Bài toán giải được là bài toán có ít nhất một phương án tối ưu. Bài toán không giải được là bài toán
không có phương án nào hoặc có tập phương án nhưng trị số hàm mục tiêu không bị chặn trên tập
phương án.
18. Bài toán quy hoạch tuyến tính dạng chính tắc là bài toán có dạng
f(x) = (c,x) min hoặc max
Ax = b
x≥0
19. Bài toán quy hoạch tuyến tính dạng chuẩn là bài toán chính tắc trong đó:
b≥0
ma trận hệ ràng buộc có dạng:
1 0 ….. 0 a1,m+1 ….. a1,n
A = 0 1 ….. 0 a2,m+1 …. a2,n
……
0 0 ….. 1 an,m+1 …. am,n
20. Cơ sở của phương án cực biên của bài toán chính tắc: Một phương án cực biên x0 sẽ có tối đa là m
thành phần dương. Ta gọi một tập hợp gồm m vector cột của hệ ràng buộc là một cơ sở của của
phương án cực biên x0 đó nếu nó chứa tất cả các vector cột ứng với các thành phần dương của
43
phương án x0 và ký hiệu là J0. Giả sử x0 có j thành phần dương là x01, …. , x0j ( j ≤ m ) thì khi đó
hệ J0 gồm m vector trong đó có chứa các vector A1 .. Aj được gọi là cơ sở của vector x0.
Như vậy nếu j = m (có nghĩa là x0 có đúng m thành phần dương) thì x0 là phương án cực biên
không suy biến và có một cơ sở duy nhất. Còn nếu j < m thì x0 có nhiều cơ sở khác nhau hình
thành từ việc lấy j vector {Aj} ghép thêm với m-j vector bất kỳ còn lại trong ma trận hệ ràng buộc.
20. Chỉ số cơ sở, thành phần cơ sở: Để thuận tiện trong tính toán, người ta cũng ký hiệu một cách quy
ước tập chỉ số J gồm chỉ số của các vector cơ sở của phương án cực biên x 0 là cơ sở của phương án
đó. Và các thành phần tương ứng với các chỉ số j € J của phương án x được gọi là các thành phần
cơ sở. Các thành phần xk còn lại (với k không thuộc J) được gọi là các thành phần phi cơ sở. Như
vậy, các thành phần phi cơ sở của phương án x0 thì đương nhiên bằng 0. Còn các thành phần cơ sở
của phương án x0 thì có thể dương hoặc bằng 0.
21. Hệ số phân tích xjk :
Nếu đem phân tích các vector cột Aj qua cơ sở J0 của phương án cực biên x0 thì ta sẽ có các vector
hệ số phân tích tương ứng của Aj. Với j € J0 thì vector hệ số phân tích sẽ là vector đơn vị. Còn với
các Ak mà k không thuộc cơ sở thì khi phân tích qua cơ sở chúng ta sẽ được một vector hệ số phân
tích Xk = {xjk} trong đó j = 1.. m.
22. Ước lượng ∆k :
Nếu ta lấy tích vô hướng của vector hệ số phân tích Xk của vector Ak bất kỳ với vector hệ số Cj
hình thành từ các hệ số cj (j € J) trong hàm mục tiêu, rổi trừ đi hệ số ck tương ứng cũng trong hàm
mục tiêu thì ta được một đại lượng ∆k là một số: ∆k = (c, Xk) – ck = ∑cjxjk – ck .
Đại lượng ∆k này được gọi là ước lượng ∆k của thành phần xk từ cơ sở x0. Nó có một tính chất rất lý
thú là với các thành phần cơ sở, nó có giá trị bằng 0. Với các thành phần phi cơ sở nó có thể dương,
âm hay bằng 0. Dấu của nó cho biết phương thức biến đổi thành phần tương ứng trong x 0 để có một
phương án mới. Chính vì tính chất này mà ∆k đóng một vai trò quan trọng trong phương pháp đơn
hình.
23. Phương zk
Phương zk về mặt hình học là một đoạn thẳng định hướng, đặc trưng cho chiều biến đổi của một
vector. Trong bài toán quy hoạch tuyến tính, phương zk là một vector được xây dựng từ hệ số phân
tích của vector Ak qua cơ sở J0 của phương án x0 như sau:
zkj = -xjk
zkj = 0
zkk = 1
với mọi j € J0
với mọi j không thuộc J0
(Vị trí zkk được gọi là trục của phép biến đổi và thành phần zkk được gọi là thành phần trục.)
Trong bảng đơn hình, phương zk sẽ ứng với một ước lượng ∆k. nếu ∆k = 0, phương zk được gọi là
phương không đổi. nếu ∆k âm, phương zk là phương tăng còn nếu ∆k dương thì phương zk là
phương giảm.
44
Bản chất của việc biến đổi theo phương zk thực chất là việc biến đổi vector hệ số phân tích Xk của
Ak trong bảng đơn hình trở thành vector đơn vị để đưa nó vào cơ sở. Trong đó, phần tử trục sẽ biến
thành 1.
24. Để biến đổi phương án x theo phương zk để tìm ra phương án tổt hơn, chúng ta còn cần đến một
khái niệm nữa đó là bước đi θ. θ là một số dương mà khi biến đổi phương án x 0 theo phương zk ta
dùng công thức: x’ = x0 + θzk. (1) và ý nghĩa của nó như sau: Nếu ta cộng vào vector x 0 vector zk
sau khi đã nhân với hệ số θ thì trị của hàm mục tiêu sẽ giảm đi một đại lượng θ∆k:
f(x’) = f(x0) θ∆k.
Từ công thức (1) và điều kiện x’ là phương án (x’j ≥0) ta sẽ có θ ≤ x0j / xjk. Và ta có 2 kết luận quan
trọng về dấu của xjk: Nếu mọi xjk đều nhỏ thua hoặc bằng 0 với j € J0 thì phương zk là phương vô
hạn. Nếu tồn tại một xjk dương thì phương zk là phương hữu hạn và θ = min(x0j / xjk) (j €J0) là bước
đi lớn nhất.
24. Từ các khái niệm 22, 23 và 24 trên chúng ta rút ra 5 tình huống sau:
Nếu ∆k < 0 thì zk là phương tăng
Nếu ∆k = 0 thì zk là phương không đổi
Nếu ∆k > 0 thì zk là phương giảm
Nếu tồn tại xjk dương thì phương zk là phương hữu hạn
Nếu không có xjk nào dương thì thì phương zk là phương vô hạn
45
[...]... Việc xây dựng bài toán đối ngẫu không những có ý nghĩa kinh tế to lớn mà còn đưa ra những phương pháp, những cách tiếp cận mới để giải bài toán quy hoạch tuyến tính Và đôi khi nhờ áp dụng các tính chất của bài toán đối ngẫu, việc giải bài toán quy hoạch tuyến tính trở nên rất đơn giản §1 Xây dựng bài toán đối ngẫu của bài toán chính tắc Xét bài toán quy hoạch tuyến tính dạng chính tắc sau: I f(x) =... ràng buộc độc lập tuyến tính thì được gọi là một phương án cực biên suy biến §2 Các bài toán quy hoạch tuyến tính đặc biệt 1 Bài toán dạng chính tắc Định nghĩa: Bài toán quy hoạch tuyến tính dạng chính tắc là bài toán quy hoạch tuyến tính mà hệ ràng buộc là hệ phương trình và các thành phần của vector nghiệm đều không âm: f(x) = ( c,x ) Ax = b xj ≥ 0 j = 1 n Hàm mục tiêu Hệ phương trình ràng buộc Hệ ràng... trên) trên tập phương án thì bài toán có phương án tối ưu (hay còn gọi là bài toán giải đuợc) (phát biểu dưới dạng công thức: tồn tại một hằng số α sao cho f(x) ≥ α với mọi phương án x) Nếu bài toán quy hoạch tuyến tính có phương án cực biên và trị của hàm mục tiêu bị chặn dưới (hoặc trên) trên tập phương án thì bài toán có phương án cực biên tối ưu Hay nói cách khác, nếu bài toán quy hoạch tuyến tính có... của hệ ràng buộc để chính tắc về dạng chuẩn c Đối với bài toán quy hoạch tuyến tính dạng tổng quát Trước đây chúng ta đã có một mệnh đề là mọi bài toán quy hoạch tuyến tính đều có thể đưa về bài toán dạng chính tắc và từ phương án cực biên của bài toán này có thể suy ra phương án cực biên của bài toán kia Như vậy đối với một bài toán quy hoạch tổng quát để có thể giải được bằng phương pháp đơn hình... chứng minh thêm là đây là phương án cực biên tối ưu duy nhất 3 Tính hữu hạn của số phƣơng án cực biên “Số phương án cực biên của mọi bài toán quy hoặc tuyến tính đều hữu hạn” Thật vậy có thể phân bài toán quy hoạch tuyến tính về hai dạng: dạng thứ nhất có số ràng buộc ít hơn số biến (m < n) khi đó bài toán không có phương án cực biên (vì không thể thoả mãn chặt n ràng buộc trong khi chỉ có m ràng buộc)... độc lập tuyến tính nên nó là phương án cực biên Hệ quả: Với bài toán dạng chuẩn, nếu ta có bi > 0 với mọi i = 1 m thì phương án cực biên x 0 nói trên là phương án cực biên không suy biến Trong bài toán dạng chuẩn, các biến x1 … xm được gọi là các biến cô lập, các biến xm+1 … xn được gọi là các biến không cô lập hay còn gọi là các biến số tự do §3 Các tính chất chung của bài toán quy hoạch tuyến tính 1... án cực biên: Nếu bài toán quy hoạch tuyến tính có phương án và hạng của ma trận hệ ràng buộc bằng n thì bài toán có phương án cực biên Đối với bài toán dạng chính tắc, ma trận hệ ràng buộc là ma trận A/E nên hạng của nó luôn bằng n Vì thế nếu bài toán chính tắc có phương án thì đương nhiên nó có phương án cực biên 2 Sự tồn tại của phƣơng án tối ƣu Nếu bài toán quy hoạch tuyến tính có phương án và trị... bài toán quy hoạch tuyến tính đều có một bài toán khác cũng sử dụng những thông số của bài toán này nhưng lại có mục tiêu đối nghịch hoàn toàn Chẳng hạn bài toán tính giá thành sản phẩm, đánh giá giá trị xã hội của sản phẩm là bài toán đối nghịch với bài toán tính toán chi phí sản xuất: Khi sản xuất sản phẩm người ta cố gắng làm sao để chi phí đạt tối thi u (hàm mục tiêu tiến đến min) nhưng khi tính toán... mặt hình học, tập phương án là tập hợp các điểm nằm trên phương trình ràng buộc này Phương án cực biên: Một phương án thoả mãn chặt n ràng buộc độc lập tuyến tính được gọi là một phương án cực biên Một phương án thoả mãn chặt đúng n ràng buộc độc lập tuyến tính được gọi là phương án cực biên không suy biến Một phương án thoả mãn chặt hơn n ràng buộc trong đó có n ràng buộc độc lập tuyến tính thì được... với bài toán quy hoạch tuyến tính tổng quát (II) chúng ta có m+n cặp ràng buộc đối ngẫu Mệnh đề: Nếu xem bài toán đối ngẫu là bài toán gốc thì bài toán gốc lại chính là bài toán đối ngẫu Chúng lập thành một cặp bài toán đối ngẫu và không phân biệt thứ tự §.3 Lược đồ tổng quát cho cặp bài toán đối ngẫu Nhận xét là bài toán II vẫn chưa phải dạng tổng quát nhất của bài toán quy hoạch tuyến tính vì chúng ... giải toán quy hoạch tuyến tính Và nhờ áp dụng tính chất toán đối ngẫu, việc giải toán quy hoạch tuyến tính trở nên đơn giản §1 Xây dựng toán đối ngẫu toán tắc Xét toán quy hoạch tuyến tính dạng... lập tuyến tính vector hệ biểu diễn tuyến tính qua vector lại Một hệ vector phụ thuộc tuyến tính hệ vector khác chứa phụ thuộc tuyến tính Một hệ vector độc lập tuyến tính hệ độc lập tuyến tính Hệ... ngẫu Từ tính chất, định lý hệ phát biểu trên, ứng dụng để giải toán quy hoạch tuyến tính cách đơn giản hiệu Quy trình khảo sát tính tối ƣu phƣơng án Cho phương án x toán quy hoạch tuyến tính Chúng