【分配问题】linear_sum_assignment 极速教程


python 复制代码
from scipy.optimize import linear_sum_assignment

函数输入输出解析:

  • 主要 Parameters:
    • cost_matrix :[array] → \to → 代价矩阵
  • 返回 Returns:
    • row_ind, col_ind :[array] → \to → 行列 idx 序列

代码参考:

python3 复制代码
import numpy as np
from scipy.optimize import linear_sum_assignment


## 构造输入:cost_matrix
cost_matrix = np.array([[4, 1, 3], [2, 0, 5], [3, 2, 2]])


## 获取输出:row_ind, col_ind
row_ind, col_ind = linear_sum_assignment(cost)
print(row_ind)  # array([0, 1, 2]): 0 ~ 行列维度较小值
print(col_ind)  # array([1, 0, 2]): 优化得到的匹配的列 idx	

# 基于 row_ind, col_ind 可获取最优分配对应的代价
sum_of_cost = cost[row_ind, col_ind].sum()
print(sum_of_cost)  # 5
相关推荐
查古穆35 分钟前
python进阶-Pydantic模型
开发语言·python
佳木逢钺1 小时前
PyQt界面美化系统高级工具库:打造现代化桌面应用的完整指南
python·pyqt
工頁光軍1 小时前
基于Python的Milvus完整使用案例
开发语言·python·milvus
Csvn1 小时前
特殊方法与运算符重载
python
xht08322 小时前
PHP vs Python:编程语言终极对决
开发语言·python·php
2401_879693872 小时前
使用Python控制Arduino或树莓派
jvm·数据库·python
查古穆2 小时前
python进阶-推导式
开发语言·python
☆5662 小时前
如何为开源Python项目做贡献?
jvm·数据库·python
m0_560396473 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python