adapt optimiser to support additional constraints: fixed overlap, and no next-neighbour coils
some cleanup, better optimiser