Tối -u hoá là một lĩnh vực toán học nghiên cứu lý thuyết về thuật toán giải
các bài toán cực trị. Nó là một phần kiến thức không thể thiếu đ-ợc cho những
ng-ời làm việc trong các lĩnh vực ứng dụng của khoahọc và kỹ thuật. Trong lý
thuyết tối -u, một trong những lớp bài toán đầu tiên đ-ợc nghiên cứu trọn vẹn cả
về ph-ơng diện lý thuyết lẫn thuật toán là bài toánquy hoạch tuyến tính. Ngay từ
khi ra đời, quy hoạch tuyến tính đQ chiếm một vị trí hết sức quan trọng; nó là
môn toán ứng dụng rất cần thiết đối với sinh viên thuộc nhiều ngành học khác
nhau. Các thuật toán giải bài toán quy hoạch tuyến tính không những giúp giải
quyết các bài toán quy hoạch tuyến tính tổng quát cỡ lớn mà nó còn là điểm xuất
phát quan trọng trong việc nghiên cứu lý thuyết giải các bài toán tối -u tổng
quát.
Trong lý thuyết tối -u ta gặp một lớp bài toán mà đối t-ợng của nó không
thể chia cắt nhỏ tuỳ ý, trong lớp bài toán này tất cả (hoặc một bộ phận) các biến
chỉ nhận giá trị nguyên, đó là bài toán quy hoạch nguyên. Trong bài toán quy
hoạch nguyên, nếu hàm mục tiêu và hệ ràng buộc là các hàm tuyến tính thì ta có
bài toán quy hoạch nguyên tuyến tính. Đối với các bài toán quy hoạch nguyên
tuyến tính, các thuật toán giải bài toán quy hoạch tuyến tính tổng quát cơ bản
hầu hết không thể sử dụng đ-ợc nữa do yêu cầu về tính nguyên của các biến số.
Năm 1958 Gomory (nhà toán học ng-ời mỹ) đQ công bố thuật toán cắt nối tiếng
để giải bài toán quy hoạch nguyên tuyến tính mở đầucho sự ra đời và phát triển
của lý thuyết bài toán quy hoạch nguyên. Tiếp đó, một số kết quả nghiên cứu về
tập nghiệm và lời giải cho lớp bài toán này lần l-ợt đ-ợc ra đời. Tuy xuất hiện
sau thuật toán đơn hình giải bài toán quy hoạch tuyến tính gần ba thập kỷ nh-ng
các thuật toán giải bài toán quy hoạch nguyên tuyếntính đQ có những đóng góp
không nhỏ cho lĩnh vực nghiên cứu lý thuyết tối -u tổng quát.
Bài toán quy hoạch nguyên tuyến tính là phần kiến thức khá mới mẻ đối
với sinh viên s- phạm toán. Với mong muốn khai thácsâu kiến thức môn quy
hoạch tuyến tính nói riêng; mở rộng tầm hiểu biết của bản thân về tri thức toán
- 3 -nói chung, việc nghiên cứu lý thuyết bài toán quy hoạch nguyên tuyến tính là hết
sức cần thiết.
Vì những lý do trên chúng tôi chọn "Về bài toán quy hoạch nguyên
tuyến tính" làm đề tài nghiên cứu
75 trang |
Chia sẻ: oanh_nt | Lượt xem: 3085 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đồ án Về bài toán quy hoạch nguyên tuyến tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
- 1 -
Mục Lục
Nội dung Trang
Mở đầu 2
Ch−ơng 1: Các kiến thức bổ trợ
1.1. Bài toán quy hoạch tuyến tính tổng quát 5
1.2. Thuật toán đơn hình giải bài toán quy hoạch tuyến tính 7
1.3. Thuật toán đơn hình đối ngẫu giải bài toán quy hoạch tuyến tính chính tắc 9
Ch−ơng 2: Bài toán quy hoạch nguyên tuyến tính
2.1. Bài toán tối −u rời rạc 19
2.2. Một số thuật toán giải bài toán quy hoạch nguyên tuyến tính 26
Ch−ơng 3: Bài tập vận dụng
3.1. Bài tập vận dụng thuật toán cắt Gomory 50
3.2. Bài tập vận dụng thuật toán Land - Doig 58
3.3. Bài tập đ−a bài toán về bài toán cái túi để giải 64
Tài liệu tham khảo 74
- 2 -
Lời Nói đầu
1. Lí do chọn đề tài
Tối −u hoá là một lĩnh vực toán học nghiên cứu lý thuyết về thuật toán giải
các bài toán cực trị. Nó là một phần kiến thức không thể thiếu đ−ợc cho những
ng−ời làm việc trong các lĩnh vực ứng dụng của khoa học và kỹ thuật. Trong lý
thuyết tối −u, một trong những lớp bài toán đầu tiên đ−ợc nghiên cứu trọn vẹn cả
về ph−ơng diện lý thuyết lẫn thuật toán là bài toán quy hoạch tuyến tính. Ngay từ
khi ra đời, quy hoạch tuyến tính đQ chiếm một vị trí hết sức quan trọng; nó là
môn toán ứng dụng rất cần thiết đối với sinh viên thuộc nhiều ngành học khác
nhau. Các thuật toán giải bài toán quy hoạch tuyến tính không những giúp giải
quyết các bài toán quy hoạch tuyến tính tổng quát cỡ lớn mà nó còn là điểm xuất
phát quan trọng trong việc nghiên cứu lý thuyết giải các bài toán tối −u tổng
quát.
Trong lý thuyết tối −u ta gặp một lớp bài toán mà đối t−ợng của nó không
thể chia cắt nhỏ tuỳ ý, trong lớp bài toán này tất cả (hoặc một bộ phận) các biến
chỉ nhận giá trị nguyên, đó là bài toán quy hoạch nguyên. Trong bài toán quy
hoạch nguyên, nếu hàm mục tiêu và hệ ràng buộc là các hàm tuyến tính thì ta có
bài toán quy hoạch nguyên tuyến tính. Đối với các bài toán quy hoạch nguyên
tuyến tính, các thuật toán giải bài toán quy hoạch tuyến tính tổng quát cơ bản
hầu hết không thể sử dụng đ−ợc nữa do yêu cầu về tính nguyên của các biến số.
Năm 1958 Gomory (nhà toán học ng−ời mỹ) đQ công bố thuật toán cắt nối tiếng
để giải bài toán quy hoạch nguyên tuyến tính mở đầu cho sự ra đời và phát triển
của lý thuyết bài toán quy hoạch nguyên. Tiếp đó, một số kết quả nghiên cứu về
tập nghiệm và lời giải cho lớp bài toán này lần l−ợt đ−ợc ra đời. Tuy xuất hiện
sau thuật toán đơn hình giải bài toán quy hoạch tuyến tính gần ba thập kỷ nh−ng
các thuật toán giải bài toán quy hoạch nguyên tuyến tính đQ có những đóng góp
không nhỏ cho lĩnh vực nghiên cứu lý thuyết tối −u tổng quát.
Bài toán quy hoạch nguyên tuyến tính là phần kiến thức khá mới mẻ đối
với sinh viên s− phạm toán. Với mong muốn khai thác sâu kiến thức môn quy
hoạch tuyến tính nói riêng; mở rộng tầm hiểu biết của bản thân về tri thức toán
- 3 -
nói chung, việc nghiên cứu lý thuyết bài toán quy hoạch nguyên tuyến tính là hết
sức cần thiết.
Vì những lý do trên chúng tôi chọn "Về bài toán quy hoạch nguyên
tuyến tính" làm đề tài nghiên cứu.
2. Mục đích nghiên cứu
Hệ thống lại một cách chi tiết các vấn đề lý thuyết về bài toán quy hoạch
nguyên tuyến tính; xây dựng hệ thống bài tập vận dụng, để từ đó thấy đ−ợc tầm
quan trọng và tính thiết thực của lý thuyết bài toán quy hoạch nguyên tuyến tính
đối với các lĩnh vực khoa học kỹ thuật, các hoạt động thực tiễn của đời sống xQ
hội.
3. Nhiệm vụ nghiên cứu
• Nghiên cứu các kiến thức liên quan đến bài toán quy hoạch tuyến tính
tổng quát, một số thuật toán giải bài toán quy hoạch tuyến tính.
• Nghiên cứu các ph−ơng pháp giải bài toán quy hoạch nguyên tuyến tính.
• Nghiên cứu một số bài tập vận dụng ph−ơng pháp giải bài toán quy hoạch
nguyên tuyến tính.
4. Đối t−ợng và phạm vi nghiên cứu
Đối t−ợng nghiên cứu: Lý thuyết tối −u hoá.
Phạm vi nghiên cứu: Nghiên cứu lý thuyết bài toán quy hoạch nguyên tuyến tính.
5. Ph−ơng pháp nghiên cứu
• Ph−ơng pháp nghiên cứu lý luận: Đọc các tài liệu về môn quy hoạch tuyến
tính, các tài liệu liên quan đến tối −u hoá, các khoá luận tốt nghiệp về quy
hoạch tuyến tính của các khoá tr−ớc ở tr−ờng Đại học Hùng V−ơng.
• Ph−ơng pháp lấy ý kiến chuyên gia: Tham khảo ý kiến của giảng viên
h−ớng dẫn và các giảng viên dạy tối −u hoá; quy hoạch tuyến tính của
tr−ờng.
• Ph−ơng pháp tổng kết kinh nghiệm: Tổng kết kinh nghiệm của bản thân
qua quá trình học học phần quy hoạch tuyến tính và của các bạn sinh viên
đQ học tối −u hóa của các lớp s− phạm và các lớp quản trị kinh doanh
trong tr−ờng.
- 4 -
6. ý nghĩa khoa học và thực tiễn
Sản phẩm khoa học: Hệ thống lại một số kiến thức của lý thuyết tối −u tuyến
tính, giới thiệu một số thuật toán giải bài toán quy hoạch nguyên tuyến tính, xây
dựng hệ thống bài tập vận dụng lý thuyết đQ xây dựng.
Sản phẩm thực tiễn: Khóa luận là tài liệu tham khảo cho sinh viên toán, tin học
và sinh viên các ngành kinh tế, quản trị kinh doanh.
7. Bố cục khoá luận
Khóa luận gồm 74 trang, ngoài phần mục lục, mở đầu, kết luận và tài liệu
tham khảo nội dung chính của khoá luận bao gồm 3 ch−ơng
Ch−ơng 1. Các kiến thức bổ trợ
1.1. Bài toán quy hoạch nguyên tuyến tính tổng quát
1.2. Thuật toán đơn hình giải bài toán quy hoạch tuyến tính
1.3. Thuật toán đơn hình đối ngẫu giải bài toán quy hoạch tuyến tính
chính tắc
Ch−ơng 2. Bài toán quy hoạch nguyên tuyến tính
2.1. Bài toán tối −u rời rạc
2.2. Một số thuật toán giải bài toán quy hoạch nguyên tuyến tính
• Thuật toán cắt của Gomory
• Ph−ơng pháp nhánh cận (Thuật toán Land - Doig)
• Ph−ơng pháp ph−ơng trình truy toán của quy hoạch động giải bài
toán cái túi
Ch−ơng 3. Bài tập vận dụng
3.1. Bài tập vận dụng thuật toán cắt của Gomory
3.2. Bài tập vận dụng thuật toán Land - Doig
3.3. Bài tập đ−a bài toán về bài toán cái túi để giải
- 5 -
CHƯƠNG 1
CáC KIếN THứC Bổ TRợ
1.1. Bài toán quy hoạch tuyến tính tổng quát
1.1.1. Bài toán quy hoạch tuyến tính tổng quát
Tìm vectơ 1 2( , ,...., )nx x x x= sao cho hàm f(x) =
1
n
j j
j
c x
=
∑ → min với các điều
kiện:
1
1
2
1
3
1
1
2
3
, (1.1)
, (1.2)
, (1.3)
0, (1.4)
, (1.5)
0, (1.6)
n
ij j i
j
n
ij j i
j
n
ij j i
j
j
j
j
a x b i I
a x b i I
a x b i I
x j J
x R j J
x j J
=
=
=
≤ ∈
= ∈
≥ ∈
≥ ∈
∈ ∈
≤ ∈
∑
∑
∑
Với I1 ⊂ I; I2 ⊂ I; I3 ⊂ I; I={ 1,.., m}; I1∪ I2 ∪I3 = I; Ii ∩ Ik =ỉ; i ≠ k; i, k = 1,2,3.
J1⊂ J; J2 ⊂ J; J3 ⊂ J; J = { 1,.., n}; J = J1 ∪ J2 ∪J3, Ji ∩Jk = ỉ; I ≠ k; i,k = 1,2,3.
bi, cj, aij là các hằng số cho tr−ớc.
Trong bài toán trên:
• f đ−ợc gọi là hàm mục tiêu.
• Mỗi hệ thức ở (1.1), (1.2), (1.3), (1.4), (1.5), (1.6) gọi là một ràng buộc.
• Mỗi ràng buộc (1.1), (1.2), (1.3) gọi là ràng buộc c−ỡng bức (hay cơ bản).
• Ràng buộc (1.4), (1.5), (1.6) gọi là ràng buộc tự do (hay ràng buộc dấu).
+ Mỗi vectơ 1 2( , ,...., )nx x x x= ∈ Rn thoả mQn mọi ràng buộc của bài toán
gọi là một ph−ơng án. Tập hợp tất cả các ph−ơng án (ký hiệu D) gọi là miền ràng
- 6 -
buộc hay miền chấp nhận đ−ợc. Ph−ơng án làm cho hàm mục tiêu đạt cực tiểu
hoặc cực đại đ−ợc gọi là ph−ơng án tối −u hay một lời giải của bài toán đQ cho.
+ Giải bài toán quy hoạch tuyến tính là tìm ph−ơng án tối −u của bài toán
(có thể là ph−ơng án tối −u duy nhất hoặc vô số ph−ơng án tối −u) hoặc chứng tỏ
bài toán vô nghiệm.
1.1.2. Một số kí hiệu quy −ớc
a) Nếu A là ma trận cỡ (m,n) thì Ai =(ai1,ai2,...,ain) là vectơ dòng (ma trận
dòng) thứ i (i = 1,2,...., m) của A; Aj = (a1j, a2j,..,amj) là vectơ cột (ma trận
cột) thứ j (j = 1,2,...,n) của A.
b) At là ma trận chuyển vị của A.
c) Nếu A = (aij) và B = (bij) là hai ma trận cùng kiểu thì bất đẳng thức ma trận
A ≥ B đ−ợc hiểu là aij ≥ bij với ∀ i,j.
Đặc biệt với vectơ (ma trận) 1 2( , ,...., )nx x x x= thì x ≥ 0 đ−ợc hiểu là xj ≥ 0 ∀ j.
d) Mỗi vectơ đ−ợc xem nh− ma trận cột trong các phép tính ma trận ( nếu
không nói gì thêm hoặc không có quy −ớc gì khác).
e) Biểu thức tích vô h−ớng của hai vectơ 1 2( , ,...., )nx x x x= ; y = (y1, y2, ..., yn)
đ−ợc viết: (x, y) =
1
n
j j
j
x y
=
∑
g) Nếu xem c và x là hai ma trận cột thì ctx =
1
n
j j
j
c x
=
∑ là ma trận cấp 1 ( ct là
ma trận chuyển vị của c).
Với những quy −ớc nh− trên bài toán quy hoạch tuyến tính tổng quát đ−ợc
viết gọn nh− sau:
Tìm vectơ 1 2( , ,...., )nx x x x= ∈ Rn thoả mQn:
f(x) = ctx → min.
- 7 -
1
2
1
2
,
,
0,
,
i
i
j
j
A x b i I
A x b i I
x j J
x R j J
≥ ∈
= ∈
≥ ∈
∈ ∈
Trong đó A = (aij) là hai ma trận cỡ (m,n).
1.1.3. Dạng chính tắc và dạng chuẩn tắc của bài toán quy hoạch tuyến tính
Dạng chuẩn tắc:
f(x) = ctx→min
0,j
Ax b
x j J
≥
≥ ∈
Dạng chính tắc:
f(x) = ctx → min
0,j
Ax b
x j J
=
≥ ∈
1.2. Thuật toán đơn hình giải bài toán quy hoạch tuyến tính
Xét bài toán quy hoạch tuyến tính chính tắc (bài toán I)
1
( ) min
n
j j
j
f x c x
=
= →∑
1
0, 1,
n
ij j i
j
j
a x b
x j n
=
=
≥ =
∑
(I)
- 8 -
• B−ớc xuất phát: Tìm một ph−ơng án cực biên
0x và cơ sở
{ };j BB A j J= ∈ t−ơng ứng, trong đó { }/ jBJ j J A B= ∈ ∈ . Tìm các hệ
số khai triển ija và các −ớc l−ợng j∆ ( ija : hệ số khai triển vectơ Ai qua các
vectơ Aj).
• B−ớc 1:Kiểm tra dấu hiệu tối −u:
a) Nếu 0j∆ ≤ ∀ j ∈ J thì
0x là ph−ơng án tối −u. Thuật toán kết thúc.
b) Nếu ∃ j∆ > 0 thì chuyển sang b−ớc hai.
• B−ớc 2: Kiểm tra dấu hiệu hàm mục tiêu giảm vô hạn. Với mỗi j ∉ BJ mà
j∆ > 0 thì kiểm các hệ số khai triển ija của cột jA t−ơng ứng.
a) Nếu tồn tại j∆ > 0 mà tất cả ija ≤ 0 ∀ j ∈ J thì kết luận hàm mục
tiêu giảm vô hạn trên miền ràng buộc. Bài toán không có lời giải
hữu hạn. Thuật toán kết thúc.
b) Nếu với mỗi j ∉ BJ mà j∆ > 0 đều tồn tại ít nhất một hệ số 0ija >
thì tiến hành tìm ph−ơng án cực biên mới tốt hơn với cơ sở
1 ( \ )BJ J r s= ∪ theo quy tắc sau:
• B−ớc 3:
- Tìm cột xoay: Tìm { }0,s j Bmax j J∆ = ∆ > ∉
Cột sA gọi là cột xoay (cột đ−a vào cơ sở ).
- Tìm dòng xoay: tìm
0 0
min , 0r i ij
rs ij
x x
a
a a
θ
= = >
Dòng
r
A gọi là dòng xoay.
- 9 -
Phần tử nằm trên giao của dòng xoay và cột xoay của bảng đơn hình đ−ợc
gọi là phần tử xoay.
• B−ớc 4: Thực hiện phép biến đổi đơn hình chuyển từ ph−ơng án cơ sở
chấp nhận đ−ợc x sang ph−ơng án cơ sở chấp nhận đ−ợc x : Bảng đơn hình
t−ơng ứng với x (gọi tắt là bảng mới) có thể thu đ−ợc từ bảng đơn hình
t−ơng ứng với x (gọi tắt là bảng cũ) theo các quy tắc biến đổi sau đây:
a) Các phần tử ở vị trí dòng xoay trong bảng mới ( rja ) bằng các phần
tử t−ơng ứng trong bảng cũ chia cho phần tử xoay: ,
rj
rj
rs
a
a j J
a
= ∈
b) Các phần tử ở vị trí cột xoay trong bảng mới, ngoại trừ phần tử nằm
trên vị trí phần tử xoay bằng 1, còn tất cả là bằng 0.
c) Các phần tử cần tính còn lại trong bảng mới ( , )jija ∆ đ−ợc tính từ
các phần tử t−ơng ứng trong bảng cũ theo các công thức sau:
rj
ij ij is
rs
a
a a a
a
= − , ( )Bi J i r∈ ≠ , ( )Bj J j s∉ ≠
rj s
j j
rs
a
a
∆
∆ = ∆ −
1.3. Thuật toán đơn hình đối ngẫu giải bài toán quy hoạch tuyến tính chính tắc
1.3.1. Cơ sở chấp nhận đ−ợc đối ngẫu
Xét bài toán quy hoạch tuyến tính dạng chính tắc (P) và bài toán đối ngẫu (Q).
(P) ( ) mintf x c x= → (Q) ( )g y by max= →
0
Ax b
x
=
≥
tA y c
y
≤
∈ R
Giả thiết rằng rankA = m. Giả sử { };jB A j J= ∈ là một hệ gồm m vectơ
cột độc lập tuyến tính của ma trận A. Ta gọi hệ vectơ này là cơ sở của ma trận A.
- 10 -
Ký hiệu { }1 2, ,..., nN A A A= \ B. Ph−ơng án cơ sở (xB, xN) của bài toán (P) t−ơng
ứng với cơ sở B thu đ−ợc bằng cách giải hệ ph−ơng trình tuyến tính xN = 0, ABxB
= b.
Định nghĩa : Ta gọi B là cơ sở chấp nhận đ−ợc gốc nếu ph−ơng án cơ sở
t−ơng ứng với nó là ph−ơng án chấp nhận đ−ợc của bài toán gốc, (tức là nếu
1 0B Bx A b
−
= ≥ ). Ta gọi ph−ơng án cơ sở đối ngẫu t−ơng ứng với cơ sở B là vectơ y
thu đ−ợc bằng cách giải hệ ph−ơng trình tuyến tính
t
B BA y c= (tức là 1( )tB By A c−= )
Cơ sở B đ−ợc gọi là cơ sở chấp nhận đ−ợc đối ngẫu nếu ph−ơng án cơ sở đối
ngẫu ứng với nó là ph−ơng án chấp nhận đ−ợc của bài toán đối ngẫu.
Nếu ph−ơng án cơ sở t−ơng ứng với B là ph−ơng án tối −u thì B sẽ đ−ợc
gọi là cơ sở tối −u.
Nh− vậy nếu B là cơ sở chấp nhận đ−ợc đối ngẫu thì ph−ơng án cơ sở đối
ngẫu t−ơng ứng với nó
1( )tB By A c−= phải thoả mQn tất cả các ràng buộc của bài
toán đối ngẫu tA y c≤ hay 1( ) 0t tB BA A c c− − ≤ (1.7)
Dễ thấy nếu B là cơ sở chấp nhận đ−ợc gốc, thì điều kiện (1.7) chính là
tiêu chuẩn tối −u. Nh− vậy, cơ sở B sẽ là tối −u nếu nh− nó vừa là chấp nhận
đ−ợc gốc vừa là chấp nhận đ−ợc đối ngẫu.
Nhận xét
• Thuật toán đơn hình gốc là bắt đầu từ một cơ sở chấp nhận đ−ợc gốc, sau
một số hữu hạn lần chuyển cơ sở sẽ đi đến cơ sở tối −u.
• Thuật toán đơn hình đối ngẫu lại bắt đầu từ một cơ sở chấp nhận đối ngẫu
nh−ng ch−a phải chấp nhận đ−ợc gốc, ta tiến hành dịch chuyển sang các
cơ sở chấp nhận đ−ợc đối ngẫu mới cho đến khi gặp đ−ợc cơ sở tối −u thì
dừng lại.
1.3.2. Thuật toán đơn hình đối ngẫu khi đã biết cơ sở chấp nhận đ−ợc đối ngẫu
- 11 -
Xét bài toán quy hoạch tuyến tính dạng chính tắc.
f(x) = ctx→ min
0
A x b
x
=
≥
Giả sử B là cơ sở chấp nhận đ−ợc đối ngẫu. Không giảm tổng quát ta coi B
= (A1,A2,....,Am).
Ta lập bảng đơn hình ứng với cơ sở B của bài toán gốc.
Cơ
sở
cj cơ sở Giả
ph−ơng án
c1
A1
......
......
cj
Aj
.....
.....
cn
An
A1
A2
.....
Am
c1
c2
.....
cm
1b
2b
.....
mb
1 ja
2 ja
......
mja
∆ j∆
Bảng 1
Trong đó:
1
1 2( , ,..., )'mb b b b B b−= =
1
1 , 2( ,...., ) , 1,j jj j mjA a a a B A j n−= = =
1 jj B jc B A c
−∆ = − ; 1,j n=
Cột giả ph−ơng án có thể chứa các thành phần âm vì B ch−a chắc đQ là
một cơ sở chấp nhận đ−ợc gốc.
- 12 -
Do B là một cơ sở chấp nhận đ−ợc đối ngẫu nên 0j∆ ≤ ∀ 1,j n=
Các b−ớc của thủ tục đơn hình đối ngẫu.
B−ớc 1: Kiểm tra tiêu chuẩn tối −u. Cơ sở đang xét sẽ là tối −u nếu mọi
thành phần ib , 1,i m= của cột giả ph−ơng án đều không âm vì khi đó cơ sở đang
xét sẽ chấp nhận đ−ợc gốc và vì thế nó là tối −u.
• Nếu 0ib ≥ ∀ 1,i m= thì giả ph−ơng án (xB, xN) là một ph−ơng án tối −u.
Thuật toán kết thúc.
• Nếu ∃ i, 1,i m= mà ib < 0 thì ta tìm rb = min{ ib , 1,i m= }.
Nếu có nhiều chỉ số cùng đạt cực tiểu thì chọn r là một chỉ số tuỳ ý trong số đó.
B−ớc 2: Kiểm tra điều kiện để tập ph−ơng án của bài toán là không rỗng: nếu có
1,i m= mà ib < 0 thì trên dòng i phải tồn tại ít nhất một phần tử 0ija < .
• Nếu có dòng ứng với ib < 0 (i = 1,2,...,m) mà ija ≥ 0 ∀ 1,j n= . Khi đó
bài toán gốc (P) không có ph−ơng án.
Thật vậy. Giả sử (P) có ph−ơng án, tức là ∃ x ∈ Rn thoả mQn Ax = b, x≥ 0
hay
1
, ( 1, )
n
i j j i
j
a x b i m
=
= =∑ (*)
(*) không thể xảy ra vì ija ≥ 0, xj ≥ 0 ( 1,j n= ) còn bi < 0. Vậy bài toán (P)
không có ph−ơng án.
• Nếu trên mỗi dòng ứng với ib < 0 đều tồn tại ít nhất một phần tử
0ija ≤ . Khi đó ta tiến hành một b−ớc lặp đơn hình đối ngẫu để
chuyển sang một cơ sở chấp nhận đ−ợc đối ngẫu mới. Giả sử đQ chọn
dòng xoay r. Ta tìm cột đ−a vào cơ sở thay cho cột Ar. Cột đ−a vào
thay cho Ar phải đảm bảo sao cho cơ sở mới vẫn là cơ sở chấp nhận
- 13 -
đ−ợc đối ngẫu. Giả sử cột As đ−ợc đ−a vào thay cho cột Ar, khi đó
phần tử trục ars và sau khi thực hiện tính toán đổi cơ sở thì các phần tử
ở dòng −ớc l−ợng ứng với cơ sở mới sẽ là ( )rjj s
rs
a
a
∆ − ∆
Do đó muốn cơ sở mới vẫn là chấp nhận đ−ợc đối ngẫu ta phải chọn chỉ số
s ứng với min ; 0js rj
rs rj
a
a a
∆ ∆
= <
. Cột As gọi là cột xoay.
Sau khi đQ xác định đ−ợc dòng xoay, cột xoay ta tiến hành các tính toán
trong phép biến đổi đơn hình giống nh− đQ làm trong bài toán gốc.
1.3.3. Thuật toán đơn hình đối ngẫu khi ch−a biết cơ sở xuất phát chấp
nhận đ−ợc đối ngẫu
Xét bài toán quy hoạch tuyến tính dạng chính tắc sau:
f(x) = ctx → min
0
A x b
x
=
≥
Giả sử cơ sở chấp nhận đ−ợc đối ngẫu là ch−a biết. Tuy vậy ta có thể tìm
đ−ợc cơ sở B của ma trận A. Không giảm tổng quát ta coi rằng B = {A1, A2,...,
Am}. Giả sử cơ sở B không phải là cơ sở chấp nhận đ−ợc đối ngẫu (có thể nó
cũng không chấp nhận đ−ợc gốc).
Đ−a thêm vào một biến giả x0 ≥ 0 với hệ số hàm mục tiêu c0 = 0, và thêm
vào hệ ràng buộc của bài toán xuất phát một ràng buộc giả sau:
x0 + xm +1 + ...........+ xn = M
trong đó (xm+1,......, xn) là vectơ các biến phi cơ sở, còn M là một số d−ơng lớn
hơn bất kỳ một số cụ thể nào cần so sánh với nó. Bài toán thu đ−ợc ta sẽ gọi là
- 14 -
bài toán mở rộng. Đối với bài toán mở rộng ta có một cơ sở của nó là
0 1( , ,...., )mB A A A= ⌢ ⌢ ⌢⌢
Ta xây dựng bảng đơn hình t−ơng ứng với cơ sở B
⌢
của bài toán mở rộng.
Ph−ơng án c0 c1 ....... cj ....... cn Cơ
sở B
⌢
cj cơ
sở
M 0A
⌢
1A
⌢ ....... jA
⌢
....... mA
⌢
0A
⌢
1A
⌢
.....
mA
⌢
c0
c1
.....
cm
0
1b
.....
mb
1
0
.....
0
1
1ja
.....
mja
1
1na
......
mna
0∆ 1∆ ...... j∆ n∆
Chú ý rằng, khi tính giá trị các thành phần của cột ph−ơng án ta viết nó
d−ới dạng i ib b M+
⌢ ⌢
. Khi đó trong bảng đơn hình cột ph−ơng án đ−ợc tách ra làm
hai cột, một cột ghi hệ số ib
⌢
của M, còn cột kia ghi hệ số tự do ib
⌢
.
Giả sử s∆ = max { j∆ ; 1,j n= }. Do B
⌢
không phải là cơ sở chấp nhận đ−ợc
đối ngẫu của bài toán nên s∆ > 0. Thực hiện một phép biến đổi đơn hình với phần
tử xoay a0s (nghĩa là đ−a biến xs vào cơ sở còn đ−a x0 ra khỏi cơ sở) ta sẽ đi đến
bảng đơn hình mới mà trong đó tất cả các phần tử của dòng −ớc l−ợng j∆ ; 1,j n=
đều là không d−ơng tức là thu đ−ợc bảng đơn hình đối ngẫu với cơ sở chấp nhận
đ−ợc đối ngẫu nên ta có thể tiến hành thủ tục đơn hình đối ngẫu với cơ sở chấp
nhận đ−ợc đối ngẫu để giải bài toán mở rộng.
Thuật toán đơn hình đối ngẫu giải bài toán mở rộng sẽ kết thúc ở một
trong các tr−ờng hợp sau.
- 15 -
1) Bài toán mở rộng không có ph−ơng án. Khi đó bài toán xuất phát cũng
không có ph−ơng án. Thật vậy, nếu bài toán xuất phát có ph−ơng án chấp
nhận đ−ợc x = (x1, x2,...., xn) thì rõ ràng x = (x0, x1,...., xn) với x0 = M -
xm+1 -..........- xn cũng là một ph−ơng án của bài toán mở rộng.
2) Bài toán mở rộng có ph−ơng án tối −u 0 1( , ,...., )nx x x x= và x0 là biến cơ
sở. Trong tr−ờng hợp này hàm mục tiêu của bài toán không phụ thuộc vào
M, do đó 1( ,...., )nx x là ph−ơng án tối −u của bài toán ban đầu.
3) Bài toán mở rộng có ph−ơng án tối −u 0 1( , ,...., )nx x x x= và x0 không là
biến cơ sở. Trong tr−ờng hợp này các biến cơ sở sẽ phụ thuộc vào M. Có
hai khả năng xảy ra
• Nếu giá trị hàm mục tiêu của bài toán mở rộng phụ thuộc vào M thì
khi M → ∞ giá trị hàm mục tiêu sẽ dần đến ∞.Trong tr−ờng hợp
này bài toán xuất phát có ph−ơng án chấp nhận đ−ợc nh−ng hàm
mục tiêu không bị chặn d−ới nên bài toán không có lời giải.
• Nếu giá trị hàm mục tiêu của bài toán mở rộng không phụ thuộc
vào M thì bài toán xuất phát có ph−ơng án tối −u và có thể chấp
nhận đ−ợc nó bằng cách bỏ 0x và giảm dần giá trị M cho đến khi có
một trong các 1x , 2x ,...., nx trở thành 0.
1.3.4. áp dụng thuật toán đơn hình đối ngẫu để giải bài toán quy hoạch
tuyến tính với số ràng buộc tăng dần
Xét bài toán quy hoạch tuyến tính (I):
Giả sử ta đQ giải bài toán (I) bằng thuật toán đơn hình và thu đ−ợc ph−ơng
án tối −u cơ sở *x với cơ sở tối −u B. Không giảm tổng quát ta có thể coi rằng
{ }1 2, ,..., mB A A A= . Ta có bảng đơn hình tối −u là bảng 1 phần 1.3.2.
- 16 -
Bây giờ bổ sung vào hệ ràng buộc của bài toán một ph−ơng trình:
1, 1
1
(1.8)
n
m j j m
j
a x b+ +
=
≤∑
Nếu *x thoả mQn ràng buộc ( 1.8) thì nó vẫn là ph−ơng án tối −u của bài
toán có ràng buộc bổ sung này. Giả sử *x không thoả mQn ràng buộc bổ sung,
tức là:
*
1, 1
1
n
m j mj
j
a bx+ +
=
>∑ (1.9)
Vấn đề đặt ra: Liệu ta có thể sử dụng ph−ơng án tối −