Python Forum
Traveller salesman backtracking
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Traveller salesman backtracking
#1
So I have the traveller salesman (backtracking) with a cost on the edges (I consider a full graph with 0 on the main diagonal and a cost in the rest, visiting every node just one time except starting node ), the problem is that my algorithm calculates the cost well ( cost = 13 ) but print 0 - 3 - 3 - 3 - 0 instead of the real solution ( I considered a 4 x 4 matrix starting from node 0 ) I am beginner in python, any help?
    def posible(k):
        global c
        if  k != n:
            for i in range(0,k-1):
                if x[k] == x[i]:
                    return False
        else:
            c = a[x[n-1]][x[n]]
            if x[k] != x[0]:
            return False

            for i in range(1,k):
                if x[k] == x[i]:
                    return False
                c = c + a[x[i-1]][x[i]]

        if k > 0:
            if a[x[k-1]][x[k]] == 0:
                return False

        return True

    def compare():
        global cmin
        global o
        global c
        if c < cmin:
            cmin = c
            o = x

    def back(k):
        for i in range(0,n):
            x[k] = i
            if posible(k) == True:
                if k == n:
                    compare()
                else:
                    back(k+1)


    n = 4
    a = [ [0,1,2,3],
          [1,0,4,5],
          [2,4,0,5],
          [3,5,5,0]
        ]
    c = 100
    x = [ 0, 0 , 0 , 0 , 0 ]
    o = [ 0, 0 , 0 , 0 , 0 ]
    cmin = 1000
    x[1] = 0

    back(1)
    o.append(0)
    if cmin == 1000:
        print('No solution')
    else:
        for i in range(0,n):
            print(o[i],end= ' ')
        print('0', end=' ')
        print(" cost : " + str(cmin))
  
Reply


Messages In This Thread
Traveller salesman backtracking - by synced - Oct-21-2017, 09:20 PM
RE: Traveller salesman backtracking - by synced - Oct-22-2017, 05:15 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
Photo Travelling Salesman Problem huhandrey 2 2,172 Oct-11-2020, 02:55 AM
Last Post: deanhystad
  Algorithm to solve a case of Travelling Salesman Problem Ale888 3 3,259 Dec-11-2018, 07:49 PM
Last Post: buran

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020