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