欢迎来到天天文库
浏览记录
ID:38027407
大小:32.00 KB
页数:3页
时间:2019-05-24
《公平的席位分配(MATLAB程序)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、席位分配问题的MATLAB程序说明:1.本程序用三种方法,分别是惯例法、d’honht分配法和Q值法。2.可以模拟出任意一种分配情况,即可以推广到N种情形。3.三种分配方案供你选择,相互比较。4.请务必阅读注意事项。注意:1.以下包含两个程序,下载完后把程序拷贝到matlab的M文件中,2.第一个程序可以任意命名,只要符合规范就可以(本人以”xiweifenpei”命名,这样便于查看),第二个程序一定要命名为“xiwei”,因为程序中要用到函数。3.下载完后先把程序拷贝到txt文件中,再从txt拷贝到M文件中,这样可以避免乱码。程序一:clearallclcdis
2、p('席位分配:')P=1000p=[235333432]N=10[x,y]=size(p);zu=x*y;disp('惯例分配方法:')fori=1:zun(i)=p(i)*N/P;endn;m=n-fix(n);fori=1:zuifn(i)==max(m)+fix(n(i))n(i)=fix(n(i))+1;elsen(i)=fix(n(i));endenddisp('惯例分配人数:')ndisp('d’honht方法:')pp=[];fori=1:Npi=p/i;pp=[pp;pi];endppm=zeros(1,zu);fori=1:N[x,y]=fin
3、d(pp==max(pp(:)));pp(x,y)=0;m(y)=m(y)+1;endppdisp('d’honht分配人数:')mdisp('Q值法分配方法:')q=ones(1,zu);Q=[];p;fori=1:zuQ(i)=p(i)*p(i)/(q(i)*(q(i)+1));endQ;xiwei(p,q,Q,N,zu)程序二:再次提醒,以“xiwei”为文件名保存,functionxiwei(p,q,Q,N,zu)ifsum(q)==Ndisp('Q值法分配人数:')qreturn;elsefori=1:zuifQ(i)==max(Q)q(i)=q(i)+
4、1;Q(i)=p(i)*p(i)/(q(i)*(q(i)+1));break;endendendxiwei(p,q,Q,N,zu)
此文档下载收益归作者所有