การเพิ่มฟังก์ชั่นนูน (การย่อฟังก์ชันเว้าให้เล็กสุด) ด้วยข้อ จำกัด เชิงเส้น


10

ปัญหาคือ

maxf(x) subject to Ax=b

โดยที่f(x)=i=1N1+xi4(i=1Nxi2)2 ,
x=[x1,x2,...,xN]TRN×1และ
ARM×N

เราจะเห็นว่าf(.)อยู่ในรูปของ1+y2และเป็นฟังก์ชันนูน
ก็สามารถที่จะแสดงให้เห็นว่า f (.) เป็นที่สิ้นสุดใน[2,2]2]

นี่เป็นปัญหาการย่อขนาดเล็กที่สุดด้วยข้อ จำกัด เชิงเส้น

อัลกอริธึมมาตรฐานใดที่ใช้เพื่อแก้ไขปัญหาเหล่านี้

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


คุณได้ลองใช้ตัวคูณทวีคูณเพื่อดูว่ามันแปลงเป็นสิ่งที่ง่ายต่อการใช้งานหรือไม่?
นาธาเนียล

คำตอบ:


7

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

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

Falk, JE, และ Hoffman, KL ย่อส่วนเว้าให้เล็กที่สุดผ่านการยุบโพลิสtop , การวิจัยการปฏิบัติการ, 1986, ฉบับที่ 34, ลำดับที่ 6, หน้า 919-929

Hoffman, KL วิธีการลดฟังก์ชันนูนทั่วโลกผ่านชุดนูน , โปรแกรมคณิตศาสตร์, 1981, ฉบับที่ 20, p. 22-31

Benson, HP A อัลกอริธึม จำกัด สำหรับการย่อขนาดเว้าให้เป็นรูปทรงหลายเหลี่ยม , โลจิสติกการวิจัยทางทะเล, 1985, Vol. 32, หมายเลข 1, p. 165-177

พวงของการอ้างอิงในเว็บไซต์ Christophe เมเยอร์

มีแหล่งที่มาเพิ่มเติมถ้าคุณ Google "ย่อฟังก์ชั่นเว้าเหนือโพลีท็อป" (หรือแทนที่ "โพลีเอ็ม" ด้วย "โพลีเอดรอน")


2

ฉันเข้าร่วมเมื่อหลายปีก่อนการบรรยายเรื่องการเพิ่มประสิทธิภาพ ย้อนกลับไปเราใช้ Matlab ร่วมกับ YALMIP

YALMIP Wiki


1

ปัญหานี้สามารถเห็นได้ว่าเป็นความแตกต่างของปัญหาการเขียนโปรแกรมฟังก์ชั่นนูน (DC) มีวรรณกรรมมากมายเกี่ยวกับการเขียนโปรแกรม DC คุณสามารถค้นหาการศึกษาที่เกี่ยวข้องได้ หนึ่งในวิธีที่รู้จักกันดีที่สุดคือวิธี DCA ดูตัวอย่าง: http://lma.univ-pau.fr/meet/mamern09/en/Lethi-MAMERN09.pdf

กระดาษล่าสุดอีกฉบับหนึ่งที่สำรวจวรรณกรรม DC ในระดับหนึ่งและอาจมีประโยชน์คือ: https://arxiv.org/pdf/1511.01796.pdf

นอกจากนี้คุณยังสามารถใช้วิธีการทั่วไปเพิ่มเติมสำหรับปัญหาที่ไม่แข็งตัวเช่นวิธีที่ใช้ prox ใน: http://num.math.uni-goettingen.de/~ssabach/BST2013.pdf


0

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

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