double (*gsl_siman_Efunc_t) (void *xp);
void (*gsl_siman_step_t) (void *xp, double step_size);
double (*gsl_siman_metric_t) (void *xp, void *yp);
void (*gsl_siman_print_t) (void *xp);
gsl_siman_solve.
/* this structure contains all the information
needed to structure the search, beyond the
energy function, the step function and the
initial guess. */
struct s_siman_params {
/* how many points to try for each step */
int n_tries;
/* how many iterations at each temperature? */
int iters_fixed_T;
/* max step size in the random walk */
double step_size;
/* the following parameters are for the
Boltzmann distribution */
double k, t_initial, mu_t, t_min;
};
typedef struct s_siman_params gsl_siman_params_t;
The params structure (described above) controls the run by
providing the temperature schedule and other tunable parameters to the
algorithm (see section Simulated Annealing algorithm).
p
The result (optimal point in the space) is placed in *x0_p.
If print_position is not null, a log will be printed to the screen with the following columns:
number_of_iterations temperature x x-(*x0_p) Ef(x)
If print_position is null, no information is printed to the screen.