Fixed the value displayed for the recommends criteria.
diff --git a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
index 6efe836..7a473d1 100644
--- a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
+++ b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
@@ -26,7 +26,6 @@
 	protected List changeVariables = new ArrayList();
 	protected List nouptodateVariables = new ArrayList();
 	protected List newVariables = new ArrayList();
-	protected List optionalVariables = new ArrayList();
 	protected List optionalPairs;
 
 	public abstract List createOptimizationFunction(InstallableUnit metaIu);
@@ -185,7 +184,6 @@
 			Pair pair = (Pair) it.next();
 			// create a new variable y <=> iu * abs
 			Projector.AbstractVariable yvar = new Projector.AbstractVariable(pair.left.toString() + "*" + pair.right.toString());
-			optionalVariables.add(yvar);
 			try {
 				dependencyHelper.implication(new Object[] {yvar}).implies(pair.left).named("OPT3");
 				dependencyHelper.implication(new Object[] {yvar}).implies(pair.right).named("OPT3");
diff --git a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
index 4889fec..850f13c 100644
--- a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
+++ b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
@@ -69,12 +69,12 @@
 				proof.add(var);
 			}
 		}
-
-		for (int i = 0; i < optionalVariables.size(); i++) {
-			Object var = optionalVariables.get(i);
-			if (!dependencyHelper.getBooleanValueFor(var)) {
+		Pair pair;
+		for (Iterator it = optionalPairs.iterator(); it.hasNext();) {
+			pair = (Pair) it.next();
+			if (dependencyHelper.getBooleanValueFor(pair.left) && !dependencyHelper.getBooleanValueFor(pair.right)) {
 				recommends++;
-				proof.add(var);
+				proof.add(pair.right);
 			}
 		}