问题标签 [crossover]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
119 浏览

java - 如何优化我的遗传算法结果

我已经为具有时间窗口问题的多站点车辆路径问题编写了遗传算法,它运行良好,但结果还不够好。我正在将我的结果与 Solomon bench Marks 进行比较,他的所有实例的结果都低于我的。

我使用 Best Cost Route Crossover BCRC 方法进行交叉,我的染色体是所有客户的向量。

您能否建议我应该采取的任何技术或方法来优化我的 GA 结果。

谢谢您最好的问候。

0 投票
1 回答
679 浏览

arrays - 随机混合两个 Numpy 数组

这是我关于 Stack Overflow 的第一个问题,请耐心等待。假设我有两个相同形状的数组,X并且Y

我想创建一个mix_arrays(X, Y)将数组随机混合在一起的函数,如下所示:

这是它可以返回的内容:

基本上,对于 中的每个元素new_array,该元素有 50% 的机会来自array_0,并且有 50% 的机会来自array_1

我确定这个问题已经存在,但我在堆栈溢出时找不到它。提前感谢您的宝贵时间!

0 投票
2 回答
42 浏览

python - 这两个代码应该做完全一样的事情,但是第一个没有像我预期的那样工作

Python

请解释为什么这两个代码的工作方式不同。实际上我正在尝试制作一种人工智能,在最初的几代人中,人们会朝着随机的方向前进。为了保持代码简单,我自己在Brain中提供了一些随机方向

有一个为个人提供大脑的个人课程。它还有一个功能,可以返回与父母具有完全相同大脑(意味着进入相同方向)的孩子。

我有两个代码:

第一:当父母的某些方向改变时,孩子也会改变同样的事情(或者如果孩子改变了,父母也会改变)这是我不希望发生的。

第二:这个不完全是我的(这就是为什么我真的不知道它为什么起作用)但它工作得很好。父母改变的某些方向在孩子身上没有改变,反之亦然。

请有人解释我的区别以及为什么第一个不起作用。我真的很感激你的回答。


第一:

[ [5, 2], [5, 3], [7, 4], [1, 5] ]

[ [5, 2], [5, 3], [7, 4], [1, 5] ]



第二个:

[ [5, 2], [5, 3], [7, 4], [1, 5] ]

[ [1, 2], [5, 3], [7, 4], [1, 5] ]

0 投票
0 回答
685 浏览

python-3.x - EA:Python 中列表列表的自定义交叉

谁能向我解释一下如何在列表列表上执行自定义交叉?假设我有这样的候选人:

我知道如何为单个列表进行交叉。但是实际上如何为列表列表执行此操作?

以下是单个列表的交叉方法:

以上来自基于 Python 的 inpyred 库。我正在尝试为车辆路线问题制定一个算法,其中上述列表是建议解决方案的一个示例。

0 投票
1 回答
195 浏览

python - 如何使用networkx在两个图之间执行树交叉?

我想使用以下步骤在两个图之间执行树交叉:

  1. 在每个图中选择一个节点,选择的节点必须具有相同的类型,即节点是同一类的对象。
  2. 交换以选定的两个节点为根的两个子图。每个子图必须插入另一个子图的相同位置。

交叉

我曾经ego_graph从两个图中的每一个中提取子图,但我不知道如何在两个图之间交换两个提取的子图。

0 投票
4 回答
875 浏览

java - 如何使用两个整数数组进行“交叉”

我正在尝试学习遗传算法,目前正在研究“交叉”两个“基因”。基因是一个整数数组,由 1 和 0 组成。为了举例说明我的问题,假设我们有两个基因。

交叉的预期结果,例如在位置 3 将是:

这意味着索引为 3 或以上的每个元素都将与另一个基因的等效元素交换。为此,我编写了以下方法:

然而,似乎geneB 的元素只是简单地以3 或更高的索引复制到geneA 中。控制台输出如下:

非常感谢任何解释或帮助。提前致谢!

0 投票
2 回答
287 浏览

javascript - 尝试使用第一个数组的子集“交叉”两个数组并在可能的情况下保持第二个数组的顺序

我正在尝试使用以下过程从两个父数组(交叉)生成一个新的子数组。

我定义的交叉规则是:

  1. 从中提取一个连续的子集,parentArr1并将其插入到一个新childArr的子集的相同位置。
  2. childArr用来自子集的元素填充其余位置并保持子集周围parentArr2元素的顺序。parentArr2
  3. 不应该有重复。

这是另一个例子:

我有很多失败的尝试来做到这一点。这是最接近的尝试。

0 投票
1 回答
2933 浏览

python - 如何在 python3 中执行部分映射交叉?

我是遗传算法的新手,前几天做了一个重新创建目标字符串的算法。所以我试着做一个可以做一个魔方的。没关系,直到我进入交叉部分,意识到我不能只做一个单点交叉。所以我尝试执行部分映射的交叉,但我不能也仍然不能让它工作。我了解部分映射的交叉是如何工作的,我只是无法将它实现到 python 中。由于我的代码尚未完成,我将交叉函数隔离在不同的程序中并对其进行了更改,因此父母是一个固定列表。

有人可以更正我的代码,或者如果它完全错误,请告诉我如何在整数 1 到 9 的 2 个列表上执行部分映射交叉?另外,我很抱歉并理解我对变量的命名不是那么好,但我只是想让程序能够进行不断的编辑。

0 投票
2 回答
451 浏览

angular - 由于在 Angular 6 中找不到标头而导致的 CrossOrigin 错误

我在 Angular 端有一个Access-Control-Allow-Origin标头错误问题。我正在创建一个contact us页面,一旦被用户填满,它将使用 REST API 和 CrossOrigin 调用 Spring Boot。

这是一个反复出现的问题。我尝试使用谷歌搜索并使用我的代码中可用的解决方案。然而问题并没有解决。我应该怎么做才能解决这个问题?下面是我的代码:

联系我们.component.html

联系我们.component.ts

联系我们.service.ts

联系我们信息.ts

ContactUsController.java

来自角度 6 的错误

在此处输入图像描述

0 投票
1 回答
800 浏览

numpy - 使用 Numpy 的多点交叉

我正在尝试使用 numpy 对遗传算法群体进行交叉。我已经使用父 1 和父 2 对人口进行了切片。

但我无法找出任何 lambda 或 numpy 命令来对父母进行多点交叉。这个概念是ith row of p1用.随机交换一些位ith row of p2