2016 10 05 1 Water Resources Engineering – Hydrosystems Laboratory TS Lê Hùng Khoa Xây dựng Thủy lợi Thủy điện Trường Đại học Bách Khoa Đ 1 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐHĐN Water Resources Engineering – Hydrosystems Laboratory 2 PHẦN I CÁC PHƯƠNG PHÁP TỐI ƯU HÓA CHƯƠNG I QUY HOẠCH TUYẾN TÍNH CHƯƠNG II QUY HOẠCH PHI TUYẾN CHƯƠNG III QUY HOẠCH ĐỘNG CHƯƠNG IV THUẬT TOÁN DI TRUYỀN CHƯƠNG V QUY HOẠCH ĐA MỤC TIÊU Water Resources Engineering – Hydrosystems Laboratory • Quy hoạch phi tuyến (QHPT) là quá tr.
Trang 1Water Resources Engineering – Hydrosystems Laboratory
TS Lê Hùng
Khoa Xây dựng Thủy lợi Thủy điện
Trường Đại học Bách Khoa
Đ
Water Resources Engineering – Hydrosystems Laboratory
PHẦN I: CÁC PHƯƠNG PHÁP TỐI ƯU HÓA
CHƯƠNG I QUY HOẠCH TUYẾN TÍNH
CHƯƠNG II QUY HOẠCH PHI TUYẾN
CHƯƠNG III QUY HOẠCH ĐỘNG.
CHƯƠNG IV THUẬT TOÁN DI TRUYỀN CHƯƠNG V QUY HOẠCH ĐA MỤC TIÊU.
Water Resources Engineering – Hydrosystems Laboratory
• Quy hoạch phi tuyến (QHPT) là quá trình giải hệ các phương trình
đẳng thức và bất đẳng thức, tập hợp các điều kiện ràng buộc nhiều hơn
tập hợp các biến thực chưa biết, Hàm mục tiêu là maximum hoạch
minimum với các ràng buộc phi tuyến
B, C - Max cục bộ
(địa phương)
D - Min cục bộ (địa
phương)
A - Max toàn thể
(tối ưu tuyệt đối)
E - Min toàn thể (tối
ưu tuyết đối)
Hình 2.1: Đồ thị biểu diễn hàm phi tuyến đơn trị và đa trị
2.1 Giới thiệu về lời giải bài toán phi tuyến
Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
Water Resources Engineering – Hydrosystems Laboratory
( )
f x
minimize
( ) 0 1, ,
i
subject to
( ) 0 1, ,
j
n
xR
Ràng buộc Hàm mục tiêu
2.1 Giới thiệu về lời giải bài toán phi tuyến
Water Resources Engineering – Hydrosystems Laboratory
Hình 2.3ab Lời giải tối ưu tồn tại điểm cực và không tồn tại điểm cực trị
Miền khả thi Miền
khả thi
2.1 Giới thiệu về lời giải bài toán phi tuyến
Trang 2Water Resources Engineering – Hydrosystems Laboratory
Tối ưu toàn cục
Tối ưu toàn cục
Tối ưu cục bộ
2.1 Giới thiệu về lời giải bài toán phi tuyến
Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
Hàm f(x) được gọi là lồi trên một vùng nếu với mọi xavà xb, xaxb thỏa mãn như sau:
Hàm f(x) được gọi là lõm trên một vùng nếu với mọi xavà xb,
xaxbthỏa mãn như sau:
* Chú thích: Các phương trình trên không tiện lợi để sử dụng trong kiểm tra tính lồi lõm của một hàm
Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
Giả sử hàm f(x) nhiều biến, hàm liên tục và có đạo hàm liên tục
Ta có Gradient
T
n
x f x f x f x
f x
2 1
2 F 2
i x n F 2
2 n F 2 1 n F 2
.
n j x F 2
i x j x F 2
2 j x F 2 1 j x F 2
.
n 2 F 2
i x 2 F 2
2 F 2 1 2 F 2
n 1 F 2
i x x F 2
2 1 F 2 2 F 2
)
x H
f(x) có đạo hàm liên tục bậc 2 tồn tại một ma trận đạo hàm được gọi là ma trận Hessian
2.1 Giới thiệu về lời giải bài toán phi tuyến
Ví dụ 2.1 Xét hàm bậc hai sau (Edgar và Himmelblau, 1988)
2 2
4
x
Xác định Gradient và Hessian của hàm này tại điểm x=(1,1)
1 2 2 1 1 2 2 1 2
2 8 2 2 , 2 8 , )
x x x x x x x x x f x f x
f
x
T
Xác định Gradient
Tại điểm x=(1,1), Gradient là :
0
6 ) 1 , 1 (
2 2 2 8
2 F F 2 1
F 2 1 F ) ) 2
x f x H
Xác định Hessian
Hình 2.5 Đường đồng mức hàm số ví dụ 2.1
2.1 Giới thiệu về lời giải bài toán phi tuyến
x 0
0.2
2.0
1.0
0
-1.0
-2.0 -2.0 -1.0 0 1.0 2.0
0.5
1.0 2.0 3.0
x 2
Trang 3Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
Kiểm tra tính lồi lõm của một hàm Ta kiểm tra dấu của đạo hàm
bậc hai của nó như sau 2 2)
dx x f d
,
0 ) 2 2
dx
x f
d
0 )
2 2
dx
x f
d
Tính lồi lõm của hàm nhiều biến f(x) cũng có thể được xác định
khi sử dụng ma trận Hessian Xác định dương, xác định âm,
xác định, không xác định được sử dụng để xác định loại của ma
trận Hessian
Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
,
f
f
Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
df
x
df dx
x
x
x
d f 2
d f 2
Hình 2.6cd Đạo hàm
bậc nhất của hàm lõm,
Đạo hàm bậc nhất của
hàm lồi
Hình 2.6e Đạo hàm
bậc hai của hàm lõm,
Hình 2.6f Đạo hàm
bậc hai của hàm lồi
Water Resources Engineering – Hydrosystems Laboratory
2.1 Giới thiệu về lời giải bài toán phi tuyến
,
H không xác định: xTHx<0 với một số x;
H bán xác định dương: xTHx0 với mọi x
Các quy tắc cơ bản cho tính lồi lõm của một hàm nhiều biến f(x) có đạo hàm bậc hai liên tục là:
f(x) là lõm, H(x) là bán xác định âm;
f(x) là lõm thực sự, H(x) là bán xác định âm;
f(x) là lồi, H(x) là bán xác định dương;
f(x) là lồi thực sự, H(x) là bán xác định dương
Water Resources Engineering – Hydrosystems Laboratory
Các loại bài toán phi tuyến
1/ Tối ưu hóa không ràng buộc 1 biến
2/ Tối ưu hóa không ràng buộc đa biến
3/ Tối ưu hóa ràng buộc
Water Resources Engineering – Hydrosystems Laboratory
Các loại bài toán phi tuyến
1/ Tối ưu hóa không ràng buộc 1 biến
- Phương pháp mặt cắt vàng
- Phương pháp Bisection
- Phương pháp Newton
- Phương pháp Gradient Descent Method 2/ Tối ưu hóa không ràng buộc đa biến
- Phương pháp Seempest
- Phương pháp Polka – Ribiere
- Phương pháp tựa Newton (Quasi-Newton)
- Phương pháp Newton
- Phương pháp Powell
Trang 4Water Resources Engineering – Hydrosystems Laboratory
Các loại bài toán phi tuyến
3/ Tối ưu hóa ràng buộc
- Phương pháp Gradient suy giảm
- Phương pháp hàm phạt
- Phương pháp nhân tử Lagrange
- Phương pháp một dãy quy hoạch tuyến tính SLP
- Phương pháp dãy quy hoạch bậc 2 SQP
Water Resources Engineering – Hydrosystems Laboratory
1/ Tối ưu hóa không ràng buộc 1 biến
• Phương pháp Bisection
• Phương pháp Newton
Cho hàmƒ(x) và có đạo hàm ƒ'(x), Chúng ta bắt đầu giả định x0là nghiệm của phương trình Xấp xĩ x1như sau:
0 ) ( ' ) ( ' ) (
0 0
0 0
x f x f x x
Water Resources Engineering – Hydrosystems Laboratory
1/ Tối ưu hóa không ràng buộc 1 biến
• Phương pháp Steepest descent
)
( )
k
x
f
0 voi )
)
)
)
1
(
k
x f x
cua hàm là )) f(x -f(x
)
g(
xét
Xem
đinh
Xác
(k) (k)
(k) (k) (k)
(k)
Water Resources Engineering – Hydrosystems Laboratory
Phương pháp mặt cắt vàng
Mặt cắt vàng tách một đoạn thẳng thành hai đoạn, với tỷ lệ của đoạn thẳng
đó trên đoạn thẳng con lớn hơn bằng tỷ lệ của đoạn thẳng con lớn hơn (∆L) trên đoạn thẳng con nhỏ hơn (∆S) Đặt độ dài đoạn thẳng tổng cộng là ∆L + ∆S =1, trong đó ∆L là khoảng con lớn hơn và ∆S là khoảng con nhỏ hơn
1
1 / L L/S
1 / (1 S)(1 S) /S 2
(S) 3 S 1 0
Hàm bậc hai này có hai nghiệm
là 2,618 và 0,382 trong đó chỉ
có 0,382 là có ý nghĩa
(1 0, 382) 0, 618
L F L
0, 382
s F S
Phương pháp mặt cắt vàng
Bước 0: k=0, Chọn các giá trị a0 và b0 có miền chứa giá trị nhỏ nhất của f (x)
Bước 1: Xác định các điểm bên trong
2k k 0.382( k k) k 0.618( k k)
Bước 2: Xác định và(1k)
f x
Bước 3: Nếu và( 1k) ( 2k) : k1 k
2
Nếu và1
f x f x ax b 1 b k
Nếu và hoặc1 và
(k) (k) : k k
2
b x
a k1 x1k
Bước 4: Nếu chỉ tiêu hội tụ không thỏa mãn và quay lại bước 1.(kk 1)
( k k) (0.618) (k )
Phương pháp mặt cắt vàng
Ví dụ 2.4 Xác định giá trị nhỏ nhất của hàm sử dụng phương pháp mặt cắt vàng với chỉ tiêu hội tụ là
3
f x x x
0.1
k k
Lời giải: Đạo hàm bậc hai là 6x vì thế hàm là lồi với x≥0, Thuật giải
trên như sau:
Bước 0 Chọn a0= 0 và b0=4 Bước lặp k=0:
Bước 1 x 0 0 0,382(4 0) 1, 582
0
0 0,618(4 0) 2, 472
Bước 2 f x( 0)3, 567 9,168 5, 601
0
Bước 3 do đó vàf x(10)f x( 02) 1 0
0
2, 472
Trang 5Water Resources Engineering – Hydrosystems Laboratory
Phương pháp mặt cắt vàng
Bước lặp k=1
Bước 1
Bước 2
Bước 3 do đó và
Bước 4
1
0 0, 382(2, 472 0) 0, 944
1
0 0.618(2, 472 0) 1, 582
1
1
( ) 3,668 9,186 5,600
0,944
2 2 2, 472 0.944 1,528 0,1
Bước lặp k=2
0,944 0,382(1,528) 1,527
Bước 2 f x( 2)3,561 9,126 5,601
2
Water Resources Engineering – Hydrosystems Laboratory
Phương pháp mặt cắt vàng
Bước 3 , do đó và2 2
0,944
1,888
Bước 4 b3 a30,9440,1 Thêm một vài bước lặp nữa sẽ nhận được nghiệm tối ưu, với bài toán đơn giản này giá trị nhỏ nhất có thể được xác định đơn giản hơn nhiều bằng cách xét đạo hàm bậc nhất bằng 0 và giải
2
Suy ra: x 21,414
Water Resources Engineering – Hydrosystems Laboratory
2.2.2 Phương pháp hàm đa biến
• Phương pháp Steepest descent
Giả sử x (0)
T toán ▽f(x (k) )
∥ ▽f(x (k) ) ∥﹤ε
Xác định α (k)
x (k+1)c =x (k) - α (k) ▽f(x (k) )
k=k+1
Dừng!
x (k) is minimum Yes
No
α {α1,…αn}
Đa thức : bậc ba ,…
Miền loài bỏ : …
Water Resources Engineering – Hydrosystems Laboratory
2.2.2 Phương pháp hàm đa biến
• Phương pháp hướng dốc nhất (Steepest descent)
Ví dụ 2.4 Áp dụng phương pháp
hướng dốc nhất để cực tiểu hóa hàm sau:
2 1 2 2 2
2 4
)
Lặp cho tới khi nghiệm tiệm cận tới nghiệm tối ưu x*=(0,0)
Phần dốc nhất là theo hình zíc zắc với mỗi đường chuyển động vuông góc với đường trước
Water Resources Engineering – Hydrosystems Laboratory
2.2.2 Phương pháp hàm đa biến
Water Resources Engineering – Hydrosystems Laboratory
2.2.2 Phương pháp hàm đa biến
Trang 6Water Resources Engineering – Hydrosystems Laboratory
2.2.2 Phương pháp hàm đa biến
Water Resources Engineering – Hydrosystems Laboratory
Ví dụ 2.6: Minimum f(X) = f(x1, x2) = 3 + (x1– 1.5x2)2+ (x2– 2)2
Ràng buộc 0 x1 5; 0 x2 5 Hình vẽ dưới là các
đường đồng mức của bài toán và lời giải có thể vị trí tại
2 ,
3 *
2.2.2 Phương pháp hàm đa biến
Water Resources Engineering – Hydrosystems Laboratory
Ví dụ 2.6: Minimum f(X) = f(x1, x2) = 3 + (x1– 1.5x2)2+ (x2– 2)2
Ràng buộc 0 x1 5; 0 x2 5
(Steepest descent)
2.2.2 Phương pháp hàm đa biến
Water Resources Engineering – Hydrosystems Laboratory
Ví dụ 2.6: Minimum f(X) = f(x1, x2) = 3 + (x1– 1.5x2)2+ (x2– 2)2
Ràng buộc 0 x1 5; 0 x2 5
Phương pháp Rank Walk
2.2.2 Phương pháp hàm đa biến
Ví dụ 2.6: Minimum f(X) = f(x1, x2) = 3 + (x1– 1.5x2)2+ (x2– 2)2
Ràng buộc 0 x1 5; 0 x2 5
Phương pháp
Pattern search
2.2.2 Phương pháp hàm đa biến
Ví dụ 2.6: Minimum f(X) = f(x1, x2) = 3 + (x1– 1.5x2)2+ (x2– 2)2
Ràng buộc 0 x1 5; 0 x2 5
• Phương pháp Davido
n-Fletcher-Powell DFP
2.2.2 Phương pháp hàm đa biến
Trang 7Water Resources Engineering – Hydrosystems Laboratory
Phương pháp hướng dốc nhất (Steepest descent)
Phương pháp này sẽ là không hiệu quả nếu các đường đẳng trị của
hàm mục tiêu càng kéo dài ra theo một hướng vuông góc Mặt khác,
phương pháp hướng dốc nhất sẽ chỉ lấy một bước lặp để hội tụ nếu
đường đẳng trị là một vòng tròn
• Phương pháp Newton có thể hội
tụ rất nhanh một lần xấp xĩ đạt
được đó là gần lời giải đúng
• Điều đó không dễ dàng đến xác
định giá trị bắt đầu để đạt được lời
giải giải
• Các giá trị lời giải bắt đầu tối có
Steepest Descent
2.2.2 Phương pháp hàm đa biến
Water Resources Engineering – Hydrosystems Laboratory
Thiết lập điều kiện Kuhn-Tucker cho BTQHPT sau:
Min F(x)=(x1-2)2+(x2-2)2
Miền ràng buộc được xác định bởi:
Thiết lập điều kiện Kuhn-Tucker cho BTQHPT sau:
x x
1 2 1 0
Giải: Miền ràng buộc được viết lại như sau:
1 0
Water Resources Engineering – Hydrosystems Laboratory
Hàm Lagrange:
Thiết lập điều kiện Kuhn-Tucker cho BTQHPT sau:
( , , , , , ) ( 2) ( 2) ( 2) ( 1) ( ) ( )
( i 0, i 1, 4)
Điều kiện Kuhn-Tucker của bài toán
này được viết như sau:
1 1 2 3
1 1
2 1 2 4
2 2
1 1 1 2
2 2 1 2
3 3 1
4 4 2
1 1 2
2 1 2
i i
i i
g f
x
g f
x
g x x x
3 1
4 2
1 2 3 4
Thiết lập điều kiện Kuhn-Tucker cho BTQHPT sau:
Từ (1) 1232(x12)
Từ (2) 1422(x22)
Từ (4) 20
Từ (5) 30
Từ (6)
4 0
Từ (12) x1x2
Từ (3) x1 x2 2 0
1 2
2 1 2
Water Resources Engineering – Hydrosystems Laboratory
Ta thấy với (x1=1; x2=1)(với ) thỏa mãn các điều kiện dừng của hàm
Lagrange
Thiết lập điều kiện Kuhn-Tucker cho BTQHPT sau:
Vậy phương án tối ưu toàn cục là x1= 1, x2= 1 tương ứng với Fmin= 2
Water Resources Engineering – Hydrosystems Laboratory
Giải bằng Matlab
Thiết lập điều kiện Kuhn-Tucker cho BTQHPT sau:
Tạo M.file hàm mục tiêu
Tạo M.file ràng buộc
Trang 8Water Resources Engineering – Hydrosystems Laboratory
Mở công cụ tối ưu >>optimtool
Thiết lập điều kiện Kuhn-Tucker cho BTQHPT sau:
Vậy phương án tối ưu toàn cục là x1= 1, x2= 1 tương ứng với Fmin= 2