Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def permute(a, results):
- if len(a) == 1:
- results.insert(len(results), a)
- else:
- for i in range(0, len(a)):
- element = a[i]
- a_copy = [a[j] for j in range(0, len(a)) if j != i]
- subresults = []
- permute(a_copy, subresults)
- for subresult in subresults:
- result = [element] + subresult
- results.insert(len(results), result)
- matrix = [[0.8,0.6,0.8,0.6,0.8,0.6,],
- [2.0,1.5,2.0,1.5,2.0,1.5,],
- [0.7,0.6,0.7,0.6,0.7,0.6,],
- [0.4,0.2,0.4,0.2,0.4,0.2,],
- [0.2,0.4,0.2,0.4,0.2,0.4,],
- [0.3,0.5,0.3,0.5,0.3,0.5,]]
- results = []
- permute(range(len(matrix)), results)
- minval = sys.maxsize
- res_asign=[]
- for indexes in results:
- cost = 0
- for row, col in enumerate(indexes):
- cost += matrix[row][col]
- if (cost<minval):
- minval = cost
- res_asign=indexes
- index_asign=0
- res_final=[]
- for rows in matrix:
- for i in range(0,len(rows)):
- if(res_asign[index_asign]==i):
- res_final=res_final+[i%2+1]
- index_asign=index_asign+1
- #Przypisanie
- print(res_final)
- #Ostateczny koszt
- print(minval)
Add Comment
Please, Sign In to add comment