Hareket yasasının durum vektörünün bazı fonksiyonlarına bağlı olduğu durumlarda optimal bir kontrol problemini nasıl çözebilirim?


11

Durum vektörü x (t) ve kontrol vektörü y (t) ile tipik bir optimal kontrol problemi şu şekilde ifade edilebilir:

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

tabi ve sınır koşulları .x(t)=g(t,x(t),y(t))x

Çok benzer görünen bir sorunu çözmek istiyorum, ancak kontrolün hareket yasası:

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

Burada Seçilmelidir. Fakat argümanı devlettir.z(.)

Nerede çözüm aramaya başlayacağımı bile bilmiyorum. Bu soruna nasıl yaklaşabilirim?


1
Sanırım yazmanın doğru yolu . Orijinal soruyu düzelteceğim
x(t)=g(t,x(t),y(t),z(x(t))
Daniel Wills

Mükemmel bir ilk soru için SE, +1.
Chris Mueller

Kapalı form veya resmi bir çözüm mü arıyorsunuz yoksa pratik optimizasyon mu istiyorsunuz? Önceki durumda bunu math.stackexchange.com gibi bir sitede sormalısınız . İkinci durumda, pratik optimizasyona ayrılmış bir dizi disiplin vardır. Her iki durumda da, gerçek bir cevap almak için daha fazla ayrıntı sağlamanız gerekir.
feetwet

Pratik optimizasyon arıyorum. Daha fazla detay: Kontrol değişkeninin bir alt kümesi (buna diyorum ) bağlıdır ve kontrol değişkenlerinin bir alt kümesi ( diyorum ) bağlıdır. Ayrıca fonksiyonunu seçmem gerekiyor . Maksimizasyon kısıtlamasına tabidir. Bunu çözmenin sezgisel bir yolu şudur: - tahmin et - (şimdi standart) optimal kontrol problemini çöz ( verilen ) - olup olmadığını kontrol edin, eğer değilse, başka bir tahmin edin. Ama algoritmanın yakınsamanın bir nedeni olmadığını görüyorsunuz. İnsanlar bunu nasıl çözüyor?tyxzx(t)
h(z(x(t)),y(t))=0
x(t)x(t)h(z(x(t)),y(t))=0x(t)
Daniel Wills

Yanıtlar:


3

Neden harici olması gerekir ?zg

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

artık kullanıma olarakgg

g herhangi bir keyfi işlev olabilir, bu nedenle herhangi bir işlevi dahil edilebilir .zg

Kısıtlama ile ilgili olarak yorum bölümünde belirtilmiştir. Kontrol girişi ile ilgili herhangi bir kısıtlama maliyet fonksiyonu ile uygulanabilir:h

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

Nerede garanti değerlerine yeterince büyüktür sıfıra yakın, yeterli uzunlukta ama sayısal hatalar o kadar büyük değil orijinal hakim olur .Chhf


1

Sorunun noktasına ayrıştırılmasını kullanabilirsiniz , böylece yalnızca sınırlı sayıda parametre belirlemeniz gerekir ( ve şekilde sürekli işlevler olduğu varsayılarak ). Türev ve entegrasyon için Euler yöntemini kullanabilirsiniz, daha yüksek mertebe yöntemleri kullanılabilir, ancak problemi çözmeyi zorlaştırır.Nfg

Yeniden biçimlendirme şunları sağlar:

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

Ayrıca, optimizasyon probleminin eşitlik kısıtlamalarına sınır kısıtlamaları eklemelisiniz. Bu sorunu çözmek için birden fazla farklı yöntem kullanabilirsiniz, örneğin Matlab'a erişiminiz varsa , toplamın önüne bir eksi işareti ekleyerek giderilebilecek maliyet işlevini en aza indiren fmincon kullanabilirsiniz . Çoğu zaman, farklı tahminler farklı yerel maksimumlara yaklaşabileceğinden, çözümü de etkileyebilecek bir başlangıç ​​tahmini sunmanız gerekir. artırarak daha doğru bir çözüm elde etmelisiniz, ancak muhtemelen çözülmesi daha uzun sürecektir. Bir sorunun çözümünü daha az nokta ile kullanır ve bunları enterpolasyona sokarsanız ve daha fazla sayıda sorunun problemi için ilk tahmin olarak kullanırsanız daha hızlı birleşebilir.N

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.