使用人工智能C#进行团队分配

时间:2018-10-17 15:14:25

标签: c# artificial-intelligence genetic-algorithm

我是人工智能领域的新手,正尝试使用它学习和解决以下问题。我已经使用条件检查使用传统的C#代码解决了问题,现在我正在尝试AI。

将有2种团队,

1. AT (A Team) - 5 AT Teams with 4 members each
2. BT (B Team) - 5 BT Teams with 2 members each

Total 10 teams and 30 members

成员将有4种,

1. SH - Software Head (Above 35 years old)
2. SE - Senior Engineer (30-34 years old)
3. E - Engineer (20-29 years old)
4. DH - Design Head (Above 30 years old)
5. D - Designer (20-29 years old)

每个团队都有足够的成员,我想根据该年龄分配团队成员,

AT (A Team) =  1 SH + 1 SE + 2 E
BT (B Team) =  1 DH + 1 D

经过大量研究,我猜想遗传算法是我最好的选择(如果有其他解决方案,请纠正我)。

我遇到了以下时间表分配链接和良好的C#库Genetic Sharp。

https://github.com/pranavkhurana/Time-table-scheduler
https://github.com/Altav1sta/TimetableGenerator
https://github.com/giacomelli/GeneticSharp

时间表的分配是关于将老师分配到教室。但就我而言,有不同种类的团队和不同种类的成员。

我的问题是

  1. 我无法理解在我的情况下如何将基因表示为字符串或数组。另外我也无法完全理解时间表问题中该基因的表达方式。
  2. 应使用哪种选择方式:精英,轮盘赌,随机通用抽样,锦标赛

由于我是新手,所以有人可以帮助您理解这一点。

0 个答案:

没有答案