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