当前位置: 首页 > 知识库问答 >
问题:

optaplanner有没有办法将上次的最佳解延续到下一次计算

胡元忠
2023-03-14

例如:有10个位置和10个带序号的球。球的颜色可以是白色、黑色或红色。在这一点上,你需要将10个球排成10个位置。要求白球必须堆在一起。白球的范围为4到6;这里的位置是规划实体,球是规划变量。这里我们需要计算有多少个连续的白球。约束流目前只支持4个基,因此只能以groupBy和toList的形式进行判断

共有1个答案

梁丘霖
2023-03-14

目前,您不能作为一个单一的求解器来实现这一点,但是您应该能够通过一个接一个地运行两个求解器(使用不同的SolverConfig)来实现这一点。例如,BasicConstraintProvider具有硬约束,而FullConstraintProvider扩展了基本约束并添加了软约束。

也就是说,我会首先投入时间来提高分数计算速度(参见信息日志或基准报告),以避免这些变通方法。这个数字应该在1万以上。

另外,first_fessible_fit可能很值得一看。

 类似资料:
  • 问题内容: 在Python解释器中执行了这些指令后,将获得一个带有绘图的窗口: 不幸的是,当程序进行进一步的计算时,我不知道如何继续以交互方式探索创建的图形。 有可能吗?有时计算很长,如果可以在检查中间结果时进行计算,则将有所帮助。 问题答案: 使用不会阻塞的呼叫: 使用: 使用交互模式:

  • 问题内容: 在Python解释器中执行以下指令后,将获得一个带有绘图的窗口: 不幸的是,当程序进行进一步的计算时,我不知道如何继续以交互方式探索创建的图形。 有可能吗?有时计算很长,如果可以在检查中间结果时进行计算,则将有所帮助。 问题答案: 使用不会阻塞的呼叫: 使用: 使用交互模式:

  • 问题内容: 我想一次从redis列表中弹出所有列表项。 我不想在列表为空时调用或方法,因为它似乎多次无效地将请求发送到。 我也知道我可以使用方法获得所有列表,但不能弹出项目。 你能建议我吗? 我只想和清单中的项目一个请求即可。 问题答案: 正如Itamar Haber所说,请使用lrange和del。在管道模式下,它将作为单个命令完成。

  • 我在Kubernetes集群中有一个服务和RabbitMQ。我想做的是,我希望服务的不同实例(或副本)在启动时声明一个全新的队列。这些队列将绑定到同一个exchange。 我可以在这里放一个最后的变量吗: 本质上,我只需要一种方法,用生成的名称创建一个队列,然后使用@RabbitListener侦听这个队列。

  • 抱歉,如果这是一个初学者问题 我正在尝试使用功能组件,因为我一直在做类组件。 我有一个简单的组件,它应该从服务器加载一个列表,并显示它。 组件如下所示(如果有类型,我有点抱歉): 我面临的问题是,每次使用setList时,组件都会被重新绘制,因此http调用会被重新执行。 除了使用类组件之外,还有其他方法可以防止这种情况吗?

  • 我想计算一个二次型:in Julia 在这些情况下,最有效的计算方法是什么: 没有假设 是对称的 和是相同的() 和都是对称的 我知道朱莉娅有。但是我想知道它是否比BLAS呼叫更快。