Loading... ## 2024-10-21 ### 科研 * [X] 与老师深入沟通审稿意见,确定改动的方向[优先级1] * [X] 阅读GMPB文章30%[优先级1] ### 工作 * [X] IOMS的手册写一部分[优先级2] ### 兴趣 * [X] SpringBoot的API自动生成showdoc文档的博客[优先级2] ### 生活 * [ ] 卷腹运动100个[优先级1] ### 总结   与李老师沟通了审稿意见,主要有以下三个方面: - 测试实际问题,李老师要我测试管网水污染源问题,但是那是一个混合编码,算法需要进行调整才能进行测试,我想着能不能另外找一个纯连续优化问题进行测试; - 测试GMPB问题,Danial的GMPB更加复杂,更能够反应实际问题中的各种情况; - 综述内容的重新撰写,要广聚经典,引经论据,比如TEVC中Danial的文章等,都可以很好的引用。   阅读了文章GMPB,没阅读完,它是一种通用的MPB问题发生器,能够创造出不规则的峰的形状。   IOMS的手册写完了UserController的接口文件,并撰写了博客《SpringBoot的API自动生成showdoc文档》,终于完成了这个任务,之后的文档慢慢再写。   美中不足的是没有完成卷腹运动,很不好,要坚持。晚上回去也存在问题,明明有任务没有做完,但是还是提不起劲去做,这很不好,一定要优先保证完成任务,再休息。 ---------- ## 2024-10-22 ### 科研 * [X] 阅读GMPB文章,做好笔记,同时参考EDOLAB中的代码,在OFEC中撰写GMPB代码。[优先级1] * [X] 阅读董凯峰老师那个问题,看是否能够当成实际连续问题进行求解,询问师兄师姐、老师的意见,定下来。[优先级1] ### 工作 * [X] 接杨老师,与杨老师进行学术交流[优先级3] ### 兴趣 无 ### 生活 * [X] 骑行20KM[优先级1] ### 总结   GMPB写了90%,还差一个旋转矩阵没有写完,OpenAI真强啊,现在大部分杂活他干就行了,真的很厉害!   定下来了,师兄说可以做,老师也说可以做,那就猛做吧。   卷腹又没做,但是骑行了20KM,卷腹从明天开始还是要每天都做。 ---------- ## 2024-10-23 ### 科研 * [X] 完成GMPB代码的撰写,并测试其有效性。[优先级1] * [X] 询问王启龙实验数据信息,并开始该实际问题的代码撰写。[优先级1] ### 工作 无 ### 兴趣 无 ### 生活 * [ ] 卷腹100个[优先级1] ### 总结   复现了GMPB问题,向Danial进行了确认,问题的行为与文章已经完全达成一致了。 ![1个组件,参数默认][1] ![10个组件,参数默认][2] ![10个组件,参数不规则][3]   尝试使用自己的算法解决GMPB问题时,遇到了瓶颈,我的算法关注问题的吸引域,但是当问题非常Roughness的时候,算法识别出大量的无用吸引域,会造成资源的大量浪费,此时会严重降低算法的可靠性。我需要重新认真的检查算法。   卷腹又没有做,回去就太累了,明天补上。 ---------- ## 2024-10-24 ### 科研 * [X] 检查算法的机制,并针对Roughness问题进行重写。[优先级1] ### 工作 无 ### 兴趣 无 ### 生活 * [ ] 卷腹100个[优先级1] ### 总结   根据GMPB检查了算法,更改了几个部分: * [X] 排斥机制:检查优化排斥机制,降低两个收敛种群排斥的概率。 * [X] 增加布朗运动与柯西运动的强度,加快算法应对动态变化时的反应速度。 * [X] 优化强化种群的生成策略,避免生成太多无用种群。 但算法还是有一点问题。 ---------- ## 2024-10-25 ### 科研 * [X] 检查算法的机制,确保能够进行实验。[优先级1] * [X] 检查了MPB和GMPB问题的变化部分,使得问题能够正确进行变化。[优先级1] * [ ] 实际问题的撰写。[优先级1] ### 工作 无 ### 兴趣 无 ### 生活 无 ### 总结   昨天碰到了一个严重影响算法性能的问题:在动态优化中,多样性的增强很重要,用于应对动态的变化,而当种群收敛时可以看作多样性的缺失。种群在收敛时(半径小于阈值)会被休眠,而触发多样性调整时会唤醒种群,我在此犯了个大错,我底层使用的是PSO,计算种群的半径用的是PSO的pbest到其中心点的距离的平均值,这就导致在种群唤醒时,虽然在其solut上做了布朗运动(扰动,增加其多样性),但由于其pbest基本不变,导致种群半径依旧不变,进而导致种群就算被唤醒,也会由于下一代的半径也符合收敛条件而被立刻休眠,导致根本无法应对环境的变化。所以,使用solut来计算半径,更加合理,当唤醒时,solut会被扰动,此时种群半径已无法再满足休眠条件,进而开始搜索,如若环境没有变化,则很快就会进入收敛状态,如若环境发生变化,亦可迅速响应,追踪新的全局最优解。   此外,还遇到了一个问题:在比较两个解的dominate的时候,发现有一个解居然objective.size()居然为0,初步想法是没有被评价,但不对啊,没有评价objective.size()也应该是1,只不过适应值为0,后来又想是不是构造的时候出问题了,翻来翻去,发现我也只用了一种构造函数,是一定构造了objective信息的,后来经过调试仔细观察,发现其使用了引用,而其引用的对象objective.size()居然是470,非常令人匪夷所思,询问了大师兄,发现问题是这个解变成了野指针,在某个地方释放了,因为使用的是引用,所以此处所引用的对象自然不存在了,我推断时m_his_sols与ssp.his_sols引用的是同一个份解,m_his_sols中解被removeoutdated之后,而恰巧ssp.his_sols中未被移出,所以才导致了这个问题,预想的解决办法第一种是对m_his_sols操作后,同时对所有的ssp中的his_sols进行更新;第二种就是确保对m_his_sols进行淘汰时,同步淘汰ssp.his_sols中的相应的个体,现在是通过评价时间控制的,淘汰m_his_soks中大于evaltime的粒子时,并未正确淘汰掉对应ssp中his_sols超过evaltime的粒子,导致了粒子消亡后,还存在ssp列表中,算法更新每个ssp列表中best solut时,索引到了这个已经被释放的个体,导致出问题。这只是分析,明天再看看具体什么情况。 总之算法有了长足的进步! ---------- ## 2024-10-26 ### 科研 * [X] 检查算法的机制,排除解被释放的错误。[优先级1] * [X] 实际问题的检查与准备。[优先级1] ### 工作 无 ### 兴趣 无 ### 生活 无 ### 总结   问题倒是解决了,但是算法的性能似乎还是有些问题,重写了计算PR的方法。   实际问题还没来得及写,先理顺了一遍:船舰在航行的过程中需要测量地磁场,但存在船舰磁场的干扰,包括:被地磁场磁化而产生的感应磁场、船舶本身带有的固定磁性、消磁绕组产生的干扰磁场。矢量传感器测量的是其所在位置的各种矢量合成磁场,其中包括了地磁场及上述的干扰磁场,用公式表达就是:$B_v=KAB_e+B_p+ηδB_v$,其中$B_v$是矢量传感器输出磁场,$K$ 表示感应磁场干扰系数矩阵,是地磁场与感应磁场在船舶坐标系上投影向量$AB_e$的干扰系数,$B_e$是3*1的地磁场向量,$B_p$是3*1的固定干扰向量,$ηδB_v$是消磁绕组电流干扰磁场。进一步变换为:$AB_e=K^{-1}IηδB_vK^{-1} B_P$,使用$B^'_P=-K^{-1} B_p$替代,可以得到地磁场在船舶坐标系上投影分量的求解公式:$AB_e=K'B_v+B'_P$。只要知道系数矩阵$K'$和$(B')_P$,结合矢量传感器的输出向量$B_v$直接可以计算出地磁场在船舶坐标系下的投影$AB_e$,实现磁干扰补偿。船舰消磁后,出海后会随着地磁场而不断磁化,所以$K'$和$B'_P$会随着时间的变化发生变化,可以模拟时间的变化,来求解不断变化的$K'$和$B'_P$,构成动态优化问题。优化的参数总共十二维,如下: ![$K'$与$(B')_P$][4] ---------- ## 2024-10-27 ### 科研 * [X] 两周小结 ### 工作 无 ### 兴趣 无 ### 生活 * [X] 休息一天,人民公园骑行 ### 总结   休息了一天,沿着人民公园骑行了20KM [1]: https://www.maisblog.cn/usr/uploads/2024/10/3483919460.png [2]: https://www.maisblog.cn/usr/uploads/2024/10/3043638645.png [3]: https://www.maisblog.cn/usr/uploads/2024/10/2810290893.png [4]: https://www.maisblog.cn/usr/uploads/2024/10/1055760066.png 最后修改:2024 年 10 月 28 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏