<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Direct_multiple_shooting_method</id>
	<title>Direct multiple shooting method - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Direct_multiple_shooting_method"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Direct_multiple_shooting_method&amp;action=history"/>
	<updated>2026-05-05T23:59:04Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Direct_multiple_shooting_method&amp;diff=6756656&amp;oldid=prev</id>
		<title>imported&gt;OAbot: Open access bot: url-access updated in citation with #oabot.</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Direct_multiple_shooting_method&amp;diff=6756656&amp;oldid=prev"/>
		<updated>2025-06-19T21:41:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/OABOT&quot; class=&quot;extiw&quot; title=&quot;wikipedia:OABOT&quot;&gt;Open access bot&lt;/a&gt;: url-access updated in citation with #oabot.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Mathematical problem solving strategy}}&lt;br /&gt;
In the area of [[mathematics]] known as [[numerical ordinary differential equations]], the &amp;#039;&amp;#039;&amp;#039;direct multiple shooting method&amp;#039;&amp;#039;&amp;#039; is a [[numerical method]] for the solution of [[boundary value problem]]s. The method divides the interval over which a solution is sought into several smaller intervals, solves an initial value problem in each of the smaller intervals, and imposes additional matching conditions to form a solution on the whole interval. The method constitutes a significant improvement in distribution of nonlinearity and [[numerical stability]] over single [[shooting method]]s.&lt;br /&gt;
&lt;br /&gt;
== Single shooting methods ==&lt;br /&gt;
&lt;br /&gt;
Shooting methods can be used to solve boundary value problems (BVP) like&lt;br /&gt;
&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt; y&amp;#039;&amp;#039;(t) = f(t, y(t), y&amp;#039;(t)), \quad y(t_a) = y_a, \quad y(t_b) = y_b, &amp;lt;/math&amp;gt;&lt;br /&gt;
in which the time points &amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; and &amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; are known and we seek &lt;br /&gt;
&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt;y(t),\quad t \in (t_a,t_b).&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Single shooting methods proceed as follows. Let &amp;#039;&amp;#039;y&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;; &amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;, &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;) denote the solution of the initial value problem (IVP)&lt;br /&gt;
&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt; y&amp;#039;&amp;#039;(t) = f(t, y(t), y&amp;#039;(t)), \quad y(t_0) = y_0, \quad y&amp;#039;(t_0) = p &amp;lt;/math&amp;gt;&lt;br /&gt;
Define the function &amp;#039;&amp;#039;F&amp;#039;&amp;#039;(&amp;#039;&amp;#039;p&amp;#039;&amp;#039;) as the difference between &amp;#039;&amp;#039;y&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;; &amp;#039;&amp;#039;p&amp;#039;&amp;#039;) and the specified boundary value &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;: &amp;#039;&amp;#039;F&amp;#039;&amp;#039;(&amp;#039;&amp;#039;p&amp;#039;&amp;#039;) = &amp;#039;&amp;#039;y&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;; &amp;#039;&amp;#039;p&amp;#039;&amp;#039;) − &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;&amp;#039;&amp;#039;b&amp;#039;&amp;#039;&amp;lt;/sub&amp;gt;. Then for every solution (&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;, &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) of the boundary value problem we have &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;=&amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; while &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt; corresponds to a [[root of a function|root]] of &amp;#039;&amp;#039;F&amp;#039;&amp;#039;. This root can be solved by any [[root-finding method]] given that certain method-dependent prerequisites are satisfied. This often will require initial guesses to &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt; and &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;. Typically, analytic root finding is impossible and iterative methods such as [[Newton&amp;#039;s method]] are used for this task.&lt;br /&gt;
&lt;br /&gt;
The application of single shooting for the numerical solution of boundary value problems suffers from several drawbacks.&lt;br /&gt;
&lt;br /&gt;
* For a given initial value &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; the solution of the IVP obviously must exist on the interval [&amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;,&amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;] so that we can evaluate the function &amp;#039;&amp;#039;F&amp;#039;&amp;#039; whose root is sought.&lt;br /&gt;
For highly nonlinear or unstable ODEs, this requires the initial guess &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; to be extremely close to an actual but unknown solution &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;. Initial values that are chosen slightly off the true solution may lead to singularities or breakdown of the ODE solver method. Choosing such solutions is inevitable in an iterative root-finding method, however.&lt;br /&gt;
*  Finite precision numerics may make it impossible at all to find initial values that allow for the solution of the ODE on the whole time interval.&lt;br /&gt;
*  The nonlinearity of the ODE effectively becomes a nonlinearity of &amp;#039;&amp;#039;F&amp;#039;&amp;#039;, and requires a root-finding technique capable of solving nonlinear systems. Such methods typically converge slower as nonlinearities become more severe. The boundary value problem solver&amp;#039;s performance suffers from this.&lt;br /&gt;
*  Even stable and well-conditioned ODEs may make for unstable and ill-conditioned BVPs. A slight alteration of the initial value guess &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt; may generate an extremely large step in the ODEs solution &amp;#039;&amp;#039;y&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;; &amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;, &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;0&amp;lt;/sub&amp;gt;) and thus in the values of the function &amp;#039;&amp;#039;F&amp;#039;&amp;#039; whose root is sought. Non-analytic root-finding methods can seldom cope with this behaviour.&lt;br /&gt;
&lt;br /&gt;
== Multiple shooting ==&lt;br /&gt;
&lt;br /&gt;
A direct multiple shooting method partitions the interval [&amp;#039;&amp;#039;t&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;t&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039;] by introducing additional grid points&lt;br /&gt;
&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt; t_a = t_0 &amp;lt; t_1 &amp;lt; \cdots &amp;lt; t_N = t_b .&amp;lt;/math&amp;gt;&lt;br /&gt;
The method starts by guessing somehow the values of &amp;#039;&amp;#039;y&amp;#039;&amp;#039; at all grid points &amp;#039;&amp;#039;t&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039; with {{math|0 ≤ &amp;#039;&amp;#039;k&amp;#039;&amp;#039; ≤ &amp;#039;&amp;#039;N&amp;#039;&amp;#039; − 1}}. Denote these guesses by &amp;#039;&amp;#039;y&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039;. Let &amp;#039;&amp;#039;y&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;; &amp;#039;&amp;#039;t&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;y&amp;lt;sub&amp;gt;k&amp;lt;/sub&amp;gt;&amp;#039;&amp;#039;) denote the solution emanating from the &amp;#039;&amp;#039;k&amp;#039;&amp;#039;th grid point, that is, the solution of the initial value problem&lt;br /&gt;
&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt; y&amp;#039;(t) = f(t, y(t)), \quad y(t_k) = y_k. &amp;lt;/math&amp;gt;&lt;br /&gt;
All these solutions can be pieced together to form a continuous trajectory if the values &amp;#039;&amp;#039;y&amp;#039;&amp;#039; match at the grid points. Thus, solutions of the boundary value problem correspond to solutions of the following system of &amp;#039;&amp;#039;N&amp;#039;&amp;#039; equations:&lt;br /&gt;
&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt; \begin{align}&lt;br /&gt;
y(t_1; t_0, y_0) &amp;amp;= y_1 \\&lt;br /&gt;
&amp;amp; \;\, \vdots \\&lt;br /&gt;
y(t_{N-1}; t_{N-2}, y_{N-2}) &amp;amp;= y_{N-1} \\&lt;br /&gt;
y(t_N; t_{N-1}, y_{N-1}) &amp;amp;= y_b.&lt;br /&gt;
\end{align}&amp;lt;/math&amp;gt;&lt;br /&gt;
The central &amp;#039;&amp;#039;N&amp;#039;&amp;#039;&amp;amp;minus;2 equations are the matching conditions, and the first and last equations are the conditions {{math|1=&amp;#039;&amp;#039;y&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;) = &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;a&amp;lt;/sub&amp;gt;}} and {{math|1=&amp;#039;&amp;#039;y&amp;#039;&amp;#039;(&amp;#039;&amp;#039;t&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;) = &amp;#039;&amp;#039;y&amp;#039;&amp;#039;&amp;lt;sub&amp;gt;b&amp;lt;/sub&amp;gt;}} from the boundary value problem. The multiple shooting method solves the boundary value problem by solving this system of equations. Typically, a modification of the [[Newton&amp;#039;s method]] is used for the latter task.&lt;br /&gt;
&lt;br /&gt;
=== Multiple shooting and parallel-in-time methods ===&lt;br /&gt;
Multiple shooting has been adopted to derive [[Parallel computing|parallel]] solvers for [[initial value problem]]s.&amp;lt;ref&amp;gt;{{cite journal&lt;br /&gt;
| last       = Kiehl&lt;br /&gt;
| first      =  Martin&lt;br /&gt;
| date       = 1994&lt;br /&gt;
| title      = Parallel multiple shooting for the solution of initial value problems&lt;br /&gt;
| journal    = Parallel Computing&lt;br /&gt;
| volume     = 20&lt;br /&gt;
| issue      = 3&lt;br /&gt;
| pages      =  275–295&lt;br /&gt;
| bibcode    = &lt;br /&gt;
| doi        = 10.1016/S0167-8191(06)80013-X&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
For example, the [[Parareal]] parallel-in-time integration method can be derived as a multiple shooting algorithm with a special approximation of the [[Jacobian matrix and determinant|Jacobian]].&amp;lt;ref name=&amp;quot;gander2007&amp;quot;&amp;gt;{{cite journal&lt;br /&gt;
| last1      = Gander&lt;br /&gt;
| first1     =  Martin J.&lt;br /&gt;
| last2      = Vandewalle&lt;br /&gt;
| first2     = Stefan&lt;br /&gt;
| date       = 2007&lt;br /&gt;
| title      = Analysis of the Parareal Time-Parallel Time-Integration Method&lt;br /&gt;
| journal    = SIAM Journal on Scientific Computing&lt;br /&gt;
| volume     = 29&lt;br /&gt;
| issue      = 2&lt;br /&gt;
| pages      = 556–578&lt;br /&gt;
| bibcode    = 2007SJSC...29..556G&lt;br /&gt;
| doi        = 10.1137/05064607X&lt;br /&gt;
| citeseerx = 10.1.1.92.9922&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
* {{Citation | last1=Stoer | first1=Josef | last2=Bulirsch | first2=Roland | title=Introduction to Numerical Analysis | publisher=[[Springer-Verlag]] | location=Berlin, New York | edition=3rd | isbn=978-0-387-95452-3 | year=2002}}. See Sections 7.3.5 and further.&lt;br /&gt;
* {{Citation | last1=Bock | first1=Hans Georg | last2=Plitt | first2=Karl J. | title=Proceedings of the 9th IFAC World Congress | series=9th IFAC World Congress: A Bridge Between Control Science and Technology, Budapest, Hungary, 2-6 July 1984 | contribution= A multiple shooting algorithm for direct solution of optimal control problems | location=Budapest | year=1984 | volume=17 | issue=2 | pages=1603–1608 | doi=10.1016/S1474-6670(17)61205-9 | url=https://www.sciencedirect.com/science/article/pii/S1474667017612059 | doi-access=free | url-access=subscription }}&lt;br /&gt;
* {{Citation | last1=Morrison| first1=David D. | last2=Riley | first2=James D. | last3=Zancanaro | first3=John F. | title=Multiple shooting method for two-point boundary value problems |date=December 1962 | volume=5 | number=12  | pages=613–614 | journal=Commun. ACM | doi=10.1145/355580.369128| s2cid=8774159 | url=https://hal.archives-ouvertes.fr/hal-01634264/file/DMJR.pdf }}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Direct Multiple Shooting Method}}&lt;br /&gt;
[[Category:Numerical differential equations]]&lt;br /&gt;
[[Category:Boundary value problems]]&lt;/div&gt;</summary>
		<author><name>imported&gt;OAbot</name></author>
	</entry>
</feed>