Optaplanner Execution Server员工排班示例:最佳解决方案中未填写时隙

时间:2018-08-11 05:03:21

标签: drools optaplanner kie drools-kie-server

我正在跟踪RedHat上有关employee rostering的以下教程,当我寻求最佳解决方案时,一切都很好until the end

该解决方案在endTime标记中不包含startTimetimeslot的值。

下面的采样结果:

:
:
        <shiftList>
            <requiredSkill>
                <name>speaking</name>
            </requiredSkill>
            <timeslot>
                <endTime/>
                <startTime/>
            </timeslot>
        </shiftList>
        <shiftList>
            <requiredSkill>
                <name>writing</name>
            </requiredSkill>
            <timeslot>
                <endTime/>
                <startTime/>
            </timeslot>
        </shiftList>
:
:

我在docker:docker run -p 8080:8080 -p 8001:8001 -v /path/to/my/data/folder:/opt/jboss/wildfly/bin/.niogit:Z --name drools-workbench jboss/drools-workbench-showcase:latest上使用drools-wb(7.9.0.Final)

还有KIE服务器(7.9.0.Final),也在docker上:docker run -p 8180:8080 --name kie-server --link drools-workbench:kie_wb jboss/kie-server-showcase:latest

有人遇到相同的问题吗?

1 个答案:

答案 0 :(得分:0)

这是由于在将未解决的示例发送到求解器时,shiftAssignmentList没有正确构建。 以下各节替换

  <shiftAssignmentList>
    <employeerostering.employeerostering.ShiftAssignment>
        <shift reference="../../../shiftList/employeerostering.employeerostering.Shift"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
        <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[3]"/>
    </employeerostering.employeerostering.ShiftAssignment>
    <employeerostering.employeerostering.ShiftAssignment>
        <shift reference="../../../shiftList/employeerostering.employeerostering.Shift[2]"/>
    </employeerostering.employeerostering.ShiftAssignment>
  </shiftAssignmentList>