用matlab的optimization工具箱遗传算法,添加约束条件的问题。
优化一个很函数(函数很复杂,包含加减乘除,正弦余弦,反正弦反余弦反正切。。。),现在需要添加约束条件,(条件有四个,表达式也比较复杂),请问怎么添加条件,工具箱对话框似乎...
优化一个很函数(函数很复杂,包含加减乘除,正弦余弦,反正弦反余弦反正切。。。),现在需要添加约束条件,(条件有四个,表达式也比较复杂),请问怎么添加条件,工具箱对话框似乎没法把我的约束条件添加进去?
另外,我这个优化问题用遗传算法能解决吗,给个建议 展开
另外,我这个优化问题用遗传算法能解决吗,给个建议 展开
1个回答
展开全部
你看到下边那个nonlinear constraint function了吗?
把你的约束写在一个m文件的function中,函数名比如取为:xconstr
则将@xconstr写到nonlinear constraint function后面的框里,应该就可以了。线性约束的话直接写在上方的栏目中。
你的优化问题没看到,用遗传算法求解一般没有问题。这种智能优化算法的最大优点在于求解多局部解优化问题时能得到全局性较好的最有解。如果你不考解的全局最优性的话,可以直接使用fmincon函数来求解。关于fmincon函数,可以在matlab命令行中输入 doc fmincon命令以查看帮助。
把你的约束写在一个m文件的function中,函数名比如取为:xconstr
则将@xconstr写到nonlinear constraint function后面的框里,应该就可以了。线性约束的话直接写在上方的栏目中。
你的优化问题没看到,用遗传算法求解一般没有问题。这种智能优化算法的最大优点在于求解多局部解优化问题时能得到全局性较好的最有解。如果你不考解的全局最优性的话,可以直接使用fmincon函数来求解。关于fmincon函数,可以在matlab命令行中输入 doc fmincon命令以查看帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询