【分配问题】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
相关推荐
山烛3 小时前
矿物分类系统开发笔记(一):数据预处理
人工智能·python·机器学习·矿物分类
集成显卡10 小时前
使用 Google 开源 AI 工具 LangExtract 进行结构化信息抽取
python·google·openai
久笙&10 小时前
对象存储解决方案:MinIO 的架构与代码实战
数据库·python·架构
不甘懦弱10 小时前
阿里云搭建flask服务器
服务器·python·flask
赵英英俊10 小时前
Python day51
人工智能·pytorch·python
律品11 小时前
pytest的前置与后置
开发语言·python·pytest
飞翔的佩奇11 小时前
【完整源码+数据集+部署教程】遥感森林砍伐检测系统源码和数据集:改进yolo11-SWC
python·yolo·计算机视觉·数据集·yolo11·遥感森林砍伐检测
阿汤哥的程序之路11 小时前
Python如何将两个列表转化为一个字典
python
RabbitYao11 小时前
Android 项目 通过 AndroidStringsTool 更新多语言词条
android·python
RabbitYao11 小时前
使用 Gemini 及 Python 更新 Android 多语言 Excel 文件
android·python