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

Optaplanner VRP,支持基于车辆类型的多个油耗值?

龙越彬
2023-03-14

我有一个VRP,其中我希望将油耗作为软约束,并且不同车型的油耗不同。所以我希望发动机选择油耗最低的车辆。

我考虑过在车辆类型中添加一个乘数,使其与距离相乘,作为软约束,有可能吗?这会对结果产生负面影响吗?

谢谢,

共有1个答案

阙庆
2023-03-14

是的,这是可能的。

你的距离可以以公里为单位。然后你的分数规则只是将车辆驾驶的每个距离(=km)乘以车辆的vehicle.getCostPerKm()

您甚至可以跟踪每段距离的驾驶时间(以秒为单位),并构建一个大的加权函数

addSoft(..., - ($distanceInKm * $vehicle.getCostPerKm() + $distanceInSeconds * $vehicle.getDriverWagePerSecond()));
 类似资料:
  • 在解释我的问题之前,我应该做一些理论... 对于车辆,我指的是所有可以通过公路运输货物的东西:轿车、货车、卡车、拖车(或公路列车,我不知道正确的术语)、半拖车(也称为铰接式卡车或牵引拖车)。 关于汽车,货车和卡车,没有问题:它们具有板块,可运输的重量和体积以及其他数据。 但是另外两辆车更复杂。它们可能有一个额外的车牌和其他额外的数据。特别是: > 半挂车卡车(也称为牵引拖车)是一种复杂的车辆,由道

  • 功耗节省简介 在空闲任务中放置处理器的低功耗模式代码是常用的节省功耗的一种方式。功耗节省可以通过这种简单的方式实现,但是受限于需要周期性的退出并且重新进入低功耗模式去处理节拍中断。但是如果节拍中断的频率很高,不断的退出和重新进入低功耗模式可能会潜在的导致功耗节省达不到预期效果。 freeRTOS的低节拍空闲模式可以停止周期性的节拍中断,在节拍中断重新开始时修正RTOS的节拍计数值。 停止节拍中断允

  • lint Description:参考sqlint格式,以插件形式集成到代码编辑器,显示输出更加友好 Example: soar -report-type lint -query test.sql markdown Description:该格式为默认输出格式,以markdown格式展现,可以用网页浏览器插件直接打开,也可以用markdown编辑器打开 Example: echo "select

  • 我目前正在尝试确定使用GEKKO的氢气(H2)车辆加油过程的最佳流入条件。下面是耦合的常微分方程,用于控制H2和燃油箱壁的温度如何随加油时间变化。 哪里 这里,是储罐中H2的初始质量,是H2进入储罐的质量流量,是H2的比热比,是H2的流入温度,其他变量是中间变量/储罐参数。通过加油过程,被认为是恒定的(但未知),因此储罐中H2随时间的质量定义为: 此外,罐内H2的压力可以用真实的气体状态方程来计算

  • 问题内容: 为什么Java中的泛型只能用于类,而不能用于原始类型? 例如,这可以正常工作: 但这是不允许的: 问题答案: ava中的泛型是一个完全编译时的结构-编译器将所有泛型使用转换为正确的类型。这是为了保持与以前的JVM运行时的向后兼容性。 这个: 变成(大致): 因此,任何用作泛型的东西都必须可转换为Object(在此示例中返回),而原始类型则不是。因此它们不能用于泛型。

  • 这是我到目前为止的代码: 这是我空的测试课。