Open zypruc opened 3 years ago
两次遗忘之间需要的时间比单目标情形下慢很多很多
@zypruc 您好,NSGAII处理约束的方法见下文:K. Deb, A. Pratap, S. Agarwal and T. Meyarivan, "A fast and elitist multiobjective genetic algorithm: NSGA-II," in IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182-197, April 2002, doi: 10.1109/4235.996017.
内容截图:
请问那如何在程序里处理来提高不满足约束时速度呢?按理说我程序里单目标和双目标唯一区别就是多了一个目标函数,但不满足约束时迭代更快呢?
方法:玄学调参(比如调交叉、变异算子里的所有可调参数);换其他算法(比如换成NSGA3或者MOEA/D等);针对特定的问题设计在特定问题下效果更加好的改进算法(做到这一步可以发更好的paper了)。
请问一下,如何在生成个体的时候就给条件限制。比如我想选一个个体是从100个人名中选择20个人名,我如何在生成这个个体时候就保证这个个体包含的20个人名没有重复,而不是最后通过CV得出无可行解。感谢~
@bruce0715 使用排列编码。
您好, 使用NSGA2时,由于约束条件较为严苛以及变量维度过高,同时种群数量设置较小(以保证时间开销)。 较难找到可行解,想知道这种情况算法内部是怎么处理的,以及我应该在哪里改良/定制,以提高种群没有可行解情况下的速度。