dual decomposition method, still needs tweaking and maybe new ideas