查看单个帖子
旧 2008-04-26, 12:07   #1
ulu
初级会员
 
注册日期: 2008-04-26
年龄: 43
帖子: 1
声望力: 0
ulu 正向着好的方向发展
默认 fmincon能否处理不可微的函数,例如abs函数

显然,如果在目标函数中使用了abs函数,目标函数将不可微,那么,能否使用fmincon来求最优呢?我用一个变参数的优化问题试了一下(fmincon默认选择中等规模算法——线搜索),有的时候可以成功出结果,有的时候fmincon看起来陷入死循环中。请问各位以下问题:
1、有没有办法使得fmincon不陷入死循环?
2、如果陷入了死循环,有没有办法跳出死循环,并继续运行?(人工的ctrl+c不行,这会使程序整个中断,白算了)

另外,不能用平方来等价,因为目标函数中除了abs外,还有别的,例如
f =2 * x(1) + 5*abs(x(2)) ;
ulu 当前离线   回复时引用此帖