gpt4 book ai didi

java - 如何在Optaplanner的coursecourse XML文件中设置积极的软约束(奖励)

转载 作者:行者123 更新时间:2023-12-01 14:02:57 30 4
gpt4 key购买 nike

我们在 OptaPlanner 的 XML 文件中为类(class)问题添加负软约束,例如

<unavailablePeriodPenaltyList id="737">
<UnavailablePeriodPenalty id="738">
<id>0</id>
<course reference="66" />
<period reference="678" />
</UnavailablePeriodPenalty>
</unavailablePeriodPenaltyList>

但是如何在 xml 文件中为类(class)问题添加正软约束?

使用哪个 XML 标记?

正向软约束示例:B 老师喜欢在周一早上上课

最佳答案

开箱即用的类(class)示例仅支持许多约束(请参阅文档以获取完整列表)。你提到的一个新的不属于其中。但添加起来很容易(假设您是 Java 程序员):

评分规则如下:

// Availabilities: Each lecture in a period unavailable for that course.
rule "unavailablePeriodPenalty"
when
$unavailablePeriodPenalty : UnavailablePeriodPenalty($course : course, $period : period)
$lecture : Lecture(course == $course, period == $period)
then
scoreHolder.addHardConstraintMatch(kcontext, -1);
end

同样,您可以定义:

  • FavoritePeriodReward.java 域对象(同时在 CurriculumCourseSchedule 中为其添加一个列表)

  • XML 元素 <FavoritePeriodReward>

  • 以及奖励它的评分规则。

例如:

rule "FavoritePeriodReward"
when
$reward : FavoritePeriodReward($teacher : teacher, $period : period)
$lecture : Lecture(teacher == $teacher, period == $period)
then
scoreHolder.addHardConstraintMatch(kcontext, 1); // +1 instead of -1
end

关于java - 如何在Optaplanner的coursecourse XML文件中设置积极的软约束(奖励),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19199113/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com