Solver (computer science)

A solver is a generic term indicating a piece of mathematical software, possibly in the form of a stand-alone computer program or as a software library, that 'solves' a mathematical problem, including:


 * Linear and non-linear equations, or systems of such equations. In this case the "solver" is more appropriately called a root-finding algorithm.
 * Linear and non-linear optimisation problems
 * Systems of ordinary differential equations
 * Systems of differential algebraic equations
 * Logic/satisfiability problems
 * Constraint satisfaction problems
 * Shortest path problems
 * Minimum spanning tree problems

The General Problem Solver is a particular computer program created in 1957 by Herbert Simon, J.C. Shaw, and Allen Newell intended to work as a universal problem solver, that theoretically can be used to solve every possible problem that can be formalized in a symbolic system, given the right input configuration. It was the first computer program which separated its knowledge of problems from its strategy of how to solve problems.