车间 动态规划 java_作业车间调度JSP与遗传算法GA及其Python/Java/C++实现

本文介绍了作业车间调度问题(JSP)及其在生产调度中的重要性,并详细阐述了遗传算法(GA)的数学模型和求解步骤,包括编码、适应度计算、选择、交叉和变异操作。遗传算法在解决JSP上表现出良好的效果,文中还提供了Java、Python、C++三种语言的代码实现。
摘要由CSDN通过智能技术生成

format,png

大家好呀,好久不见!

最近小编接触了遗传算法(Genetic Algorithm)。关于遗传算法,公众号内已经有多盘技术推文介绍:

今天小编再为大家带来CSDN上一位大牛@sundial dreams

关于遗传算法在作业车间调度问题上的相关内容,希望大家喜欢!

format,png

(原文附图)

问题描述

format,png

作业车间调度(Job shop scheduling problem, JSP) 是车间调度中最常见的调度类型,是最难的组合优化问题之一,应用领域极其广泛,涉及航母调度,机场飞机调度,港口码头货船调度,汽车加工流水线等,因此对其研究具有重大的现实意义。科学有效的生产调度不但可以提高生产加工过程中工人、设备资源的高效利用,还可缩短生产周期,降低生产成本。

作业车间调度问题描述:

一个加工系统有M台机器,要求加工N个作业,其中,作业i包含工序数为L_i。令,则L为任务集的总工序数。其中,各工序的加工时间已确定,并且每个作业必须按照工序的先后顺序加工。调度的任务是安排所有作业的加工调度排序,约束条件被满足的同时,使性能指标得到优化。作业车间调度需要考虑如下约束:

1.每道工序在指定的机器上加工,且必须在前一道工序加工完成后才能开始加工。

2.某一时刻1台机器只能加工1个作业。

3.每个作业只能在1台机器上加工1次。

4.各作业的工序顺序和加工时间已知,不随加工排序的改变而改变。

问题的数学模型:

令(i,j)表示作业i的第j个工序。S_ij和T_ij分别表示(i,j)的加工起始时刻和加工时间。Z_ijk表示(i,j)是否在第k台机器上加工:如果(i,j)在第k台机器上加工,Z_ijk=1;否则,Z_ijk=0,C_k为第k台机器的完工时间࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值