【发布时间】:2015-06-13 11:07:16
【问题描述】:
我仍在使用 OptaPlanner(6.2 版)来优化类似于 VehicleRoutingExample 的链式规划问题。我的计划实体有一个计划变量,它是另一个计划实体。分数是 HardSoftScores,使用 IncrementalScore 计算。
(构造启发式)的构造时间太长。目前它需要大约 15 分钟来初始化 1800 个实体的解决方案。平均计算计数超过每秒 1000 次,所以问题应该不是分数计算。
我已经用基准测试器尝试了不同的配置,但没有太大的不同。
这是我的基准求解器配置:
<solver>
<solutionClass>...Solution</solutionClass>
<entityClass>>...Standstill</entityClass>
<entityClass>...DriveJob</entityClass>
<scoreDirectorFactory>
<scoreDefinitionType>HARD_SOFT</scoreDefinitionType>
<incrementalScoreCalculatorClass>...IncrementalScoreCalculator</incrementalScoreCalculatorClass>
<initializingScoreTrend>ONLY_DOWN</initializingScoreTrend>
</scoreDirectorFactory>
<constructionHeuristic>
<constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
</constructionHeuristic>
<localSearch>
<termination>
<unimprovedStepCountLimit>100</unimprovedStepCountLimit>
</termination>
<acceptor>
<entityTabuSize>5</entityTabuSize>
<simulatedAnnealingStartingTemperature>1hard/1000soft</simulatedAnnealingStartingTemperature>
</acceptor>
<forager>
<acceptedCountLimit>4</acceptedCountLimit>
</forager>
</localSearch>
</solver>
我可以做些什么来减少构建启发式 (CH) 时间?
为 CH 和本地搜索阶段配置选择器是否有意义?
或者我的 POJO 类/域描述有问题吗?
如果需要任何其他信息,我会提供。
【问题讨论】:
标签: java optimization drools heuristics optaplanner