[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)
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.
Thanks for your consideration.

Answers (2)

Daniel Dolan
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
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.

Sign in to comment.

Alan Weiss
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


Find more on Linear Programming and Mixed-Integer Linear Programming in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!