Có thể kể tớirất nhiều ứng dụng hiệu quả trong đời sống thực tế của tối ưu hóa như quy hoạchtài nguyên, quản trị kinh doanh, công nghệ thông tin, điều khiển tự động, phát triểncác hệ thố
Trang 1I MỞ ĐẦU
1 Lý do chọn đề tài
Tối ưu hóa là một ngành quan trọng trong lĩnh vực toán học, đặc biệt là toánhọc ứng dụng Trong thực tế, ta thường gặp những vấn đề nào đó mà có nhiều cáchgiải quyết, một cách tự nhiên ta chọn cách giải quyết vấn đề một cách tối ưu nhấtchẳng hạn như nhanh nhất, tốn ít thời gian nhất hay là mang lại hiệu quả kinh tế caonhất Tối ưu hóa toán học ra đời nhằm giải quyết vấn đề trên Tối ưu hóa ảnhhưởng đến hầu hết các lĩnh vực khoa học công nghệ, kinh tế, xã hội Có thể kể tớirất nhiều ứng dụng hiệu quả trong đời sống thực tế của tối ưu hóa như quy hoạchtài nguyên, quản trị kinh doanh, công nghệ thông tin, điều khiển tự động, phát triểncác hệ thống lớn, giải quyết các bài toán kinh tế Trên cơ sở dựa vào máy tính, lýthuyết tối ưu xây dựng được những thuật toán hữu hiệu nhất để giải các bài toánmột cách tổng quát Chính vì vậy, cùng với sự phát triển của công nghệ thông tin thì
lý thuyết tối ưu ngày càng phát triển mạnh mẽ Công nghệ thông tin tạo điều kiệnthuận lợi để ứng dụng tối ưu hóa một cách rộng rãi và thiết thực Khoảng từ thậpniên 80 của thế kỉ trước trở đi cùng với sự phát triển mạnh mẽ của công nghệ thôngtin, lý thuyết tối ưu đã có những bước tiến lớn, đặc biệt là đối với các lý thuyết phituyến, toàn phương
Ngày nay, tối ưu hóa trở thành một môn học không thể thiếu trong hầu hếtcác chương trình đào tạo đại học của các ngành như khoa học cơ bản, kỹ thuật-côngnghệ, kinh tế Trong chương trình đại học, tôi đã được học được một phần cơ bảncủa tối ưu hóa như qui hoạch tuyến tính nhưng chưa đi sâu vào các vấn đề liên quancủa lĩnh vực này như qui hoạch động, qui hoạch nguyên, qui hoạch phi tuyến Vìthế, tôi chọn đề tài "Một số phương pháp giải bài toán tối ưu " làm khóa luận tốtnghiệp cuối khóa
Trang 22 Mục tiêu của đề tài
- Trình bày và làm sáng tỏ lý thuyết về quy hoạch động và quy hoạch nguyêntrong bài toán quy hoạch tuyến tính
- Trình bày vài lý thuyết cơ sở và phương pháp giải bài toán tối ưu phi tuyến
- Nêu một vài ứng dụng của bài toán quy hoạch tuyến tính và bài toán phituyến trong thực tế
3 Đối tượng và phạm vi nghiên cứu
- Lý thuyết cơ sở và thuật toán để giải các bài toán của quy hoạch động, quyhoạch nguyên, quy hoạch phi tuyến
- Một số ví dụ cụ thể cho từng thuật toán
4 Phương pháp nghiên cứu
- Trên cơ sở thu thập tài liệu sách, giáo trình và các tài liệu liên quan rồi tổnghợp, làm sáng tỏ hơn và sắp xếp lại theo logic nội dung của đề tài
- Thực hiện giải và tính toán số liệu, kiểm chứng kết quả
- Trao đổi và thuyết minh về các nội dung nghiên cứu với người hướng dẫn
để làm sáng tỏ vấn đề
Trang 3II NỘI DUNG
CHƯƠNG 1: QUI HOẠCH ĐỘNG 1.1 Giới thiệu về quy hoạch động
Quy hoạch động là một trong những phương pháp tối ưu hiện đại và mạnh
mẽ Đối tượng của quy hoạch động là các quá trình nhiều bước nói chung và quátrình phát triển theo thời gian nói riêng Sự xuất hiện qui hoạch động gắn liền với têntuổi nhà bác học Mỹ R.Bellman mà trong những năm 50 của thế kỷ 20 đã áp dụngcho một loạt các bài toán thực tế một công cụ mà sau này gọi là nguyên tắc tối ưu.Chính nhờ tính đơn giản và tính tường minh của nguyên tắc này mà phương phápnày tỏ ra đặc biệt hấp dẫn và đã được áp dụng để giải hàng loạt bài toán thực tếtrong các quá trình kỹ thuật cộng nghệ, tổ chức sản xuất, kế hoạch hoá kinh tế…
1.2 Các nguyên tắc cơ bản của quy hoạch động
Qui hoạch động là việc qui hoạch từng giai đoạn của quá trình nhiều giaiđoạn mà trong đó sau mỗi giai đoạn ta chỉ tối ưu hóa một bước Tuy nhiên khi quihoạch một quá trình nhiều giai đoạn ở mỗi bước ta phải lựa chọn điều khiển trên cơ
sở không phải xuất phát từ lợi ích nhỏ hẹp của chính bước đó mà từ lợi ích chungtoàn bộ quá trình Các nguyên tắc chính để giải bài toán qui hoạch động gồm:
Nguyên tắc tối ưu của R.Bellman: Dù trạng thái ban đầu và điều khiển ban đầu có
dạng như thế nào thì điều khiển tiếp theo cũng là tối ưu đối với trạng thái thu đượctrong kết quả tác động đến những điều khiển ban đầu
Nguyên tắc lồng: Ta lồng bài toán đang xét vào họ các bài toán Họ các bài toán này
nhờ có các tham số nên ta giải được Giải những bài toán thuộc họ này với nhữngtham số khác nhau cho đến khi gặp được tham số tương ứng với bài toán xuất phátthì xong
Dựa trên hai nguyên tắc trên mà ta có thể viết ra một dãy các phương trình truy toáncho phép chuyển việc giải một bài toán phức tạp n biến số về việc giải bài toán 1biến số
Trang 41.3 Phương trình truy toán của quy hoạch động
Xét bài toán phân bổ tài nguyên:
Có một loại tài nguyên trữ lượng b cần phân phối cho n đơn vị sản xuất Biếtrằng nếu phân phối cho đơn vị thứ j một lượng tài nguyên x j thì hiệu quả mang lại
là c j(x j), j=1, n Hãy lập kế hoạch phân phối lượng tài nguyên b cho n đơn vị saocho tổng hiệu quả là lớn nhất
Mô hình bài toán có dạng:
1
n
j j j
Ta gọi bài toán (1.1) - (1.3) là P b n( )và hiệu quả tối ưu của nó là f b n( )
Ta lồng bài toán P b n( ) vào một họ các bài toán sau:
Thay vì xét n đơn vị, ta xét k đơn vị đầu tiên (k<n) với lượng tài nguyên là ,( b)
1
n
j j j
Kí hiệu bài toán (1.4) - (1.6) là P k( ), hiệu quả tối ưu là f k( )
Với mỗi cặp giá trị (k, ) ta có một bài toán tương ứng
Khi k tăng từ 1 đến n , tăng từ 0 đến b thì ta có một họ các bài toán
Theo nguyên tắc tối ưu của Bellman ta giải bài toán P k( )
Trang 5Giả sử x klà lượng tài nguyên phân phối cho đơn vị thứ k, theo giả thiết ta được hiệuquả c x k( )k Lượng tài nguyên còn lại x k sẽ được phân phối tối ưu cho k-1 đơn vịcòn lại, hiệu quả tối ưu f k1( x k).
Hiệu quả tổng cộng của k đơn vị là:
Từ phương trình quy hoạch động, ta có điều kiện đầu: f 0( ) 0 với bất kì Từ đó
Ví dụ 1 : Xét bài toán phân bổ tài nguyên như sau:
Cần phải chuyên chở hàng từ thành phố A đến thành phố B Mạng các con đường nối 2 thành phố này được vẽ trên hình ở dưới
- Ta đồng nhất A=1, B=10
- Trên hình vẽ, đỉnh của mạng cho ta tương ứng các thành phố
- Chi phí chuyển hàng từ thành phố s (s=1,2, ,9) đến thành phố j (j=2,3 ,10)được viết trên các cung đường của mạng
Hãy tìm hành trình nối các thành phố A và B sao cho tổng chi phí chở hàng lànhỏ nhất
Trang 6Ta chia tập tất cả các đỉnh ra thành các tập con :
Tập con 1 gồm đỉnh số 1: (1)
Tập con 2 gồm các đỉnh có các cung đi từ đỉnh 1 vào đỉnh (2,3,4)
Tập con 3 gồm các đỉnh có các cung đi từ các đỉnh tập con 2 vào đỉnh (5,6,7)
Tập con 4 gồm các đỉnh có các cung đi từ đỉnh tập con 3 vào đỉnh (8,9)
Tập con 5 gồm các đỉnh có các cung đi từ đỉnh tập con 4 vào đỉnh (10)
Bất kì hành trình nào đi từ thành phố 1 đến thành phố 10 đều chứa 4 cungđường.Mỗi cung đường trong chung nối 2 đỉnh thuộc 2 tập con tương ứng.Vì vậyquá trình giải bài toán tìm hành trình tối ưu được chia ra 4 giai đoạn
Theo nguyên tắc của quy hoạch động ta đánh số các giai đoạn từ dưới lên.Tađưa vào các ký hiệu sau:
- Gọi n là kí hiệu bước (giai đoạn): n=1,2,3,4
Ở đây tất cả các kí hiệu đều mang ý nghĩa:
f- thực hiện hàm số hiệu quả điều khiển
s- trạng thái của hệ thống (chỉ số thành phố đang xét)
n- chỉ số này mang thông tin di động là từ thành phố s đến thành phố cuốicùng còn n bước
43
43
64
n=1n=2
n=3n=4
Trang 7Ta có ngay f0(10)=0 vì không chuyển hàng từ thành phố 10 đi
* Xét n=1 rõ ràng hàng có thể lấy từ thành phố 8 hoặc 9;
j s
j s
Trang 8i i
i
g x x
Áp dụng công thức : f k( )= max{c x k( )k + f k1( x k), 0x k
Với f0(0) 0 , biến đổi từ 0,15,30,45,60 và k biến đổi từ 0,1,2,3,4
Trang 9(60) max (0) (60), (15) (45), (30) (30), (45) (15), (60) (0) max 0 92, 24 76, 40 46,
Trang 10CHƯƠNG 2: QUI HOẠCH NGUYÊN 2.1 Phát biểu bài toán quy hoạch tuyến tính nguyên và các bài toán tiêu biểu
Với mục đích tìm hiểu bước đầu, xét mô hình toán học sau đây, còn gọi
là mô hình quy hoạch tuyến tính nguyên hay bài toán quy hoạch tuyến tínhnguyên (BTQHTT nguyên), mà trong đó chúng ta muốn tối ưu hoá (cực đại hoáhay cực tiểu hoá) hàm mục tiêu với điều kiện các biến quyết định là các biếnnguyên với các điều kiện ràng buộc:
Khi n1=n ta có bài toán quy hoạch tuyến tính nguyên hoàn toàn
Khi n1<n ta có bài toán quy hoạch tuyến tính nguyên bộ phận
Trong trường hợp tổng quát, bài toán quy hoạch tuyến tính nguyên có thể bao gồm các ràng buộc dạng ≥, ≤ hoặc =; các biến có thể có dấu ≥ 0, ≤ 0 hoặc dấu tùy ý
Các bài toán quy hoạch tuyến tính nguyên rất hay và có nhiều ứng dụngtrong thực tế Trong đó có bài toán quy hoạch nguyên tiêu biểu là bài toán cái túiđược phát biểu như sau:
Bài toán cái túi:
Một người du lịch muốn mang theo một túi với tổng trọng lượng không vượtquá b (kg) Có n loại đồ vật mà anh ta muốn đem theo, biết rằng trọng lượng một đồvật loại j là a jvà có giá trị là c j Hãy xác định số lượng đồ vật mỗi loại mang theo
để tổng trọng lượng không vượt quá b nhưng giá trị của túi là lớn nhất
Mô hình bài toán như sau:
Gọi x j là số đơn vị đồ vật loại j cần đem theo Khi đó
Trang 11j j j
Nếu J={1,2, ,n} thì L' là bài toán QHTT nguyên hoàn toàn
Liệu có thể dùng những thuật toán đối với bài toán L để giải bài toán L' được không?
Để trả câu hỏi này, ta xét định lý sau đây:
Định lý 2.1
Nếu L là một đa diện lồi, L' là tập các điểm nguyên của L và R là bao lồi của L' thì:
a/ R là một đa diện lồi, nguyên
b/ R' =L' (R' là tập các điểm nguyên của R)
c/ Tập R* các đỉnh của R thõa mãn điều kiện R* R'
Trang 12Chứng minh:
a/ Vì L là một đa diện lồi nên L giới nội, do đó L' hữu hạn, suy ra R cũng là một đa diện lồi, hơn nữa tập R* các đỉnh của R thõa mãn điều kiện R* R'
Nghĩa là R là một đa diện lồi nguyên
b/ Từ định nghĩa của R suy ra L'R, suy ra L'R'
Chỉ cần chứng minh R'L' Thật vậy, R=L nên R'L'
c/ Từ R*L' và L'=R' nên R*R'
2.2.2 Phương pháp cắt
Giả sử x(L) là nghiệm tối ưu của bài toán L không thỏa điều kiện nguyên, tức
gọi là lát cắt đúng nếu thoả mãn các điều kiện sau:
- Điều kiện cắt: x(L) không thoả mãn bất đẳng thức, tức là <A, x(L)> > β
- Với mọi x L' <A,x>
Như vậy việc giải bài toán quy hoạch tuyến tính nguyên là một quá trình gồmnhiều bước:
a) ở bước thứ r giải bài toán phụ thuộc vào Lr với r=0,1, với L0=L và L'0=L'1=L'2=
b) Tập các điểm nguyên của tất cả các đa diện lồi là như nhau Do đó nếuphương án tối ưu x(L r) của bài toán Lr thỏa mãn điều kiện nguyên thì nó cũng làphương án tối ưu x L( ') của bài toán xuất phát L' và quá trình kết thúc.
c) Nếu x(L r) không thỏa mãn điều kiện nguyên thì x(L r) không phải là phương án của bài toán Lr+1 tức là X( )L r L r1 Khi đó chuyển sang bước r+1
Chuyển từ bước thứ r sang bước thứ r+1 tức là chuyển từ bài toán L r sang L r1 khix(L r) không nguyên được thực hiện nhờ một lát cắt đúng A x r, r.Việc bổ sunglát cắt này vào ràng buộc của bài toán L r sẽ chuyển đa diện lồi L rthành L r1.
Trang 132.2.3 Thuật toán Gomory:
Trang 14Do giả thiết 2) ta có x x i, j nguyên nên suy ra z j nguyên
- Chứng minh z j 0 Giá sử z j<0, từ 1) ta có:
z x L x trái với và zi0, tức là điều kiện cắt thỏa mãn
Thuật toán Gomory
Bước 0: Bỏ qua ràng buộc nguyên, giải bài toán quy hoạch tuyến tính thông thường
bằng phương pháp đơn hình được một lời giải tối ưu
Bước 1: Kiểm tra điều kiện nguyên:
+ Nếu nguyên thì đó là nghiệm của bài toán → dừng
+ Nếu không nguyên chuyển sang bước 2
Bước lặp thứ k
Bước 2: Xây dựng lát cắt hợp cách tương ứng, chọn lát cắt sâu theo định nghĩa nêu
trên:
Trang 15Nk là tập chỉ số của các biến phi cơ sở, x n k 10 và nguyên.
Bước 3: Đưa biến vào phần cuối cùng của bảng đơn hình, áp dụng phương pháp đơn
hình đối ngẫu giải bài toán trên, thu được kết quả mới Quay lại bước 1 để kiểm trađiều kiện nguyên, nếu chưa nguyên chuyển qua bước lặp k+1
2.2.4 Ví dụ phương pháp Gomory bằng đồ thị
Xét bài toán quy hoạch tuyến tính nguyên
Chúng ta đi tìm phương án tối ưu cho bài toán bằng đồ thị
Bước 1: Vẽ miền các phương án khả thi là tập hợp các phương án khả thi Mỗi
phương án khả thi thể hiện qua bộ số (x x1, 2) thỏa mãn tất cả các ràng buộc
Trước hết chúng ta vẽ đường thẳng có phương trình là 2x14x2 7 Đường thẳngnày chia mặt phẳng thành 2 nửa mặt phẳng, một gồm những điểm (x x1, 2) thỏa
2x 4x 7và còn lại thỏa 2x14x27 Ta tìm được mặt phẳng thỏa mãn
2x 4x 7 Tương tự ta tìm được mặt phẳng thỏa mãn 10x13x2 15
Lúc này giao của 2 nửa mặt phẳng trên cho ta tập hợp các điểm (x x1, 2) thỏamãn các ràng buộc Tuy nhiên để thỏa mãn các điều kiện không âm và điều kiệnnguyên của các biến ta chỉ xét các điểm nằm ở góc phần tư thứ nhất có các tọa độđều nguyên Vậy miền các phương án khả thi là miền gồm các điểm với tọa độnguyên được giới hạn bởi tứ giác OABC
Trang 16Bước 2: Trong miền tứ giác OABC ta tìm điểm( x x1, 2) với các điều kiện nguyên saocho Z =x14x2 đạt giá trị lớn nhất Dễ thấy đó là điểm F(1,1)
Trong ví dụ trên ta gọi bài toán quy hoạch tuyến tính khi bỏ qua điều kiệnnguyên là bài toán quy hoạch tuyến tính không nguyên tương ứng với bài toán đãcho, tức là ràng buộc bây giờ là :
2 1
x hoặc x 2 2 Gọi 2 phương án bổ sung này là 2 lát cắt L1 và '
1
L Làm như vậytuy chúng ta thu hẹp miền phương án của bài toán quy hoạch tuyến tính khôngnguyên nhưng vẫn giữ nguyên miền phương án của bài toán quy hoạch tuyến tínhnguyên đã cho Vậy miền ràng buộc trở thành:
Trang 172: 1 2
L x Tương tự có thểthấy lát cắt '
2.2.5 Ví dụ phương pháp Gomory bằng bảng.
Ví dụ 1: Cũng với bài toán trên, ta thêm vào 2 biến phụ để được bài toán có dạng
chính tắc như sau:
Max Z =x14x2
Trang 18210
43
10
01
Bảng đơn hình bước 24
1/217/2
10
1/4-3/4
01
(Bảng 1)Như vậy phương án tối ưu ở bước thứ 2 chưa thỏa mãn điều kiện nguyên
Xét phương trình
Trang 19Đặt vế phải là -x5 ( với điều kiện x5nguyên và x5 0) ta có phương trình mới
L ) Lúc này ta có bảng đơn hình mới (Bảng 2) Dễ dàng nhận thấy phương án tối
ưu ở bước 5 chưa thỏa mãn điều kiện nguyên Xét phương trình thứ 3 trong bảngđơn hình thứ 5 làm cơ sở , tương tự ta đưa vào phương trình
Trang 20mục tiêu c j cơ sở án x1 x2 x3 x4 x5
bảng đơn hình bước 34
1/217/2-1/2
100
1/4-3/4-1/4
010
001
1-1
00
00bảng đơn hình bước 4
001
100
0-51/2
010
117-2
1/2-1/2
00
2-2bảng đơn hình bước 5
001
100
010
0-1/51/10
1-17/5-3/10
00
1/10-1/10
37/10-37/10(Bảng 2)
1
bảng đơn hình bước 64
001
100
010
0-1/51/10
1-17/5-3/10
000
Trang 211/10-1/10
37/10-37/10
00bảng đơn hình bước 7
0010
1000
0100
0001
1-2-17
0-21-10
00
00
3-3
1-1(Bảng 3)
Ví dụ 2: Giải bài toán quy hoạch tuyến tính bằng phương pháp cắt:
f(x)= x1 + 2x22x1 + 11x2 ≥ 38x1 + x2 ≤ 7x1 , x2 ≥ 0x1 , x2 nguyên
8/313/3
010
100
1/9-1/91/9
-2/911/97/9Nhận thấy x1, x2 chưa nguyên
Chọn x2 để lập lát cắt vì {x2} = 2/3 > {x1} = 1/3 Điều này nghĩa là ta nênchọn phương trình x2 để lập lát cắt: x2 + 1/9x3 – 2/9x4 = 22
3
Trang 22tức là:
x2 + (0 + 1/9)x3 + (– 1 + 7/9)x4 = 2 2
3
Vậy mặt cắt là:
0100
1000
1/9-1/9[-1/9]
1/9
-2/911/9-7/97/9
001
02
0100
1000
0011
-1270
1-1-91Kết luận: Ở ngay lần lặp đầu tiên ta đã thu được nghiệm nguyên, vậy nghiệmtối ưu của bài toán là (x1, x2) = (5, 2), trị hàm mục tiêu là: f = 5 + 2 × 2 =9
2.3 Phương pháp nhánh cận Land- Doig giải bài toán quy hoạch tuyến tính nguyên
2.3.1 Nội dung cơ bản của phương pháp nhánh và cận
Trong các phương pháp giải bài toán quy hoạch nguyên, phương pháp nhánhcận là một trong các phương pháp có hiệu quả Phương pháp nhánh cận được LandA.H và Doig A.G xây dựng năm 1960 giải bài toán quy hoạch nguyên Đến năm
1963 được Little J.D, Murty K.G, Sweeney D.W và Karen C sử dụng thành cônggiải bài toán người du lịch Năm 1979 giáo sư Hoàng Tụy đã ứng dụng thành côngphương pháp này vào giải bài toán quy hoạch lõm Đây là thuật toán được ứng dụngrộng rãi để giải các bài toán tối ưu khó