作业帮 > 综合 > 作业

用粒子群算法求解线性约束整数规划的Matlab程序

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 18:08:55
用粒子群算法求解线性约束整数规划的Matlab程序
想找一个来参考下.比如像这样的规划问题.
对粒子群的约束问题涉及的比较少.这儿摘抄下百度百科的内容:
(1)罚函数法.罚函数的目的是将约束优化问题转化成无约束优化问题.
(2)将粒子群的搜索范围都限制在条件约束簇内,即在可行解范围内寻优.
第一种方法有相关论文,看了下,感觉比较适合等式约束情况,比较类似于在适应度函数中加入拉格朗日乘子的做法,如果论文下不到的话,请留言.
第二种做法倒是用过.大概讲下.
针对你的问题,初始化两维向量,但是由于存在不等式约束,所以考虑先初始化向量的第一维,然后动态算出第二维的范围,随机出第二维变量.然后就是计算适应度值,全局、局部最优.
更新过程一样,先更新第一维变量,然后动态计算第二维的范围,更新第二维,如果更新后超过了边界,则取边界值(或者也可以再次重新更新,直到满足条件,直觉上感觉第一种还好点,第二种可能会出现无法更新的情况),更新完毕后,计算适应度,更新全局、局部最优解.
补充两个链接吧
论文:基于改进粒子群优化算法的约束多目标优化
再问: 谢谢你耐心的回答,算法我是了解的。但是到具体的程序实现,我实在做不出结果。就是想求一个类似的程序研究,不知道你能帮我找到不,财富我可以再加。谢谢
再答: 程序我没有啊,你可以看看csdn的链接,另外,关于第二个方法,你只需要编写一个关于x1 求解x2范围的函数就可以了,这个很简单吧
再问: 唉,程序难了,怎么写都不对。我会认真考虑你的想法,等有结果了,再来答复。