获取当前阶段的时间折叠求解器作业

问题描述 投票:0回答:1

据我所知,答案是否定的,但我还是会问。

我的目标是为我们的“调度用户”提供尽可能多的透明度。我有特定于领域的生命周期事件,并且希望包括求解器作业的当前状态。具体来说,除了 SOLVING_ACTIVE 之外的任何内容。了解工作是否处于 SOLVING_ACTIVE 并且 处于 CH 阶段 LS 阶段提供了一些背景信息,这对我的情况有很大帮助。有什么办法可以实现吗?

optaplanner timefold
1个回答
0
投票

我想不出直接的方法,但也许有间接的方法。

由于您已经知道求解器正在运行,因此您可以检索最佳分数。如果 CH 正在运行,则最佳分数只会将

init
分数设置为
0
以外的任何值。

如果出于某种原因您无法直接检索分数,您将能够检索最佳解决方案,并且该解决方案将具有分数或一些未初始化的实体。

如果您甚至无法获得最佳解决方案,则意味着还没有最佳解决方案,这肯定表明求解器还处于运行的非常非常早期的阶段。最后一项可能是唯一可以使用纯公共 API 实现的一项。

我们还提供了一大堆指标,让您可以监控求解器的运行时间。例如,当前的分数计算速度可用于显示活跃度。

© www.soinside.com 2019 - 2024. All rights reserved.