FMINCON - Include constraints provided by the objective function

조회 수: 15 (최근 30일)
Lennart
Lennart 2023년 3월 22일
댓글: Lennart 2023년 3월 22일
Hi All,
I am currently working on an optimization problem with fmincon. The objective function takes quite a while to calculate, but in the end it is giving me a result in terms of resulting mass. This mass shall be optimized/minimized using fmincon which is working quite well on its own.
I am calling fmincon as follows:
[x,fval] = fmincon(@MASTER, x0,[], [], [],[],lb,ub,[], options);
Now, I would like to include constraints as well. Checking the help/support pages, I can simply add a constraint evaluation function at the end of the fmincon-call.
However, my objective function is also capable of giving me my constraint information as well. I am currently not returing it of course but it can be easily calculated. Sure I can double-call the function, once for objective and once for constraint, but I really dont want to call it twice due to the long calculation time. Is there any way I can use the constraint values I am already calculating in my objective function to be used by fmincon without calling it a second time?
Any advice would be fantastic!
kind regards,
Lennart

답변 (1개)

Jon
Jon 2023년 3월 22일
You can use nested functions to avoid recomputing your constraint values.

카테고리

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

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by