drools-planner

    0热度

    1回答

    在Optaplanner中,有没有一种方法可以分配多个导致相同锚点的链?这是optaplanner提供的功能吗? 例如, (使用Vehicle Routing应用程序进行任务计划)我有一位员工,一天执行20项任务。对于前10项任务,由于这些任务是远离办公室的任务,所以他使用了一辆汽车。然后策划者计划他回到办公室,并为接下来的10个任务骑自行车,这些任务离他的办公室更近。 我需要帮助解决2个问题:

    0热度

    1回答

    我尝试修改OptaPlanner护士Roster示例。 到目前为止,我想在drl文件中编写一个规则,当员工每天工作超过13个小时时,该规则会作出反应。 我扩展了班级shiftType以获得每个Shift的小时数。 初看,规则似乎工作,但当一段时间后没有可行的解决方案时,我得到一个NullPointerException。 下面是一些相关的代码: rule "dailyRestPeriod" wh

    0热度

    2回答

    我有一个简单的规则,其中,我想使用外部java函数返回整数值。我想在规则LHS中使用此返回值进行比较。 rule "testRuleBTW" when $cfd : FactsData() condition : RuleData(ageCondition != null, ageCondition.value1 != null,

    1热度

    1回答

    如果我们将任务分配的示例分配给员工,我们根据员工的可用性和执行单个任务所需的技能(硬约束)将任务列表分配给员工列表。 现在,如果有任务且没有员工有能力这样做,Optaplanner仍然会将该任务分配给员工并打破硬约束。这个结果告诉我,存在一个严格的约束被破坏,但是仍然分配了这个任务,并且这影响了一个员工应该做的任务链,而不是分配一个不相关的(技能不足的)任务,不应该将系统Optaplanner)提

    0热度

    1回答

    熟悉optaplanner我创建了一个简单的测试项目。我只有一个解决方案和一个实体类。实体只有0到9之间的一个值。应该只有奇数,总和应该小于10(这只是我提出的一些随机约束)。 由于分数我使用一个简单的HardSoftScore。下面是代码: public class TestScoreCalculator implements EasyScoreCalculator<TestSolution>{

    0热度

    1回答

    我在结果中看到的行为是两个课程只能在一个时间段内(如星期一上午9点​​)都设置为相同无论如何,尽管有严格的限制。我想要发生的事情是,其中一个设置为空,以便稍后可以检索它们并通知用户。 是否有配置?如果不是,我该如何处理这种情况?我期望在我的应用程序中破除硬约束,但对我来说重要的是我可以通知用户哪些课程无法安排,所以他可以自己安排(通过UI)。 这里的是相关的硬约束规则: rule "roomOcc

    0热度

    1回答

    当解决约束条件时使用drl文件时,可以使用insertLogical(),它只在drools的工作内存中插入事实,直到解决方案完成后LHS才会被收回(LHS始终保持为insertLogical())。当我们从Optaplanner的solver.solve()获得解决方案时,我们会收到我们自己的解决方案类选项,如NurseRoster,CloudBalance。但是,我怎么能检索事实,直到我的解决

    2热度

    1回答

    这是在任务计划问题的背景下,其中任务链(T1,T2,T3等等)被分配给员工(锚点),例如E1。因此,规划中的结局一般是这样的: E1 -> T1 -> T2 -> T3 T1,T2和T3可以从任务列表中的任何。现在,我想要的是类似T1,T2,T3,T4,T5,T6 ..的列表,T3必须分配给E1。简单来说,T3必须链接之间的(可能不是第一个)锚链E1。 Optaplanner只能选择在链接的计

    1热度

    1回答

    有一个Java API用于从Optaplanner核心ScoreDirector接口获取IndictmentMap。但我不直接使用Optaplanner引擎,而是使用KIE服务器来解决我的计划问题。是否有一个API来解决方案起诉? 提供基本的Optaplanner API here。

    0热度

    1回答

    我正在使用drools进行业务级别验证。 是否可以在工作内存中加载两个对象并比较它们的值? 可以说我有2个对象: Object1{ String name; } Object2{ String sname; } 我可以比较的DRL文件名(Object1)与的sname(对象2)? Object1(name)==Object(name) 我试图在DRL文件中加入这一行,但它给出了