Apps

Bryson-Denham Problem

Apps.BrysonDenhamProblem History

Hide minor edits - Show changes to output

Changed line 9 from:
The parameter ''u'' is the acceleration can be adjusted over the time horizon from a starting time of zero to a final time of one. The variable ''x'' is the position and ''v'' is the velocity.
to:
The parameter ''u'' (acceleration) is adjusted over the time horizon from a starting time of zero to a final time of one. The variable ''x'' is the position and ''v'' is the velocity.
Added lines 24-36:

!!!! Solution

(:html:)
<!--
<iframe width="560" height="315" src="https://www.youtube.com/embed/pgJ0jbfFBUE" frameborder="0" allowfullscreen></iframe>
-->
(:htmlend:)

Attach:download.png [[Attach:bryson_denham_solution.zip|Download Bryson-Denham Solution in Python]]

%width=350px%Attach:bryson_denham_solution.png

Changed line 9 from:
The parameter ''u'' is the acceleration can be adjusted over the time horizon from a starting time of zero to a time of one. The variable ''x'' is the position and ''v'' is the velocity.
to:
The parameter ''u'' is the acceleration can be adjusted over the time horizon from a starting time of zero to a final time of one. The variable ''x'' is the position and ''v'' is the velocity.
Changed lines 15-23 from:
{$\quad \frac{dx(t)}{dt} = v $}

{$\quad \frac{dv(t)}{dt} = u$}

{$\quad x(0) \; = \; x(1) \; = \; 0$}

{$\quad v(0) \; = \; -v(1) \; = \; 1$}

{$\quad x(t) \le \ell, \ell=\frac{1}{9}$}
to:
{$\frac{dx(t)}{dt} = v(t) $}

{$\frac{dv(t)}{dt} = u(t) $}

{$x(0) \; = \; x(1) \; = \; 0$}

{$v(0) \; = \; -v(1) \; = \; 1$}

{$x(t) \le \ell, \; \ell=\frac{1}{9}$}
Added lines 1-42:
(:title Bryson-Denham Problem:)
(:keywords Benchmark, Python, nonlinear control, dynamic programming, optimal control:)
(:description Minimize the integral of the control input while meeting certain path and final time constraints.:)

The Bryson-Denham optimal control problem is a benchmark test problem for optimal control algorithms.

!!!! Problem Statement

The parameter ''u'' is the acceleration can be adjusted over the time horizon from a starting time of zero to a time of one. The variable ''x'' is the position and ''v'' is the velocity.

{$\min J = \frac{1}{2} \; \int_0^1 u^2(t) dt$}

{$\mathrm{subject\;to}$}

{$\quad \frac{dx(t)}{dt} = v $}

{$\quad \frac{dv(t)}{dt} = u$}

{$\quad x(0) \; = \; x(1) \; = \; 0$}

{$\quad v(0) \; = \; -v(1) \; = \; 1$}

{$\quad x(t) \le \ell, \ell=\frac{1}{9}$}

----

(:html:)
 <div id="disqus_thread"></div>
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'apmonitor'; // required: replace example with your forum shortname

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
(:htmlend:)