例:某学校有3个系,共200名学生,甲系103人,乙系63人,丙系34人,使用Q值法分配法、“Q值分配法+D’Hondt” 分配21个席位。

%Q值分配法
clc
clear
all=200;
all_des=21;
peo=[103 53 43];
p=floor(peo./all*all_des);
rest=all_des-sum(p);
for i=1:restQ=peo.^2./(p.*(p+1));[M,I]=max(Q);p(I)=p(I)+1;
end
p

​ 但是Q值分配法在名额较少或者参与分配部门比较多的时候,可能存在较大不公平,故提出来用"D‘Hondt +Q值分配法“,代码如下。具体讲解见参考资料。

%D'Hondt +Q值分配法
clc
clear
all=200;
all_des=21;
peo=[103 53 43];[m,n]=size(peo);
p1=zeros(m,n); %每部门分配的名额
[M1,I1]=max(peo);
p1(I1)=p1(I1)+1; %先把名额分配给人数最多的一组
while sum(p1)<all_des %先用D'Hondt法,逐一分配名额,直至每个系都有至少一个分配名额或分配名额数达到要求值if ismember(0,p1)[M2,I2]=max(peo./(p1+1));p1(I2)=p1(I2)+1;elsebreakend
end
if sum(p1)==all_desdisp(['使用D\''Hondt方法,且分配名额为',num2str(p1)]);return
else  %使用Q值分配方法p=floor(peo./all*all_des);rest=all_des-sum(p);for i=1:restQ=peo.^2./(p.*(p+1));[M,I]=max(Q);p(I)=p(I)+1;enddisp(['使用q值方法,且分配名额为',num2str(p)]);
end

参考资料:
https://wenku.baidu.com/view/efe0e5b702d276a201292e0c.html

数模笔记之“Q值分配法、比例加惯例(D‘Hondt)” matlab代码相关推荐

  1. 数模笔记(五):变异系数法

    数模笔记(一):线性规划.整数规划及非线性规划 数模笔记(二):层次分析法 数模笔记(三):灰色系统分析方法 数模笔记(四):插值与拟合 一.原理 若某项指标的数值差异较大,能明确区分开各被评价对象, ...

  2. Python数模笔记-Sklearn(2)聚类分析

    1.分类的分类 分类的分类?没错,分类也有不同的种类,而且在数学建模.机器学习领域常常被混淆. 首先我们谈谈有监督学习(Supervised learning)和无监督学习(Unsupervised ...

  3. Python数模笔记-NetworkX(4)最小生成树

    1.生成树和最小生成树 1.1 生成树 连通的无圈图称为树,就是不包含循环的回路的连通图. 对于无向连通图,生成树(Spanning tree)是原图的极小连通子图,它包含原图中的所有 n 个顶点,并 ...

  4. Python数模笔记-NetworkX(2)最短路径

    1.最短路径问题的常用算法 最短路径问题是图论研究中的经典算法问题,用于计算图中一个顶点到另一个顶点的最短路径. 欢迎关注 Youcans 原创系列,每周更新数模笔记 Python数模笔记-PuLP库 ...

  5. Python数模笔记-Sklearn(4)线性回归

    1.什么是线性回归? 回归分析(Regression analysis)是一种统计分析方法,研究自变量和因变量之间的定量关系.回归分析不仅包括建立数学模型并估计模型参数,检验数学模型的可信度,也包括利 ...

  6. Python数模笔记-NetworkX(3)条件最短路径

    1.带有条件约束的最短路径问题 最短路径问题是图论中求两个顶点之间的最短路径问题,通常是求最短加权路径. 条件最短路径,指带有约束条件.限制条件的最短路径.例如,顶点约束,包括必经点或禁止点的限制:边 ...

  7. Python数模笔记-NetworkX(1)图的操作

    1.NetworkX 图论与网络工具包 NetworkX 是基于 Python 语言的图论与复杂网络工具包,用于创建.操作和研究复杂网络的结构.动力学和功能. NetworkX 可以以标准和非标准的数 ...

  8. Python数模笔记-Sklearn (1)介绍

    1.SKlearn 是什么 Sklearn(全称 SciKit-Learn),是基于 Python 语言的机器学习工具包. Sklearn 主要用Python编写,建立在 Numpy.Scipy.Pa ...

  9. Python数模笔记-StatsModels 统计回归(3)模型数据的准备

    1.读取数据文件 回归分析问题所用的数据都是保存在数据文件中的,首先就要从数据文件读取数据. 数据文件的格式很多,最常用的是 .csv,.xls 和 .txt 文件,以及 sql 数据库文件的读取 . ...

  10. Python数模笔记-StatsModels 统计回归(2)线性回归

    1.背景知识 1.1 插值.拟合.回归和预测 插值.拟合.回归和预测,都是数学建模中经常提到的概念,而且经常会被混为一谈. 插值,是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数 ...

最新文章

  1. 容斥 + 爆搜打表 ---- 2020年南京icpc H.Harmonious Rectangle
  2. Spring 2.5:Spring MVC中的新特性
  3. hdu2100(大数加)
  4. WCF 第五章 并发和实例(服务行为)
  5. mysql什么时候用in,什么时候用exists
  6. 混合APP开发框架资料汇总
  7. EDGE X Kubernetes Meetup·杭州站:云原生在边缘的实践与应用
  8. 出让执行权:Task.Yield, Dispatcher.Yield
  9. Nginx利用nginx_upstream_check_module检查后端健康情况
  10. 搜索引擎特征码(转)
  11. Nginx应用场景之HTTP服务器
  12. 练打字-测试看图说话(AD安装)
  13. 程序员——神圣的职业
  14. Linux下Qt使用QAudio相关类进行音频采集,使用Windows下的Matlab软件播放
  15. 服务器拷贝数据库文件,服务器怎么拷贝数据库文件
  16. 破解压缩包密码-两行命令
  17. 关于买鸡的问题,5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡.现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?
  18. 如何购买华为服务器+云计算特点
  19. 电商干货!手淘宝贝关键词排名查询
  20. 单片机 STM32 HAL IO扩展 PCA9555

热门文章

  1. python 实现日期计算器
  2. 药店不停业盘点操作流程,海典盘点机PDA操作使用说明
  3. 明清时期江右商的宗族教育——江西流坑村的历史人类学考察
  4. Nodejs+MongoDB+WebRTC搭建视频通话协同应用
  5. 转:在浅薄时代,如何成为有深度的管理者?
  6. PS抠头发妙法(原创技巧)
  7. 【蓝凌系统】OA首页最新知识_正文表格模板
  8. 导致页面布局混乱的几个元凶
  9. 今天终于把爬虫的Ajax请求搞懂了
  10. 16位院士加盟!“双一流”上海大学成立人工智能研究院