Türev olmayan optimize ediciler için iki ana test işlevi türü vardır:
- başlangıç noktaları olan Rosenbrock fonksiyonu ff. gibi tek astarlar
- enterpolatörlü gerçek veri noktası setleri
10d Rosenbrock'u gerçek 10d problemleriyle karşılaştırmak mümkün mü?
Çeşitli şekillerde karşılaştırılabilir: yerel minima'nın yapısını tanımlayın
veya Rosenbrock ve bazı gerçek problemler üzerinde ABC optimize edicileri çalıştırın;
ama her ikisi de zor görünüyor.
(Belki teorisyenler ve deneyciler birbirinden oldukça farklı iki kültür, bu yüzden kimera isterim?)
Ayrıca bakınız:
- scicomp.SE soru: Test algoritmaları / rutinleri için iyi veri setleri / test problemleri nereden elde edilebilir?
- Hooker, "Sezgisel Test: Her Şeye Yanlış Yapıyoruz" korkutuyor: "rekabete verilen vurgu ... bize hangi algoritmaların daha iyi olduğunu, ama neden olmadığını söylüyor."
(2014 Eylül ile eklenmiştir):
BOBYQA PRAXIS SBPLX den: arsa altında 10 rastgele başlangıç noktalarından 8d 14 test fonksiyonları 3 DFO algoritmaları karşılaştırır NLOpt
altında 14 N boyutlu test fonksiyonları Python gist.github bundan Matlab A. Her fonksiyonun sınırlayıcı kutusunda Hedar × 10 eşit rastgele başlangıç noktaları.
Örneğin Ackley'de en üst sıra SBPLX'in en iyi ve PRAXIS'in korkunç olduğunu gösteriyor; Schwefel'de, sağ alt panel SBPLX'i 5. rastgele başlangıç noktasında minimum bulduğunu gösterir.
Genel olarak, BOBYQA en iyi 1, 5 PRAXIS ve 13 test fonksiyonunun 7'sinde SBPLX (~ yeniden başlatma ile Nelder-Mead), Powersum a tossup ile. YMMV! Johnson özellikle şöyle diyor: "Global optimizasyonda fonksiyon değeri (ftol) veya parametre toleransları (xtol) kullanmamanızı tavsiye ederim."
Sonuç: tüm paranızı bir ata veya tek bir test fonksiyonuna koymayın.