Berdasarkan apa yang Anda katakan: Saya berasumsi Anda harus mengoptimalkan 50 variabel; Saya juga berasumsi bahwa Anda mengalami situasi yang sangat mahal untuk menemukan turunan analitik (apalagi mengeluarkan angka) dan optimasi Anda tidak dibatasi.
Biarkan saya tekankan, Anda sedikit tidak beruntung menyebabkan antara 25-30 dan 100 variabel itu adalah sedikit zona senja ketika datang untuk memilih antara rutinitas optimasi skala besar atau kecil. Karena itu, tidak ada yang hilang.
Mengingat bahwa turunan orde pertama sekalipun mahal untuk menghilangkan jenis itu dapat membunuh ide metode Newton. Anda mungkin memiliki sedikit keberuntungan dengan Quasi-Newton (BFGS) meskipun jika Goni Anda agak diagonal seperti memulai. CG biasanya sedikit lebih lambat dari BFGS jadi mungkin itu tidak akan banyak meningkatkan hal-hal; gunakan jika memori juga merupakan masalah (atau gunakan saja L-BFGS dalam kasus itu). Selain itu mengingat betapa lambatnya mengevaluasi fungsi Anda, algoritma pencarian garis / curam paling sederhana akan sangat lambat; hal yang sama berlaku dengan Simulated Annealing dan varian pencarian acak lainnya (saya berasumsi Anda tidak memiliki akses ke HMC dan semua jazz itu).
Jadi, ketika Anda membutuhkan bang terbaik untuk uang Anda ketika datang ke evaluasi fungsi tunggal: Pergilah dengan metode Powell dan juga tes COBYLA; meskipun merupakan algoritma optimasi terbatas karena akan linier secara internal memperkirakan gradien fungsi Anda untuk mempercepat, ia akan dapat memanfaatkan linearitas fungsi Anda. Pasti juga mencoba NLopt untuk Python . Mereka memiliki banyak pengoptimal bebas-gradien; coba UOBYQA; itu adalah gagasan Powell juga (Optimasi Tanpa Batas DENGAN Perkiraan Kuadratik).
Secara singkat: Algoritma N-CG tergantung pada komputasi Hessian, dan Hessian Anda tampaknya sangat mahal untuk dihitung. NLCG dan BFGS tidak memerlukannya meskipun mungkin mencoba untuk mencoba menghitungnya sekali pada langkah pertama mereka.
Saya sengaja mengabaikan algoritma simpleks karena ini adalah binatang yang sama sekali berbeda; tidak ada hubungannya dengan gradien seperti itu. Cobalah tetapi saya tidak bisa mengomentarinya; itu benar-benar tergantung pada sifat masalah Anda.
Untuk referensi pertama yang baik tentang pengoptimalan numerik Buku CTKelly, Metode Iteratif untuk Pengoptimalan akan membuat Anda cukup jauh, cukup baik.