shuffle and adaptation cost:
has to go back to my own opt algorithm