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: Mike
Subject: RE: Wish to avoid multiple for loops, but don't know how to do it
Date: Thu, 19 May 2011 15:48:36 -0700

 

 

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

 

 I sometimes run into this sort of thing. There is no pre-generation of the grid that provides any sort of indication of the values in the grin. Often it gets populated by dis-continuous results.

Mike G.

 


reply via email to

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