用MATLAB编程遗传算法求解车间调度问题

发布于:2022-12-22 ⋅ 阅读:(431) ⋅ 点赞:(0)

用MATLAB编程求解车间调度问题

车间调度(Job-Shop Scheduling),简称JSP问题,是典型的NP难问题之一,是算法研究领域中研究的重要课题.一般而言是有若干工件,每个工件有若干工序,工序一般有前后约束.

模型描述:已知有n 个工件{ J1,J2, …, Jn },需要在 m 台机器{ M1, M2, …, Mm}上加工,每个工件以一定的次序在所有的机器上轮流加工,每个工件分成 m 个工序,而每个工序对应相应的加工机器。其中,每个工件工序的加工时间给定。
约束:
(1)每个工件上的工序只能在上一个工序执行结束之后,才能开始执行下一个工序。
(2)每个机器某一个时刻最多只能执行一个工件,加工完一个工序后才能加工下一个工序。

目标函数:给出调度方案,使调度总结束时间最小。(Makespan)
在这里插入图片描述
其中ti为工件i最后一个工序的完成时刻.

采用遗传算法
采用双层编码
第一层编码是工序的优先度编码,第二层编码是为工序指派机器的编码。
遗传算子包括:初始化编码,变异,交叉,选择
代码
在这里插入图片描述
程序结果:
在这里插入图片描述
在这里插入图片描述

有讨论的可以加我q :1579325979
加我微*信:corn1949


网站公告

今日签到

点亮在社区的每一天
去签到