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.rhkb.cn/news/107957.html

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

相关文章

手把手教你用 ANSYS workbench

ANSYS Workbench ANSYS Workbench是一款基于有限元分析(FEA)的工程仿真软件。其基本概念包括: 工作区(Workspace):工程仿真模块都在此区域内,包括几何建模、网格划分、边界条件设置、分析求解等…

Ubuntu-Server 22.04安装详细过程-图文版

一.下载Ubuntu Server镜像,官方地址下载即可 https://ubuntu.com/download/server 乌班图镜像网址,点击下载即可 二.安装乌班图镜像,最好自己准备u盘在ISO软件内制作完成 1.选择 Install Ubuntu Server 2.选择安装语言为英语 3.安装程序更新选…

C#,《小白学程序》第二课:数组与排序

1 文本格式 /// <summary> /// 《小白学程序》第二课&#xff1a;数组与排序 /// </summary> /// <param name"sender"></param> /// <param name"e"></param> private void button2_Click(object sender, EventArgs …

Vue3(开发h5适配)

在开发移动端的时候需要适配各种机型&#xff0c;有大的&#xff0c;有小的&#xff0c;我们需要一套代码&#xff0c;在不同的分辨率适应各种机型。 因此我们需要设置meta标签 <meta name"viewport" content"widthdevice-width, initial-scale1.0">…

SD 总线引脚介绍

参考 https://www.cnblogs.com/justin-y-lin/p/12259851.html SD卡与TF卡的引脚定义 - 360文档中心

java+springboot+mysql医院预约挂号管理系统

项目介绍&#xff1a; 使用javaspringbootmysql开发的医院预约挂号管理系统&#xff0c;系统包含超级管理员、管理员、医生、患者角色&#xff0c;功能如下&#xff1a; 超级管理员&#xff1a;管理员管理&#xff1b;用户管理&#xff1b;科室管理&#xff1b;床位管理&…

Linux系统编程之文件编程常用API回顾和文件编程一般步骤

目录 1.打开文件 2.创建文件 3.写入文件 4.读取文件 5.光标定位 6.关闭文件 7.文件编程一般步骤 Linux系统提供了一些常用API如&#xff1a; 打开/创建 open/creat 读写 write /read 光标定位 Iseek 关闭 close 1.打开文件 参数说明 Pathname:要打开的文件名 (含路径&…

Python 通过traceback追溯异常信息

Python 通过traceback追溯异常信息 导入traceback包 import traceback自定义函数 def func_3():return 1 / 0def func_2():func_3()def func_1():func_2()捕捉异常 try:func_1() except Exception as e:traceback_info traceback.format_exc()print("traceback_info"…

桌面图标不显示

问题 桌面图标不显示 解决办法 鼠标 右击->选择-查看->显示桌面图标

深入探讨C存储类和存储期——Storage Duration

&#x1f517; 《C语言趣味教程》&#x1f448; 猛戳订阅&#xff01;&#xff01;&#xff01; ​—— 热门专栏《维生素C语言》的重制版 —— &#x1f4ad; 写在前面&#xff1a;这是一套 C 语言趣味教学专栏&#xff0c;目前正在火热连载中&#xff0c;欢迎猛戳订阅&#…

Linux CentOS安装抓包解包工具Wireshark图形化界面

1.Wireshark介绍 Wireshark 是一个开源的网络协议分析工具&#xff0c;它能够捕获和分析网络数据包&#xff0c;提供深入的网络故障排除、网络性能优化和安全审计等功能。它支持跨多个操作系统&#xff0c;包括 Windows、macOS 和 Linux。 2.Wireshark主要使用方法 捕获数据…

智能井盖传感器,物联网智能井盖系统

随着城市人口的不断增加和城市化进程的不断推进&#xff0c;城市基础设施的安全和可靠性变得愈发重要&#xff0c;城市窨井盖作为城市基础设施重要组成部分之一&#xff0c;其安全性事关城市安全有序运行和居民生产生活安全保障。 近年来&#xff0c;各地都在加强城市窨井盖治理…

el-backtop返回顶部的使用

2023.8.26今天我学习了如何使用el-backtop组件进行返回页面顶部的效果&#xff0c;效果如&#xff1a; <el-backtop class"el-backtop"style"right: 20px; bottom: 150px;"><i class"el-icon-caret-top"></i></el-backtop&…

16、Flink 的table api与sql之连接外部系统: 读写外部系统的连接器和格式以及JDBC示例(4)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

跳跃游戏【贪心算法】

跳跃游戏 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。在这里插入图片…

【Linux】多线程概念线程控制

文章目录 多线程概念Linux下进程和线程的关系pid本质上是轻量级进程id&#xff0c;换句话说&#xff0c;就是线程IDLinux内核是如何创建一个线程的线程的共享和独有线程的优缺点 线程控制POSIX线程库线程创建线程终止线程等待线程分离 多线程概念 Linux下进程和线程的关系 在…

MySql015——使用子查询

一、创建customers表 ######################## # Create customers table ######################## use study;CREATE TABLE customers (cust_id int NOT NULL AUTO_INCREMENT,cust_name char(50) NOT NULL ,cust_address char(50) NULL ,cust_city char…

9.oracle中sign函数

在Oracle/PLSQL中, sign 函数返回一个数字的正负标志. 语法如下&#xff1a;sign( number ) number 要测试标志的数字. If number < 0, then sign returns -1. If number 0, then sign returns 0. If number > 0, then sign returns 1. 应用于: Oracle 8i, Oracle …

Idea配置Remote Host

一、打开RemoteHost窗口 双击shift打开全局搜索 搜索Tools→Deployment→Browse Remote Host或 idea项目顶部Tools→Deployment→Browse Remote Host 二、添加服务 右侧边栏打开RemoteHost&#xff0c;点击三个点&#xff0c;起个名字&#xff0c;选择type为SFTP&#xff…

Jenkins工具系列 —— 配置邮箱 每个job下动态设置临时发送人

文章目录 安装插件添加邮箱认证邮箱申请&#xff08;以QQ邮箱网页为例&#xff09;jenkins添加邮箱认证 jenkins设置邮箱相关信息配置全局邮件单个JOB邮箱配置 安装插件 点击 左侧的 Manage Jenkins —> Plugins ——> 左侧的 Available plugins 添加邮箱认证 邮箱申请…