ไม่เชิงเส้นกำลังสองน้อยที่สุดพร้อมข้อ จำกัด ของกล่อง


10

อะไรคือวิธีที่แนะนำในการทำสแควร์สไม่เชิงเส้นอย่างน้อย minโดยมีข้อ จำกัด ของกล่อง ? ดูเหมือนว่าฉัน (คนเขลา ) ว่าใครจะทำให้ข้อ จำกัด กล่องกำลังสองและลด ที่คือ "อ่างฟังก์ชั่น" มีรูปร่างเหมือน \ _ _ _ / HI) ทฤษฎีนี้ใช้งานได้จริงหรือไม่? (ดูเหมือนว่าจะมีบทความเชิงทฤษฎีมากมายเกี่ยวกับ NLS + แต่ความสนใจของฉันเป็นจริง - กรณีทดสอบจริงหรือจริงจะช่วยให้ฉันเลือกระหว่างวิธีการ)erri(p)2loj<=pj<=hij

ierri(p)2+Cjtub(pj,loj,hij)2
m a x ( ltub(x,lo,hi)max(lox,0,xhi)


(ผู้เชี่ยวชาญโปรดเพิ่มแท็ก: "กำลังสองน้อยที่สุด"?)


5
การแทนที่ข้อ จำกัด ที่เข้มงวดด้วยฟังก์ชันการลงโทษเป็นเทคนิคทั่วไปในการเพิ่มประสิทธิภาพเชิงตัวเลข ดูเหมือนว่าสิ่งที่คุณเสนอเป็นรูปแบบเฉพาะของการแทนที่นั้น คุณสามารถอ่านทั้งหมดเกี่ยวกับเทคนิคที่คล้ายกันเช่นที่นี่: stanford.edu/~boyd/cvxbook
David Ketcheson

คุณสามารถใช้การตั้งค่าที่เหมาะสมของเพื่อตอบสนองข้อ จำกัด ของกล่อง (ตัวอย่างเช่นสำหรับการแก้ปัญหา NLS นั้น Levenberg-Marquardt นั้นดีพอเกือบตลอดเวลา บางทีอาจจะรวมกับการเพิ่มประสิทธิภาพการสุ่มระดับโลกเช่นการอบจำลองบาง toolboxes เชิงพาณิชย์ก็ดูเหมือนว่าจะวิธีการภูมิภาคเสนอความไว้วางใจขึ้นอยู่กับการปรับตัวแบบจำลองพื้นผิวตอบสนองซึ่งมีลักษณะเหมือนทั่วไปที่เหมาะสมของ Levenberg-Marquardt ฉัน..ppi=min(max(loj,pj),hij)
โทมัส Klimpel

คำตอบ:


11

การเพิ่มเงื่อนไขการลงโทษกำลังสองเพื่อกำจัดข้อ จำกัด นั้นเป็นวิธีการง่ายๆที่ให้ความแม่นยำในการสั่งซื้อ 1 / ปัจจัยการลงโทษเท่านั้น ดังนั้นจึงไม่แนะนำให้มีความแม่นยำสูงเว้นแต่คุณจะปล่อยให้การลงโทษนั้นไม่มีที่สิ้นสุดในระหว่างการคำนวณ แต่ปัจจัยการลงโทษที่สูงทำให้ Hessian มีสภาพที่ไม่ดีมากซึ่งจำกัดความแม่นยำทั้งหมดที่ทำได้โดยไม่คำนึงถึงข้อ จำกัด อย่างชัดเจน

โปรดทราบว่าข้อ จำกัด ที่ถูกผูกไว้มีมากง่ายต่อการจัดการกว่าข้อ จำกัด ทั่วไปดังนั้นพวกเขาจะแทบไม่เคยแปลงเป็นบทลงโทษ

ตัวแก้ปัญหา L-BFGS-B (ใช้กับประวัติประมาณ 5 มิติ) มักจะแก้ปัญหาข้อ จำกัด ที่ถูกผูกไว้อย่างน่าเชื่อถือและรวดเร็วทั้งในมิติที่สูงต่ำ ข้อยกเว้นเป็นการเข้าใจผิดเกี่ยวกับปัญหาที่อาจกลายเป็นทางออกที่แบนราบมากซึ่งจะง่ายต่อการติดกับวิธีการสืบเชื้อสาย

เราทำการทดลองจำนวนมากเกี่ยวกับฟังก์ชั่นที่หลากหลายในหลายมิติพร้อมตัวแก้ปัญหาที่แตกต่างกันมากมายเนื่องจากเราต้องการเครื่องมือแก้ปัญหาที่มีข้อ จำกัด ที่แข็งแกร่งมากซึ่งเป็นส่วนหนึ่งของซอฟต์แวร์เพิ่มประสิทธิภาพระดับโลกของเรา L-BFGS-B มีความชัดเจนว่าเป็นวิธีการใช้งานทั่วไปแม้ว่าแน่นอนว่าปัญหาของ sme นั้นนักแก้ปัญหาอื่นจะทำงานได้ดีกว่าอย่างมาก ดังนั้นฉันขอแนะนำ L-BFGS-B เป็นตัวเลือกแรกและจะลองใช้เทคนิคทางเลือกในกรณีที่ L-BFGS-B จัดการกับปัญหาเฉพาะของคุณในระดับที่ไม่ดี


L-BFGS มีให้ใน IPOPT ฉันแก้ไขคำตอบของฉัน
Ali

5

ฉันก็จะใช้ NLP วัตถุประสงค์ทั่วไปแก้ IPOPT มันเป็นตัวแก้ปัญหาที่แข็งแกร่งที่สุดในบรรดาที่ฉันได้ลอง

ยกเว้นว่าคุณมีข้อกำหนดพิเศษบางอย่างไม่มีเหตุผลที่คุณควรยืนยันในตัวแก้ปัญหาเฉพาะที่ใช้ได้กับ NLS ที่มีข้อ จำกัด เรื่องกล่องเท่านั้น

การเปลี่ยนแปลงข้อกำหนด (เช่นการเพิ่มข้อ จำกัด ที่ไม่เชิงเส้น) อาจทำให้เกิดอาการปวดศีรษะครั้งใหญ่พร้อมกับตัวแก้ไขปัญหาเฉพาะ คุณจะไม่มีปัญหาดังกล่าวหากคุณใช้ IPOPT ที่ใช้งานทั่วไป


อัปเดต: คุณสามารถลอง L-BFGS ด้วย IPOPTดูภายใต้ Quasi-Newton ในเอกสาร

ขั้นตอนการแก้ปัญหาสามารถกลายเป็นเร็วขึ้นด้วยค่าใช้จ่ายในการทำลายความทนทานที่โดดเด่นของ IPOPT ในความคิดของฉันใช้อนุพันธ์ที่แน่นอนหากพวกเขามีอยู่ ฉันจะเริ่มยุ่งกับการประมาณค่า (เช่น L-BFGS) เฉพาะเมื่อฉันได้พิสูจน์ปัญหาด้านประสิทธิภาพแล้ว


ฉันไม่รู้ว่า IPOPT ทำงานได้ดีเพียงใด แต่ข้อเสนอแนะของคุณทำให้ฉันนึกถึงข้อความที่คล้ายกันโดยผู้สนับสนุนวิธีดาวน์ฮิลล์ซิมเพล็กซ์ เนื่องจากช่องสี่เหลี่ยมน้อยที่สุดแบบไม่เชิงเส้นเป็นคลาสปัญหาที่พบบ่อยการปฏิเสธทันทีโดยใช้หนึ่งในนักแก้ปัญหา NLS ที่มีอยู่จึงดูน่าสงสัยสำหรับฉัน
โทมัสคลิมเพล

@ThomasKlimpel ทีนี้เดนิสควรให้รายละเอียดเพิ่มเติมกับเราแล้วเราจะช่วยเขาเลือกนักแก้ปัญหาที่เหมาะสม :) หรือเขาสามารถตรวจสอบด้วยตัวเองและค้นหาสิ่งที่เหมาะกับความต้องการของเขาที่สุด IPOPT น่าจะเป็นตัวแก้ที่ดีในการเริ่มต้น
Ali

@ Ali คุณสามารถชี้ให้ "กรณีทดสอบจริงหรือสมจริง" ได้มั้ย
เดนิส

@denis ฉันทำได้ แต่ฉันไม่มีความตั้งใจที่จะทำเช่นนั้นมันจะทำให้คุณเลิกติดตาม สิ่งเดียวที่สำคัญคือวิธีการ IPOPT จัดการกับปัญหาของคุณ นอกจากว่าคุณมีความต้องการพิเศษมาก ๆ มันก็ควรจะแก้มันให้ดี IPOPT มีส่วนต่อประสานกับ MATLAB, C ++, C, Fortran, R, AMPL, CUTEr เลือกหนึ่งอินเทอร์เฟซและทดสอบสิ่งที่เกิดขึ้นกับปัญหาของคุณ :) การทดสอบตัวแก้ปัญหาเฉพาะจะไม่ง่ายขึ้นเช่นกัน
Ali

@Thomas Klimpel เดาว่าฉันไม่ชัดเจน: ฉันไม่ปฏิเสธไม่ถามเกี่ยวกับแพ็คเกจ แต่ขอข้อมูลเชิงลึกหรือกรณีทดสอบ: ทำไมวิธีการเล็กน้อยนี้อาจใช้งานไม่ได้?
เดนิส

1

แพคเกจ R minpack.lm CRANให้การดำเนินงาน Levenberg-Marquardt มีข้อ จำกัด กล่อง

โดยทั่วไป Levenberg-Marquardt นั้นเหมาะสมกว่า L-BFGS-B มากสำหรับปัญหากำลังสองน้อยที่สุด มันจะรวมกัน (มาก) ดีกว่าในปัญหาที่ท้าทาย มันจะเร็วกว่า IPOPT วัตถุประสงค์ทั่วไปมากเนื่องจากปรับให้เหมาะกับปัญหากำลังสองน้อยที่สุดที่ไม่เป็นเชิงเส้น

แพ็คเกจ R เลือกวิธีการฉายที่ตรงไปตรงมามากเพื่อบังคับใช้ข้อ จำกัด (ดูซอร์สโค้ด ) ขึ้นอยู่กับการใช้งาน LM ที่คุณใช้อาจเป็นเรื่องง่ายที่จะรวม

ตอนนี้ข้อเสนอแนะในความคิดเห็นของการใช้การแปลง (ตัวอย่างเช่นการแปลงไซน์เช่นเดียวกับ scipy) ก็เป็นทางเลือกที่ดีและง่ายในการเปลี่ยนอัลกอริทึม LM ที่ไม่มีข้อ จำกัด ของคุณให้กลายเป็นข้อ จำกัด คุณจะต้องรวมการเปลี่ยนแปลงใน Jacobian ด้วยถ้า Jacobian นั้นเป็นบทวิเคราะห์


0

(ปีต่อมา) นักแก้ปัญหาสองคนที่จัดการกับข้อ จำกัด ของกล่อง:

  • Scipy less_squares มี 3 วิธีด้วย doc หลากหลาย:

    1. 'trf': Trust Region Reflective
    2. 'dogbox'
    3. 'lm': wrapper ดั้งเดิมสำหรับ MINPACK โดยไม่มีข้อ จำกัด ด้านกล่อง
  • เซเรส

1
Scipy หนึ่งบอกอย่างชัดเจนว่าอัลกอริทึม Levenberg-Marquardt ไม่สามารถจัดการข้อ จำกัด กล่อง
Tholy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.