This is one of my favorite approaches to problem solving and just creativity in general.
Basically you take the problem or any obvious solutions and try to flip them upside down, try to think about the opposite.
I took one computer science course in college (it actually helped me rediscover my passion for programming). Anyways my professor gave us a problem to solve and I came up with a pretty good solution. My professor, though, flipped the problem around (it required analyzing some text and it was much more efficient to analyze the text backwards) and show me a much better solution. Anyways that general strategy has served me well over the years.
Here’s another example of someone taking a problem (finding images that are similar to a given image) and flipping it around. Instead of trying to compare two photos directly they actually found a better solution by trying to compare the photo to many other photos to see where the greatest differences are (at least I think that’s what they did).
Anyways check it out: