อ่าน 11 นาที
การเพิ่มประสิทธิภาพแบบนูน
การหาค่าเหมาะสมที่สุดแบบนูนเป็นสาขาย่อยของการหาค่าเหมาะสมที่สุดทางคณิตศาสตร์ที่ศึกษาปัญหาการลดค่าฟังก์ชันนูนบนเซตแบบนูน (หรือเทียบเท่ากับการเพิ่มค่าฟังก์ชันเว้าบนเซตแบบนูน)
การเพิ่มประสิทธิภาพแบบนูน
การหาค่าเหมาะสมที่สุดแบบนูนเป็นสาขาย่อยของการหาค่าเหมาะสมที่สุดทางคณิตศาสตร์ที่ศึกษาปัญหาการลดค่าฟังก์ชันนูนบนเซตแบบนูน (หรือเทียบเท่ากับการเพิ่มค่าฟังก์ชันเว้าบนเซตแบบนูน) ปัญหาการหาค่าเหมาะสมที่สุดแบบนูนหลายประเภทยอมรับอัลกอริทึมแบบเวลาพหุนาม[ 1 ]ในขณะที่การหาค่าเหมาะสมที่สุดทางคณิตศาสตร์โดยทั่วไปเป็นปัญหา NP- hard [ 2 ] [ 3 ] [ 4 ]
คำนิยาม
แบบฟอร์มบทคัดย่อ
ปัญหาการเพิ่มประสิทธิภาพแบบนูนถูกกำหนดโดยส่วนประกอบสองอย่าง: [ 5 ] [ 6 ]
- ฟังก์ชันเป้าหมาย ซึ่งเป็น ฟังก์ชันนูนค่าจริงของตัวแปร n ตัว ;
- เซตที่เป็นไปได้ซึ่งเป็นเซตย่อยนูน
เป้าหมายของปัญหานี้คือการค้นหาสิ่งที่บรรลุผลสำเร็จ บางอย่าง
- .
โดยทั่วไป มีตัวเลือกสามประการเกี่ยวกับการมีอยู่ของวิธีแก้ปัญหา: [ 7 ] : บทที่ 4
- ถ้ามีจุดx * ดังกล่าวอยู่จริง จุดนั้นจะถูกเรียกว่า จุด หรือคำตอบที่เหมาะสมที่สุดเซตของจุดที่เหมาะสมที่สุดทั้งหมดเรียกว่าเซตที่เหมาะสมที่สุดและปัญหาดังกล่าวเรียกว่าปัญหาที่สามารถแก้ไขได้
- ถ้าค่า มีค่าต่ำกว่าค่า มากจนหาค่าต่ำสุดไม่ได้ หรือไม่สามารถหาค่าต่ำสุดได้ ก็จะกล่าวได้ว่าปัญหาการหาค่าเหมาะสมที่สุดนั้นไม่มีขอบเขตจำกัด
- ในทางกลับกัน ถ้าเป็นเซตว่าง ปัญหาดังกล่าวจะถือว่าไม่สามารถหาคำตอบได้
แบบฟอร์มมาตรฐาน
ปัญหาการหาค่าเหมาะสมที่สุดแบบนูนจะอยู่ในรูปแบบมาตรฐานหากเขียนในรูปแบบดังนี้
โดยที่: [ 7 ] : บทที่ 4
- คือเวกเตอร์ของตัวแปรการปรับให้เหมาะสมที่สุด
- ฟังก์ชันเป้าหมายเป็นฟังก์ชันนูน
- ฟังก์ชันข้อจำกัดความไม่เท่าเทียมกัน, , เป็นฟังก์ชันนูน
- ฟังก์ชันข้อจำกัดความเท่าเทียมกัน, , คือการแปลงเชิงเส้นตรง , กล่าวคือ มีรูปแบบ: , โดยที่เป็นเวกเตอร์ และเป็นสเกลาร์
เซตที่เป็นไปได้ของปัญหาการหาค่าเหมาะสมที่สุดประกอบด้วยจุดทั้งหมดที่สอดคล้องกับข้อจำกัดอสมการและข้อจำกัดสมการ เซตนี้เป็นเซตแบบนูนเนื่องจากเป็นเซตแบบนูนเซตย่อยของฟังก์ชันแบบนูนเป็นเซตแบบนูน เซตเชิงเส้นเป็นเซตแบบนูน และจุดตัดของเซตแบบนูนเป็นเซตแบบนูน[ 7 ] : บทที่ 2
ปัญหาการหาค่าเหมาะสมที่สุดหลายอย่างสามารถกำหนดได้ในรูปแบบมาตรฐานนี้ ตัวอย่างเช่น ปัญหาการหาค่าสูงสุดของฟังก์ชันเว้า สามารถกำหนดใหม่ได้เทียบเท่ากับปัญหาการหาค่าต่ำสุดของฟังก์ชันนูนปัญหาการหาค่าสูงสุดของฟังก์ชันเว้าเหนือเซตแบบนูนมักเรียกว่าปัญหาการหาค่าเหมาะสมที่สุดแบบนูน[ 8 ]
รูปแบบจารึก (รูปแบบมาตรฐานที่มีวัตถุประสงค์เชิงเส้น)
ในรูปแบบมาตรฐานนั้น เป็นไปได้ที่จะถือว่าฟังก์ชันเป้าหมายfเป็นฟังก์ชันเชิงเส้น โดยไม่เสียความเป็นทั่วไป เนื่องจากโปรแกรมใดๆ ที่มีเป้าหมายทั่วไปสามารถแปลงเป็นโปรแกรมที่มีเป้าหมายเชิงเส้นได้โดยการเพิ่มตัวแปร t เพียงตัวเดียวและข้อจำกัด เพียงข้อเดียว ดังนี้: [ 9 ] : 1.4
รูปทรงกรวย
โปรแกรมนูนทุกโปรแกรมสามารถนำเสนอในรูปแบบกรวยได้ ซึ่งหมายถึงการลดวัตถุประสงค์เชิงเส้นให้เหลือน้อยที่สุดเหนือจุดตัดของระนาบเชิงเส้นและกรวยนูน: [ 9 ] : 5.1
โดยที่ K คือกรวยนูนปลายแหลม ปิด , L คือปริภูมิย่อยเชิงเส้นของ R nและ b คือเวกเตอร์ใน R nโปรแกรมเชิงเส้นในรูปแบบมาตรฐานเป็นกรณีพิเศษที่ K คือออร์แธนต์ที่ไม่เป็นลบของR n
การกำจัดข้อจำกัดความเท่าเทียมเชิงเส้น
เป็นไปได้ที่จะแปลงโปรแกรมแบบนูนในรูปแบบมาตรฐานให้เป็นโปรแกรมแบบนูนที่ไม่มีข้อจำกัดความเท่าเทียมกัน[ 7 ] : 132 กำหนดให้ข้อจำกัดความเท่าเทียมกันh i ( x )=0 เป็นAx = bโดยที่Aมีnคอลัมน์ ถ้าAx = bไม่สามารถหาคำตอบได้ แน่นอนว่าปัญหาเดิมก็ไม่สามารถหาคำตอบได้เช่นกัน มิฉะนั้น ปัญหาจะมีคำตอบx 0 อยู่ และเซตของคำตอบทั้งหมดสามารถแสดงได้ดังนี้: Fz + x 0โดยที่zอยู่ในR k , k = n -rank( A ) และFเป็น เมทริกซ์ ขนาดn x kการแทนค่าx = Fz + x 0ในปัญหาเดิมจะได้:
โดยที่ตัวแปรคือzโปรดสังเกตว่ามีตัวแปรน้อยลงตามอันดับ ( A ) ซึ่งหมายความว่าโดยหลักการแล้ว เราสามารถจำกัดความสนใจไปที่ปัญหาการหาค่าเหมาะสมที่สุดแบบนูนโดยไม่มีข้อจำกัดความเท่าเทียมกันได้ อย่างไรก็ตาม ในทางปฏิบัติ มักนิยมคงข้อจำกัดความเท่าเทียมกันไว้ เนื่องจากอาจทำให้อัลกอริทึมบางอย่างมีประสิทธิภาพมากขึ้น และยังทำให้ปัญหาเข้าใจและวิเคราะห์ได้ง่ายขึ้นด้วย
กรณีพิเศษ
ปัญหาคลาสต่อไปนี้ล้วนเป็นปัญหาการหาค่าเหมาะสมที่สุดแบบนูน หรือสามารถลดให้เป็นปัญหาการหาค่าเหมาะสมที่สุดแบบนูนได้โดยการแปลงแบบง่ายๆ: [ 7 ] : บทที่ 4 [ 10 ]

- ปัญหา การเขียนโปรแกรมเชิงเส้น (Linear Programming Problems: LP) เป็นโปรแกรมแบบนูนที่ง่ายที่สุด ใน LP ฟังก์ชันเป้าหมายและฟังก์ชันข้อจำกัดล้วนเป็นฟังก์ชันเชิงเส้น
- การเขียนโปรแกรมเชิงกำลังสอง (Quadratic Programming)เป็นวิธีการเขียนโปรแกรมที่ง่ายรองลงมา ใน QP ข้อจำกัดทั้งหมดจะเป็นเชิงเส้น แต่ฟังก์ชันเป้าหมายอาจเป็นฟังก์ชันกำลังสองแบบนูน (convex quadratic function)
- การเขียนโปรแกรมกรวยลำดับที่สองมีความทั่วไปมากกว่า
- การเขียนโปรแกรมแบบเซมิเดฟินิตนั้นมีความยืดหยุ่นกว่า
- การปรับให้เหมาะสมแบบทรงกรวยนั้นมีความทั่วไปมากกว่า - ดูรูปทางด้านขวา
กรณีพิเศษอื่นๆ ได้แก่;
- กำลังสองน้อยที่สุด
- การหาค่าต่ำสุดกำลังสองด้วยข้อจำกัดกำลังสองแบบนูน
- การเขียนโปรแกรมเชิงเรขาคณิต
- การเพิ่มค่าเอนโทรปีให้สูงสุดภายใต้ข้อจำกัดที่เหมาะสม
คุณสมบัติ
ต่อไปนี้เป็นคุณสมบัติที่มีประโยชน์ของปัญหาการหาค่าเหมาะสมที่สุดแบบนูน: [ 11 ] [ 7 ] : บทที่ 4
- ทุกจุดที่เป็นจุดต่ำสุดเฉพาะที่ก็เป็นจุดต่ำสุดทั่วโลก ด้วยเช่น กัน
- เซตที่เหมาะสมที่สุดเป็นเซตแบบนูน
- ถ้าฟังก์ชันเป้าหมายเป็น ฟังก์ชันนูน อย่างเคร่งครัดปัญหาดังกล่าวจะมีจุดเหมาะสมที่สุดอย่างมากที่สุดเพียงจุดเดียว
ผลลัพธ์เหล่านี้ถูกนำไปใช้ในทฤษฎีการลดค่าต่ำสุดแบบนูน ร่วมกับแนวคิดทางเรขาคณิตจากการวิเคราะห์เชิงฟังก์ชัน (ในปริภูมิฮิลเบิร์ต) เช่นทฤษฎีบทการฉายภาพของฮิลเบิร์ตทฤษฎีบทระนาบแยกและเลมมาของฟาร์คัส
อัลกอริทึม
ปัญหาที่ไม่ถูกจำกัดและปัญหาที่ถูกจำกัดด้วยความเท่าเทียมกัน
โปรแกรมเชิงนูนที่แก้ได้ง่ายที่สุดคือ โปรแกรม ที่ไม่มี ข้อจำกัด หรือโปรแกรมที่มีเพียงข้อจำกัดเชิงสมการเท่านั้น เนื่องจากข้อจำกัดเชิงสมการทั้งหมดเป็นเชิงเส้น จึงสามารถกำจัดได้ด้วยพีชคณิตเชิงเส้นและรวมเข้ากับฟังก์ชันเป้าหมายได้ ทำให้โปรแกรมที่มีข้อจำกัดเชิงสมการกลายเป็นโปรแกรมที่ไม่มีข้อจำกัด
ในกลุ่มปัญหาที่ไม่มีข้อจำกัด (หรือมีข้อจำกัดแบบเท่ากัน) ปัญหาที่ง่ายที่สุดคือปัญหาที่วัตถุประสงค์เป็นฟังก์ชันกำลังสองสำหรับปัญหาเหล่านี้เงื่อนไข KKT (ซึ่งจำเป็นสำหรับความเหมาะสมที่สุด) ล้วนเป็นเชิงเส้น ดังนั้นจึงสามารถแก้ไขได้โดยวิธีวิเคราะห์[ 7 ] : บทที่ 11
สำหรับปัญหาที่ไม่ถูกจำกัด (หรือถูกจำกัดด้วยความเท่าเทียมกัน) ที่มีฟังก์ชันเป้าหมายนูนทั่วไปที่สามารถหาอนุพันธ์ได้สองครั้ง สามารถใช้ วิธีของนิวตันได้ อาจมองได้ว่าเป็นการลดปัญหาแบบนูนที่ไม่ถูกจำกัดทั่วไป ให้เป็นลำดับของปัญหาแบบกำลังสอง[ 7 ] : บทที่ 11 วิธีของนิวตันสามารถรวมเข้ากับการค้นหาเส้นตรงสำหรับขนาดขั้นตอนที่เหมาะสม และสามารถพิสูจน์ทางคณิตศาสตร์ได้ว่าลู่เข้าอย่างรวดเร็ว
อัลกอริทึมที่มีประสิทธิภาพอื่นๆ สำหรับการลดค่าต่ำสุดแบบไม่มีข้อจำกัด ได้แก่การไล่ระดับความชัน (ซึ่งเป็นกรณีพิเศษของการไล่ระดับความชันที่ชันที่สุด )
ปัญหาทั่วไป
ปัญหาที่ท้าทายกว่าคือปัญหาที่มีข้อจำกัดความไม่เท่าเทียมกัน วิธีแก้ปัญหาทั่วไปคือการลดปัญหาเหล่านั้นให้เป็นปัญหาที่ไม่มีข้อจำกัดโดยการเพิ่มฟังก์ชันกั้นซึ่งบังคับใช้ข้อจำกัดความไม่เท่าเทียมกันให้กับฟังก์ชันเป้าหมาย วิธีการดังกล่าวเรียกว่าวิธีการจุดภายใน[ 7 ] : บทที่ 11 จะต้องเริ่มต้นด้วยการหาจุดภายในที่เป็นไปได้โดยใช้วิธีการที่เรียกว่าเฟส Iซึ่งจะหาจุดที่เป็นไปได้หรือแสดงว่าไม่มีจุดที่เป็นไปได้ วิธีการเฟส I โดยทั่วไปประกอบด้วยการลดการค้นหาที่เกี่ยวข้องให้เป็นปัญหาการหาค่าเหมาะสมที่สุดแบบนูนที่ง่ายกว่า[ 7 ] : บทที่ 11
ปัญหาการเพิ่มประสิทธิภาพแบบนูนสามารถแก้ไขได้ด้วยวิธีการร่วมสมัยดังต่อไปนี้: [ 12 ]
- วิธีการรวมกลุ่ม (Wolfe, Lemaréchal, Kiwiel) และ
- วิธี การฉายภาพแบบซับกราเดียนต์ (โพลีแอค)
- วิธีการจุดภายใน[ 1 ]ซึ่งใช้ฟังก์ชันกั้นที่สอดคล้องกันเอง[ 13 ]และฟังก์ชันกั้นที่เป็นระเบียบเอง[ 14 ]
- วิธีการตัดระนาบ
- วิธีทรงรี
- วิธีการซับกราเดียนต์
- การไล่ระดับย่อยคู่และการวิธีดริฟท์บวกโทษ
วิธีการซับเกรเดียนต์สามารถนำไปใช้ได้อย่างง่ายดายและจึงถูกนำมาใช้อย่างแพร่หลาย[ 15 ]วิธีการซับเกรเดียนต์แบบคู่คือวิธีการซับเกรเดียนต์ที่ใช้กับปัญหาคู่ วิธีการ ดริฟต์พลัสเพนัลตีคล้ายกับวิธีการซับเกรเดียนต์แบบคู่ แต่ใช้ค่าเฉลี่ยเวลาของตัวแปรหลัก
ตัวคูณลากรางจ์
พิจารณาปัญหาการหาค่าต่ำสุดแบบนูนที่กำหนดในรูปแบบมาตรฐานโดยฟังก์ชันต้นทุนและข้อจำกัดอสมการสำหรับแล้วโดเมนคือ:
ฟังก์ชัน Lagrangian สำหรับปัญหานี้คือ[ 16 ]
สำหรับแต่ละจุดในที่ทำให้ค่าต่ำสุดเหนือจะมีจำนวนจริงที่เรียกว่าตัวคูณลากรางจ์ซึ่งเป็นไปตามเงื่อนไขเหล่านี้พร้อมกัน:
- ลดให้เหลือน้อยที่สุดโดยรวม
- โดยมีอย่างน้อยหนึ่ง
- (ความหย่อนยานที่เสริมกัน)
หากมี "จุดที่เป็นไปได้อย่างแท้จริง" อยู่ นั่นคือ จุดที่ตรงตามเงื่อนไข
ดังนั้น ข้อความข้างต้นจึงสามารถเสริมให้มีความชัดเจนยิ่งขึ้นโดยกำหนดให้...
ในทางกลับกัน หากบางค่าในเป็นไปตามเงื่อนไข (1)–(3) สำหรับสเกลาร์ที่มีแล้วแน่นอนว่าจะทำให้ค่าต่ำสุด เหนือ
ซอฟต์แวร์
มีระบบนิเวศซอฟต์แวร์ขนาดใหญ่สำหรับการเพิ่มประสิทธิภาพแบบนูน ระบบนิเวศนี้แบ่งออกเป็นสองประเภทหลัก ได้แก่ตัวแก้ปัญหาและเครื่องมือสร้างแบบจำลอง (หรืออินเทอร์เฟซ )
โปรแกรมแก้ปัญหาจะทำการประมวลผลอัลกอริธึมด้วยตนเอง และโดยทั่วไปจะเขียนด้วยภาษาซี โปรแกรมเหล่านี้ต้องการให้ผู้ใช้ระบุปัญหาการหาค่าเหมาะสมที่สุดในรูปแบบที่เฉพาะเจาะจงมาก ซึ่งอาจไม่เป็นธรรมชาติจากมุมมองของการสร้างแบบจำลอง ส่วนเครื่องมือสร้างแบบจำลองนั้นเป็นซอฟต์แวร์แยกต่างหากที่ช่วยให้ผู้ใช้สามารถระบุการหาค่าเหมาะสมที่สุดในไวยากรณ์ระดับสูงกว่า เครื่องมือเหล่านี้จัดการการแปลงทั้งหมดระหว่างแบบจำลองระดับสูงของผู้ใช้และรูปแบบอินพุต/เอาต์พุตของโปรแกรมแก้ปัญหา
ด้านล่างนี้คือตารางสองตาราง ตารางแรกแสดงเครื่องมือสร้างแบบจำลอง (เช่น 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 ] |
| เอสดีพีที3 | MATLAB, 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 ]การเพิ่มประสิทธิภาพแบบนูนสามารถใช้ในการสร้างแบบจำลองปัญหาในสาขาต่อไปนี้:
- การเพิ่มประสิทธิภาพพอร์ตโฟลิโอ[ 24 ]
- การวิเคราะห์ความเสี่ยงกรณีเลวร้ายที่สุด[ 24 ]
- การโฆษณาที่เหมาะสมที่สุด[ 24 ]
- รูปแบบต่างๆ ของการถดถอยทางสถิติ (รวมถึงการปรับค่าและการถดถอยควอนไทล์ ) [ 24 ]
- การปรับโมเดล[ 24 ] (โดยเฉพาะการจำแนกประเภทหลายคลาส[ 25 ] )
- การเพิ่มประสิทธิภาพการผลิตไฟฟ้า[ 25 ]
- การเพิ่มประสิทธิภาพเชิงการจัดเรียง[ 25 ]
- การสร้างแบบจำลอง ความไม่แน่นอนที่ไม่ใช่ความน่าจะเป็น[ 26 ]
- การระบุตำแหน่งโดยใช้สัญญาณไร้สาย[ 27 ]
ส่วนขยาย
การขยายขอบเขตของการหาค่าเหมาะสมที่สุดแบบนูน ได้แก่ การหาค่าเหมาะสมที่สุดของ ฟังก์ชัน แบบนูนสองด้านฟังก์ชันแบบนูนเทียมและ ฟังก์ชัน แบบกึ่ง นูน การ ขยายขอบเขตของทฤษฎีการวิเคราะห์แบบนูน และวิธีการวนซ้ำสำหรับการแก้ปัญหา การหาค่าต่ำสุดแบบไม่นูนโดยประมาณเกิดขึ้นในสาขาความนูนทั่วไปหรือที่รู้จักกันในชื่อการวิเคราะห์แบบนูนเชิงนามธรรม
ดูเพิ่มเติม
- ความเป็นสองด้าน
- เงื่อนไข Karush–Kuhn–Tucker
- ปัญหาการหาค่าเหมาะสมที่สุด
- วิธีการไล่ระดับใกล้เคียง
- ปัญหาเชิงอัลกอริทึมบนเซตแบบนูน
หมายเหตุ
- อรรถ เป็นขเนสเทอรอฟ และเนมิรอฟสกี้ 2537
- ^ 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 .
- ^ Sahni, S. "ปัญหาที่เกี่ยวข้องกับการคำนวณ" ใน SIAM Journal on Computing, 3, 262--279, 1974.
- ^ Pardalos, Panos M.; Vavasis, Stephen A. (1991). "การเขียนโปรแกรมเชิงกำลังสองที่มีค่าลักษณะเฉพาะติดลบหนึ่งค่าเป็นปัญหา NP-hard"วารสารการเพิ่มประสิทธิภาพระดับโลก 1 : 15– 22. doi : 10.1007 /BF00120662 .
- ↑ฮิรีอาร์ต-อูรูตี, ฌอง-แบปติสต์; เลมาเรชาล, คลอดด์ (1996) อัลกอริธึมการวิเคราะห์และการลดขนาดนูน:พื้นฐาน สปริงเกอร์. พี 291. ไอเอสบีเอ็น 9783540568506.
- ^ Ben-Tal, Aharon; Nemirovskiĭ, Arkadiĭ Semenovich (2001). การบรรยายเกี่ยวกับการเพิ่มประสิทธิภาพเชิงนูนสมัยใหม่: การวิเคราะห์ อัลกอริทึม และการประยุกต์ใช้ทางวิศวกรรมหน้า 335–336 . ISBN 9780898714913.
- ^ a b c d e f g h i j k l Boyd, Stephen; Vandenberghe, Lieven (2004). การเพิ่มประสิทธิภาพแบบนูน (PDF)สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์ISBN 978-0-521-83378-3สืบค้นข้อมูลเมื่อ 12 เมษายน 2564
- ^ "ประเภทของปัญหาการหาค่าเหมาะสมที่สุด - การหาค่าเหมาะสมที่สุดแบบนูน" 9 มกราคม 2554
- ^ a b Arkadi Nemirovsky (2004). วิธีการจุดภายในแบบพหุนามในเวลาในการเขียนโปรแกรมแบบนูน
- ^ 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 .
- ^ 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 .
- ^สำหรับวิธีการหาค่าต่ำสุดแบบนูน โปรดดูหนังสือของ Hiriart-Urruty และ Lemaréchal (bundle) และตำราของ Ruszczyński , Bertsekasและ Boyd กับ Vandenberghe (interior point)
- ^ Nesterov, Yurii; Arkadii, Nemirovskii (1995). อัลกอริทึมพหุนามจุดภายในในการเขียนโปรแกรมแบบนูนสมาคมคณิตศาสตร์อุตสาหกรรมและประยุกต์ISBN 978-0898715156.
- ^ Peng, Jiming; Roos, Cornelis; Terlaky, Tamás (2002). "ฟังก์ชันปกติในตัวเองและทิศทางการค้นหาใหม่สำหรับการเพิ่มประสิทธิภาพเชิงเส้นและกึ่งกำหนด" การเขียนโปรแกรมทางคณิตศาสตร์93 (1): 129– 171. doi : 10.1007/s101070200296 . ISSN 0025-5610 . S2CID 28882966 .
- ^ "การเพิ่มประสิทธิภาพเชิงตัวเลข"ชุดหนังสือ Springer ด้านการวิจัยการดำเนินงานและวิศวกรรมการเงิน 2006. doi : 10.1007/978-0-387-40065-5 . ISBN 978-0-387-30303-1.
- ^ Beavis, Brian; Dobbs, Ian M. (1990). "การเพิ่มประสิทธิภาพแบบคงที่"ทฤษฎีการเพิ่มประสิทธิภาพและความเสถียรสำหรับการวิเคราะห์ทางเศรษฐศาสตร์นิวยอร์ก: สำนักพิมพ์มหาวิทยาลัยเคมบริดจ์ หน้า 40. ISBN 0-521-33605-8.
- ^ a b c d e f g h i j k l m n o p q r s t Borchers , Brian. "ภาพรวมของซอฟต์แวร์สำหรับการเพิ่มประสิทธิภาพแบบนูน" (PDF) . เก็บถาวรจากต้นฉบับ(PDF)เมื่อ 2017-09-18 . สืบค้นเมื่อ 12 เมษายน 2021 .
- ^ "ยินดีต้อนรับสู่ CVXPY 1.1 — เอกสารประกอบ CVXPY 1.1.11" . www.cvxpy.org . สืบค้นเมื่อ2021-04-12 .
- ^ Udell, Madeleine; Mohan, Karanveer; Zeng, David; Hong, Jenny; Diamond, Steven; Boyd, Stephen (17 ตุลาคม 2014). "การหาค่าเหมาะสมที่สุดแบบนูนใน Julia". arXiv : 1410.4821 [ math.OC ].
- ^ "การปรับให้เหมาะสมแบบนูนอย่างมีระเบียบวินัย - CVXR" . www.cvxgrp.org . สืบค้นเมื่อ2021-06-17 .
- ^ 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 .
- ↑คริสเตนเซน/แคลร์บริง, บทที่. 4.
- ^ Schmit, LA; Fleury, C. 1980:การสังเคราะห์โครงสร้างโดยการรวมแนวคิดการประมาณค่าและวิธีการคู่ขนานวารสารสถาบันการบินและอวกาศแห่งอเมริกา 18, 1252-1260
- ^ a b c d e Boyd, Stephen; Diamond, Stephen; Zhang, Junzi; Agrawal, Akshay. "การประยุกต์ใช้การเพิ่มประสิทธิภาพแบบนูน" (PDF) . เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2015-10-01 . สืบค้นเมื่อ12 เมษายน 2021 .
- ^ a b c Malick, Jérôme (2011-09-28). "การหาค่าเหมาะสมที่สุดแบบนูน: การประยุกต์ใช้ การกำหนดสูตร การผ่อนคลาย" (PDF) . เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2021-04-12 . เรียกดูเมื่อ12 เมษายน 2021 .
- ^ Ben Haim Y. และ Elishakoff I., แบบจำลองนูนของความไม่แน่นอนในกลศาสตร์ประยุกต์, สำนักพิมพ์ Elsevier Science Publishers, อัมสเตอร์ดัม, 1990
- ^ Ahmad Bazzi , Dirk TM Slock และ Lisa Meilhac. "การประมาณมุมตกกระทบแบบออนไลน์ในกรณีที่มีการเชื่อมโยงร่วมกัน" การประชุมเชิงปฏิบัติการด้านการประมวลผลสัญญาณทางสถิติของ IEEE ปี 2016 (SSP). IEEE, 2016.
ลิงก์ภายนอก
- EE364a: การหาค่าเหมาะสมที่สุดแบบนูน 1และEE364b: การหาค่าเหมาะสมที่สุดแบบนูน 2หน้าเว็บหลักของรายวิชาจากมหาวิทยาลัยสแตนฟอร์ด
- 6.253: การวิเคราะห์เชิงนูนและการหาค่าเหมาะสมที่สุด (Convex Analysis and Optimization) หน้าเว็บหลักของหลักสูตร MIT OCW
- ไบรอัน บอร์เชอร์ส ภาพรวมของซอฟต์แวร์สำหรับการปรับให้เหมาะสมแบบนูน
- หนังสือ Convex Optimization โดย Lieven Vandenberghe และ Stephen P. Boyd
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การเพิ่มประสิทธิภาพแบบนูน
การหาค่าเหมาะสมที่สุดแบบนูนเป็นสาขาย่อยของการหาค่าเหมาะสมที่สุดทางคณิตศาสตร์ที่ศึกษาปัญหาการลดค่าฟังก์ชันนูนบนเซตแบบนูน (หรือเทียบเท่ากับการเพิ่มค่าฟังก์ชันเว้าบนเซตแบบนูน)
แบบฟอร์มบทคัดย่อ
ปัญหาการเพิ่มประสิทธิภาพแบบนูนถูกกำหนดโดยส่วนประกอบสองอย่าง: [ 5 ] [ 6 ]
แบบฟอร์มมาตรฐาน
ปัญหาการหาค่าเหมาะสมที่สุดแบบนูนจะอยู่ใน รูปแบบมาตรฐาน หากเขียนในรูปแบบดังนี้
รูปแบบจารึก (รูปแบบมาตรฐานที่มีวัตถุประสงค์เชิงเส้น)
ในรูปแบบมาตรฐานนั้น เป็นไปได้ที่จะถือว่าฟังก์ชันเป้าหมาย f เป็น ฟังก์ชันเชิงเส้น โดยไม่เสียความเป็นทั่วไป เนื่องจากโปรแกรมใดๆ ที่มีเป้าหมายทั่วไปสามารถแปลงเป็นโปรแกรมที่มีเป้าหมายเชิงเส้นได้โดยการเพิ่มตัวแปร t เพียงตัวเดียวและ ข้อจำกัด เพียงข้อเดียว ดังนี้: [...