FORCES
FORtran lib for Comp. Env. Sys.
|
Anneal optimization of cost function. More...
Data Types | |
interface | anneal |
Optimize cost function with simulated annealing. More... | |
interface | generate_neighborhood_weight |
interface | gettemperature |
Find initial temperature for simulated annealing. More... | |
Functions/Subroutines | |
real(dp) function, dimension(size(para, 1)) | anneal_dp (eval, cost, para, prange, prange_func, temp, dt, nitermax, len, nst, eps, acc, seeds, printflag, maskpara, weight, changeparamode, reflectionflag, pertubflexflag, maxit, undef_funcval, tmp_file, funcbest, history) |
real(dp) function | gettemperature_dp (eval, cost, paraset, acc_goal, prange, prange_func, samplesize, maskpara, seeds, printflag, weight, maxit, undef_funcval) |
real(dp) function | pargen_anneal_dp (old, dmax, omin, omax, rn) |
real(dp) function | pargen_dds_dp (old, perturb, omin, omax, rn) |
real(dp) function | dchange_dp (delta, idigit, iszero) |
subroutine | generate_neighborhood_weight_dp (truepara, cum_weight, save_state_xor, itotalcounter, nitermax, neighborhood) |
Anneal optimization of cost function.
Minimization of cost function and temperature finding of minima.
COPYING
and COPYING.LESSER
provided with this software. The complete GNU license text can also be found at http://www.gnu.org/licenses/.
|
private |
[in] | para | initial parameter |
[in] | prange | lower and upper limit per parameter |
[in] | temp | starting temperature (DEFAULT: Get_Temperature) |
[in] | dt | geometrical decreement, 0.7<DT<0.999 (DEFAULT: 0.9) |
[in] | nitermax | maximal number of iterations (DEFAULT: 1000) |
[in] | len | Length of Markov Chain, DEFAULT: max(250, size(para,1)) |
[in] | nst | Number of consecutive LEN steps! (DEFAULT: 5) |
[in] | eps | epsilon decreement of cost function (DEFAULT: 0.01) |
[in] | acc | Acceptance Ratio, <0.1 stopping criteria (DEFAULT: 0.1) |
[in] | seeds | Seeds of random numbers (DEFAULT: Get_timeseed) |
[in] | printflag | If command line output is written (.true.) (DEFAULT: .false.) |
[in] | maskpara | true if parameter will be optimized false if parameter is discarded in optimization (DEFAULT: .true.) |
[in] | weight | vector of weights per parameter gives the frequency of parameter to be chosen for optimization (DEFAULT: uniform) |
[in] | changeparamode | which and how many param. are changed in a step 1 = one parameter 2 = all parameter 3 = neighborhood parameter (DEFAULT: 1_i4) |
[in] | reflectionflag | if new parameter values are selected normal distributed and reflected (.true.) or uniform in range (.false.) (DEFAULT: .false.) |
[in] | pertubflexflag | if pertubation of normal distributed parameter values is constant 0.2 (.false.) or depends on dR (.true.) (DEFAULT: .true.) |
[in] | maxit | Maximization or minimization of function maximization = .true., minimization = .false. (DEFAULT: .false.) |
[in] | undef_funcval | objective function value occuring if parameter set leads to invalid model results, e.g. -9999.0_dp! (DEFAULT: not present) |
[in] | tmp_file | file for temporal output |
[out] | funcbest | minimized value of cost function (DEFAULT: not present) |
[out] | history | returns a vector of achieved objective! after ith model evaluation (DEFAULT: not present) |
Definition at line 289 of file mo_anneal.f90.
|
private |
Definition at line 1319 of file mo_anneal.f90.
|
private |
Definition at line 1344 of file mo_anneal.f90.
|
private |
[in] | paraset | a valid parameter set of the model |
[in] | acc_goal | acceptance ratio to achieve |
[in] | prange | lower and upper limit per parameter |
[in] | samplesize | size of random set the acc_estimate is based on. DEFAULT: Max(250, 20*Number paras) |
[in] | maskpara | true if parameter will be optimized. false if parameter is discarded in optimization. DEFAULT: .true. |
[in] | seeds | Seeds of random numbers. DEFAULT: time dependent. |
[in] | printflag | .true. if detailed temperature estimation is printed. DEFAULT: .false. |
[in] | weight | vector of weights per parameter gives the frequency of parameter to be chosen for optimization. DEFAULT: equal weighting |
[in] | maxit | Maxim. or minim. of function maximization = .true., minimization = .false. . DEFAULT: .false. |
[in] | undef_funcval | objective function value occuring if parameter set leads to invalid model results, e.g. -999.0_dp. DEFAULT: not present |
Definition at line 991 of file mo_anneal.f90.
Referenced by mo_anneal::gettemperature::gettemperature_dp().
|
private |
Definition at line 1252 of file mo_anneal.f90.
|
private |
Definition at line 1292 of file mo_anneal.f90.