Dựa trên nền tảng của toán học hình thành nên một lớp các phương pháp toán học giúp ta tìm ra lời giải tốt nhất cho các bài toán thực tế, gọi là phương pháp tối ưu hóa.. Mục đích của đề
Trang 1LỜI CẢM ƠN
Trước hết, tôi xin bày tỏ lòng kính trọng và lòng biết ơn sâu sắc tới thầy giáo
TS Vũ Vinh Quang, người đã tận tình hướng dẫn, chỉ bảo và cung cấp những tài liệu rất hữu ích để tôi có thể hoàn thành luận văn
Xin cảm ơn lãnh đạo Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên đã tạo điều kiện giúp đỡ tôi về mọi mặt trong suốt quá trình học tập và thực hiện luận văn
Tôi xin bày tỏ lòng biết ơn tới các thầy, cô giáo Viện Công nghệ Thông tin và trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên đã truyền đạt kiến thức, và phương pháp nghiên cứu khoa học trong suốt những năm học vừa qua
Xin chân thành cảm ơn các anh chị em học viên cao học K9A và các bạn đồng nghiệp đã động viên, khích lệ tôi trong quá trình học tập, nghiên cứu
Tôi xin bày tỏ lòng biết ơn sâu sắc đến gia đình, người thân, những người luôn động viên, khuyến khích và giúp đỡ về mọi mặt để tôi có thể hoàn thành công việc nghiên cứu
Thái Nguyên, tháng 08 năm 2012
Tác giả luận văn
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan:
Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy giáo hướng dẫn TS Vũ Vinh Quang
Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tác giả, tên công trình, thời gian, địa điểm công bố
Tôi xin chịu trách nhiệm với lời cam đoan của mình
Thái Nguyên, tháng 08 năm 2012
Tác giả luận văn
Trang 3DANH MỤC CÁC BẢNG TRONG LUẬN VĂN
Trang 4DANH MỤC CÁC HÌNH VẼ TRONG LUẬN VĂN
Trang 5MỤC LỤC
MỞ ĐẦU 1
Chương 1 LÝ THUYẾT TỐI ƯU HÓA 3
1.1 Mô hình bài toán tối ưu hóa 3
1.1.1 Mô hình tổng quát 3
1.1.2 Phân loại bài toán tối ưu 4
1.2 Bài toán quy hoạch tuyến tính 5
1.3 Lý thuyết về cực trị hàm nhiều biến 6
1.3.1 Cực trị không có điều kiện ràng buộc 6
1.3.2 Cực trị có điều kiện 11
Chương 2 MỘT SỐ THUẬT TOÁN GIẢI CÁC BÀI TOÁN TỐI ƯU 18
2.1 Thuật toán đơn hình 18
2.1.1 Mô tả thuật toán gốc 18
2.1.2 Thuật toán đơn hình mở rộng 25
2.2 Thuật toán phân phối 28
2.2.1 Mô hình bài toán 28
2.2.2 Thuật toán phân phối 31
2.2.3 Sơ đồ mô tả thuật toán phân phối 32
2.3 Bài toán sản xuất đồng bộ 34
2.3.1 Mô hình bài toán sản xuất đồng bộ tổng quát 35
2.3.2 Phương pháp điều chỉnh nhân tử 37
2.3.3 Một số trường hợp mở rộng 41
2.4 Bài toán lập lịch 45
2.4.1 Mô tả bài toán 45
2.4.2 Thuật toán Jonhson 45
Chương 3 CÁC MÔ HÌNH BÀI TOÁN TỐI ƯU TRONG KINH TẾ 52
Trang 63.1 Mô hình tối đa hóa lợi nhuận 53
3.1.1 Phương án sử dụng tối ưu các yếu tố sản xuất 53
3.1.2 Tối đa hóa lợi nhuận của doanh nghiệp độc quyền 55
3.2 Mô hình tối thiểu chi phí sản xuất 57
3.2.1 Bài toán 57
3.2.2 Mô hình toán học 57
3.3 Các mô hình bài toán tối ưu trên cơ sở các hàm cầu 58
3.3.1 Bài toán tối đa hóa lợi ích tiêu dùng và hàm cầu Marshall 58
3.3.2 Bài toán tổi thiểu hóa chi phí tiêu dùng và hàm cầu Hick 64
PHẦN KẾT LUẬN 69
TÀI LIỆU THAM KHẢO 70
Trang 7MỞ ĐẦU
Lý thuyết tối ưu hóa là một ngành toán học đang phát triển mạnh, và ngày càng có nhiều ứng dụng quan trọng trong mọi lĩnh vực khoa học, kỹ thuật, công nghệ và quản lý hiện đại Cuộc cách mạng công nghệ thông tin tạo điều kiện thuận lợi để ứng dụng tối ưu hóa một cách rộng rãi và thiết thực
Trong toán học, thuật ngữ tối ưu hóa chỉ tới việc nghiên cứu các bài toán có dạng:
Cho trước: một hàm f x( ) :AR
Tìm: một phần tử x0 thuộc A sao cho f x( )0 f x( ); x A ("cực tiểu hóa") hoặc sao cho f x( )0 f x( ); x A ("cực đại hóa") Nhiều bài toán thực tế có thể được mô hình theo cách tổng quát trên Lời giải khả thi nào cực tiểu hóa (hoặc cực đại hóa) hàm mục tiêu được gọi là lời giải tối ưu
Trong hoạt động thực tiễn, chúng ta luôn mong muốn đạt được kết quả tốt nhất theo các tiêu chuẩn nào đó Tất cả những mong muốn đó chính là lời giải của những bài toán tối ưu hóa Mỗi vấn đề khác nhau trong thực tế dẫn đến các bài toán tối ưu khác nhau Dựa trên nền tảng của toán học hình thành nên một lớp các phương pháp toán học giúp ta tìm ra lời giải tốt nhất cho các bài toán thực tế, gọi là phương pháp tối ưu hóa
Với nguyện vọng muốn tìm hiểu về lý thuyết tối ưu hóa cũng như những lĩnh
vực ứng dụng thực tế của chúng, em đã chọn đề tài “Lý thuyết tối ƣu và một số mô hình trong kinh tế” làm luận văn tốt nghiệp của mình Mục đích của đề tài là tìm
hiểu cơ sở toán học của lý thuyết tối ưu và một số mô hình trong kinh tế thường gặp, cách giải quyết những bài toán kinh tế này và bước đầu ứng dụng qua những ví dụ
cụ thể
Trang 8Luận văn gồm 3 chương không kể phần mở đầu và phần kết luận với các nội dung chính sau:
Chương 1: Luận văn trình bày cơ sở của lý thuyết tối ưu hóa bao gồm giới thiệu tổng quan mô hình bài toán tối ưu tổng quát và phân loại các bài toán tối ưu cơ bản, giới thiệu chi tiết mô hình bài toán quy hoạch tuyến tính và cơ sở toán học của
lý thuyết cực trị hàm nhiều biến số
Chương 2: Luận văn nghiên cứu một số thuật toán giải các bài toán tối ưu đối với mô hình tổng quát của bài toán Quy hoạch tuyến tính, như thuật toán đơn hình, thuật toán phân phối, bài toán sản xuất đồng bộ Ngoài ra luận văn cũng đề cập đến thuật toán Jonhson giải bài toán lập lịch, một mô hình cơ bản trong lý thuyết thuật toán
Chương 3: Luận văn đưa ra một số mô hình bài toán tối ưu trong kinh tế như
mô hình tối đa hóa lợi nhuận, tối thiểu chi phí sản xuất, mô hình các bài toán tối ưu dựa trên các hàm cầu…
Trong luận văn cũng đưa ra các thực nghiệm tính toán kiểm tra độ chính xác của các thuật toán dựa trên các phần mềm chạy trên máy tính PC
Trang 9Chương 1
LÝ THUYẾT TỐI ƯU HÓA
Trong chương này, luận văn sẽ trình bày một số kiến thức cơ bản về mô hình tổng quát của bài toán tối ưu hóa, việc phân loại các bài toán tối ưu và cơ sở toán học của bài toán tối ưu
1.1 Mô hình bài toán tối ưu hóa
1.1.1 Mô hình tổng quát
Tối ưu hóa là một trong những lĩnh vực quan trọng của toán học có ảnh hưởng đến hầu hết các lĩnh vực khoa học, công nghệ, kinh tế và xã hội Việc tìm giải pháp tối ưu cho một bài toán thực tế nào đó chiếm một vai trò hết sức quan trọng như việc tiến hành lập kế hoạch sản xuất hay thiết kế hệ thống điều khiển các quá trình… Nếu sử dụng các kiến thức trên nền tảng của toán học để giải quyết các bài toán cực trị, người ta sẽ đạt được hiệu quả kinh tế cao Điều này phù hợp với mục đích của các vấn đề đặt ra trong thực tế hiện nay
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 m
Với các điều kiện:
1 ( ) ,
2 ( ) ,
3 ( ) ,
1 , 2 , , n 0.
Trang 10Trong đó ( ) được gọi là hàm mục tiêu Các điều kiện (1.1) được gọi là ràng buộc đẳng thức Các điều kiện (1.2), (1.3) được gọi là ràng buộc bất đẳng thức Các điều kiện (1.4) được gọi là ràng buộc về dấu X ( ,x x1 2, ,x n) là véc tơ thuộc không gian n
R Tập các véc tơ X thỏa mãn hệ ràng buộc lập nên một miền D được gọi là miền phương án (hay miền chấp nhận được), mỗi điểm XD gọi là một phương án Một phương án *
X D làm cho hàm mục tiêu ( ) đạt max (min) được gọi là phương án tối ưu
1.1.2 Phân loại bài toán tối ưu
Dựa trên mô hình tổng quát, người ta thường phân loại lớp các bài toán tối ưu như sau:
Qui hoạch tuyến tính (QHTT): Là những bài toán mà hàm mục tiêu ( )
Qui hoạch rời rạc: Bài toán tối ưu được gọi là qui hoạch rời rạc nếu miền
ràng buộc D là tập hợp rời rạc Trong trường hợp riêng khi các biến chỉ nhận giá trị nguyên thì ta có qui hoạch nguyên
Qui 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
Trang 11Trong các lĩnh vực kinh tế kỹ thuật thì qui hoạch phi tuyến, qui hoạch tuyến tính là những bài toán thường gặp
1.2 Bài toán quy hoạch tuyến tính
Từ một số các mô hình trong thực tế, ta có mô hình tổng quát cho bài toán quy hoạch tuyến tính như sau:
Xác định các biến x j(j 1, 2, , )n sao cho:
j 1
n j j
Dạng chính tắc:
j 1( )
n j j
n
j i j
a x b i M
Trang 12n j j
n
j i j
n
x x X x
m
b b b b
1.3 Lý thuyết về cực trị hàm nhiều biến
1.3.1 Cực trị không có điều kiện ràng buộc
Giả sử hàm số ( ) xác định và liên tục trong miền n
DR
Định nghĩa : Ta nói rằng hàm số w f x x 1, 2, ,x n đạt giá trị cực đại (giá trị cực tiểu) địa phương tại điểm X(x ,x , ,x )1 2 n D nếu tồn tại số r 0 đủ nhỏ sao cho bất đẳng thức:
Trang 131 2 1 2 f(x ,x , ,x )<f(x ,x , ,x )n n (1.16) được thỏa mãn tại mọi điểm X(x ,x , ,x )1 2 n của miền D có khoảng cách đến điểm
Giả sử hàm số w f x x 1, 2, ,x n xác định, liên tục và có các đạo hàm riêng
theo tất cả các biến độc lập trong miền D Khi đó ta có:
Định lý 1.1: Điều kiện cần để hàm số w f x x 1, 2, ,x n đạt cực trị tại điểm
Điều kiện đủ
Giả sử M x y0( ,0 0) là một điểm dừng của hàm số w f x y( , ) và tại điểm đó tất
cả các đạo hàm riêng cấp 2 của nó đều tồn tại và liên tục Xét định thức:
Trang 14Trong đó:
''
11 0 0 ''
12 0 0 ''
21 0 0 ''
1 Nếu D 0 thì điểm dừng M x y0( ,0 0) là điểm cực trị của hàm số và
+ M x y0( ,0 0) là điểm cực đại nếu a110 + M x y0( ,0 0) là điểm cực tiểu nếu a110
2 Nếu D 0 thì điểm M x y0( ,0 0) không phải là điểm cực trị của hàm số
3 Nếu D 0 ta không kết luận gì về cực trị tại điểm dừng M x y0( ,0 0): hàm số có thể đạt cực trị hoặc không đạt cực trị tại điểm đó Muốn có được kết luận ta phải sử dụng các phương pháp khác
+ Trường hợp hàm số n biến số
Giả sử X(x ,x , ,x )1 2 n là một điểm dừng của hàm số w f x x 1, 2, ,x n và tại điểm đó hàm số có tất cả các đạo hàm riêng cấp 2 liên tục Như ta đã biết, vi phân toàn phần cấp hai của hàm số n biến số w f x x 1, 2, ,x n tại điểm X(x ,x , ,x )1 2 n là một dạng toàn phương của n biến số dx dx1, 2, ,dx n :
Trang 15Định lý 1.3:
1 Nếu 2
d f là một dạng toàn phương xác định dương thì điểm dừng
1 2 X(x ,x , ,x )n là điểm cực tiểu của hàm số ( )
2 Nếu 2
d f là một dạng toàn phương xác định âm thì điểm dừng
1 2 X(x ,x , ,x )n là điểm cực đại của hàm số ( )
3 Nếu 2
d f là một dạng toàn phương không xác định thì điểm dừng
1 2 X(x ,x , ,x )n không phải là điểm cực trị của hàm số ( )
Ma trận của dạng toàn phương 2
( )
i j
f X a
x x
Một trong các phương pháp xem xét tính xác định của một dạng toàn phương
là dựa vào định thức con chính của ma trận của dạng toàn phương đó
Định thức con chính cấp k của một ma trận vuông là định thức con tạo thành
từ k dòng đầu và k cột đầu của nó Ma trận H có n định thức con chính:
Trang 16Áp dụng định lý về dấu hiệu dạng toàn phương xác định ta có quy tắc sau đây:
Định lý 1.4:
1 Nếu tất cả các định thức con chính của ma trận H đều dương ( H k 0, k 1, 2, ,n ) thì điểm dừng X(x ,x , ,x )1 2 n là điểm cực tiểu của hàm số ( )
2 Nếu ( 1) k H k 0, k 1, 2, ,n tức là ma trận H có tất cả các định thức con chính cấp lẻ âm và tất cả các định thức con chính cấp chẵn dương, thì điểm dừng X(x ,x , ,x )1 2 n là điểm cực đại của hàm số ( )
Để tìm cực trị của hàm số trên toàn bộ miền D nào đó, ta phải so sánh các cực trị địa phương và các giá trị của hàm số tại các điểm biên của D Đối với hàm
số nhiều biến số thì điều này đòi hỏi phải tiếp tục tìm cực trị trên tập hợp biên của miền D Tuy nhiên, trong trường hợp đặc biệt ta có thể sử dụng mệnh đề sau đây:
Định lý 1.5: Giả sử hàm số f X( ) f x x( , 1 2 , ,x n) xác định và liên tục và có các đạo hàm riêng liên tục đến cấp hai trong miền:
1 2 {X(x ,x , ,x ):a <x <b ,i=1,2, ,n}n i i i
bộ miền D
Trang 17phương giống như định nghĩa cực trị tự do ở phần trên đã trình bày, chỉ khác ở chỗ
tất cả các bộ giá trị của các biến chọn phải thỏa mãn điều kiện ràng buộc (1.19)
Hệ thức (1.19) áp đặt sự phụ thuộc lẫn nhau giữa các biến chọn dưới dạng hàm ẩn Nếu từ (1.19) ta biểu diễn được y dưới dạng hàm hiện y( )x thì bài toán cực trị có điều kiện nêu trên được quy về bài toán cực trị không có điều kiện của hàm số một biến số x:
w f x, ( ) x h x( )
a) Phương pháp nhân tử Lagrange
Trong cách tiếp cận nêu trên ta xem một trong hai biến chọn là biến độc lập
và biến kia phụ thuộc vào nó Hơn nữa, khi biểu thức g x y( , ) phức tạp thì việc áp dụng phương pháp thế để loại bớt biến chọn sẽ gặp khó khăn Nhà toán học Lagrange đề ra một phương pháp cho phép đưa bài toán cực trị có điều kiện về bài toán cực trị tự do mà vẫn giữ vai trò bình đẳng của các biến chọn
Xuất phát từ hàm mục tiêu (1.18) và điều kiện (1.19) ta lập hàm số sau (gọi là hàm Lagrange):
Trang 18
L x y f x y bg x y (1.20) Trong đó được gọi là nhân tử Lagrange
Định lý 1.6: Giả sử các hàm số f x y( , ) và g x y( , ) có các đạo hàm riêng liên tục trong một lân cận của điểm M x y0( ,0 0) và '
0 0( , ) 0
Gọi ( ,x y0 0,0) là một điểm dừng của hàm số lagrange, tức là một nghiệm của
hệ phương trình (1.21) Giả sử rằng các hàm số f x y( , ) và g x y( , ) có các đạo hàm
riêng cấp hai liên tục tại điểm ( ,x y0 0)
Trang 19Định lý 1.7: Nếu định thức H 0( 0) thì hàm số w f x y( , ), với điều kiện
( , )
g x y b , đạt giá trị cực đại (giá trị cực tiểu) tại điểm M x y0( ,0 0)
+ Cực trị có điều kiện với n biến chọn và một phương trình ràng buộc
Xét bài toán:
Tìm các điểm cực trị của hàm số
1 2
w f x x( , , ,x n) (1.22) với điều kiện:
1 2 ( , , , n)
Định lý 1.8: Nếu hàm số (1.22) với các điều kiện (1.23) đạt cực trị tại điểm
Trang 20Điều kiện đủ: Gọi (x ,x , ,x , )1 2 n là một điểm dừng của hàm số Lagrange Giả
sử, ngoài các điều kiện đã nói ở trên , các hàm f và g có các đạo hàm riêng cấp hai liên tục tại điểm (x ,x , ,x )1 2 n
Trang 21+ Cực trị có điều kiện với n biến chọn và m phương trình ràng buộc
Xét bài toán tổng quát:
Tìm các điểm cực trị của hàm số
1 2
w f x x, , ,x n (1.25) với điều kiện:
1 2
( , , , )( , , , )
( , , , )
n n
Hàm mục tiêu f và các hàm số g k, (k 1, 2, , )m ở vế trái của các phương trình ràng buộc (1.26) có các đạo hàm riêng cấp hai liên tục
Trang 22Trong đó các biến phụ 1, 1, ,m được gọi là nhân tử Lagrange
Điều kiện cần
Định lý 1.10: Nếu hàm số (1.25) đạt cực trị tại điểm X(x ,x , ,x )1 2 n thì tồn tại các số 1, 1, ,m sao cho bộ m n số (x ,x , ,x ; ,1 2 n 1 1, ,m) là nghiệm của hệ phương trình:
Điểm X(x ,x , ,x )1 2 n thỏa mãn điều kiện cần chưa chắc đã phải là điểm cực
trị Ta còn phải tiếp tục xét điều kiện đủ
k ki
Trang 23( ,i j 1, 2, , ;n k 1, 2, , )m
Ký hiệu H p(p m 1, , )n là định thức con chính cấp mp có phần tử ở dưới cùng bên phải là L pp (H n chính là định thức của ma trận H)
Định lý 1.11:
Nếu tại điểm (x ,x , ,x ; ,1 2 n 1 1, ,m) tất cả các định thức con chính H p cùng dấu với ( 1) p , tức là ( 1) p H p 0( p m 1, ,n ) thì hàm số (1.25) với điều kiện (1.26) đạt giá trị cực đại tại điểm (x ,x , ,x )1 2 n
Nếu tại điểm (x ,x , ,x ; ,1 2 n 1 1, ,m) tất cả các định thức con chính H p ( p m 1, ,n ) luôn luôn giữ dấu không đổi như ( 1) p , thì hàm số (1.25) với điều kiện (1.26) đạt giá trị cực tiểu tại điểm (x ,x , ,x )1 2 n
Kết luận:
Nội dung chương 1 đã đưa ra mô hình tổng quát của bài toán tối ưu hóa và cơ
sở toán học của các phương pháp xác định cực trị của hàm trong các trường hợp không có điều kiện hoặc có điều kiện ràng buộc Đây sẽ là các kiến thức cần thiết sử dụng để nghiên cứu các mô hình tối ưu trong các bài toán kinh tế được đưa ra trong các chương tiếp sau của luận văn
Trang 24Chương 2
MỘT SỐ THUẬT TOÁN GIẢI CÁC BÀI TOÁN TỐI ƯU
Trong chương này, luận văn sẽ trình bày một số thuật toán để giải các bài toán tối ưu như thuật toán đơn hình, thuật toán phân phối, thuật toán Jonhson… là các thuật toán đặc trưng trong ngành Công nghệ thông tin
2.1 Thuật toán đơn hình
2.1.1 Mô tả thuật toán gốc
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 Xuất xứ tên gọi như vậy 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:
1
1, 0, ( 1, 2, , )
n
j j j
2.1.1.1 Tư tưởng 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 một thuật toán hữu hạn Thuật toán gồm 2 bước như sau:
Trang 25Bước 1: Tìm 1 phương án cực biên
Bước 2: Kiểm tra điều kiện tối ưu đối với phương án đó
+ Nếu điều kiện tối ưu được thoả 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 làm tốt hơn giá trị hàm mục tiêu
+ 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
, X ( ,x x1 2, ,x n);C ( ,c c1 2, ,c n)., giả sử rằng hạng của ma trận A là m
Giả sử X là một phương án cực biên nào đó
Ta ký hiệu: J* j x| j 0 (2.1)
Vì các véc tơ A j j, J* là độc lập tuyến tính nên | *|J m
Định nghĩa 2.1: Phương án cực biên X được gọi là không suy biến nếu
| *|J m, suy biến nếu | *|J m
Ta chọn một hệ thống m véc tơ độc lập tuyến tính A j j, J sao cho
*
J J Hệ thống đó là cơ sở của X , các véc tơ A j j, J và biến x j, jJ được gọi
là các véc tơ và các biến cơ sở tương ứng Các véc tơ và các biến A x j, j, (jJ)gọi là
Trang 26các véc tơ và các biến phi cơ sở
Nếu X không suy biến thì tồn tại một cơ sở duy nhất, đó là J J*
Mọi véc tơ A k phi cơ sở có thể biểu diễn dưới dạng tổ hợp tuyến tính của các véc tơ cơ sở:
, 0, ( 1, 2, , )
m
j j j j
Trang 272 Người ta có thể chứng minh rằng nếu bài toán không suy biến thì (2.8) cũng
là điều kiện cần của bài toán tối ưu
Định lý 2.2: Nếu tồn tại một chỉ số k sao cho k 0 thì ta có thể tìm được ít nhất một phương án X' mà đối với nó Z' Z
Trong thực tế 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ơ A k bởi véc tơ A s thỏa mãn s min k| k 0
Trang 28' '
,,
js
r j rs j
r rs
x
z x
x
j r z
2.1.1.3 Thuật toán đơn hình
Bước 1: Tìm một phương án cực biên xuất phát X và cơ sở của nó A j j, J
z c c
Nếu ( k J), k 0 x là nghiệm tối ưu Thuật toán dừng
Nếu X không phải là nghiệm tối ưu:
o ( k J), k 0 và z jk 0, j J bài toán QHTT không có nghiệm tối
ưu Thuật toán dừng
o Đối với mỗi kJ sao cho k 0 đều tồn tại jJ z: jk 0 chọn
Đưa véc tơ A r ra khỏi cơ sở
Bước 4: Xác định phương án cực biên mới X' với cơ sở J'J\ r s
Trang 29Quay trở lại bước 2
2.1.1.4 Công thức đổi cơ sở, bảng đơn hình
Ta xét các công thức chuyển từ phương án cực biên X với cơ sở J, sang phương án cực biên X' với cơ sở J' Xuất phát từ công thức (2.10) cho phép tính các thành phần của X' Ta cần thiết lập công thức tính các số '
rk
jk js rs jk
rk rs
z
z z
z
j r z
Trang 301
0
0
0…
1
0
0…
0
1
0…
0
0
0…
0
0
xm
0
0
0
0
1
zmk
zms
zmn
Sử dụng các phương pháp biến đổi theo thuật toán sau:
- Nếu tất cả các số trong hàng cuối (trừ F) đều 0, nghĩa là k 0, k, khi đó
X là phương án tối ưu Thuật toán dừng
- Nếu hàng cuối (không kể F) tồn tại số âm mà mọi số trong cột tương ứng
Trang 31đều 0 thì bài toán không tồn tại phương án tối ưu
Ngược lại:
+ Chọn cột s sao cho: s min k| k 0, Cột s gọi là cột xoay Véc tơ A s
được đưa vào cơ sở
rs js
x x
Phần tử z rs 0 là giao của cột xoay và dòng xoay gọi là phần tử trục Các phần tử z js,jr gọi là phần tử xoay
Theo các công thức (2.10), (2.11), (2.14), bảng đơn hình mới suy được từ bảng đơn hình cũ bằng cách thay c A r, r trong hàng xoay bằng c A s, s Sau đó thực hiện các phép biến đổi dưới đây:
1) Chia mỗi phần tử ở hàng xoay cho phần tử trục, kết quả thu được gọi là hàng chuẩn
2) Đối với các hàng còn lại thực hiện biến đổi theo công thức:
Hàng mới = hàng cũ tương ứng – Hàng chuẩn phần tử xoay
Toàn thể phép biến đổi trên gọi là phép quay xung quanh trục z rs Sau khi thực hiện phép xoay ta có một phương án mới và một cơ sở mới, tiến hành kiểm tra điều kiện tối ưu
2.1.2 Thuật toán đơn hình mở rộng
Xét bài toán:
Trang 32ij j i j
sẽ tách dòng m 1 thành hai dòng (m 1) và (m 2) Số a và b lần lượt điền vào dòng (m 2) và (m 1) khi phải lập bảng mới sẽ chọn cột khóa dựa vào số dương lớn nhất ở dòng (m 2), sau đó so sánh đến số ở dòng (m 1)
+ Khi viết bài toán M , cho bài toán gốc Nếu bài toán gốc đã có một số véc
tơ đơn vị thì ta chỉ cần thêm một số biến giả sao cho nó có đủ m véc tơ đơn vị
+ Dòng khóa vẫn chọn như cũ, khi sang bảng mới nếu một véc tơ giả bị loại
Trang 33khỏi cơ sở thì các số liệu trên cột chứa véc tơ giả đó không phải tính nữa Nếu như tất cả các véc tơ giả bị loại khỏi cơ sở thì phương án nhận được lúc đó chính là phương án cực biên của bài toán gốc và dòng (m 2) không cần đến nữa Việc giải bài toán tiếp tục bình thường
+ Đối với bài toán max, nếu giải trực tiếp thì ta sẽ thêm M vào hàm mục
tiêu
Trên cơ sở lý thuyết trên, thuật toán đơn hình tổng quát được mô tả bằng sơ
đồ khối sau đây:
Hình 2.1: Sơ đồ khối thuật toán đơn hình
Trang 34Thuật toán đơn hình có thể thực hiện trên máy tính điện tử thông qua một phần mềm tính toán Với những bài toán QHTT có biến số quá lớn (như dạng bài toán vận tải), trong thực tế không thể giải bằng phương pháp đơn hình được, lúc này người ta sử dụng 1 thuật toán khác được gọi là thuật toán phân phối
2.2 Thuật toán phân phối
2.2.1 Mô hình bài toán
Một loại hàng hoá nào đó cần được vận chuyển từ m nơi giao (trạm phát)
1, 2, , m
A A A với các lượng hàng dự trữ tương ứng là a a1, 2, ,a m tới n nơi nhận (trạm thu) B B1, 2, ,B n với các yêu cầu tương ứng là b b1 , 2 , ,b n Ký hiệu cij là cước phí vận chuyển một đơn vị hàng hoá từ nơi giao A i tới nơi nhận B j Hãy xác định những đại lượng xij cho mọi con đường i j, sao cho tổng cước phí vận chuyển là nhỏ nhất
Bài toán được mô tả bằng bảng ma trận vận chuyển sau đây:
Trang 35Đặt xij là số đơn vị hàng hoá cần vận chuyển từ địa điểm giao A i đến địa điểm nhận B j Ta luôn coi bài toán là cân bằng thu – phát, tức là tổng số hàng hoá theo khả năng ở các nơi giao bằng tổng số hàng hoá theo nhu cầu ở các nơi nhận
Khi đó bài toán vận tải tương đương với mô hình bài toán tối ưu sau đây:
1
m
j i
1
n
i j
Hệ gồm m n phương trình đại số tuyến tính với m n ẩn
Trong số tất cả các nghiệm không âm của hệ (2.16) - (2.18) cần tìm một nghiệm sao cho hàm mục tiêu (2.15) đạt giá trị nhỏ nhất
Các tính chất của bài toán vận tải
- Bài toán vận tải luôn có phương án tối ưu
- Nếu bài toán không cân bằng thu - phát thì ta luôn đưa được về dạng cân bằng bằng cách:
Trang 36Một số định nghĩa
Ô nằm trong dòng i, cột j ký hiệu là i j, Một ô i j, mà xij 0 gọi là ô
chọn, các ô còn lại được gọi là ô loại
Một dãy các ô được gọi là dây chuyền nếu dãy ô đó có tính chất cứ 2 ô liên tục của dãy thì cùng nằm trên một dòng (hoặc một cột) Cứ 3 ô liên tục của dãy thì không thể cùng nằm trên một dòng (hoặc một cột)
Chu trình (hay vòng) là một dây chuyền mà ô đầu tiên và ô cuối cùng trên cùng một dòng (hoặc một cột)
Trang 37Định lí 2.3: Điều kiện cần và đủ để một dãy ô chứa vòng là hệ véc tơ A ij tương ứng phụ thuộc tuyến tính
Hệ quả:
1 Một dãy ô không chứa vòng Hệ véc tơ tương ứng độc lập tuyến tính
2 Một phương án cực biên của bài toán vận tải có tối đa m n 1 ô chọn
Định nghĩa 2.2: Một phương án cực biên có đúng m n 1 ô chọn gọi là phương án cực biên không suy biến
3 Bất kỳ m n ô trở lên đều chứa vòng
Định lí 2.4: Nếu tập E gồm m n 1 không tạo thành vòng, khi thêm một ô không thuộc tập E vào tập E ta sẽ được một vòng duy nhất
Hệ quả: Giả sử tập ô tạo thành vòng duy nhất thì khi bỏ đi một ô, các ô còn
lại không tạo thành vòng
2.2.2 Thuật toán phân phối
Giả sử ta có một phương án cực biên không suy biến X0, xét một vòng loại ứng với ô loại i j, , bắt đầu từ ô loại i j, ta đánh số thứ tự 1,2,…
+ Tập các ô có số thứ tự lẻ gọi là nửa vòng lẻ V l
+ Tập các ô có số thứ tự chẵn gọi là nửa vòng chẵn V c
Như vậy số ô của V l bằng số ô của V c
Số kiểm tra của ô loại i j, là:
Trang 38Định lí 2.5:
+ Nếu với mọi ô loại i j, ta đều có ij 0 thì X0 là phương án tối ưu
+ Nếu tồn tại một ô loại i j, mà ij 0 thì X0 chưa tối ưu và có phương án mới tốt hơn
2.2.3 Sơ đồ mô tả thuật toán phân phối
Hình 2.2: Sơ đồ khối thuật toán phân phối
TrueBắt đầu
e