optimization cannot continue due to the evaluation function fail tocalculate the objectionfunction value,because fsolve can't converge using the variables given by multistat

1 view (last 30 days)
I run a optimization process using the solver like multistart, globalsearch or simply using fmincon. The problem is that the evaluation function cannot calculate the value of the objection function using the optimization variables given by the multistart solver sometimes. Then the multistart solver cannot keep solving the problem until the fsolve in the evaluation function exceeds its Maxiteration. It will be a long time to wait. So I have to stop the whole optimization process everytime I face this problem. Besides, since the start points of the multistart are randomly choosen in the domain, I may lose the best optimization variables output by the multistart as I have to stop the optimization facing the problem mentioned above. Can anyone teach me how to fix the problem?
  3 Comments
Torsten
Torsten on 1 Mar 2024
Can anyone teach me how to fix the problem?
I'd try to find the reason why the objective cannot be evaluated and avoid such parameter constellations.
chakwai
chakwai on 4 Mar 2024
Edited: chakwai on 4 Mar 2024
Thank you for your kind answer. The objective function is a function that evluates a mean error of a physical quantity like stress, energy, or external force of a flexible beam. And the profile of the beam is parameterized by the variables given by the optimize solver. So the objective cannot be evaluated when the beam with such profile cannot be modeled to obtian its physical quantities at certain conditions. And there are mountains of the variables that could induce the beam to face this problem. I can avoid a part of the variables through adding a additional nonlinear constraint in the optimize solver but I cannot avoid all of the variables which could induce the problem.

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!