Skip the optimised parameters result if the objective function fails

1 view (last 30 days)
Hi
I am using matlab "isqnonlin" and "gamultiobj" (in two different codes) in matlab to optimise six parameters.
My objective function, is a function that calls ABAQUS and run some finite element models (FEMs) and export the result into matlab and matlab should optimised some coficient.
In some cases, matlab uses some coeficient that when the ABAQUS uses them to export the result, the FEM does not converge and it exists unfinished and matlab exports the results and generates the new optimised parametrs based on those unfinished data, which result in inaccurate optimisation.
My question is:
How can I define a condition that, if the condition was true MATLAB would ignore the esimated paramerts and goes to next iteration and estimates new parametrs?
Thanks

Accepted Answer

Matt J
Matt J on 23 Jun 2021
Most optimization solvers have an OuputFcn option that will let you define your own stopping criteria:
  8 Comments
SM
SM on 25 Jun 2021
Edited: SM on 25 Jun 2021
Thanks, I will give it a go.
However, it poses a new challenge to my problem.
I am trying the gt optimum set of coeficinet to yield the displacment error of zero (or close to that).
by selecting differnet set of ceof the error may be negative or positive hence my cost function may become negative or positive.
I cannot get the absolute value, since the physical meaning of being negative and positive is different.
is there anyway to push the optimisation to tailor the cost function value to zero?
Thanks
Matt J
Matt J on 25 Jun 2021
If it is a "new challenge", I think you should probably post it as a different question, with a more detailed description.
Meanwhile, if you consider this question answered, please do Accept-click it.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!