如何在R中扭曲K-Means算法以找到服务人员的最佳分配[重复]

Posted

技术标签:

【中文标题】如何在R中扭曲K-Means算法以找到服务人员的最佳分配[重复]【英文标题】:How to twist K-Means algorithm in R to find optimal assignment of service personal [duplicate] 【发布时间】:2017-04-01 14:56:51 【问题描述】:

我有一个客户列表(例如 300 个)(经纬度)和一个服务工程师列表(例如 10 个)(纬度、经度)。我需要以最佳方式为每个客户分配一名服务工程师。减少他的旅行并增加他接待顾客的能力。假设他必须定期拜访所有客户。 尝试K意味着集群,将客户分成10个集群,并为每个客户分配服务工程师。任何提示表示赞赏。

【问题讨论】:

虽然这远非确定性,但看起来this final project 的作者发现聚类并不是解决多旅行商问题的最佳方法。我会寻找一种元启发式方法 查看更多讨论here Another approach 【参考方案1】:

集群在这里完全是错误的方法。它不会平衡集合,而是如果 99% 的客户彼此靠近,他们将被分配到同一个集群。此外,k-means 不能使用地理距离,并假设您的中心可以移动到任何所需的位置。

与其关注集群,不如关注资源分配,例如著名的hungarian algorithm。

【讨论】:

以上是关于如何在R中扭曲K-Means算法以找到服务人员的最佳分配[重复]的主要内容,如果未能解决你的问题,请参考以下文章

实施肘部方法以找到 R 中 K-Means 聚类的最佳聚类数 [关闭]

EM算法和K-Means算法

如何确定 k-means 算法的 K 值? [复制]

如何确定 k-means 算法的 K 值? [复制]

K-means算法原理与R语言实例

机器学习-K-means聚类及算法实现(基于R语言)