On 7/29/2013 4:04 AM, Mamdouh wrote:
> Hi everyone,
> I have some case studies regarding to Wind Farm Layout Optimization,
> the number of turbines may be a few hundreds,
> for every turbine I want to optimize its X,Y locations as well as its
> height,
> so, the number of variables may reach 1,000 wow !!!
> right now, I am using GA for smaller number of turbines (few tens of
> variables), but the results didn't give the optimum solution (I know
> the optimum solution for some cases) ...
>
> my questions are:
> 1 do you see GA is capable to handle a large number of variables ? 2
> If YES, how do I adapt the solver settings to capture the global
> minimum ?
> 3 If NO, what Optimization algorithm(s) do you suggest for my problem ?
>
> thank you for reading,
> Best Regards to ALL,
> Mamdouh
It depends on what kind of optimization you are doing.
If the objective function is a smooth function of the decision
variables, and is given by a formula, not a simulation or numerical
integration, then you should almost certainly use fmincon for your
optimization.
http://www.mathworks.com/help/gads/choosingasolver.html#bsa_e9p
fmincon is routinely used for optimizations using thousands of variables.
However, if the objective function is not smooth, or is given by a
simulation or numerical integration, then you can try patternsearch
first, or fmincon with some possible adjustments as described here:
http://www.mathworks.com/help/optim/ug/optimizingasimulationorordinarydifferentialequation.html
patternsearch is usually much more reliable and speedy than ga, and it
is easier to tune. The main difference in calling syntax is that
patternsearch (and fmincon) take an initial point, whereas ga can take
just the dimensionality of the problem as the second input. If you have
finite bounds on all components, you can use the following formula to
generate random initial points for patternsearch and fmincon:
x0 = lb + rand(size(lb)).*(ublb);
Alan Weiss
MATLAB mathematical toolbox documentation
