[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 ?

조회 수: 3 (최근 30일)
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.

답변 (2개)

Daniel Dolan
Daniel Dolan 2018년 6월 7일
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.
  댓글 수: 3
Young-Rok Kwon
Young-Rok Kwon 2018년 6월 7일
Thanks for the answer. In my case, "a" and "b" will be descrete values that varies with the result of FEM at each iteration, so I think the objective function might be regared as not continuous. Then, can't I use "fmincon?"
Walter Roberson
Walter Roberson 2018년 6월 7일
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
Alan Weiss 2018년 6월 7일
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

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by