Comento como resolvi el problema.
Encontré una librería llamada symja que permite la ejecución de expresiones matemáticas infijas.
Como mis expresiones contienen variables, estas las obtengo de una clase asociada que contiene los parámetros y simplemente hago un replaceAll sobre el srtring para cada variable que tengo.
finalmente resuelvo la expresión:
Ejemplo
DoubleEvaluator engine = new DoubleEvaluator();
double d = engine.evaluate("((5 + 45)*(4- 6))*8 + 7");
System.out.println("Resultado:"+Double.toString(d) );
http://code.google.com/p/symja/wiki/...pressionParser