A Dynamic Programming Approach for a Travelling Purchaser Problem With Additional Constraints