Maximize Sum with Unique Row and Column Numbers
作者:XD / 发表: 2023年3月15日 04:45 / 更新: 2023年3月15日 04:49 / 编程笔记 / 阅读量:955
Maximize the sum of the table where each number must come from the unique row and column. Maximum cost bipartite matching problem can be solved with the Hungarian algorithm.
from scipy.optimize import linear_sum_assignment
import numpy as np
cost =np.array(
[
[12,7,9,7,9],
[8,9,6,6,6],
[7,17,12,14,9],
[15,14,6,6,10],
[4,10,7,10,9]
])
row_ind, col_ind=linear_sum_assignment(cost)
res = np.zeros_like(cost) # np.ones_like
res[row_ind, col_ind] = 1
print(res)
#[[0 1 0 0 0]
# [0 0 1 0 0]
#[0 0 0 0 1]
#[0 0 0 1 0]
#[1 0 0 0 0]]
print(cost[row_ind,col_ind].sum()) # 32 total cost