I'm currently working on solving the facility location problem for my university thesis. It is an extremely difficult NP Hard problem to solve and I'm quite interested in the topic. I've seen methods for solving it, like the message passing algorithms, and have read lots of books and articles on designing approximation algorithms.
I have to write the thesis as soon as I implement the algorithm, but I don't know exactly how to do my research or the procedures I have to follow for that. When you have to deal with NP problems, how do you attack them? Apart from all the reductions, do you follow any procedures for solving the problem? I mean, what are the correct and formal procedures for solving NP problems?