跳动百科

玉楼春(a楼b楼)

单巧秋
导读 大家好,我是小跳,我来为大家解答以上问题。玉楼春,a楼b楼很多人还不知道,现在让我们一起来看看吧!一:问题的提出一一学校共1000学生,

大家好,我是小跳,我来为大家解答以上问题。玉楼春,a楼b楼很多人还不知道,现在让我们一起来看看吧!

一:问题的提出

一一学校共1000学生,235人住在A楼,333人住在B楼,432住在C楼。学生要组织一个10人委员会,试用数学建模来分配这10个委员。

二:变量说明

Ni:当前某楼所占有的委员数目(A楼:N1 B楼:N2 C楼:N3) Pi:某楼的人数 T:总人数

三:问题分析

一一本问题可以用两种方法来求解:一是惯例分配方法,二是Q值法。我们多要解决的问题是比较这两种方法,并通过分析结果建立出一种公平的数学模型。 惯例分配方法是按比例分配完取整数的名额后,剩下的名额按惯例分给小数部分较大者,Q值法是一种动态规划的方法,通过比较Q值来逐步确定多出的分给哪方。

四:基本假设 一一两种方法的实现 一一第一:只是考虑小数后的影响,为小数大的进行分配 一一第二:逐步添加,以基本为1出发

五:模型建立和求解

<一>:惯例分配方法求解

X楼 人数(Pi) 占总人数百分比 可分的人数 惯例分配法结果 A楼 235 0.253 2.53 3(人) B楼 333 0.333 3.33 3(人) C楼 432 0.432 4.32 4(人)

<二>:Q值法

①:利用的公式

②: matlab程序

clear all; A=[235 333 432]; n=[1 1 1]; %赋处值,为每楼都分一个 for i=1:7 %利用循环,通过判断Q值的大小决定给哪个楼加一个 temp=A.^2./ n.*(n +1)); [a,b]=sort(temp); n(b(3))=n(b(3))+1; end disp(n);

显示结果为:2,3,5 即为A楼分2个,为B楼分3个,为C楼分5个

六:模型分析与比较

1. 模型一只是简单的对小数部分进行了处理,这样从表中可以看出,虽然B楼的人数比A楼的多,但是分的人数却相同的,这样是不公平的 2. 模型的处理是一种动态的,通过对每个数据的比较来决定怎么样分才是公平的,从而达到了比较公平的效果

七:具体数据分析 惯例分配 A=235/1000*10 ans = 2.3500 B=333/1000*10 ans =3.3300 C=432/1000*10 ans =4.3200

根据小数的取舍 A为3 B为3 C为4

利用Q值的方法

当最初的时候每个的席位个数都为1,则可以进行下面的算法:

A:235*235/(1*(1+1)) ans =2.7613e+004 B:333*333/(1*(1+1)) ans =5.5445e+004 C:432*432/(1*(1+1)) ans =93312 对三个值进行比较:C的Q值比较大,给C的席位加一

再对C的Q值进行计算: C:432*432/(2*(2+1)) ans =31104

对三个值进行比较: A:235*235/(1*(1+1)) ans =2.7613e+004 B:333*333/(1*(1+1)) ans =5.5445e+004 C:432*432/(2*(2+1)) ans =31104 对三个值进行比较:得到B的Q值最大,给B的席位加一

再对B的Q值进行计算: B:333*333/(2*(2+1)) ans =1.8482e+004

A:235*235/(1*(1+1)) ans =2.7613e+004 B:333*333/(2*(2+1)) ans =1.8482e+004 C:432*432/(2*(2+1)) ans =31104 对三个值进行比较:得到A的Q值最大,给A的席位加一

再对A的Q值进行计算 A:235*235/(2*(2+1)) ans =9.2042e+003

A:235*235/(2*(2+1)) ans =9.2042e+003 B:333*333/(2*(2+1)) ans =1.8482e+004 C:432*432/(2*(2+1)) ans =31104 对三个值进行比较:得到C的Q值最大,给C的席位加一

再对C的Q值进行计算: C:432*432/(3*(3+1))ans =15552

A:235*235/(2*(2+1)) ans =9.2042e+003 B:333*333/(2*(2+1)) ans =1.8482e+004 C:432*432/(3*(3+1)) ans =15552 对三个值进行比较:得到B的Q值最大,给B的席位加一

再对B的Q值进行计算: B:333*333/(3*(3+1)) ans =9.2408e+003

A:235*235/(2*(2+1)) ans =9.2042e+003 B:333*333/(3*(3+1)) ans =9.2408e+003 C:432*432/(3*(3+1)) ans =15552 对三个值进行比较:得到C的Q最大,给C的席位加一

再对C的Q值进行计算: C:432*432/(4*(4+1))ans =9.3312e+003

A:235*235/(2*(2+1)) ans =9.2042e+003 B:333*333/(3*(3+1)) ans =9.2408e+003 C:432*432/(4*(4+1))ans =9.3312e+003 进行三个值的比较:得到C的Q值最大,给C的席位加一

现在10个席位都分配完了 得到 A:2 B:3 C:5

八:对模型的评价

一一模型2对算法要求较高,如果需要分配的人数比较多,会不断增加循环的次数,这样就对数学软件的以来比较高,而对于第一个模型,会出现很多不公平的现象,但是对于一般对公平性要求不高的分配是非常实用的,因为它的算法非常简单。

本文到此讲解完毕了,希望对大家有帮助。