function [] = Ch9_CyclicOrdering(Demand)
%% 文件功能说明
%第9章:安排人员的服务作业计划的循环排序法(Cyclic Ordering)
%Demand 一周内每天需要员工数量
%编写时间:2012年05月;完善时间:2012年12月。
%% 文件主体部分
DemandA0 = Demand; %星期1到星期日每天需求人数
DemandB0 = [DemandA0(2:7) DemandA0(1)]; %星期2到星期1每天需求人数
PeopleNumber = max(DemandA0); %至少需要的人数
Index = [1:7;2:7 1]; %星期指针(1~7)
RestDay = zeros(PeopleNumber,3); %存放安排休息时间的结果矩阵
RestMatrix = zeros(PeopleNumber,8); %存放安排休息人数的结果矩阵
DemandA = DemandA0;DemandB = DemandB0;
%循环排序方法
for k = 1:PeopleNumber
%计算所有连续两天所需求的人数
for i = 1:7
Sum_Neighbour(i) = DemandA(i)+DemandB(i);
end
Sum_Neighbour;
%找出最小值
Min_Neighbour = inf;
for j = 1:7
if Sum_Neighbour(j)< Min_Neighbour
Min_Neighbour = Sum_Neighbour(j);
RestDay(k,1) = k;
RestDay(k,2:3) = [Index(1,j) Index(2,j)]; %安排休息的时间
h = j; %安排休息的人数
else
end
end
RestMatrix(k,1) = k;
RestMatrix(k,Index(1,h)+1) = 1;
RestMatrix(k,Index(2,h)+1) = 1;
DemandA(Index(1,h))=DemandA(Index(1,h))+1;
DemandA(Index(2,h))=DemandA(Index(2,h))+1;
DemandA = DemandA-1;
DemandB = [DemandA(2:7) DemandA(1)];
end
PeopleNumber1 = sum(RestMatrix(:,2:8)); %计算每天的休息人数
PeopleNumber20 = PeopleNumber-sum(RestMatrix(:,2:8)); %计算每天的工作人数
PeopleNumber2 = [PeopleNumber20 sum(PeopleNumber20)]; %计算总人数
PeopleNumber3 = PeopleNumber20-DemandA0; %每天富余的工作人数
%结果输出
fprintf('1. 工作人员双休日安排为:\n')
disp(' 序号 双休日')
disp(RestDay)
fprintf('2. 工作人员双休日人数为:\n')
disp(' 序号 一 二 三 四 五 六 日')
disp(RestMatrix)
fprintf('3. 每天休息人数为:\n')
disp([NaN PeopleNumber1])
fprintf('4. 每天需求人数及实际工作人数为:\n')
disp([NaN DemandA0 sum(DemandA0); NaN PeopleNumber2])
fprintf('5. 每天富余人数为:\n')
disp([NaN PeopleNumber3])
Ch9_CyclicOrdering.zip_人员排班_排班_服务运作人员排班
版权申诉
112 浏览量
2022-07-15
12:37:31
上传
评论
收藏 1KB ZIP 举报
周楷雯
- 粉丝: 80
- 资源: 1万+
最新资源
- Picasso_v3.1 2.ipa
- chromedriver-mac-arm64.zip
- 蓝zapro.apk
- chromedriver-linux64.zip
- UCAS研一深度学习实验-MNIST手写数字识别python源码+详细注释(高分项目)
- 基于Python和PyTorch框架完成的一个手写数字识别实验源码(带MINIST手写数字数据集)+详细注释(高分项目)
- 基于Matlab在MNIST数据集上利用CNN完成手写体数字识别任务,并实现单层CNN反向传播算法+源代码+文档说明(高分项目)
- NVIDIA驱动、CUDA和Pytorch及其依赖
- 基于SVM多特征融合的微表情识别python源码+项目说明+详细注释(高分课程设计)
- html动态爱心代码一(附源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0