前言
强烈建议先看看笔记二
参考资料
jmetal4.5.userManual.pdf
jMetal/jMetalDocumentation
Alberto-00/EasyPass-AI
jMetal 使用教程(一)
jMetal 使用教程(二)
A fast and elitist multiobjective genetic algorithm
遗传算法之NSGA-Ⅱ原理分析和代码解读
使用NSGAii解决疫情上课问题
实际问题分析
这个项目来自于Alberto-00/EasyPass-AI,为了在大学中应用政府在健康紧急情况下实施的抗新冠肺炎规则,学生在上课时的就坐位置需要有所调整,主要满足下面条件:
目标1.假设学生与学生的就坐位置不能相邻,就是说,不能坐到左右旁边和前后座,但是对角位置可以
目标2.学生就坐位置上课体验好,就是说要尽量分布在前,中的位置
约束条件:除了指示每个变量的上限和下限外,还施加了另一个约束,以防止算法将学生放置在已分配给其他人的位置(换句话说,不能在同一个个体中生成两个相同的基因)。
由于可以得到两个目标函数:
由目标1得到的最小冲突函数,就是相邻为冲突,期望是冲突最少
由目标2得到的最大得分函数,坐在好位置得分高,期望是总体得分最高
决策变量的维度就是来上课的学生数量