กลับไปหน้าบทความ

อ่าน 11 นาที

การเพิ่มประสิทธิภาพแบบนูน

เปลี่ยนทางจากหัวข้อย่อย

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

การเพิ่มประสิทธิภาพแบบนูน

การหาค่าเหมาะสมที่สุดแบบนูนเป็นสาขาย่อยของการหาค่าเหมาะสมที่สุดทางคณิตศาสตร์ที่ศึกษาปัญหาการลดค่าฟังก์ชันนูนบนเซตแบบนูน (หรือเทียบเท่ากับการเพิ่มค่าฟังก์ชันเว้าบนเซตแบบนูน) ปัญหาการหาค่าเหมาะสมที่สุดแบบนูนหลายประเภทยอมรับอัลกอริทึมแบบเวลาพหุนาม[ 1 ]ในขณะที่การหาค่าเหมาะสมที่สุดทางคณิตศาสตร์โดยทั่วไปเป็นปัญหา NP- hard [ 2 ] [ 3 ] [ 4 ]

คำนิยาม

แบบฟอร์มบทคัดย่อ

ปัญหาการเพิ่มประสิทธิภาพแบบนูนถูกกำหนดโดยส่วนประกอบสองอย่าง: [ 5 ] [ 6 ]

  • ฟังก์ชันเป้าหมาย ซึ่งเป็น ฟังก์ชันนูนค่าจริงของ ตัวแปร nตัว เอฟ:ดีอาร์nอาร์{\displaystyle f:{\mathcal {D}}\subseteq \mathbb {R} ^{n}\to \mathbb {R} };
  • เซตที่เป็นไปได้ซึ่งเป็นเซตย่อยนูนซีอาร์n{\displaystyle C\subseteq \mathbb {R} ^{n}}.

เป้าหมายของปัญหานี้คือการค้นหาบางสิ่งx*ซี{\displaystyle \mathbf {x^{\ast }} \in C}การบรรลุผลสำเร็จ

ข้อมูล{เอฟ(x):xซี}{\displaystyle \inf\{f(\mathbf {x} ):\mathbf {x} \in C\}}.

โดยทั่วไป มีตัวเลือกสามประการเกี่ยวกับการมีอยู่ของวิธีแก้ปัญหา: [ 7 ] :บทที่ 4

  • ถ้ามีจุดx * ดังกล่าวอยู่จริง จุดนั้นจะถูกเรียกว่า จุด หรือคำตอบที่เหมาะสมที่สุดเซตของจุดที่เหมาะสมที่สุดทั้งหมดเรียกว่าเซตที่เหมาะสมที่สุดและปัญหาดังกล่าวเรียกว่าปัญหาที่สามารถแก้ไขได้
  • ถ้าเอฟ{\displaystyle f}ไม่มีขอบเขตด้านล่างเหนือซี{\displaystyle C}หรือหากไม่สามารถหาค่าต่ำสุดได้ ปัญหาการหาค่าที่เหมาะสมที่สุดก็จะเรียกว่าไม่มีขอบเขต
  • มิฉะนั้น หากซี{\displaystyle C}ถ้าเซตนั้นเป็นเซตว่าง ปัญหาดังกล่าวจะเรียกว่าไม่สามารถแก้ไขได้

แบบฟอร์มมาตรฐาน

ปัญหาการหาค่าเหมาะสมที่สุดแบบนูนจะอยู่ในรูปแบบมาตรฐานหากเขียนในรูปแบบนี้

ลดให้น้อยที่สุดxเอฟ(x)คุณเจอีซีที ทีโอจีฉัน(x)0,ฉัน=1,,ชม.ฉัน(x)=0,ฉัน=1,,พี,{\displaystyle {\begin{aligned}&{\underset {\mathbf {x} }{\operatorname {minimize} }}&&f(\mathbf {x} )\\&\operatorname {subject\ to} &&g_{i}(\mathbf {x} )\leq 0,\quad i=1,\dots ,m\\&&&h_{i}(\mathbf {x} )=0,\quad i=1,\dots ,p,\end{aligned}}}

โดยที่: [ 7 ] :บทที่ 4

  • xอาร์n{\displaystyle \mathbf {x} \in \mathbb {R} ^{n}}คือเวกเตอร์ของตัวแปรการปรับให้เหมาะสมที่สุด
  • ฟังก์ชันวัตถุประสงค์เอฟ:ดีอาร์nอาร์{\displaystyle f:{\mathcal {D}}\subseteq \mathbb {R} ^{n}\to \mathbb {R} }เป็นฟังก์ชันนูน ;
  • ฟังก์ชันข้อจำกัดความไม่เท่าเทียมกันจีฉัน:อาร์nอาร์{\displaystyle g_{i}:\mathbb {R} ^{n}\to \mathbb {R} },ฉัน=1,,{\displaystyle i=1,\ldots ,m}เป็นฟังก์ชันนูน
  • ฟังก์ชันข้อจำกัดความเท่าเทียมกันชม.ฉัน:อาร์nอาร์{\displaystyle h_{i}:\mathbb {R} ^{n}\to \mathbb {R} },ฉัน=1,,พี{\displaystyle i=1,\ldots ,p}เป็นการแปลงเชิงเส้นตรง (affine transformations)กล่าวคือ มีรูปแบบดังนี้:ชม.ฉัน(x)=เอฉันxฉัน{\displaystyle h_{i}(\mathbf {x} )=\mathbf {a_{i}} \cdot \mathbf {x} -b_{i}}, ที่ไหนเอฉัน{\displaystyle \mathbf {a_{i}} }เป็นเวกเตอร์และฉัน{\displaystyle b_{i}}เป็นปริมาณสเกลาร์

ชุดที่เป็นไปได้ซี{\displaystyle C}ปัญหาการหาค่าเหมาะสมที่สุดประกอบด้วยจุดทั้งหมดxดี{\displaystyle \mathbf {x} \in {\mathcal {D}}}โดยสอดคล้องกับข้อจำกัดของอสมการและสมการ เซตนี้เป็นเซตแบบนูนเพราะดี{\displaystyle {\mathcal {D}}}เซตย่อยของฟังก์ชันนูนเป็นเซตนูน เซตเชิงเส้นเป็นเซตนูน และจุดตัดของเซตนูนเป็นเซตนูน[ 7 ] :บทที่ 2

ปัญหาการหาค่าเหมาะสมที่สุดหลายอย่างสามารถกำหนดในรูปแบบมาตรฐานนี้ได้เช่นกัน ตัวอย่างเช่น ปัญหาการหาค่าสูงสุดของฟังก์ชันเว้าเอฟ{\displaystyle f}สามารถเขียนใหม่ให้เทียบเท่ากับปัญหาของการลดค่าฟังก์ชันนูนให้เหลือน้อยที่สุดได้เอฟ{\displaystyle -f}ปัญหาของการเพิ่มค่าสูงสุดของฟังก์ชันเว้าเหนือเซตแบบนูนโดยทั่วไปเรียกว่าปัญหาการหาค่าเหมาะสมที่สุดแบบนูน[ 8 ]

รูปแบบจารึก (รูปแบบมาตรฐานที่มีวัตถุประสงค์เชิงเส้น)

ในรูปแบบมาตรฐานนั้น เป็นไปได้ที่จะถือว่าฟังก์ชันเป้าหมายfเป็นฟังก์ชันเชิงเส้น โดยไม่เสียความเป็นทั่วไป เนื่องจากโปรแกรมใดๆ ที่มีเป้าหมายทั่วไปสามารถแปลงเป็นโปรแกรมที่มีเป้าหมายเชิงเส้นได้โดยการเพิ่มตัวแปร t เพียงตัวเดียวและข้อจำกัด เพียงข้อเดียว ดังนี้: [ 9 ] : 1.4

ลดให้น้อยที่สุดx,ทีทีคุณเจอีซีที ทีโอเอฟ(x)ที0จีฉัน(x)0,ฉัน=1,,ชม.ฉัน(x)=0,ฉัน=1,,พี,{\displaystyle {\begin{aligned}&{\underset {\mathbf {x} ,t}{\operatorname {minimize} }}&&t\\&\operatorname {subject\ to} &&f(\mathbf {x} )-t\leq 0\\&&&g_{i}(\mathbf {x} )\leq 0,\quad i=1,\dots ,m\\&&&h_{i}(\mathbf {x} )=0,\quad i=1,\dots ,p,\end{aligned}}}

รูปทรงกรวย

โปรแกรมนูนทุกโปรแกรมสามารถนำเสนอในรูปแบบกรวยได้ ซึ่งหมายถึงการลดวัตถุประสงค์เชิงเส้นให้เหลือน้อยที่สุดเหนือจุดตัดของระนาบเชิงเส้นและกรวยนูน: [ 9 ] : 5.1

ลดให้น้อยที่สุดxซีทีxคุณเจอีซีที ทีโอx(+แอล)เค{\displaystyle {\begin{aligned}&{\underset {\mathbf {x} }{\operatorname {minimize} }}&&c^{T}x\\&\operatorname {subject\ to} &&x\in (b+L)\cap K\end{aligned}}}

โดยที่ K คือกรวยนูนปลายแหลม ปิด , L คือปริภูมิย่อยเชิงเส้นของ R nและ b คือเวกเตอร์ใน R nโปรแกรมเชิงเส้นในรูปแบบมาตรฐานเป็นกรณีพิเศษที่ K คือออร์แธนต์ที่ไม่เป็นลบของR n

การกำจัดข้อจำกัดความเท่าเทียมเชิงเส้น

เป็นไปได้ที่จะแปลงโปรแกรมแบบนูนในรูปแบบมาตรฐานให้เป็นโปรแกรมแบบนูนที่ไม่มีข้อจำกัดความเท่าเทียมกัน[ 7 ] : 132กำหนดให้ข้อจำกัดความเท่าเทียมกันh ( x )=0 เป็นAx = bโดยที่Aมีnคอลัมน์ ถ้าAx = bไม่สามารถหาคำตอบได้ แน่นอนว่าปัญหาเดิมก็ไม่สามารถหาคำตอบได้เช่นกัน มิฉะนั้น ปัญหาจะมีคำตอบx อยู่ และเซตของคำตอบทั้งหมดสามารถแสดงได้ดังนี้: Fz + x โดยที่zอยู่ในR k , k = n -rank( A ) และFเป็น เมทริกซ์ ขนาดn x kการแทนค่าx = Fz + x ในปัญหาเดิมจะได้:

ลดให้น้อยที่สุดxเอฟ(เอฟz+x0)คุณเจอีซีที ทีโอจีฉัน(เอฟz+x0)0,ฉัน=1,,{\displaystyle {\begin{aligned}&{\underset {\mathbf {x} }{\operatorname {minimize} }}&&f(\mathbf {F\mathbf {z} +\mathbf {x} _{0}} )\\&\operatorname {subject\ to} &&g_{i}(\mathbf {F\mathbf {z} +\mathbf {x} _{0}} )\leq 0,\quad i=1,\dots ,m\\\end{aligned}}}

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

กรณีพิเศษ

ปัญหาคลาสต่อไปนี้ล้วนเป็นปัญหาการหาค่าเหมาะสมที่สุดแบบนูน หรือสามารถลดให้เป็นปัญหาการหาค่าเหมาะสมที่สุดแบบนูนได้โดยการแปลงแบบง่ายๆ: [ 7 ] :บทที่ 4 [ 10 ]

ลำดับชั้นของปัญหาการหาค่าเหมาะสมที่สุดแบบนูน (LP: การเขียนโปรแกรมเชิงเส้น , QP: การเขียนโปรแกรมกำลังสอง , SOCP: การเขียน โปรแกรมกรวยลำดับที่สอง , SDP: การเขียนโปรแกรมกึ่งกำหนด , CP: การหาค่าเหมาะสมที่สุดแบบกรวย )

กรณีพิเศษอื่นๆ ได้แก่;

คุณสมบัติ

ต่อไปนี้เป็นคุณสมบัติที่มีประโยชน์ของปัญหาการหาค่าเหมาะสมที่สุดแบบนูน: [ 11 ] [ 7 ] :บทที่ 4

  • ทุกจุดที่เป็นจุดต่ำสุดเฉพาะที่ก็เป็นจุดต่ำสุดทั่วโลก ด้วยเช่น กัน
  • เซตที่เหมาะสมที่สุดเป็นเซตแบบนูน
  • ถ้าฟังก์ชันเป้าหมายเป็น ฟังก์ชันนูน อย่างเคร่งครัดปัญหาดังกล่าวจะมีจุดเหมาะสมที่สุดอย่างมากที่สุดเพียงจุดเดียว

ผลลัพธ์เหล่านี้ถูกนำไปใช้ในทฤษฎีการลดค่าต่ำสุดแบบนูน ร่วมกับแนวคิดทางเรขาคณิตจากการวิเคราะห์เชิงฟังก์ชัน (ในปริภูมิฮิลเบิร์ต) เช่นทฤษฎีบทการฉายภาพของฮิลเบิร์ตทฤษฎีบทระนาบแยกและเลมมาของฟาร์คั

อัลกอริทึม

ปัญหาที่ไม่ถูกจำกัดและปัญหาที่ถูกจำกัดด้วยความเท่าเทียมกัน

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

ในกลุ่มปัญหาที่ไม่มีข้อจำกัด (หรือมีข้อจำกัดแบบเท่ากัน) ปัญหาที่ง่ายที่สุดคือปัญหาที่วัตถุประสงค์เป็นฟังก์ชันกำลังสองสำหรับปัญหาเหล่านี้เงื่อนไข KKT (ซึ่งจำเป็นสำหรับความเหมาะสมที่สุด) ล้วนเป็นเชิงเส้น ดังนั้นจึงสามารถแก้ไขได้โดยวิธีวิเคราะห์[ 7 ] :บทที่ 11

สำหรับปัญหาที่ไม่ถูกจำกัด (หรือถูกจำกัดด้วยความเท่าเทียมกัน) ที่มีฟังก์ชันเป้าหมายนูนทั่วไปที่สามารถหาอนุพันธ์ได้สองครั้ง สามารถใช้ วิธีของนิวตันได้ อาจมองได้ว่าเป็นการลดปัญหาแบบนูนที่ไม่ถูกจำกัดทั่วไป ให้เป็นลำดับของปัญหาแบบกำลังสอง[ 7 ] :บทที่ 11วิธีของนิวตันสามารถรวมเข้ากับการค้นหาเส้นตรงสำหรับขนาดขั้นตอนที่เหมาะสม และสามารถพิสูจน์ทางคณิตศาสตร์ได้ว่าลู่เข้าอย่างรวดเร็ว

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

ปัญหาทั่วไป

ปัญหาที่ท้าทายกว่าคือปัญหาที่มีข้อจำกัดความไม่เท่าเทียมกัน วิธีแก้ปัญหาทั่วไปคือการลดปัญหาเหล่านั้นให้เป็นปัญหาที่ไม่มีข้อจำกัดโดยการเพิ่มฟังก์ชันกั้นซึ่งบังคับใช้ข้อจำกัดความไม่เท่าเทียมกันให้กับฟังก์ชันเป้าหมาย วิธีการดังกล่าวเรียกว่าวิธีการจุดภายใน[ 7 ] :บทที่ 11จะต้องเริ่มต้นด้วยการหาจุดภายในที่เป็นไปได้โดยใช้วิธีการที่เรียกว่าเฟส Iซึ่งจะหาจุดที่เป็นไปได้หรือแสดงว่าไม่มีจุดที่เป็นไปได้ วิธีการเฟส I โดยทั่วไปประกอบด้วยการลดการค้นหาที่เกี่ยวข้องให้เป็นปัญหาการหาค่าเหมาะสมที่สุดแบบนูนที่ง่ายกว่า[ 7 ] :บทที่ 11

ปัญหาการเพิ่มประสิทธิภาพแบบนูนสามารถแก้ไขได้ด้วยวิธีการร่วมสมัยดังต่อไปนี้: [ 12 ]

วิธีการซับเกรเดียนต์สามารถนำไปใช้ได้อย่างง่ายดายและจึงถูกนำมาใช้อย่างแพร่หลาย[ 15 ]วิธีการซับเกรเดียนต์แบบคู่คือวิธีการซับเกรเดียนต์ที่ใช้กับปัญหาคู่ วิธีการ ดริฟต์พลัสเพนัลตีคล้ายกับวิธีการซับเกรเดียนต์แบบคู่ แต่ใช้ค่าเฉลี่ยเวลาของตัวแปรหลัก

ตัวคูณลากรางจ์

พิจารณาปัญหาการหาค่าต่ำสุดแบบนูนที่กำหนดในรูปแบบมาตรฐานโดยฟังก์ชันต้นทุนเอฟ(x){\displaystyle f(x)}และข้อจำกัดด้านความไม่เท่าเทียมกันจีฉัน(x)0{\displaystyle g_{i}(x)\leq 0}สำหรับ1ฉัน{\displaystyle 1\leq i\leq m}จากนั้นโดเมนX{\displaystyle {\mathcal {X}}}เป็น:

X={xX|จี1(x),,จี(x)0}.{\displaystyle {\mathcal {X}}=\left\{x\in X\vert g_{1}(x),\ldots ,g_{m}(x)\leq 0\right\}.}

ฟังก์ชัน Lagrangian สำหรับปัญหานี้คือ[ 16 ]

แอล(x,λ0,λ1,,λ)=λ0เอฟ(x)+λ1จี1(x)++λจี(x).{\displaystyle L(x,\lambda _{0},\lambda _{1},\ldots ,\lambda _{m})=\lambda _{0}f(x)+\lambda _{1}g_{1}(x)+\cdots +\lambda _{m}g_{m}(x).}

สำหรับแต่ละจุดx{\displaystyle x}ในX{\displaystyle X}ที่ลดให้น้อยที่สุดเอฟ{\displaystyle f}เกินX{\displaystyle X}มีจำนวนจริงอยู่λ0,λ1,,λ,{\displaystyle \lambda _{0},\lambda _{1},\ldots ,\lambda _{m},}เรียกว่าตัวคูณลากรางจ์ซึ่งเป็นตัวที่ตรงตามเงื่อนไขเหล่านี้พร้อมกัน:

  1. x{\displaystyle x}ลดให้น้อยที่สุดแอล(y,λ0,λ1,,λ){\displaystyle L(y,\lambda _{0},\lambda _{1},\ldots ,\lambda _{m})}โดยรวมyX,{\displaystyle y\in X,}
  2. λ0,λ1,,λ0,{\displaystyle \lambda _{0},\lambda _{1},\ldots ,\lambda _{m}\geq 0,}โดยมีอย่างน้อยหนึ่งλเค>0,{\displaystyle \lambda _{k}>0,}
  3. λ1จี1(x)==λจี(x)=0{\displaystyle \lambda _{1}g_{1}(x)=\cdots =\lambda _{m}g_{m}(x)=0}(ความหย่อนยานที่เสริมกัน)

หากมี "จุดที่เป็นไปได้อย่างแท้จริง" อยู่จริง นั่นคือ จุดหนึ่งz{\displaystyle z}น่าพอใจ

จี1(z),,จี(z)<0,{\displaystyle g_{1}(z),\ldots ,g_{m}(z)<0,}

ดังนั้น ข้อความข้างต้นจึงสามารถเสริมให้มีความชัดเจนยิ่งขึ้น โดยกำหนดให้ต้องλ0=1{\displaystyle \lambda _{0}=1}.

ในทางกลับกัน หากบางส่วนx{\displaystyle x}ในX{\displaystyle X}เป็นไปตาม (1)–(3) สำหรับสเกลาร์λ0,,λ{\displaystyle \lambda _{0},\ldots ,\lambda _{m}}กับλ0=1{\displaystyle \lambda _{0}=1}แล้วx{\displaystyle x}แน่นอนว่าจะช่วยลดให้น้อยที่สุดเอฟ{\displaystyle f}เกินX{\displaystyle X}.

ซอฟต์แวร์

มีระบบนิเวศซอฟต์แวร์ขนาดใหญ่สำหรับการเพิ่มประสิทธิภาพแบบนูน ระบบนิเวศนี้แบ่งออกเป็นสองประเภทหลัก ได้แก่ตัวแก้ปัญหาและเครื่องมือสร้างแบบจำลอง (หรืออินเทอร์เฟซ )

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

ด้านล่างนี้คือตารางสองตาราง ตารางแรกแสดงเครื่องมือสร้างแบบจำลอง (เช่น CVXPY และ JuMP.jl) และตารางที่สองแสดงเครื่องมือแก้ปัญหา (เช่น SCS และ MOSEK) ตารางเหล่านี้ไม่ได้ครอบคลุมเครื่องมือทั้งหมดแต่อย่างใด

โปรแกรมภาษาคำอธิบายซอฟต์แวร์โอเพนซอร์ส ?อ้างอิง
ซีวีเอ็กซ์MATLABอินเทอร์เฟซสำหรับโปรแกรมแก้ปัญหา SeDuMi และ SDPT3 ออกแบบมาเพื่อแสดงเฉพาะปัญหาการหาค่าเหมาะสมที่สุดแบบนูนเท่านั้นใช่[ 17 ]
ซีวีเอ็กซ์พีวายไพธอนใช่[ 18 ]
นูน.jlจูเลียการเขียนโปรแกรมเชิงนูนอย่างมีระเบียบวินัย รองรับตัวแก้ปัญหาได้หลายตัวใช่[ 19 ]
ซีวีเอ็กซ์อาร์อาร์ใช่[ 20 ]
แกมส์ระบบการสร้างแบบจำลองสำหรับปัญหาการเขียนโปรแกรมเชิงเส้น ไม่เชิงเส้น เชิงเส้น/ไม่เชิงเส้นแบบผสมจำนวนเต็ม และกรวยลำดับที่สองเลขที่[ 17 ]
กลอปติโพลีMATLAB,

อ็อกเทฟ

ระบบการสร้างแบบจำลองสำหรับการเพิ่มประสิทธิภาพพหุนามใช่[ 17 ]
JuMP.jlจูเลียรองรับตัวแก้ปัญหาหลายประเภท นอกจากนี้ยังรองรับการหาค่าเหมาะสมที่สุดแบบจำนวนเต็มและแบบไม่เชิงเส้น รวมถึงการหาค่าเหมาะสมที่สุดแบบไม่นูนบางประเภทด้วยใช่[ 21 ]
โรมระบบการสร้างแบบจำลองสำหรับการปรับให้เหมาะสมอย่างแข็งแกร่ง รองรับการปรับให้เหมาะสมอย่างแข็งแกร่งในเชิงการกระจายตัวและชุดความไม่แน่นอนใช่[ 17 ]
โซสตูลส์ระบบสร้างแบบจำลองสำหรับการหาค่าเหมาะสมที่สุดของพหุนามใช้ SDPT3 และ SeDuMi ต้องใช้ Symbolic Computation Toolboxใช่[ 17 ]
สปาร์สป็อประบบสร้างแบบจำลองสำหรับการหาค่าเหมาะสมที่สุดของพหุนาม ใช้ตัวแก้ปัญหา SDPA หรือ SeDuMiใช่[ 17 ]
ยาลมิปMATLAB, Octaveสามารถเชื่อมต่อกับตัวแก้ปัญหา CPLEX, GUROBI, MOSEK, SDPT3, SEDUMI, CSDP, SDPA, PENNON ได้ นอกจากนี้ยังรองรับการหาค่าเหมาะสมที่สุดแบบจำนวนเต็มและแบบไม่เชิงเส้น รวมถึงการหาค่าเหมาะสมที่สุดแบบไม่นูนบางประเภท สามารถทำการหาค่าเหมาะสมที่สุดที่ทนทานต่อความไม่แน่นอนในข้อจำกัด LP/SOCP/SDP ได้ใช่[ 17 ]
โปรแกรมภาษาคำอธิบายซอฟต์แวร์โอเพนซอร์ส ?อ้างอิง
เอเอ็มเอ็มเอสสามารถทำการเพิ่มประสิทธิภาพที่แข็งแกร่งบนการเขียนโปรแกรมเชิงเส้น (โดยใช้ MOSEK เพื่อแก้ปัญหาการเขียนโปรแกรมกรวยลำดับที่สอง) และการเขียนโปรแกรมเชิงเส้นจำนวนเต็มแบบผสมแพ็คเกจการสร้างแบบจำลองสำหรับ LP + SDP และเวอร์ชันที่แข็งแกร่งเลขที่[ 17 ]
ซีพีเล็กซ์รองรับวิธีการแบบไพรมอล-ดูอัลสำหรับ LP + SOCP สามารถแก้ปัญหา LP, QP, SOCP และปัญหาการเขียนโปรแกรมเชิงเส้นแบบจำนวนเต็มผสมได้เลขที่[ 17 ]
ซีเอสดีพีซีรองรับวิธีการแบบไพรมัล-ดูอัลสำหรับ LP + SDP มีอินเทอร์เฟซสำหรับ MATLAB, Rและ Python มีเวอร์ชันแบบขนานให้ใช้งาน ตัวแก้ปัญหา SDPใช่[ 17 ]
ซีวีเอ็กซ์ออปต์ไพธอนรองรับวิธีการแบบคู่-ดั้งเดิมสำหรับ LP + SOCP + SDP ใช้การปรับขนาดของ Nesterov-Todd เชื่อมต่อกับ MOSEK และ DSDPใช่[ 17 ]
โมเซกรองรับวิธีการแบบคู่ดั้งเดิมสำหรับ LP + SOCPเลขที่[ 17 ]
เซดูมิMATLAB, Octave, MEXแก้ปัญหา LP + SOCP + SDP รองรับวิธีการแบบคู่-ดั้งเดิมสำหรับ LP + SOCP + SDPใช่[ 17 ]
เอสดีพีเอซี++แก้ปัญหา LP + SDP รองรับวิธีการแบบไพรมอล-ดูอัลสำหรับ LP + SDP มีเวอร์ชันแบบขนานและแบบความแม่นยำสูงให้เลือกใช้ใช่[ 17 ]
เอสดีพีที3MATLAB, Octave, MEXแก้ปัญหา LP + SOCP + SDP รองรับวิธีการแบบคู่-ดั้งเดิมสำหรับ LP + SOCP + SDPใช่[ 17 ]
คอนนิคบันเดิลรองรับโค้ดทั่วไปสำหรับ LP + SOCP + SDP ใช้เมธอดแบบบันเดิล รองรับข้อจำกัด SDP และ SOCP เป็นพิเศษใช่[ 17 ]
ดีเอสดีพีรองรับรหัสทั่วไปสำหรับ LP + SDP ใช้หลักการจุดภายในแบบคู่ใช่[ 17 ]
โลโกรองรับโค้ดทั่วไปสำหรับ SOCP ซึ่งถือว่าเป็นปัญหาการเขียนโปรแกรมแบบไม่เชิงเส้นเลขที่[ 17 ]
ชายธงรองรับโค้ดทั่วไป ใช้ระเบียบวิธีลากรางจ์เสริม โดยเฉพาะอย่างยิ่งสำหรับปัญหาที่มีข้อจำกัด SDPเลขที่[ 17 ]
เอสดีพีแอลอาร์รองรับโค้ดทั่วไป ใช้การแยกตัวประกอบอันดับต่ำด้วยวิธี Lagrangian เสริมใช่[ 17 ]

แอปพลิเคชัน

การเพิ่มประสิทธิภาพแบบนูนสามารถใช้ในการสร้างแบบจำลองปัญหาในหลากหลายสาขา เช่นระบบควบคุม อัตโนมัติ การประมาณค่าและการประมวลผลสัญญาณการสื่อสารและเครือข่าย การออกแบบวงจรอิเล็กทรอนิกส์[ 7 ] : 17การวิเคราะห์ข้อมูลและการสร้างแบบจำลองการเงิน สถิติ(การออกแบบการทดลองที่เหมาะสมที่สุด ) [ 22 ]และการเพิ่มประสิทธิภาพเชิงโครงสร้างซึ่งแนวคิดการประมาณค่าได้รับการพิสูจน์แล้วว่ามีประสิทธิภาพ[ 7 ] [ 23 ]การเพิ่มประสิทธิภาพแบบนูนสามารถใช้ในการสร้างแบบจำลองปัญหาในสาขาต่อไปนี้:

ส่วนขยาย

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

ดูเพิ่มเติม

หมายเหตุ

  1. 1 2เนสเตรอฟและเนมิรอฟสกี้ 1994
  2. Murty, Katta; Kabadi, Santosh (1987). "ปัญหา NP-complete บางประการในการเขียนโปรแกรมเชิงกำลังสองและเชิงไม่เชิงเส้น" การเขียนโปรแกรมทางคณิตศาสตร์39 (2): 117– 129. Bibcode : 1987MatPr..39..117M . doi : 10.1007/BF02592948 . hdl : 2027.42/6740 . S2CID 30500771 . 
  3. Sahni, S. "ปัญหาที่เกี่ยวข้องกับการคำนวณ" ใน SIAM Journal on Computing, 3, 262--279, 1974
  4. Pardalos, Panos M.; Vavasis, Stephen A. (1991). "การเขียนโปรแกรมเชิงกำลังสองที่มีค่าลักษณะเฉพาะติดลบหนึ่งค่าเป็นปัญหา NP-hard"วารสารการเพิ่มประสิทธิภาพระดับโลก 1 : 15– 22. doi : 10.1007 /BF00120662 .
  5. ฮิรีอาร์ต-อูรูตี, ฌอง-แบปติสต์; เลมาเรชาล, คลอดด์ (1996) อัลกอริธึมการวิเคราะห์และการลดขนาดนูน:พื้นฐาน สปริงเกอร์. พี291. ไอเอสบีเอ็น  9783540568506.
  6. Ben-Tal, Aharon; Nemirovskiĭ, Arkadiĭ Semenovich (2001). การบรรยายเกี่ยวกับการเพิ่มประสิทธิภาพแบบนูนสมัยใหม่: การวิเคราะห์ อัลกอริทึม และการประยุกต์ใช้ทางวิศวกรรมหน้า335–336 . ISBN  9780898714913.
  7. 1 2 3 4 5 6 7 8 9 10 11 12 Boyd, Stephen; Vandenberghe, Lieven (2004). การเพิ่มประสิทธิภาพแบบนูน (PDF) . สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์ . ISBN 978-0-521-83378-3สืบค้นข้อมูลเมื่อ 12 เมษายน 2564
  8. "ประเภทของปัญหาการหาค่าเหมาะสมที่สุด - การหาค่าเหมาะสมที่สุดแบบนูน" . 9 มกราคม 2554.
  9. 1 2 Arkadi Nemirovsky (2004). วิธีการเวลาพหุนามจุดภายในในการเขียนโปรแกรมแบบนูน
  10. Agrawal, Akshay; Verschueren, Robin; Diamond, Steven; Boyd, Stephen (2018). "ระบบการเขียนใหม่สำหรับปัญหาการหาค่าเหมาะสมที่สุดแบบนูน" (PDF) . การควบคุมและการตัดสินใจ . 5 (1): 42– 60. arXiv : 1709.04494 . doi : 10.1080/23307706.2017.1397554 . S2CID 67856259 . 
  11. Rockafellar, R. Tyrrell (1993). "ตัวคูณลากรางจ์และความเหมาะสมที่สุด" (PDF) . SIAM Review . 35 (2): 183– 238. Bibcode : 1993SIAMR..35..183R . CiteSeerX 10.1.1.161.7209 . doi : 10.1137/1035044 . 
  12. สำหรับวิธีการหาค่าต่ำสุดแบบนูน โปรดดูหนังสือของ Hiriart-Urruty และ Lemaréchal (bundle) และตำราของ Ruszczyński , Bertsekasและ Boyd กับ Vandenberghe (interior point)
  13. Nesterov, Yurii; Arkadii, Nemirovskii (1995). Interior-Point Polynomial Algorithms in Convex Programming . Society for Industrial and Applied Mathematics. ISBN 978-0898715156.
  14. Peng, Jiming; Roos, Cornelis; Terlaky, Tamás (2002). "ฟังก์ชันปกติในตัวเองและทิศทางการค้นหาใหม่สำหรับการเพิ่มประสิทธิภาพเชิงเส้นและกึ่งกำหนด" การเขียนโปรแกรมทางคณิตศาสตร์93 (1): 129– 171. doi : 10.1007/s101070200296 . ISSN 0025-5610 . S2CID 28882966 .  
  15. "การเพิ่มประสิทธิภาพเชิงตัวเลข" . ชุดหนังสือ Springer ด้านการวิจัยการดำเนินงานและวิศวกรรมการเงิน . 2006. doi : 10.1007/978-0-387-40065-5 . ISBN . 978-0-387-30303-1.
  16. Beavis, Brian; Dobbs, Ian M. (1990). "การเพิ่มประสิทธิภาพแบบคงที่"ทฤษฎีการเพิ่มประสิทธิภาพและความเสถียรสำหรับการวิเคราะห์ทางเศรษฐศาสตร์นิวยอร์ก: สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์ หน้า40. ISBN  0-521-33605-8.
  17. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Borchers, Brian. "ภาพรวมของซอฟต์แวร์สำหรับการเพิ่มประสิทธิภาพแบบนูน" ( PDF) . เก็บถาวรจากต้นฉบับ(PDF)เมื่อ 2017-09-18 . เรียกดู เมื่อ 12 เมษายน 2021 .
  18. "ยินดีต้อนรับสู่ CVXPY 1.1 — เอกสารประกอบ CVXPY 1.1.11" . www.cvxpy.org . สืบค้นเมื่อ2021-04-12 .
  19. Udell, Madeleine; Mohan, Karanveer; Zeng, David; Hong, Jenny; Diamond, Steven; Boyd, Stephen (17 ตุลาคม 2014). "การหาค่าเหมาะสมที่สุดแบบนูนใน Julia". arXiv : 1410.4821 [ math.OC ].
  20. "การปรับให้เหมาะสมแบบนูนอย่างมีระเบียบวินัย - CVXR" . www.cvxgrp.org . สืบค้นเมื่อ2021-06-17 .
  21. Lubin, Miles; Dowson, Oscar; Dias Garcia, Joaquim; Huchette, Joey; Legat, Benoît; Vielma, Juan Pablo (2023). "JuMP 1.0: การปรับปรุงล่าสุดของภาษาสร้างแบบจำลองสำหรับการเพิ่มประสิทธิภาพทางคณิตศาสตร์" การคำนวณการเขียนโปรแกรมทางคณิตศาสตร์15 (3): 581– 589. arXiv : 2206.03866 . doi : 10.1007/s12532-023-00239-3 .
  22. คริสเตนเซน/แคลร์บริง, บทที่. 4.
  23. Schmit, LA; Fleury, C. 1980:การสังเคราะห์โครงสร้างโดยการรวมแนวคิดการประมาณค่าและวิธีการคู่ขนานวารสารสถาบันการบินและอวกาศแห่งอเมริกา 18, 1252-1260
  24. 1 2 3 4 5 Boyd, Stephen; Diamond, Stephen; Zhang, Junzi; Agrawal, Akshay. "การประยุกต์ใช้การเพิ่มประสิทธิภาพแบบนูน" (PDF) . เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2015-10-01 . เรียกดูเมื่อ12 เมษายน 2021 .
  25. 1 2 3 Malick, Jérôme (2011-09-28). "การหาค่าเหมาะสมที่สุดแบบนูน: การประยุกต์ใช้ การกำหนดสูตร การผ่อนคลาย" (PDF) . เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2021-04-12 . เรียกดูเมื่อ12 เมษายน 2021 .
  26. Ben Haim Y. และ Elishakoff I., แบบจำลองนูนของความไม่แน่นอนในกลศาสตร์ประยุกต์, สำนักพิมพ์ Elsevier Science Publishers, อัมสเตอร์ดัม, 1990
  27. Ahmad Bazzi , Dirk TM Slock และ Lisa Meilhac. "การประมาณมุมตกกระทบแบบออนไลน์ในกรณีที่มีการเชื่อมโยงร่วมกัน" 2016 IEEE Statistical Signal Processing Workshop (SSP). IEEE, 2016.
  • EE364a: การหาค่าเหมาะสมที่สุดแบบนูน 1และEE364b: การหาค่าเหมาะสมที่สุดแบบนูน 2หน้าเว็บหลักของรายวิชาจากมหาวิทยาลัยสแตนฟอร์ด
  • 6.253: การวิเคราะห์เชิงนูนและการหาค่าเหมาะสมที่สุด (Convex Analysis and Optimization) หน้าเว็บหลักของหลักสูตร MIT OCW
  • ไบรอัน บอร์เชอร์ส ภาพรวมของซอฟต์แวร์สำหรับการปรับให้เหมาะสมแบบนูน
  • หนังสือ Convex Optimization โดย Lieven Vandenberghe และ Stephen P. Boyd
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Convex_optimization&oldid=1347240927 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเพิ่มประสิทธิภาพแบบนูน

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

แบบฟอร์มบทคัดย่อ

ปัญหาการเพิ่มประสิทธิภาพแบบนูนถูกกำหนดโดยส่วนประกอบสองอย่าง: [ 5 ] [ 6 ]

แบบฟอร์มมาตรฐาน

ปัญหาการหาค่าเหมาะสมที่สุดแบบนูนจะอยู่ใน รูปแบบมาตรฐาน หากเขียนในรูปแบบนี้

รูปแบบจารึก (รูปแบบมาตรฐานที่มีวัตถุประสงค์เชิงเส้น)

ในรูปแบบมาตรฐานนั้น เป็นไปได้ที่จะถือว่าฟังก์ชันเป้าหมาย f เป็น ฟังก์ชันเชิงเส้น โดยไม่เสียความเป็นทั่วไป เนื่องจากโปรแกรมใดๆ ที่มีเป้าหมายทั่วไปสามารถแปลงเป็นโปรแกรมที่มีเป้าหมายเชิงเส้นได้โดยการเพิ่มตัวแปร t เพียงตัวเดียวและ ข้อจำกัด เพียงข้อเดียว ดังนี้: [...