0

我是 Watchmaker 框架的新手,有兴趣为 tsp 构建一个最基本的遗传算法求解器,以了解它的工作原理并进一步探索。我已经有一个城市的距离矩阵,其中每个元素都是行索引城市和列索引城市之间的距离(对角线元素将为零,因为它将是相同城市之间的距离)。我想生成几百个初始人口,计算适应度函数,取两个最好的,产生最小的适应度函数,产生孩子等等..(基本例程)

我的问题是,

我的距离矩阵是否足以作为初始人口提供?格式正确吗?我应该使用哪些对象来生成初始种群?

技术:运行 OpenJDK 1.7 的 Ubuntu 12.10 上的 Netbeans 7.4。计划在我的项目的库中添加jar文件。csv 格式的输入文件(距离矩阵)。现在,我只是好奇地想看看生成初始种群的输出。

我没有广泛使用 Java API,所以如果我问错了什么,请纠正我。

4

1 回答 1

0

API 大纲和您需要使用的主要类包含在用户指南的第 2 章中。示例中还包含针对旅行商问题的进化解决方案的源代码。如果您在浏览器中启用了 Java 插件,您也可以将此示例作为小程序运行。

在 Watchmaker 框架中,您的初始人口是由CandidateFactory接口的一个实例创建的。在上面的示例中,我使用 includeListPermutationFactory来生成初始人口,因为每个候选解决方案都表示为一个简单的城市列表。

只要您的适应度评估器(您必须自己编写)可以阅读并理解它,您的矩阵听起来就很好。在示例中,我只是对距离进行了硬编码(参见源代码)。

于 2014-02-13T11:17:48.880 回答