生成满足R中某些条件的0/1的m X n数组

时间:2015-07-23 16:07:45

标签: arrays r math

我正在研究一个问题,表面看起来很容易,但我一直无法找到解决问题的关键。我认为利用R的力量可能相对微不足道。

基本前提是这个。您在网络活动中有32人。有4张桌子,每次可容纳8人。在活动中有四轮人们相遇。我们的想法是在整个回合中设置一个座位安排,使每个人尽可能地满足最多的独特人数。

所以基本上你有一个16(表*圆:t1r1,t1r2,......等))列X 32(人数)行数组0/1(0 =未坐在表/圆上, 1 =坐在桌子/圆形上)。阵列必须满足以下条件:

  1. 人们只能有四轮,所以所有的rowums都应该是4。
  2. 每个桌子/圆形组合只能容纳8人,因此所有的colsums应该是8
  3. 每个人只能在一个桌子上一次,所以每列表格列必须为1(t1r1 + t1r2 + t1r3 + t1r4 = 1)
  4. 每个人每轮只能有一个,所以圆柱的行数必须为1(t1r1 + t2r1 + t3r1 + t4r1 = 1)
  5. 我确信有数学解决方案,但我认为通过生成矩阵并保存那些符合这些条件的方法,可以更快地强制它。这是最好的方式吗?我愿意接受其他建议。

0 个答案:

没有答案