जब किसी विशेष विधि का उपयोग नहीं करना है और नहीं करना है, तो आपके पास डेटा के प्रकार पर काफी हद तक निर्भर करता है। nlm
अगर संभावना सतह विशेष रूप से "खुरदरी" नहीं है और हर जगह अलग है, तो बस ठीक काम करेगा। nlminb
विशेष रूप से बाउंडिंग बॉक्स के लिए पैरामीटर मानों को बाध्य करने का एक तरीका प्रदान करता है। optim
, जो शायद सबसे अधिक उपयोग किया जाने वाला अनुकूलक है, कुछ अलग अनुकूलन मार्ग प्रदान करता है; उदाहरण के लिए, BFGS, L-BFGS-B, और सिम्युलेटेड एनेलिंग (SANN विकल्प के माध्यम से), जिनमें से उत्तरार्द्ध आपके लिए एक कठिन अनुकूलन समस्या होने पर काम कर सकता है। CRAN पर कई आशावादी भी उपलब्ध हैं। rgenoud
, उदाहरण के लिए, अनुकूलन के लिए एक आनुवंशिक एल्गोरिथ्म प्रदान करता है।DEoptim
एक अलग आनुवंशिक अनुकूलन दिनचर्या का उपयोग करता है। जेनेटिक एल्गोरिदम को अभिसरण करने के लिए धीमा किया जा सकता है, लेकिन आमतौर पर समयावधि में छूट होने पर भी (समय में) अभिसरण की गारंटी दी जाती है। मैं इसके बारे में नहीं जानता DEoptim
, लेकिन समानांतर प्रसंस्करण के rgenoud
लिए उपयोग करने के snow
लिए तैयार है, जो कुछ हद तक मदद करता है।
तो, शायद कुछ हद तक असंतोषजनक उत्तर यह है कि nlm
यदि आपके पास मौजूद डेटा के लिए काम करता है तो आपको या किसी अन्य ऑप्टिमाइज़र का उपयोग करना चाहिए । आप एक अच्छी तरह से व्यवहार संभावना है, तो दिनचर्या के किसी भी द्वारा प्रदान की optim
या nlm
आप एक ही परिणाम दे देंगे। कुछ अन्य की तुलना में तेज़ हो सकते हैं, जो कि डेटासेट के आकार के आधार पर, कोई फर्क नहीं पड़ता है या हो सकता है, जैसे कि कितने मापदंडों के लिए ये रूटीन संभाल सकते हैं, मुझे नहीं पता, हालांकि यह संभवतः काफी कम है। बेशक, आपके पास जितने अधिक पैरामीटर हैं, उतनी ही अधिक संभावना है कि आप अभिसरण के साथ समस्याओं में भाग लेंगे।