Tampaknya ada dua jenis fungsi pengujian utama untuk pengoptimal tanpa-derivatif:
- satu garis seperti fungsi Rosenbrock , dengan titik awal
- set poin data nyata, dengan interpolator
Apakah mungkin untuk membandingkan katakanlah 10d Rosenbrock dengan masalah 10d nyata?
Orang dapat membandingkan dengan berbagai cara: menggambarkan struktur minimum lokal,
atau menjalankan pengoptimal ABC di Rosenbrock dan pada beberapa masalah nyata;
tetapi keduanya tampaknya sulit.
(Mungkin para ahli teori dan peneliti hanyalah dua budaya yang sangat berbeda, jadi saya minta chimera?)
Lihat juga:
- scicomp.SE pertanyaan: Di mana orang bisa mendapatkan set data yang baik / masalah pengujian untuk algoritma / rutinitas pengujian?
- Hooker, "Menguji Heuristik: We Have It All Wrong" sangat tajam: "penekanan pada kompetisi ... memberi tahu kita algoritma mana yang lebih baik tetapi bukan mengapa."
(Ditambahkan di September 2014):
Plot bawah ini membandingkan 3 algoritma DFO pada 14 fungsi tes di 8d dari 10 random start poin: BOBYQA PRAXIS SBPLX dari NLOpt
14 N-dimensi fungsi tes, Python bawah gist.github dari ini Matlab oleh A. Hedar × 10 titik awal seragam-acak di kotak pembatas fungsi masing-masing.
Di Ackley, misalnya, baris atas menunjukkan bahwa SBPLX adalah yang terbaik dan PRAXIS mengerikan; pada Schwefel, panel kanan bawah menunjukkan SBPLX menemukan minimum pada titik awal acak ke-5.
Secara keseluruhan, BOBYQA yang terbaik pada 1, PRAXIS pada 5, dan SBPLX (~ Nelder-Mead dengan restart) pada 7 dari 13 fungsi tes, dengan Powersum melakukan undian. YMMV! Secara khusus, Johnson berkata, "Saya akan menyarankan Anda untuk tidak menggunakan fungsi-nilai (ftol) atau toleransi parameter (xtol) dalam optimasi global."
Kesimpulan: jangan letakkan semua uang Anda di atas satu kuda, atau pada satu fungsi tes.