遗传算法优化问题中,有关线性约束(非线性约束)怎么在程序中实现?
遗传算法优化问题中,有关线性约束(非线性约束)怎么在程序中实现?如:minf(x)=2*x1^2+10*(x2-x1)-3*x3-x4s.t.0<x1,x2,x3,x4<...
遗传算法优化问题中,有关线性约束(非线性约束)怎么在程序中实现?
如:minf(x)=2*x1^2+10*(x2-x1)-3*x3-x4
s.t. 0<x1,x2,x3,x4<10
x1+x2<4
x1^2+x3<12
x1+x2+x3+x4<100这个问题如何采用SGA编程优化呢?
小弟已钻研多时,使用gatool可以求解。但是现在需要编程序实现这一目标,望高人指点。
万分感谢!!! 展开
如:minf(x)=2*x1^2+10*(x2-x1)-3*x3-x4
s.t. 0<x1,x2,x3,x4<10
x1+x2<4
x1^2+x3<12
x1+x2+x3+x4<100这个问题如何采用SGA编程优化呢?
小弟已钻研多时,使用gatool可以求解。但是现在需要编程序实现这一目标,望高人指点。
万分感谢!!! 展开
1个回答
展开全部
优化问题中解决约束一般采用罚函数的方法,这样的论文很多,找一篇看看就知道怎么了。大致意思是,要是某个个体离约束很近,或者就在约束上(满足某个约束条件),那算法就“惩罚”他一下,惩罚的措施多样,可以让这个个体参数全部重置,也可以让这个个体等于某个极限值。
其他的约束方法大同小异。
其他的约束方法大同小异。
追问
能结合我的例子具体点吗,我也看见过用惩罚函数法解决约束问题的
追答
经典的罚函数是y = - 1/u(x),你可以代入试试,一旦靠近边界,函数值就会变得很大,自然不会被下一代选中(默认求最小值),越靠近边界,其他的还有很多,你可以查下文献。
拉索生物
2024-11-08 广告
2024-11-08 广告
苏州拉索生物芯片科技有限公司是国内首家实现高密度固相基因芯片自主研发、生产和商业化的企业,可提供包含芯片(可定制)、扫描设备、试剂、专业算法及配套软件在内的一体化固相基因芯片解决方案。...
点击进入详情页
本回答由拉索生物提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询