8
$\begingroup$

I want to find a curve $\gamma : [0,T] \to \mathbb{R}^n$ that minimizes the following functional

$$J[\gamma]=\int\limits_0^T F(\gamma(t),\gamma'(t))\,dt$$

Suppose I know the endpoints, $a, b \in \mathbb{R}^n$, i.e., $\gamma(0) = a$ and $\gamma(T) = b$. For simplicity, let

$$F(\gamma(t),\gamma'(t)) = ||\gamma'(t)||_2^2 + H(\gamma(t))$$

where $H$ is smooth but highly non-linear.

Computationally, how would I obtain a good $\gamma$?

I am aware of a number of non-linear optimization techniques that can do this (e.g., evolutionary computations), essentially by (smart) brute force. However, this has a nice variational form. Is there some form of variational gradient descent that makes sense here?

The first variation is (or its $i$th component at least):

$$\frac{\delta J}{\delta \gamma_i} = \frac{\partial F}{\partial \gamma_i} - \frac{d}{dt}\frac{\partial F}{\partial \gamma_i'} = \frac{\partial }{\partial \gamma_i}H(\gamma(t)) - \frac{d}{dt}\frac{\partial }{\partial \gamma_i'} \sum_j\gamma_j'(t)^2 = \frac{\partial }{\partial \gamma_i}H(\gamma(t)) - 2\gamma_i''(t)$$

So that

$$\frac{\delta J}{\delta\gamma} = \nabla H(\gamma(t)) - 2\gamma''(t)$$

So now, for instance, suppose I parameterize $\gamma$ by $\theta \in \mathbb{R}^m$, so the curve is $\gamma_\theta(t)$. Not sure what a good parameterization is; maybe the position of some intermediate points we can connect via splines.

On the other hand, I suppose I could ignore the variational stuff and do:

$$\begin{align}\frac{\partial J}{\partial \theta} &= \int\limits_0^T \frac{\partial }{\partial \theta} F(\gamma_\theta(t),\gamma'_\theta(t)) dt \\ &= \int\limits_0^T \frac{\partial }{\partial \theta}||\gamma'(t)||_2^2 + \sum_i \frac{\partial H}{\partial \gamma_i} \frac{\partial\gamma_i}{\partial\theta} dt\\ &= \int\limits_0^T 2\sum_j \gamma_j'(t) \frac{\partial \gamma_j'(t)}{\partial \theta} + \sum_i \frac{\partial H}{\partial \gamma_i} \frac{\partial\gamma_i}{\partial\theta} dt\end{align}$$

with gradient descent. Any suggestions?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.