This is more of a community wiki answer, aggregating the various modelling tools suggested by other answers, I've just added additional links to resources.

I don't think there's any need to restate that you should be using a different approach to thousands of hard-coded if/else statements.

* [DSL Programming (Domain Specific Language)](http://en.wikipedia.org/wiki/Domain-specific_language)
* [Markov Model](http://en.wikipedia.org/wiki/Markov_model)/[Markov Decision process](http://en.wikipedia.org/wiki/Markov_decision_process)
* [Rete net / Rete algorithm](http://en.wikipedia.org/wiki/Rete_algorithm) 
* [Expert System](http://en.wikipedia.org/wiki/Expert_system)
* [Matlab](http://www.mathworks.com.au/products/matlab/index.html), [(Wikipedia)](http://en.wikipedia.org/wiki/MATLAB)
* [R](http://www.r-project.org/)