Are there things prolog can do that embedded solvers cannot? In .net, solver foundation, http://code.msdn.microsoft.com/solverfoundation , is a great fit for solving from a set of rules. And I believe most languages can embed some sort of rules optimizing engine.