Crash of a single case terminates the whole optimization process

4 visualizaciones (últimos 30 días)
Hello all,
We want to couple an in-house flow solver with an in-house optimization code, both written in Matlab as m-files (both have many subroutines and a main function). This is to optimize some geometric parameters.
Once a single flow solution case is crashed (e.g. in one of solver subroutines), the whole optimization process is crashed (the main flow solver m-file is defined as a function in the main optimization m-file).
Our aim is to continue the flow solution cases after one case is crashed (e.g. due to NaN error, etc.).
Is there a way to accomplish this without adding complex and numerous controls to the solver code? (e.g. to terminate the main solver m-file without terminating the main optimization m-file).
By the way crashes occur in the subroutines of the flow solver, not in the main flow solver m-file.
Best Regards,
Sercan

Respuesta aceptada

A Jenkins
A Jenkins el 9 de Feb. de 2015
You can use a try block around your code.
for idx=1:n
try
solver_that_might_crash(idx)
catch
disp('warning, case failed, moving on...')
end
end

Más respuestas (0)

Categorías

Más información sobre Mathematics and Optimization en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by