我正在使用 Python 为 12 个部门的二次分配问题编写一个简单的 GA 代码。我的解决方案(染色体)是一个列表,其中值代表部门编号,索引代表位置。在交叉期间,我使用 (item in list) 来查看某个部门是否已经存在于后代中,以避免重复。该代码需要很长时间才能运行,我猜这是因为(列表中的项目)查找时间。我怎样才能加快这个过程?我知道我无法将列表转换为集合,因为我需要保留部门的顺序!有任何想法吗?
我正在使用 Python 为 12 个部门的二次分配问题编写一个简单的 GA 代码。我的解决方案(染色体)是一个列表,其中值代表部门编号,索引代表位置。在交叉期间,我使用 (item in list) 来查看某个部门是否已经存在于后代中,以避免重复。该代码需要很长时间才能运行,我猜这是因为(列表中的项目)查找时间。我怎样才能加快这个过程?我知道我无法将列表转换为集合,因为我需要保留部门的顺序!有任何想法吗?