Dựa trên những gì bạn nói: Tôi giả sử bạn phải tối ưu hóa cho 50 biến; Tôi cũng cho rằng bạn đang gặp phải một tình huống rất tốn kém khi tìm các công cụ phái sinh phân tích (huống chi là lấy số) và việc tối ưu hóa của bạn không bị giới hạn.
Hãy để tôi nhấn mạnh, bạn có một chút không may gây ra từ 25-30 đến 100 biến, đó là một chút vùng chạng vạng khi phải lựa chọn giữa các thói quen tối ưu hóa quy mô lớn hay nhỏ. Có nói rằng mặc dù, không có gì là mất.
Cho rằng ngay cả đạo hàm bậc nhất cũng đắt tiền để loại bỏ ý tưởng đó về phương pháp của Newton. Bạn có thể gặp may mắn với Quasi-Newton (BFGS) mặc dù nếu Hessian của bạn hơi chéo như muốn bắt đầu. CG thường chậm hơn một chút so với BFGS nên có lẽ điều đó sẽ không cải thiện nhiều thứ; sử dụng nó nếu bộ nhớ cũng là một vấn đề (hoặc chỉ sử dụng L-BFGS trong trường hợp đó). Ngoài ra, được đánh giá là chậm như thế nào để đánh giá chức năng của bạn, một thuật toán tìm kiếm gốc / dòng dốc đơn giản nhất sẽ rất chậm; điều tương tự cũng xảy ra với Mô phỏng luyện kim và các biến thể tìm kiếm ngẫu nhiên khác (Tôi giả sử bạn không có quyền truy cập vào HMC và tất cả nhạc jazz đó).
Vì vậy, khi bạn cần một cú đánh tốt nhất cho đồng tiền của mình khi nói đến một đánh giá chức năng duy nhất: Đi với phương pháp của Powell và cũng kiểm tra COBYLA; mặc dù là một thuật toán tối ưu hóa bị ràng buộc bởi vì nó sẽ tuyến tính gần đúng độ dốc của hàm của bạn để tăng tốc mọi thứ, nó sẽ có thể tận dụng lợi thế của tuyến tính của hàm. Cũng chắc chắn thử NLopt cho Python . Họ có rất nhiều tối ưu hóa không có độ dốc; thử UOBYQA; đó cũng là đứa con tinh thần của Powell (Tối ưu hóa không bị ràng buộc bởi các xấp xỉ bậc hai).
Rất ngắn gọn: Các thuật toán N-CG phụ thuộc vào tính toán Hessian và Hessian của bạn có vẻ rất tốn kém để tính toán. NLCG và BFGS không yêu cầu mặc dù có thể thử tính toán nó một lần trong bước đầu tiên.
Tôi đã bỏ qua thuật toán đơn giản vì nó là một con quái vật hoàn toàn khác; không có gì để làm với độ dốc như vậy. Hãy thử nó nhưng tôi không thể thực sự nhận xét về nó; nó thực sự phụ thuộc vào bản chất vấn đề của bạn.
Để có tài liệu tham khảo tốt đầu tiên về tối ưu hóa số, cuốn sách Phương pháp lặp để tối ưu hóa của CTKelly sẽ giúp bạn đi khá xa, khá độc đáo.