1 PHƯƠNG PHÁP NÓN XOAY VÀ THUẬT TOÁN NÓN XOAY TUYẾN TÍNH GIẢI BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VỚI HÀM MỤC TIÊU CÓ HỆ SỐ KHÔNG ÂM .... Thuật toán nón xoay giải bài toán quy hoạch tuyến tính
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC
Trang 3LỜI CẢM ƠN
Để hoàn thành luận văn này, tôi đã nhận được sự động viên đóng góp nhiệt tình từ các thầy cô giáo của trường Đại học Khoa học – Đại học Thái Nguyên, tôi xin gửi lời cảm ơn chân thành tới các thầy cô giáo Đặc biệt tôi gửi lời cảm ơn sâu sắc tới TS Nguyễn Anh Tuấn là người thầy đã đề xuất các hướng nghiên cứu, động viên thường xuyên và tận tâm chỉ bảo nghiêm túc về chuyên môn trong suốt thời gian qua để tôi hoàn thành luận văn này Tôi cũng xin bày tỏ lòng biết ơn đối với gia đình, bạn bè và người thân đã động viên khuyến khích và giúp đỡ tôi trong suốt quá trình hoàn thành luận văn này
Tôi xin chân thành cảm ơn!
Thái Nguyên, tháng 08 năm 2014
Trang 4MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
MỞ ĐẦU iv
Chương 1 1
PHƯƠNG PHÁP NÓN XOAY VÀ THUẬT TOÁN NÓN XOAY TUYẾN TÍNH GIẢI BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VỚI HÀM MỤC TIÊU CÓ HỆ SỐ KHÔNG ÂM 1
1.1 Bài toán quy hoạch tuyến tính 1
1.2 Khái niệm về nón đơn hình tuyến tính, cạnh và phương của nón và Nón – min (nón cực tiểu) 2
1.2.1 Khái niệm về nón đơn hình tuyến tính 2
1.2.2 Khái niệm về cạnh của nón đơn hình 2
1.2.3 Khái niệm nón xoay M(r,s) sinh ra từ nón M 5
1.2.4 §Þnh nghÜa Nón – min (Nón cực tiểu) 7
1.3 Phương pháp nón xoay tuyến tính 8
1.3.1 Thuật toán nón xoay tuyến tính 9
1.3.2 Bảng lặp giải bài toán quy hoạch tuyến tính bởi thuật toán nón xoay tuyến tính và ví dụ minh hoạ 12
1.4 Thuật toán nón xoay giải bài toán quy hoạch tuyến tính dạng chuẩn với hàm mục tiêu có hệ số không âm 17
1.4.1 Bài toán quy hoạch tuyến tính dạng chuẩn với hàm mục tiêu có hệ số không âm 17
1.4.2 Xây dựng nón – min (nón cực tiểu) xuất phát 18
1.4.3 Thuật toán nón xoay tuyến tính LD giải bài toán quy hoạch tuyến tính với hàm mục tiêu có hệ số không âm 18
Trang 51.4.4 Giải bài toán quy hoạch tuyến tính dạng chuẩn với hàm mục tiêu có hệ
số không âm bằng thuật toán nón xoay LD dưới dạng bảng nón xoay thu gọn
và các ví dụ minh hoạ 19 1.4.5 Minh hoạ hình học thuật toán nón xoay tuyến tính LD 20 Chương 2 26
ỨNG DỤNG THUẬT TOÁN NÓN XOAY LD GIẢI MỘT VÀI LỚP BÀI TOÁN
QUY HOẠCH TUYẾN TÍNH THƯỜNG GẶP 26 2.1 Bài toán quy hoạch tuyến tính dạng chuẩn có tổng các biến bị chặn trên 26 2.1.1 Bài toán 26 2.1.2 Ví dụ minh họa 33
2.2 Thuật toán nón xoay LD giải bài toán quy hoạch tuyến tính dạng chính tắc
khi biết một cơ sở đối ngẫu 36 KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48
Trang 6MỞ ĐẦU
Bài toán quy hoạch tuyến tính có hai dạng cơ bản là dạng chuẩn và dạng chính tắc, hai dạng này có quan hệ mật thiết với nhau Bài toán quy hoạch tuyến tính dạng chuẩn là bài toán có miền ràng buộc là một hệ bất phương trình tuyến tính với các biến không âm, còn 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 có miền ràng buộc là một hệ phương trình tuyến tính với các biến của nó có dấu không âm
Thuật toán đơn hình và đơn hình đối ngẫu do George Dantzig và Lemke đề xuất vào những năm 1947 và 1954 đã giải bài toán quy hoạch tuyến tính ở dạng chính tắc Nhiều bài toán quy hoạch tuyến tính trên thực tế thường bắt đầu ở dạng chuẩn tắc, do vậy luận văn này trình bày phương pháp nón xoay giải trực tiếp bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính, từ đó xây dựng thuật toán nón xoay tuyến tính giải bài toán quy hoạch tuyến tính dạng chuẩn với hàm mục tiêu có hệ số không âm và một vài ứng dụng của nó
Luận văn gồm 2 chương:
Chương 1 trình bày phương pháp nón xoay và thuật toán nón xoay tuyến tính giải bài toán quy hoạch tuyến tính với hàm mục tiêu có hệ số không âm với cơ sở xuất phát ban đầu là gốc tọa độ O(0,0,…,0)
Chương 2 trình bày ứng dụng của thuật toán nón xoay tuyến tính trình bày trong chương 1 giải cho hai lớp bài toán quy hoạch tuyến tính thường gặp sau khi đã đưa hai lớp bài toán này về dạng bài toán quy hoạch tuyến tính với hàm mục tiêu có hệ
số không âm
Các thuật toán nón xoay trình bày trong luận văn này được xây dựng chi tiết, các bước của thuật toán được trình bày sao cho chúng ta có thể dễ dàng lập trình chuyển sang các chương trình trên máy tính bằng các ngôn ngữ như Pascal, C, Java,
Luận văn này hoàn thành dựa trên các tài liệu [5] [6], và các tài liệu có trong phần tài liệu tham khảo
Tác giả
Trang 7Bùi Thị Hồng Hạnh
Trang 8Chương 1 PHƯƠNG PHÁP NÓN XOAY VÀ THUẬT TOÁN NÓN XOAY TUYẾN TÍNH GIẢI BÀI TOÁN QUY HOẠCH TUYẾN TÍNH VỚI HÀM MỤC TIÊU
CÓ HỆ SỐ KHÔNG ÂM
Nội dung chương này, chúng tôi trình bày một phương pháp giải bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính thuộc lược đồ xấp xỉ ngoài (vì nó xuất phát giải từ đỉnh của một nón đơn hình tuyến tính ngoài miền chấp nhận được) gọi là thuật toán nón xoay tuyến tính [5] Từ đó trình bày một trường hợp riêng biến thể của nó giải bài toán quy hoạch tuyến tính dạng chuẩn khi hàm mục tiêu có các hệ số không âm, đây là lớp bài toán thường hay gặp trong thực tế
1.1 Bài toán quy hoạch tuyến tính
nói chung bao giờ cũng có ràng buộc về dấu của biến x
Trang 91.2 Khỏi niệm về nún đơn hỡnh tuyến tớnh, cạnh và phương của nún và Nún – min (nún cực tiểu)
1.2.1 Khỏi niệm về nún đơn hỡnh tuyến tớnh
Xột tập M đ-ợc xác định từ n ràng buộc tuyến tính nào đó của P L , cụ thể là: M:={x Rn : <A i , x>+ b i 0 i I} (1.1) trong đó I:= i i1, , ,2 i n {1, 2, , m}, /I/ = n (ở đõy /I/ là số đo hay là số phần tử của tập I) và A i với i I là một hệ độc lập tuyến tính Tập M gọi là nún đơn hỡnh tuyến tớnh của hệ ràng buộc P L với đỉnh x M là nghiệm (đ-ợc xác định) thoả món hệ
sau:
Hệ vộc tơ A i
với i I được gọi là cơ sở của nún M, hay cũn gọi là cơ sở của đỉnh
x M Tập I gọi là tập chỉ số của cơ sở của nún M
1.2.2 Khỏi niệm về cạnh của nún đơn hỡnh
Với mỗi i I, tập hợp cỏc điểm x R nthỏa món hệ:
<A r , x>+ b r = 0, r I\{i} (1.3) gọi là đường thẳng i của nún M
Trang 10Đỉnh x M của nón M có thể xác định từ (1.2), trong trường hợp biết hệ véc tơ chỉ
Trang 11Râ rµng khi J + (x M ) = th× x M chÝnh lµ mét ®iÓm chÊp nhËn cña bµi to¸n (L)
Chóng ta gi¶ sö J + (x M ) Víi mçi s J + (x M ), chóng ta ký hiÖu nh- sau:
Trang 12Chứng minh (xem [5])
Định lý 1.3 [5]
s
Định lý này cho ta kết luận rằng, nếu bài toỏn (L) có ít nhất một điểm chấp nhận
đ-ợc thì s
1.2.3 Khỏi niệm nún xoay M(r,s) sinh ra từ nún M
(1.1) và J + (x M )≠ỉ, khi đú với mỗi r s
s
A x b (1.12) xác định một nón đơn hỡnh tuyến tớnh gọi là nún xoay M(r,s), đỉnh là:
Tập chỉ số cơ sở mới I(r,s) nhận đ-ợc từ tập chỉ số cơ sở cũ I bằng cách loại chỉ số r
ra khỏi tập cơ sở cũ, đ-a chỉ số s vào thay Ta núi nún xoay M(r,s) sinh ra từ nún M
Bổ đề 1.1
Hệ A i
với i I(r,s) là một hệ độc lập tuyến tớnh
Chứng minh
Thật vậy, nếu ngƣợc lại hệ A i với i I(r,s) là phụ thuộc tuyến tớnh thỡ dễ dàng
suy ra tồn tại biểu diễn:
Trang 13Điều này mõu thuẫn với <A s , r
M
I )
Bổ đề này cho ta thấy nún xoay M(r,s) vẫn là một nún đơn hỡnh
Các véc tơ chỉ ph-ơng z i M r s( , ), i I(r,s) của nón xoay mới M(r,s) đ-ợc xác
định từ (1.4) với tập chỉ số cơ sở mới I(r,s), hoặc xác định từ một trong cỏc công thức đơn giản dưới đõy theo cỏc x i , x r , z M i , z r M (xỏc đinh từ (1.4), (1.9), (1.10)) với i,
r thuộc I là tập chỉ số của cơ sở cũ:
0
r ( , )
, (1.14)
1
,
s r M
,
, (1.15),
1
,
s r M
xỏc định theo (1.4), cỏc giao điểm xi
xỏc định theo (1.9), (1.10) Khi đú nún xoay
Trang 14{s}\{r}) và cỏc vộc tơ chỉ phương của cỏc cạnh tương ứng là z i M r s( , ) được xỏc định bởi (1.15)
1.2.4 Định nghĩa Nún – min (Nún cực tiểu)
Nón đơn hình tuyến tính M với đỉnh là x M đ-ợc gọi là nón - min của hàm f(x)=<C,x> của bài toỏn (L) nếu f(x M ) f(x) , x M
Ta nói M là một nón - min của bài toán (L) khi M là một nún – min của hàm mục tiờu f của bài toỏn (L)
, với véc tơ chỉ phương của cạnh i là i
Hệ quả 1.1
M là một nún - min của hàm f(x)=<C,x> khi và chỉ khi:
<C, i M
I : <C,x v > =min
s
i I {<C,x i >}}
Thay x v và x i xỏc định từ cụng thức (1.9) vào trờn ta cú:
Trang 15Chøng minh (xem [5])
Đỉnh M r s( , )
véc tơ chỉ phương các cạnh của nón xoay M(r,s):
( , )
( , ) ( , )
1.3 Phương pháp nón xoay tuyến tính
Một áp dụng hay nói đúng hơn là một biến thể của phương pháp nón – min giải bài toán quy hoạch gần lồi-gần lõm đề nghị trong sách “Quy hoạch gần lồi-gần lõm ứng dụng vào quy hoạch tuyến tính” (Nxb Khoa học và kỹ thuật năm 2011) ([6]) trình bày dưới đây sẽ cho chủng ta một phương pháp giải trực tiếp bài toán quy hoạch tuyến tính dạng chuẩn với cơ sở xuất phát từ đỉnh một nón-min của hàm mục tiêu gọi là phương pháp nón xoay tuyến tính được thể hiện dưới dạng thuật toán chi tiết
Trang 16Việc biết một nún-min của bài toỏn núi chung khụng khú khăn gỡ Chẳng hạn
trong trường hợp miền ràng buộc P L của bài toỏn (L) là đa diện, ta cú thể dễ dàng
đơn hỡnh này cú giỏ trị của hàm mục tiờu nhỏ nhất tại đú so với cỏc giỏ trị của hàm mục tiờu tại cỏc đỉnh cũn lại của chúp thỡ nún chứa chúp đơn hỡnh tương ứng với
đỉnh này chớnh là một nún-min của bài toỏn (L)
Xột bài toỏn (L) trong trường hợp biết một nún – min của bài toỏn (L) í tưởng của thuật toỏn nún xoay tuyến tớnh giải bài toỏn (L) như sau:
Xuất phỏt từ một nún-min M ban đầu của hàm mục tiờu bài toỏn, chỳng ta
kiểm tra xem đỉnh của nú cú thuộc miền chấp nhận của bài toỏn khụng (tức là đỉnh này cú thoả món tất cả cỏc ràng buộc khụng), nếu đỉnh này thuộc miền chấp nhận
thỡ nú là một lời giải của bài toỏn (L) Ngược lại ta xõy dựng nún xoay mới M(r,s) (vẫn là nún-min) từ nún cũ M của bài toỏn (L) và lặp lại quỏ trỡnh kiểm tra nún xoay mới này tương tự như đối với nún M, quỏ trỡnh này được thực hiện cho đến khi đỉnh của nún xoay mới M(r,s) thuộc miền chấp nhận của bài toỏn (L) ( khi miền ràng buộc của bài toỏn (L) cú phương ỏn) hoặc sẽ phỏt hiện ra miền ràng buộc của bài toỏn (L) là rỗng
1.3.1 Thuật toỏn nún xoay tuyến tớnh
z (i I 0 )
với tập chỉ số cơ sở , đỉnh và các véc tơ chỉ ph-ơng của cỏc cạnh của nún M k t-ơng
ứng là I k := i i1k, , ,2k i n k ; x k = M k
k
i M
Xác định tập J + (x k ) theo (1.6): J (x k) : j 1, 2, ,m : A x j, k b j 0
Trang 171 NÕu J + (x k ) = th× dõng l¹i x k chÝnh lµ mét lêi gi¶i cña bµi to¸n (L),
2 NÕu J + (x k ) , ta chọn chỉ số đƣa vào cơ sở theo một trong hai cách sau:
Ta chọn s k là một chỉ sô tuỳ ý thuộc J +
(x k ) hoặc ta chọn s k =min{j:j J + (x k )} (gọi là quy tắc chọn min) (1.19) hoặc s k = max{j: j J + (x k ) ( gọi là quy tắc chọn max)
Vµ ta x©y dùng nón xoay M k+1 = M k (r k , s k ) sinh ra từ nón-min M k (xem mục 1.2.3), tập chỉ số cơ sở là I k+1 = I k (r k , s k ) = (I k {s k }) \ {r k }; vµ c¸c vÐc t¬ chØ ph-¬ng z k i 1(sö dông (1.15)):
Trang 181
,( ) ,
,1 ,
1) Từ định lý 1.5 ta dễ dàng cú bổ đề 1.3 dưới đõy và do đú dễ thấy nón xoay M k+1
đ-ợc xây dựng (trong thuật toỏn) sinh ra từ nún-min M k vẫn là một nón - min của bài toán (L)
2) Sự lựa chọn chỉ số đưa vào s k = min{j: j J + (x k )} và chỉ số đưa ra r k = min{v: v s
Tại mỗi bước lặp k, khi giải bài toỏn (L) theo thuật toỏn nún xoay tuyến tớnh
với quy tắc chọn chỉ số đưa vào cơ sở và đưa ra khỏi cơ sở là (1.19), (1.20) và
Trang 19(1.21) thỡ nún xoay M k+1 được xõy dựng trong thuật toỏn vẫn là một nún – min của
một số hữu hạn b-ớc lặp (không xảy ra xoay vòng) Điều này đ-ợc chứng minh bởi
định lý sau
Định lý 1.6
Giải bài toỏn (L) theo thuật toán nún xoay với chỉ số chọn đưa vào cơ sở là
s k = min{j: j J + (x k )} ( hoặc s k = max{j: j J + (x k )}) và chỉ số chọn đưa ra khỏi cơ
Chứng minh định lý này cú thể tỡm thấy trong [5]
Định lý này vẫn đỳng khi giải bài toỏn quy hoạch gần lồi-gần lừm theo thuật toỏn
nún-min đó được chứng minh trong [6]
Năm 1977 RG Bland đó đề xuất quy tắc trỏnh xoay vũng tương tự như trờn cho
việc giải bài toỏn quy hoạch tuyến tớnh dạng chớnh tắc
1.3.2 Bảng lặp giải bài toỏn quy hoạch tuyến tớnh bởi thuật toỏn nún xoay tuyến tớnh và vớ dụ minh hoạ
Để dễ tớnh toỏn, trong mỗi bước lặp k ta thiết lập bảng dưới đõy gọi là bảng
nún xoay thu gọn giải bài toỏn quy hoạch tuyến tớnh dạng chuẩn khi biết một nún – min của hàm mục tiờu của bài toỏn
Trang 20
i b
…
k r
b
…
k n i b
1
1
k i k
z 1
2
k i k
z … 1
k i kj
k i kn z
2
1
k i k
z 2
2
k i k
z … i2k
kj
k i kn z
… … … …
1
k r k
z r k2k
z … r k
kj
kn z
… … … …
1
k n i k
z i n k2k
z … k
n i kj
n i kn z
1
, k
k
s i k
A z
-
1 1
, ,
k sk k
k k
i k i s k
s r k
s q
k k k
i k i s k
Bảng lặp nón xoay thu gọn A gồm 2 phần (xem bảng A): Các số liệu ban
đầu được đưa vào bảng và các số liệu cần tính toán theo các công thức trong thuật toán nón xoay được xây dựng thứ tự theo các bước từ trên xuống dưới và từ trái sang phải như sau:
Trang 21Bước k (k=0, 1, 2, …):
Phần thứ nhất của bảng là khai báo số liệu của bước chuẩn bị:
Đưa vào các số liệu ban đầu của bài toán nằm trong các cột bao gồm có cột chỉ số
cơ sở 1, 2, …, m, cột số liệu các giá trị b i (i=1, 2, …, m), dòng đầu tiên trên cùng của phần này là các hệ số của hàm mục tiêu, và ma trận hệ số các ràng buộc A cụ
thể là:
- Dòng đầu tiên của bảng là dòng các toạ độ c j của véc tơ C của hàm mục tiêu
- Cột đầu tiên thứ nhất là cột chỉ số của các véc tơ dòng A i của ma trận ràng buộc
A của bài toán (L) từ 1 đến m
- Cột thứ hai là cột các giá trị b i i( 1,2, , )m của véc tơ cột B của ma trận ràng
- Cột thứ hai là cột giá trị b i với i I k
- Tiếp theo bên phải cột thứ hai là bảng ma trận các véc tơ chỉ phương
Đến đây ta có bảng nón xoay tại bước k (k = 0, 1, 2, ….) đã xây dựng xong
Bây giờ ta chuyển sang kiểm tra tiêu chuẩn tối ưu và xây dựng bảng nón xoay mới
ở bước tiếp theo k+1 nếu x k
chưa phải là phương án tối ưu
Trang 22Từ dòng cuối cùng của phần thứ hai của bảng là dòng các toạ độ của x k , chúng ta đi tính các giá trị A x i, k b i i( 0,1,2, , )m và xây dựng tiếp các cột chứa các giá trị này ở bên phải ma trận ràng buộc A trong phần thứ nhất của bảng
Từ cột chứa giá trị A x i, k b i i( 0,1,2, , )m đã biết này ở bước lặp k (vị trí bên phải ma trận ràng buộc A) Theo thuật toán nón xoay ta xác định được
tậpJ (x k) có hai khả năng:
- Nếu J (x k) thì dừng và xk là một lời giải của bài (L)
- Nếu J (x k) thì theo thuật toán nón xoay ta chọn được chỉ số đưa vào cơ sở s k
và chúng ta tiến hành tính toán các cột sau:
Bên phải bảng z k i, i I k ở phần thứ hai của bảng ta xây dựng cột chứa giá trị
i
s k
Đến đây các thông tin để xây dựng bảng lặp ở bước k+1 từ bảng lặp ở bước k
đã đầy đủ, chúng ta xây dựng bảng lặp ở bước k+1 phía dưới bảng lặp ở bước k
như sau:
- Cột đầu tiên của bảng lặp ở bước k+1 là cột chỉ số cơ sở I k 1 (I k s k ) \ r k
được xây dựng bằng cách chuyển cột chỉ số cơ sở của bảng ở bước lặp k xuống và chỉ cần thay chỉ số r k bằng chỉ số s k ở bảng mới là được
Trang 23- Cột tiếp theo là cột chứa các giá trị b i với i I k 1 (bên phải cột chỉ số cơ sở I k 1)
được xây dựng bằng cách chuyển cột chứa các giá tri b i với i I k của bảng ở bước
lặp thứ k xuống và thay giá trị
z i I của nón-min M k+1 được tính từ các véc tơ chỉ phương z k i của nón –
min M k ở bảng lặp bước k theo công thức xoay (1.23)
Sau đó ta tính toán đến dòng cuối cùng tiếp theo của bảng này là dòng các
toạ độ của đỉnh nón – min M k+1 là x k+1 =
Đến đây bảng nón xoay mới ở bước lặp k+1 đã được xây dựng xong
Quá trình lặp này sẽ kết thúc sau hữu hạn bước bởi định lý 1.6
Một số phần tử trung tâm cần chú ý khi xây dựng bảng nón xoay thu gọn là:
ứng với dòng s k (được chọn đưa vào cơ sở ở bước lặp k) theo mục b 1 ) hay b 2 ) trong
thuật toán nón xoay tuyến tính
k k
i
s k
k
C z
bước lặp k) theo tiêu chuẩn (1.21) và (1.22) của thuật toán nón xoay tuyến tính
Trang 241.4 Thuật toán nón xoay giải bài toán quy hoạch tuyến tính dạng chuẩn với
hàm mục tiêu có hệ số không âm
Trong phần này chúng ta sẽ áp dụng thuật toán nón xoay tuyến tính đã trình bày
trong mục 1.3.1 xây dựng thuật riêng giải bài toán quy hoạch tuyến tính dạng chuẩn
với hàm mục tiêu có hệ số không âm
1.4.1 Bài toán quy hoạch tuyến tính dạng chuẩn với hàm mục tiêu có hệ số
Ta viết lại bài toán quy hoạch tuyến tính (M) này ở dạng nhƣ bài toán (L) trong
mục 1.1 và chúng ta gọi là bài toán (M + ):
c x M
Trong đó: m =N+n;
A i =-E i (i=1, …, n); b i =0 (i=1, …,n);
A n+i =C i (i=1, …, N); b n+i = d i (i=1, …, N);
tơ đơn vị i i( 1, 2, , )
Trang 251.4.2 Xõy dựng nún – min (nún cực tiểu) xuất phỏt
Dễ dàng thấy, vỡ cỏc hệ số của hàm mục tiờu bài toỏn (M + ) là khụng õm nờn nún
z =E i (i=1, 2, …, n) Và do đú ỏp dụng thuật toỏn nún xoay tuyến tớnh trỡnh bày trong phần trờn, chỳng ta thu đƣợc một thuật toỏn giải bài toỏn (M + )
trong mục sau đõy
1.4.3 Thuật toỏn nún xoay tuyến tớnh LD giải bài toỏn quy hoạch tuyến tớnh với hàm mục tiờu cú hệ số khụng õm
Thuật toỏn nún xoay tuyến tớnh LD
B-ớc chuẩn bị (bước 0) Chọn nún – min ban đầu M o :=E0 Rn , đỉnh là M0
Xác định tập J + (x k ) theo (1.6): J (x k) : j 1, 2, ,m : A x j, k b j 0
1 Nếu J + (x k ) = thì dừng lại x k chính là một lời giải của bài toán (M),
2 Nếu J + (x k ) , ta chọn chỉ số đƣa vào cơ sở theo một trong hai cỏch sau:
Ta chọn s k là một chỉ sụ tuỳ ý thuộc J + (x k ) hoặc ta chọn s k =min{j:j J + (x k )} (gọi là quy tắc chọn min) hoặc s k = max{j: j J + (x k ) ( gọi là quy tắc chọn max) và xác
Trang 26Vµ ta x©y dùng nón xoay M k+1 =M k (r k , s k ) sinh ra từ nón-min M k , I k+1 =I k (r k , s k ) = (I k {s k }) \ {r k }; vµ c¸c vÐc t¬ chØ ph-¬ng z i k 1(theo (1.15)):
0
1
,( ) ,
,1 ,
s r k
Sự hữu hạn bước lặp của thuật toán đã được suy ra từ định lý 1.6 trong mục 1.3.1
1.4.4 Giải bài toán quy hoạch tuyến tính dạng chuẩn với hàm mục tiêu có hệ số không âm bằng thuật toán nón xoay LD dưới dạng bảng nón xoay thu gọn và các ví dụ minh hoạ
Để thuận tiện cho việc tính toán giải bài toán quy hoạch tuyến tính dạng chuẩn với hàm mục tiêu có hệ số không âm dưới dạng bảng lặp nón xoay, trong
Trang 27mỗi bước lặp k ta xây dựng các bảng nón xoay thu gọn tương tự như bảng A đã
Sau đây là ví dụ cụ thể bằng số minh hoạ cho việc giải bài toán quy hoạch
tuyến tính bởi thuật toán LD dưới dạng bảng khi biết nón-min của hàm mục tiêu là
R
1.4.5 Minh hoạ hình học thuật toán nón xoay tuyến tính LD
Mục này sẽ minh hoạ hình học thuật toán nón xoay tuyến tính giải với một ví
dụ bằng số sau đây(có trong nhiều sách) để chúng ta nắm được cách giải theo dạng bảng lặp nón xoay thu gọn
Ví dụ minh họa
bằng thuật toán nón xoay tuyến tính LD theo quy tắc chọn chỉ số đưa vào và ra khỏi
cơ sở là quy tắc chọn max: (xem [4]):
Theo thuật toán nón xoay tuyến tính LD ta có nón – min ban đầu của bài toán chính
là nón Ortang dương R2 với đỉnh là gốc tọa độ (0,0) có tập chỉ số cơ sở là {1,2}, chúng ta có bẳng nón xoay lặp thu gọn cho lời giải bài toán sau 2 bước lặp như sau: