帮助正确解决此问题

数据挖掘 机器学习 Python 机器学习模型
2022-03-06 22:01:31

新手在这里试图解决这个问题:

我有一个数据集,如下所示:

facility_id   area_zipcode  staff_count   population
FacilityA       98007           21          24889
FacilityB       98290           52          32714
FacilityC       98065           43          12699
FacilityD       98801           9           40977
FacilityE       98104           64          13095

这是我的问题陈述

在五个不同的地区有五个医疗机构,每个机构都有各自的员工人数。特定区域的人口只能前往离他们最近的设施。因此,对于居住在 A 区的人来说,设施 A 是最近的,但有时员工人数可能不足以应付所有人。

我们假设至少有一半的人口需要医疗保健,而一名工作人员每年只能照顾大约 2000 名患者。我们将如何优化所有这些设施中的员工分布,以便所有五个设施都可以服务于大多数人口,从而最大限度地减少每个人的旅行时间。基本上将员工人数分配到最需要他们的地方,增加或减少设施的容量。

到目前为止我的猜测:

这当然不是分类问题,我认为这是一个回归问题,因为我们对一些实际价值输出感兴趣,即每个设施的最佳员工人数。因为我们有多个输出,所以我倾向于多输出回归。我还应该使用 bing maps API 找到旅行时间,我已经成功地弄清楚了如何去做,但我对如何处理所有这些旅行时间感到困惑。(如 a 到 b、a 到 c、a 到 d 等)或如何将它们添加到我的数据集中。问题陈述中似乎有两个优先事项:

1) 优化人员数量

2) 尽量减少旅行时间

目前我对如何解决这个问题有点困惑,我希望有人能指出我正确的方向,如何建模这个问题以及如何实现这两个目标。我正在使用 python,我可以做出任何假设来简化问题。任何帮助表示赞赏!

另外,如果您知道研究论文或其他研究过类似问题的人,请指导我如何查找它们,这是什么类型的问题等?

1个回答

这个问题听起来像是一个优化问题,目标是在约束下找到最佳解决方案。在这种情况下,解决方案空间将在满足人员限制的同时最大限度地减少旅行时间。

通常最困难的方面是将原始数据编码为适用于优化求解器的格式。通常,尝试一种可能可行的最简单的编码。例如,使用距离作为旅行时间的代理。

PuLP是 Python 的线性编程包,一旦正确编码就可以解决问题。