因此,我正在研究对过度约束的路由问题进行建模,其中并非所有任务都必须在该特定规划问题中进行。相反,目标是最大化该规划问题中的任务。
我认为通过允许计划变量可为空应该很容易实现这一点,但似乎 Optaplanner不允许在链式计划变量上这样做。
因此,我正在考虑的解决方法是设计一种虚拟/幽灵车辆,其目标是尽量减少分配给该车辆的任务。这种做法似乎与这里所说的相呼应。
或者,我认为我可以将值放入null但valueRangeProvider我不确定这是否会按预期工作。
这是一种合理的方法吗?或者使用这种方法有什么注意事项吗?
我们可以使用 Java 动态添加/删除 optaplanner 中的约束吗?有没有例子。我希望允许用户使用某些 UI 在运行时添加或删除此约束。
下面的链接使用口水讲述了一些关于它的内容。可以用java来完成吗? 如何在 optaplanner 中动态添加/删除约束
尊敬的 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) 我目前正在开发一个使用Optaplanner和drools的Java项目来解决Constraint Satisfaction问题.
解决方案很好.但是在解算器给我一个解决方案后,我想评估解决方案:我想知道哪些约束被违反,即哪些规则被触发了多少次.
这可能吗?我该如何开始呢?
我们正在使用 optaplanner 来尝试使用时间窗口改进我们当前的车辆路线。我们有一些小问题,我们不确定如何克服:
我们目前对第二个问题的想法是创建两个新类:
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 视为另一个客户有望确保规划人员找到将其放入路线的最佳方式。
但是,对于午休建模,我们不太确定该怎么做。
有没有更好的方法来建模?模拟午休时间的最佳方式是什么?是否有任何样本可以为我们指明正确的方向?
谢谢。
我想知道熟悉 Google 优化工具的人是否可以解决这个问题。我正在查看 Google 的员工调度和 N 皇后示例。这两个示例似乎都使优化器仅在硬约束下运行(例如,必须是这种情况),但似乎没有解决(这是首选但不是必需的)。是否支持软约束?或者此时软约束的唯一实现是optaplanner?
我并不反对 optaplanner。只是需要付出更多的努力来学习足够的 java 和所使用的“流口水”语法。
亲爱的 OptaPlanner 社区
对于 OptaPlanner 框架的特定用例,我想使用链式数据结构,就像车辆路由示例中使用的那样。我们案例中的问题是,有很多客户,但在特定的计划周期内无法为所有客户提供服务。因此,我认为使用可为空的计划变量可能很有用,因此不需要分配所有任务,同时仍然具有有效的供应商链。我的问题是,我该如何解决这个问题?有一条额外的链未分配任务吗?还有其他方法可以绕过这个问题吗?问候拉斐尔
我们当前的方法是多次运行求解器。我想知道是否有更好的方法。
一些解释:
多行程车辆路径问题(VRPMT):车辆可以执行多条路线。
我正进入(状态
java.lang.UnsupportedOperationException: Impossible state: passing long into an int impacter.
当尝试使用.penalizeLongConstraintProvider 类中的函数时。