I have a set of vertices with some profit defined between each pair of vertices such that profit(i,j) may not be equal to profit(j,i). Moreover there exist positive weight cycles and the profit may be negative.
This is a NP-hard problem to find the maximum profit, so the problem is to maximize the profit visiting each city at most one( all cities need not to be visited). I have tried following algorithms to find this:
- Greedy algorithm on complete set of vertices.
- Greedy with brute force: First find the greedy sequence of vertices. This gives the approximate sets of vertices which nearly form clusters. Now take consecutive set of say 8 cities and rearrange them to find maximum profit using brute force.
But these do not give very good results when tried on 100 vertices.
Are there any other probabilistic or approximate methods to maximize the cost?