ZKX's LAB

如果matlab 优化当中, 目标函数 和 约束条件都很复杂,没有办法直接用x 表示出来,该怎么处理? 约束优化方法随机方向法maltab

2020-10-10知识11

用matlab做遗传算法解决优化问题时候的约束处理 对于类似a+b+c+d+e=1的约束,只能是尽量随机又均匀地生成若干点,作为初始,来探索这个五维空间。对于a至d采用随机生成的方式,e的值用1去减,如此可保证约束成立。同时生成a至d的方式要尽量合理,以保证e的期望值和分布状态合理。

如果matlab 优化当中, 目标函数 和 约束条件都很复杂,没有办法直接用x 表示出来,该怎么处理? 约束优化方法随机方向法maltab

如果matlab 优化当中, 目标函数 和 约束条件都很复杂,没有办法直接用x 表示出来,该怎么处理?

如果matlab 优化当中, 目标函数 和 约束条件都很复杂,没有办法直接用x 表示出来,该怎么处理? 约束优化方法随机方向法maltab

MATLAB做非线性约束优化时,怎么老显示这个啊? 你用的是fmincon函数吧?FMINCON函数虽然是可以解决非线性约束的问题的,但是它要求目标函数和约束函数都必须是连续的,梯度也是连续的,而且该函数是根据你给的初始值来进行梯度步长收敛的,只能收索到局部最优解。如果你给的初始值是个不可行解就很难收敛到最优解,最终出现的情况就是函数根本就不管你的上下限而给出的一个值。解决办法:利用while,利用随机搜索的方法,找到一个可行的初始解。当然这样就有一个问题。即使搜索到解,也是局限于随机搜索到的初值的解。因此当你搜索不到好的解时,建议放弃使用这个函数。利用FGOALATTAIN函数这个函数相对较好,但也存在和FMINCON类似的问题采用遗传算法这里就有必要提一下,利用他人写的工具箱始终不灵活。MATLAB自带的和设菲尔德大学的遗传算法工具箱,有时并不能满足自己的需要,相关问题我已发过帖子。这里就不说了。试验证明,利用设菲尔德大学的工具箱再自行改进下,可以很好的处理问题。希望可以解决你的问题。

如果matlab 优化当中, 目标函数 和 约束条件都很复杂,没有办法直接用x 表示出来,该怎么处理? 约束优化方法随机方向法maltab

#matlab函数#最优化方法#matlab矩阵#matlab

随机阅读

qrcode
访问手机版