Port placement heuristics.

Need to port the scheduling one with a decomposition to make it clearer