1234567891011121314151617181920212223 |
- import numpy as np
- from scipy.optimize import linear_sum_assignment
- class KM():
- def __init__(self, graph):
- self.gragh = graph
- self.max_dispatch = self.compute()
- def compute(self):
- gragh = self.gragh
- row,col = linear_sum_assignment(gragh)
- # print("行坐标:", row, "列坐标:", col, "最大组合:", self.gragh[row, col])
- return [(i,j)for i,j,value in zip(row,col,gragh[row,col]) if value<1000]
- # gragh = - self.gragh
- # row,col = linear_sum_assignment(gragh)
- # return [(i,j) for i,j,value in zip(row,col,gragh[row,col]) if value]
- if __name__ == '__main__':
- pass
|