MATLAB: GA calculates wrong penalty

gaGlobal Optimization Toolboxinitialpopulationmatrix

I have a GA problem with the optimization file Lowest. I set the initial population using a set of parameters X:
optim.options.InitialPopulationMatrix = X;
I check the result:
Lowest(X,[5 15], 1)
or indeed
Lowest(optim.options.InitialPopulationMatrix,[5 15], 1)
both yield
ans = 0.16.
I now define and run the following:
fopt = @(x)Lowest(x,[5 15],1);
[x,fval]=ga(fopt,optim.nvars,optim.Aineq,optim.bineq,[],[],optim.lb,optim.ub,[],optim.intcon,optim.options);
With optim.options.Display = 'iter'; The first values the GA run generates for me are always much higher than 0.16.
Why??!?
Any help greatly appreciated.

Best Answer

To answer your second question first, if you set a problem structure as documented then you can call ga by
[x,fval] = ga(problem)
For your first question, you can see the description of the penalty function in Integer ga algorithm. What I was trying to say is that your initial point might be infeasible, and then the penalty function is higher than the fitness function.
For the documentation on passing extra parameters, see Passing Extra Parameters.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation