Vấn đề tối ưu hóa của bạn có hai mục tiêu cạnh tranh: tối đa hóa k = f1( p1, p2) và tối đa hóa t = f2( p1, p2) . Điều này được gọi là tối ưu hóa đa mục tiêu (hoặc đa tiêu chí ) và các vấn đề như vậy có vô số giải pháp, mỗi giải pháp dựa trên một lựa chọn cụ thể về trọng số tương đối của các mục tiêu (nghĩa là, điều quan trọng hơn đối với f1 là gần với giá trị tối đa hơn cho f2?). Nếu cả hai đều có cùng tầm quan trọng đối với bạn, thì bạn có thể chỉ cần thu nhỏ hàm
F( p1, p2) = ( f1( p1, p2) - K)2+ ( f2( p1, p2) - T)2,
trong đó K và T là các giá trị tối đa đã biết của k và t, tương ứng. Nếu không, bạn sẽ thêm một trọng lượng tương ứng trước mỗi nhiệm kỳ. (Nếu không biết các giá trị tối đa, thay vào đó bạn sẽ thu nhỏ −f21−f22 )
Để tìm một bộ giảm thiểu F , bạn chỉ có thể sử dụng các giá trị hàm của F tại một điểm nhất định (p1,p2) . Điều này được gọi là tối ưu hóa miễn phí phái sinh ; xem, ví dụ, Giới thiệu về Tối ưu hóa miễn phí phái sinh của Conn, Scheinberg và Vicente hoặc chương 9 trong Tối ưu hóa số . Hầu hết trong số này sử dụng các đạo hàm gần đúng dựa trên sự khác biệt hữu hạn hoặc đạo hàm của các hàm nội suy. Vì F là một hàm chỉ có hai biến, nên việc xây dựng các xấp xỉ sai phân hữu hạn của Hessian đầy đủ không quá đắt (hoặc không ổn định). Ý tưởng là như sau: cho một điểm pk=(pk1,pk2) , bạn xây dựng mô hình bậc hai cục bộ
mk(pk+d)=F(pk)+(gk)Td+12dTHkd,
tính toán bộ giảm thiểu của nódkvà đặtpk+1=pk+dk. Ở đây, đối với một nhỏ (nhưng không phải là quá nhỏ, xem dưới đây)ϵ>0,
gk=(g1,g2)T,gi=F(pk+ϵei)−F(pk−ϵei)2ϵ
vớie1=(1,0)Tvàe2=(0,1)T, là độ dốc gần đúng và
Hk=(h11h21h12h22),hij=F(pk+ϵei+ϵej)−F(pk+ϵei)−F(pk+ϵej)+F(pk)ϵ2
là một xấp xỉ Taylor của Hessian. Điều này đòi hỏi phải đánh giáFở 5 điểm bổ sung trong mỗi lần lặp.
ϵϵ=u1/3u10−16
dk
Có thể tìm thấy sự so sánh các thuật toán và triển khai để tối ưu hóa không có đạo hàm trên trang web này , kèm theo bài báo "Tối ưu hóa không có đạo hàm: Đánh giá các thuật toán và so sánh các triển khai phần mềm" của Luis Miguel Rios và Nikolaos V. Sahinidis
p1
vàp2
như vậyk
vàt
đạt được (càng gần càng tốt) giá trị tối đa của chúng? Tôi giả sử bạn có một hàm, đã chop1
vàp2
, trả về giá trị củak
vàt
, nhưng không có thông tin nào về các đạo hàm củak
vàt
đối vớip1
vàp2
?