2017-D巡检路线排班问题.docx

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

巡检路线排班问题

摘要:在某化工厂正常运行情况下,对26个巡检点进行研究分析,优化资源分配,提高巡检效率,制定科学合理的巡检路径。本文首先采用图论中的Floyd算法,将26个巡检点的最短巡检时间路线求出,与图论法结合以此求出最短回路。

在第一问中采用背包模型,以巡检点周期为约束求解最短巡检人数,以及推算固定排班方案;第二问在第一问的背包模型基础上,采用累计算法,将用餐时间以及休息时间为累计量加入算法,以此求出排班人数,并在此基础上进行排班;第三问采用旅行商问题的算法,用LINGO求解出错时上班下的排班方案。该解题过程中运用了python以及LINGO工具来辅助计算。

关键词:巡检线路;背包模型;旅行商问题;累计算法;Python和Lingo

1问题简介

1.1问题背景

某化工厂有26个点需要进行巡检以保证正常生产,各个点的巡检周期、巡检耗时、两点之间的连通关系及行走所需时间在附件中给出。

每个点每次巡检需要一名工人,巡检工人的巡检起始地点在巡检调度中心(XJ0022),工人可以按固定时间上班,也可以错时上班,在调度中心得到巡检任务后开始巡检。现需要建立模型来安排巡检人数和巡检路线,使得所有点都能按要求完成巡检,并且耗费的人力资源尽可能少,同时还应考虑每名工人在一时间段内(如一周或一月等)的工作量尽量平衡。

1.2具体问题

问题1.如果采用固定上班时间,不考虑巡检人员的休息时间,采用每天三班倒,每班工作8小时左右,每班需要多少人,巡检线路如何安排,并给出巡检人员的巡检线路和巡检的时间表。

问题2.如果巡检人员每巡检2小时左右需要休息一次,休息时间大约是5到10分钟,在中午12时和下午6时左右需要进餐一次,每次进餐时间为30分钟,仍采用每天三班倒,每班需要多少人,巡检线路如何安排,并给出巡检人员的巡检线路和巡检的时间表。

问题3.如果采用错时上班,重新讨论问题1和问题2,试分析错时上班是否更节省人

力。

2解法简介与对比

2.1背包模型

背包问题(Knapsackproblem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总

价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。相似问题经常出现

在商业、组合数学,计算复杂性理论、密码学和应用数学等领域中。也可以将背包问题描述为决定性问题,即在总重量不超过w的前提下,总价值是否能达到V?它是在1978年由Merkel

和Hellman提出的。

背包问题属于组合优化问题,一般的最优化问题由目标函数和约束条件两部部分组成:我们

有n种物品,物品i的重量为Wi,价格为Pi。我们假定所有物品的重量和价格都是非负的。背

包所能承受的最大重量为W.如果限定每种物品只能选择0个或1个,则问题称为0-1背包问

题。可以用公式表示为:

,xe(0.}

如果限定物品i最多只能选择b;个,则问题称为有界背包问题。可以用公式表示为:

,xe{0,by·

如果不限定每种物品的数量,则问题称为无界背包问题。

各类复杂的背包问题总可以变换为简单的0-1背包问题进行求解。

2.2Floyd算法

Floyd算法是一个经典的动态规划算法,它又被称为插点法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。Floyd算法是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,算法目标是寻找从点i到点j的最短路径。

从任意节点i到任意节点j的最短路径不外乎2种可能,1是直接从i到j,2是从i经过若干个节点k到j。所以,算法假设Dis(i,j)为节点u到节点v的最短路径的距离,对于每一个节点

k,算法检查Dis(i,k)+Dis(k,j)Dis(i,j)是否成立,如果成立,证明从i到k再到j的路

径比i直接到j的路径短,便设置Dis(i,j)=Dis(i,k)+Dis(k,j),这样一来,当遍历完所

有节点k,Dis(i,j)中记录的便是i到j的最短路径的距离。

2.3Lingo软件

我们遇到的许多优化问题都可以归结为规划问题,如线性规划、非线性规划、二次规划、

整数规划、动态规划、多目标规划等,当遇到变量比较多或者约束条件比较复杂等情况时,想用手工计算来解决这类问题几乎是不可能的,编程计算虽然可行,但是工作量大、程序长而繁琐,稍不小心就会出错,还可能需要花费大量的时间和精力。可行的办法是用现成的软件求解,LINGO是专门用来求解各种规划问题的软件包

文档评论(0)

chenzehao888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档