如何在经过T秒的经过时间后停止fmincon?

时间:2017-07-06 15:58:10

标签: matlab optimization

我正在为{g}运行fmincon。对于网格中的某些点,没有解决方案exit flag=-2,并且有时需要半小时才能返回标志并开始网格中的下一个点。然而,对于其他方面,答案在不到一分钟的时间内揭晓。   所以我认为减少不必要的运行时间的一种可能的解决方案是根据网格中每个点的经过时间来定义停止标准。换句话说,如何在经过fmincon的经过时间后停止T sec

1 个答案:

答案 0 :(得分:1)

您可以使用output function

tic
fmincon(.....,optimset('OutputFcn',@outfun,'MaxFunEval',20000))

outfun.m:

function stop = outfun(x,optimValues,state)
stop = toc>T;