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

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

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


Revision 1.1 - (show annotations) (download)
Thu Apr 26 11:10:06 2012 UTC (12 years 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
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