help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Wish to avoid multiple for loops, but don't know how to do it


From: clustro
Subject: Wish to avoid multiple for loops, but don't know how to do it
Date: Thu, 19 May 2011 10:43:12 -0700 (PDT)

Hello everyone,

I am trying to write a grid search algorithm for optimization. It would
evaluate an objective function over all the possible points on the grid, and
return the minimum value and its location.

I was able to do this easily for a 4-dimensional function. This needed four
nested for loops. This solution however, its not elegantly scalable to a
20-dimensional function.

For example, let's say the search domain over any search direction is -10 to
10, with some grid resolution. To do it for a 4-dimensional function, I
used:

for i = 1:N
        for j = 1:N
                for k = 1:N
                        for l = 1:N
                                xPoint = [x(i) x(j) x(k) x(l)]';
                                fEval_x = colville(xPoint);
                                if fEval_x < fmin
                                        fmin = fEval_x;
                                        xmin = xPoint;
                                endif
                        endfor
                endfor
        endfor
endfor

Where colville() is an optimization toy function.

Does anyone have a suggestion on how to avoid 20 nested for loops when
trying to scale this algorithm up to higher dimensions?

Thanks a bunch,

-Brad Ridder

--
View this message in context: 
http://octave.1599824.n4.nabble.com/Wish-to-avoid-multiple-for-loops-but-don-t-know-how-to-do-it-tp3536475p3536475.html
Sent from the Octave - General mailing list archive at Nabble.com.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]