标签: optaplanner

Optaplanner 中可空的链式规划变量

因此,我正在研究对过度约束的路由问题进行建模,其中并非所有任务都必须在该特定规划问题中进行。相反,目标是最大化该规划问题中的任务。

我认为通过允许计划变量可为空应该很容易实现这一点,但似乎 Optaplanner不允许在链式计划变量上这样做

因此,我正在考虑的解决方法是设计一种虚拟/幽灵车辆,其目标是尽量减少分配给该车辆的任务。这种做法似乎与这里所说的相呼应。

或者,我认为我可以将值放入nullvalueRangeProvider我不确定这是否会按预期工作。

这是一种合理的方法吗?或者使用这种方法有什么注意事项吗?

optaplanner

5
推荐指数
1
解决办法
405
查看次数

Optaplanner:动态添加/删除约束

我们可以使用 Java 动态添加/删除 optaplanner 中的约束吗?有没有例子。我希望允许用户使用某些 UI 在运行时添加或删除此约束。

下面的链接使用口水讲述了一些关于它的内容。可以用java来完成吗? 如何在 optaplanner 中动态添加/删除约束

optaplanner

5
推荐指数
1
解决办法
1090
查看次数

带 OptaPlanner 的自行车信使 / TSPPD

尊敬的 OptaPlanner 专家!

我想使用 OptaPlanner(或类似的开源 Java 框架)来优化自行车信使服务的路线。让我们假设 5 个信使必须从某个来源拿起 30 个信封并将它们送到某个目的地:

            X(FROM) Y(FROM) X(TO)   Y(TO)
envelope 1  13745   55419   13883   55756
envelope 2  8406    53246   13937   55854
envelope 3  15738   57396   35996   79499
envelope 4  12045   60418   19349   57118
envelope 5  13750   56416   35733   78403
envelope 6  13190   57068   11860   59749
envelope 7  15021   55768   14098   57379
envelope 8  11513   58543   11501   59683
envelope 9  12013   64155   14120   59301
envelope 10 15006   57578   35511   78426
envelope 11 11450   58819   11916 …
Run Code Online (Sandbox Code Playgroud)

java traveling-salesman optaplanner

4
推荐指数
1
解决办法
2351
查看次数

Optaplanner:评估解决方案

我目前正在开发一个使用Optaplanner和drools的Java项目来解决Constraint Satisfaction问题.

解决方案很好.但是在解算器给我一个解决方案后,我想评估解决方案:我想知道哪些约束被违反,即哪些规则被触发了多少次.

这可能吗?我该如何开始呢?

java drools optaplanner

4
推荐指数
1
解决办法
698
查看次数

在 Optaplanner 中模拟午休时间和额外的仓库退货

我们正在使用 optaplanner 来尝试使用时间窗口改进我们当前的车辆路线。我们有一些小问题,我们不确定如何克服:

  • 我们的司机需要有 30 分钟的午休时间,在他们轮班的第 3 到第 5 个小时之间(从他们开车开始),如果开车时间少于 5 小时 - 不需要休息。
  • 我们必须确保某些包裹(但不是全部)在特定时间返回仓库。例如,有些客户的取件时间为 8:00 至 8:30,但他们的包裹/包裹必须在 12:00 之前返回仓库。

我们目前对第二个问题的想法是创建两个新类:

public class ReturningCustomer extends TimeWindowedCustomer {

   protected int returningId;
Run Code Online (Sandbox Code Playgroud)

public class ReturnToDepot extends TimeWindowedCustomer {

   protected int returningId;
Run Code Online (Sandbox Code Playgroud)

其中第一个为客户建模特殊包裹,这些包裹将被退回。第二个是代表司机返回车厂的“假”客户。ReturnToDepot 将与仓库本身具有相同的位置。在 Drools 中比较他们的 id 将确保他们在同一辆车的路径上。将 ReturnToDepot 视为另一个客户有望确保规划人员找到将其放入路线的最佳方式。

但是,对于午休建模,我们不太确定该怎么做。

有没有更好的方法来建模?模拟午休时间的最佳方式是什么?是否有任何样本可以为我们指明正确的方向?

谢谢。

optaplanner

4
推荐指数
1
解决办法
341
查看次数

Google 优化工具支持软约束吗?

我想知道熟悉 Google 优化工具的人是否可以解决这个问题。我正在查看 Google 的员工调度和 N 皇后示例。这两个示例似乎都使优化器仅在硬约束下运行(例如,必须是这种情况),但似乎没有解决(这是首选但不是必需的)。是否支持软约束?或者此时软约束的唯一实现是optaplanner

我并不反对 optaplanner。只是需要付出更多的努力来学习足够的 java 和所使用的“流口水”语法。

optimization constraints constraint-programming optaplanner

4
推荐指数
1
解决办法
3476
查看次数

OptaPlanner:使规划实体链接起来并且可以为空

亲爱的 OptaPlanner 社区

对于 OptaPlanner 框架的特定用例,我想使用链式数据结构,就像车辆路由示例中使用的那样。我们案例中的问题是,有很多客户,但在特定的计划周期内无法为所有客户提供服务。因此,我认为使用可为空的计划变量可能很有用,因此不需要分配所有任务,同时仍然具有有效的供应商链。我的问题是,我该如何解决这个问题?有一条额外的链未分配任务吗?还有其他方法可以绕过这个问题吗?问候拉斐尔

java optaplanner

3
推荐指数
1
解决办法
768
查看次数

使用 optaplanner 解决 VRPMT 问题的最佳实践是什么?

我们当前的方法是多次运行求解器。我想知道是否有更好的方法。

一些解释:

多行程车辆路径问题(VRPMT):车辆可以执行多条路线。

optaplanner vehicle-routing

1
推荐指数
1
解决办法
434
查看次数

尝试使用 .penalizeLong 时 OptaPlanner 中出现 UnsupportedOperationException

我正进入(状态 java.lang.UnsupportedOperationException: Impossible state: passing long into an int impacter.

当尝试使用.penalizeLongConstraintProvider 类中的函数时。

optaplanner

1
推荐指数
1
解决办法
147
查看次数