source: project/release/4/cmaes/tags/1.0/tests/run.scm @ 27763

Last change on this file since 27763 was 27763, checked in by Ivan Raikov, 8 years ago

cmaes release 1.0

File size: 2.0 KB
Line 
1(use srfi-4 cmaes)
2
3(define (minimize f N)
4  (let-values (((h funvals) (init `((N .  ,N) ;; Problem dimension
5
6                                    (initialX 0.5e0)  ;; Initial search point
7                                   
8                                    (typicalX 0.0) ;; Typical search point (useful for restarts)
9                                   
10                                    (initialStandardDeviations  0.3)
11                                    ;; numbers should not differ by orders of magnitude
12                                    ;; should be roughly 1/4 of the search interval
13                                    ;; this number essentially influences the global
14                                    ;; search ability (ie. the horizon where to search
15                                    ;; at all) on multimodal functions
16                                   
17                                    (stopMaxFunEvals   . 1e299) ;; max number of f-evaluations, 900*(N+3)*(N+3) is default
18                                    (stopMaxIter       . 1e299) ;; max number of iterations (generations), inf is default
19                                   
20                                    (stopTolFun . 1e-12) ;; stop if function value differences are
21                                    ;; smaller than stopTolFun, default=1e-12
22                                   
23                                    (stopTolFunHist . 1e-13) ;; stop if function value differences of best values are
24                                    ;; smaller than stopTolFunHist, default was 0
25                                   
26                                    (stopTolX . 1e-11) ;; stop if step sizes/steps in x-space are
27                                    ;; smaller than TolX, default=0
28                                   
29                                    (stopTolUpXFactor . 1e3) ;; stop if std dev increases more than by TolUpXFactor, default 1e3
30                                   
31                                    (seed . 0) 
32                                    ))))
33   
34    (pp 
35     (run f h funvals 
36          `((print  fewinfo    200) ;; print every 200 seconds
37            (print  few+clock  2  ) ;; clock: used processor time since start
38            (write "iter+eval+sigma+0+0+xmean"                           outcmaesxmean.dat )
39            (write "iter+eval+sigma+0+fitness+xbest"                     outcmaesxrecentbest.dat )
40            )))
41    ))
42
43
44;; an objective (fitness) function to be minimized
45(define (f1 x)
46  (let ((N (f64vector-length x)))
47    (let recur ((i 2) (sum (+ (* 1e4 (f64vector-ref x 0) (f64vector-ref x 0)) 
48                              (* 1e4 (f64vector-ref x 1) (f64vector-ref x 1)) )))
49      (if (< i N)
50          (recur (+ 1 i) (+ sum (* (f64vector-ref x i) (f64vector-ref x i))))
51          sum))
52    ))
53
54(minimize f1 22)
Note: See TracBrowser for help on using the repository browser.