ฉันจะแก้ปัญหาการควบคุมที่ดีที่สุดได้อย่างไรที่กฎการเคลื่อนที่ขึ้นอยู่กับฟังก์ชันของเวกเตอร์สถานะบางอย่าง?


11

ปัญหาการควบคุมที่ดีที่สุดโดยทั่วไปกับสถานะเวกเตอร์ x (t) และเวกเตอร์ควบคุม y (t) สามารถแสดงเป็น:

maxx(t),y(t)0t1f(t,x(t),y(t))dt

อาจมีการx(t)=g(t,x(t),y(t))และเงื่อนไขขอบเขตสำหรับxx

ฉันต้องการแก้ปัญหาที่มีลักษณะคล้ายกันมาก แต่กฎการเคลื่อนที่ของตัวควบคุมคือ:

x(t)=g(t,x(t),y(t),z(x(t)))

ที่นี่ต้องเลือกz(.)แต่ข้อโต้แย้งของมันคือรัฐ

ฉันไม่รู้ด้วยซ้ำว่าจะเริ่มมองหาวิธีแก้ปัญหาได้อย่างไร ฉันจะแก้ไขปัญหานี้ได้อย่างไร


1
ฉันเดาวิธีที่ถูกต้องในการเขียนมันคือ
x(t)=g(t,x(t),y(t),z(x(t))
ฉันจะแก้ไขคำถามเดิม
Daniel Wills

ยินดีต้อนรับสู่วิศวกรรม. +1 สำหรับคำถามแรกที่ยอดเยี่ยม
Chris Mueller

คุณกำลังมองหาโซลูชันแบบปิดหรือเป็นทางการหรือคุณกำลังถามเกี่ยวกับการปรับให้เหมาะสมที่สุด ในกรณีที่อดีตที่คุณควรถามนี้ในเว็บไซต์เช่นmath.stackexchange.com ในกรณีหลังมีช่วงของสาขาวิชาที่อุทิศให้กับการเพิ่มประสิทธิภาพการปฏิบัติ ไม่ว่าในกรณีใดคุณจะต้องให้รายละเอียดเพิ่มเติมเพื่อรับคำตอบจริง
feetwet

ฉันกำลังมองหาการเพิ่มประสิทธิภาพในทางปฏิบัติ รายละเอียดเพิ่มเติม: ชุดย่อยของตัวแปรควบคุมขึ้นอยู่กับ (ซึ่งฉันโทรหา ) และชุดย่อยของตัวแปรควบคุมขึ้นอยู่กับ (ซึ่งฉันเรียก ) นอกจากนี้ผมต้องเลือกฟังก์ชั่น(t) การขยายให้ใหญ่สุดอยู่ภายใต้ข้อ จำกัด ดังนั้นวิธีที่ใช้งานง่ายในการแก้ปัญหาคือ: - เดา - แก้ปัญหาการควบคุมที่ดีที่สุด (มาตรฐานตอนนี้) ( ได้รับ - ตรวจสอบว่าถ้าไม่ให้เดาอีก แต่คุณเห็นว่าไม่มีเหตุผลสำหรับอัลกอริธึมที่จะมาบรรจบกัน ผู้คนแก้ปัญหานี้อย่างไรy x z x ( t ) h ( z ( x ( t ) ) , y ( t ) ) = 0 x ( t ) x ( t ) h ( z ( x ( t ) ) , y ( t ) ) = 0 x ( t )tyxzx(t)
h(z(x(t)),y(t))=0
x(t)x(t)h(z(x(t)),y(t))=0x(t)
Daniel Wills

คำตอบ:


3

ทำไมจะจำเป็นต้องภายนอก ?กรัมzg

g(t,x(t),y(t))=g(t,x(t),y(t),z(x(t)))

ตอนนี้ใช้เป็น ggg

z กรัมgสามารถเป็นฟังก์ชันใด ๆ ก็ได้ดังนั้นฟังก์ชันใด ๆจึงสามารถรวมเข้ากับได้zg

เกี่ยวกับข้อ จำกัด ของกล่าวถึงในส่วนความคิดเห็น ข้อ จำกัด ใด ๆ ในอินพุตควบคุมสามารถบังคับใช้ผ่านฟังก์ชันต้นทุน:h

fnew(t,x(t),y(t))=fold(t,x(t),y(t))Ch(x(t),y(t))2

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


1

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

การปฏิรูปให้:

h=t1N1,x=[x1,x2,,xN],y=[y1,y2,,yN],

maxx,yn=1N1f(h(n1),xn,yn)hs.t.xn+1=xn+g(h(n1),xn,yn)h,n=1,2,,N1

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

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