2 opt algorithm