MATLAB做非线性约束优化时,怎么老显示这个啊?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/03 10:42:01
MATLAB做非线性约束优化时,怎么老显示这个啊?
Warning:Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).对结果有什么影响?由于初学,
Warning:Large-scale (trust region) method does not currently solve this type of problem,
switching to medium-scale (line search).对结果有什么影响?由于初学,
你用的是fmincon函数吧?
FMINCON函数虽然是可以解决非线性约束的问题的,但是它要求目标函数和约束函数都必须是连续的,梯度也是连续的,而且该函数是根据你给的初始值来进行梯度步长收敛的,只能收索到局部最优解.
如果你给的初始值是个不可行解就很难收敛到最优解,最终出现的情况就是函数根本就不管你的上下限而给出的一个值.
解决办法:利用while,利用随机搜索的方法,找到一个可行的初始解.当然这样就有一个问题.即使搜索到解,也是局限于随机搜索到的初值的解.因此当你搜索不到好的解时,建议放弃使用这个函数.
利用FGOALATTAIN函数
这个函数相对较好,但也存在和FMINCON类似的问题
采用遗传算法
这里就有必要提一下,利用他人写的工具箱始终不灵活.MATLAB自带的和设菲尔德大学的遗传算法工具箱,有时并不能满足自己的需要,相关问题我已发过帖子.这里就不说了.
试验证明,利用设菲尔德大学的工具箱再自行改进下,可以很好的处理问题.
希望可以解决你的问题.
FMINCON函数虽然是可以解决非线性约束的问题的,但是它要求目标函数和约束函数都必须是连续的,梯度也是连续的,而且该函数是根据你给的初始值来进行梯度步长收敛的,只能收索到局部最优解.
如果你给的初始值是个不可行解就很难收敛到最优解,最终出现的情况就是函数根本就不管你的上下限而给出的一个值.
解决办法:利用while,利用随机搜索的方法,找到一个可行的初始解.当然这样就有一个问题.即使搜索到解,也是局限于随机搜索到的初值的解.因此当你搜索不到好的解时,建议放弃使用这个函数.
利用FGOALATTAIN函数
这个函数相对较好,但也存在和FMINCON类似的问题
采用遗传算法
这里就有必要提一下,利用他人写的工具箱始终不灵活.MATLAB自带的和设菲尔德大学的遗传算法工具箱,有时并不能满足自己的需要,相关问题我已发过帖子.这里就不说了.
试验证明,利用设菲尔德大学的工具箱再自行改进下,可以很好的处理问题.
希望可以解决你的问题.
MATLAB做非线性约束优化时,怎么老显示这个啊?
急!matlab 如何完成非线性约束优化
非线性约束优化 目标函数和约束函数 在matlab中出错
matlab fmincon 非线性优化
matlab约束优化问题
用matlab求解一个优化问题(目标函数非线性,约束函数线性)
matlab优化约束matlab优化的约束,有等式约束,不等式约束;x+8
matlab 有约束非线性 x0是几啊?
matlab解决约束非线性规划问题
如何用Matlab求有限制条件的目标函数的最小值求解一个优化问题(目标函数非线性,约束函数线性)?
求解约束非线性规划中使用MATLAB时为什么要设定初始值X0?
matlab解带不等式约束的非线性方程组.