help-octave
[Top][All Lists]
Advanced

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

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


From: Doug Stewart
Subject: Re: Wish to avoid multiple for loops, but don't know how to do it
Date: Thu, 19 May 2011 15:00:06 -0400



On Thu, May 19, 2011 at 1:43 PM, clustro <address@hidden> wrote:
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

--
V

Why do every point?
Is the the function smooth of hilly in each dimension?  
Are there lots of local minimums?

das


reply via email to

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