I have a function "SurrogateFunction" I would like to use Surrogate to optimse. However, i dont know how to setup the options.
Data1 and Data2 are double vectors (500x2 and 500x2 in size). They do not need to be optimize and are the data for testing.
Variable1, 2 are integer
Variable3 is a double
I would like to optimise variable 1, 2 and 3.
Variables have lower bound level of [60, 10 and 0.5] respectively
Variables have upper bound level of [900, 240 and 3.5] respectively
Using the optimse solver, i got the following code
options = optimoptions('surrogateopt','Display','iter','PlotFcn',);
[solution,objectiveValue] = surrogateopt(fun,lb,ub,intCon,,,,,options);
function Value = SurrogateFunction(Data1, Data2, Variable1, Variable2, Variable3)
This is the error i am getting:
INTCON must be in the range [1 3].
Error in globaloptim.bmo.createSolver
self = globaloptim.bmo.createSolver(self,expensive,lb,ub, ...
controller = globaloptim.bmo.BlackboxModelOptimizer(expensive,lb,ub,intcon, ...
controller = createController(expensivefcn,lb,ub,intcon,Aineq,bineq,Aeq,beq,options);
How do I config the optimization so it runs?