我最近刚开始在Matlab中阅读NSGA-II代码,不明白遗传算法中初始化状态下的决策变量设置数量有什么关系。它是与测试功能有关还是用于其他目的?
如果你能回答我的问题,我将不胜感激。
决策变量的数量与每个个体染色体中的基因数量有关。
假设您正在尝试优化函数f(x,y)
。那么你有两个决策变量,因此你的染色体将是R^d
,其中d=2。
知道决策变量的数量对遗传算法等元启发式算法至关重要,因为它的许多算子都依赖于它,例如,为了执行交叉,你需要知道染色体的大小(你的表示的大小(,这样你就可以迭代和创建子代,等等