2023年高教社杯数学建模思路 - 复盘:人力资源安排的最优化模型

文章目录

  • 0 赛题思路
    • 1 描述
    • 2 问题概括
    • 3 建模过程
      • 3.1 边界说明
      • 3.2 符号约定
      • 3.3 分析
      • 3.4 模型建立
      • 3.5 模型求解
    • 4 模型评价与推广
    • 5 实现代码
  • 建模资料

0 赛题思路

(赛题出来以后第一时间在CSDN分享)

https://blog.csdn.net/dc_sinor?type=blog

1 描述

某大学数学系人力资源安排问题是一个整数规划的最优化问题,通过具体分析数学系现有的技术力量和各方面的约束条件,在问题一的求解中,可以列出一天最大直接收益的整数规划,求得最大的直接收益是42860元;而在问题二的求解中,由于教授一个星期只能工作四天,副教授一个星期只能工作五天,在这样的约束条件下,列出一个星期里最大直接收益的整数规划模型,求得其最大直接收益是198720元。

2 问题概括

数学系的教师资源有限,现有四个项目来源于四个不同的客户,工作的难易程度不一,各项目对有关技术人员的报酬不同。所以:

1.在满足工作要求的情况下,如何分配数学系现有的技术力量,使得其一天的直接收益最大?

2.在教授与副教授工作时间受到约束的条件下,如何分配数学系现有的技术力量,使得其在一个星期里的直接收益最大?

3 建模过程

3.1 边界说明

1.不同技术力量的人每天被安排工作的几率是相等的,且相同职称的个人去什么地方工作是随机的;

2.客户除了支付规定的工资额外,在工作期间里,还要支付所有相关的花费(如餐费,车费等);

3.当天工作当天完成.

3.2 符号约定

在这里插入图片描述

3.3 分析

由题意可知各项目对不同职称人员人数都有不同的限制和要求.对客户来说质量保证是关键,而教授相对稀缺,因此各项目对教授的配备有不能少于一定数目的限制.其中由于项目技术要求较高,助教不能参加.而两项目主要工作是在办公室完成,所以每人每天有50元的管理费开支.

由以上分析可得:最大直接收益=总收益-技术人员工资-、两地保管费.

3.4 模型建立

在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.5 模型求解

相关数据表格如下:
数学系的职称结构及工资情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 模型评价与推广

本模型通过合理的假设,充分考虑各方面的限制条件,得出的人员安排和直接收益

都是本模型的最优解与最优值,对武汉大学数学系的人力资源安排有一定的指导作用。但从模型假设中,我们可以知道对数

学系现有的技术力量的安排是随机的,在相同工作时段里,可能会出现部分人工作次数较多,而部分人较少的不公平情况。

所以在满足工作需求的情况下,分配工作时应该要人为地尽量使得每个人的工作次数不要相差太远,或者相等。

此模型通过对人力资源的调配,从量化的角度得出数学系的最大直接收益。利用此模型的方法可以求出所有类似本模型的线性规划模型。但是,本模型只是单目标的规划,可以在此基础上,增加目标要求。如在数学系的直接收益尽可能大的基础上,使得客户所花费的资金最少,等等。从而建立多目标规划模型。解决更为复杂的实际问题。

5 实现代码

f=[-1000;-800;-550;-450;-1500;-800;-650;-550;-1300;-900;-650;-350;-1000;-800;-650;-450];
A=zeros(9,16);
for i=1:1for j=1:16A(i,j)=1; end
end
for i=2:5for j=i-1:4:11+iA(i,j)=1;end
end
i0=0;
for i=6:9for j=i0+1:(i-5 )*4A(i,j)=1;endi0=j;
end
b=[64;17;20;15;18;12;25;17;10];
Aeq=zeros(1,16);
Aeq(1,3)=1;
beq=[2];
LB=[1;2;2;1;2;2;2;2;2;2;2;1;1;3;1;0];
UB=[3;5;2;2;inf;inf;inf;8;inf;inf;inf;inf;inf;inf;inf;0];
[x,fval]=linprog(f,A,b,Aeq,beq,LB,UB)f=[-1000;-1000;-1000;-1000;-1000;-1000;-1000;-1500;-1500;-1500;-1500;-1500;-1500;-1500;-1250;-1250;-1250;-1250;-1250;-1250;-1250;-950;-950;-950;-950;-950;-950;-950;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-800;-850;-850;-850;-850;-850;-850;-850;-750;-750;-750;-750;-750;-750;-750;-600;-600;-600;-600;-600;-600;-600;-700;-700;-700;-700;-700;-700;-700;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-650;-500;-500;-500;-500;-500;-500;-500;-600;-600;-600;-600;-600;-600;-600;-350;-350;-350;-350;-350;-350;-350;-450;-450;-450;-450;-450;-450;-450];
A=zeros(60,112);
for i=1;1for j=1:112A(i,j)=1;end 
end
i0=0;
for i=2:4for j=i0+1:(i-1)*28A(i,j)=1;endi0=j;
end
for i=5:32for j=(i-4):28:80+iA(i,j)=1;end
end
for i=33:39for j= i-32:7:(i-11)A(i,j)=1;end
end
j0=j;
for i=40:46for j=j0+(i-39):7:(i-18)+j0A(i,j)=1;end
end
j0=j;
for i=47:53for j=j0+(i-46):7:j0+(i-25)A(i,j)=1;end
end
j0=j;
for i=54:60for j=j0+(i-53):7:j0+(i-32)A(i,j)=1;end
end
b=[362;48;125;119;17;17;17;17;17;17;17;20;20;20;20;20;20;20;15;15;15;15;15;15;15;18;18;18;18;18;18;18;12;12;12;12;12;12;12;25;25;25;25;25;25;25;17;17;17;17;17;17;17;10;10;10;10;10;10;10];
UB=[3;3;3;3;3;3;3;5;5;5;5;5;5;5;3;3;3;3;3;3;3;2;2;2;2;2;2;2;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;8;8;8;8;8;8;8;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;+inf;0;0;0;0;0;0;0];
LB=[1;1;1;1;1;1;1;2;2;2;2;2;2;2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;2;1;1;1;1;1;1;1;1;1;1;1;1;1;1;3;3;3;3;3;3;3;1;1;1;1;1;1;1;0;0;0;0;0;0;0];
Aeq=zeros(7,112);
for i=1:7Aeq(i,i+14)=1;
end
beq=[2;2;2;2;2;2;2];
[x,fval]=linprog(f,A,b,Aeq,beq,LB,UB)

建模资料

资料分享: 最强建模资料
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/49831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第2篇:ESP32 helloword第一个程序示范点亮板载LED

1.选择ESP32开发板 2.寻找串口号,win10自动安装驱动 手动安装驱动参考: 百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可…

markdown样式覆盖的解决方案

背景 最近公司在搞的ai项目中遇到了一个场景,公司一个新的ai项目在最开始搭建项目的直接引用了reset.css,项目开发到一半需要引用react-markdown插件展示gpt返回的内容,但是渲染的时候发现例如h1、h2、li、ui标签等等的默认样式由于reset的原…

ipad可以用别的品牌的手写笔吗?开学平价电容笔推荐

开学需要买什么呢?随着科技的不断进步,各种类型的iPad电容笔应运而生。一支好的电容笔,不仅能大大提高我们的工作效率,而且能大大提高我们的生产力。平替的这款电容笔,不管是在技术上,还是在品质上&#xf…

关于路由器和DNS解析的一些新理解

其实我本人对于交换机和路由器这些网络硬件是比较感兴趣的,也在一点一点的学习相关知识,每次解决一个问题,就让我对一些事情有新的思考。。 今天前台同事,的机器突然上不了网,,和领导一起去看了一波&#…

Vue-12.集成postcss.config.js

PostCSS 介绍 PostCSS 是一个用于处理样式的工具,可以通过插件来定制其行为。以下是一些常用的 PostCSS 插件和 API 的介绍: Autoprefixer: 这是一个流行的 PostCSS 插件,用于自动添加浏览器前缀,以确保您的样式在不同浏览器中具…

jmeter CSV 数据文件设置

创建一个CSV数据文件:使用任何文本编辑器创建一个CSV文件,将测试数据按照逗号分隔的格式写入文件中。例如: room_id,arrival_date,depature_date,bussiness_date,order_status,order_child_room_id,guest_name,room_price 20032,2023-8-9 14:…

向量数据库 Milvus:实现高效向量搜索的技术解析

引言 随着人工智能、机器学习和深度学习技术的不断发展,越来越多的应用开始使用向量表示数据。向量数据具有高维、稀疏和相似性等特点,传统的关系型数据库和键值存储在处理这类数据时面临许多挑战。为了满足大规模、高并发的向量搜索需求,出现…

C++--动态规划两个数组的dp问题

1.最长公共子序列 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串…

Java Heap Space(堆内存溢出)问题 ,想找一个扫描代码的工具

以下是几个受欢迎的工具: FindBugs:它是一个静态代码分析工具,专门用于查找 Java 代码中潜在的 bug 和问题。它可以帮助您发现一些常见的内存泄漏和资源管理问题。 PMD:类似于 FindBugs,PMD 也是一个静态代码分析工具…

Nginx+Tomcat负载均衡、动静分离

目录 NginxTomcat负载均衡、动静分离群集 Nginx配置反向代理的主要参数 动静分离原理 反向代理两种模式 七层反向代理 四层反向代理 Nginx 负载均衡模式(调度算法) nginx的会话保持 为什么使用动静分离 为什么使用负载均衡 正向代理和反向代理…

Unity 之NavMeshAgent 组件(导航和路径寻找的组件)

文章目录 **作用**:**属性和方法**:**用途**:**注意事项**: NavMeshAgent 是Unity引擎中用于导航和路径寻找的组件。它可以使游戏对象在场景中自动找到可行走的路径,并在避免障碍物的情况下移动到目标位置。 以下是关于…

在当今信息化社会中的安全大文件传输

随着科技的不断进步,数据已经成为各个领域和行业的宝贵财富。然而,随之而来的数据传输和交换问题也成为一个日益突出的挑战。在这篇文章中,我们将探讨在当今信息化社会中的安全大文件传输的重要性,以及如何应对传统传输方式所面临…

穿起“新架构”的舞鞋,跳一支金融数字化转型的华尔兹

华尔兹,是男女两位舞者,通过形体的控制,舞步技巧的发挥,完美配合呈现而出的一种舞蹈形式。华尔兹舞姿,如行云流水、潇洒自如、飘逸优美,素有“舞中皇后”的美称。 在跳华尔兹的时候,如果舞者双…

SQL 盲注

问题描述&#xff1a; 解决方案&#xff1a; 通过建立过滤器方法 添加拦截器&#xff1a; web.xml 文件配置拦截器 <filter><filter-name>sqlFilter</filter-name><filter-class>com.fh.filter.SqlFilter</filter-class></filter> pack…

vue3 03-ref函数使用

使用ref创建响应式数据 只支持 简单or 复杂 数据转换 使用ref&#xff1a; 1.导入ref函数 2.创建响应式数据 3.返回数据 4.展示内容 <template><p> 年龄:{{ count }}</p><button click"count">加一岁</button><button click"…

Vue与React的对比(API)

组件传值 VUE // 父组件 <GoodsList v-if"!isGoodsIdShow" :goodsList"goodsList"/> // 子组件 -- 通过props获取即可 props: {goodsList:{type:Array,default:function(){return []}}}REACT // 父组件 export default function tab(props:any) {…

Python将网络文件下载到本地

Python将网络文件下载到本地 前言相关介绍Python将网络文件下载到本地 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改正。更多精彩内容&#xff0c;可点击进入Python日常小操作专栏、YOLO系列专栏、自然语言处理专栏或我的个人主页查看基于DETR的人脸伪…

【Git版本控制工具使用---讲解一】

Git版本控制工具使用 安装设置用户名签名和邮箱Git常用的命令 初始化本地库查看本地状态Git 命令添加暂存区提交本地库查看版本信息修改文件版本穿梭 安装 首先根据自身电脑的配置选择性的安装是32位的还是64位的Git版本控制工具 我这边安装的是64位的 以下是我安装的时候的过…

信号的傅里叶分析之傅里叶级数

1 为什么要进行傅里叶分析 信号分析方法主流方法有&#xff1a; &#xff08;1&#xff09;时域分析&#xff1a;以冲激信号为基本信号&#xff0c;任意输入信号可分解为一系列冲激信号&#xff1b; &#xff08;2&#xff09;频域分析&#xff1a;以正弦信号和虚指数信号为基…

springboot2+redis 订阅发布,解决接收消息累计线程到内存溢出,使用自定义线程池接收消息

pom 添加redis <!-- redis 缓存操作 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 发布消息 import lombok.extern.slf4j.Slf4j; import o…