公平席位分配问题程序.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
公平席位分配问题程序

公平的席位分配问题 1.问题: 席位分配在社会活动中经常遇到,如:人大代表或职工学生代表的名额分配和其他物质资料的分配等。通常分配结果的公平与否以每个代表席位所代表的人数相等或接近来衡量。目前沿用的惯例分配方法为按比例分配方法,即: 某单位席位分配数 某单位总人数比例 总席位 如果按上述公式参与分配的一些单位席位分配数出现小数,则先按席位分配数的整数分配席位,余下席位按所有参与席位分配单位中小数的大小依次分配之。这种分配方法公平吗?下面来看一个学院在分配学生代表席位中遇到的问题: 某学院按有甲乙丙三个系并设20个学生代表席位。它的最初学生人数及学生代表席位为 系名 甲 乙 丙 总数 学生数 100 60 40 200 学生人数比例 100/200 60/200 40/200 席位分配 10 6 4 20 后来由于一些原因,出现学生转系情况,各系学生人数及学生代表席位变为: 系名 甲 乙 丙 总数 学生数 103 63 34 200 学生人数比例 103/200 63/200 34/200 按比例分配席位 10.3 6.3 3.4 20 按惯例席位分配 10 6 4 20 由于总代表席位为偶数,使得在解决问题的表决中有时出现表决平局现象而达不成一致意见。为改变这一情况,学院决定再增加一个代表席位,总代表席位变为21个。重新按惯例分配席位,有 系名 甲 乙 丙 总数 学生数 103 63 34 200 学生人数比例 103/200 63/200 34/200 按比例分配席位 10.815 6.615 3.57 21 按惯例席位分配 11 7 3 21 这个分配结果出现增加一席后,丙系比增加席位前少一席的情况,这使人觉得席位分配明显不公平。这个结果也说明按惯例分配席位的方法有缺陷,请尝试建立更合理的分配席位方法解决上面代表席位分配中出现的不公平问题。 2.建立模型并分析: 模型公式: 于是知道增加的席位分配可以由的最大值决定,且它可以推广到多个组的一般情况。用的最大值决定席位分配的方法称为值法。 对多个组(m个组)的席位分配Q值法可以描述为: 1.先计算每个组的值: , k 1,2,…,m 2.求出其中最大的值(若有多个最大值任选其中一个即可) 3.将席位分配给最大值对应的第组。 3.matlab编程: function [q] xwfp P,N %xwfp是公平席位分配函数 %语法[] xwfp P,N,m %输入参数 %P--各组人数的数据文件 %m—组数 %N--总席位数 %输出参数 %q--每组应分配的席位数 %程阳编写于2013年3月10日 [x,y] size P ; m x*y; q []; Q []; p sum P ; for i 1:m q i fix P 1,i /p *N ; end q; for i 1:m Q i P i *P i / q i * q i +1 ; end Q; if sum q N q return; else for i 1:m if Q i max Q q i q i +1; Q i P i *P i / q i * q i +1 ; end end disp 最后分配方案: end 4.用matlab求解上述问题 输入参数:P [103 63 34]; N 21; 调用所编写的matlab程序:[q] xwfp P,N 得到结果如下: 最后分配方案: q 11 6 4 5.人工计算求解,验证上述结果 先按应分配的整数部分分配,余下的部分按值分配。 本问题的整数名额共分配了19席,具体为: 甲   10.815 乙   6.615 丙   3.570 对第20席的分配,计算值 ; ; 因为最大,因此第20席应该给甲系; 对第21席的分配,计算值 ; ; 因为Q3最大,因此第21席应该给丙系 最后的席位分配为: 甲 11席  乙  6席 丙  4席 注:若一开始就用值分配,以逐次增加一席,也可以得到同样的结果。

文档评论(0)

peain + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档