1. 引言
车间排程是制造企业生产管理的关键部分,对企业的生产效率、资源利用率和市场响应速度有着重要影响。根据《International Journal of Production Research》的统计,全球制造业因排程不合理导致的资源浪费年均高达12% [1]。因此,制作合理的排程计划成为企业提高竞争力的核心需求。
然而,在智能制造的背景下,许多制造企业仍依赖人工经验或静态规则进行生产排程。这些方式高度依赖操作者的主观判断,存在效率低下、可扩展性差等问题,不仅降低了排程方案的质量,还可能引发连锁反应,对企业造成不可逆的重大影响。因此,构建自动化、智能化的排程系统,实现资源动态优化与实时响应,已成为企业提升生产管理效能、应对市场竞争的关键突破口。
近年来,智能优化算法在车间排程领域的应用日益广泛,孙羽[2]采用遗传算法设计了生产计划调度系统,郜振华等人[3]利用改进交叉算子的遗传算法解决了柔性车间作业问题,唐红涛等人[4]则采用了改进粒子群算法解决了车间作业调度集成问题。此外,元启发式算法如遗传算法、禁忌搜索算法和模拟退火开始被提出并应用于复杂的调度问题;90年代之后,更多的启发算法如灰狼优化算法、人工蜂群算法、萤火虫算法等被用来解决车间调度问题[5]。教与学优化算法(Teaching-Learning-Based Optimization, TLBO)作为一种新的群智能优化算法,该算法具有参数简单、收敛速度快等优点,因此被很多学者用来求解车间调度问题[6]。然而,标准TLBO算法在处理复杂车间排程问题时,仍存在局部开发能力不足、易陷入局部最优等问题。为此,本研究在TLBO算法中引入局部搜索策略,提出了一种改进的TLBO算法用来解决柔性作业车间调度问题(Flexible Job-Shop Scheduling Problem, FJSP),并将其集成到高级计划与排程系统(Advanced Planning and Scheduling, APS)中,以提高车间排程的智能化水平和优化效果。
2. 改进TLBO算法求解FJSP问题
2.1. 模型假设
在实际生产环境中,我们设定以下基本假设,如表1所示。
Table 1. Assumptions of the algorithm model
表1. 算法模型假设
工件加工假设 |
机器条件假设 |
其他因素假设 |
每个工件每道工序只能由一台机器加工 |
每台机器每次加工只可处理单一工序 |
不考虑物料在机器间的转移时间 |
工件在加工过程中不会连续进行 |
机器加工能力不变 |
工序间的缓冲区容量无限 |
本文的相关符号定义如表2所示。
Table 2. Definition of relevant symbols
表2. 相关符号定义
参数 |
描述 |
|
最大完工时间 |
|
工件j在阶段m的开始时间 |
|
工件j在阶段m的加工时间 |
J |
工件数 |
|
若工件j在阶段m的机器l上加工则为1,否则为0 |
|
工件在m阶段的结束时间 |
|
阶段总数 |
目标函数用于评价解的优劣程度。针对车间的具体情况,订单按时完成是最重要的目标,而订单按期交付取决于最大完工时间。因此,本文以最小化最大完工时间为优化目标,目标函数如下:
约束条件:工件可以跳过不必要的工序,且每个工序只能在一台机器上加工。
工件的各个工序需要严格按照它们的先后顺序加工,完成前一道工序才可以进入下一道工序的加工。
工件各工序的完工时间由上一工序的完工时间和当前工序的加工时间决定。
2.2. 适应度函数选择
在进化算法中,个体的性能通过适应度值进行量化评估。随着适应度值的增加,对应解质量呈现上升趋势。本文根据目标函数定义了相应的适应度评价函数:
1) 学生初始化
记决策变量维度为D,第i个学生(搜索点)表示为
,
表示为适应度函数,而算法的目标是使该函数尽可能小。N表示学生总量。班级中第i个学生
可以用下式来进行初始化,其中
和
分别为第j维决策变量的上下界,rand是[0, 1]之间的随机数。
2) 教学阶段
在教学阶段,教师向学生传授知识,以提高班级的整体水平。考虑到教学成果受到班级平均成绩的影响,因此位置更新方式:
其中,
代表种群内最佳个体,称为教师;TF称为教学因子,随机确定为1或2;
是种群平均位置。
3) 学习阶段
学生
随机选择
进行交流学习,比较学习成绩,选出学习优秀的学生引导另一位学习:
2.3. 编码与解码
本文采用基于工序选择(PS)和机器选择(MS)的编码方式来解决车间排程问题。具体而言,工序选择部分用于确定任务的工序顺序,而机器选择部分则指定每个工序所使用的机器。通过这种编码方式,可以将每个任务的处理方案表示为一个编码组合,从而生成完整的任务处理方案。这种编码方式能够与智能优化算法相结合,进一步优化排程方案。如表3是采用此种方式随机生成的车间调度方案。
Table 3. Randomly generated workshop scheduling plan
表3. 随机生成的车间调度方案
工件 |
工序 |
可选择的加工机器 |
M1 |
M2 |
M3 |
J1 |
P11 |
3 |
7 |
4 |
P12 |
—— |
8 |
3 |
J2 |
P21 |
3 |
—— |
6 |
P22 |
4 |
—— |
5 |
J3 |
P31 |
2 |
5 |
3 |
P32 |
3 |
5 |
4 |
P31 |
—— |
7 |
11 |
表3中数字表示某一道工序可以选择的机器的加工时间,“——”表示该工序不能在该机器上加工。
2.4. 局部搜索方式
1) 机器分配局部搜索:
该过程通过随机调整机器编码来生成新的编码,具体步骤如下:
Step 1:随机生成一个介于1到T之间的整数r,其中T为所有工件的总工序数量。
Step 2:在机器编码中随机选择r个基因位置。
Step 3:对于每个被选中的基因位置,将其对应的机器随机替换为可选机器中的一台,最终生成新的机器编码。
2) 工序选择局部搜索:
该过程通过调整工序编码来生成新的编码,具体步骤如下:
Step 1:随机选择两个工件。
Step 2:将第一个工件的工序位置与第二个工件的工序位置进行交换,最终生成新的工序编码。
3. 仿真测试与分析
1) 数据准备:实验数据来源于某汽车零部件制造企业2023年的实际生产数据(经企业授权脱敏使用),包括12类工件、35台设备的工序信息、加工时间、交货期等约束条件。数据通过企业ERP系统(SAP S/4HANA)导出,并转换为标准JSON格式以供算法调用。
2) 参数设置:根据问题规模和算法特点,设置改进TLBO算法的参数。种群规模population = 100,最大迭代次数Max = 100代,交叉概率为0.8,变异概率为0.1,局部搜索概率为0.3。
3) 算法运行环境:采用Python 3.11进行编程,程序的处理器为InterR7-5000H,主频为2.60 GHz,操作系统64位,内存16 G。
4) 结果记录:记录改进TLBO、GA、PSO算法每次运行的最优解、计算时间和收敛曲线。
5) 数据分析:对运行结果进行统计分析,计算平均值等指标。
Table 4. Experimental results comparison
表4. 实验结果对比
算法 |
最优解 |
平均计算时间(s) |
改进TLBO |
135.3 |
3.2 |
GA |
145.7 |
5.8 |
PSO |
158.2 |
6.3 |
Figure 1. Comparison chart of the best completion time for each algorithm
图1. 各算法最佳完工时间对比图
从表4和图1可以看出,改进TLBO算法在所有测试问题上均表现出优越的性能。与GA和PSO相比,改进TLBO算法在大型问题上的优势更加明显,求解质量分别提高了7.1%和14.5%。此外,通过分析算法的收敛曲线,发现改进TLBO算法具有更好的收敛性和稳定性,能够有效平衡全局探索和局部开发。在实际应用中,基于改进TLBO的APS系统成功帮助企业将生产周期缩短了25%,设备利用率提高了18%,显著提升了车间的整体生产效率。
4. 基于改进TLBO的APS系统的实现
4.1. APS系统的功能结构设计
APS系统主要分为三个模块,即系统设置模块、数据报表模块、计划排程模块。
如图2所示,为此系统设置模块图。
Figure 2. APS system module diagram
图2. APS系统模块图
4.2. 数据库的概念模型设计
数据库概念模型是设计数据库部分的关键步骤之一,用于描述系统中数据的结构、关系及约束。在本小组研究的系统中,主要流程上共有客户、订单、生产计划、工单、工位工单、车间、产线、设备、工序和工艺路线十个实体。各实体的具体关系如图3所示。
4.3. 系统架构
1) 前端:使用Vue.js进行SPA (单页应用)开发,提供动态用户界面。通过Ajax与后端API进行异步数据交互,获取数据并更新视图。
2) 后端:使用Spring Boot作为后端框架,处理HTTP请求和业务逻辑。使用MyBatis-Plus进行数据访问,简化CRUD操作。利用Spring框架的功能进行依赖注入和管理。使用Redis作为缓存层,以加速数据读取,提升系统性能。
3) 数据库:使用JDBC对数据库进行连接和操作。建立关系型数据库(如MySQL)存储APS相关数据,例如订单、生产计划等。系统的数据库实体关系见图3。
Figure 3. Entity relationship diagram
图3. 实体关系图
4) 服务器:使用Nginx作为反向代理服务器和负载均衡器,处理静态文件及反向代理请求到Spring Boot后端。可以配置TLS/SSL加密,提高安全性。
4.4. 可视化UI界面与核心功能
系统采用模块化设计理念,构建直观的可视化交互界面,支持车间排产全流程的智能化管理。主界面集成拖拽式工艺配置面板、动态甘特图排程看板及3D车间监控视图,用户可通过图形化操作快速定义设备参数、调整工序优先级,并实时查看算法优化后的排产方案。关键功能包括:一键触发改进TLBO算法生成最优解,甘特图时间轴缩放与冲突预警,以及设备状态颜色编码可视化(空闲/忙碌/故障);系统同步支持多端协同,通过响应式布局适配PC、平板及移动端,自动生成含关键指标统计与排产甘特图的PDF报告,满足企业多场景决策需求。
在系统实现过程中,重点解决了改进TLBO算法与APS系统的集成问题,开发了高效的算法接口和数据交换机制。通过实际案例测试,验证了系统的有效性和实用性。结果表明,基于改进TLBO的APS系统能够快速生成高质量的排程方案,显著提高了车间生产效率和资源利用率。
5. 结论
本研究将改进教与学优化算法应用于车间排程问题,并成功集成到APS系统中,为制造企业提供了一种智能化的生产排程解决方案。通过在TLBO算法中引入局部搜索策略,有效增强了算法的优化能力。实验结果表明,基于改进TLBO的APS系统在求解质量和计算效率方面均优于传统方法,能够有效应对复杂多变的车间生产环境。进一步推动了工业的智能化和数字化。
基金项目
大学生创新创业训练计划“车间智能排产APS系统设计与实现”(X2024213)。
NOTES
*通讯作者。