我们是否需要读取XML文件才能获得有关Optaplanner解决方案的有用信息?

时间:2014-03-12 01:32:58

标签: optaplanner

我一直关注Optaplanner输出的几个问题,包括N Queens,TSP和Project Job Planning。 TSP和项目工作计划的问题陈述似乎是易于理解的文本文件。 Optaplanner生成的解决方案似乎总是采用非常长,有点模糊的XML文件的形式。

虽然我稍微使用了XML,但我通常使用很容易理解的非常短的XML文件。例如,Apache Hadoop使用一些非常容易理解的小型XML文件。 Optaplanner XML似乎比Apache XML复杂得多。

我认为该产品的大多数用户不会手动解析每个XML输出。可能他们中的许多人使用一些定制的XML阅读程序。

Optaplanner文档似乎没有包含有关如何读取XML输出的任何提示。用户是否应该弄清楚XML只是在看它,或者我没有阅读一些文档来解释如何解释输出?

2 个答案:

答案 0 :(得分:2)

OptaPlanner本身不需要XML输入或输出:它适用于普通的旧java类来表示数据集。

在optaplanner-examples(和optaplanner-webexamples)中,我们选择通过XML文件保存数据集,但我们也可能选择了TXT文件,关系数据库或hadoop集群。这些XML文件很冗长,因为它们是java类的XStream镜像(因此没有特殊的映射)。

许多optaplanner示例都是基于官方研究竞赛,它们有自己的数据格式(通常是TXT)。这些往往不那么冗长。您可以在导入/导出文件夹中找到它们。 Importer和Exporter类将这样的TXT文件转换为java类。另请查看ProblemIO实现。

Read more about this in the manual in the new chapter for 6.1.0.Beta1 (although older versions behave the same way).

integration overview

答案 1 :(得分:1)

首先请注意,我不是一个熟练的程序员。

尽管如此,我还是使用了Employee Rostering的导出文件并使用了+ -50 Python行(8小时编程)写了一个创建的转换脚本 a:员工ID与日期的(2D)矩阵,Shift类型为值。

如果这种转换可以成为标准的一部分,那将是很好的 可下载的例子,因为这是一个gazilion人正在寻找的!

如果最重要的话,我认为输入可以更容易接口 Optaplanner可以在那里赢得很多地形!

ps我愿意帮助开发这样的In-&输出工具。

pps我确实需要研究Java内存问题(我的问题有:90天, 12名员工,2个技能,3个合同,8个模式,<50个请求)。