The EVALTREE structure can be seen as a hierarchical structure for aggregating several evaluated constraints in a second evaluation step. One way to get an "overall" evaluation for a set of evaluated constraints would be the explicit conjunction or disjunction of all constraints by a set of "cascaded" FUZZYCONCAT statements.

Real world applications and the resulting, usually very huge numbers of constraints make clear, that this is not a very smart way to achieve this result. To make such aggregations easier, CSI(C&F) offers the possibility to build up an EVALTREE structure, where single evaluations (FUZZYVAR objects) can be inserted and aggregated to an overall aggregation for each branch in this structure, and for the whole tree too. The declaration of such a tree has the following format:




(Branch_Name ConcatOperator)*


where Overall_Name is the name the evaluation tree should take. Obviously all evaluated FUZZYVAR objects have to be of the same type, i.e. they have all to be assigned to the same PARAMETERSET object. Otherwise they could not be aggregated in a second step. For this the second entry must be the name of the desired PARAMETERSET. The following part describes the branches of the tree; the ConcatOperator (AND, OR) makes explicit the way this branch is aggregated to the overall evaluation.

The single branches of such a EVALTREE object are containers for groups of evaluated constraints that are of the same type. Although there are no restrictions where and how a FUZZYVAR object must be inserted in such a tree, it is a matter of semantically correctness where and how we insert an evaluated FUZZYVAR.

In section 7.5.9 we will see, how such insertion can be done by the use of the AGGREGATE statement.

To make transparent the use of the EVALTREE structure we give a concrete example stemming from scheduling applications:




All_Capacity OR

All_DueDate AND

All_Compatibility AND


CSI(C&F) provides the well known EXPORT structure for EVALTREE too. The data stored in such a tree can be written to a file by the use of


The resulting file holds the aggregated node results as well as the single evaluations of FUZZYVAR objects in the leaves. In addition to this we can specify a comment for each FUZZYVAR we want to insert. This makes it possible to link additional information to a single evaluation score in the leaves.