代码中的演化 第2部分 如何使用遗传算法解决员工分配问题

代码演化 第2部分 遗传算法解决员工分配问题

数据科学。算法。人工智能。优化

使用遗传算法解决员工资源分配问题

简介

Photo by Kentaro Toma on Unsplash

如果您从我之前的文章《Evolution in Your Code: Understanding and Coding Genetic Algorithm From Scratch — Part 1》跳转到这里,欢迎回来。

如果您是新来的,我建议先阅读第一部分,这样会更容易理解下面我们要编写的代码的思路。

在本文中,让我们尝试解决快餐环境下的资源分配问题,这是优化课程中研究最多的问题之一。

快餐环境下的资源分配问题

假设一家餐厅正在决定如何在其三个主要部门之间分配资源:

  • 烹饪
  • 组装
  • 服务

这些问题的目标是最大化客户满意度,在我们的情况下,我们假设满意度取决于这些部门的效率。

将有15名员工在这些部门之间进行调动,每个部门需要至少3名员工

每个员工在每个部门的效率率不同,范围从0到1,其中较高的效率表示在该部门中更合适。

客户满意度被计算为每个部门员工效率率的平均值的乘积

以下是我们的额外假设:

  • 所有员工工作时间相同。
  • 部门的效率仅为其员工效率的平均值。
  • 部门员工数量不会影响其效率,除了员工个体的效率之外——也就是说,没有递减回报,也没有与更多员工实现的协同效应。