File: siman.html

package info (click to toggle)
octave-optim 1.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,064 kB
  • ctags: 374
  • sloc: cpp: 1,126; perl: 158; makefile: 79
file content (107 lines) | stat: -rw-r--r-- 5,345 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<html lang="en">
<head>
<title>siman - optim_doc</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="optim_doc">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Scalar-optimization.html#Scalar-optimization" title="Scalar optimization">
<link rel="prev" href="octave_005fsqp.html#octave_005fsqp" title="octave_sqp">
<link rel="next" href="d2_005fmin.html#d2_005fmin" title="d2_min">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Additional documentation for the optim package for Octave.

Copyright (C) <Olaf Till <i7tiol@t-online.de>>

You can redistribute this documentation and/or modify it under the terms
of the GNU General Public License as published by the Free Software
Foundation; either version 3 of the License, or (at your option) any
later version.

This documentation is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along
with this documentation; if not, see <http://www.gnu.org/licenses/>.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="siman"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="d2_005fmin.html#d2_005fmin">d2_min</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="octave_005fsqp.html#octave_005fsqp">octave_sqp</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Scalar-optimization.html#Scalar-optimization">Scalar optimization</a>
<hr>
</div>

<h3 class="section">1.4 Simulated annealing backend siman of scalar optimization</h3>

<p><a name="index-siman-7"></a>
A simulated annealing (stochastic) optimizer, changing all parameters at
once in a single step, so being suitable for non-bound constraints.

   <p>No gradient or hessian of the objective function is used. The settings
<code>MaxIter</code>, <code>fract_prec</code>, <code>TolFun</code>, <code>TolX</code>, and
<code>max_fract_change</code> are not honoured.

   <p>Accepts the additional settings <code>T_init</code> (initial temperature,
default 0.01), <code>T_min</code> (final temperature, default 1.0e-5),
<code>mu_T</code> (factor of temperature decrease, default 1.005),
<code>iters_fixed_T</code> (iterations within one temperature step, default
10), <code>max_rand_step</code> (column vector or structure-based
configuration of maximum random steps for each parameter, default 0.005
* <var>pin</var>), <code>stoch_regain_constr</code> (if <code>true</code>, regain
constraints after a random step, otherwise take new random value until
constraints are met, default <code>false</code>), <code>trace_steps</code> (set
field <code>trace</code> of <var>outp</var> with a matrix with a row for each step,
first column iteration number, second column repeat number within
iteration, third column value of objective function, rest columns
parameter values, default <code>false</code>), and <code>siman_log</code> (set field
<code>log</code> of <var>outp</var> with a matrix with a row for each iteration,
first column temperature, second column value of objective function,
rest columns numbers of tries with decrease, no decrease but accepted,
and no decrease and rejected.

   <p>Steps with increase <code>diff</code> of objective function are accepted if
<code>rand (1) &lt; exp (- diff / T)</code>, where <code>T</code> is the temperature of
the current iteration.

   <p>If regaining of constraints failed, optimization will be aborted and
returned value of <var>cvg</var> will be <code>0</code>. Otherwise, <var>cvg</var> will
be <code>1</code>. Returned structure <var>outp</var>, additionally to the possible
fields <code>trace</code> and <code>log</code> described above, will have the fields
<code>niter</code> and <code>user_interaction</code>.

   <p>Interpretation of <code>Display</code>: if set to <code>"iter"</code>, an
informational line is printed after each iteration.

   <p>If <code>parallel_local</code> is set to <code>true</code>, the objective function
is evaluated for several parameter combinations in parallel.  The course
of optimization won't be changed by parallelization, provided the random
number generator starts with the same state.  To achieve this, some of
the parallel results are discarded, causing the speedup to be smaller if
the rate of acceptance of results is high.  Also, due to overhead, there
won't be any speedup, but even a slowdown, if the objective function is
not computationally extensive enough.

   <p>Honours options <code>save_state</code> and <code>recover_state</code>, described
for the frontend.

<!--  -->
   </body></html>