Travelling purchaser problem