如何编写优化此调度对齐的代码

时间:2017-10-02 04:37:43

标签: optimization matching schedule

我有一个名单列表和一堆“是”或“否”条目,表明某人是否在某个时间有空。它看起来像这样:

names = ['Jim Green',
  'Yes',
  'Yes',
  'Yes',
  'No',
  'Yes',
  'Yes',
  'Yes',
  'Yes',
  'No',
  'Yes',
  'No',
  'No',
  'Yes',
  'Yes',
  'No',
  'Yes',
  'No',
  'No',
  'No',
  'Yes',
  'Yes'],
 ['Tom Brown',
  'No',
  'Yes',
  'Yes',
  'Yes',
  'Yes',
  'No',
  'Yes',
  'No',
  'Yes',
  'No',
  'Yes',
  'No',
  'No',
  'Yes',
  'No',
  'No',
  'No',
  'Yes',
  'No',
  'Yes',
  'No'],
 ['Silly Guy',
  'Yes',
  'Yes',
  'No',
  'No',
  'No',
  'Yes',
  'No',
  'No',
  'Yes',
  'Yes',
  'Yes',
  'No',
  'Yes',
  'No',
  'Yes',
  'Yes',
  'Yes',
  'Yes',
  'Yes',
  'Yes',
  'Yes']]

这会持续13个条目。由此,我设法创建了一个列表列表,显示了人与人之间有多少“是”和“否”条目匹配。它看起来像这样:

counter_list = [[22, 4, 9, 9, 10, 15, 11, 16, 9, 10, 9, 10, 11],
 [4, 22, 10, 12, 9, 8, 10, 9, 16, 7, 14, 9, 10],
 [9, 10, 22, 11, 10, 11, 11, 10, 9, 12, 7, 8, 9],
 [9, 12, 11, 22, 12, 13, 9, 10, 9, 14, 9, 10, 5],
 [10, 9, 10, 12, 22, 10, 10, 7, 6, 11, 10, 11, 6],
 [15, 8, 11, 13, 10, 22, 7, 14, 9, 10, 9, 10, 7],
 [11, 10, 11, 9, 10, 7, 22, 10, 11, 14, 11, 6, 11],
 [16, 9, 10, 10, 7, 14, 10, 22, 12, 7, 10, 11, 10],
 [9, 16, 9, 9, 6, 9, 11, 12, 22, 6, 11, 8, 13],
 [10, 7, 12, 14, 11, 10, 14, 7, 6, 22, 8, 9, 10],
 [9, 14, 7, 9, 10, 9, 11, 10, 11, 8, 22, 10, 11],
 [10, 9, 8, 10, 11, 10, 6, 11, 8, 9, 10, 22, 10],
 [11, 10, 9, 5, 6, 7, 11, 10, 13, 10, 11, 10, 22]] 

每个列表中的“22”条目表明个人具有与他们完全匹配的可用时间。数字越大意味着一个人对相应的条目有更接近的时间表。我想要做的是编写一个类似上面列表的程序,并创建4人组,他们的日程安排大致相同。

我根本不知道从哪里开始尝试这样做。有人可以指出我正确的方向吗?

0 个答案:

没有答案