/[MITgcm]/MITgcm_contrib/mlosch/optim_m1qn3/optim.h
ViewVC logotype

Annotation of /MITgcm_contrib/mlosch/optim_m1qn3/optim.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Thu Apr 26 11:10:06 2012 UTC (11 years, 11 months ago) by mlosch
Branch: MAIN
File MIME type: text/plain
First working version of a new optimization package that uses a slightly
modified version of m1qn3, v3.3
(https://who.rocq.inria.fr/Jean-Charles.Gilbert/modulopt/optimization-routines/m1qn3/m1qn3.html)
to work as an offline optimizer. The advantage of m1qn3_offline is, that
it is run in reverse communication control mode, so that it gives back
control to the call routine (here a script) to provide a new estimate of the
cost function and the gradient based on the control vector. This way we can
do complete line searches that are meaningful.

1 mlosch 1.1
2    
3     c ==================================================================
4     c HEADER OPTIMIZATION
5     c ==================================================================
6     c
7     c o Header for the large scale optimization.
8     c
9     c This header file contains those parameters that are monitoring
10     c the state of the off-line optimization procedure. One
11     c optimization cycle is considered to consist of a forward/adjoint
12     c model run followed by a cost function minimization that then
13     c yields a new guess for the control vector:
14     c
15     c optimcycle i: xx(i) --> fc(i) adxx(i) --> xx(i+1)
16     c
17     c
18     c started: Christian Eckert eckert@mit.edu 30-Jun-1999
19     c
20     c changed: Christian Eckert eckert@mit.edu 24-Feb-2000
21     c
22     c
23     c ==================================================================
24     c HEADER OPTIMIZATION
25     c ==================================================================
26    
27     c Optimization version:
28     c =====================
29     c
30     c lsoptversion - Version of the large scale optimization.
31    
32     character*(5) lsoptversion
33     parameter ( lsoptversion = '2.1.0' )
34    
35     character*(5) offlineversion
36     parameter ( offlineversion = '0.1.1' )
37    
38     c The off-line optimization part:
39     c ===============================
40     c
41     c Starting an optimization experiment implies setting optimcycle to
42     c zero. During cycle number I the model is called first, then the
43     c offline optimization is run. The latter provides a new guess for
44     c the vector of control variables for the next cycle I+1.
45     c
46     c optimcycle - cycle number of the off-line optimization.
47    
48     common /optiparm_i/
49     & optimcycle,
50     & nvars,
51     & numiter,
52     & nfunc,
53     & iprint,
54     & nupdate
55     integer optimcycle
56     integer nvars
57     integer numiter
58     integer nfunc
59     integer iprint
60     integer nupdate
61    
62     common /optiparm_r/
63     & fmin,
64     & epsf,
65     & epsx,
66     & epsg,
67     & eps
68     _RL epsf
69     _RL epsx
70     _RL fmin
71     _RL epsg
72     _RL eps
73    
74     common /optiparm_l/
75     & nondimcontrol
76     logical nondimcontrol
77    
78     common /optiparm_c/
79     & copt
80     character*( 3) copt
81    
82     c ==================================================================
83     c END OF HEADER OPTIMIZATION
84     c ==================================================================
85    
86    

  ViewVC Help
Powered by ViewVC 1.1.22