sfpathmin (4.2-git)
index
user/luke/Mpathmin.c
Program for iteratively determining the optimal path through a cost function input array. Input file's second dimension is a parameter that can vary along the path, and the first dimension is "time", or a coordinate that the output path, R(t), will be a function of. Dimensions greater than 2 in the input array represent additional panels to calculate the path through. To use this program for picking a path maximizing an objective function, first transform the objective function lpha by exp(-1*lpha) and feed the resulting output to this program. Path integral minimization is in the manner of "Path Optimization with Application to Tunneling", Dorothea M. Einarsdottir, Andri Arnaldsson, Finnbogi Oskarsson, and Hannes Jonsson, 2010

 
Synopsis
        sfpathmin < _in.rsf > _out.rsf k=1 kink=1 lr=.3 g=.1 knots=11 niter=10 damp=.5 shove=1000 aniso1=D[1]/D[0] dorder=6 srad=2 nsmooth=1 eps=0.

 
Parameters
       
 
float aniso1=D[1]/D[0]
anisotropy of 2nd axis relative to first
 
float damp=.5
if the path goes out of bounds, we reflect and dampen the rate of change by this much
 
int dorder=6
derivative order (stencil size) for gradient (dS) calculation
 
float eps=0.
if the change and gradient are simultaneously lower than this, terminate early
 
float g=.1
scale the momentum for updating the path at each iteration by how much before applying?
 
float k=1
stiffness relative to attraction
 
float kink=1
resistance to kinks
 
int knots=11
number of knots
 
float lr=.3
learning rate
 
int niter=10
number of iterations
 
int nsmooth=1
number of input panel gradient (dS) smoothings
 
float shove=1000
size of initial random lateral shove
 
int srad=2
smoothing radius for input panel gradient (dS)