A method of finding the optimal solution to a problem by systematically testing different possibilities.