ขึ้นอยู่กับสิ่งที่คุณพูดว่า: ฉันคิดว่าคุณต้องปรับให้เหมาะสมสำหรับ 50 ตัวแปร; ฉันยังสมมติว่าคุณกำลังมีสถานการณ์ที่มีราคาแพงมากในการค้นหาอนุพันธ์การวิเคราะห์ (นับประสาออกตัวเลข) และการเพิ่มประสิทธิภาพของคุณจะไม่มีข้อ จำกัด
ให้ฉันเครียดคุณเป็นคนที่ทำให้เกิดความอับอายระหว่าง 25-30 ถึง 100 ตัวแปรมันเป็นช่วงเวลาพลบค่ำเมื่อมันมาถึงการเลือกระหว่างการเพิ่มประสิทธิภาพขนาดใหญ่หรือขนาดเล็ก ต้องบอกว่าแม้ว่าจะไม่มีอะไรหายไป
เนื่องจากอนุพันธ์ลำดับที่หนึ่งถึงแม้จะมีราคาแพงในการกำจัดความคิดของวิธีการของนิวตัน คุณอาจมีโชคกับ Quasi-Newton (BFGS) แม้ว่า Hessian ของคุณจะมีแนวทแยงเล็กน้อยเริ่มต้นด้วย CG มักจะช้ากว่า BFGS เล็กน้อยนั่นอาจจะไม่ปรับปรุงอะไรมากมาย ใช้ถ้าหน่วยความจำยังเป็นปัญหา (หรือเพียงแค่ไปหา L-BFGS ในกรณีนั้น) นอกจากนี้เมื่อพิจารณาว่าการประเมินฟังก์ชั่นของคุณช้าแค่ไหนขั้นตอนวิธีการสืบเชื้อสาย / การค้นหาบรรทัดที่ชันที่สุดจะช้ามาก สิ่งเดียวกันกับ Simulated Annealing และตัวแปรการค้นหาแบบสุ่มอื่น ๆ (ฉันคิดว่าคุณไม่สามารถเข้าถึง HMC และแจ๊สทั้งหมดได้)
ดังนั้นเมื่อคุณต้องการปังที่ดีที่สุดสำหรับเจ้าชู้ของคุณเมื่อมันมาถึงการประเมินฟังก์ชั่นเดียว: ไปกับวิธีการของ Powell และทดสอบ COBYLA; แม้ว่าจะเป็นอัลกอริธึมการปรับให้เหมาะสมแบบ จำกัด เพราะมันจะทำหน้าที่เป็นเส้นตรงประมาณภายในการไล่ระดับสีของฟังก์ชันของคุณเพื่อเร่งความเร็วของสิ่งต่าง ๆ มันจะสามารถใช้ประโยชน์จากความเป็นเส้นตรงของฟังก์ชันของคุณ นอกจากนี้แน่นอนลองNLopt สำหรับงูหลาม มีเครื่องมือเพิ่มประสิทธิภาพไล่ระดับสีฟรีมากมาย ลอง UOBYQA; มันเป็นผลิตผลทางสมองของ Powell ด้วย (การเพิ่มประสิทธิภาพแบบไม่ จำกัด โดยการประมาณกำลังสอง)
สั้นมาก: อัลกอริทึม N-CG ขึ้นอยู่กับการคำนวณ Hessian และ Hessian ของคุณดูเหมือนจะมีราคาแพงมากในการคำนวณ NLCG และ BFGS ไม่จำเป็นต้องใช้แม้ว่าอาจลองลองคำนวณหนึ่งครั้งในขั้นตอนแรก
ฉันปล่อยอัลกอริทึม simplex ตามวัตถุประสงค์เพราะมันเป็นสัตว์ที่แตกต่างกันโดยสิ้นเชิง ไม่มีส่วนเกี่ยวข้องกับการไล่ระดับสีเช่นนี้ ลองใช้ แต่ฉันไม่สามารถให้ความเห็นได้ มันขึ้นอยู่กับลักษณะของปัญหาของคุณ
สำหรับการอ้างอิงที่ดีเป็นครั้งแรกเกี่ยวกับการเพิ่มประสิทธิภาพเชิงตัวเลขวิธีการวนซ้ำของหนังสือสำหรับการเพิ่มประสิทธิภาพของ CTKelly จะทำให้คุณอยู่ไกล