这篇实验报告主要涉及了两种公平的席位分配方法:参照惯例的席位分配方法和Q值方法,这两种方法常用于解决资源分配问题,例如在选举、会议代表分配等场景。实验目的是让学生理解这两种方法的区别,并能熟练运用MATLAB进行计算。
1. **参照惯例的席位分配方法**:
- 此方法基于各单元人数的比例分配席位。
- 根据每个单元的人数计算按比例应得的席位数。
- 然后,对计算结果取整,得到初步的席位分配。
- 如果取整后的席位总数小于原始席位总数,说明还有剩余席位。此时,将未分配的席位按照未分配席位的小数部分从大到小分配,每个单位最多再分配一个席位。
实验中,设有甲乙丙三个系,学生人数分别为103、63、34,席位总数分别为20和21。通过MATLAB中的`fapt1.m`函数,可以得到如下结果:
- 当有20个席位时,甲系分配10个,乙系分配6个,丙系分配4个,且丙系的小数部分0.4被分配了一个席位。
- 当有21个席位时,甲系分配11个,乙系分配7个,丙系分配3个,此时没有剩余席位。
2. **Q值方法**:
- Q值方法是基于分配后单位的相对增长来决定席位的分配。
- 每当增加一个席位,计算所有单位的Q值,Q值定义为单位人数与已有席位数的平方比值,然后将席位分配给Q值最大的单位。
- 使用MATLAB中的`fapt2.m`函数,同样处理上述案例,得到的结果与参照惯例的方法有所不同。
- 当有20个席位时,甲系分配10个,乙系分配6个,丙系分配4个。
- 当有21个席位时,甲系分配11个,乙系分配7个,丙系分配3个,这与参照惯例的结果相同。
通过比较两种方法的结果,我们可以看到在某些情况下,两者可能会得到相同的结果,但在席位分配的细节上可能存在差异。Q值方法考虑了单位分配新席位后的相对增长,而参照惯例的方法更侧重于初始比例的直接分配。实验要求学生分析这两个结果是否合理,这需要理解两种方法背后的原则和目标。
这个实验旨在帮助学生掌握公平的席位分配理论,通过实践操作加深理解,并能灵活运用MATLAB编程解决实际问题。