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

文章目录

  • [0 赛题思路](#0 赛题思路)
    • [1 描述](#1 描述)
    • [2 问题概括](#2 问题概括)
    • [3 建模过程](#3 建模过程)
      • [3.1 边界说明](#3.1 边界说明)
      • [3.2 符号约定](#3.2 符号约定)
      • [3.3 分析](#3.3 分析)
      • [3.4 模型建立](#3.4 模型建立)
      • [3.5 模型求解](#3.5 模型求解)
    • [4 模型评价与推广](#4 模型评价与推广)
    • [5 实现代码](#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 实现代码

python 复制代码
f=[-1000;-800;-550;-450;-1500;-800;-650;-550;-1300;-900;-650;-350;-1000;-800;-650;-450];
A=zeros(9,16);
for i=1:1
   for j=1:16
      A(i,j)=1; 
   end
end
for i=2:5
   for j=i-1:4:11+i
      A(i,j)=1;
   end
end
i0=0;
for i=6:9
   for j=i0+1:(i-5 )*4
      A(i,j)=1;
   end
   i0=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;1
   for j=1:112
      A(i,j)=1;
   end 
end
i0=0;
for i=2:4
   for j=i0+1:(i-1)*28
      A(i,j)=1;
   end
   i0=j;
end
for i=5:32
   for j=(i-4):28:80+i
      A(i,j)=1;
   end
end
for i=33:39
   for j= i-32:7:(i-11)
      A(i,j)=1;
   end
end
j0=j;
for i=40:46
   for j=j0+(i-39):7:(i-18)+j0
      A(i,j)=1;
   end
end
j0=j;
for i=47:53
   for j=j0+(i-46):7:j0+(i-25)
      A(i,j)=1;
   end
end
j0=j;
for i=54:60
   for 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:7
   Aeq(i,i+14)=1;
end
beq=[2;2;2;2;2;2;2];
[x,fval]=linprog(f,A,b,Aeq,beq,LB,UB)

建模资料

资料分享: 最强建模资料

相关推荐
2402_8713219510 分钟前
MATLAB方程组
gpt·学习·线性代数·算法·matlab
Mongxin_Chan21 分钟前
【Cpp】指针与引用
c++·算法
非自律懒癌患者33 分钟前
Transformer中的Self-Attention机制如何自然地适应于目标检测任务
人工智能·算法·目标检测
SSL_lwz1 小时前
P11290 【MX-S6-T2】「KDOI-11」飞船
c++·学习·算法·动态规划
zhangpz_1 小时前
c ++零基础可视化——vector
c++·算法
理论最高的吻2 小时前
98. 验证二叉搜索树【 力扣(LeetCode) 】
数据结构·c++·算法·leetcode·职场和发展·二叉树·c
沈小农学编程2 小时前
【LeetCode面试150】——202快乐数
c++·python·算法·leetcode·面试·职场和发展
ZZZ_O^O2 小时前
【动态规划-卡特兰数——96.不同的二叉搜索树】
c++·学习·算法·leetcode·动态规划
一只小透明啊啊啊啊3 小时前
Leetcode100子串
算法
木向3 小时前
leetcode:114. 二叉树展开为链表
算法·leetcode·链表