When we permute a collection of values, we'll elaborate all the possible orders for the items. There are ways to permute items. We can use a sequence of permutations as a kind of brute-force solution to a variety of optimization problems.
By visiting http://en.wikipedia.org/wiki/Combinatorial_optimization, we can see that the exhaustive enumeration of all permutations isn't appropriate for larger problems. The use of the itertools.permutations() function is only handy for exploring very small problems.
One popular ...