Vraag:
Hoe los ik een optimaal controleprobleem op waarbij de bewegingswet afhangt van een functie van de toestandsvector?
Daniel Wills
2015-04-14 23:56:44 UTC
view on stackexchange narkive permalink

Een typisch optimaal besturingsprobleem met toestandsvector x (t) en besturingsvector y (t) kan worden uitgedrukt als:

$$ \ max_ {x (t), y (t)} \ int_0 ^ {t_1} f (t, x (t), y (t)) dt $$

onder voorbehoud van $ x '(t) = g (t, x (t), y (t )) $ en randvoorwaarden voor $ x $.

Ik wil een probleem oplossen dat erg op elkaar lijkt, maar de bewegingswet van het besturingselement is:

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

Hier moet $ z (.) $ worden gekozen. Maar het argument is de staat.

Ik weet niet eens waar ik naar oplossingen moet zoeken. Hoe kan ik dit probleem aanpakken?

Ik denk dat de juiste manier om het te schrijven is $$ x '(t) = g (t, x (t), y (t), z (x (t)) $$. Ik zal de oorspronkelijke vraag corrigeren.
Welkom bij engineering.SE, +1 voor een uitstekende eerste vraag.
Bent u op zoek naar een gesloten of formele oplossing, of vraagt ​​u naar praktische optimalisatie? In het eerste geval zou u dit moeten vragen op een site als http://math.stackexchange.com. In het laatste geval is er een scala aan disciplines gewijd aan praktische optimalisatie. In beide gevallen moet u meer details verstrekken om een ​​echt antwoord te krijgen.
Ik ben op zoek naar praktische optimalisatie. Meer details: Een subset van de controlevariabele is afhankelijk van $ t $ (wat ik $ y $ noem), en een subset van de controlevariabelen is afhankelijk van $ x $ (wat ik $ z $ noem). Bovendien moet ik de functie $ x (t) $ kiezen. De maximalisatie is onderhevig aan een beperking $$ h (z (x (t)), y (t)) = 0 $$ Dus een intuïtieve manier om het op te lossen is : - gok $ x (t) $ - los het (nu standaard) optimale besturingsprobleem op (gegeven $ x (t) $) - controleer of $ h (z (x (t)), y (t)) = 0 $ , zo niet, raad dan nog een $ x (t) $. Maar u ziet dat er geen reden is waarom het algoritme zal convergeren. Hoe lossen mensen dit op?
Twee antwoorden:
Rick
2015-07-31 19:08:01 UTC
view on stackexchange narkive permalink

Waarom zou $ z $ extern moeten zijn voor $ g $?

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

gebruik nu $ g '$ als $ g $

$ g $ kan elke willekeurige functie zijn, dus elke functie $ z $ kan gewoon in $ g $ worden opgenomen.

Met betrekking tot uw beperking $ h $ vermeld in de commentaarsectie. Eventuele beperkingen op de controle-invoer kunnen worden afgedwongen via de kostenfunctie:

$$ f_ {nieuw} (t, x (t), y (t)) = f_ {oud} (t, x ( t), y (t)) - C \, h (x (t), y (t)) ^ 2 $$

Waar $ C $ voldoende groot is om waarden van $ h $ sluiten te garanderen genoeg tot nul maar niet zo groot dat numerieke fouten in $ h $ de oorspronkelijke $ f $ zouden domineren.

fibonatic
2016-04-22 15:46:30 UTC
view on stackexchange narkive permalink

U kunt discretisatie van het probleem gebruiken in $ N $ punten, zodat u slechts een eindig aantal parameters hoeft te bepalen (aangenomen dat $ f $ en $ g $ ietwat continue functies zijn). Voor de afgeleide en integratie kun je de Euler-methode gebruiken, hogere-orde-methoden kunnen worden gebruikt, maar maken het probleem moeilijker op te lossen.

De herformulering geeft: $$ h = \ frac {t_1} {N-1 }, \ quad \ vec {x} = [x_1, x_2, \ dots, x_N], \ quad \ vec {y} = [y_1, y_2, \ dots, y_N], $$

$ $ \ begin {align} \ max _ {\ vec {x}, \ vec {y}} & & \ sum_ {n = 1} ^ {N-1} f (h (n-1), x_n, y_n) h \\ st & & x_ {n + 1} = x_n + g (h (n-1), x_n, y_n) h, & & n = 1, 2, \ dots, N-1 \ end {align} $$

Je moet ook de grensbeperkingen toevoegen aan de gelijkheidsbeperkingen van het optimalisatieprobleem. U kunt meerdere verschillende methoden gebruiken om dit probleem op te lossen, als u bijvoorbeeld toegang heeft tot Matlab, kunt u fmincon gebruiken, wat de kostenfunctie minimaliseert die kan worden opgelost door een minteken voor de som toe te voegen . Vaak moet u ook een eerste schatting opgeven, wat ook van invloed kan zijn op de oplossing, aangezien verschillende schattingen kunnen convergeren naar verschillende lokale maxima. Door $ N $ te verhogen, zou u een steeds nauwkeurigere oplossing moeten krijgen, maar het zal waarschijnlijk langer duren om het op te lossen. Het zou sneller kunnen convergeren als u de oplossing van een probleem met minder punten gebruikt en ze interpoleert en dat dan gebruikt als een eerste schatting voor het probleem van het grotere aantal punten.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...