MATLAB: Simulation based optimisation with ga solver

genetic algorithm

Hi,
I am new in optimisation and struggling a bit. I want to optimise an objective function with decision variables p(1), p(2), p(3) etc that are binary. The problem is that if p(1) is 1 for example then the objective function is calculated through a simulation where different files are called. So for different values of decision variables the objective function is calculated differently through if constraints. I am trying to use ga solver but I cannot state the if constraints for the calculation of the objective function and call the files. Do you have any idea how this could work?
Thanks very much in advance Nicky

Best Answer

Write an objective function that calls whatever you like, such as:
function y = objfun(p)
if p(1) = 1
y = fun1(p);
elseif p(2) = 1
y = fun2(p);
% etc.
Here I assume that you have function files fun1.m, fun2.m, etc.
Alan Weiss
MATLAB mathematical toolbox documentation