You could use Prolog as a rules engine: a number of lightweight implementations exist.
Of course these are not always lightning-fast, but possibly fast enough for you, especially if rules are written with care.
Then you can cache the results.
If you have an usual bunch of parameters, make that bunch an object, provide with a hash function depending on contents of parameters, and use as a key into a hash map. To keep the size of the cache reasonable, implement a LRU list for the keys.