multi-exchange algorithms