Application of 'Local Search' with the 'minimum-conflicts' heuristics and 'tabu' search
to the N-queens problem [1].

We start with a randomized placement with each queen residing on its own column
but with multiple queens per row. A more optimal placement (e.g. one per column and row)
might lead to a solution in a smaler number of steps. However, this code generares
solutions reasonably fast even for big N (1K in 200ms and 10K in ~10 seconds on
an oldish Intel Core2 laptop).

I used it for one of the 'puzzle' (extra credit) assignments for Coursera's
'Discrete Optimization' course (a superb course by the way).

[1] http://en.wikipedia.org/wiki/Eight_queens_puzzle

[ Copied from my private branch. ]