【问题标题】:rule overriding in ilog jrules rule studioilog jrules 规则工作室中的规则覆盖
【发布时间】:2012-03-07 13:40:33
【问题描述】:

一段时间以来,我一直在尝试 ilog jrules。我对规则覆盖功能特别感兴趣,尽管有纯粹的 IRL 方法来创建层次结构并以编程方式覆盖规则。我想使用规则工作室来覆盖规则,而不是在 IRL 中编写它。

在规则工作室的规则属性窗口中,有一个选项可以指定要覆盖的规则,但我没有找到任何地方给出用于为规则做出覆盖决策的条件。

任何人都可以对此有所了解吗?我在哪里添加用于覆盖规则的条件?还是我必须以 IRL 编程方式本身进行?

【问题讨论】:

    标签: ilog jrules


    【解决方案1】:

    如果在运行时在同一规则任务中选择了这些规则,则规则可以覆盖一个或多个其他规则。

    假设您有两条规则 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 应该被覆盖(在属性中:被覆盖的规则:[规则 A])。如果两个规则都可以执行,则仅选择规则 B,因为“覆盖规则”属性。规则 A 将被覆盖,这意味着在运行时在同一个规则任务中选择了两个规则。

    欲了解更多信息,请查看the documentation

    【讨论】:

    • 只是为了澄清一下,假设我在上述情况下没有覆盖规则,对于同一国家为德国的客户,将应用两个规则,即:4% 折扣(规则 A ) 和 5% 的折扣(规则 B)。对吗?
    • 没错。还有其他方法可以达到预期的结果,但是如果您有多个部门、具有不同权限的用户等,覆盖是一种很好的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多