1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2008 - INRIA - Michael Baudin
4// Copyright (C) 2009 - INRIA - Michael Baudin
5// Copyright (C) 2011 - DIGITEO - Michael Baudin
6//
7//  This file is distributed under the same license as the Scilab package.
8// =============================================================================
9// <-- CLI SHELL MODE -->
10// <-- ENGLISH IMPOSED -->
11// <-- NO CHECK REF -->
12//
13// Do not check ref, because iprint option create output messages
14// which contains lots of floating point values which may
15// be slightly different across platforms, without being bugs.
16//
17// optim_script.tst --
18//   Test the optim command with the Rosenbrock test case
19//   in the case where the cost function is a Scilab function.
20//   The expected solution is x=(1,...,1) where f(x)=0
21//
22Leps=1.e-3;
23bs=[5 5];
24bi=-bs;
25x0=[-1.2 1];
26xopt=[1 1];
27fopt = 0.0;
28gopt = [0.0 0.0];
29function [ f , g , ind ] = rosenbrock ( x , ind )
30    if ind == 2 | ind == 4 then
31        f = 100.0 *(x(2)-x(1)^2)^2 + (1-x(1))^2;
32    end
33    if ind == 2 | ind == 4 then
34        g(1) = - 400. * ( x(2) - x(1)**2 ) * x(1) -2. * ( 1. - x(1) )
35        g(2) = 200. * ( x(2) - x(1)**2 )
36    end
37endfunction
38//
39// Configure the test so that verbose message do not interrupt the test.
40lines(0);
41//
42// 1. Test unconstrained BFGS
43// Test without arguments
44[f,x,g,tr]=optim(rosenbrock,x0);
45assert_checkalmostequal ( x , xopt , Leps );
46assert_checkalmostequal ( f , fopt , [] , Leps );
47assert_checkalmostequal ( g , gopt , [] , Leps );
48// Test with maximum number of call to cost function
49[f,x,g]=optim(rosenbrock,x0,"qn","ar",50);
50assert_checkalmostequal ( x , xopt , Leps );
51assert_checkalmostequal ( f , fopt , [] , Leps );
52assert_checkalmostequal ( g , gopt , [] , Leps );
53// Test with hot-restart array tr
54[f,x,g,tr]=optim(rosenbrock,x0,"qn","ar",50);
55[f,x,g]=optim(rosenbrock,x0,tr);
56assert_checkalmostequal ( x , xopt , Leps );
57assert_checkalmostequal ( f , fopt , [] , Leps );
58assert_checkalmostequal ( g , gopt , [] , Leps );
59// Test with maximum number of call to cost function, maximum number of iterations
60[f,x,g]=optim(rosenbrock,x0,"qn","ar", 50 , 100 );
61assert_checkalmostequal ( x , xopt , Leps );
62assert_checkalmostequal ( f , fopt , [] , Leps );
63assert_checkalmostequal ( g , gopt , [] , Leps );
64// Test with various iprint levels
65// iprint = 0 : No messages
66[f,x,g]=optim(rosenbrock,x0,"qn",iprint=0);
67// iprint = 1 : one line at start, one line at end
68[f,x,g]=optim(rosenbrock,x0,"qn",iprint=1);
69***** enters -qn code- (without bound cstr)
70dimension=         2, epsq=  0.2220446049250313E-15, verbosity level: iprint=         1
71max number of iterations allowed: iter=       100
72max number of calls to costf allowed: nap=       100
73------------------------------------------------
74 iter num   38, nb calls=  46, f=  0.000
75***** leaves -qn code-, gradient norm=  0.0000000000000000E+00
76optim: Norm of projected gradient lower than 0.
77// iprint = 2 : one line by iteration
78[f,x,g]=optim(rosenbrock,x0,"qn",iprint=2);
79***** enters -qn code- (without bound cstr)
80dimension=         2, epsq=  0.2220446049250313E-15, verbosity level: iprint=         2
81max number of iterations allowed: iter=       100
82max number of calls to costf allowed: nap=       100
83------------------------------------------------
84 iter num    1, nb calls=   1, f=  24.20
85 iter num    2, nb calls=   2, f=  7.272
86 iter num    3, nb calls=   3, f=  4.350
87 iter num    4, nb calls=   5, f=  3.417
88 iter num    5, nb calls=   6, f=  3.109
89 iter num    6, nb calls=   8, f=  2.888
90 iter num    7, nb calls=   9, f=  2.528
91 iter num    8, nb calls=  10, f=  2.079
92 iter num    9, nb calls=  11, f=  1.684
93 iter num   10, nb calls=  13, f=  1.487
94 iter num   11, nb calls=  14, f=  1.331
95 iter num   12, nb calls=  15, f=  1.094
96 iter num   13, nb calls=  17, f= 0.9515
97 iter num   14, nb calls=  18, f= 0.7438
98 iter num   15, nb calls=  19, f= 0.5691
99 iter num   16, nb calls=  21, f= 0.4953
100 iter num   17, nb calls=  22, f= 0.4021
101 iter num   18, nb calls=  23, f= 0.2856
102 iter num   19, nb calls=  25, f= 0.2208
103 iter num   20, nb calls=  26, f= 0.1793
104 iter num   21, nb calls=  27, f= 0.1226
105 iter num   22, nb calls=  29, f= 0.8763E-01
106 iter num   23, nb calls=  30, f= 0.6050E-01
107 iter num   24, nb calls=  31, f= 0.3408E-01
108 iter num   25, nb calls=  33, f= 0.1690E-01
109 iter num   26, nb calls=  34, f= 0.1151E-01
110 iter num   27, nb calls=  35, f= 0.4470E-02
111 iter num   28, nb calls=  36, f= 0.1802E-02
112 iter num   29, nb calls=  37, f= 0.4269E-03
113 iter num   30, nb calls=  38, f= 0.4499E-04
114 iter num   31, nb calls=  39, f= 0.1626E-05
115 iter num   32, nb calls=  40, f= 0.1849E-07
116 iter num   33, nb calls=  41, f= 0.8950E-10
117 iter num   34, nb calls=  42, f= 0.2801E-15
118 iter num   35, nb calls=  43, f= 0.4239E-20
119 iter num   36, nb calls=  44, f= 0.2642E-25
120 iter num   37, nb calls=  45, f= 0.4980E-29
121 iter num   38, nb calls=  46, f=  0.000
122***** leaves -qn code-, gradient norm=  0.0000000000000000E+00
123optim: Norm of projected gradient lower than 0.
124// iprint = 3 : one line by iteration + one line by line search
125[f,x,g]=optim(rosenbrock,x0,"qn",iprint=3);
126***** enters -qn code- (without bound cstr)
127dimension=         2, epsq=  0.2220446049250313E-15, verbosity level: iprint=         3
128max number of iterations allowed: iter=       100
129max number of calls to costf allowed: nap=       100
130------------------------------------------------
131 iter num    1, nb calls=   1, f=  24.20
132 linear search: initial derivative= -232.9
133                step length= 0.1000E-01, df= -16.93    , derivative= -85.60
134 iter num    2, nb calls=   2, f=  7.272
135 linear search: initial derivative= -42.24
136                step length=  1.000    , df= -2.923    , derivative= -1.329
137 iter num    3, nb calls=   3, f=  4.350
138 linear search: initial derivative= -1.898
139                step length=  1.000    , df=-0.1237    , derivative= -1.824
140                step length=  10.00    , df=-0.9331    , derivative= 0.2202
141 iter num    4, nb calls=   5, f=  3.417
142 linear search: initial derivative= -5.550
143                step length=  1.000    , df=-0.3079    , derivative= -3.790
144 iter num    5, nb calls=   6, f=  3.109
145 linear search: initial derivative= -1.647
146                step length= 0.4722    , df=-0.4528E-01, derivative=  2.629
147                step length= 0.2798    , df=-0.2206    , derivative=-0.3888E-01
148 iter num    6, nb calls=   8, f=  2.888
149 linear search: initial derivative= -4.438
150                step length= 0.6098    , df=-0.3600    , derivative= -2.968
151 iter num    7, nb calls=   9, f=  2.528
152 linear search: initial derivative= -3.266
153                step length=  1.000    , df=-0.4494    , derivative= -1.801
154 iter num    8, nb calls=  10, f=  2.079
155 linear search: initial derivative= -4.375
156                step length=  1.000    , df=-0.3951    , derivative= -2.224
157 iter num    9, nb calls=  11, f=  1.684
158 linear search: initial derivative= -2.203
159                step length= 0.2673    , df=  1.009    , derivative=  13.78
160                step length= 0.1089    , df=-0.1964    , derivative= 0.1570
161 iter num   10, nb calls=  13, f=  1.487
162 linear search: initial derivative= -2.478
163                step length=  1.000    , df=-0.1558    , derivative= -1.410
164 iter num   11, nb calls=  14, f=  1.331
165 linear search: initial derivative= -4.524
166                step length= 0.5294    , df=-0.2371    , derivative= -2.628
167 iter num   12, nb calls=  15, f=  1.094
168 linear search: initial derivative= -1.940
169                step length=  1.000    , df= 0.5590E-01, derivative=  4.817
170                step length= 0.5465    , df=-0.1427    , derivative=-0.4464E-01
171 iter num   13, nb calls=  17, f= 0.9515
172 linear search: initial derivative= -2.968
173                step length=  1.000    , df=-0.2076    , derivative= -1.697
174 iter num   14, nb calls=  18, f= 0.7438
175 linear search: initial derivative= -2.579
176                step length=  1.000    , df=-0.1747    , derivative= -1.324
177 iter num   15, nb calls=  19, f= 0.5691
178 linear search: initial derivative= -1.362
179                step length= 0.5720    , df= 0.6117    , derivative=  10.41
180                step length= 0.2117    , df=-0.7377E-01, derivative= 0.1629
181 iter num   16, nb calls=  21, f= 0.4953
182 linear search: initial derivative= -1.489
183                step length=  1.000    , df=-0.9325E-01, derivative=-0.9504
184 iter num   17, nb calls=  22, f= 0.4021
185 linear search: initial derivative= -1.740
186                step length= 0.9187    , df=-0.1165    , derivative=-0.6277
187 iter num   18, nb calls=  23, f= 0.2856
188 linear search: initial derivative=-0.8565
189                step length= 0.7197    , df= 0.2244    , derivative=  4.627
190                step length= 0.3184    , df=-0.6478E-01, derivative= 0.4025E-01
191 iter num   19, nb calls=  25, f= 0.2208
192 linear search: initial derivative=-0.6915
193                step length=  1.000    , df=-0.4156E-01, derivative=-0.4294
194 iter num   20, nb calls=  26, f= 0.1793
195 linear search: initial derivative= -1.024
196                step length= 0.5978    , df=-0.5666E-01, derivative=-0.4359
197 iter num   21, nb calls=  27, f= 0.1226
198 linear search: initial derivative=-0.4236
199                step length=  1.000    , df= 0.2045E-01, derivative=  1.162
200                step length= 0.5356    , df=-0.3498E-01, derivative=-0.7704E-02
201 iter num   22, nb calls=  29, f= 0.8763E-01
202 linear search: initial derivative=-0.4234
203                step length=  1.000    , df=-0.2712E-01, derivative=-0.2548
204 iter num   23, nb calls=  30, f= 0.6050E-01
205 linear search: initial derivative=-0.5418
206                step length=  1.000    , df=-0.2643E-01, derivative=-0.8204E-01
207 iter num   24, nb calls=  31, f= 0.3408E-01
208 linear search: initial derivative=-0.2244
209                step length= 0.8549    , df= 0.1962E-01, derivative= 0.7472
210                step length= 0.4325    , df=-0.1717E-01, derivative=-0.6534E-03
211 iter num   25, nb calls=  33, f= 0.1690E-01
212 linear search: initial derivative=-0.1257
213                step length=  1.000    , df=-0.5392E-02, derivative=-0.6886E-01
214 iter num   26, nb calls=  34, f= 0.1151E-01
215 linear search: initial derivative=-0.1993
216                step length= 0.6643    , df=-0.7042E-02, derivative=-0.7138E-01
217 iter num   27, nb calls=  35, f= 0.4470E-02
218 linear search: initial derivative=-0.6177E-01
219                step length=  1.000    , df=-0.2669E-02, derivative= 0.1873E-01
220 iter num   28, nb calls=  36, f= 0.1802E-02
221 linear search: initial derivative=-0.5318
222                step length=  1.000    , df=-0.1375E-02, derivative=-0.7452E-01
223 iter num   29, nb calls=  37, f= 0.4269E-03
224 linear search: initial derivative=-0.1952E-01
225                step length=  1.000    , df=-0.3819E-03, derivative=-0.5887E-02
226 iter num   30, nb calls=  38, f= 0.4499E-04
227 linear search: initial derivative=-0.6081E-02
228                step length=  1.000    , df=-0.4337E-04, derivative=-0.6785E-03
229 iter num   31, nb calls=  39, f= 0.1626E-05
230 linear search: initial derivative=-0.2438E-02
231                step length=  1.000    , df=-0.1608E-05, derivative= 0.7953E-04
232 iter num   32, nb calls=  40, f= 0.1849E-07
233 linear search: initial derivative=-0.1711E-03
234                step length=  1.000    , df=-0.1840E-07, derivative= 0.1167E-04
235 iter num   33, nb calls=  41, f= 0.8950E-10
236 linear search: initial derivative=-0.1010E-04
237                step length=  1.000    , df=-0.8950E-10, derivative= 0.1344E-07
238 iter num   34, nb calls=  42, f= 0.2801E-15
239 linear search: initial derivative=-0.5481E-07
240                step length=  1.000    , df=-0.2801E-15, derivative=-0.1438E-09
241 iter num   35, nb calls=  43, f= 0.4239E-20
242 linear search: initial derivative=-0.1106E-09
243                step length=  1.000    , df=-0.4239E-20, derivative=-0.2044E-12
244 iter num   36, nb calls=  44, f= 0.2642E-25
245 linear search: initial derivative=-0.1512E-12
246                step length=  1.000    , df=-0.2642E-25, derivative= 0.4543E-15
247 iter num   37, nb calls=  45, f= 0.4980E-29
248 linear search: initial derivative=-0.2682E-13
249                step length=  1.000    , df=-0.4980E-29, derivative=  0.000
250 iter num   38, nb calls=  46, f=  0.000
251***** leaves -qn code-, gradient norm=  0.0000000000000000E+00
252optim: Norm of projected gradient lower than 0.
253// Negative iprint : call back the cost function with ind = 0 each -iprint iteration
254[f,x,g]=optim(rosenbrock,x0,"qn",iprint=-5);
255optim: Norm of projected gradient lower than 0.
256//
257// 2. Test unconstrained Limited Memory BFGS
258[f,x,g]=optim(rosenbrock,x0,"gc");
259assert_checkalmostequal ( x , xopt , Leps );
260assert_checkalmostequal ( f , fopt , [] , Leps );
261assert_checkalmostequal ( g , gopt , [] , Leps );
262[f,x,g]=optim(rosenbrock,x0,"gc","ar",50);
263assert_checkalmostequal ( x , xopt , Leps );
264assert_checkalmostequal ( f , fopt , [] , Leps );
265assert_checkalmostequal ( g , gopt , [] , Leps );
266// Test with various iprint levels
267// iprint = 0 : No messages
268[f,x,g]=optim(rosenbrock,x0,"gc",iprint=0);
269// iprint = 1,2 : one line at start, one line at end
270[f,x,g]=optim(rosenbrock,x0,"gc",iprint=1);
271 n1qn3: entry point
272     dimension of the problem (n):     2
273     absolute precision on x (dxmin): 0.22D-15
274     expected decrease for f (df1): 0.10D+01
275     relative precision on g (epsg): 0.95D-18
276     maximal number of iterations (niter):   100
277     maximal number of simulations (nsim):   100
278     printing level (iprint):   1
279     allocated memory (nrz) :     58
280     used memory :                58
281     number of updates :          10
282     f         =  0.24200000D+02
283     norm of g =  0.23286769D+03
284 -------------------------------------------------------------------------------
285 n1qn3: output mode is  1
286     number of iterations:   41
287     number of simulations:     52
288     realized relative precision on g:  0.00D+00
289     norm of x =  0.14142136D+01
290     f         =  0.00000000D+00
291     norm of x =  0.00000000D+00
292optim: Norm of projected gradient lower than 0.
293// iprint = 3 : one line by iteration
294[f,x,g]=optim(rosenbrock,x0,"gc",iprint=2);
295 n1qn3: entry point
296     dimension of the problem (n):     2
297     absolute precision on x (dxmin): 0.22D-15
298     expected decrease for f (df1): 0.10D+01
299     relative precision on g (epsg): 0.95D-18
300     maximal number of iterations (niter):   100
301     maximal number of simulations (nsim):   100
302     printing level (iprint):   2
303     allocated memory (nrz) :     58
304     used memory :                58
305     number of updates :          10
306     f         =  0.24200000D+02
307     norm of g =  0.23286769D+03
308 n1qn3: iter   1, simul   1, f= 0.24200000D+02, h'(0)=-0.20000D+01
309 n1qn3: iter   2, simul   3, f= 0.94705115D+01, h'(0)=-0.92378D+01
310 n1qn3: iter   3, simul   4, f= 0.42678391D+01, h'(0)=-0.24478D+00
311 n1qn3: iter   4, simul   5, f= 0.41332370D+01, h'(0)=-0.58072D-02
312 n1qn3: iter   5, simul   6, f= 0.41288855D+01, h'(0)=-0.83281D-02
313 n1qn3: iter   6, simul   7, f= 0.41219818D+01, h'(0)=-0.27767D-01
314 n1qn3: iter   7, simul   8, f= 0.40992137D+01, h'(0)=-0.82808D-01
315 n1qn3: iter   8, simul   9, f= 0.40279192D+01, h'(0)=-0.40499D+00
316 n1qn3: iter   9, simul  13, f= 0.26255752D+01, h'(0)=-0.16053D+00
317 n1qn3: iter  10, simul  15, f= 0.26148282D+01, h'(0)=-0.38378D-01
318 n1qn3: iter  11, simul  17, f= 0.22964498D+01, h'(0)=-0.62657D+00
319 n1qn3: iter  12, simul  18, f= 0.19818830D+01, h'(0)=-0.70680D+00
320 n1qn3: iter  13, simul  19, f= 0.15797116D+01, h'(0)=-0.49943D+00
321 n1qn3: iter  14, simul  20, f= 0.13542803D+01, h'(0)=-0.33867D+00
322 n1qn3: iter  15, simul  21, f= 0.12033040D+01, h'(0)=-0.20678D+00
323 n1qn3: iter  16, simul  22, f= 0.10169710D+01, h'(0)=-0.64958D+00
324 n1qn3: iter  17, simul  24, f= 0.88479939D+00, h'(0)=-0.18657D+00
325 n1qn3: iter  18, simul  25, f= 0.73594988D+00, h'(0)=-0.31085D+00
326 n1qn3: iter  19, simul  26, f= 0.63444380D+00, h'(0)=-0.42075D+00
327 n1qn3: iter  20, simul  27, f= 0.45317910D+00, h'(0)=-0.12594D+00
328 n1qn3: iter  21, simul  28, f= 0.34356270D+00, h'(0)=-0.22838D+00
329 n1qn3: iter  22, simul  30, f= 0.30624971D+00, h'(0)=-0.55446D-01
330 n1qn3: iter  23, simul  31, f= 0.25851790D+00, h'(0)=-0.14344D+00
331 n1qn3: iter  24, simul  32, f= 0.17073487D+00, h'(0)=-0.12793D+00
332 n1qn3: iter  25, simul  33, f= 0.10886882D+00, h'(0)=-0.10034D+00
333 n1qn3: iter  26, simul  34, f= 0.93394350D-01, h'(0)=-0.12026D+00
334 n1qn3: iter  27, simul  35, f= 0.68247280D-01, h'(0)=-0.20762D-01
335 n1qn3: iter  28, simul  36, f= 0.49926731D-01, h'(0)=-0.55493D-01
336 n1qn3: iter  29, simul  38, f= 0.36769034D-01, h'(0)=-0.91754D-02
337 n1qn3: iter  30, simul  39, f= 0.28635889D-01, h'(0)=-0.25872D-01
338 n1qn3: iter  31, simul  40, f= 0.11210346D-01, h'(0)=-0.94861D-02
339 n1qn3: iter  32, simul  41, f= 0.47312611D-02, h'(0)=-0.12658D-01
340 n1qn3: iter  33, simul  43, f= 0.27115703D-02, h'(0)=-0.27047D-02
341 n1qn3: iter  34, simul  44, f= 0.78629249D-03, h'(0)=-0.10616D-02
342 n1qn3: iter  35, simul  45, f= 0.10596409D-03, h'(0)=-0.16467D-03
343 n1qn3: iter  36, simul  46, f= 0.65779244D-05, h'(0)=-0.12836D-04
344 n1qn3: iter  37, simul  47, f= 0.65335854D-06, h'(0)=-0.24142D-05
345 n1qn3: iter  38, simul  48, f= 0.48517342D-06, h'(0)=-0.97016D-06
346 n1qn3: iter  39, simul  49, f= 0.72461377D-12, h'(0)=-0.14375D-11
347 n1qn3: iter  40, simul  50, f= 0.49419780D-16, h'(0)=-0.98838D-16
348 n1qn3: iter  41, simul  51, f= 0.23045863D-24, h'(0)=-0.46082D-24
349 -------------------------------------------------------------------------------
350 n1qn3: output mode is  1
351     number of iterations:   41
352     number of simulations:     52
353     realized relative precision on g:  0.00D+00
354     norm of x =  0.14142136D+01
355     f         =  0.00000000D+00
356     norm of x =  0.00000000D+00
357optim: Norm of projected gradient lower than 0.
358// iprint = 4 : one line by iteration + one line by line search
359[f,x,g]=optim(rosenbrock,x0,"gc",iprint=3);
360 n1qn3: entry point
361     dimension of the problem (n):     2
362     absolute precision on x (dxmin): 0.22D-15
363     expected decrease for f (df1): 0.10D+01
364     relative precision on g (epsg): 0.95D-18
365     maximal number of iterations (niter):   100
366     maximal number of simulations (nsim):   100
367     printing level (iprint):   3
368     allocated memory (nrz) :     58
369     used memory :                58
370     number of updates :          10
371     f         =  0.24200000D+02
372     norm of g =  0.23286769D+03
373 -------------------------------------------------------------------------------
374 n1qn3: iter   1, simul   1, f= 0.24200000D+02, h'(0)=-0.20000D+01
375     nlis0       fpn=-0.200D+01 d2= 0.74D-04  tmin= 0.28D-13 tmax= 0.10D+21
376     nlis0     0.100D+01 -0.194D+01 -0.189D+01
377     nlis0     0.100D+02 -0.147D+02 -0.973D+00
378 n1qn3: iter   2, simul   3, f= 0.94705115D+01, h'(0)=-0.92378D+01
379     nlis0       fpn=-0.924D+01 d2= 0.66D-02  tmin= 0.30D-14 tmax= 0.10D+21
380     nlis0     0.100D+01 -0.520D+01 -0.138D+01
381 n1qn3: iter   3, simul   4, f= 0.42678391D+01, h'(0)=-0.24478D+00
382     nlis0       fpn=-0.245D+00 d2= 0.21D-03  tmin= 0.16D-13 tmax= 0.10D+21
383     nlis0     0.100D+01 -0.135D+00 -0.256D-01
384 n1qn3: iter   4, simul   5, f= 0.41332370D+01, h'(0)=-0.58072D-02
385     nlis0       fpn=-0.581D-02 d2= 0.59D-05  tmin= 0.98D-13 tmax= 0.10D+21
386     nlis0     0.100D+01 -0.435D-02 -0.290D-02
387 n1qn3: iter   5, simul   6, f= 0.41288855D+01, h'(0)=-0.83281D-02
388     nlis0       fpn=-0.833D-02 d2= 0.26D-04  tmin= 0.61D-13 tmax= 0.10D+21
389     nlis0     0.100D+01 -0.690D-02 -0.549D-02
390 n1qn3: iter   6, simul   7, f= 0.41219818D+01, h'(0)=-0.27767D-01
391     nlis0       fpn=-0.278D-01 d2= 0.37D-03  tmin= 0.14D-13 tmax= 0.10D+21
392     nlis0     0.100D+01 -0.228D-01 -0.180D-01
393 n1qn3: iter   7, simul   8, f= 0.40992137D+01, h'(0)=-0.82808D-01
394     nlis0       fpn=-0.828D-01 d2= 0.40D-02  tmin= 0.41D-14 tmax= 0.10D+21
395     nlis0     0.100D+01 -0.713D-01 -0.624D-01
396 n1qn3: iter   8, simul   9, f= 0.40279192D+01, h'(0)=-0.40499D+00
397     nlis0       fpn=-0.405D+00 d2= 0.11D+00  tmin= 0.79D-15 tmax= 0.10D+21
398     nlis0     0.100D+01 -0.531D+00 -0.721D+00
399     nlis0                                      0.100D+02  0.500D+03  0.222D+03
400     nlis0                                      0.398D+01  0.333D+01  0.774D+01
401     nlis0     0.249D+01 -0.140D+01  0.190D+00
402 n1qn3: iter   9, simul  13, f= 0.26255752D+01, h'(0)=-0.16053D+00
403     nlis0       fpn=-0.161D+00 d2= 0.57D-01  tmin= 0.11D-14 tmax= 0.10D+21
404     nlis0                                      0.100D+01  0.285D+00  0.571D+00
405     nlis0     0.140D+00 -0.107D-01  0.342D-02
406 n1qn3: iter  10, simul  15, f= 0.26148282D+01, h'(0)=-0.38378D-01
407     nlis0       fpn=-0.384D-01 d2= 0.21D-03  tmin= 0.21D-13 tmax= 0.10D+21
408     nlis0     0.100D+01 -0.376D-01 -0.369D-01
409     nlis0     0.100D+02 -0.318D+00 -0.257D-01
410 n1qn3: iter  11, simul  17, f= 0.22964498D+01, h'(0)=-0.62657D+00
411     nlis0       fpn=-0.627D+00 d2= 0.71D-01  tmin= 0.11D-14 tmax= 0.10D+21
412     nlis0     0.100D+01 -0.315D+00  0.212D+00
413 n1qn3: iter  12, simul  18, f= 0.19818830D+01, h'(0)=-0.70680D+00
414     nlis0       fpn=-0.707D+00 d2= 0.27D-02  tmin= 0.52D-14 tmax= 0.10D+21
415     nlis0     0.100D+01 -0.402D+00 -0.117D+00
416 n1qn3: iter  13, simul  19, f= 0.15797116D+01, h'(0)=-0.49943D+00
417     nlis0       fpn=-0.499D+00 d2= 0.52D-01  tmin= 0.11D-14 tmax= 0.10D+21
418     nlis0     0.100D+01 -0.225D+00  0.427D+00
419 n1qn3: iter  14, simul  20, f= 0.13542803D+01, h'(0)=-0.33867D+00
420     nlis0       fpn=-0.339D+00 d2= 0.36D-02  tmin= 0.47D-14 tmax= 0.10D+21
421     nlis0     0.100D+01 -0.151D+00  0.252D-01
422 n1qn3: iter  15, simul  21, f= 0.12033040D+01, h'(0)=-0.20678D+00
423     nlis0       fpn=-0.207D+00 d2= 0.84D-02  tmin= 0.24D-14 tmax= 0.10D+21
424     nlis0     0.100D+01 -0.186D+00 -0.162D+00
425 n1qn3: iter  16, simul  22, f= 0.10169710D+01, h'(0)=-0.64958D+00
426     nlis0       fpn=-0.650D+00 d2= 0.12D+00  tmin= 0.64D-15 tmax= 0.10D+21
427     nlis0                                      0.100D+01  0.169D+01  0.738D+01
428     nlis0     0.374D+00 -0.132D+00  0.166D+00
429 n1qn3: iter  17, simul  24, f= 0.88479939D+00, h'(0)=-0.18657D+00
430     nlis0       fpn=-0.187D+00 d2= 0.20D-02  tmin= 0.62D-14 tmax= 0.10D+21
431     nlis0     0.100D+01 -0.149D+00 -0.115D+00
432 n1qn3: iter  18, simul  25, f= 0.73594988D+00, h'(0)=-0.31085D+00
433     nlis0       fpn=-0.311D+00 d2= 0.34D-01  tmin= 0.13D-14 tmax= 0.10D+21
434     nlis0     0.100D+01 -0.102D+00  0.268D+00
435 n1qn3: iter  19, simul  26, f= 0.63444380D+00, h'(0)=-0.42075D+00
436     nlis0       fpn=-0.421D+00 d2= 0.20D-02  tmin= 0.51D-14 tmax= 0.10D+21
437     nlis0     0.100D+01 -0.181D+00  0.576D-01
438 n1qn3: iter  20, simul  27, f= 0.45317910D+00, h'(0)=-0.12594D+00
439     nlis0       fpn=-0.126D+00 d2= 0.11D-01  tmin= 0.25D-14 tmax= 0.10D+21
440     nlis0     0.100D+01 -0.110D+00 -0.725D-01
441 n1qn3: iter  21, simul  28, f= 0.34356270D+00, h'(0)=-0.22838D+00
442     nlis0       fpn=-0.228D+00 d2= 0.83D-01  tmin= 0.95D-15 tmax= 0.10D+21
443     nlis0                                      0.100D+01  0.601D+00  0.234D+01
444     nlis0     0.321D+00 -0.373D-01  0.472D-01
445 n1qn3: iter  22, simul  30, f= 0.30624971D+00, h'(0)=-0.55446D-01
446     nlis0       fpn=-0.554D-01 d2= 0.12D-02  tmin= 0.80D-14 tmax= 0.10D+21
447     nlis0     0.100D+01 -0.477D-01 -0.406D-01
448 n1qn3: iter  23, simul  31, f= 0.25851790D+00, h'(0)=-0.14344D+00
449     nlis0       fpn=-0.143D+00 d2= 0.30D-01  tmin= 0.17D-14 tmax= 0.10D+21
450     nlis0     0.100D+01 -0.878D-01 -0.226D-01
451 n1qn3: iter  24, simul  32, f= 0.17073487D+00, h'(0)=-0.12793D+00
452     nlis0       fpn=-0.128D+00 d2= 0.84D-02  tmin= 0.27D-14 tmax= 0.10D+21
453     nlis0     0.100D+01 -0.619D-01 -0.487D-02
454 n1qn3: iter  25, simul  33, f= 0.10886882D+00, h'(0)=-0.10034D+00
455     nlis0       fpn=-0.100D+00 d2= 0.49D-01  tmin= 0.13D-14 tmax= 0.10D+21
456     nlis0     0.100D+01 -0.155D-01  0.179D+00
457 n1qn3: iter  26, simul  34, f= 0.93394350D-01, h'(0)=-0.12026D+00
458     nlis0       fpn=-0.120D+00 d2= 0.12D-01  tmin= 0.26D-14 tmax= 0.10D+21
459     nlis0     0.100D+01 -0.251D-01  0.437D-01
460 n1qn3: iter  27, simul  35, f= 0.68247280D-01, h'(0)=-0.20762D-01
461     nlis0       fpn=-0.208D-01 d2= 0.45D-02  tmin= 0.41D-14 tmax= 0.10D+21
462     nlis0     0.100D+01 -0.183D-01 -0.148D-01
463 n1qn3: iter  28, simul  36, f= 0.49926731D-01, h'(0)=-0.55493D-01
464     nlis0       fpn=-0.555D-01 d2= 0.58D-01  tmin= 0.11D-14 tmax= 0.10D+21
465     nlis0                                      0.100D+01  0.507D-01  0.260D+00
466     nlis0     0.413D+00 -0.132D-01  0.278D-02
467 n1qn3: iter  29, simul  38, f= 0.36769034D-01, h'(0)=-0.91754D-02
468     nlis0       fpn=-0.918D-02 d2= 0.87D-03  tmin= 0.86D-14 tmax= 0.10D+21
469     nlis0     0.100D+01 -0.813D-02 -0.718D-02
470 n1qn3: iter  30, simul  39, f= 0.28635889D-01, h'(0)=-0.25872D-01
471     nlis0       fpn=-0.259D-01 d2= 0.13D-01  tmin= 0.22D-14 tmax= 0.10D+21
472     nlis0     0.100D+01 -0.174D-01 -0.109D-01
473 n1qn3: iter  31, simul  40, f= 0.11210346D-01, h'(0)=-0.94861D-02
474     nlis0       fpn=-0.949D-02 d2= 0.41D-02  tmin= 0.39D-14 tmax= 0.10D+21
475     nlis0     0.100D+01 -0.648D-02 -0.412D-02
476 n1qn3: iter  32, simul  41, f= 0.47312611D-02, h'(0)=-0.12658D-01
477     nlis0       fpn=-0.127D-01 d2= 0.37D-01  tmin= 0.13D-14 tmax= 0.10D+21
478     nlis0                                      0.100D+01  0.236D-01  0.889D-01
479     nlis0     0.308D+00 -0.202D-02  0.129D-02
480 n1qn3: iter  33, simul  43, f= 0.27115703D-02, h'(0)=-0.27047D-02
481     nlis0       fpn=-0.270D-02 d2= 0.13D-02  tmin= 0.68D-14 tmax= 0.10D+21
482     nlis0     0.100D+01 -0.193D-02 -0.124D-02
483 n1qn3: iter  34, simul  44, f= 0.78629249D-03, h'(0)=-0.10616D-02
484     nlis0       fpn=-0.106D-02 d2= 0.11D-02  tmin= 0.73D-14 tmax= 0.10D+21
485     nlis0     0.100D+01 -0.680D-03 -0.342D-03
486 n1qn3: iter  35, simul  45, f= 0.10596409D-03, h'(0)=-0.16467D-03
487     nlis0       fpn=-0.165D-03 d2= 0.22D-03  tmin= 0.17D-13 tmax= 0.10D+21
488     nlis0     0.100D+01 -0.994D-04 -0.378D-04
489 n1qn3: iter  36, simul  46, f= 0.65779244D-05, h'(0)=-0.12836D-04
490     nlis0       fpn=-0.128D-04 d2= 0.34D-04  tmin= 0.43D-13 tmax= 0.10D+21
491     nlis0     0.100D+01 -0.592D-05  0.985D-06
492 n1qn3: iter  37, simul  47, f= 0.65335854D-06, h'(0)=-0.24142D-05
493     nlis0       fpn=-0.241D-05 d2= 0.96D-07  tmin= 0.92D-12 tmax= 0.10D+21
494     nlis0     0.100D+01 -0.168D-06  0.208D-05
495 n1qn3: iter  38, simul  48, f= 0.48517342D-06, h'(0)=-0.97016D-06
496     nlis0       fpn=-0.970D-06 d2= 0.12D-08  tmin= 0.80D-11 tmax= 0.10D+21
497     nlis0     0.100D+01 -0.485D-06 -0.183D-09
498 n1qn3: iter  39, simul  49, f= 0.72461377D-12, h'(0)=-0.14375D-11
499     nlis0       fpn=-0.144D-11 d2= 0.35D-11  tmin= 0.13D-09 tmax= 0.10D+21
500     nlis0     0.100D+01 -0.725D-12 -0.116D-13
501 n1qn3: iter  40, simul  50, f= 0.49419780D-16, h'(0)=-0.98838D-16
502     nlis0       fpn=-0.988D-16 d2= 0.25D-15  tmin= 0.16D-07 tmax= 0.10D+21
503     nlis0     0.100D+01 -0.494D-16 -0.125D-20
504 n1qn3: iter  41, simul  51, f= 0.23045863D-24, h'(0)=-0.46082D-24
505     nlis0       fpn=-0.461D-24 d2= 0.25D-25  tmin= 0.15D-02 tmax= 0.10D+21
506     nlis0     0.100D+01 -0.230D-24  0.000D+00
507 -------------------------------------------------------------------------------
508 n1qn3: output mode is  1
509     number of iterations:   41
510     number of simulations:     52
511     realized relative precision on g:  0.00D+00
512     norm of x =  0.14142136D+01
513     f         =  0.00000000D+00
514     norm of x =  0.00000000D+00
515optim: Norm of projected gradient lower than 0.
516//
517// 3. Test unconstrained non-differentiable method
518[f,x,g]=optim(rosenbrock,x0,"nd");
519assert_checkalmostequal ( x , xopt , Leps );
520assert_checkalmostequal ( f , fopt , [] , Leps );
521assert_checkalmostequal ( g , gopt , [] , Leps );
522// Test with maximum number of call to cost function
523[f,x,g]=optim(rosenbrock,x0,"nd","ar",100);
524assert_checkalmostequal ( x , xopt , Leps );
525assert_checkalmostequal ( f , fopt , [] , Leps );
526assert_checkalmostequal ( g , gopt , [] , Leps );
527// Test with maximum number of call to cost function, maximum number of iterations
528[f,x,g]=optim(rosenbrock,x0,"nd","ar", 100 , 100 );
529assert_checkalmostequal ( x , xopt , Leps );
530assert_checkalmostequal ( f , fopt , [] , Leps );
531assert_checkalmostequal ( g , gopt , [] , Leps );
532// Test with various iprint levels
533// iprint = 0 : No messages
534[f,x,g]=optim(rosenbrock,x0,"nd",iprint=0);
535// iprint = 1,2 : one line at start, one line at end
536[f,x,g]=optim(rosenbrock,x0,"nd",iprint=1);
537entry in n1fc1 . n=   2 memax= 10
538minimal array sizes: iz(    22)  rz(    70)  dz(   198)
539n1fc1      Incorrect end of fprf2
540optim: End of optimization.
541// iprint = 3 : one line by iteration
542[f,x,g]=optim(rosenbrock,x0,"nd",iprint=2);
543entry in n1fc1 . n=   2 memax= 10
544minimal array sizes: iz(    22)  rz(    70)  dz(   198)
545 n1fc1            diam1= 0.739D+00    eta2= 0.000D+00    ap= 0.299D-28
546 n1fc1     10   32   0.2102076D+01   faisceau reduit a  2 gradients
547 n1fc1     18   56   0.5316674D-01   faisceau reduit a  2 gradients
548n1fc1   eta2 assigned to  0.444D-14
549 n1fc1     26   76   0.1360041D-02   convergence a 0.224D-02 pres  ( 0.44D-15)
550 n1fc1     26   77   0.7792185D-03   faisceau reduit a  3 gradients
551n1fc1   eta2 assigned to  0.444D-14
552 n1fc1     33   88   0.2192247D-06   convergence a 0.926D-06 pres  (-0.00D+00)
553 n1fc1     33   90   0.1890964D-06   faisceau reduit a  2 gradients
554n1fc1      Incorrect end of fprf2
555optim: End of optimization.
556// iprint = 4 : one line by iteration + one line by line search
557[f,x,g]=optim(rosenbrock,x0,"nd",iprint=3);
558entry in n1fc1 . n=   2 memax= 10
559minimal array sizes: iz(    22)  rz(    70)  dz(   198)
560n1fc1      1    1   0.2420000D+02  0.10D+01  0.54D+05  0.00D+00  2
561 n1fc1            diam1= 0.739D+00    eta2= 0.000D+00    ap= 0.299D-28
562n1fc1      2    4   0.4198816D+01  0.10D+01  0.15D+03  0.00D+00  2
563n1fc1      3    8   0.4198816D+01  0.10D+01  0.15D+03  0.00D+00  3
564n1fc1      4   10   0.4198816D+01  0.10D+01  0.14D+03  0.00D+00  3
565n1fc1      5   12   0.4198816D+01  0.10D+01  0.12D+03  0.00D+00  3
566n1fc1      6   17   0.4131268D+01  0.25D+00  0.33D+01  0.00D+00  3
567n1fc1      7   19   0.3662595D+01  0.10D+01  0.61D+00  0.00D+00  3
568n1fc1      8   23   0.3639147D+01  0.47D-01  0.10D+04  0.15D+04  2
569n1fc1      9   26   0.2590584D+01  0.10D+01  0.40D+00  0.00D+00  3
570n1fc1     10   31   0.2359570D+01  0.14D+00  0.25D+02  0.28D+03  2
571 n1fc1     10   32   0.2102076D+01   faisceau reduit a  2 gradients
572n1fc1     11   32   0.2102076D+01  0.46D+00  0.54D+01  0.00D+00  2
573n1fc1     12   39   0.8277294D+00  0.10D+01  0.35D+01  0.00D+00  3
574n1fc1     13   44   0.6868523D+00  0.27D+00  0.23D+01  0.00D+00  3
575n1fc1     14   46   0.6037192D+00  0.16D+00  0.20D+02  0.15D+03  2
576n1fc1     15   48   0.4376910D+00  0.33D+00  0.12D+01  0.00D+00  3
577n1fc1     16   50   0.3030057D+00  0.19D+00  0.84D+00  0.00D+00  3
578n1fc1     17   52   0.2144893D+00  0.16D+00  0.73D+00  0.26D+01  3
579n1fc1     18   54   0.7256611D-01  0.35D+00  0.34D+00  0.00D+00  3
580 n1fc1     18   56   0.5316674D-01   faisceau reduit a  2 gradients
581n1fc1     19   56   0.5316674D-01  0.58D-01  0.34D-01  0.00D+00  3
582n1fc1     20   58   0.4531702D-01  0.15D-01  0.71D+01  0.52D+03  2
583n1fc1     21   60   0.2482046D-01  0.41D-01  0.13D-01  0.00D+00  3
584n1fc1     22   62   0.1225140D-01  0.16D-01  0.12D-02  0.00D+00  3
585n1fc1     23   66   0.1190406D-01  0.11D-02  0.54D+01  0.25D+04  2
586n1fc1     24   69   0.5110747D-02  0.14D-01  0.12D-03  0.00D+00  3
587n1fc1     25   74   0.2527134D-02  0.82D-03  0.96D+00  0.61D+03  2
588n1fc1   eta2 assigned to  0.444D-14
589 n1fc1     26   76   0.1360041D-02   convergence a 0.224D-02 pres  ( 0.44D-15)
590n1fc1     26   76   0.1360041D-02  0.22D-03  0.93D-03  0.46D+00  3
591 n1fc1     26   77   0.7792185D-03   faisceau reduit a  3 gradients
592n1fc1     27   77   0.7792185D-03  0.22D-03  0.31D+00  0.16D+04  2
593n1fc1     28   79   0.2612544D-03  0.22D-03  0.19D+00  0.46D+03  2
594n1fc1     29   81   0.3217976D-04  0.22D-03  0.33D-05  0.27D-01  3
595n1fc1     30   83   0.6090815D-05  0.57D-04  0.35D-06  0.19D-01  3
596n1fc1     31   85   0.1944220D-05  0.84D-05  0.75D-03  0.68D+02  2
597n1fc1     32   87   0.7841516D-06  0.23D-05  0.23D-06  0.65D-01  3
598n1fc1   eta2 assigned to  0.444D-14
599 n1fc1     33   88   0.2192247D-06   convergence a 0.926D-06 pres  (-0.00D+00)
600n1fc1     33   88   0.2192247D-06  0.93D-07  0.51D-04  0.12D+03  2
601 n1fc1     33   90   0.1890964D-06   faisceau reduit a  2 gradients
602n1fc1     34   90   0.1890964D-06  0.93D-07  0.14D-06  0.00D+00  3
603n1fc1     35   92   0.8733602D-08  0.93D-07  0.15D-07  0.00D+00  3
604n1fc1     36   95   0.2709627D-08  0.12D-07  0.75D-06  0.32D+02  2
605n1fc1      Incorrect end of fprf2
606optim: End of optimization.
607//
608// 4. Test bound-constrained BFGS
609[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"qn");
610assert_checkalmostequal ( x , xopt , Leps );
611assert_checkalmostequal ( f , fopt , [] , Leps );
612assert_checkalmostequal ( g , gopt , [] , Leps );
613// Test with maximum number of call to cost function
614[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"qn","ar",50);
615assert_checkalmostequal ( x , xopt , Leps );
616assert_checkalmostequal ( f , fopt , [] , Leps );
617assert_checkalmostequal ( g , gopt , [] , Leps );
618// Test with maximum number of call to cost function, maximum number of iterations
619[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"qn","ar", 100 , 100 );
620assert_checkalmostequal ( x , xopt , Leps );
621assert_checkalmostequal ( f , fopt , [] , Leps );
622assert_checkalmostequal ( g , gopt , [] , Leps );
623// Test with various iprint levels
624// iprint = 0 : No messages
625[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"qn",iprint=0);
626// iprint = 1,2 : one line at start, one line at end
627[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"qn",iprint=1);
628 *********** qnbd (with bound cstr) ****************
629dimension=         2, epsq=  0.2220446049250313E-15, verbosity level: iprint=         1
630max number of iterations allowed: iter=       100
631max number of calls to costf allowed: nap=       100
632------------------------------------------------
633 qnbd : indqn=      13
634// iprint = 3 : one line by iteration
635[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"qn",iprint=2);
636 *********** qnbd (with bound cstr) ****************
637dimension=         2, epsq=  0.2220446049250313E-15, verbosity level: iprint=         2
638max number of iterations allowed: iter=       100
639max number of calls to costf allowed: nap=       100
640------------------------------------------------
641 qnbd : iter=  1  f=  0.2420000D+02
642 qnbd : nbre fact  2 defact  0 total var factorisees  2
643 qnbd : epsg,difg= 0.2220D-15 0.5062D+02  epsf,diff= 0.0000D+00 0.1784D+02  nap=  3
644 qnbd : iter=  2  f=  0.6363632D+01
645 qnbd : nbre fact  0 defact  0 total var factorisees  2
646 qnbd : epsg,difg= 0.2220D-15 0.2926D+01  epsf,diff= 0.0000D+00 0.2276D+01  nap=  5
647 qnbd : iter=  3  f=  0.4088059D+01
648 qnbd : nbre fact  0 defact  0 total var factorisees  2
649 qnbd : epsg,difg= 0.2220D-15 0.1462D+01  epsf,diff= 0.0000D+00 0.7160D-02  nap=  6
650 qnbd : iter=  4  f=  0.4080900D+01
651 qnbd : nbre fact  0 defact  0 total var factorisees  2
652 qnbd : epsg,difg= 0.2220D-15 0.1281D+01  epsf,diff= 0.0000D+00 0.4927D-02  nap=  7
653 qnbd : iter=  5  f=  0.4075972D+01
654 qnbd : nbre fact  0 defact  0 total var factorisees  2
655 qnbd : epsg,difg= 0.2220D-15 0.2639D+01  epsf,diff= 0.0000D+00 0.1666D-01  nap=  8
656 qnbd : iter=  6  f=  0.4059314D+01
657 qnbd : nbre fact  0 defact  0 total var factorisees  2
658 qnbd : epsg,difg= 0.2220D-15 0.5535D+01  epsf,diff= 0.0000D+00 0.3949D-01  nap=  9
659 qnbd : iter=  7  f=  0.4019827D+01
660 qnbd : nbre fact  0 defact  0 total var factorisees  2
661 qnbd : epsg,difg= 0.2220D-15 0.1029D+02  epsf,diff= 0.0000D+00 0.9032D-01  nap= 10
662 qnbd : iter=  8  f=  0.3929503D+01
663 qnbd : nbre fact  0 defact  0 total var factorisees  2
664 qnbd : epsg,difg= 0.2220D-15 0.1482D+02  epsf,diff= 0.0000D+00 0.1269D+00  nap= 11
665 qnbd : iter=  9  f=  0.3802616D+01
666 qnbd : nbre fact  0 defact  0 total var factorisees  2
667 qnbd : epsg,difg= 0.2220D-15 0.1584D+02  epsf,diff= 0.0000D+00 0.1911D+00  nap= 12
668 qnbd : iter= 10  f=  0.3611527D+01
669 qnbd : nbre fact  0 defact  0 total var factorisees  2
670 qnbd : epsg,difg= 0.2220D-15 0.1335D+02  epsf,diff= 0.0000D+00 0.4793D+00  nap= 13
671 qnbd : iter= 11  f=  0.3132213D+01
672 qnbd : nbre fact  0 defact  0 total var factorisees  2
673 qnbd : epsg,difg= 0.2220D-15 0.4831D+01  epsf,diff= 0.0000D+00 0.5408D+00  nap= 14
674 qnbd : iter= 12  f=  0.2591395D+01
675 qnbd : nbre fact  0 defact  0 total var factorisees  2
676 qnbd : epsg,difg= 0.2220D-15 0.9927D+01  epsf,diff= 0.0000D+00 0.2198D+00  nap= 16
677 qnbd : iter= 13  f=  0.2371631D+01
678 qnbd : nbre fact  0 defact  0 total var factorisees  2
679 qnbd : epsg,difg= 0.2220D-15 0.7508D+01  epsf,diff= 0.0000D+00 0.3368D+00  nap= 17
680 qnbd : iter= 14  f=  0.2034811D+01
681 qnbd : nbre fact  0 defact  0 total var factorisees  2
682 qnbd : epsg,difg= 0.2220D-15 0.1723D+01  epsf,diff= 0.0000D+00 0.3605D+00  nap= 18
683 qnbd : iter= 15  f=  0.1674355D+01
684 qnbd : nbre fact  0 defact  0 total var factorisees  2
685 qnbd : epsg,difg= 0.2220D-15 0.6425D+01  epsf,diff= 0.0000D+00 0.2554D+00  nap= 20
686 qnbd : iter= 16  f=  0.1418994D+01
687 qnbd : nbre fact  0 defact  0 total var factorisees  2
688 qnbd : epsg,difg= 0.2220D-15 0.2962D+01  epsf,diff= 0.0000D+00 0.1320D+00  nap= 21
689 qnbd : iter= 17  f=  0.1286986D+01
690 qnbd : nbre fact  0 defact  0 total var factorisees  2
691 qnbd : epsg,difg= 0.2220D-15 0.2970D+01  epsf,diff= 0.0000D+00 0.2772D+00  nap= 22
692 qnbd : iter= 18  f=  0.1009809D+01
693 qnbd : nbre fact  0 defact  0 total var factorisees  2
694 qnbd : epsg,difg= 0.2220D-15 0.7110D+01  epsf,diff= 0.0000D+00 0.9782D-01  nap= 23
695 qnbd : iter= 19  f=  0.9119930D+00
696 qnbd : nbre fact  0 defact  0 total var factorisees  2
697 qnbd : epsg,difg= 0.2220D-15 0.1223D+01  epsf,diff= 0.0000D+00 0.2439D+00  nap= 24
698 qnbd : iter= 20  f=  0.6680716D+00
699 qnbd : nbre fact  0 defact  0 total var factorisees  2
700 qnbd : epsg,difg= 0.2220D-15 0.1598D+01  epsf,diff= 0.0000D+00 0.1495D+00  nap= 25
701 qnbd : iter= 21  f=  0.5185575D+00
702 qnbd : nbre fact  0 defact  0 total var factorisees  2
703 qnbd : epsg,difg= 0.2220D-15 0.4195D+01  epsf,diff= 0.0000D+00 0.5204D-01  nap= 27
704 qnbd : iter= 22  f=  0.4665182D+00
705 qnbd : nbre fact  0 defact  0 total var factorisees  2
706 qnbd : epsg,difg= 0.2220D-15 0.1092D+01  epsf,diff= 0.0000D+00 0.1651D+00  nap= 29
707 qnbd : iter= 23  f=  0.3014090D+00
708 qnbd : nbre fact  0 defact  0 total var factorisees  2
709 qnbd : epsg,difg= 0.2220D-15 0.3616D+01  epsf,diff= 0.0000D+00 0.4378D-01  nap= 31
710 qnbd : iter= 24  f=  0.2576320D+00
711 qnbd : nbre fact  0 defact  0 total var factorisees  2
712 qnbd : epsg,difg= 0.2220D-15 0.2649D+01  epsf,diff= 0.0000D+00 0.8347D-01  nap= 32
713 qnbd : iter= 25  f=  0.1741653D+00
714 qnbd : nbre fact  0 defact  0 total var factorisees  2
715 qnbd : epsg,difg= 0.2220D-15 0.7655D+00  epsf,diff= 0.0000D+00 0.5731D-01  nap= 33
716 qnbd : iter= 26  f=  0.1168531D+00
717 qnbd : nbre fact  0 defact  0 total var factorisees  2
718 qnbd : epsg,difg= 0.2220D-15 0.3144D+01  epsf,diff= 0.0000D+00 0.3345D-01  nap= 35
719 qnbd : iter= 27  f=  0.8340131D-01
720 qnbd : nbre fact  0 defact  0 total var factorisees  2
721 qnbd : epsg,difg= 0.2220D-15 0.1683D+01  epsf,diff= 0.0000D+00 0.2213D-01  nap= 36
722 qnbd : iter= 28  f=  0.6127324D-01
723 qnbd : nbre fact  0 defact  0 total var factorisees  2
724 qnbd : epsg,difg= 0.2220D-15 0.4212D+01  epsf,diff= 0.0000D+00 0.1946D-01  nap= 37
725 qnbd : iter= 29  f=  0.4181115D-01
726 qnbd : nbre fact  0 defact  0 total var factorisees  2
727 qnbd : epsg,difg= 0.2220D-15 0.1112D+01  epsf,diff= 0.0000D+00 0.2302D-01  nap= 38
728 qnbd : iter= 30  f=  0.1879567D-01
729 qnbd : nbre fact  0 defact  0 total var factorisees  2
730 qnbd : epsg,difg= 0.2220D-15 0.4225D+00  epsf,diff= 0.0000D+00 0.1025D-01  nap= 39
731 qnbd : iter= 31  f=  0.8546911D-02
732 qnbd : nbre fact  0 defact  0 total var factorisees  2
733 qnbd : epsg,difg= 0.2220D-15 0.1351D+01  epsf,diff= 0.0000D+00 0.2852D-02  nap= 41
734 qnbd : iter= 32  f=  0.5695252D-02
735 qnbd : nbre fact  0 defact  0 total var factorisees  2
736 qnbd : epsg,difg= 0.2220D-15 0.8746D+00  epsf,diff= 0.0000D+00 0.2625D-02  nap= 42
737 qnbd : iter= 33  f=  0.3069880D-02
738 qnbd : nbre fact  0 defact  0 total var factorisees  2
739 qnbd : epsg,difg= 0.2220D-15 0.2491D+00  epsf,diff= 0.0000D+00 0.2494D-02  nap= 43
740 qnbd : iter= 34  f=  0.5755995D-03
741 qnbd : nbre fact  0 defact  0 total var factorisees  2
742 qnbd : epsg,difg= 0.2220D-15 0.2501D+00  epsf,diff= 0.0000D+00 0.4653D-03  nap= 44
743 qnbd : iter= 35  f=  0.1103321D-03
744 qnbd : nbre fact  0 defact  0 total var factorisees  2
745 qnbd : epsg,difg= 0.2220D-15 0.2082D+00  epsf,diff= 0.0000D+00 0.6258D-04  nap= 45
746 qnbd : iter= 36  f=  0.4774899D-04
747 qnbd : nbre fact  0 defact  0 total var factorisees  2
748 qnbd : epsg,difg= 0.2220D-15 0.9357D-02  epsf,diff= 0.0000D+00 0.4743D-04  nap= 46
749 qnbd : iter= 37  f=  0.3189662D-06
750 qnbd : nbre fact  0 defact  0 total var factorisees  2
751 qnbd : epsg,difg= 0.2220D-15 0.7401D-03  epsf,diff= 0.0000D+00 0.3183D-06  nap= 47
752 qnbd : iter= 38  f=  0.6829435D-09
753 qnbd : nbre fact  0 defact  0 total var factorisees  2
754 qnbd : epsg,difg= 0.2220D-15 0.2102D-04  epsf,diff= 0.0000D+00 0.6824D-09  nap= 48
755 qnbd : iter= 39  f=  0.4984941D-12
756 qnbd : nbre fact  0 defact  0 total var factorisees  2
757 qnbd : epsg,difg= 0.2220D-15 0.2913D-06  epsf,diff= 0.0000D+00 0.4981D-12  nap= 49
758 qnbd : iter= 40  f=  0.3925578D-15
759 qnbd : nbre fact  0 defact  0 total var factorisees  2
760 qnbd : epsg,difg= 0.2220D-15 0.2479D-08  epsf,diff= 0.0000D+00 0.3925D-15  nap= 50
761 qnbd : iter= 41  f=  0.5929270D-19
762 qnbd : nbre fact  0 defact  0 total var factorisees  2
763 qnbd : epsg,difg= 0.2220D-15 0.4715D-10  epsf,diff= 0.0000D+00 0.5929D-19  nap= 51
764 qnbd : iter= 42  f=  0.2854806D-23
765 qnbd : nbre fact  0 defact  0 total var factorisees  2
766 qnbd : epsg,difg= 0.2220D-15 0.1902D-10  epsf,diff= 0.0000D+00 0.1961D-23  nap= 56
767 qnbd : iter= 43  f=  0.8942187D-24
768 qnbd : nbre fact  0 defact  0 total var factorisees  2
769 qnbd : epsg,difg= 0.2220D-15 0.2730D-10  epsf,diff= 0.0000D+00 0.7863D-25  nap= 63
770 qnbd : iter= 44  f=  0.8155913D-24
771 qnbd : nbre fact  0 defact  0 total var factorisees  2
772 qnbd : epsg,difg= 0.2220D-15 0.2231D-10  epsf,diff= 0.0000D+00 0.2484D-25  nap= 70
773 qnbd : iter= 45  f=  0.7907465D-24
774 qnbd : nbre fact  0 defact  0 total var factorisees  2
775 qnbd : epsg,difg= 0.2220D-15 0.2553D-10  epsf,diff= 0.0000D+00 0.8508D-26  nap= 77
776 qnbd : iter= 46  f=  0.7822385D-24
777 qnbd : nbre fact  0 defact  0 total var factorisees  2
778 qnbd : epsg,difg= 0.2220D-15 0.2405D-10  epsf,diff= 0.0000D+00 0.5487D-26  nap= 85
779 qnbd : iter= 47  f=  0.7767511D-24
780 qnbd : nbre fact  0 defact  0 total var factorisees  2
781 qnbd : epsg,difg= 0.2220D-15 0.2436D-10  epsf,diff= 0.0000D+00 0.2594D-26  nap= 95
782 qnbd : iter= 48  f=  0.7741575D-24
783 qnbd : nbre fact  0 defact  0 total var factorisees  2
784 qnbd : indqn=      13
785// iprint = 4 : one line by iteration + one line by line search
786[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"qn",iprint=3);
787 *********** qnbd (with bound cstr) ****************
788dimension=         2, epsq=  0.2220446049250313E-15, verbosity level: iprint=         3
789max number of iterations allowed: iter=       100
790max number of calls to costf allowed: nap=       100
791------------------------------------------------
792 qnbd : iter=  1  f=  0.2420000D+02
793 qnbd : nbre fact  2 defact  0 total var factorisees  2
794 rlbd tp= 0.2876E-01 tmax= 0.1000E+11 dh0/dt=-0.5423E+05
795e   t= 0.3688E-04 h=-0.1945E+01 dh/dt=-0.5124E+05 dfh/dt=-0.5273E+05 dt 0.4E-04
796    t= 0.5135E-03 h=-0.1784E+02 dh/dt=-0.1667E+05 dfh/dt=-0.3334E+05 dt 0.5E-03
797 qnbd : epsg,difg= 0.2220D-15 0.5062D+02  epsf,diff= 0.0000D+00 0.1784D+02  nap=  3
798 qnbd : iter=  2  f=  0.6363632D+01
799 qnbd : nbre fact  0 defact  0 total var factorisees  2
800 rlbd tp= 0.1089E+03 tmax= 0.1000E+11 dh0/dt=-0.3720E+01
801ic  t= 0.9589E+01 h= 0.5286E+02 dh/dt= 0.9380E+01 dfh/dt= 0.5513E+01 dt 0.1E+02
802    t= 0.1322E+01 h=-0.2276E+01 dh/dt= 0.1483E+00 dfh/dt= 0.6670E+01 dt-0.8E+01
803 qnbd : epsg,difg= 0.2220D-15 0.2926D+01  epsf,diff= 0.0000D+00 0.2276D+01  nap=  5
804 qnbd : iter=  3  f=  0.4088059D+01
805 qnbd : nbre fact  0 defact  0 total var factorisees  2
806 rlbd tp= 0.1871E+04 tmax= 0.1000E+11 dh0/dt=-0.1067E-01
807    t= 0.1000E+01 h=-0.7160E-02 dh/dt=-0.3644E-02 dfh/dt=-0.7160E-02 dt 0.1E+01
808 qnbd : epsg,difg= 0.2220D-15 0.1462D+01  epsf,diff= 0.0000D+00 0.7160D-02  nap=  6
809 qnbd : iter=  4  f=  0.4080900D+01
810 qnbd : nbre fact  0 defact  0 total var factorisees  2
811 rlbd tp= 0.2129E+04 tmax= 0.1000E+11 dh0/dt=-0.5871E-02
812    t= 0.1000E+01 h=-0.4927E-02 dh/dt=-0.3984E-02 dfh/dt=-0.4927E-02 dt 0.1E+01
813 qnbd : epsg,difg= 0.2220D-15 0.1281D+01  epsf,diff= 0.0000D+00 0.4927D-02  nap=  7
814 qnbd : iter=  5  f=  0.4075972D+01
815 qnbd : nbre fact  0 defact  0 total var factorisees  2
816 rlbd tp= 0.4921E+03 tmax= 0.1000E+11 dh0/dt=-0.2087E-01
817    t= 0.1000E+01 h=-0.1666E-01 dh/dt=-0.1244E-01 dfh/dt=-0.1666E-01 dt 0.1E+01
818 qnbd : epsg,difg= 0.2220D-15 0.2639D+01  epsf,diff= 0.0000D+00 0.1666D-01  nap=  8
819 qnbd : iter=  6  f=  0.4059314D+01
820 qnbd : nbre fact  0 defact  0 total var factorisees  2
821 rlbd tp= 0.1794E+03 tmax= 0.1000E+11 dh0/dt=-0.4910E-01
822    t= 0.1000E+01 h=-0.3949E-01 dh/dt=-0.2960E-01 dfh/dt=-0.3949E-01 dt 0.1E+01
823 qnbd : epsg,difg= 0.2220D-15 0.5535D+01  epsf,diff= 0.0000D+00 0.3949D-01  nap=  9
824 qnbd : iter=  7  f=  0.4019827D+01
825 qnbd : nbre fact  0 defact  0 total var factorisees  2
826 rlbd tp= 0.6788E+02 tmax= 0.1000E+11 dh0/dt=-0.1202E+00
827    t= 0.1000E+01 h=-0.9032E-01 dh/dt=-0.5611E-01 dfh/dt=-0.9032E-01 dt 0.1E+01
828 qnbd : epsg,difg= 0.2220D-15 0.1029D+02  epsf,diff= 0.0000D+00 0.9032D-01  nap= 10
829 qnbd : iter=  8  f=  0.3929503D+01
830 qnbd : nbre fact  0 defact  0 total var factorisees  2
831 rlbd tp= 0.4367E+02 tmax= 0.1000E+11 dh0/dt=-0.1810E+00
832    t= 0.1000E+01 h=-0.1269E+00 dh/dt=-0.5900E-01 dfh/dt=-0.1269E+00 dt 0.1E+01
833 qnbd : epsg,difg= 0.2220D-15 0.1482D+02  epsf,diff= 0.0000D+00 0.1269D+00  nap= 11
834 qnbd : iter=  9  f=  0.3802616D+01
835 qnbd : nbre fact  0 defact  0 total var factorisees  2
836 rlbd tp= 0.4643E+02 tmax= 0.1000E+11 dh0/dt=-0.2391E+00
837    t= 0.1000E+01 h=-0.1911E+00 dh/dt=-0.1369E+00 dfh/dt=-0.1911E+00 dt 0.1E+01
838 qnbd : epsg,difg= 0.2220D-15 0.1584D+02  epsf,diff= 0.0000D+00 0.1911D+00  nap= 12
839 qnbd : iter= 10  f=  0.3611527D+01
840 qnbd : nbre fact  0 defact  0 total var factorisees  2
841 rlbd tp= 0.2935E+02 tmax= 0.1000E+11 dh0/dt=-0.6544E+00
842    t= 0.1000E+01 h=-0.4793E+00 dh/dt=-0.3144E+00 dfh/dt=-0.4793E+00 dt 0.1E+01
843 qnbd : epsg,difg= 0.2220D-15 0.1335D+02  epsf,diff= 0.0000D+00 0.4793D+00  nap= 13
844 qnbd : iter= 11  f=  0.3132213D+01
845 qnbd : nbre fact  0 defact  0 total var factorisees  2
846 rlbd tp= 0.5262E+02 tmax= 0.1000E+11 dh0/dt=-0.7617E+00
847    t= 0.1000E+01 h=-0.5408E+00 dh/dt=-0.3919E+00 dfh/dt=-0.5408E+00 dt 0.1E+01
848 qnbd : epsg,difg= 0.2220D-15 0.4831D+01  epsf,diff= 0.0000D+00 0.5408D+00  nap= 14
849 qnbd : iter= 12  f=  0.2591395D+01
850 qnbd : nbre fact  0 defact  0 total var factorisees  2
851 rlbd tp= 0.1420E+02 tmax= 0.1000E+11 dh0/dt=-0.8312E+00
852ic  t= 0.1000E+01 h= 0.7497E+00 dh/dt= 0.4176E+01 dfh/dt= 0.7497E+00 dt 0.1E+01
853    t= 0.4382E+00 h=-0.2198E+00 dh/dt= 0.4016E-01 dfh/dt= 0.1726E+01 dt-0.6E+00
854 qnbd : epsg,difg= 0.2220D-15 0.9927D+01  epsf,diff= 0.0000D+00 0.2198D+00  nap= 16
855 qnbd : iter= 13  f=  0.2371631D+01
856 qnbd : nbre fact  0 defact  0 total var factorisees  2
857 rlbd tp= 0.5731E+02 tmax= 0.1000E+11 dh0/dt=-0.4306E+00
858    t= 0.1000E+01 h=-0.3368E+00 dh/dt=-0.2579E+00 dfh/dt=-0.3368E+00 dt 0.1E+01
859 qnbd : epsg,difg= 0.2220D-15 0.7508D+01  epsf,diff= 0.0000D+00 0.3368D+00  nap= 17
860 qnbd : iter= 14  f=  0.2034811D+01
861 qnbd : nbre fact  0 defact  0 total var factorisees  2
862 rlbd tp= 0.5735E+02 tmax= 0.1000E+11 dh0/dt=-0.6267E+00
863    t= 0.1000E+01 h=-0.3605E+00 dh/dt=-0.1724E+00 dfh/dt=-0.3605E+00 dt 0.1E+01
864 qnbd : epsg,difg= 0.2220D-15 0.1723D+01  epsf,diff= 0.0000D+00 0.3605D+00  nap= 18
865 qnbd : iter= 15  f=  0.1674355D+01
866 qnbd : nbre fact  0 defact  0 total var factorisees  2
867 rlbd tp= 0.1099E+02 tmax= 0.1000E+11 dh0/dt=-0.1363E+01
868ic  t= 0.1000E+01 h= 0.6994E+01 dh/dt= 0.2893E+02 dfh/dt= 0.6994E+01 dt 0.1E+01
869    t= 0.3516E+00 h=-0.2554E+00 dh/dt= 0.7273E+00 dfh/dt= 0.1118E+02 dt-0.6E+00
870 qnbd : epsg,difg= 0.2220D-15 0.6425D+01  epsf,diff= 0.0000D+00 0.2554D+00  nap= 20
871 qnbd : iter= 16  f=  0.1418994D+01
872 qnbd : nbre fact  0 defact  0 total var factorisees  2
873 rlbd tp= 0.1891E+03 tmax= 0.1000E+11 dh0/dt=-0.1977E+00
874    t= 0.1000E+01 h=-0.1320E+00 dh/dt=-0.6635E-01 dfh/dt=-0.1320E+00 dt 0.1E+01
875 qnbd : epsg,difg= 0.2220D-15 0.2962D+01  epsf,diff= 0.0000D+00 0.1320D+00  nap= 21
876 qnbd : iter= 17  f=  0.1286986D+01
877 qnbd : nbre fact  0 defact  0 total var factorisees  2
878 rlbd tp= 0.3721E+02 tmax= 0.1000E+11 dh0/dt=-0.3536E+00
879    t= 0.1000E+01 h=-0.2772E+00 dh/dt=-0.1853E+00 dfh/dt=-0.2772E+00 dt 0.1E+01
880 qnbd : epsg,difg= 0.2220D-15 0.2970D+01  epsf,diff= 0.0000D+00 0.2772D+00  nap= 22
881 qnbd : iter= 18  f=  0.1009809D+01
882 qnbd : nbre fact  0 defact  0 total var factorisees  2
883 rlbd tp= 0.2944E+02 tmax= 0.1000E+11 dh0/dt=-0.3275E+00
884    t= 0.1000E+01 h=-0.9782E-01 dh/dt= 0.3071E+00 dfh/dt=-0.9782E-01 dt 0.1E+01
885 qnbd : epsg,difg= 0.2220D-15 0.7110D+01  epsf,diff= 0.0000D+00 0.9782D-01  nap= 23
886 qnbd : iter= 19  f=  0.9119930D+00
887 qnbd : nbre fact  0 defact  0 total var factorisees  2
888 rlbd tp= 0.9911E+02 tmax= 0.1000E+11 dh0/dt=-0.4982E+00
889    t= 0.1000E+01 h=-0.2439E+00 dh/dt= 0.1033E-01 dfh/dt=-0.2439E+00 dt 0.1E+01
890 qnbd : epsg,difg= 0.2220D-15 0.1223D+01  epsf,diff= 0.0000D+00 0.2439D+00  nap= 24
891 qnbd : iter= 20  f=  0.6680716D+00
892 qnbd : nbre fact  0 defact  0 total var factorisees  2
893 rlbd tp= 0.4542E+02 tmax= 0.1000E+11 dh0/dt=-0.1736E+00
894    t= 0.1000E+01 h=-0.1495E+00 dh/dt=-0.9751E-01 dfh/dt=-0.1495E+00 dt 0.1E+01
895 qnbd : epsg,difg= 0.2220D-15 0.1598D+01  epsf,diff= 0.0000D+00 0.1495D+00  nap= 25
896 qnbd : iter= 21  f=  0.5185575D+00
897 qnbd : nbre fact  0 defact  0 total var factorisees  2
898 rlbd tp= 0.2050E+02 tmax= 0.1000E+11 dh0/dt=-0.2727E+00
899ic  t= 0.1000E+01 h= 0.4900E+00 dh/dt= 0.2064E+01 dfh/dt= 0.4900E+00 dt 0.1E+01
900    t= 0.3554E+00 h=-0.5204E-01 dh/dt= 0.3697E-01 dfh/dt= 0.8409E+00 dt-0.6E+00
901 qnbd : epsg,difg= 0.2220D-15 0.4195D+01  epsf,diff= 0.0000D+00 0.5204D-01  nap= 27
902 qnbd : iter= 22  f=  0.4665182D+00
903 qnbd : nbre fact  0 defact  0 total var factorisees  2
904 rlbd tp= 0.1410E+03 tmax= 0.1000E+11 dh0/dt=-0.9467E-01
905e   t= 0.1000E+01 h=-0.7980E-01 dh/dt=-0.6688E-01 dfh/dt=-0.7980E-01 dt 0.1E+01
906    t= 0.2612E+01 h=-0.1651E+00 dh/dt=-0.4242E-01 dfh/dt=-0.5292E-01 dt 0.2E+01
907 qnbd : epsg,difg= 0.2220D-15 0.1092D+01  epsf,diff= 0.0000D+00 0.1651D+00  nap= 29
908 qnbd : iter= 23  f=  0.3014090D+00
909 qnbd : nbre fact  0 defact  0 total var factorisees  2
910 rlbd tp= 0.3134E+02 tmax= 0.1000E+11 dh0/dt=-0.1393E+00
911ic  t= 0.1000E+01 h= 0.2342E-01 dh/dt= 0.3255E+00 dfh/dt= 0.2342E-01 dt 0.1E+01
912    t= 0.5240E+00 h=-0.4378E-01 dh/dt=-0.1060E-02 dfh/dt= 0.1412E+00 dt-0.5E+00
913 qnbd : epsg,difg= 0.2220D-15 0.3616D+01  epsf,diff= 0.0000D+00 0.4378D-01  nap= 31
914 qnbd : iter= 24  f=  0.2576320D+00
915 qnbd : nbre fact  0 defact  0 total var factorisees  2
916 rlbd tp= 0.5270E+02 tmax= 0.1000E+11 dh0/dt=-0.1139E+00
917    t= 0.1000E+01 h=-0.8347E-01 dh/dt=-0.5954E-01 dfh/dt=-0.8347E-01 dt 0.1E+01
918 qnbd : epsg,difg= 0.2220D-15 0.2649D+01  epsf,diff= 0.0000D+00 0.8347D-01  nap= 32
919 qnbd : iter= 25  f=  0.1741653D+00
920 qnbd : nbre fact  0 defact  0 total var factorisees  2
921 rlbd tp= 0.5702E+02 tmax= 0.1000E+11 dh0/dt=-0.9052E-01
922    t= 0.1000E+01 h=-0.5731E-01 dh/dt=-0.3243E-01 dfh/dt=-0.5731E-01 dt 0.1E+01
923 qnbd : epsg,difg= 0.2220D-15 0.7655D+00  epsf,diff= 0.0000D+00 0.5731D-01  nap= 33
924 qnbd : iter= 26  f=  0.1168531D+00
925 qnbd : nbre fact  0 defact  0 total var factorisees  2
926 rlbd tp= 0.1523E+02 tmax= 0.1000E+11 dh0/dt=-0.1721E+00
927ic  t= 0.1000E+01 h= 0.5149E+00 dh/dt= 0.2154E+01 dfh/dt= 0.5149E+00 dt 0.1E+01
928    t= 0.3552E+00 h=-0.3345E-01 dh/dt= 0.4665E-01 dfh/dt= 0.8504E+00 dt-0.6E+00
929 qnbd : epsg,difg= 0.2220D-15 0.3144D+01  epsf,diff= 0.0000D+00 0.3345D-01  nap= 35
930 qnbd : iter= 27  f=  0.8340131D-01
931 qnbd : nbre fact  0 defact  0 total var factorisees  2
932 rlbd tp= 0.1267E+03 tmax= 0.1000E+11 dh0/dt=-0.2710E-01
933    t= 0.1000E+01 h=-0.2213E-01 dh/dt=-0.1760E-01 dfh/dt=-0.2213E-01 dt 0.1E+01
934 qnbd : epsg,difg= 0.2220D-15 0.1683D+01  epsf,diff= 0.0000D+00 0.2213D-01  nap= 36
935 qnbd : iter= 28  f=  0.6127324D-01
936 qnbd : nbre fact  0 defact  0 total var factorisees  2
937 rlbd tp= 0.2794E+02 tmax= 0.1000E+11 dh0/dt=-0.5182E-01
938    t= 0.1000E+01 h=-0.1946E-01 dh/dt= 0.2933E-01 dfh/dt=-0.1946E-01 dt 0.1E+01
939 qnbd : epsg,difg= 0.2220D-15 0.4212D+01  epsf,diff= 0.0000D+00 0.1946D-01  nap= 37
940 qnbd : iter= 29  f=  0.4181115D-01
941 qnbd : nbre fact  0 defact  0 total var factorisees  2
942 rlbd tp= 0.2113E+03 tmax= 0.1000E+11 dh0/dt=-0.5837E-01
943    t= 0.1000E+01 h=-0.2302E-01 dh/dt= 0.1234E-01 dfh/dt=-0.2302E-01 dt 0.1E+01
944 qnbd : epsg,difg= 0.2220D-15 0.1112D+01  epsf,diff= 0.0000D+00 0.2302D-01  nap= 38
945 qnbd : iter= 30  f=  0.1879567D-01
946 qnbd : nbre fact  0 defact  0 total var factorisees  2
947 rlbd tp= 0.6064E+02 tmax= 0.1000E+11 dh0/dt=-0.1349E-01
948    t= 0.1000E+01 h=-0.1025E-01 dh/dt=-0.5166E-02 dfh/dt=-0.1025E-01 dt 0.1E+01
949 qnbd : epsg,difg= 0.2220D-15 0.4225D+00  epsf,diff= 0.0000D+00 0.1025D-01  nap= 39
950 qnbd : iter= 31  f=  0.8546911D-02
951 qnbd : nbre fact  0 defact  0 total var factorisees  2
952 rlbd tp= 0.4124E+02 tmax= 0.1000E+11 dh0/dt=-0.9192E-02
953ic  t= 0.1000E+01 h=-0.1115E-03 dh/dt= 0.1345E-01 dfh/dt=-0.1115E-03 dt 0.1E+01
954    t= 0.5527E+00 h=-0.2852E-02 dh/dt=-0.5725E-04 dfh/dt= 0.6127E-02 dt-0.4E+00
955 qnbd : epsg,difg= 0.2220D-15 0.1351D+01  epsf,diff= 0.0000D+00 0.2852D-02  nap= 41
956 qnbd : iter= 32  f=  0.5695252D-02
957 qnbd : nbre fact  0 defact  0 total var factorisees  2
958 rlbd tp= 0.1606E+03 tmax= 0.1000E+11 dh0/dt=-0.3214E-02
959    t= 0.1000E+01 h=-0.2625E-02 dh/dt=-0.2090E-02 dfh/dt=-0.2625E-02 dt 0.1E+01
960 qnbd : epsg,difg= 0.2220D-15 0.8746D+00  epsf,diff= 0.0000D+00 0.2625D-02  nap= 42
961 qnbd : iter= 33  f=  0.3069880D-02
962 qnbd : nbre fact  0 defact  0 total var factorisees  2
963 rlbd tp= 0.8464E+02 tmax= 0.1000E+11 dh0/dt=-0.3887E-02
964    t= 0.1000E+01 h=-0.2494E-02 dh/dt=-0.1350E-02 dfh/dt=-0.2494E-02 dt 0.1E+01
965 qnbd : epsg,difg= 0.2220D-15 0.2491D+00  epsf,diff= 0.0000D+00 0.2494D-02  nap= 43
966 qnbd : iter= 34  f=  0.5755995D-03
967 qnbd : nbre fact  0 defact  0 total var factorisees  2
968 rlbd tp= 0.1302E+03 tmax= 0.1000E+11 dh0/dt=-0.7571E-03
969    t= 0.1000E+01 h=-0.4653E-03 dh/dt=-0.1769E-03 dfh/dt=-0.4653E-03 dt 0.1E+01
970 qnbd : epsg,difg= 0.2220D-15 0.2501D+00  epsf,diff= 0.0000D+00 0.4653D-03  nap= 44
971 qnbd : iter= 35  f=  0.1103321D-03
972 qnbd : nbre fact  0 defact  0 total var factorisees  2
973 rlbd tp= 0.4072E+03 tmax= 0.1000E+11 dh0/dt=-0.2997E-03
974    t= 0.1000E+01 h=-0.6258E-04 dh/dt= 0.1693E-03 dfh/dt=-0.6258E-04 dt 0.1E+01
975 qnbd : epsg,difg= 0.2220D-15 0.2082D+00  epsf,diff= 0.0000D+00 0.6258D-04  nap= 45
976 qnbd : iter= 36  f=  0.4774899D-04
977 qnbd : nbre fact  0 defact  0 total var factorisees  2
978 rlbd tp= 0.8042E+03 tmax= 0.1000E+11 dh0/dt=-0.1003E-03
979    t= 0.1000E+01 h=-0.4743E-04 dh/dt= 0.6575E-05 dfh/dt=-0.4743E-04 dt 0.1E+01
980 qnbd : epsg,difg= 0.2220D-15 0.9357D-02  epsf,diff= 0.0000D+00 0.4743D-04  nap= 46
981 qnbd : iter= 37  f=  0.3189662D-06
982 qnbd : nbre fact  0 defact  0 total var factorisees  2
983 rlbd tp= 0.6116E+04 tmax= 0.1000E+11 dh0/dt=-0.6644E-06
984    t= 0.1000E+01 h=-0.3183E-06 dh/dt= 0.2630E-07 dfh/dt=-0.3183E-06 dt 0.1E+01
985 qnbd : epsg,difg= 0.2220D-15 0.7401D-03  epsf,diff= 0.0000D+00 0.3183D-06  nap= 47
986 qnbd : iter= 38  f=  0.6829435D-09
987 qnbd : nbre fact  0 defact  0 total var factorisees  2
988 rlbd tp= 0.1710E+06 tmax= 0.1000E+11 dh0/dt=-0.1340E-08
989    t= 0.1000E+01 h=-0.6824E-09 dh/dt=-0.2448E-10 dfh/dt=-0.6824E-09 dt 0.1E+01
990 qnbd : epsg,difg= 0.2220D-15 0.2102D-04  epsf,diff= 0.0000D+00 0.6824D-09  nap= 48
991 qnbd : iter= 39  f=  0.4984941D-12
992 qnbd : nbre fact  0 defact  0 total var factorisees  2
993 rlbd tp= 0.1312E+08 tmax= 0.1000E+11 dh0/dt=-0.9764E-12
994    t= 0.1000E+01 h=-0.4981E-12 dh/dt=-0.1984E-13 dfh/dt=-0.4981E-12 dt 0.1E+01
995 qnbd : epsg,difg= 0.2220D-15 0.2913D-06  epsf,diff= 0.0000D+00 0.4981D-12  nap= 49
996 qnbd : iter= 40  f=  0.3925578D-15
997 qnbd : nbre fact  0 defact  0 total var factorisees  2
998 rlbd tp= 0.1721E+09 tmax= 0.1000E+11 dh0/dt=-0.7785E-15
999    t= 0.1000E+01 h=-0.3925E-15 dh/dt=-0.6537E-17 dfh/dt=-0.3925E-15 dt 0.1E+01
1000 qnbd : epsg,difg= 0.2220D-15 0.2479D-08  epsf,diff= 0.0000D+00 0.3925D-15  nap= 50
1001 qnbd : iter= 41  f=  0.5929270D-19
1002 qnbd : nbre fact  0 defact  0 total var factorisees  2
1003 rlbd tp= 0.1308E+11 tmax= 0.1000E+11 dh0/dt=-0.1180E-18
1004    t= 0.1000E+01 h=-0.5929E-19 dh/dt=-0.5949E-21 dfh/dt=-0.5929E-19 dt 0.1E+01
1005 qnbd : epsg,difg= 0.2220D-15 0.4715D-10  epsf,diff= 0.0000D+00 0.5929D-19  nap= 51
1006 qnbd : iter= 42  f=  0.2854806D-23
1007 qnbd : emploi truc powell (y,s)= 0.1174D-18
1008 qnbd : nbre fact  0 defact  0 total var factorisees  2
1009 rlbd tp= 0.1233E+12 tmax= 0.1000E+11 dh0/dt=-0.8132E-22
1010d   t= 0.1000E+01 h= 0.7180E-21 dh/dt= 0.1517E-20 dfh/dt= 0.7180E-21 dt 0.1E+01
1011d   t= 0.5000E+00 h= 0.1592E-21 dh/dt= 0.7180E-21 dfh/dt= 0.1118E-20 dt-0.5E+00
1012d   t= 0.2500E+00 h= 0.2963E-22 dh/dt= 0.3184E-21 dfh/dt= 0.5181E-21 dt-0.2E+00
1013d   t= 0.1250E+00 h= 0.2325E-23 dh/dt= 0.1185E-21 dfh/dt= 0.2184E-21 dt-0.1E+00
1014    t= 0.6250E-01 h=-0.1961E-23 dh/dt= 0.1862E-22 dfh/dt= 0.6857E-22 dt-0.6E-01
1015 qnbd : epsg,difg= 0.2220D-15 0.1902D-10  epsf,diff= 0.0000D+00 0.1961D-23  nap= 56
1016 qnbd : iter= 43  f=  0.8942187D-24
1017 qnbd : emploi truc powell (y,s)= 0.6247D-23
1018 qnbd : nbre fact  0 defact  0 total var factorisees  2
1019 rlbd tp= 0.6780E+11 tmax= 0.1000E+11 dh0/dt=-0.2325E-22
1020d   t= 0.1000E+01 h= 0.1132E-20 dh/dt= 0.2288E-20 dfh/dt= 0.1132E-20 dt 0.1E+01
1021d   t= 0.5000E+00 h= 0.2773E-21 dh/dt= 0.1132E-20 dfh/dt= 0.1710E-20 dt-0.5E+00
1022d   t= 0.2500E+00 h= 0.6644E-22 dh/dt= 0.5547E-21 dfh/dt= 0.8434E-21 dt-0.2E+00
1023d   t= 0.1250E+00 h= 0.1515E-22 dh/dt= 0.2657E-21 dfh/dt= 0.4103E-21 dt-0.1E+00
1024d   t= 0.6250E-01 h= 0.3062E-23 dh/dt= 0.1212E-21 dfh/dt= 0.1934E-21 dt-0.6E-01
1025d   t= 0.3125E-01 h= 0.4061E-24 dh/dt= 0.4904E-22 dfh/dt= 0.8499E-22 dt-0.3E-01
1026    t= 0.1562E-01 h=-0.7863E-25 dh/dt= 0.1291E-22 dfh/dt= 0.3102E-22 dt-0.2E-01
1027 qnbd : epsg,difg= 0.2220D-15 0.2730D-10  epsf,diff= 0.0000D+00 0.7863D-25  nap= 63
1028 qnbd : iter= 44  f=  0.8155913D-24
1029 qnbd : emploi truc powell (y,s)= 0.5658D-24
1030 qnbd : nbre fact  0 defact  0 total var factorisees  2
1031 rlbd tp= 0.3429E+11 tmax= 0.1000E+11 dh0/dt=-0.3998E-22
1032id  t= 0.1000E+01 h= 0.1023E-19 dh/dt= 0.2049E-19 dfh/dt= 0.1023E-19 dt 0.1E+01
1033d   t= 0.1000E+00 h= 0.9866E-22 dh/dt= 0.2013E-20 dfh/dt= 0.1125E-19 dt-0.9E+00
1034d   t= 0.5000E-01 h= 0.2367E-22 dh/dt= 0.9866E-21 dfh/dt= 0.1500E-20 dt-0.5E-01
1035d   t= 0.2500E-01 h= 0.5417E-23 dh/dt= 0.4733E-21 dfh/dt= 0.7300E-21 dt-0.3E-01
1036d   t= 0.1250E-01 h= 0.1105E-23 dh/dt= 0.2166E-21 dfh/dt= 0.3450E-21 dt-0.1E-01
1037d   t= 0.6250E-02 h= 0.1496E-24 dh/dt= 0.8849E-22 dfh/dt= 0.1528E-21 dt-0.6E-02
1038    t= 0.3125E-02 h=-0.2484E-25 dh/dt= 0.2420E-22 dfh/dt= 0.5584E-22 dt-0.3E-02
1039 qnbd : epsg,difg= 0.2220D-15 0.2231D-10  epsf,diff= 0.0000D+00 0.2484D-25  nap= 70
1040 qnbd : iter= 45  f=  0.7907465D-24
1041 qnbd : emploi truc powell (y,s)= 0.2006D-24
1042 qnbd : nbre fact  0 defact  0 total var factorisees  2
1043 rlbd tp= 0.7009E+10 tmax= 0.1000E+11 dh0/dt=-0.8031E-22
1044id  t= 0.1000E+01 h= 0.1088E-18 dh/dt= 0.2176E-18 dfh/dt= 0.1088E-18 dt 0.1E+01
1045id  t= 0.1000E+00 h= 0.1081E-20 dh/dt= 0.2169E-19 dfh/dt= 0.1197E-18 dt-0.9E+00
1046d   t= 0.1000E-01 h= 0.1009E-22 dh/dt= 0.2097E-20 dfh/dt= 0.1190E-19 dt-0.9E-01
1047d   t= 0.5000E-02 h= 0.2314E-23 dh/dt= 0.1008E-20 dfh/dt= 0.1554E-20 dt-0.5E-02
1048d   t= 0.2500E-02 h= 0.4799E-24 dh/dt= 0.4640E-21 dfh/dt= 0.7337E-21 dt-0.3E-02
1049d   t= 0.1250E-02 h= 0.6986E-25 dh/dt= 0.1919E-21 dfh/dt= 0.3281E-21 dt-0.1E-02
1050    t= 0.6250E-03 h=-0.8508E-26 dh/dt= 0.5560E-22 dfh/dt= 0.1254E-21 dt-0.6E-03
1051 qnbd : epsg,difg= 0.2220D-15 0.2553D-10  epsf,diff= 0.0000D+00 0.8508D-26  nap= 77
1052 qnbd : iter= 46  f=  0.7822385D-24
1053 qnbd : emploi truc powell (y,s)= 0.8484D-25
1054 qnbd : nbre fact  0 defact  0 total var factorisees  2
1055 rlbd tp= 0.2254E+10 tmax= 0.1000E+11 dh0/dt=-0.2593E-21
1056id  t= 0.1000E+01 h= 0.2369E-17 dh/dt= 0.4737E-17 dfh/dt= 0.2369E-17 dt 0.1E+01
1057id  t= 0.1000E+00 h= 0.2366E-19 dh/dt= 0.4735E-18 dfh/dt= 0.2605E-17 dt-0.9E+00
1058id  t= 0.1000E-01 h= 0.2343E-21 dh/dt= 0.4712E-19 dfh/dt= 0.2603E-18 dt-0.9E-01
1059d   t= 0.1000E-02 h= 0.2110E-23 dh/dt= 0.4477E-20 dfh/dt= 0.2580E-19 dt-0.9E-02
1060d   t= 0.5000E-03 h= 0.4624E-24 dh/dt= 0.2110E-20 dfh/dt= 0.3294E-20 dt-0.5E-03
1061d   t= 0.2500E-03 h= 0.8387E-25 dh/dt= 0.9243E-21 dfh/dt= 0.1514E-20 dt-0.3E-03
1062d   t= 0.1250E-03 h= 0.2587E-26 dh/dt= 0.3350E-21 dfh/dt= 0.6502E-21 dt-0.1E-03
1063    t= 0.6250E-04 h=-0.5487E-26 dh/dt= 0.3532E-22 dfh/dt= 0.1292E-21 dt-0.6E-04
1064 qnbd : epsg,difg= 0.2220D-15 0.2405D-10  epsf,diff= 0.0000D+00 0.5487D-26  nap= 85
1065 qnbd : iter= 47  f=  0.7767511D-24
1066 qnbd : emploi truc powell (y,s)= 0.1833D-25
1067 qnbd : nbre fact  0 defact  0 total var factorisees  2
1068 rlbd tp= 0.3148E+09 tmax= 0.1000E+11 dh0/dt=-0.2565E-21
1069id  t= 0.1000E+01 h= 0.5352E-16 dh/dt= 0.1070E-15 dfh/dt= 0.5352E-16 dt 0.1E+01
1070id  t= 0.1000E+00 h= 0.5352E-18 dh/dt= 0.1070E-16 dfh/dt= 0.5888E-16 dt-0.9E+00
1071id  t= 0.1000E-01 h= 0.5350E-20 dh/dt= 0.1070E-17 dfh/dt= 0.5887E-17 dt-0.9E-01
1072id  t= 0.1000E-02 h= 0.5327E-22 dh/dt= 0.1068E-18 dfh/dt= 0.5885E-18 dt-0.9E-02
1073d   t= 0.1000E-03 h= 0.5117E-24 dh/dt= 0.1046E-19 dfh/dt= 0.5862E-19 dt-0.9E-03
1074d   t= 0.5000E-04 h= 0.1218E-24 dh/dt= 0.5099E-20 dfh/dt= 0.7796E-20 dt-0.5E-04
1075d   t= 0.2500E-04 h= 0.2743E-25 dh/dt= 0.2421E-20 dfh/dt= 0.3777E-20 dt-0.3E-04
1076d   t= 0.1250E-04 h= 0.6249E-26 dh/dt= 0.1086E-20 dfh/dt= 0.1694E-20 dt-0.1E-04
1077d   t= 0.6250E-05 h= 0.1019E-26 dh/dt= 0.4148E-21 dfh/dt= 0.8367E-21 dt-0.6E-05
1078    t= 0.3125E-05 h=-0.2594E-26 dh/dt= 0.6735E-22 dfh/dt= 0.1156E-20 dt-0.3E-05
1079 qnbd : epsg,difg= 0.2220D-15 0.2436D-10  epsf,diff= 0.0000D+00 0.2594D-26  nap= 95
1080 qnbd : iter= 48  f=  0.7741575D-24
1081 qnbd : emploi truc powell (y,s)= 0.9833D-27
1082 qnbd : nbre fact  0 defact  0 total var factorisees  2
1083 rlbd tp= 0.4866E+07 tmax= 0.1000E+11 dh0/dt=-0.3485E-19
1084id  t= 0.1000E+01 h= 0.2126E-12 dh/dt= 0.4252E-12 dfh/dt= 0.2126E-12 dt 0.1E+01
1085id  t= 0.1000E-02 h= 0.2126E-18 dh/dt= 0.4252E-15 dfh/dt= 0.2128E-12 dt-0.1E+01
1086id  t= 0.1000E-04 h= 0.2092E-22 dh/dt= 0.4218E-17 dfh/dt= 0.2147E-15 dt-0.1E-02
1087d   t= 0.1000E-05 h= 0.1767E-24 dh/dt= 0.3901E-18 dfh/dt= 0.2305E-17 dt-0.9E-05
1088d   t= 0.5000E-06 h= 0.3717E-25 dh/dt= 0.1781E-18 dfh/dt= 0.2790E-18 dt-0.5E-06
1089    t= 0.2500E-06 h= 0.5251E-26 dh/dt= 0.1781E-18 dfh/dt=-0.0000E+00 dt-0.3E-06
1090 qnbd : indqn=      13
1091//
1092// 5. Test bound-constrained Limited Memory BFGS
1093[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"gc");
1094assert_checkalmostequal ( x , xopt , Leps );
1095assert_checkalmostequal ( f , fopt , [] , Leps );
1096assert_checkalmostequal ( g , gopt , [] , Leps );
1097// Test with maximum number of call to cost function
1098[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"gc","ar",100);
1099assert_checkalmostequal ( x , xopt , Leps );
1100assert_checkalmostequal ( f , fopt , [] , Leps );
1101assert_checkalmostequal ( g , gopt , [] , Leps );
1102// Test with maximum number of call to cost function, maximum number of iterations
1103[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"gc","ar", 100 , 100 );
1104assert_checkalmostequal ( x , xopt , Leps );
1105assert_checkalmostequal ( f , fopt , [] , Leps );
1106assert_checkalmostequal ( g , gopt , [] , Leps );
1107// Test with various iprint levels
1108// iprint = 0 : No messages
1109[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"gc",iprint=0);
1110// iprint = 1,2 : one line at start, one line at end
1111[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"gc",iprint=1);
1112 gcdb: entry point
1113     dimension of the problem (n):     2
1114     expected decrease for f (df0): 0.10D+01
1115     relative precision on g (epsg): 0.22D-15
1116     maximal number of iterations (itmax):   100
1117     maximal number of simulations (napmax):   100
1118     printing level (iprint):   1
1119 gcbd max appels simul
1120 gcbd : retour avec indgc=       4
1121 f,norme grad,nap,iter,indgc= 0.6214E-20 0.8448E-10   100    43     4
1122optim: Optim stops: maximum number of calls to f is reached.
1123// iprint = 3 : one line by iteration
1124[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"gc",iprint=2);
1125 gcdb: entry point
1126     dimension of the problem (n):     2
1127     expected decrease for f (df0): 0.10D+01
1128     relative precision on g (epsg): 0.22D-15
1129     maximal number of iterations (itmax):   100
1130     maximal number of simulations (napmax):   100
1131     printing level (iprint):   2
1132 dans gcbd  iter=  1  f=  0.2420000D+02
1133 gcbd. epsg,difg= 0.2220D-15 0.7159D+02  epsf,diff= 0.0000D+00 0.1784D+02  nap=  2
1134 dans gcbd  iter=  2  f=  0.6363632D+01
1135 gcbd. epsg,difg= 0.2220D-15 0.2340D+01  epsf,diff= 0.0000D+00 0.2231D+01  nap=  4
1136 dans gcbd  iter=  3  f=  0.4132134D+01
1137 gcbd. epsg,difg= 0.2220D-15 0.1913D+01  epsf,diff= 0.0000D+00 0.4550D-02  nap=  6
1138 dans gcbd  iter=  4  f=  0.4127584D+01
1139 gcbd. epsg,difg= 0.2220D-15 0.5416D+01  epsf,diff= 0.0000D+00 0.1486D-01  nap=  8
1140 dans gcbd  iter=  5  f=  0.4112720D+01
1141 gcbd. epsg,difg= 0.2220D-15 0.2091D+02  epsf,diff= 0.0000D+00 0.1464D+00  nap= 10
1142 dans gcbd  iter=  6  f=  0.3966314D+01
1143 gcbd. epsg,difg= 0.2220D-15 0.2247D+02  epsf,diff= 0.0000D+00 0.6344D+00  nap= 12
1144 dans gcbd  iter=  7  f=  0.3331870D+01
1145 gcbd. epsg,difg= 0.2220D-15 0.2143D+01  epsf,diff= 0.0000D+00 0.6856D+00  nap= 13
1146 dans gcbd  iter=  8  f=  0.2646310D+01
1147 gcbd. epsg,difg= 0.2220D-15 0.8030D+01  epsf,diff= 0.0000D+00 0.7397D+00  nap= 15
1148 dans gcbd  iter=  9  f=  0.1906596D+01
1149 gcbd. epsg,difg= 0.2220D-15 0.1073D+02  epsf,diff= 0.0000D+00 0.3822D-01  nap= 18
1150 dans gcbd  iter= 10  f=  0.1868373D+01
1151 gcbd. epsg,difg= 0.2220D-15 0.7322D+01  epsf,diff= 0.0000D+00 0.4014D+00  nap= 20
1152 dans gcbd  iter= 11  f=  0.1467012D+01
1153 gcbd. epsg,difg= 0.2220D-15 0.9099D+01  epsf,diff= 0.0000D+00 0.2159D+00  nap= 22
1154 dans gcbd  iter= 12  f=  0.1251075D+01
1155 gcbd. epsg,difg= 0.2220D-15 0.2373D+01  epsf,diff= 0.0000D+00 0.2771D+00  nap= 23
1156 dans gcbd  iter= 13  f=  0.9739653D+00
1157 gcbd. epsg,difg= 0.2220D-15 0.5464D+01  epsf,diff= 0.0000D+00 0.7093D-01  nap= 25
1158 dans gcbd  iter= 14  f=  0.9030358D+00
1159 gcbd. epsg,difg= 0.2220D-15 0.6580D+01  epsf,diff= 0.0000D+00 0.2702D+00  nap= 30
1160 dans gcbd  iter= 15  f=  0.6328802D+00
1161 gcbd. epsg,difg= 0.2220D-15 0.2530D+01  epsf,diff= 0.0000D+00 0.2982D-01  nap= 32
1162 dans gcbd  iter= 16  f=  0.6030573D+00
1163 gcbd. epsg,difg= 0.2220D-15 0.7873D+01  epsf,diff= 0.0000D+00 0.8989D-01  nap= 34
1164 dans gcbd  iter= 17  f=  0.5131695D+00
1165 gcbd. epsg,difg= 0.2220D-15 0.1104D+01  epsf,diff= 0.0000D+00 0.8223D-01  nap= 35
1166 dans gcbd  iter= 18  f=  0.4309425D+00
1167 gcbd. epsg,difg= 0.2220D-15 0.3437D+01  epsf,diff= 0.0000D+00 0.1651D-01  nap= 37
1168 dans gcbd  iter= 19  f=  0.4144307D+00
1169 gcbd. epsg,difg= 0.2220D-15 0.4566D+01  epsf,diff= 0.0000D+00 0.1344D+00  nap= 39
1170 dans gcbd  iter= 20  f=  0.2800585D+00
1171 gcbd. epsg,difg= 0.2220D-15 0.6863D+01  epsf,diff= 0.0000D+00 0.7865D-01  nap= 41
1172 dans gcbd  iter= 21  f=  0.2014068D+00
1173 gcbd. epsg,difg= 0.2220D-15 0.1826D+01  epsf,diff= 0.0000D+00 0.7752D-01  nap= 42
1174 dans gcbd  iter= 22  f=  0.1238910D+00
1175 gcbd. epsg,difg= 0.2220D-15 0.2529D+01  epsf,diff= 0.0000D+00 0.7119D-01  nap= 44
1176 dans gcbd  iter= 23  f=  0.5270207D-01
1177 gcbd. epsg,difg= 0.2220D-15 0.4306D+01  epsf,diff= 0.0000D+00 0.6135D-02  nap= 47
1178 dans gcbd  iter= 24  f=  0.4656719D-01
1179 gcbd. epsg,difg= 0.2220D-15 0.1231D+01  epsf,diff= 0.0000D+00 0.2703D-01  nap= 49
1180 dans gcbd  iter= 25  f=  0.1953329D-01
1181 gcbd. epsg,difg= 0.2220D-15 0.1445D+01  epsf,diff= 0.0000D+00 0.1631D-01  nap= 51
1182 dans gcbd  iter= 26  f=  0.3222476D-02
1183 gcbd. epsg,difg= 0.2220D-15 0.6193D+00  epsf,diff= 0.0000D+00 0.2216D-02  nap= 53
1184 dans gcbd  iter= 27  f=  0.1006378D-02
1185 gcbd. epsg,difg= 0.2220D-15 0.3527D+00  epsf,diff= 0.0000D+00 0.5871D-03  nap= 55
1186 dans gcbd  iter= 28  f=  0.4193247D-03
1187 gcbd. epsg,difg= 0.2220D-15 0.1105D+00  epsf,diff= 0.0000D+00 0.3655D-03  nap= 56
1188 dans gcbd  iter= 29  f=  0.5385147D-04
1189 gcbd. epsg,difg= 0.2220D-15 0.9174D-01  epsf,diff= 0.0000D+00 0.4928D-04  nap= 58
1190 dans gcbd  iter= 30  f=  0.4571613D-05
1191 gcbd. epsg,difg= 0.2220D-15 0.1255D-01  epsf,diff= 0.0000D+00 0.4367D-05  nap= 60
1192 dans gcbd  iter= 31  f=  0.2050776D-06
1193 gcbd. epsg,difg= 0.2220D-15 0.9260D-03  epsf,diff= 0.0000D+00 0.2043D-06  nap= 63
1194 dans gcbd  iter= 32  f=  0.7658047D-09
1195 gcbd. epsg,difg= 0.2220D-15 0.6032D-04  epsf,diff= 0.0000D+00 0.7625D-09  nap= 65
1196 dans gcbd  iter= 33  f=  0.3300830D-11
1197 gcbd. epsg,difg= 0.2220D-15 0.2425D-06  epsf,diff= 0.0000D+00 0.3301D-11  nap= 67
1198 dans gcbd  iter= 34  f=  0.5127616D-16
1199 gcbd. epsg,difg= 0.2220D-15 0.3168D-08  epsf,diff= 0.0000D+00 0.5126D-16  nap= 71
1200 dans gcbd  iter= 35  f=  0.1131843D-19
1201 gcbd. epsg,difg= 0.2220D-15 0.8861D-09  epsf,diff= 0.0000D+00 0.4625D-20  nap= 78
1202 dans gcbd  iter= 36  f=  0.6693058D-20
1203 gcbd. epsg,difg= 0.2220D-15 0.4257D-09  epsf,diff= 0.0000D+00 0.3089D-21  nap= 82
1204 dans gcbd  iter= 37  f=  0.6384148D-20
1205 gcbd. epsg,difg= 0.2220D-15 0.3053D-09  epsf,diff= 0.0000D+00 0.5249D-22  nap= 84
1206 dans gcbd  iter= 38  f=  0.6331659D-20
1207 gcbd. epsg,difg= 0.2220D-15 0.8042D-10  epsf,diff= 0.0000D+00 0.4895D-22  nap= 85
1208 dans gcbd  iter= 39  f=  0.6282712D-20
1209 gcbd. epsg,difg= 0.2220D-15 0.2603D-09  epsf,diff= 0.0000D+00 0.7315D-23  nap= 87
1210 dans gcbd  iter= 40  f=  0.6275397D-20
1211 gcbd. epsg,difg= 0.2220D-15 0.2373D-09  epsf,diff= 0.0000D+00 0.1517D-22  nap= 96
1212 dans gcbd  iter= 41  f=  0.6260226D-20
1213 gcbd. epsg,difg= 0.2220D-15 0.1259D-09  epsf,diff= 0.0000D+00 0.2288D-22  nap= 97
1214 dans gcbd  iter= 42  f=  0.6237341D-20
1215 gcbd. epsg,difg= 0.2220D-15 0.8448D-10  epsf,diff= 0.0000D+00 0.1153D-22  nap= 99
1216 dans gcbd  iter= 43  f=  0.6225811D-20
1217 gcbd max appels simul
1218 gcbd : retour avec indgc=       4
1219 f,norme grad,nap,iter,indgc= 0.6214E-20 0.8448E-10   100    43     4
1220optim: Optim stops: maximum number of calls to f is reached.
1221// iprint = 4 : one line by iteration + one line by line search
1222[f,x,g]=optim(rosenbrock,"b",bi,bs,x0,"gc",iprint=3);
1223 gcdb: entry point
1224     dimension of the problem (n):     2
1225     expected decrease for f (df0): 0.10D+01
1226     relative precision on g (epsg): 0.22D-15
1227     maximal number of iterations (itmax):   100
1228     maximal number of simulations (napmax):   100
1229     printing level (iprint):   3
1230 dans gcbd  iter=  1  f=  0.2420000D+02
1231 relvar1. valeur de eps1=  0.1020000D+02
1232   redemarrage. icycl=    2
1233 rlbd tp= 0.2876E-01 tmax= 0.1000E+11 dh0/dt=-0.5423E+05
1234e   t= 0.3688E-04 h=-0.1945E+01 dh/dt=-0.5124E+05 dfh/dt=-0.5273E+05 dt 0.4E-04
1235    t= 0.5135E-03 h=-0.1784E+02 dh/dt=-0.1667E+05 dfh/dt=-0.3334E+05 dt 0.5E-03
1236 retour mlibd indrl=     1 pas=  0.5135D-03 f=  0.6364D+01
1237 gcbd. epsg,difg= 0.2220D-15 0.7159D+02  epsf,diff= 0.0000D+00 0.1784D+02  nap=  2
1238 dans gcbd  iter=  2  f=  0.6363632D+01
1239 relvar1. valeur de eps1=  0.3799926D+01
1240 rlbd tp= 0.1253E+03 tmax= 0.1000E+11 dh0/dt=-0.3802E+01
1241ic  t= 0.9384E+01 h= 0.6768E+02 dh/dt= 0.1385E+02 dfh/dt= 0.7212E+01 dt 0.9E+01
1242    t= 0.1228E+01 h=-0.2231E+01 dh/dt= 0.7747E-01 dfh/dt= 0.8572E+01 dt-0.8E+01
1243 retour mlibd indrl=     1 pas=  0.1228D+01 f=  0.4132D+01
1244 gcbd. epsg,difg= 0.2220D-15 0.2340D+01  epsf,diff= 0.0000D+00 0.2231D+01  nap=  4
1245 dans gcbd  iter=  3  f=  0.4132134D+01
1246 relvar1. valeur de eps1=  0.4060355D-02
1247   redemarrage. icycl=    3
1248 rlbd tp= 0.3491E+04 tmax= 0.1000E+11 dh0/dt=-0.4314E-02
1249id  t= 0.1035E+04 h= 0.1274E+04 dh/dt= 0.2763E+01 dfh/dt= 0.1231E+01 dt 0.1E+04
1250    t= 0.1613E+01 h=-0.4550E-02 dh/dt=-0.1328E-02 dfh/dt= 0.1233E+01 dt-0.1E+04
1251 retour mlibd indrl=     1 pas=  0.1613D+01 f=  0.4128D+01
1252 gcbd. epsg,difg= 0.2220D-15 0.1913D+01  epsf,diff= 0.0000D+00 0.4550D-02  nap=  6
1253 dans gcbd  iter=  4  f=  0.4127584D+01
1254 relvar1. valeur de eps1=  0.2713482D-02
1255 rlbd tp= 0.1714E+04 tmax= 0.1000E+11 dh0/dt=-0.5472E-02
1256e   t= 0.1663E+01 h=-0.7784E-02 dh/dt=-0.3889E-02 dfh/dt=-0.4681E-02 dt 0.2E+01
1257    t= 0.4407E+01 h=-0.1486E-01 dh/dt=-0.1270E-02 dfh/dt=-0.2580E-02 dt 0.3E+01
1258 retour mlibd indrl=     1 pas=  0.4407D+01 f=  0.4113D+01
1259 gcbd. epsg,difg= 0.2220D-15 0.5416D+01  epsf,diff= 0.0000D+00 0.1486D-01  nap=  8
1260 dans gcbd  iter=  5  f=  0.4112720D+01
1261 relvar1. valeur de eps1=  0.2174276D-01
1262 rlbd tp= 0.3394E+03 tmax= 0.1000E+11 dh0/dt=-0.2756E-01
1263e   t= 0.1079E+01 h=-0.2860E-01 dh/dt=-0.2543E-01 dfh/dt=-0.2652E-01 dt 0.1E+01
1264    t= 0.1071E+02 h=-0.1464E+00 dh/dt= 0.4420E-02 dfh/dt=-0.1223E-01 dt 0.1E+02
1265 retour mlibd indrl=     1 pas=  0.1071D+02 f=  0.3966D+01
1266 gcbd. epsg,difg= 0.2220D-15 0.2091D+02  epsf,diff= 0.0000D+00 0.1464D+00  nap= 10
1267 dans gcbd  iter=  6  f=  0.3966314D+01
1268 relvar1. valeur de eps1=  0.3241092D+00
1269 rlbd tp= 0.5571E+02 tmax= 0.1000E+11 dh0/dt=-0.3012E+00
1270e   t= 0.9721E+00 h=-0.2598E+00 dh/dt=-0.2366E+00 dfh/dt=-0.2673E+00 dt 0.1E+01
1271    t= 0.3474E+01 h=-0.6344E+00 dh/dt=-0.2926E-01 dfh/dt=-0.1497E+00 dt 0.3E+01
1272 retour mlibd indrl=     1 pas=  0.3474D+01 f=  0.3332D+01
1273 gcbd. epsg,difg= 0.2220D-15 0.2247D+02  epsf,diff= 0.0000D+00 0.6344D+00  nap= 12
1274 dans gcbd  iter=  7  f=  0.3331870D+01
1275 relvar1. valeur de eps1=  0.3741640D+00
1276 rlbd tp= 0.1088E+03 tmax= 0.1000E+11 dh0/dt=-0.5645E+00
1277    t= 0.2248E+01 h=-0.6856E+00 dh/dt=-0.1262E+00 dfh/dt=-0.3050E+00 dt 0.2E+01
1278 retour mlibd indrl=     1 pas=  0.2248D+01 f=  0.2646D+01
1279 gcbd. epsg,difg= 0.2220D-15 0.2143D+01  epsf,diff= 0.0000D+00 0.6856D+00  nap= 13
1280 dans gcbd  iter=  8  f=  0.2646310D+01
1281 relvar1. valeur de eps1=  0.3403105D-02
1282 rlbd tp= 0.7769E+02 tmax= 0.1000E+11 dh0/dt=-0.1859E+00
1283ic  t= 0.7377E+01 h= 0.6756E+00 dh/dt= 0.1233E+01 dfh/dt= 0.9159E-01 dt 0.7E+01
1284    t= 0.4255E+01 h=-0.7397E+00 dh/dt=-0.4571E-01 dfh/dt= 0.4535E+00 dt-0.3E+01
1285 retour mlibd indrl=     1 pas=  0.4255D+01 f=  0.1907D+01
1286 gcbd. epsg,difg= 0.2220D-15 0.8030D+01  epsf,diff= 0.0000D+00 0.7397D+00  nap= 15
1287 dans gcbd  iter=  9  f=  0.1906596D+01
1288 relvar1. valeur de eps1=  0.4780419D-01
1289 rlbd tp= 0.3212E+02 tmax= 0.1000E+11 dh0/dt=-0.2472E+00
1290id  t= 0.5985E+01 h= 0.1537E+03 dh/dt= 0.9159E+02 dfh/dt= 0.2567E+02 dt 0.6E+01
1291e   t= 0.1611E-01 h=-0.3896E-02 dh/dt=-0.2364E+00 dfh/dt= 0.2574E+02 dt-0.6E+01
1292    t= 0.2846E+00 h=-0.3822E-01 dh/dt=-0.8113E-04 dfh/dt=-0.1279E+00 dt 0.3E+00
1293 retour mlibd indrl=     1 pas=  0.2846D+00 f=  0.1868D+01
1294 gcbd. epsg,difg= 0.2220D-15 0.1073D+02  epsf,diff= 0.0000D+00 0.3822D-01  nap= 18
1295 dans gcbd  iter= 10  f=  0.1868373D+01
1296 relvar1. valeur de eps1=  0.8535631D-01
1297 rlbd tp= 0.1129E+03 tmax= 0.1000E+11 dh0/dt=-0.1980E+00
1298e   t= 0.3861E+00 h=-0.7241E-01 dh/dt=-0.1777E+00 dfh/dt=-0.1876E+00 dt 0.4E+00
1299    t= 0.2884E+01 h=-0.4014E+00 dh/dt=-0.9237E-01 dfh/dt=-0.1317E+00 dt 0.2E+01
1300 retour mlibd indrl=     1 pas=  0.2884D+01 f=  0.1467D+01
1301 gcbd. epsg,difg= 0.2220D-15 0.7322D+01  epsf,diff= 0.0000D+00 0.4014D+00  nap= 20
1302 dans gcbd  iter= 11  f=  0.1467012D+01
1303 relvar1. valeur de eps1=  0.3974892D-01
1304 rlbd tp= 0.4776E+02 tmax= 0.1000E+11 dh0/dt=-0.2843E+00
1305ic  t= 0.2824E+01 h= 0.4689E+00 dh/dt= 0.1143E+01 dfh/dt= 0.1661E+00 dt 0.3E+01
1306    t= 0.1342E+01 h=-0.2159E+00 dh/dt= 0.7689E-02 dfh/dt= 0.4621E+00 dt-0.1E+01
1307 retour mlibd indrl=     1 pas=  0.1342D+01 f=  0.1251D+01
1308 gcbd. epsg,difg= 0.2220D-15 0.9099D+01  epsf,diff= 0.0000D+00 0.2159D+00  nap= 22
1309 dans gcbd  iter= 12  f=  0.1251075D+01
1310 relvar1. valeur de eps1=  0.6137646D-01
1311 rlbd tp= 0.2230E+03 tmax= 0.1000E+11 dh0/dt=-0.2142E+00
1312    t= 0.2016E+01 h=-0.2771E+00 dh/dt=-0.6822E-01 dfh/dt=-0.1375E+00 dt 0.2E+01
1313 retour mlibd indrl=     1 pas=  0.2016D+01 f=  0.9740D+00
1314 gcbd. epsg,difg= 0.2220D-15 0.2373D+01  epsf,diff= 0.0000D+00 0.2771D+00  nap= 23
1315 dans gcbd  iter= 13  f=  0.9739653D+00
1316 relvar1. valeur de eps1=  0.4173212D-02
1317 rlbd tp= 0.1759E+03 tmax= 0.1000E+11 dh0/dt=-0.7701E-01
1318ic  t= 0.7196E+01 h= 0.1711E-01 dh/dt= 0.2397E-02 dfh/dt= 0.2377E-02 dt 0.7E+01
1319    t= 0.2294E+01 h=-0.7093E-01 dh/dt= 0.3779E-02 dfh/dt= 0.1796E-01 dt-0.5E+01
1320 retour mlibd indrl=     1 pas=  0.2294D+01 f=  0.9030D+00
1321 gcbd. epsg,difg= 0.2220D-15 0.5464D+01  epsf,diff= 0.0000D+00 0.7093D-01  nap= 25
1322 dans gcbd  iter= 14  f=  0.9030358D+00
1323 relvar1. valeur de eps1=  0.2213301D-01
1324 rlbd tp= 0.1925E+03 tmax= 0.1000E+11 dh0/dt=-0.5988E-01
1325es  t= 0.2369E+01 h=-0.1457E+00 dh/dt=-0.6005E-01 dfh/dt=-0.6152E-01 dt 0.2E+01
1326ic  t= 0.1925E+03 h= 0.6099E+05 dh/dt= 0.1255E+04 dfh/dt= 0.3208E+03 dt 0.2E+03
1327ic  t= 0.6286E+02 h= 0.7424E+03 dh/dt= 0.4626E+02 dfh/dt= 0.4648E+03 dt-0.1E+03
1328ic  t= 0.1991E+02 h= 0.7578E+01 dh/dt= 0.1633E+01 dfh/dt= 0.1711E+02 dt-0.4E+02
1329    t= 0.7386E+01 h=-0.2702E+00 dh/dt= 0.4024E-01 dfh/dt= 0.6267E+00 dt-0.1E+02
1330 retour mlibd indrl=     1 pas=  0.7386D+01 f=  0.6329D+00
1331 gcbd. epsg,difg= 0.2220D-15 0.6580D+01  epsf,diff= 0.0000D+00 0.2702D+00  nap= 30
1332 dans gcbd  iter= 15  f=  0.6328802D+00
1333 relvar1. valeur de eps1=  0.3209633D-01
1334 rlbd tp= 0.8587E+02 tmax= 0.1000E+11 dh0/dt=-0.1289E+00
1335ic  t= 0.4193E+01 h= 0.5736E+00 dh/dt= 0.1516E+00 dfh/dt= 0.1368E+00 dt 0.4E+01
1336    t= 0.5819E+00 h=-0.2982E-01 dh/dt= 0.1805E-01 dfh/dt= 0.1671E+00 dt-0.4E+01
1337 retour mlibd indrl=     1 pas=  0.5819D+00 f=  0.6031D+00
1338 gcbd. epsg,difg= 0.2220D-15 0.2530D+01  epsf,diff= 0.0000D+00 0.2982D-01  nap= 32
1339 dans gcbd  iter= 16  f=  0.6030573D+00
1340 relvar1. valeur de eps1=  0.4746197D-02
1341 rlbd tp= 0.2718E+03 tmax= 0.1000E+11 dh0/dt=-0.2597E-01
1342e   t= 0.2297E+01 h=-0.5336E-01 dh/dt=-0.2015E-01 dfh/dt=-0.2323E-01 dt 0.2E+01
1343    t= 0.7857E+01 h=-0.8989E-01 dh/dt= 0.1364E-01 dfh/dt=-0.6570E-02 dt 0.6E+01
1344 retour mlibd indrl=     1 pas=  0.7857D+01 f=  0.5132D+00
1345 gcbd. epsg,difg= 0.2220D-15 0.7873D+01  epsf,diff= 0.0000D+00 0.8989D-01  nap= 34
1346 dans gcbd  iter= 17  f=  0.5131695D+00
1347 relvar1. valeur de eps1=  0.4594621D-01
1348 rlbd tp= 0.3039E+03 tmax= 0.1000E+11 dh0/dt=-0.1195E+00
1349    t= 0.1504E+01 h=-0.8223E-01 dh/dt= 0.7334E-02 dfh/dt=-0.5466E-01 dt 0.2E+01
1350 retour mlibd indrl=     1 pas=  0.1504D+01 f=  0.4309D+00
1351 gcbd. epsg,difg= 0.2220D-15 0.1104D+01  epsf,diff= 0.0000D+00 0.8223D-01  nap= 35
1352 dans gcbd  iter= 18  f=  0.4309425D+00
1353 relvar1. valeur de eps1=  0.9029729D-03
1354 rlbd tp= 0.1063E+04 tmax= 0.1000E+11 dh0/dt=-0.4518E-02
1355ic  t= 0.3640E+02 h= 0.5310E+00 dh/dt= 0.4494E-01 dfh/dt= 0.1459E-01 dt 0.4E+02
1356    t= 0.7310E+01 h=-0.1651E-01 dh/dt= 0.3403E-03 dfh/dt= 0.1882E-01 dt-0.3E+02
1357 retour mlibd indrl=     1 pas=  0.7310D+01 f=  0.4144D+00
1358 gcbd. epsg,difg= 0.2220D-15 0.3437D+01  epsf,diff= 0.0000D+00 0.1651D-01  nap= 37
1359 dans gcbd  iter= 19  f=  0.4144307D+00
1360 relvar1. valeur de eps1=  0.8757447D-02
1361 rlbd tp= 0.2773E+03 tmax= 0.1000E+11 dh0/dt=-0.2666E-01
1362e   t= 0.1239E+01 h=-0.3089E-01 dh/dt=-0.2333E-01 dfh/dt=-0.2493E-01 dt 0.1E+01
1363    t= 0.7614E+01 h=-0.1344E+00 dh/dt=-0.7689E-02 dfh/dt=-0.1623E-01 dt 0.6E+01
1364 retour mlibd indrl=     1 pas=  0.7614D+01 f=  0.2801D+00
1365 gcbd. epsg,difg= 0.2220D-15 0.4566D+01  epsf,diff= 0.0000D+00 0.1344D+00  nap= 39
1366 dans gcbd  iter= 20  f=  0.2800585D+00
1367 relvar1. valeur de eps1=  0.1545384D-01
1368 rlbd tp= 0.7879E+02 tmax= 0.1000E+11 dh0/dt=-0.7000E-01
1369ic  t= 0.3839E+01 h= 0.4880E-01 dh/dt= 0.1721E+00 dfh/dt= 0.1271E-01 dt 0.4E+01
1370    t= 0.2019E+01 h=-0.7865E-01 dh/dt=-0.1462E-02 dfh/dt= 0.7004E-01 dt-0.2E+01
1371 retour mlibd indrl=     1 pas=  0.2019D+01 f=  0.2014D+00
1372 gcbd. epsg,difg= 0.2220D-15 0.6863D+01  epsf,diff= 0.0000D+00 0.7865D-01  nap= 41
1373 dans gcbd  iter= 21  f=  0.2014068D+00
1374 relvar1. valeur de eps1=  0.3491271D-01
1375 rlbd tp= 0.1452E+03 tmax= 0.1000E+11 dh0/dt=-0.7317E-01
1376    t= 0.2150E+01 h=-0.7752E-01 dh/dt=-0.1664E-02 dfh/dt=-0.3606E-01 dt 0.2E+01
1377 retour mlibd indrl=     1 pas=  0.2150D+01 f=  0.1239D+00
1378 gcbd. epsg,difg= 0.2220D-15 0.1826D+01  epsf,diff= 0.0000D+00 0.7752D-01  nap= 42
1379 dans gcbd  iter= 22  f=  0.1238910D+00
1380 relvar1. valeur de eps1=  0.2472755D-02
1381 rlbd tp= 0.6021E+03 tmax= 0.1000E+11 dh0/dt=-0.3742E-02
1382ic  t= 0.4144E+02 h= 0.4582E-01 dh/dt= 0.1733E-01 dfh/dt= 0.1106E-02 dt 0.4E+02
1383    t= 0.2377E+02 h=-0.7119E-01 dh/dt=-0.5166E-03 dfh/dt= 0.6624E-02 dt-0.2E+02
1384 retour mlibd indrl=     1 pas=  0.2377D+02 f=  0.5270D-01
1385 gcbd. epsg,difg= 0.2220D-15 0.2529D+01  epsf,diff= 0.0000D+00 0.7119D-01  nap= 44
1386 dans gcbd  iter= 23  f=  0.5270207D-01
1387 relvar1. valeur de eps1=  0.4743240D-02
1388 rlbd tp= 0.5996E+02 tmax= 0.1000E+11 dh0/dt=-0.1525E-01
1389id  t= 0.9339E+01 h= 0.6520E+01 dh/dt= 0.2531E+01 dfh/dt= 0.6982E+00 dt 0.9E+01
1390e   t= 0.5592E-01 h=-0.8282E-03 dh/dt=-0.1437E-01 dfh/dt= 0.7025E+00 dt-0.9E+01
1391    t= 0.7449E+00 h=-0.6135E-02 dh/dt= 0.3026E-03 dfh/dt=-0.7702E-02 dt 0.7E+00
1392 retour mlibd indrl=     1 pas=  0.7449D+00 f=  0.4657D-01
1393 gcbd. epsg,difg= 0.2220D-15 0.4306D+01  epsf,diff= 0.0000D+00 0.6135D-02  nap= 47
1394 dans gcbd  iter= 24  f=  0.4656719D-01
1395 relvar1. valeur de eps1=  0.1374282D-01
1396 rlbd tp= 0.9843E+02 tmax= 0.1000E+11 dh0/dt=-0.2153E-01
1397e   t= 0.5698E+00 h=-0.1080E-01 dh/dt=-0.1656E-01 dfh/dt=-0.1895E-01 dt 0.6E+00
1398    t= 0.1891E+01 h=-0.2703E-01 dh/dt=-0.8803E-02 dfh/dt=-0.1229E-01 dt 0.1E+01
1399 retour mlibd indrl=     1 pas=  0.1891D+01 f=  0.1953D-01
1400 gcbd. epsg,difg= 0.2220D-15 0.1231D+01  epsf,diff= 0.0000D+00 0.2703D-01  nap= 49
1401 dans gcbd  iter= 25  f=  0.1953329D-01
1402 relvar1. valeur de eps1=  0.1122833D-02
1403 rlbd tp= 0.6390E+02 tmax= 0.1000E+11 dh0/dt=-0.1231E-01
1404ic  t= 0.4393E+01 h= 0.2726E-02 dh/dt= 0.2652E-01 dfh/dt= 0.6205E-03 dt 0.4E+01
1405    t= 0.2476E+01 h=-0.1631E-01 dh/dt=-0.9453E-03 dfh/dt= 0.9927E-02 dt-0.2E+01
1406 retour mlibd indrl=     1 pas=  0.2476D+01 f=  0.3222D-02
1407 gcbd. epsg,difg= 0.2220D-15 0.1445D+01  epsf,diff= 0.0000D+00 0.1631D-01  nap= 51
1408 dans gcbd  iter= 26  f=  0.3222476D-02
1409 relvar1. valeur de eps1=  0.1548651D-02
1410 rlbd tp= 0.2501E+03 tmax= 0.1000E+11 dh0/dt=-0.2338E-02
1411ic  t= 0.1396E+02 h= 0.3783E-01 dh/dt= 0.4338E-02 dfh/dt= 0.2710E-02 dt 0.1E+02
1412    t= 0.2121E+01 h=-0.2216E-02 dh/dt= 0.1389E-03 dfh/dt= 0.3384E-02 dt-0.1E+02
1413 retour mlibd indrl=     1 pas=  0.2121D+01 f=  0.1006D-02
1414 gcbd. epsg,difg= 0.2220D-15 0.6193D+00  epsf,diff= 0.0000D+00 0.2216D-02  nap= 53
1415 dans gcbd  iter= 27  f=  0.1006378D-02
1416 relvar1. valeur de eps1=  0.2843555D-03
1417   redemarrage. icycl=    4
1418 rlbd tp= 0.1091E+04 tmax= 0.1000E+11 dh0/dt=-0.2329E-03
1419ic  t= 0.1903E+02 h= 0.6140E-02 dh/dt= 0.1045E-02 dfh/dt= 0.3226E-03 dt 0.2E+02
1420    t= 0.4894E+01 h=-0.5871E-03 dh/dt= 0.2637E-05 dfh/dt= 0.4758E-03 dt-0.1E+02
1421 retour mlibd indrl=     1 pas=  0.4894D+01 f=  0.4193D-03
1422 gcbd. epsg,difg= 0.2220D-15 0.3527D+00  epsf,diff= 0.0000D+00 0.5871D-03  nap= 55
1423 dans gcbd  iter= 28  f=  0.4193247D-03
1424 relvar1. valeur de eps1=  0.9222784D-04
1425 rlbd tp= 0.1062E+04 tmax= 0.1000E+11 dh0/dt=-0.8678E-04
1426    t= 0.1353E+02 h=-0.3655E-03 dh/dt= 0.2643E-04 dfh/dt=-0.2701E-04 dt 0.1E+02
1427 retour mlibd indrl=     1 pas=  0.1353D+02 f=  0.5385D-04
1428 gcbd. epsg,difg= 0.2220D-15 0.1105D+00  epsf,diff= 0.0000D+00 0.3655D-03  nap= 56
1429 dans gcbd  iter= 29  f=  0.5385147D-04
1430 relvar1. valeur de eps1=  0.9059077D-05
1431   redemarrage. icycl=    5
1432 rlbd tp= 0.4375E+03 tmax= 0.1000E+11 dh0/dt=-0.1214E-03
1433ic  t= 0.6022E+01 h= 0.1322E-02 dh/dt= 0.4847E-03 dfh/dt= 0.2195E-03 dt 0.6E+01
1434    t= 0.9155E+00 h=-0.4928E-04 dh/dt= 0.9833E-05 dfh/dt= 0.2685E-03 dt-0.5E+01
1435 retour mlibd indrl=     1 pas=  0.9155D+00 f=  0.4572D-05
1436 gcbd. epsg,difg= 0.2220D-15 0.9174D-01  epsf,diff= 0.0000D+00 0.4928D-04  nap= 58
1437 dans gcbd  iter= 30  f=  0.4571613D-05
1438 relvar1. valeur de eps1=  0.6239751D-05
1439 rlbd tp= 0.2108E+05 tmax= 0.1000E+11 dh0/dt=-0.5025E-05
1440icb t= 0.1961E+02 h= 0.4515E-03 dh/dt= 0.5112E-04 dfh/dt= 0.2302E-04 dt 0.2E+02
1441    t= 0.1961E+01 h=-0.4367E-05 dh/dt= 0.5731E-06 dfh/dt= 0.2582E-04 dt-0.2E+02
1442 retour mlibd indrl=     1 pas=  0.1961D+01 f=  0.2051D-06
1443 gcbd. epsg,difg= 0.2220D-15 0.1255D-01  epsf,diff= 0.0000D+00 0.4367D-05  nap= 60
1444 dans gcbd  iter= 31  f=  0.2050776D-06
1445 relvar1. valeur de eps1=  0.1168284D-06
1446   redemarrage. icycl=    6
1447 rlbd tp= 0.9888E+04 tmax= 0.1000E+11 dh0/dt=-0.3710E-06
1448icb t= 0.2354E+02 h= 0.7839E-04 dh/dt= 0.6768E-05 dfh/dt= 0.3330E-05 dt 0.2E+02
1449ic  t= 0.2354E+01 h= 0.5630E-07 dh/dt= 0.4160E-06 dfh/dt= 0.3698E-05 dt-0.2E+02
1450    t= 0.1103E+01 h=-0.2043E-06 dh/dt= 0.4074E-12 dfh/dt= 0.2084E-06 dt-0.1E+01
1451 retour mlibd indrl=     1 pas=  0.1103D+01 f=  0.7658D-09
1452 gcbd. epsg,difg= 0.2220D-15 0.9260D-03  epsf,diff= 0.0000D+00 0.2043D-06  nap= 63
1453 dans gcbd  iter= 32  f=  0.7658047D-09
1454 relvar1. valeur de eps1=  0.6356802D-09
1455 rlbd tp= 0.3886E+06 tmax= 0.1000E+11 dh0/dt=-0.6357E-09
1456id  t= 0.6428E+03 h= 0.5664E-04 dh/dt= 0.1809E-06 dfh/dt= 0.8811E-07 dt 0.6E+03
1457    t= 0.2251E+01 h=-0.7625E-09 dh/dt=-0.4174E-10 dfh/dt= 0.8842E-07 dt-0.6E+03
1458 retour mlibd indrl=     1 pas=  0.2251D+01 f=  0.3301D-11
1459 gcbd. epsg,difg= 0.2220D-15 0.6032D-04  epsf,diff= 0.0000D+00 0.7625D-09  nap= 65
1460 dans gcbd  iter= 33  f=  0.3300830D-11
1461 relvar1. valeur de eps1=  0.2697842D-11
1462   redemarrage. icycl=    7
1463 rlbd tp= 0.2431E+07 tmax= 0.1000E+11 dh0/dt=-0.6603E-11
1464id  t= 0.2309E+03 h= 0.1751E-06 dh/dt= 0.1525E-08 dfh/dt= 0.7581E-09 dt 0.2E+03
1465    t= 0.9958E+00 h=-0.3301E-11 dh/dt=-0.2602E-13 dfh/dt= 0.7614E-09 dt-0.2E+03
1466 retour mlibd indrl=     1 pas=  0.9958D+00 f=  0.5128D-16
1467 gcbd. epsg,difg= 0.2220D-15 0.2425D-06  epsf,diff= 0.0000D+00 0.3301D-11  nap= 67
1468 dans gcbd  iter= 34  f=  0.5127616D-16
1469 relvar1. valeur de eps1=  0.0000000D+00
1470 rlbd tp= 0.6222E+09 tmax= 0.1000E+11 dh0/dt=-0.1025E-15
1471id  t= 0.6439E+05 h= 0.2131E-06 dh/dt= 0.6629E-11 dfh/dt= 0.3310E-11 dt 0.6E+05
1472icb t= 0.6439E+02 h= 0.2059E-12 dh/dt= 0.6498E-14 dfh/dt= 0.3313E-11 dt-0.6E+05
1473ic  t= 0.6439E+01 h= 0.1465E-14 dh/dt= 0.5576E-15 dfh/dt= 0.3528E-14 dt-0.6E+02
1474    t= 0.1000E+01 h=-0.5126E-16 dh/dt=-0.6186E-23 dfh/dt= 0.2788E-15 dt-0.5E+01
1475 retour mlibd indrl=     1 pas=  0.1000D+01 f=  0.1132D-19
1476 gcbd. epsg,difg= 0.2220D-15 0.3168D-08  epsf,diff= 0.0000D+00 0.5126D-16  nap= 71
1477 dans gcbd  iter= 35  f=  0.1131843D-19
1478 relvar1. valeur de eps1=  0.0000000D+00
1479   redemarrage. icycl=    8
1480 rlbd tp= 0.1883E+13 tmax= 0.1000E+11 dh0/dt=-0.7441E-20
1481id  t= 0.1378E+05 h= 0.5241E-12 dh/dt= 0.7609E-16 dfh/dt= 0.3804E-16 dt 0.1E+05
1482id  t= 0.1378E+04 h= 0.5232E-14 dh/dt= 0.7602E-17 dfh/dt= 0.4184E-16 dt-0.1E+05
1483id  t= 0.1378E+03 h= 0.5140E-16 dh/dt= 0.7535E-18 dfh/dt= 0.4178E-17 dt-0.1E+04
1484d   t= 0.1378E+02 h= 0.4217E-18 dh/dt= 0.6865E-19 dfh/dt= 0.4111E-18 dt-0.1E+03
1485d   t= 0.6889E+01 h= 0.7979E-19 dh/dt= 0.3061E-19 dfh/dt= 0.4963E-19 dt-0.7E+01
1486d   t= 0.3445E+01 h= 0.7131E-20 dh/dt= 0.1158E-19 dfh/dt= 0.2109E-19 dt-0.3E+01
1487    t= 0.1722E+01 h=-0.4625E-20 dh/dt= 0.2070E-20 dfh/dt= 0.6826E-20 dt-0.2E+01
1488 retour mlibd indrl=     1 pas=  0.1722D+01 f=  0.6693D-20
1489 gcbd. epsg,difg= 0.2220D-15 0.8861D-09  epsf,diff= 0.0000D+00 0.4625D-20  nap= 78
1490 dans gcbd  iter= 36  f=  0.6693058D-20
1491 relvar1. valeur de eps1=  0.0000000D+00
1492 rlbd tp= 0.1067E+14 tmax= 0.1000E+11 dh0/dt=-0.5821E-21
1493d   t= 0.1589E+02 h= 0.4498E-19 dh/dt= 0.6243E-20 dfh/dt= 0.2830E-20 dt 0.2E+02
1494d   t= 0.7947E+01 h= 0.8933E-20 dh/dt= 0.2830E-20 dfh/dt= 0.4537E-20 dt-0.8E+01
1495d   t= 0.3973E+01 h= 0.1077E-20 dh/dt= 0.1124E-20 dfh/dt= 0.1977E-20 dt-0.4E+01
1496    t= 0.1987E+01 h=-0.3089E-21 dh/dt= 0.2711E-21 dfh/dt= 0.6976E-21 dt-0.2E+01
1497 retour mlibd indrl=     1 pas=  0.1987D+01 f=  0.6384D-20
1498 gcbd. epsg,difg= 0.2220D-15 0.4257D-09  epsf,diff= 0.0000D+00 0.3089D-21  nap= 82
1499 dans gcbd  iter= 37  f=  0.6384148D-20
1500 relvar1. valeur de eps1=  0.0000000D+00
1501   redemarrage. icycl=    9
1502 rlbd tp= 0.1325E+14 tmax= 0.1000E+11 dh0/dt=-0.1343E-21
1503d   t= 0.4600E+01 h= 0.4080E-21 dh/dt= 0.3117E-21 dfh/dt= 0.8869E-22 dt 0.5E+01
1504    t= 0.2300E+01 h=-0.5249E-22 dh/dt= 0.8867E-22 dfh/dt= 0.2002E-21 dt-0.2E+01
1505 retour mlibd indrl=     1 pas=  0.2300D+01 f=  0.6332D-20
1506 gcbd. epsg,difg= 0.2220D-15 0.3053D-09  epsf,diff= 0.0000D+00 0.5249D-22  nap= 84
1507 dans gcbd  iter= 38  f=  0.6331659D-20
1508 relvar1. valeur de eps1=  0.0000000D+00
1509 rlbd tp= 0.2753E+14 tmax= 0.1000E+11 dh0/dt=-0.6909E-22
1510    t= 0.1519E+01 h=-0.4895E-22 dh/dt= 0.4659E-23 dfh/dt=-0.3222E-22 dt 0.2E+01
1511 retour mlibd indrl=     1 pas=  0.1519D+01 f=  0.6283D-20
1512 gcbd. epsg,difg= 0.2220D-15 0.8042D-10  epsf,diff= 0.0000D+00 0.4895D-22  nap= 85
1513 dans gcbd  iter= 39  f=  0.6282712D-20
1514 relvar1. valeur de eps1=  0.0000000D+00
1515   redemarrage. icycl=   10
1516 rlbd tp= 0.8214E+14 tmax= 0.1000E+11 dh0/dt=-0.4794E-23
1517d   t= 0.2042E+02 h= 0.6864E-22 dh/dt= 0.1152E-22 dfh/dt= 0.3361E-23 dt 0.2E+02
1518    t= 0.1021E+02 h=-0.7315E-23 dh/dt= 0.3361E-23 dfh/dt= 0.7439E-23 dt-0.1E+02
1519 retour mlibd indrl=     1 pas=  0.1021D+02 f=  0.6275D-20
1520 gcbd. epsg,difg= 0.2220D-15 0.2603D-09  epsf,diff= 0.0000D+00 0.7315D-23  nap= 87
1521 dans gcbd  iter= 40  f=  0.6275397D-20
1522 relvar1. valeur de eps1=  0.0000000D+00
1523 rlbd tp= 0.3083E+14 tmax= 0.1000E+11 dh0/dt=-0.5022E-22
1524e   t= 0.2914E+00 h=-0.1318E-22 dh/dt=-0.4014E-22 dfh/dt=-0.4523E-22 dt 0.3E+00
1525d   t= 0.2914E+03 h= 0.1452E-17 dh/dt= 0.1001E-19 dfh/dt= 0.4987E-20 dt 0.3E+03
1526d   t= 0.1458E+03 h= 0.3600E-18 dh/dt= 0.4987E-20 dfh/dt= 0.7501E-20 dt-0.1E+03
1527d   t= 0.7306E+02 h= 0.8852E-19 dh/dt= 0.2473E-20 dfh/dt= 0.3730E-20 dt-0.7E+02
1528d   t= 0.3667E+02 h= 0.2139E-19 dh/dt= 0.1217E-20 dfh/dt= 0.1845E-20 dt-0.4E+02
1529d   t= 0.1848E+02 h= 0.4972E-20 dh/dt= 0.5882E-21 dfh/dt= 0.9024E-21 dt-0.2E+02
1530d   t= 0.9387E+01 h= 0.1051E-20 dh/dt= 0.2740E-21 dfh/dt= 0.4312E-21 dt-0.9E+01
1531d   t= 0.4839E+01 h= 0.1615E-21 dh/dt= 0.1169E-21 dfh/dt= 0.1955E-21 dt-0.5E+01
1532    t= 0.2565E+01 h=-0.1517E-22 dh/dt= 0.3839E-22 dfh/dt= 0.7767E-22 dt-0.2E+01
1533 retour mlibd indrl=     1 pas=  0.2565D+01 f=  0.6260D-20
1534 gcbd. epsg,difg= 0.2220D-15 0.2373D-09  epsf,diff= 0.0000D+00 0.1517D-22  nap= 96
1535 dans gcbd  iter= 41  f=  0.6260226D-20
1536 relvar1. valeur de eps1=  0.0000000D+00
1537 rlbd tp= 0.2303E+14 tmax= 0.1000E+11 dh0/dt=-0.4176E-22
1538    t= 0.7266E+00 h=-0.2288E-22 dh/dt=-0.2121E-22 dfh/dt=-0.3150E-22 dt 0.7E+00
1539 retour mlibd indrl=     1 pas=  0.7266D+00 f=  0.6237D-20
1540 gcbd. epsg,difg= 0.2220D-15 0.1259D-09  epsf,diff= 0.0000D+00 0.2288D-22  nap= 97
1541 dans gcbd  iter= 42  f=  0.6237341D-20
1542 relvar1. valeur de eps1=  0.0000000D+00
1543   redemarrage. icycl=   11
1544 rlbd tp= 0.4323E+14 tmax= 0.1000E+11 dh0/dt=-0.1175E-22
1545d   t= 0.3894E+01 h=-0.3634E-24 dh/dt= 0.1157E-22 dfh/dt=-0.9333E-25 dt 0.4E+01
1546    t= 0.1947E+01 h=-0.1153E-22 dh/dt=-0.9088E-25 dfh/dt= 0.5735E-23 dt-0.2E+01
1547 retour mlibd indrl=     1 pas=  0.1947D+01 f=  0.6226D-20
1548 gcbd. epsg,difg= 0.2220D-15 0.8448D-10  epsf,diff= 0.0000D+00 0.1153D-22  nap= 99
1549 dans gcbd  iter= 43  f=  0.6225811D-20
1550 relvar1. valeur de eps1=  0.0000000D+00
1551 rlbd tp= 0.6434E+14 tmax= 0.1000E+11 dh0/dt=-0.5291E-23
1552    t= 0.4359E+01 h=-0.1174E-22 dh/dt=-0.9310E-25 dfh/dt=-0.2693E-23 dt 0.4E+01
1553 retour mlibd indrl=     1 pas=  0.4359D+01 f=  0.6214D-20
1554 gcbd max appels simul
1555 gcbd : retour avec indgc=       4
1556 f,norme grad,nap,iter,indgc= 0.6214E-20 0.8448E-10   100    43     4
1557optim: Optim stops: maximum number of calls to f is reached.
1558//
1559// 6. Test "sd", "si", "td", "ti" options
1560[f,x,g,td]=optim(rosenbrock,x0,"sd");
1561assert_checkalmostequal ( x , xopt , Leps );
1562assert_checkalmostequal ( f , fopt , [] , Leps );
1563assert_checkalmostequal ( g , gopt , [] , Leps );
1564[f,x,g,ti]=optim(rosenbrock,x0,"si");
1565assert_checkalmostequal ( x , xopt , Leps );
1566assert_checkalmostequal ( f , fopt , [] , Leps );
1567assert_checkalmostequal ( g , gopt , [] , Leps );
1568[f,x,g,ti,td]=optim(rosenbrock,x0,"si","sd");
1569assert_checkalmostequal ( x , xopt , Leps );
1570assert_checkalmostequal ( f , fopt , [] , Leps );
1571assert_checkalmostequal ( g , gopt , [] , Leps );
1572[f,x,g,ti,td]=optim(rosenbrock,x0,"ti",[2 2 2],"td",[1.1 1.1 1.1],"si","sd");
1573assert_checkalmostequal ( x , xopt , Leps );
1574assert_checkalmostequal ( f , fopt , [] , Leps );
1575assert_checkalmostequal ( g , gopt , [] , Leps );
1576