[fmincon] Can I use the fmincon when the objective funtion is not analytic, i.e., when the objective funtion includes variables that changes at each iteration ?

6 views (last 30 days)
Young-Rok Kwon on 7 Jun 2018
Answered: Alan Weiss on 7 Jun 2018
for my knowlege, "fmincon" can solve an optimization problem when the objective function is an analytic function. However, in my case I should include some data(or variables) from a numerical method like FEM to the objective function.
for example, consider the objective function such as
fun = (x(1)-a)^2 + (x(2)-b)^2
where "x" is the design variable vector, "a" and "b" are data which depend on the value of "x" so that the values of the data change at each iteration. In my case, the values of "a" and "b" are determined from FEM based on the value of "x".
In this case, can I use "fmincon?" If so, how can I set the objective function?
Any comment is appreciated.

Daniel Dolan on 7 Jun 2018
Calculations of a=a(x) and b=b(x) can incorporated inside the objective function. All the optimizer cares about is how the output fun varies with x.
Walter Roberson on 7 Jun 2018
If you can break the problem up into regions where the a and b values are consistent for the region, then you can optimize over each region, and then at the end you can take the best over all of the regions.

Alan Weiss on 7 Jun 2018
You might be interested in the documentation topic Optimizing a Simulation or ODE. Finite element calculations have pretty much the same considerations.
Alan Weiss
MATLAB mathematical toolbox documentation