我已经尝试ilog jrules一段时间了。我对规则重写特性特别感兴趣,尽管有一种纯粹的IRL方法可以创建继承器并用程序重写规则。我想使用rulestudio进行规则重写,而不是用IRL编写它。
在rule studio的规则属性窗口中,可以选择指定要覆盖的规则,但我找不到任何地方来给出用于对规则进行覆盖决策的条件。
有人能解释一下吗?在哪里添加用于覆盖规则的条件?或者我必须以IRL程序化的方式来完成它?
如果在运行时在同一规则任务中选择了一个或多个其他规则,则规则可以覆盖这些规则。
假设你有两条规则A&B.A是一项规则,如果您在忠诚度计划中达到黄金身份,则可给予您一般折扣:
规则A:
if
the status of 'the customer' is gold
then
add a 4% discount, reason: "Gold membership"
规则B应以5%的折扣推翻德国市场的这一规则:
规则B:
if
the status of 'the customer' is gold
and the home country of 'the customer' is Germany
then
add a 5% discount, reason: "German loyalty program: gold status"
规则B的属性必须指定应重写规则A(在属性中:重写的规则:[Rule A])。如果两个规则都可以执行,则由于"重写规则"属性,只选择规则B。规则A将被覆盖,这意味着在运行时在同一规则任务中选择了两个规则。
有关更多信息,请参阅文档