Eliminate Decision Based on Rule Pseudo Code

          For each array element

          { \\ start for each element in array element

     Get attribute name, Get attribute value, Get breakable flag , Get Item Class

If attribute name and value are not blank

   { \\ start if attribute name and value are not blank.

      For each still possible decision

       { \\ start for each decision whose eliminate flag is not set

            Get the items at the decisions head location

            If (number of items at head > 0)

             { \\ start if items > 0

                For each item in head location

              { \\ start for each item in location

                   Get the attribute value

                       If (the attribute was found and the attribute values match)

                          { \\ start if attribute found and value matched)

       Set eliminate flag to false

       if Rule type[P3] == Group

               if Group count[P7] is >= rule [P6]

                     set eliminate flag to true

               end if

       Else if Rule type[P3] == Percentage

               Calculate the percentage released =

               Attribute Count[P10] / Total count [P11]* 100

               If (Percent Release is >= Upper Rel %[P8] or

                   Percent Release is <= Lower Rel[P9] %)

                     Set the eliminate flag.

       End if

       Else \\ if rule type is spacing

               If (spacing count[P7] < rule [P6])

                    Set eliminate flag to true

               End if

                              }//endif attribute found and match

                      }//end for next item at location

                  }\\end if item > 0

}\\end for each possible decision

if(breakability flag [P12]is set)

{ \\ start if breakability flag set

  if (all decisions are eliminated)

     {

         Roll back decisions eliminated by this pass of array element (rule type)

         ( i.e. do not eliminate decisions whose eliminate flag is set on this pass)

      }

  else \\ if all decisions are not eliminated and breakability flag is set

      {

           Eliminate decisions whose eliminate flag is set in this pass

}\\ end if breakability flag set

else \\ if breakability flag is not set for this pass

{

      Eliminate decisions whose eliminate flag is set in this pass

}

                      }//endiif attribute value and name are blank

               }//end for – next array element

More information

Eliminate Decision based On rule pseudo code.