Procedures

ProcedureLocationProcedure TypeDescription
bipareto simulated_annealing_module Function

Bi-polar (two-sided) Pareto distribution. Generates a symmetric heavy-tailed distribution centered at a location.

Read more…
cauchy simulated_annealing_module Function

Cauchy random number with specified location and scale parameters. The Cauchy distribution has heavier tails than the normal distribution, which can be useful for occasional large jumps in simulated annealing.

destroy_sa simulated_annealing_module Subroutine

Destructor.

destroy_simulated_annealing simulated_annealing_module_c Subroutine

destroy a simulated_annealing_type from C

exprep simulated_annealing_module Function

this function replaces exp() to avoid underflow and overflow.

Read more…
fcn_parallel_input_wrapper simulated_annealing_module_c Subroutine
fcn_parallel_output_wrapper simulated_annealing_module_c Subroutine
fcn_wrapper simulated_annealing_module_c Subroutine

Wrapper procedures for C callbacks (module-level, work with wrapper type)

func simulated_annealing_module Function

if the function is to be minimized, switch the sign of the function. note that all intermediate and final output switches the sign back to eliminate any possible confusion for the user.

initialize_sa simulated_annealing_module Subroutine

Initialize the class.

Read more…
initialize_simulated_annealing simulated_annealing_module_c Subroutine

create a simulated_annealing_type from C

int_pointer_to_f_pointer simulated_annealing_module_c Subroutine

Convert an integer pointer to a c_sa_wrapper_type pointer.

n_inputs_wrapper simulated_annealing_module_c Subroutine
normal simulated_annealing_module Function

Normal (Gaussian) random number with specified mean and standard deviation. Uses the Box-Muller transform.

perturb_and_evaluate simulated_annealing_module Subroutine

Perturb the x vector and evaluate the function.

Read more…
perturb_variable simulated_annealing_module Function

Perturb a single variable using its assigned distribution and parameters.

print_vector simulated_annealing_module Subroutine

this subroutine prints the double precision vector named vector. elements 1 thru ncols will be printed. name is a character variable that describes vector. note that if name is given in the call to print_vector, it must be enclosed in quotes. if there are more than 10 elements in vector, 10 elements will be printed on each line.

rand_init simulated_annealing_module Subroutine

Initialize the intrinsic random number generator.

Read more…
report_wrapper simulated_annealing_module_c Subroutine
sa simulated_annealing_module Subroutine

Continuous simulated annealing global optimization algorithm

Read more…
solve_simulated_annealing simulated_annealing_module_c Subroutine

solve optimization problem using simulated annealing from C

triangular_dist simulated_annealing_module Function

Triangular distribution on [0,1] with specified mode. Uses inverse transform sampling - very efficient, no rejection needed.

Read more…
truncated_normal simulated_annealing_module Function

Truncated normal distribution within bounds [xl, xu]. Uses rejection sampling to ensure the value stays within bounds.

Read more…
uniform simulated_annealing_module Function

Uniform random number on the interval [xl,xu].

uniform_random_number simulated_annealing_module Function

Get a new uniform random number from [0,1].

Read more…
call~~graph~~CallGraph proc~bipareto bipareto proc~uniform uniform proc~bipareto->proc~uniform proc~uniform_random_number uniform_random_number proc~bipareto->proc~uniform_random_number proc~cauchy cauchy proc~cauchy->proc~uniform_random_number proc~destroy_sa simulated_annealing_type%destroy_sa proc~destroy_simulated_annealing destroy_simulated_annealing proc~destroy_simulated_annealing->proc~destroy_sa proc~int_pointer_to_f_pointer int_pointer_to_f_pointer proc~destroy_simulated_annealing->proc~int_pointer_to_f_pointer proc~exprep exprep proc~fcn_parallel_input_wrapper fcn_parallel_input_wrapper c_fcn_parallel_input_ptr c_fcn_parallel_input_ptr proc~fcn_parallel_input_wrapper->c_fcn_parallel_input_ptr proc~fcn_parallel_output_wrapper fcn_parallel_output_wrapper c_fcn_parallel_output_ptr c_fcn_parallel_output_ptr proc~fcn_parallel_output_wrapper->c_fcn_parallel_output_ptr proc~fcn_wrapper fcn_wrapper c_fcn_ptr c_fcn_ptr proc~fcn_wrapper->c_fcn_ptr proc~func simulated_annealing_type%func proc~initialize_sa simulated_annealing_type%initialize_sa proc~initialize_simulated_annealing initialize_simulated_annealing proc~initialize_simulated_annealing->proc~initialize_sa proc~n_inputs_wrapper n_inputs_wrapper c_n_inputs_ptr c_n_inputs_ptr proc~n_inputs_wrapper->c_n_inputs_ptr proc~normal normal proc~normal->proc~uniform_random_number proc~perturb_and_evaluate simulated_annealing_type%perturb_and_evaluate proc~perturb_variable simulated_annealing_type%perturb_variable proc~perturb_and_evaluate->proc~perturb_variable proc~perturb_variable->proc~bipareto proc~perturb_variable->proc~cauchy proc~triangular_dist triangular_dist proc~perturb_variable->proc~triangular_dist proc~truncated_normal truncated_normal proc~perturb_variable->proc~truncated_normal proc~perturb_variable->proc~uniform proc~print_vector print_vector proc~rand_init rand_init proc~report_wrapper report_wrapper c_report_ptr c_report_ptr proc~report_wrapper->c_report_ptr proc~sa simulated_annealing_type%sa proc~sa->proc~exprep proc~sa->proc~func proc~sa->proc~perturb_and_evaluate proc~sa->proc~print_vector proc~sa->proc~rand_init proc~sa->proc~uniform_random_number proc~solve_simulated_annealing solve_simulated_annealing proc~solve_simulated_annealing->proc~int_pointer_to_f_pointer proc~solve_simulated_annealing->proc~sa proc~triangular_dist->proc~uniform_random_number proc~truncated_normal->proc~normal proc~truncated_normal->proc~uniform proc~uniform->proc~uniform_random_number
Help