เหตุใด SQP จึงดีกว่า Augmented Lagrangian สำหรับการโปรแกรมแบบไม่เชิงเส้น?


9

ในรายงานทางเทคนิคเกี่ยวกับกาลาฮัด [1] ผู้แต่งระบุในบริบทของปัญหาการเขียนโปรแกรมแบบไม่เชิงเส้นทั่วไป

สำหรับจิตใจของเราไม่เคยสงสัยเลยว่าวิธีการ SQP [การเขียนโปรแกรมกำลังสองตามลำดับ] จะประสบความสำเร็จมากขึ้น [มากกว่าวิธี Augmented Lagrangian] ในระยะยาว ...

อะไรคือพื้นฐานของความเชื่อนั้น เช่นมีผลทางทฤษฎีใด ๆ ที่แนะนำวิธี SQP ควรเร็วขึ้น / เชื่อถือได้มากกว่าวิธี Augmented Lagrangian หรือไม่?

[1] Galahad ห้องสมุดของแพ็คเกจ Fortran 90 ที่ปลอดภัยสำหรับการเพิ่มประสิทธิภาพแบบไม่เชิงเส้นขนาดใหญ่โดย Gould, Orban และ Toint

คำตอบ:


2

วิธีการ SQP ต้องว่าวัตถุประสงค์อนุพันธ์ได้สองครั้ง (CF https://en.m.wikipedia.org/wiki/Sequential_quadratic_programming ) ในขณะที่ Augmented Lagrangians ทำงานแม้ในขณะที่วัตถุประสงค์คือ nondifferentiable (เพราะฉะนั้นการฟื้นตัวล่าสุดของพวกเขาในการประมวลผลภาพ CF ชุมชนftp: //arachne.math.ucla.edu/pub/camreport/cam09-05.pdf )

ฉันไม่รู้เกี่ยวกับซอฟต์แวร์ galahad แต่ถ้าควรแก้ไขปัญหาการเพิ่มประสิทธิภาพ differentiable มันอาจจะทำได้ดีกว่ามากโดยใช้วิธีที่อนุญาตให้แยกความแตกต่างของฟังก์ชันวัตถุประสงค์


ไม่เป็นความจริงที่ SQP ต้องการฟังก์ชันวัตถุประสงค์ที่แตกต่างกันสองครั้ง คุณอาจได้รับวิธีการที่มีอัตราการบรรจบกันน้อยกว่าหากฟังก์ชันวัตถุประสงค์มีความแตกต่างน้อยกว่า แต่ก็เหมือนกับวิธีการเติม Lagrangian
Wolfgang Bangerth

2

ในแง่ของการทำซ้ำรอบนอก SQP ควรชนะเพราะมันมีข้อมูลอนุพันธ์อันดับสองในขณะที่วิธีการเพิ่ม lagrangian เช่น ADMM ไม่ได้

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

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

(ATA+ρI)x=b,
Aρminx||Axb||2

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

Hx=g,
HgA

Hessians ที่มีเงื่อนไขล่วงหน้าเป็นธุรกิจที่ค่อนข้างยุ่งยากและมีการศึกษาน้อยกว่าการแก้ไขปัญหาล่วงหน้า วิธีมาตรฐานคือการประมาณค่า Hessian inverse ด้วย L-BFGS แต่วิธีนี้มีประสิทธิผล จำกัด เมื่อ Hessian inverse มีระดับสูง อีกวิธีที่ได้รับความนิยมคือประมาณ Hessian ว่าเป็นผลรวมของเมทริกซ์ระดับต่ำบวกเมทริกซ์กลับหัวได้ง่าย แต่นี่ก็มีประสิทธิภาพที่ จำกัด สำหรับปัญหาที่ยาก เทคนิคการประมาณค่าอื่น ๆ ที่ได้รับความนิยมของ Hessian นั้นมีพื้นฐานมาจากการประมาณแบบเบาบาง แต่ปัญหาต่อเนื่องมักจะมี Hessians ที่มีการประมาณแบบเบาบาง


+1 แม้ว่าฉันต้องการระมัดระวังคำแถลงแบบครอบคลุม (ซึ่งฉันไม่ได้หมายถึงคำตอบนี้โดยเฉพาะ) ตัวอย่างเช่นในการปรับให้เหมาะสมแบบ จำกัด PDE การใช้มักจะเกี่ยวข้องกับการแก้ PDE ที่ไม่เชิงเส้นในขณะที่สามารถนำมาใช้โดยการแก้ PDE เชิงเส้นสองเส้นซึ่งอาจมีราคาถูกลงอย่างมาก AH
Christian Clason

ดังนั้นสามารถนำไปใช้โดยการแก้ PDE สองตัว แต่เพื่อใช้คุณต้องแก้ 2 PDE ต่อ kryolv ซ้ำในตัวแก้ของคุณ ในทางกลับกันเป็นตัวดำเนินการส่งต่อดังนั้นจึงมักจะไม่เกี่ยวข้องกับการแก้ไข PDE ใด ๆ เลย โดยทั่วไปแล้วคน ๆ หนึ่งรู้จักเมทริกซ์อย่างชัดเจนเช่นลายฉลุผลต่างอัน จำกัด 5 จุดบนตาข่าย Preconditioners สำหรับสามารถใช้ในการสร้าง preconditioners สำหรับแต่มันเป็นเรื่องยากที่จะใช้พวกเขาให้เงื่อนไขHHH1AAAATA+ρIH
Nick Alger

ถ้า เป็นตัวดำเนินการส่งต่อแบบเชิงเส้น (ซึ่งไม่ใช่กรณีในการปรับให้เหมาะสมแบบไม่เชิงเส้น PDE) นั่นแสดงว่าคุณมีความถูกต้องแน่นอน มิฉะนั้นการใช้จะต้องใช้ PDE เชิงเส้นแก้ปัญหาต่อการทำซ้ำของนิวตัน (หรือการทำซ้ำจุดคงที่) ตามด้วยอีกอันสำหรับ (ซึ่งเป็นเส้นตรงเสมอ) วิธีใดในสองวิธีนี้ต้องการการทำงานทั้งหมดน้อยลง (พูดตามจำนวนการแก้ปัญหา PDE เชิงเส้น) ขึ้นอยู่กับปัญหาเฉพาะอย่างมาก เครื่องมือที่แตกต่างสำหรับงานที่แตกต่างกันคือทั้งหมดที่ฉันพูด AAAT
Christian Clason

ฉันเห็นด้วยเกี่ยวกับเครื่องมือต่าง ๆ สำหรับงานต่าง ๆ The Gauss-Newton Hessian สำหรับปัญหาการปรับให้เหมาะสมแบบ จำกัด PDE ที่ฉันมีอยู่ในใจ -อย่างนั้น - คือและ Hessian เต็มคือนี่รวมถึงข้อกำหนดอื่น ๆ ดังนั้นที่นี่มีผู้ผกผันสองคนและมีผู้ผกผันสองคนภายในการผกผัน minq,u12||Cuy||2+α2||Rq||2Au=qH=ATCTCA1+αRTRHH1
Nick Alger

และฉันมีข้อ จำกัดในใจ (เช่นแมปกับโซลูชันของซึ่งปรากฏในการระบุพารามิเตอร์หรือการปรับแต่งโทโพโลยี) S(q)=uSqu(qu)=f
Christian Clason
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.