Related to the problem of simply creating word searches is finding out how small a grid can be used to contain a specific set of words.
It's trivially easy to fit a number of words into a large grid, because you don't even need to look for overlaps.
But once you get to a certain point, it becomes necessary to start being a bit cleverer about things and placing certain words in strategic places so that the maximum amount of overlap can occur.
And of course, there is a limit to how small you can go - particularly when restricting things to rectangular dimensions. But finding an optimal 'packing' - well ,there's a challenge.
I expect it's some sort of packing problem and that by looking at it the right way, all sorts of convoluted algorithms can be brought to bear. For now, I'm just happy messing about with shuffles in order to produce challenging puzzles at the end of the day within a relatively dense grid.
[Image credit: James Jones]