首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OptaPlanner能够模拟随机程序吗?

OptaPlanner能够模拟随机程序吗?
EN

Stack Overflow用户
提问于 2016-03-23 09:52:30
回答 2查看 196关注 0票数 3

在工作中,我们正在努力优化生产的货物数量,以满足不确定的需求。通过对以前发生的需求的分析,了解需求的概率分布。

在数学上,这个问题是一个多阶段的随机整数规划.我们现在正在调查OptaPlanner来解决这个问题。然而,OptaPlanner似乎没有提供建模和解决此类问题的能力。一种可能是将程序转换成一个确定性的问题,这个问题可能是可解决的,但是这需要很长的时间来转换和解决。

因此,我们的问题是: OptaPlanner能否对此类问题进行建模并有效地解决这些问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-23 11:28:42

这类用例并不是开箱即用的示例,也不是经过仔细研究的,但是使用一些自定义代码是可能的。

  • OptaPlanner可以在任何分数计算函数的基础上进行优化。唯一真正的要求是返回一个Score,它本质上是一个Comparable
  • 您可以定义一个自定义的Score (参见docs),但在下面的示例中,我将使用一个标准的HardSoftScore,这样就可以了。HardSoftScore基本上是2 int变量。

例如,假设下雨的概率是:星期一50%,星期二10%,星期三20%。现在假设我们有车辆路线问题,需要在那一周内运送100个包裹,其中2辆卡车可以装载20个包裹,不受雨水影响,B卡车可以运送40个包裹,但受雨水影响:雨水会给它带来维修费用,一周内过多的雨水会破坏它。

现在,我们可以编写一个分数计算函数,在我们的分数规则中考虑到这些因素:

  • 当B上的概率累积雨量的“和”太高时,用多大的概率来减少难得分(所以解决方案不可行)
  • 使用B时下雨的概率会造成软成本(=>降低软分数)
  • A或B的使用会造成每一段距离的软成本

尽管如此,OptaPlanner并没有为概率算法提供任何方法,这样做的概率之和(这是不平凡的)。但是,您可以插入任何提供这些功能的Java框架,为drools调用这些函数。此外,drools-chance应该会提供这种情况,但是该项目目前是不活动的(但是迟早我们会重新启动它)。

票数 2
EN

Stack Overflow用户

发布于 2016-03-30 07:12:27

下面是用OptaPlanner:投资组合优化进行随机优化的一个例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36174787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档