我开始使用optaplanner来做一个poc,我会想出一个问题。我实现了硬约束,这是可以的。对一个介质约束执行同样的操作,以便处理一个可为空的计划实体,并且它是OK的。但是,我添加了一个软约束,我对最好的解决方案不满意。让我解释一下。
在没有软约束的情况下,我得到了0/-2/0的分数,并且根据数据集是最优解。当我实现软约束时,得到0/-8/-13。但对我来说,我更喜欢0/-2/-700。
我该如何管理这种行为呢?如何先最小化介质,再注意软性?
对我来说,我更喜欢分配每个服务(如果可能的话),而不是优化首选日期和分配之间的增量。
下面是规则
//###########################################################################
// Medium constraints
//###########################################################################
rule "unassigned score"
when
accumulate( ServiceRequestAssignment(resource == null);
$cnt: count(1))
then
scoreHolder.addMediumConstraintMatch(kcontext, -toIntExact($cnt));
end
// ############################################################################
// Soft constraints
// ############################################################################
rule "dateDeviance"
when
$request : ServiceRequestAssignment(fixDate != true, $dateDeviance: dateDeviance);
then
scoreHolder.addSoftConstraintMatch(kcontext, -toIntExact($dateDeviance));
end
<constructionHeuristic>
<constructionHeuristicType>FIRST_FIT_DECREASING</constructionHeuristicType>
</constructionHeuristic>
<localSearch>
<unionMoveSelector>
<changeMoveSelector/>
<swapMoveSelector/>
</unionMoveSelector>
<acceptor>
<lateAcceptanceSize>600</lateAcceptanceSize>
</acceptor>
<forager>
<acceptedCountLimit>4</acceptedCountLimit>
</forager>
</localSearch>
谢谢你的帮助。
在一个步骤中,OptaPlanner将始终首选0/-2/-700
而不是0/-8/-13
,就像您想要的那样。
问题是,由于分数函数的变化,它会走另一条路,它不会同时达到相同的分数。可能有两个原因
无论如何--不添加那些软评分规则不是推荐的方法。虽然这样可以工作(首先在没有软约束的情况下解决它,然后从前面的解决方案开始,用软约束再次解决它),但这将是一个黑客。真正的、好的、长期的解决方案是添加它们,看看是否可以使它们更高效,设置基准标记(现在只有几行),并找出什么样的自定义移动可以使您从0/-8/-13
到0/-7/-9999
。
问题内容: 我刚刚开始我的第二个JavaFX项目,我需要知道何时将a 最大化。在Swing中,这相当简单,可以通过使用WindowListener / Event来完成。但是,在搜索了JavaFX的Javadoc之后,我似乎找不到任何侦听a状态的方法。 有什么办法吗? 问题答案: 要了解是否最小化,可以听财产: 在即将发布的8.0版本中添加了对应的属性: 您可以在此处下载JDK 8(包括FX8)的
给定一个正整数的矩阵(非正方形),其中同一行上的所有元素都是可置换的,问题是最小化列的最大和和最小和之间的差异。 例如 答案是2。 我试着天真地对它进行分类(合并)
我在这个问题上使用了公认的答案:JavaFX最小化未装饰阶段,以适当地最小化我的应用程序。 然而,不幸的是,默认窗口最小化了 我知道可以在未装饰的窗口中显示动画,因为我有一个应用程序具有这种行为(PotPlayer)。 如何使用JNA制作动画? 编辑:这是一个可以正常最小化JavaFX窗口的Kotlin代码段,还添加了bounty。
问题内容: 我正在使用和作为模块捆绑程序编写一个Web应用程序。到目前为止,我的代码还很轻巧,整个文件夹的大小为25 kb。 我创建的虽然是2.2 mb。使用标志运行优化后,它将捆绑包减少到700kb,这仍然非常大。 我调查了文件,文件大小为130kb。 Webpack是否可能产生如此大的文件,或者我做错了什么? webpack.config.js 编辑 package.json: 问题答案: 根
问题内容: 有没有办法在所有浏览器中手动设置浏览器窗口的最小大小? 问题答案: 你可以试试 一旦视口小于600像素,您将获得一个水平滚动条。这仅适用于支持最小宽度CSS属性的现代浏览器。 我认为不可能限制用户的大小调整,也不应该!
我正在制作一个Swing GUI。我没有得到如何在JPanel中最大和最小JTable。