1 |
heimbach |
1.1 |
{\scriptsize |
2 |
|
|
\begin{verbatim} |
3 |
|
|
... ... |
4 |
|
|
| ) |
5 |
|
|
| (---- store new values xx(i), gg(i) to OPWARMD (first 2 entries) |
6 |
|
|
| )---- >>> if ifail = 7,8,9 <<< |
7 |
|
|
| ( goto 1000 |
8 |
|
|
| ) |
9 |
|
|
| (---- compute new pointers jmin, jmax to include latest values |
10 |
|
|
| ) gg(i)-gg(i-1), xx(i)-xx(i-1) to Hessian matrix estimate |
11 |
|
|
| (---- store gg(i)-gg(i-1), xx(i)-xx(i-1) to OPWARMD |
12 |
|
|
| ) (entries 2*jmax+2, 2*jmax+3) |
13 |
|
|
| ( |
14 |
|
|
| )---- CALL DGSCALE |
15 |
|
|
| ( | |
16 |
|
|
| ) |---- call dostore |
17 |
|
|
| ( | | |
18 |
|
|
| ) | |---- read preconditioner of previous iteration diag(i-1) |
19 |
|
|
| ( | from OPWARMD (3rd entry) |
20 |
|
|
| ) | |
21 |
|
|
| ( |---- compute new preconditioner diag(i), based upon diag(i-1), |
22 |
|
|
| ) | gg(i)-gg(i-1), xx(i)-xx(i-1) |
23 |
|
|
| ( | |
24 |
|
|
| ) |---- call dostore |
25 |
|
|
| ( | |
26 |
|
|
| ) |---- write new preconditioner diag(i) to OPWARMD (3rd entry) |
27 |
|
|
| ( |
28 |
|
|
|---- \\\ end of optimization iteration loop |
29 |
|
|
| |
30 |
|
|
| |
31 |
|
|
| |
32 |
|
|
|---- CALL OUTSTORE |
33 |
|
|
| | |
34 |
|
|
| |---- store gnorm0, ff(i), current pointers jmin, jmax, iterabs to OPWARMI |
35 |
|
|
| |
36 |
|
|
|---- >>> if OFFLINE version <<< |
37 |
|
|
| xx(i+1) needs to be computed as input for offline optimization |
38 |
|
|
| | |
39 |
|
|
| |---- CALL LSUPDXX |
40 |
|
|
| | | |
41 |
|
|
| | |---- compute dd(i), tact(i) -> xdiff(i+1) = x(i) + tact(i)*dd(i) |
42 |
|
|
| | |
43 |
|
|
| |---- CALL WRITE_CONTROL |
44 |
|
|
| | | |
45 |
|
|
| | |---- write xdiff(i+1) to special file for offline optim. |
46 |
|
|
| |
47 |
|
|
|---- print final information |
48 |
|
|
| |
49 |
|
|
O |
50 |
|
|
\end{verbatim} |
51 |
|
|
} |