Các phương pháp giải bài toán bài toán quy hoạch phi tuyến có ràng... Phương pháp điểm trong cho bài toán quy hoạch tuyến tính và quy hoạch lồi: .... Phương pháp điểm trong cho bài toán
Mục đích nghiên cứu của luận văn
Một quyết định tối ưu ,một sự lựa chọn hợp lí sẽ đưa đến sự thành công như ý muốn Do đó khi giải quyết mọi vấn đề trong cuộc sống luôn được ta quan tâm là làm thế nào để đưa ra được một quyết định tốt nhất
Phương pháp tối ưu (hay quy hoạch toán học) sẽ giúp ta có được những quyết định tốt nhất, hợp lí nhất Phương pháp này được áp dụng rộng rãi trong các lĩnh vực như kinh tế , kỷ thuật ,công nghệ thông tin và các ngành khoa học khác
Phương pháp tối ưu sẽ đưa các mô hình trong thực tế về mô hình toán học và sử dụng các công cụ toán học để khảo sát và giải các mô hình đó
Các yếu tố tác động trong mô hình thực tế có thể tuân theo các quy luật như tuyến tính ,phi tuyến ,rời rạc…….Vì vậy phương pháp tối ưu đưa ra một số bài toán tối ưu dựa trên các quy luật đó.Ta có các bài toán tối ưu hoá sau:
Quy hoạch tuyến tính ( thường được viết tắc là QHTT)
Quy hoạch phi tuyến ( thường được viết tắc là QHPT)
Quy hoạch tham số ( thường được viết tắc là QHTS)
Quy hoạch động( thường được viết tắc là QHĐ)
Quy hoạch rời rạc( thường được viết tắc là QHRR)
Quy hoạch đa mục tiêu ( thường được viết tắc là QHĐMT)
Mỗi loại bài toán sẽ đại diện cho 1 quy luật mà các yếu tố tác động trong mô hình thực tế tuân theo.
Bố cục của luận văn
Luận văn gồm có 4 phần:
Phần 1: là phần mở đầu của luận văn gồm có mục đích , đối tượng và phạm vi nghiên cứu của đề tài
Phần 2: là phần nội dung của luận văn , phần này gồm có các nội dung :
Thứ nhất là các kiến thức cơ bản
Thứ hai là tìm hiểu về QHPT
Thứ ba là ứng dụng của QHPT
Phần 3:Kết luận , hạn chế cùng với hướng phát triển của luận văn
A Các kiến thức cơ bản:
1 Gradient, ma tr ậ n Hessian, và Jacobian c ủ a 1 hàm s ố
Lấy f R n và f có n biến : f x 1 , ,x n .Vectơ đạo hàm cấp 1 của f được gọi là gradient của f và ta kí hiệu T x n x f x x x f f
Và ma trận của đạo hàm f được gọi là ma trận Hessian hoặc đơn giản ta gọi là
Hessian và ta kí hiệu là 2 f(x) Và ta có công thức cụ thể là j i ij x x x x f f
Khi mà hàm f có đạo hàm cấp 2 liên tục thì ma trận Hessian thường là 1 ma trận đối xứng: i j j i x x x f x x x f
Ví dụ 1:ta xét hàm số sau:
8 x x x x x x x x x f và ma trận Hessian của hàm này là
Tại điểm x 0 2,3 thì ta có
Bây giờ ta định nghĩa ma trận Jacobi của hàmsố trên Ta đặt
Khi đó f là ma trận có dạng i j ij x x x f f
Ma trận Jacobi của hàm f tại x là f x T
Chú ý là cột thứ j của ma trận Jacobi là gradient của f j
Ví dụ 2: ta xét hàm số sau :
1 x x x x e x e x x f x x x x và ma trận Jacobi của hàm số trên là
Tại điểm x 1,2 T ,thì ta có :
Nếu 1 bài toán tối ưu hoá gồm có tập hợp các ràng buộc là tuyến tính Axb hoặc f x Axb0 thì ma trận Jacobi là 1 hằng số trong trường hợp này là
2 Hàm liên t ụ c , đ óng và t ậ p h ợ p biên
Một tập S được gọi là biên nếu mổi điểm xS thoả x M
Với S là đóng nếu bất kì 1 dãy điểm x 1 ,x 2 , ,x i , ,x i S,i và x x i i lim thì xS
Một điểm xS là điểm trong của tập S nếu y : y x S với 0
Một tập S là mở nếu mổi điểmxS là điểm trong của S
Ví dụ :S 1 x:0 x là mở nhưng không biên
S là đóng nhưng không biên
S 3 :0 là biên nhưng không mở cũng không đóng
S là đóng và là biên
Nếu f hàm liên tục được định nghĩa trên 1 tập S đóng và là biên nếu thì f sẽ đạt giá trị cực đại và cực tiểu tại 1 số điểm trên S có nghĩa là có điểm
S x min và x max S sao cho f x min min x S f x,f x max max x S f x
Tập hợp lồi: Khái niệm về tập hợp lồi là 1 khái niệm cơ bản của giải tích lồi và
Nhiều tính chất quan trọng và thú vị của bài toán QH lồi có được trên miền ràng buộc là 1 tập hợp lồi Định nghĩa 1: Một tập hợp X trong không gian R n được gọi la 1 tập lồi nếu
x x ta có x 1 (1)x 2 X Nhưng vậy X là 1 tập hợp lồi nếu nó chứa đoạn thẳng nối hai điểm bất kì của nó
Ví dụ :Tập lồi là các đoạn thẳng và siêu phẳng
Miền chứa nghiệm của hệ bất phương trình tuyến tính có dạng :
11 là một tập lồi Hay còn gọi là1 tập lồi đa diện hoặc khúc lồi b Hàm lồi: Định nghĩa 2 : Hàm số f(x) xác định trên tậpX R n được gọi là hàm lồi trên X nếu x,yX,0 1 ta có f(x(1)y)f(x)(1)f(y)
Hàm f(x) được gọi là hàm lồi chặt trên X nếu f(x(1)y)f(x)(1)f(y) Định lí 1:Cho f :X R là 1 hàm lồi khả vi trên tập mở X Điều kiện cần và đủ để f lồi trên X là f(x) f(x),yx ,x,yX
Nếu f khả vi hai lần thì điều kiện cần và đủ để f lồi là xX thì ma trận Hessian H(x) của hàm f tại x xác định không âm tức là y T H(x)y0,xX,yR n
4 Đị nh lý giá tr ị trung bình và công th ứ c Taylor Định lí giá trị trung bình:
Lấy f là liên tục và có đaọ hàm trên đoạn a,b khi đó có 1 vài c, acb sao cho : f c a b c f b f '
Công thức Taylor của 1 hàm số được cho bởi công thức: ,0 1
5 Đị nh lý v ề hàm ẩ n (Implicit Funtion Thorem):
Xét hệ phương trình sau :
Nếu F (F i ) thì hệ phương trình trên được viết lại như sau:F(x,y)0 Để xác định sự phụ thuộc của y vào x (hay có thể viết là y(x),:R n R m ) Thì ta có định lí về hàm ẩn sau : Định lí 2 ( định lí về hàm ẩn) : Lấy x,y là 1 điểm trong R n m sao cho:
1) FC P trong 1 vài lân cận của x,y với p1
Khi đó 0, 0 và :(x,)(y,) sao cho:
6 Ma tr ậ n suy bi ế n, không suy bi ế n và s ố đ i ề u ki ệ n c ủ a ma tr ậ n
Ma trận A được gọi là ma trận không suy biến nếu nó có định thức (det) khác không Và là ma trận suy biến nếu có định thức bằng không
Số điều kiện (cond) của ma trận A :
, với 1 (A) là trị lớn nhất và n (A) là trị riêng nhỏ nhất của ma trận A
CHƯƠNG 1: GIỚI THIỆU VỀ QHPT
1) Bài toán t ố i ư u hoá t ổ ng quát
Bài toán tối ưu hóa tổng quát
x max(min) f , với các điều kiện:g i x(,,)b i xXR n
Trong đó:f(x) được gọi là hàm mục tiêug i x , i=1….n được gọi là các ràng buộc
Tập hợp D xX|g i (x)(,,)b i ,i1 n được gọi là miền ràng buộc hay miền chấp nhận được
Mỗi điểm x x 1 , x 2 , , x n D được gọi là một phương án hay một lời giải chấp nhận được
Trong đó 1 phương án x * D đạt cực đại (cực tiểu) của hàm mục tiêu được gọi là phương án tối ưu
Khi đó f x * f x , x D (đối với bài toán max) và f x * f x,xD (đối với bài toán min) với f x * được gọi là giá trị tối ưu của bài toán
Phân loại các bài toán tối ưu:
Quy hoạch tuyến tính : Nếu hàm mục tiêu f(x) và tất cả các ràng buộc g i x là tuyến tính Một dạng bài toán quan trọng của qui hoạch tuyến tính là bài tóan vận tải
Qui 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ác ràng buộc phụ thuộc vào tham số
Qui hoạch động : Nếu đối tượng đang 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
Qui hoạch phi tuyến : Nếu f(x) hoặc ít nhất 1 trong các ràng buộc là phi tuyến hay cả hai trường hợp đó xảy ra
Qui hoạch rời rạc: Nếu miền ràng buộc D là miền rời rạc Gồm có bài toán qui hoạch nguyên,quy hoạch booles
Qui hoạch đa mục tiêu: Nếu trên cùng 1 miền ràng buộc ta xét các hàm mục tiêu khác nhau
Dạng bài toán qui hoạch phi tuyến:
Bài toán QHPT có ràng buộc:
Bài toán QHPT có ràng buộc tổng quát có dạng: min f(x), xR n
Trong đó trong các hàm f x,g i x,h j x là phi tuyến
Bài toán QHPT không ràng buộc:
Bài toán QHPT có ràng buộc tổng quát có dạng: min f(x), xR n
Ngoài ra ta còn gặp bài toán ở dạng: min f(x), xM ,với
Trong đó M là tập lồi trong R n
Nếu các hàm f x,g i x,h j x là những hàm lồi thì ta có bài toán quy hoạch lồi (là
1 trường hợp riêng của bài toán QHPT)
CHƯƠNG 2: QHPT KHÔNG RÀNG BUỘC
) ( min f x , trong đó f(x) liên tục, có thể không khả vi
Giả sử f C 1 để x * là điểm cực tiểu địa phương của hàm f(x) trên R n thì
Giả sử f đạt cực tiểu tại x * khi đó với x 0 đủ nhỏ ta có : f x * x f x *
Từ 1 và 2 và từ giả thiết f ' (x 0 ) tồi tại ta suy ra: 0 0
Giả sử f C 2 để x * là điểm cực tiểu địa phương của hàm f(x) trên R n nếu
f x và 2 f(x * ) nữa xác định dương ( x, 2 f(x * )x 0,xR n )
Giả sử f '' x 0 0,vì hàm số f '' x liên tục tại x 0 nên f '' x 0 trong 1 lân cận nào đó của x 0
Vì vậy trên lân cận đó hàm số f ' (x) đồng biến
Tức là đạo hàm f ' (x) đổi dấu từ âm sang dương khi x chuyển qua x 0 do đó x 0 là cực tiểu của bài toán
Giả sử f C 2 ,x * thỏa điều kiện f(x * )0và 2 f(x * ) xác định dương ( x, 2 f(x * )x 0,xR n ,x0 ) thì x * là điểm cực tiểu địa phương cô lập của hàm f(x) trên R n
Ví dụ: Tìm cực tiểu địa phương của hàm min f(x)4(x 1 5) 2 (x 2 6) 2
Vậy với x * (5,6) thi ta có f(x * )0
x x Vậy x * (5,6) là điểm cực tiểu địa phương cô lập của hàm f(x) ) trên R n
I Các phương pháp không dùng đạo hàm
1) Các ph ươ ng pháp tìm c ự c tr ị c ủ a hàm 1 bi ế n
Phương pháp tổng quát để tìm cực trị của hàm 1 biến : Phương pháp loại trừ là một phương pháp tổng quát để tìm cực trị của hàm một biến Phương pháp này bao gồm :phương pháp phân đôi, phương pháp lát cắt vàng, phương pháp điểm giữa, phương pháp xấp xỉ bậc hai Ta sẽ xét hai trong bốn phương pháp trên Đó là phương pháp điểm giữa và phương pháp lát cắt vàng
Tìm cực trị của hàm 1 biến ,với đoạn u,v và 1 sai số cho trước
2 b x a Bước 4: Kiểm tra nếu f(x).f(x 1 )0 thì gán a x.Quay trở lại bước 1
Nếu f(x).f(x 2 )0 thì gán bx.Quay trở lại bước 1
Cứ tiếp tục cho tới khi ab thì dừng lại Ưu điểm : Hàm không lồi nó cũng hội tụ
Phương pháp lát cắt vàng:
Thuật toán lát cắt vàng sử dụng hai hằng số (gọi là hằng số Phibonatsi) đó là
F và một sai số cho trước
Bước 1: Với đoạn u,v cho trước ta sẽ chia nó bởi các điểm w 1 ,w 2 và sau đó tính giá trị của hàm tại các điểm này Ta có w 1 uF 1 (vu),Z 1 f(w 1 )và
Bước 3: Nếu Z 1 Z 2 thì ta lấy đoạn u ' , v ' mới với 2
' u,v w u Nếu u ' v ' thì điểm cực tiểu là x * w 1 và ta dừng thuật toán.Nếu u ' v ' thì ta sẽ chia đoạn
u ' , v ' thành 3 đoạn bởi hai điểm: w 1 ' u ' F 1 (v ' u ' ),Z 1 f(w 1 ' ),và
2 w Z f w w ,ta lại so sánh hai giá trị mới này
Bước 4: Nếu Z 1 Z 2 thì ta lấy đoạn u ' , v ' mới với u w 1 v ' v
' v u thì điểm cực tiểu là x * w 2 và ta dừng thuật toán.Nếu u ' v ' thì ta sẽ chia đoạn u ' , v ' thành 3 đoạn bởi hai điểm: w ' 2 u ' F 2 (v ' u ' ),Z 2 f(w 1 ' ),và
1 w Z f w w ,ta lại so sánh hai giá trị mới này
Ví dụ: Tìm cực tiểu của hàm f(x)x 2 x,0,1 với đoạn u,v 0,2 cho trước
Hình vẽ: Đồ thị hàm số f(x)x 2 x Đầu tiên ta đoạn 0,2 thành 3 đoạn bởi hai điểm
Do f(w 1 ) f(w 2 ) nên ta lấy đoạn u,v mới là 0,1.24 sau đó ta kiểm tra tính tối ưu 01.24 1.240.1(chưa tối ưu) nên ta tiếp tục chia đoạn 0,1.24 thành 3 đoạn bởi 2 điểm w 1 ,w 2 mới như sau:
Do f(w 1 ) f(w 2 ) nên ta lấy đoạn u,v mới là 0,0.76 sau đó ta kiểm tra tính tối ưu 00.76 0.760.1(chưa tối ưu ) nên ta tiếp tục chia đoạn 0,0.76 thành 3 đoạn bởi 2 điểm w 1 ,w 2 mới như sau:
Do f(w 1 ) f(w 2 ) nên ta lấy đoạn u,v mới là 0.29,0.76 sau đó ta kiểm tra tính tối ưu 0.290.76 0.470.1(chưa tối ưu ) nên ta tiếp tục chia đoạn
0.29,0.76 thành 3 đoạn bởi 2 điểm w 1 ,w 2 mới như sau:
Do f(w 1 ) f(w 2 ) nên ta lấy đoạn u,v mới là 0.29,0.58 sau đó ta kiểm tra tính tối ưu 0.290.58 0.290.1(chưa tối ưu ) nên ta tiếp tục chia đoạn 0.29,0.48 thành 3 đoạn bởi 2 điểm w 1 ,w 2 mới như sau:
Do f(w 1 ) f(w 2 ) nên ta lấy đoạn u,v mới là 0.4,0.58 sau đó ta kiểm tra tính tối ưu 0.40.58 0.180.1(chưa tối ưu ) nên ta tiếp tục chia đoạn 0.4,0.58 thành 3 đoạn bởi 2 điểm w 1 ,w 2 mới như sau:
Do f(w 1 ) f(w 2 ) nên ta lấy đoạn u,v mới là 0.47,0.58 sau đó ta kiểm tra tính tối ưu 0.470.58 0.110.1(chưa tối ưu ) nên ta tiếp tục chia đoạn 0.47,0.58 thành 3 đoạn bởi 2 điểm w 1 ,w 2 mới như sau:
Do f(w 1 ) f(w 2 ) nên ta lấy đoạn u,v mới là 0.47,0.53 sau đó ta kiểm tra tính tối ưu 0.470.53 0.060.1(nên tối ưu ).Ta dừng thuật toán tại đây
Vậy x * 0.51 là cực tiểu của hàm đã cho
2) Các ph ươ ng pháp tìm ki ế m
Các phương pháp tìm kiếm thì thường hội tụ chậm hơn các phương pháp sử dụng đạo hàm như phương gradient, phương pháp Newton.Tuy nhiên việc giải bài toán QHPT không ràng buộc bằng các phương pháp tìm kiếm thì sẽ tốn ít thời gian hơn các phương pháp sử dụng đạo hàm vì nó không cần phải tính gradient hay ma trận Hessian
Phương pháp tìm kiếm gồm có các phương pháp:
Phương pháp tìm kiếm trực tiếp
Phương pháp tìm kiếm theo khối đa diện
Phương pháp tìm kiếm ngẩu nhiên
Ta sẽ tìm hiểu dưới đây 2 phương pháp : Phương pháp tìm kiếm trực tiếp và phương pháp tìm kiếm ngẩu nhiên a) Phương pháp tìm kiếm trực tiếp
Phương pháp này đơn giản vì ở mỗi bước ta chỉ cần biến đổi một biến còn các biến khác thì ta để nguyên cho tới khi nào chưa đạt được kết quả như yêu cầu
Xét bài toán cực tiểu hóa hàm f(x)-> min
Tìm kiếm có nghiên cứu (hay tìm kiếm thăm dò bước 1)
Với các giá trị ban đầu của n T o x x x x 0 1 , 2 0 , , 0 và các số gia của biến số x ( x 1 , x 2 , x n ) và tính giá trị f(x 0 )
Chọn x 0 là điểm cơ sở ban đầu