![]() |
fmincon能否处理不可微的函数,例如abs函数
显然,如果在目标函数中使用了abs函数,目标函数将不可微,那么,能否使用fmincon来求最优呢?我用一个变参数的优化问题试了一下(fmincon默认选择中等规模算法——线搜索),有的时候可以成功出结果,有的时候fmincon看起来陷入死循环中。请问各位以下问题:
1、有没有办法使得fmincon不陷入死循环? 2、如果陷入了死循环,有没有办法跳出死循环,并继续运行?(人工的ctrl+c不行,这会使程序整个中断,白算了) 另外,不能用平方来等价,因为目标函数中除了abs外,还有别的,例如 f =2 * x(1) + 5*abs(x(2)) ; |
[QUOTE=ulu;9493]显然,如果在目标函数中使用了abs函数,目标函数将不可微,那么,能否使用fmincon来求最优呢?我用一个变参数的优化问题试了一下(fmincon默认选择中等规模算法——线搜索),有的时候可以成功出结果,有的时候fmincon看起来陷入死循环中。请问各位以下问题:
1、有没有办法使得fmincon...[/QUOTE] :smile: 查相关算法,自己写,调用这个函数不行的话。或者设定x的取值范围,分开讨论,这样就可以把绝对值去掉了。 然后从分开讨论的结果中选择最小的值就可以了 |
所有时间均为北京时间。现在的时间是 06:35。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.