crossover

    1热度

    1回答

    例如,我们有这样的问题: 最大化函数f(X)= X^2,其中0≤X≤31 使用二进制编码,我们可以用5位表示的个体。在选择方法之后,我们找到遗传算子。 对于这个问题(或任何优化问题),有什么优点和以下的缺点: 高或低跨越速度 使用1点交叉 采用多点交叉 使用均匀交叉 这就是我想出迄今: 高交叉率和多点交叉可以减少父母有良好的体能素质,并产生更糟糕的后代 低交叉率意味着该解决方案将需要更长的时间来收

    1热度

    2回答

    在工作订单追踪中,有一个字段“LEAD”,它将显示潜在客户的ID。 在我们的要求中,我们必须显示Leadname和Lead ID。 因此,我在Workorder中为Leadname创建了一个新字段,并在Wordorder和Person之间使用了一个新的关系的交叉域。关系where子句是personid =:导致 交叉域复制PERSON对象的Displayname属性中Leadname的值,并且在我

    1热度

    1回答

    我遵循遗传算法的方法来解决背包问题here。我知道他们使用直接值编码方案而不是二进制表示法。交叉功能如下: def cxSet(ind1, ind2): """Apply a crossover operation on input sets. The first child is the intersection of the two sets, the second child is th

    2热度

    1回答

    我正在使用GA Package来最小化函数。以下是我已实施的几个阶段。 0库和数据集 library(clusterSim) ## for index.DB() library(GA) ## for ga() data("data_ratio") dataset2 <- data_ratio set.seed(555) 1.二进制编码,并生成初始种群。 initial_popu

    2热度

    1回答

    遗传算法中有一个阶段,我们应该选择交叉染色体从父母到后代。 通过二进制形式很容易做到。 但是如果我们使用值编码来编码染色体该怎么办?假设我染色体中的一个位是DOUBLE类型的值,比如0.99,它的范围是(0-1),因为它代表了一个概率。 如何交叉此DOUBLE号码? 转换为二进制交叉然后转换回来...?

    0热度

    1回答

    我有两个阵列(矩阵与一个行)temp1和temp2如下: temp1=[1 2 3 4 5 6 7 8 9] temp2=[10 11 12 13 14 15 16 17 18] 和我有一个索引pn=3。我需要输出如下: tempNew=[1 2 3 13 14 15 16 17 18] 即如何创建tempNew使得在指数高达pn所有值来自temp1和超越指数pn所有值来自temp2?

    1热度

    1回答

    我一直在重新编码,优化和解码遗传算法。我第一次尝试的是有序交叉的旅行推销员,这很有效。我发现一篇文章试图优化更复杂的基因组,同时优化2d包装问题。 作者用有意义的反向波兰符号来编码问题。它使用部件和V或H作为操作者的组合。 即34H5V 与具有被解析为这是我的最终布局一个堆叠元件堆栈进行解码。也就是说,直到某个点的操作员数量必须比直到同一点的部件数量少1个。作者然后说,他使用交叉混合交叉,对操作员

    0热度

    1回答

    我的问题是如何执行交叉并避免重复? 考虑p1 = {1, 2, 5, 6, 3, 4}和p2 = {2, 6, 5, 4, 1, 3} 一个交叉的是res = {1, 2, 5 , 6, 1 ,3} 正如你看到有一个重复... 我们能否避免呢? 这里是我的代码 private static Chromosome crossover(Chromosome chromosome1, Chromosom

    2热度

    1回答

    我有一个问题,我想根据一些适应度函数使用遗传算法搜索3D空间中的最佳位置。因为我正在寻找一个位置,所以我的染色体由3个浮点数表示。目前,交叉是通过从一个父母中取出1或2个数字并将剩余的数字从另一个父母中取出来完成的。 当像这样交叉时,下一代将只包含与起始群体中染色体具有相似X,Y或Z坐标的位置。因此,没有太多的变化是可能的。我的问题是,如果最好通过对我的染色体使用另一种表示法(例如位)来解决这个问

    1热度

    1回答

    我正在构建一个项目,其主要目标是使用6个给定数字和主要操作符(+, - ,*,/)来查找给定数字(如果可能,否则最接近可能)。想法是用反向波兰语(后缀)表示法随机生成表达式,使用给定的数字和操作符,因为我发现它是最容易生成和计算的。这些表达式是我的遗传算法的种群中的个体。这些表达式具有Java中Strings的ArrayList形式,其中Strings既是运算符也是操作数(给出的数字)。 这里的主