Cuốn sách “Các phương pháp tối ưu hoá” là tập hợp các bài giảng của các tác giả về môn học này ở một số trường Đại học trong nhiều năm.. Chương 2 và Chương 3 trình bày các thuật toán cơ
Trang 1II eee Oat BAN GIAO THONG VAN TAI
HA NO Ol 9- 1998
Trang 2
: HÀ NỘI
Trang 3
LỜI NÓI ĐẦU
Các bài toán tối ưu thường xuất hiện trong kinh tế và kỹ
thuật, chúng có nhiều ứng dụng rất rộng rãi và đa dạng Hiện nay môn học ”Tối ưu hoá” được giảng dạy ở những năm cuối cho sinh viên các ngành khoa học tự nhiên, khoa học kỹ thuật
và kinh tế thuộc nhiều trường Đại học và Cao đẳng Cuốn sách
“Các phương pháp tối ưu hoá” là tập hợp các bài giảng của các tác giả về môn học này ở một số trường Đại học trong nhiều năm © - :
Cuốn sách này gồm bảy chương Chương 2 và Chương
3 trình bày các thuật toán cơ bản của Qui hoạch tuyến tính
và Bãi toán vận tải, đây là phần tối thiểu của môn hợc "Tối
ưu hoá” thường được giảng đạy trong các trường Đại học hiện nay, vì vậy phần này được trình bày chặt chẽ và có chứng mình đầy đủ Chương 4 trình bày một số dạng đặc biệt của quy hoạch tuyến tính: quy hoạch với biến bị chặn trên, quy hoạch nhiều mục tiêu, quy hoạch tham số và phân rã của quy hoạch tuyến tính Chương 5 dành cho các phương pháp của quy hoạch nguyên Chương 6 đề cập tới các phương pháp tối
ưu trên mạng và đồ thị Chương 7 dành cho các phương pháp
Các phương pháp tối ưu trình bày trong cuốn sách đã được lựa chọn, chúng là các phương pháp tối ưu tiêu biểu và tính toán có hiệu quả trên máy tính, Mỗi phương pháp được trình bày ý tưởng cơ bản, thuật toán chỉ tiết, ví dụ giải bằng số
và các bài tập, không quá đi sâu chứng minh đầy đủ về mặt toán học, như vậy sẽ phù hợp hơn đối với sinh viên các ngành
kỹ thuật và kinh tế Phần thuật toán chỉ tiết của các phương pháp cố gắng trình bày để các lập trình viên có thể chuyển
Trang 4dễ dàng sang chương trình bằng Pascal, C, FoxPro, Basic hay Java
Đối tượng của cuốn sách là các bạn sinh viên, kỹ sư thuộc các ngành khoa học tự nhiên, khoa học kỹ thuật và kinh tế, hoc sinh các lớp chuyên tin học
Toàn bộ cuốn sách do chính các tác giả soạn thảo trên Hệ
soạn thảo văn bản AMSTEX và đã cố gắng hạn chế đến mức
tối thiểu các lỗi về in ấn Các tác giả rất mong nhận được
sự góp ý của bạn đọc trong cả nước về nội dung và hình thức cuốn sách để lần xuất bản sau được hoàn thiện hơn Trong lần xuất bản sau các tác giá dự định bổ sung thêm các chương: Quy hoạch ngẫu nhiên, Quy hoạch động, Quy hoạch tách biến, Trò chơi
Các tác giả xin chân thành cảm ơn PTS Nguyễn Xuân
Thủy, Giám đốc Nhà Xuất bản Giao thông Vận tải đã động
viên, khuyến khích và tạo mọi điều kiện thuận lợi để cuốn sách
được hoàn thành nhanh chóng và sớm ra mắt bạn đọc
Các tác giả
PGS.PTS BUI THE TAM
Trang 5Chương 1
MỞ ĐẦU
$1 ĐỐI TƯỢNG NGHIÊN CỨU
Các thuật toán tối ưu có rất nhiều ứng dụng trong kinh tế
và trong khoa học kỹ thuật Đối với mỗi một thuật toán, cần phải xây đựng cơ sở lý thuyết của thuật toán, chứng minh tính hữu hạn hay hội tụ của nó, thuật toán cần phải lập trình được
và chạy có hiệu quả trên máy tính điện tử
1.1 Bài toán tối ưu tổng quát
Bài toán tối ưu tổng quát được phát biểu như sau Cực đại hóa (cực tiểu hóa) hầm
f(x) > max (min) (1.1)
với các điều kiện
g(t) (S,=,2) b,t=1, ,.m (1.2)
œ€XCR" (1.3)
Bài toán (1.1}-(1.3) được gọi là một quy hoạch, hảm f(x)
được gọi là hàm mục tiêu, các hàm gi(z), 7 = 1, ,m được gọi là các hàm ràng buộc, mỗi đẳng thức hoặc bất đắng thức trong hệ (1.2) được gọi là một ràng buộc Tập hợp
D={reEX | gilz) (S,=,2) 8, ¢=1, ,.m} (1.4)
được gọi là miền ràng buộc (hay miền chấp nhận được ) Mỗi điểm z =-(z1,z»y ,z„) € D được gọi là một phương án
Trang 6(hay một lời giải chấp nhận được } Một phương án z* € Ð đạt cực đại (hay cực tiểu) của hàm mục tiêu, cụ thể là
#*) > ƒ(z),Va € D (đối với bài toán Max)
ƒ(Œ*) < ƒ(&),Vz 6 D (đối với bài toán Min)
được gọi là phương an tối ưu (lời giải tối ưu) Khi đó giá trị F(a") được gọi là giá trị tối ưu của bài toán
1.2 Phân loại các bài toán
Một trong những phương pháp hiển nhiên nhất để giải bài toán đặt ra là phương pháp duyệt toàn bộ:: tìm giá trị hàm mục tiêu f(x) trên tất cả các phương ấn, sau đó so sánh các giá trị tính được để tìm ra giá trị tối ưu và phương án tối ưu của bài toán Tuy nhiên cách giải quyết này khó có thể thực hiện được , ngay cả khi kích thước của bài toán không lớn (số biến n và số rằng buộc m) là không lớn, bởi vì tập D thông thường gồm một số rất lớn phần tử, trong nhiều trường hợp
còn là không đấm được
W vậy cần phải có những nghiên cứu trước về mặt lý thuyết
để có thể tách ra từ bài toán tổng quát những lớp bài toán dễ giải Các nghiên cứu lý thuyết đó thường là nghiên cứu các tính chất của các thành phần bài toán (hàm mục tiêu, các hàm
ràng buộc, các biến số, các hệ số dy các điều kiện tồn tại lời
giải chấp nhận được , các điều kiện cần và đủ của cực trị, tính chất của các đối tượng nghiên cứu:
Các tính chất của các thành phần của bài toán và đối tượng
nghiên cứu giúp ta phân loại các bài toán Một bài toán tối ưu (quy hoạch toán học) được gọi là :
- Quy hoạch tuyến tính (QHTT) nếu hàm mục tiêu 1 f(x) va tất cả các hàm ràng buộc g;(z),¿ = 1, ,m là tuyến tính,
Trang 7tập X là một tập lồi đa diện Một trường hợp riêng quan trọng
của quy hoạch tuyến tính là bài toán vận tải;
- Quy hoạch tham số nếu các hệ số trong biểu thức của
hàm mục tiêu và của các rằng buộc phụ thuộc vào tham số;
- Quy hoạch động nếu đối tượng xét là các quá trình có
nhiều giai đoạn nói chung, hay các quá trình phát triển theo thời gian nói riêng;
- Quy hoạch phi tuyến nếu f(x) hoặc có ít nhất một trong các hàm g(z) là phi tuyến, hoặc cả hai trường hợp đó cùng
- Quy hoạch đa mục tiêu nếu trên cùng một miền rằng buộc
ta xét đồng thời các hàm mục tiêu khác nhau
$2 VẤN ĐỀ MÔ HÌNH HÓA TOÁN HỌC Trong tiết này ta sẽ nói về việc xây dụng mô hình toán học cho một vấn đề thực tế, sau đó giới thiệu một số mô hình thực
tế quan trọng
2.1 Xây dựng mô hình toán học cho một vấn đề thực tế
'Việc mô hình hoá toán học cho một vấn đề thực tế có thể
Trang 8Bước 1 Xây dựng mô hình định tính cho vấn đề thực tế,
tức là xác định các yếu tố có ý nghĩa quan trọng nhất và xác lập các quy luật mà chúng phải tuân theo Nói một cách khác
là phát biểu mô hình bằng lời và bằng những biểu đồ, các điều kiện về kinh tế kỹ thuật, tự nhiên, xã hội, các mục tiêu cần
đạt được
Bước 2 Xây dựng mô hình cho vấn đề đang xét, tức là diễn tả lại dưới dạng ngôn ngữ toán học cho mô hình định tính Khi có một hệ thống, ta chọn các biến số đặc trưng cho các trạng thái của hệ thống Mô hình toán học thiết lập mối liên hệ giữa các biến số và các hệ số điều khiển hiện tượng Việc làm rất quan trọng ở bước này là phải xác định hàm mục tiêu, tức là một đặc trưng bằng số mà giá trị càng lớn (càng nhỏ) của nó tương ứng với hiệu quả càng tốt hơn giải quyết vấn đề mà người nhận lời giải mong muốn Tiếp theo, phải
- diễn tả bằng các phương trình hay bất phương trình các điều kiện kinh tế kỹ thuật ., đó là các ràng buộc toán học mà các biến số phải tuân theo
Bước 3 Sử dụng các công cụ toán học để khảo sát và giải quyết bài toán hình thành trong Bước 2 Căn cứ vào mô hình đã xây dựng cần phải chọn hoặc xây dựng phương pháp giải cho phù hợp Tiếp đó, cụ thể hóa phương pháp bằng các thuật toán tối ưu Vì các bãi toán thực tế thường có kích thước lớn nên không thể ễ giải bằng tay được mà phải sử dụng máy tính điện tử Vậy cần chương trình hóa thuật toán bằng một ngôn ngữ lập trình thích hợp, sau đó đưa lên máy tính để chạy và in ra kết quả
Bước 4 Phân tích và kiểm định lại các kết quả thu được
trong Bước 3 Trong bước này cần phải xác định mức độ phù
hợp của mô hình và kết quả tính toán với vấn đề thực tế hoặc
Trang 9ấp dụng phương pháp phân tích chuyên gia Ở đây có thế xây
ra một trong hai khả năng sau
e Khả năng 1 Mô hình và các kết qua tính toán phù hợp với thực tế Khi đó cần lập một bảng tổng kết ghỉ rõ cách đặt vấn đề, mô hình toán học thuật toán tối ưu, chương trình, cách chuẩn bị số liệu để đưa vào máy tính, nghĩa là toàn bộ các công việc cần thiết cho việc áp dụng mô hình và kết quả
để giải quyết vấn đề thực tế đặt ra Trong trường hợp mô hình cần được sử dụng nhiều lần thì phải xây dựng hệ thống phần mềm bảo đảm giao diện thuận tiện giữa người sử dụng
và máy tính điện tử, không đòi hỏi người sử dụng phải có trình
độ chuyên môn cao về toán
e Khả năng 2 Mô hình và các kết quả tính toán không phù hợp với thực tế trong trường hợp này cần phải xem xét các nguyên nhân của nó Có thể nêu ra bốn nguyên nhân sau:
- Các kết quả tính toán trong Bước 3 chưa có đủ độ chính
xác cần thiết Khi đó cần phải xem lại các thuật toán cũng
như các chương trình tính toán đã viết và sử dụng
- Các số liệu ban đầu (các hệ số, thông số) không phản ánh đúng thực tế giá cả, hoặc chi phí trên thị trường, hoặc các định mức vật tư, hoặc các số liệu khác về công suất, khả năng máy móc, dự trữ tài nguyên Khi đó cần điều chỉnh lại một cách nghiêm túc, chính xác
- Mô hình định tính xây dựng chưa phản ánh được đầy đủ hiện tượng thực tế Nếu vậy cần rà soát lại Bước 1 xem có yếu tố hoặc quy luật nào còn bị bỏ sót không ?
- Việc xây dựng mô hình toán học ở Bước 2 chưa thỏa đáng Cần phải xây dựng lại cho phù hợp, mức độ tăng dần
từ tuyến tính đến phi tuyến, từ tĩnh đến động
Trang 102.2 Một số mô hình thực tế
a) Bài toán lập kế hoạch sản xuất
Bài toán lập kế hoạch sản xuất tối ưu phát biểu như sau Giả sử một xí nghiệp sản xuất n loại sản phẩm và sử dụng
m loại nguyên liệu khác nhau Ta đưa vào các ký hiệu sau: +; là lượng sản phẩm loại j (7 = 1, =) mà xÍ nghiệp sản xuất, c; là tiền lãi (hay giá bán) đối với một đơn vị sản phẩm
7(7= 1, ,n}, a; là suất chỉ phí tài nguyên loại ¡ để sản
xuất một đơn vị sản phẩm loại j, b; là lượng dự trữ tài nguyên loại ¡ (¡ = 1 ,m) Trong các điều kiện đã cho, hãy xác định
các giá trị #;, j = 1, „m sao cho:tổng tiền lãi (hay tổng giá
trị sản lượng hàng hóa) là lớn nhất với số tài nguyên hiện có
Mô hình toán học có dạng bài toán quy hoạch tuyến tính sau:
b) Bài toán vận tải
Có m kho hàng cùng chứa một loại hàng hóa (đánh số
¡ = 1, ,m), lượng hàng hóa ở kho ¡ là a¡, ? = 1, ,m Gọi khở ¡ là điểm phát ¡ Có n địa điểm tiêu thụ loại hàng
trên (đánh số 7 =:1, ,m với nhu cầu tiêu thụ ở điểm j là
bj,j = 1, ,n): Gọi điểm tiêu thụ j là điểm thu j
10
Trang 11Gọi c¡; là cước phí vận chuyển một đơn vị hàng hóa từ điểm phát ¡ đến điểm thu J Hàng có thể chuyển từ điểm phát
¡ bất kỳ đến điểm thụ j bất kỳ Hãy lập kế hoạch vận chuyển hàng hóa từ các điểm phát tới các điểm thu sao cho tổng chỉ phí vận chuyển là nhỏ nhất Ký hiệu z;; là lượng hàng vận chuyển từ điểm phát ¡ đến điểm thu j Khi đó ta có mô hình toán học: mon
› › G¡7#jz —> mịn
i=l j=l với các điều kiện
» ¬>-
i=] j=l
c) Bai toan cai tui
Một người du lịch muốn đem theo một cái túi nặng không quá b kilogam Có n loại đồ vật mà anh ta dự định đem theo Mỗi một đồ vật loại j có khối lượng a; kilogam và giá trị Cj Người du lịch muốn chất vào túi các đồ vật sao cho tổng giá trị đồ vật đem theo là lớn nhất
11
Trang 12Ký hiệu +; là số đồ vật loại j sẽ chất vào túi Ta có bài
rj2>0, Jj=1, ,n
#;— nguyễn, j7 = 1, ,m
Đây là một bài toán quy hoạch nguyên
$3 MỘT SỐ KHÁI NIỆM VỀ GIẢI TÍCH LỒI 3.1 Không gian Oclit
Một véc tơ n chiều là một hệ được sắp gồm n số thực
# =(#1,#2, s#n) VÍ dụ x = (4,5, 10, 20) Các z; ¡= 1 ,mt gọi là các thành phần của véc tơ
Hai véc tơ x và y gọi là bằng nhau x = y, nếu z; = yj, Vi =
1, ,m
Định nghĩa các phép toán trên các véc tơ:
ety = [#i †01,#2 + a, s#n + Yn)
(Œ# = (đ71,G72, , %đn)
Tập hợp tất cả các véc tơ n chiều trong đó xác định phép cộng các véc tơ, nhân một số thực với véc tơ như trên gọi là không gian tuyến tính n chiều, ký hiệu.E"
Trang 13Céc véc to x? € R", i = 1, ,m được gọi là độc lập
tuyén tinh néu
m Saiz’ =0 + a =0, i=l, ,m
=1
Nếu z = Oe m1 oe" với ít nhất một a; # O thi x gọi là
tổ hợp tuyến tính của các z!, ¿ = 1, ,mm Hơn nữa nếu
a, >0, ¿=1 ,m và Ea = = 1 thì x gọi là tổ hợp lồi
của các #?, ¿ = 1, ,?n
Trong R*“ có n véc tơ độc lập tuyến tính lập thành cơ
sở của nó Giả sử c!,c?, ,c" là một cơ sở của R* thì bất kỳ một véc tơ z € 7?“ đều là tổ hợp tuyến tính của các véc tơ cl,c?, ,c*, Ta gọi tích vô hướng của hai véc tơ
+ =(#1,32/ -#n) VÀ = (VI, V2, › Vn), ký hiệ, < £,U >,
là một số bằng
<#,>=
_ Các tính chất của tích vô hướng:
Trang 14Không gian véc tơ trong đó đưa vào phép toán tích vô hướng, và do đó đưa vào khoảng cách gọi là không gian Ơclít Khoảng cách giữa hai véc tơ x và y là một số xác định bởi:
3.2 Tập compact
Day {at } CR” được gọi là cé gidi han 2° khí & — óc và
viết lim z# = z0, nếu
kả—oo
jim p(z®, 2°) =0
Hình cầu tâm a bán kính ø là tap S = {e € R*| |r-al < ø} Hình cầu này tạo nên ø- lân cận của điểm a
Nếu tập 4 C R* chứa cùng với điểm x một - lân cận của
nó thì x gọi là điểm trong của A Nếu trong lân cận bất kỳ của
x có các điểm của A và các điểm không thuộc A thì x gọi là điểm biên của tập hợp A
Một tập A C RE” gọi là giới nội nếu nó được chứa trong một hình cầu tâm O nào đó, tức là tồn tại số ø đủ lớn sao cho với mọi z € 4 thì |z| < ø Một dãy {zÈ} hội tự thì bao, giờ cũng giới nội,
Một tập hợp Œ C #” được gọi là mở nếu với mọi z € Œ đều tồn tại một hình cầu tâm x chứa trọn trong G Một tập
TC R* được gọi là đóng nếu với mọi dãy hội tụ {z*} C
†a đều có jime* € F Mét tập chứa mọi điểm biên của mình
là tập đóng
Tập C được gọi là compact nếu từ mọi dấy vô hạn {z”} thuộc C đều có thể trích ra một dấy con {z”:} hội tụ tới phần
14
Trang 15_*
tử thuộc C Tập C là compact khi và chỉ khi C đóng và giới nội Tập compact M của tập đóng C cũng đóng trong C Tập con đóng M của tập compact C cũng compact
Hàm f{x) liên tục trên tập compact C thì sẽ đạt cực trị trên tập ấy
3.3 Dường thẳng, đoạn thắng, siêu phẳng
Cho hai điểm a,b € ??", Ta gọi đường thắng qua a, b là tập hợp điểm có dạng ”
{ze€R"le=Aa+(1—A)B AeR}
Nếu 0 < À < 1 thì ta cd doan thang [a; b]
Trong không gian hai chiều, phương trình bậc đhất ax +
by = c xác định một đường thẳng, một bất phương trình đứa + bụ < c xác định một nửa mặt phẳng Trong không gian
ba chiều, một phương trình bậc nhất az + bụ + cz = đ xác
định một mặt phẳng, một bất phương trình az + bự + cz < đ
xác định một nửa không gian
Ta có thể suy rộng kết quả trên cho không gian n chiều
Tập hợp tất cả các điểm trong không gian n chiều thỏa mãn phương trình bậc nhất
4421 đạ#a † oto Đdntn Sứ
được gọi là một siêu phẳng
Một bất phương trinh ay2y + aga + + Ontn < ứ xác
định một nửa không gian
3.4 Tập lồi
Tập X C R* được gọi là lồi nếu cùng với việc chứa hai
điểm x, y nó chứa cả đoạn thẳng nối hai điểm ấy, tức là chứa
15
Trang 16tất cả các điểm có dạng:
Àz+(1—A)g, 0<A<1
Ví dụ về các tập lồi: không gian Euclid, các nửa không gian, mặt phẳng, nửa mặt phẳng, hình chữ nhật, hình vuông, hình elip, hình hộp, hình cầu
Định lý 3.1 Giao của hai tập lồi là một tập lồi
Chứng minh Lấy hai điểm bất kỳ x, y thuéc giao hai tap lồi A, B Khi ấy đoạn thẳng [x, y] vừa năm trọn trong A, vừa nằm trọn trong B, do đó phải hoàn toàn nằm trong phần
Hệ quả 1 Giao của một số bất kỳ tập hợp lồi là tập lồi
Hệ quả 2 Miền chứa nghiệm của hệ bất phương trình tuyển
tính dạng
địJ#i † 6128 + ct + Ainty <b,
4211 † đ32#a +! Tdanen S bạ
@mi 21 + Am2%2 + +++ amn2n S bm
là một tập lồi Người ta còn gọi đó là một tập lồi đa diện Một tập lồi đa diện giới nội gọi là một đa diện lồi Giao của tất cả các tập lồi chứa tập X gọi là bao lồi của nó, ký hiệu [xX]
Dinh lý 3.2 Một tập lồi đa diện đóng, X có ít nhất một đỉnh (có thể không giới nội) được biểu diễn bởi tập hợp tất cả những điểm có dạng:
z= Sad + Sag
ter ges
16
Trang 17trong đó À¡ >0, 52À¡ = 1, uj >0, còn dÍ với ¡ € T là các ier đỉnh của X, g2 với j € J 1a phương các cạnh vô hạn của X
Nếu X giới nội thì trong biểu diễn trên chỉ còn lại tổng thứ nhất (biểu diễn một điểm z € X qua các đỉnh của nó)
3.5 Hàm lồi
Hàm số f(x) xác định trên một tập lồi Œ C R* được gọi là lồi trên C nếu với mọi cặp điểm zÌ, z? € Œ và mọi số À thuộc đoạn [0,1] ta có
#(A+! +(1—A)#?) <Aƒ(@œ1)+(1—A)Ƒ(2) — (31)
Nằm f(x) gọi là lõm trên tập lồi C nếu hàm - 1(x) là lồi trên
C Boi vậy ta thường xét cực đại của hàm lõm
Ta nói hàm Í(x) xác định trên C đạt cực tiểu tuyệt đối tại
EC n€u f(x*) < f(x), We eC f HKG
i
Trang 18Hàm f(x) đạt cực tiểu địa phương tại z" € Œ nếu tồn tại lân cận , của #* sao cho ƒ(#z*) < ƒ(«), Ve€Ứ — Định lý 3.3 Bất kỳ cực tiểu địa phương nào của hàm lồi trên tập lồi cũng là cực tiểu tuyệt đối
Chứng mỉnh Giả sử z* l điểm cực tiểu địa phương, ta phải chứng minh z* là cực tiểu tuyệt đối
Bằng phản chứng, giả sử œ* không phải là vee cực tiểu tuyệt đối, như thế tồn tại x? € C sao cho ƒ(z*) > ƒ(z!) Xét
tổ hợp lồi của hai điểm z*, z1:
#(&) = œ#! +(1— a)z*, 0< œ<1
Nếu œ = 0 thì z = z*, chứng tỏ tồn tại số ap, 0 < ap <2 sao cho x(a) € B voi moi a € [0, ap] Lay 0 < 6; < ag thi x(d)) = (1-6) )2* + 6:21 € B, va
f((84)) < (1— 6)f@œ*) +6 (e1)
<(q~ð)ƒ°*)+ 6ƒ”) = ƒ@°)
Bất đẳng thức thu được mâu thuẫn với giả thiết z* là cực tiểu địa phương Vậy z* là cực tiểu tuyệt đối []
Hệ quả Bất kỳ điểm cực đại địa phương nào của hàm lốm
cũng là cực đại tuyệt đối
Ta gọi đạo hàm theo hướng z của hàm † tại x là đại lượng:
7 fle.) = jim H+ M)— 1) (3.2)
nếu giới hạn này tồn tai
“Nu f(x) 1a hàm lồi trên'C thì với mọi z € Œ và với mọi z sao cho # + z €: 'Ơ, đạo hàm 6ƒ(z,z) tồn tại và nghiệm đúng:
‘sfle, z) <fle@+2)- f(z) (3.3)
18
Trang 19That vay, via + Az = A(e@ +2) 41 — Ajx nén vei A € (0,1)
ta có ƒ(+ + Àz) Š Àƒ(œ +z)+(1— A)ƒ#() hay
£(+ + Àz) ~ ƒ()
Xr
Cho qua giới hạn khi À tiến tới 0 ta có (3.3)
Nếu f(x) là hàm lồi khả vi tại x thì ta có với mọi z:
Trang 201 Một ham f(x) kha vi là lồi khi và chỉ khi với mọi x, z cho
trước hàm !(À) =< Wƒ(# + Àz),z > không giảm theo À
2 Một hàm khả vi hai lần là lồi khi và chỉ khi với mọi x, z cho trước, dạng toàn phương < ?{z)z,z > là xác định không
âm
Dạng toàn phương < P(z)z,z > là xác định không âm khi
và chỉ khi < P(x)z,z >> 0 với mọi z € R”
Hệ quả Một hàm bậc hai có dang
1
#(œ) =<cx> +5 < Pzr,z >
trong 46 P = (Pij)nxn (a một ma trận đối xứng, là hàm lồi khi và chị: khi ma trận P xác định không âm
Trang 21Chương 2
QUY HOẠCH TUYẾN TÍNH
Quy hoạch tuyến tính (QHTT) là một trong những lớp bài
toán tối ưu được nghiên cứu trọn vẹn cả về phương diện lý thuyết lẫn thực hành
QHTT bắt nguồn từ những nghiên cứu của nhà toán học Nga nổi tiếng, Viện sỹ Kantorovich L.V trong một loạt các công trình về bài toán kế hoach hoá sản xuất, công bố năm
1938 Năm 1947 nhà toán học Mỹ Dantzig đã nghiên cứu và
đề xuất phương pháp đơn hình (Simplex method) để giải bài toán QHTT Năm 1952 phương pháp đơn hình đã được chạy trên máy tính điện tử ở Mỹ
QHTT có một vị trí quan trọng trong tối ưu hóa vì hai lẽ
Lễ thứ nhất là mô hình tuyến tính đơn giản trong việc áp dụng
Lễ thứ hai là nhiều bài toán qui hoạch nguyên và qui hoạch phi tuyến có thể xấp xi với độ chính xác cao bởi một dãy các bài toán QHTT
§1 BÀI TOÁN QUY HOẠCH TUYẾN TÍNH 1.1 Bài toán tổng quát
Để nhất quán lập luận ta xét bài toán tìm cực đại, sau đó
ta sẽ xét cách chuyển bài toán tìm cực tiểu sang tìm cực đại
Bài toán tổng quát của QHTT có dạng:
n
j=l
21
Trang 22;>Ũ.j=1, P (1.3)
Nếu gặp bài toán Min, tức là
Rn f(r) = 3d, — min
j=1
œ 6D thì giữ nguyên ràng buộc và đựa về bài toán Max bằng cách
Fix) = — Sepa; — max
Trang 23chứng tỏ z* là phương án tốt ưu của bài toán Min và
Bat ky QHTT nao cũng có thể đưa về một trong hai dạng
chuẩn hoặc chính tắc nhờ các phép biến đổi tuyến tính sau:
;h
23
Trang 24có thể thay bằng hai ràng buộc bất đẳng thức:
Trang 25Về nguyên tắc, áp dụng nhiều lần các phép biến đổi 1, 2
và 3 ta có thể đưa một bài toán QHTT bất kỳ về dạng chuẩn, sau đó áp dụng nhiều lần phép biến đổi 4 ta sẽ đưa nó về dạng chính tắc
1.4 Giải bài toán QHTT hai biến bằng phương pháp hình học
Xét bài toán QHTT dưới dạng chuẩn với hai biến số:
€1# + €2#¿ — max
— G21 + ai2922 Sb, t=1, ,m
~ Lap >0, fj =1,2
Từ ý nghĩa hình học ta biết răng mỗi bất phương trình tuyến
tinh aise, + aja <b; xác định một nửa mặt phẳng
Như vậy miền ràng buộc D được xác định như là giao của
m nửa mặt phẳng và sẽ là một đa giác lồi trên mặt phẳng
Phương trình c¡zi + cy#¿ = ứ khi œ thay đổi sẽ xác định trên
mặt phẳng các đường thẳng song song với nhau mà ta sẽ gọi là các đường mức (với giá trị mức œ) Mỗi điểm # = (¡,#2z}€
Ð sẽ năm trên một đường mức với mức ø = c¡#t + cạa Bài toán đặt ra có thể phát biểu theo ngôn ngữ hình học như sau: trong số các đường mức cắt tập D, hãy tìm đường
mức với giá trị mức lớn nhất
Nếu dịch chuyển song song các đường mức theo hướng véc
tơ pháp tuyến của chúng m = (cy,cz) thi giá trị mức sẽ tăng,
nếu dịch chuyển theo hướng ngược lại thì giá trị mức sẽ giảm
Vì vậy để giải bài toán đặt ra, ta có thể tiến hành như sau Bắt đầu từ một đường mức cắt D, ta dịch chuyển song song các đường mức theo hướng véc tơ pháp tuyến (c1, cz} cho đến khi việc dịch chuyển tiếp theo làm cho đường mức không còn cắt D nữa thì dừng Điểm của D (có thể nhiều
25
Trang 26điểm) năm trên đường mức cuối cùng này sẽ là lời giải tối ưu
cần tim, con giá trị của hầm mục tiêu tại đó chính là giá trị tối
ưu của bài toán
Xét đường mức: 4z + öz¿ = 10 Đường mức này đi sa
hai điểm (0, 2) va (2.5, 0) Ta cé x* = (3,2), fimax = 22
- Nếu QHTT có phương án tối ưu thì có ít nhất một đỉnh
là tối ưu Sở dĩ nói ít nhất vì có trường hợp đường mức ở vị
trí giới hạn trùng với một cạnh của D thì tất cá các điểm trên cạnh này là phương á án tối ưu, trong đó có hai đỉnh
26
Trang 27- Nếu miền ràng buộc D giới nội và khác rỗng thì chắc chắn
có phương ấn tối ưu
- Nếu miền rằng buộc không giới nội nhưng hàm mục tiêu
bị chặn trên ở trên miền rằng buộc thì cũng chắc chắn có
Ta sẽ chứng minh bất cứ tổ hợp lồi nào của z1 và z2, tức là các điểm có dạng
Tập lồi D các phương án của một bài toán QHTT xác định bởi toàn bộ các rằng buộc (1.2) và (1.3) Tập D có thể là rỗng, hoặc là một đa diện lồi, hoặc là một tập lồi đa diện không giới
nội
Nếu D là một đa diện lồi thì bài toán có phương án, hơn
nữa giá trị tối ưu của hàm mục tiêu trên đa diện lồi là hữu hạn
và việc tìm phương án tối ưu đưa đến việc chọn các điểm của
3ï
Trang 28đa diện D có số đỉnh (điểm cực biên hay phương án cực biên)
hữu hạn
Định lý 2.2 Ham mục tiêu của bài toán QHTT sẽ đạt Max tại
điểm cực biên của tập D Nếu hàm mục tiêu không chỉ nhận
Max tại một điểm cực biên của tập lồi D mà tại nhiều điểm
cực biên thì nó sẽ đạt giá trị cực đại tại những điểm là tổ hợp lồi của các điểm đó
Chứng mỉnh Ký hiệu các điểm cực biên của đa diện D là
wt, #?, , #P, còn phương án tối ưu là zỦ, ta có
Trang 29Dé dang thay rang f(r?) < 0 với mọi j Thật vậy, nếu tồn tại phuong rj ma f(r?) > 0 thi theo phương vô han nay, ham mục tigu f(x) tién ra too, mẫu thuẫn với giả thiết z9 là phương án
tốt tru
Giá sử đỉnh zÈ* có tính chất là
f(2"}= inex Fle ) (2.7) Khi đó từ (2.6) và (2.7) ta có:
Từ (2.4) và (2.8) ta phải cd f(x°) = ƒ(zÈ), nghĩa là điểm
cực biên +Ê là phương án tối ưu
Bây giờ giả sử f(x) nhận giá trị Max tại các điểm cực biên
Dye at
fla!) = fle®) == fle) = M
Nếu x là một tổ hợp lồi nào đó của œ1, 2?, , at:
Trang 30Ký hiệu 4; ÿ = 1, ,n là các véc tơ cột của ma trận A Khi ấy hệ ràng buộc 4z = b có thể viết:
giận +ựa4¿ +‹: an Âu =b (2.9)
Dinh ly 2.3 Néu cdc vée to Ay, Az, , Ag 1A độc lập tuyến tính và thỏa mãn
Chứng minh Bằng phản chứng, gia sử x không phải là
phương án cực biên Khi đó nó có.thể biểu diễn dưới dạng tổ hợp lồi của hai điểm +1, ¿? nào đó của D:
Ái #8242 + tới Áy = b
giải +z24a+‹cc ba áy —b
Do các véc tơ 4i, 4;, ,.4; là độc lập tuyến tính nên
véc tơ b biểu diễn qua chúng bằng một cách duy nhất Vì vậy
ue oe Vj =1, ,É, nghĩa là z1 = z2 Nhu thé x không
thể biểu diễn dưới dang tổ hợp lồi của hai điểm phân biệt của
D, vậy x là điểm cực biên L]
30
Trang 31Định lý 2.4 Nếu z = (z,z› ,z„) là điểm cực biên của
tập lồi đa diện D thì các véc tơ 4; trong biểu diễn (2.9) ứng
thuộc tuyến tính Khi ấy tồn tại tổ hợp tuyến tính của các véc
tơ này bằng véc tơ không:
dy Ay + dgAg + + dypAp =0 (3.1: Ww m Ww
trong đó có ít nhất một hệ số ở; z 0
Nhân hai vế của (2.12) với một số q > 0, ta có ˆ
gd, Ay + gdp Ag +++» + gdg Ay =0 (2.13) Tir (2.11) va (2.13) suy ra:
Trang 32Vậy hệ phương trình (2.11) có hai nghiệm:
Các định lý 2.3 và 2.4 có thể gộp lại thành một định lý cần
và đủ sau:
r? = (xy ~ qđì.#2 — qủa,
Định lý 2.5 Để z = (z,zy, ,#„) là phương ắn cực biên
của QHTT dưới dạng chính tắc thì cần và 8ủ là các véc tơ cột
Aj cua ma tran A ứng với các thành phần +; > 0 là độc lập
tuyến tính
$3 PHƯƠNG PHÁP ĐƠN HÌNH GIẢI QHTT
Cơ sở của phương pháp này được Dantzig công bố năm
1947 có tên gọi là phương pháp đơn hình Sở dĩ có tên gọi như vậy là vì những bài toán đầu tiên được giải bằng phương pháp đó có các ràng buộc dạng:
Trang 333.1 Đường lối chung và cơ sở của thuật toán
a) Đường lối chung
Phương pháp đơn hình dựa trên hai nhận xét sau: nếu bài toán QHTT có phương án tối ưu thì có ít nhất một đỉnh của
D là phương án tối ưu, đa diện lồi D có một số hữu hạn đỉnh
Như vậy phải tồn tại thuật toán hữu hạn Thuật toán gồm hai
- Giai đoạn 1: tìm một phương án cực biên (mệt đỉnh)
- Giai đoạn 2: kiểm tra điều kiện tối ưu đổi với phương
án tìm được ở giai đoạn 1 Nếu điều kiện tối ưu được thỏa mãn thì phương án đó là tối ưu Nếu không, ta chuyển sang phương án cực biên mới sao cho cải tiến giá trị hàm mục tiêu Tiếp theo lại kiểm tra điều kiện tối ưu đối với phương án mới Người ta thực hiện một dãy các thủ tục như vậy cho đến
khi nhận được phương án tối ưu, hoặc đến tình huống bài toán không có phương án tối ưu
b) Cơ sử của thuật toán
Xết bài toán QHTT dưới dạng chính tắc:
<€,z >— max - (3.2)
trong đó A là ma trận kích thước m.n và giả sử rằng hạng của
ma trận A là m (điều này không làm mất tính tổng quát)
Giá sử x là một phương án cực biên nào đó Ta ký hiệu:
Vi cdc véc to Aj, j € J* là độc lập tuyển tính nên |J*| <m
33
Trang 34Định nghĩa Phương án cực biên x được gọi là không thoái
hoá nếu |J*| = rn, thoái hoá nếu |J*| < m
Ta chọn một hệ thống m véc tơ độc lập tuyến tính {4;, 7 €
J} sao cho J 2 7* Hệ thống đó gọi là cơ sở của x, các véc
tơ {4,, j € J} và các biến {z;, j € J} được gọi là các véc td và các biến cơ sở tương ứng: Các véc tơ và các biến
Aj, vj, j ¢ J gọi là các véc tơ và các biến phi cơ sở tương ứng
Nếu x không thoái hoá thì tồn tại một cơ sở duy nhất, đó
fa J = J"
Mỗi véc tơ Ag Phi cơ sở có thể biểu diễn dưới dang tổ
hợp tuyến tính của các véc tƠ CƠ SỞ: ˆ
Đối với phương án cực biên này ta có:
,m (3.8)
34
Trang 35với giá trị của hàm mục tiêu:
Định lý 3.1 (tiêu chuẩn tối ưu) Nếu đối với phương án cực
biên z = (Ø1; #», , #m 0, , 0) các điều kiện sau được
Trang 36Bởi vì Ay > 0, Wk nghia la Z, — cx > 0, Vk, cho nén thay cx
trong (3.14) boi Z;, ta cé:
n
SĐyyZ, > Z (3.15)
k=1 Thay Ax trong (3.13) bởi biểu diễn của nó trong (3.6) ta có:
Trang 37Chú ý
e Trong (3.6) nếu 4; là một véc tơ cơ sở, khi đó tồn tại
chỉ một hệ số z;; = 1, tất cả các hệ số khác đều bằng 0 và ta có:
và trong thực hành để kiểm tra điều kiện tối ưu của phương
án cực biên x ta chỉ cần kiểm tra
e Người ta có thể chứng minh rằng nếu bài toán không
thoái hoá thì (3.12) cũng là điều kiện cần của tối ưu
Định lý 3.2 Nếu tốn tại một chỉ số k sao cho A¿ < 0 thì
người ta có thể tìm được ít nhất một phương án z” mà đối
Trang 38Lấy (3.8) trừ đi (3.23) và lấy (3.9) trừ đi (3.25) từng vế
ta CÓ:
3 (r¡ — ðzj8)Ä; + ĐÁ = b (3.26)
j=l
So (aj — Oz jn Jey + Oen= Zo (Zu — en) = Zo — Bx (3.27)
Nếu các hệ số của các véc to Aj, 7 = 1, ,.m va Ax trong (3.26) không âm, khi đó ta có một phương án mới z' mà đối với nó hàm mục tiêu f có giá trị
Z'= Øu — 0Áy (3.28)
Trong (3.8) tất cả các biến z;, 7 = 1,, ,za đều dương
Vì vậy có thể tìm được số Ø > 0 sao cho
+) :=#j —6zj; >0, j =1, ,1m (3.29) Theo điều kiện của định lý A¿ < 0, nên từ (3.28) ta có
Z' > Zo, chitng tô phương án mới z' tốt hơn phương án x Định lý đã được chứng minh L]
Nếu đối với chỉ số k mà A¿ < 0, tồn tại z;¿ > 0, 7 € J thi giá trị 6 lớn nhất còn thỏa mãn (3.29) có thể được xác định bởi hệ thức: ,
Trang 39Như vậy ta nhận được phương án mới z° với cơ sở Á;,j €
Afr} uth} = J
Nếu z;¿ < 0 Vj €7 thì tất cá các thành phần z; — 6zj¿
trong (3 29) sẽ không âm với mọi Ø > 0, nghĩa là ta luôn có phương án với mọi Ø > 0, nhưng từ (3.28) ta dễ thấy giá trị hàm mục tiêu tiến tới +co khi Ø tiễn tới +-eo
Trong thực hành Dantzig đã chứng minh rằng số các bước
lặp sẽ giảm đáng kể nếu ta thay véc tơ Á¿ bởi véc tơ 4, thoả
mãn :
Ay= min{Ac| Ag < 0} (3.31)
và khi đó véc tơ 4„ được xác định theo công thức:
9, = min { 2 sys > 0, jer\- ot (3.32)
Trang 40Ar=6
z>0
Bước 1: xây dựng bảng đơn hình xuất phát Tìm một
phương án cực biên xuất phát x và cơ sở của nó 4;, j € (ta sẽ xét trong mục 3.4)
ø Xác định các số z;y bởi hệ phương trình:
Bước 2: kiểm tra tối ưu
Nấu A¿ > 0, Vk £ 7 thì x là phương án tối ưu, dừng thuật
toán Trái lại, chuyển sadg bước 3
_ Bước 3: tìm véc tơ đưa vào cơ sở Có hai khả năng xảy
e Tồn tai k ¢ J sao cho Ay < 0 và z;x <0, V7 € 7 thì bài toán QHTT không có lời giải tối ưu (Z không bị chặn trên) Dừng thuật toán
40