FM Algorithm
Repeat: move a node across the partition so as to increase cost the least, then lock the node so it stays there. Note this may cause a cost increase.
Until, all nodes are locked. Thus one Pass is completed.
Select the intermediate partition with the least cost.
Repeat additional passes until no further cost reduction.