MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   fmincon能否处理不可微的函数,例如abs函数 (https://www.labfans.com/bbs/showthread.php?t=2622)

ulu 2008-04-26 12:07

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

另外,不能用平方来等价,因为目标函数中除了abs外,还有别的,例如
f =2 * x(1) + 5*abs(x(2)) ;

fanxing39 2008-04-28 21:59

[QUOTE=ulu;9493]显然,如果在目标函数中使用了abs函数,目标函数将不可微,那么,能否使用fmincon来求最优呢?我用一个变参数的优化问题试了一下(fmincon默认选择中等规模算法——线搜索),有的时候可以成功出结果,有的时候fmincon看起来陷入死循环中。请问各位以下问题:
1、有没有办法使得fmincon...[/QUOTE]

:smile: 查相关算法,自己写,调用这个函数不行的话。或者设定x的取值范围,分开讨论,这样就可以把绝对值去掉了。 然后从分开讨论的结果中选择最小的值就可以了


所有时间均为北京时间。现在的时间是 12:36

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.