生产调度方法、计算机设备以及存储介质与流程

文档序号:20619725发布日期:2020-05-06 20:40阅读:136来源:国知局
生产调度方法、计算机设备以及存储介质与流程

本公开属于调度技术领域,尤其涉及一种生产调度方法、计算机设备以及存储介质。



背景技术:

在现有技术中,专门针对钢材加工生产调度问题的研究很少见,大多数研究是面向更加通用的柔性作业车间调度问题,提出的调度方法主要有基于运筹学的精确方法,如数学规划法、拉格朗日松弛法、分支定界法等,以及基于遗传算法、粒子群算法、蚁群算法、免疫算法、差分进化算法、禁忌搜索算法和元胞自动机算法等的智能调度方法。虽然这些调度方法从理论上能求得最优解,以对生产任务进行调度,但由于计算复杂、运算量大、费时等原因,在实际应用中受到限制。而且智能调度方法在进行海量任务调度过程中,易陷入局部最优解,在收敛速度和负载均衡方面的效果有待提高。

随着钢材加工企业生产任务的不断增加,制定合理的生产作业计划变得复杂和困难。许多钢材加工企业甚至还在通过人工制定生产计划,调度人员难以综合权衡任务交货期的差异和各种生产资源的约束,特别是当短期内生产任务集中下达,导致车间产能严重冲突的时候,生产顺序往往需要经常进行调整,影响企业生产效益。

综上所述,目前的钢材加工生产调度方法存在计算复杂、生产效益低等缺陷。



技术实现要素:

本公开正是基于上述技术问题,提出了一种生产调度方法、计算机设备以及存储介质,能够根据任务的收益值实现生产任务的调度,以保证收益效果最大化,从根本上解决计算复杂、生产效益低的技术问题。

第一方面,本公开实施例提供了一种生产调度方法,包括:确定多个生产任务,并获取每个所述生产任务的收益值;其中,所述收益值用于表征所述生产任务为企业带来的经济利益值;

确定多个生产机组,并根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列;

根据每个所述生产机组的任务序列调度对应的生产机组进行生产加工。

进一步,根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列,包括:

步骤221,从所述多个生产任务中选取一个目标任务,其中,当前选取的目标任务始终为多个所述生产任务中收益值最大的生产任务;

步骤222,从所述多个生产机组中,确定至少一个与所述目标任务的类型对应的机组作为匹配机组;

步骤223,将所述目标任务添加进所述匹配机组的任务序列中,并将所述任务序列中的所有生产任务进行随机排序,以得到多个排序后的任务序列;

步骤224,将所述多个排序后的任务序列中满足第一预设条件的任务序列确定为目标任务序列;

步骤225,根据所述目标任务序列,确定将所述目标任务分配至所述目标任务序列对应的生产机组中,并将所述目标任务序列作为该生产机组的任务序列;

步骤226,返回执行步骤221,直至每个所述生产任务分配完毕,以确定每个所述生产机组的任务序列。

进一步,将所述多个排序后的任务序列中满足第一预设条件的任务序列确定为目标任务序列,包括:

获取所述排序后的任务序列中的每一个生产任务的完工时间以及交货日期;

根据每一个生产任务的完工时间以及交货日期,从所述排序后的任务序列中选取出每一个生产任务的完工时间均满足该生产任务对应的交货日期的任务序列作为备选任务序列;

获取所述备选任务序列的第一总完工时间,并从所述备选任务序列中选取出第一总完工时间最短的任务序列作为所述目标任务序列。

进一步,所述方法还包括:

当无法从所述排序后的任务序列中选取出每一个生产任务的完工时间均满足该生产任务对应的交货日期的任务序列作为所述备选任务序列,则提示对所述目标任务的任务属性进行修改。

根据本公开的另一个实施例,根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列,包括:

步骤321,从所述多个生产任务中选取一个目标任务,其中,当前选取的目标任务始终为多个所述生产任务中收益值最大的生产任务;

步骤322,从所述多个生产机组中,确定至少一个与所述目标任务的类型对应的机组作为匹配机组;

步骤323,获取每个所述匹配机组完成所述目标任务的完工时间;

步骤324,判断所述完工时间是否满足第二预设条件,当所述完工时间满足第二预设条件时,将所述完工时间对应的匹配机组确定为目标机组,并将所述目标任务分配至所述目标机组的任务序列中;

步骤325,返回执行步骤321,直至每个所述生产任务分配完毕,以确定每个所述生产机组的任务序列。

进一步,判断所述完工时间是否满足第二预设条件,包括:

获取所述目标任务的交货日期;

确定所述完工时间是否超过所述交货日期;

当所述完工时间没有超过所述交货日期时,确定所述完工时间满足第二预设条件。

进一步,从所述多个生产机组中,确定与所述目标任务的类型对应的机组作为匹配机组之后,还包括:

获取各个所述匹配机组中已分配的生产任务的第二总完工时间;

分别计算各个所述匹配机组的第二总完工时间与最短的第二总完工时间之间的差值;

将所述差值小于等于预设阈值的生产机组作为所述匹配机组。

进一步,获取每个所述生产任务的收益值,包括:

通过如下公式计算所述生产任务的收益值:

taskvaluei=workingoursi×taskcoefi×taskpriori;

其中,taskvaluei表示第i个生产任务的收益值,workingoursi表示第i个生产任务的所需工时,taskcoefi表示第i个生产任务的收益系数,taskpriori表示第i个生产任务的优先系数。

第二方面,本公开实施例提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该计算机程序时实现上述的生产调度方法。

第三方面,本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的生产调度方法。

可见,本公开实施例提供的一种生产调度方法、计算机设备以及存储介质,通过确定多个生产任务,并获取每个所述生产任务的收益值,进而根据所述收益值确定与每个所述生产机组对应的任务序列,再根据所述任务序列调度对应的生产机组进行生产加工。可见,本公开的实施提供的一种生产调度方法,通过引入生产任务的收益值的概念,能够根据收益值来给生产任务分配合适的生产机组。不仅能够实现生产机组的生产任务能够负载均衡,而且能够保证生产收益的最大化。

附图说明

通过结合附图阅读下文示例性实施例的详细描述可更好地理解本公开的范围。其中所包括的附图是:

图1示出了本公开实施例一提出的一种生产调度方法的流程示意图;

图2示出了本公开实施例二提出的一种生产调度方法的流程示意图;

图3示出了图2所示步骤220的具体步骤的流程示意图;

图4示出了图3所示步骤224的具体步骤的流程示意图;

图5示出了本公开实施例三提出的一种生产调度方法的流程示意图;

图6示出了图5所示步骤320的具体步骤的流程示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚,以下将结合附图及实施例来详细说明本公开的实施方法,借此对本公开如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。

在下面的描述中阐述了很多具体细节以便于充分理解本公开,但是,本公开还可以采用其他不同于在此描述的其他方式来实施,因此,本公开的保护范围并不受下面公开的具体实施例的限制。

实施例一

根据本公开的实施例,提供了一种生产调度方法,在一些实施方式中,该方法可以应用于钢铁加工生产领域,图1示出了本公开实施例一提出的一种生产调度方法的流程示意图,如图1所示,该方法可以包括如下步骤:

步骤110,确定多个生产任务,并获取每个所述生产任务的收益值;其中,所述收益值用于表征所述生产任务为企业带来的经济利益值;

作为一种实施方式,可以从产品购销合同中获取生产作业,并将生产作业分解成相互独立的多个生产任务。其中,每项生产任务包含了产品类型、规格、交货期、所需工时等必要信息。可以理解的是,生产任务的收益值可以用于衡量该任务为企业带来的利益。在实际生产中,生产任务所需的加工工时是任务收益的主要因素,订单量越大,所需工时越多,企业的收益往往越大。此外,不同种类的生产任务所产生收益率往往有所不同,有的任务利润率高,有的利润薄。因此,可以通过计算每个所述生产任务的收益值,以反映所述生产任务为企业带来的经济利益值。

步骤120,确定多个生产机组,并根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列;

作为一种实施方式,可以先获取车间各机组信息,设置机组信息表。每个机组的信息包括机组种类、机组状态、机组配置等必要信息。再根据上述机组信息选出运转正常的多个机组并将其确定为多个生产机组。其次,可以根据生产任务的类型以及生产机组的类型确定生产任务和生产机组是否匹配。然后可以采用贪心策略从与生产机组匹配的多个生产任务中选取出收益值最优的生产任务组合,并将该生产任务组合作为该生产机组的任务序列。值得说明的是,收益值最优,即是满足收益值最大、生产机组的负载平衡、工时损耗最小以及满足交货期。通过上述方法遍历每一个生产机组,即可得到每一个生产机组对应的任务序列。

步骤130,根据每个所述生产机组的任务序列调度对应的生产机组进行生产加工。

这里,调度对应的生产机组进行生产加工,即生产机组根据其接收到的任务序列进行加工生产。

本实施例的一种生产调度方法,通过引入生产任务收益值的概念来进行生产调度,从而保证在进行生产任务调度时,能够保证生产收益的最大化。

实施例二

图2示出了本公开实施例二提出的一种生产调度方法的流程示意图,如图2所示,本公开另一实施例提出的一种生产调度方法,可以包括如下步骤:

步骤210,确定多个生产任务,并获取每个所述生产任务的收益值;其中,所述收益值用于表征所述生产任务为企业带来的经济利益值;

作为一种实施方式,可以从产品购销合同中获取生产作业,并将生产作业分解成相互独立的多个生产任务。其中,每项生产任务包含了产品类型、规格、交货期、所需工时等必要信息。可以理解的是,生产任务的收益值可以用于衡量该任务为企业带来的利益。在实际生产中,生产任务所需的加工工时是任务收益的主要因素,订单量越大,所需工时越多,企业的收益往往越大。此外,不同种类的生产任务所产生收益率往往有所不同,有的任务利润率高,有的利润薄。因此,可以通过计算每个所述生产任务的收益值,以反映所述生产任务为企业带来的经济利益值。

值得说明的是,可以通过以下计算公式计算所述生产任务的收益值:

taskvaluei=workingoursi×taskcoefi×taskpriori;

其中,taskvaluei表示第i个生产任务的收益值,workingoursi表示第i个生产任务的所需工时,taskcoefi表示第i个生产任务的收益系数,taskpriori表示第i个生产任务的优先系数。

步骤220,确定多个生产机组,并根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列;

作为一种实施方式,可以先获取车间各机组信息,设置机组信息表。每个机组的信息包括机组种类、机组状态、机组配置等必要信息。再根据上述机组信息选出运转正常的多个机组并将其确定为多个生产机组。其次,可以根据生产任务的类型以及生产机组的类型确定生产任务和生产机组是否匹配。然后可以采用贪心策略从与生产机组匹配的多个生产任务中选取出收益值最优的生产任务组合,并将该生产任务组合作为该生产机组的任务序列。值得说明的是,收益值最优,即是满足收益值最大、生产机组的负载平衡、工时损耗最小以及满足交货期。通过上述方法遍历每一个生产机组,即可得到每一个生产机组对应的任务序列。

步骤230,根据每个所述生产机组的任务序列调度对应的生产机组进行生产加工。

这里,调度对应的生产机组进行生产加工,即生产机组根据其接收到的任务序列进行加工生产。

本实施例的一种生产调度方法,通过引入生产任务收益值的概念来进行生产调度,从而保证在进行生产任务调度时,能够保证生产收益的最大化。

在一个可选的实施方式中,图3示出了图2所示步骤220的具体步骤的流程示意图,如图3所示,步骤220中,根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列,包括步骤221至步骤226。

在步骤221中,从所述多个生产任务中选取一个目标任务,其中,当前选取的目标任务始终为多个所述生产任务中收益值最大的生产任务。

这里,从所述多个生产任务中选取一个目标任务,可以是将多个生产任务按照收益值的从大到小进行排序,得到一个任务列表。然后从任务列表中选取一个收益值最大的任务序列作为所述目标任务。

在步骤222中,从所述多个生产机组中,确定至少一个与所述目标任务的类型对应的机组作为匹配机组。

这里,多个生产机组中,每个生产机组可以加工的工件的类型可能相同也可能不相同。因此,需要从所述多个生产机组中选取出至少一个与所述目标任务的类型对应的机组作为匹配机组。值得说明的是,匹配机组的数量可以包括一个或多个,因为在工厂中,有一些生产机组可以加工a工件也可以加工b工件,有一些机组则只可以加工b工件。

在步骤223中,将所述目标任务添加进所述匹配机组的任务序列中,并将所述任务序列中的所有生产任务进行随机排序,以得到多个排序后的任务序列。

这里,将所述匹配机组中已分配的生产任务与当前添加的目标任务进行随机排序。例如,匹配机组f的任务序列中存在已分配的任务a以及任务b,在将目标任务c添加进匹配机组f的任务序列后,将任务a、任务b以及目标任务c进行随机排序,可以得到多个不同排序组合的任务序列。当匹配机组的数量包括多个时,同样进行上述排序。

值得说明的是,将已分配的生产任务与当前添加的目标任务进行随机排序,是因为优先安排某一任务,并不意味着该任务要更早开始执行。最终任务的执行是对某一生产机组的分配到的所有任务进行优化排序后的任务序列。

在步骤224中,将所述多个排序后的任务序列中满足第一预设条件的任务序列确定为目标任务序列。

这里,所述第一预设条件是指排序后的任务序列中的全部生产任务的完工时间均满足该序列中的各个生产任务对应的交货期限,且排序后的任务序列的总完工时间最短。其中,任务序列的总完工时间是指完成该任务序列的全部生产任务所需的时间,该总完工时间由各个生产任务的所需工时以及各个任务之间的任务切换工时决定。任务切换工时是指,生产机组从任务a切换至任务b所需的准备时间。值得说明的,所述第一预设条件也可以根据实际情况确定的,

在步骤225中,根据所述目标任务序列,确定将所述目标任务分配至所述目标任务序列对应的生产机组中,并将所述目标任务序列作为该生产机组的任务序列。

在步骤226中,返回执行步骤221,直至每个所述生产任务分配完毕,以确定每个所述生产机组的任务序列。

这里,重复执行上述步骤,是指返回步骤221,重新选取一个新的目标任务,在执行步骤222至步骤226,直到任务列表中的所有生产任务均分配完毕。其中,所有生产任务均分配完毕,是指任务均被调度过,即不管生产任务是否没有能够分配到一个生产机组中。

在本实施方式中,通过引入生产任务收益值的概念来进行生产调度,并采用贪心策略优先选择收益值大的生产任务进行调度,从而实现生产机组能够负载均衡的同时保证生产收益的最大化。

在一个可选的实施方式中,图4示出了图3所示步骤224的具体步骤的流程示意图,如图4所示,步骤224中,从将所述多个排序后的任务序列中满足第一预设条件的任务序列确定为目标任务序列,包括步骤2241至步骤2243。

在步骤2241中,获取所述排序后的任务序列中的每一个生产任务的完工时间以及交货日期。

在步骤2242中,根据每一个生产任务的完工时间以及交货日期,从所述排序后的任务序列中选取出每一个生产任务的完工时间均满足该生产任务对应的交货日期的任务序列作为备选任务序列。

这里,由于每个生产任务的所需工时、交货日期以及每两个不同类型或同类型的生产任务之间的任务切换工时是确定的。因此,在所述排序后的任务序列中,可以得到得到每个生产任务的完工时间以及交货日期。

从所述排序后的任务序列中选取出每一个生产任务的完工时间均满足该生产任务对应的交货日期的任务序列作为备选任务序列,即备选任务序列中的每一个生产任务的完工时间均不超过生产任务对应的交货日期。值得说明的是,备选任务序列的数量可以包括一个或多个,也可以选取不到备选任务序列。选取不到备选任务序列是指排序后的任务序列中没有一个任务序列的每一个生产任务的完工时间是均不超过生产任务对应的交货日期的任务序列。

值得说明的是,当无法从所述排序后的任务序列中选取出每一个生产任务的完工时间均满足该生产任务对应的交货日期的任务序列作为所述备选任务序列,则提示对所述目标任务的任务属性进行修改。

其中,对所述目标任务的任务属性进行修改,包括将所述目标任务拆分成多个子任务、修改所述目标任务的交货日期等。

在步骤2243中,获取所述备选任务序列的第一总完工时间,并从所述备选任务序列中选取出第一总完工时间最短的任务序列作为所述目标任务序列。

这里,所述第一总完工时间是指所述备选任务序列完成该任务序列中的所有生产任务所需的时间总和。通过选取出第一总完工时间最短的备选任务序列作为目标任务序列,能够对生产机组的负荷进行均衡调度。

在一个可选的实施方式中,步骤222中,从所述多个生产机组中,确定至少一个与所述目标任务的类型对应的机组作为匹配机组之后,还可以包括:

获取各个所述匹配机组中已分配的生产任务的第二总完工时间;

分别计算各个所述匹配机组的第二总完工时间与最短的第二总完工时间之间的差值;

将所述差值小于等于预设阈值的生产机组作为所述匹配机组。

这里,通过计算各个所述匹配机组的第二总完工时间与最短的第二总完工时间之间的差值,可以将一些第二完工时间差异明显的生产机组直接筛选掉。例如,存在生产机组a以及生产机组b,生产机组a的总完工时间为1小时,生产机组b的第二完工时间为1天,当一个生产分配在生产机组a和b时,由于第二种完工时间相差太大,因此,不可能安排在生产机组b上。因此,通过判断计算各个所述匹配机组的第二总完工时间与最短的第二总完工时间之间的差值是否小于预设阈值,能够实现生产机组的合理调度。

实施例三

图5示出了本公开实施例三提出的一种生产调度方法的流程示意图,如图5所示,本公开另一实施例提出的一种生产调度方法,可以包括如下步骤:

步骤310,确定多个生产任务,并获取每个所述生产任务的收益值;其中,所述收益值用于表征所述生产任务为企业带来的经济利益值;

作为一种实施方式,可以从产品购销合同中获取生产作业,并将生产作业分解成相互独立的多个生产任务。其中,每项生产任务包含了产品类型、规格、交货期、所需工时等必要信息。可以理解的是,生产任务的收益值可以用于衡量该任务为企业带来的利益。在实际生产中,生产任务所需的加工工时是任务收益的主要因素,订单量越大,所需工时越多,企业的收益往往越大。此外,不同种类的生产任务所产生收益率往往有所不同,有的任务利润率高,有的利润薄。因此,可以通过计算每个所述生产任务的收益值,以反映所述生产任务为企业带来的经济利益值。

值得说明的是,可以通过以下计算公式计算所述生产任务的收益值:

taskvaluei=workingoursi×taskcoefi×taskpriori;

其中,taskvaluei表示第i个生产任务的收益值,workingoursi表示第i个生产任务的所需工时,taskcoefi表示第i个生产任务的收益系数,taskpriori表示第i个生产任务的优先系数。

步骤320,确定多个生产机组,并根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列;

作为一种实施方式,可以先获取车间各机组信息,设置机组信息表。每个机组的信息包括机组种类、机组状态、机组配置等必要信息。再根据上述机组信息选出运转正常的多个机组并将其确定为多个生产机组。其次,可以根据生产任务的类型以及生产机组的类型确定生产任务和生产机组是否匹配。然后可以采用贪心策略从与生产机组匹配的多个生产任务中选取出收益值最优的生产任务组合,并将该生产任务组合作为该生产机组的任务序列。值得说明的是,收益值最优,即是满足收益值最大、生产机组的负载平衡、工时损耗最小以及满足交货期。通过上述方法遍历每一个生产机组,即可得到每一个生产机组对应的任务序列。

步骤330,根据每个所述生产机组的任务序列调度对应的生产机组进行生产加工。

这里,调度对应的生产机组进行生产加工,即生产机组根据其接收到的任务序列进行加工生产。

在一个可选的实施方式中,图6示出了图5所示步骤320的具体步骤的流程示意图,如图6所示,步骤320中,根据所述收益值,将所述多个生产任务分配至对应的生产机组中,以确定每个所述生产机组的任务序列,包括步骤321至步骤325。

在步骤321中,从所述多个生产任务中选取一个目标任务,其中,当前选取的目标任务始终为多个所述生产任务中收益值最大的生产任务。

这里,从所述多个生产任务中选取一个目标任务,可以是将多个生产任务按照收益值的从大到小进行排序,得到一个任务列表。然后从任务列表中选取一个收益值最大的任务序列作为所述目标任务。

在步骤322中,从所述多个生产机组中,确定至少一个与所述目标任务的类型对应的机组作为匹配机组。

这里,多个生产机组中,每个生产机组可以加工的工件的类型可能相同也可能不相同。因此,需要从所述多个生产机组中选取出至少一个与所述目标任务的类型对应的机组作为匹配机组。值得说明的是,匹配机组的数量可以包括一个或多个,因为在工厂中,有一些生产机组可以加工a工件也可以加工b工件,有一些机组则只可以加工b工件。

在步骤323中,获取每个所述匹配机组完成所述目标任务的完工时间。

这里,获取每个所述匹配机组完成所述目标任务的完工时间,该完工时间由各个生产任务的所需工时以及各个任务之间的任务切换工时决定。例如,匹配机组的任务序列中存在已经存在生产任务a和生产任务b,其中,生产任务a的所需工时为6小时,生产任务b的所需工时是7小时,且生产任务a和生产任务b的任务切换工时是2小时,在将目标任务c添加进该匹配机组的任务序列后,生产任务b与目标任务的任务切换工时为3小时,目标任务c的所需工时为8小时,则所述匹配机组完成所述目标任务c的完工时间为6+2+7+3+8=26小时。

在步骤324中,判断所述完工时间是否满足第二预设条件,当所述完工时间满足第二预设条件时,将所述完工时间对应的匹配机组确定为目标机组,并将所述目标任务分配至所述目标机组的任务序列中

其中,根据每个所述完工时间,从所述匹配机组中确定一个完工时间满足第二预设条件的匹配机组作为目标机组,确定将所述目标任务分配至所述目标机组的任务序列中。

在步骤325中,返回执行步骤321,直至每个所述生产任务分配完毕,以确定每个所述生产机组的任务序列。

这里,重复执行上述步骤,是指返回步骤321,重新选取一个新的目标任务,在执行步骤322至步骤325,直到任务列表中的所有生产任务均分配完毕。其中,所有生产任务均分配完毕,是指任务均被调度过,即不管生产任务是否没有能够分配到一个生产机组中。

在一个可选的实施方式中,步骤324中,判断所述完工时间是否满足第二预设条件,可以包括:

获取所述目标任务的交货日期;

确定所述完工时间是否超过所述交货日期;

当所述完工时间没有超过所述交货日期时,确定所述完工时间满足第二预设条件。

这里,判断每个所述完工时间是否超过所述目标任务的交货日期,并从中选取出不超过所述交货日期的完工时间作为第一完工时间,可以从多个匹配机组中,确定出能够按时完成目标任务的机组。例如,匹配机组包括a、b、c三个,根据完工时间,匹配机组a和匹配机组c的完工时间能够满足目标任务的交货日期。然后匹配机组a和匹配机组c的完工时间中,匹配机组a的完工时间最短,则将目标任务分配至匹配机组a中。

在一个可选的实施方式中,当每个所述完工时间均超过所述目标任务的交货日期,提示对所述目标任务的任务属性进行修改。

其中,对所述目标任务的任务属性进行修改,包括将所述目标任务拆分成多个子任务、修改所述目标任务的交货日期等。

在一个可选的实施方式中,步骤222中,从所述多个生产机组中,确定至少一个与所述目标任务的类型对应的机组作为匹配机组之后,还可以包括:

获取各个所述匹配机组中已分配的生产任务的第二总完工时间;

分别计算各个所述匹配机组的第二总完工时间与最短的第二总完工时间之间的差值;

将所述差值小于等于预设阈值的生产机组作为所述匹配机组。

这里,通过计算各个所述匹配机组的第二总完工时间与最短的第二总完工时间之间的差值,可以将一些第二完工时间差异明显的生产机组直接筛选掉。例如,存在生产机组a以及生产机组b,生产机组a的总完工时间为1小时,生产机组b的第二完工时间为1天,当一个生产分配在生产机组a和b时,由于第二种完工时间相差太大,因此,不可能安排在生产机组b上。因此,通过判断计算各个所述匹配机组的第二总完工时间与最短的第二总完工时间之间的差值是否小于预设阈值,能够实现生产机组的合理调度。

实施例四

在实际应用中,本实施例的生产调度方法的具体实施步骤可以如下:

步骤1,从产品购销合同中获取生产作业,并将其分解成相互独立的生产任务。每项任务包含产品类型、规格、交货期、所需工时等必要信息。

其中,用户提交的作业分解成n个相互独立任务的集合,定义任务集合t={t1,t2,…,ti,…,tn},其中ti为分解成的第i个任务(i=1,2,…,n),n为分解后的任务数量,则任务ti可以通过以下式子表示:

ti=(tasktypei,taskspeci,delivertimei,workingoursi,taskcoefi,taskpriori)

其中tasktypei表示第i个任务的产品类型、taskspeci表示第i个任务的规格、delivertimei表示第i个任务的交货期、workingoursi表示第i个任务的所需工时、taskcoefi表示第i个任务的收益系数(taskcoefi≥0,默认值为1)、taskpriori表示第i个任务的优先系数(taskpriori≥1,默认值为1)。值得说明的是,优先系数可调节任务排产的优先度,以用于在特殊情况下进行人工干预。

步骤2,获取车间各机组信息,设置机组信息表。每个机组的信息包括机组种类、机组状态、机组配置等必要信息。

步骤3,选出运转正常的机组,设置与各个机组对应的任务序列,并初始化为空。

步骤4,采用贪心策略优先选择收益值大的任务进行调度,将任务分配到最优机组。

步骤4,输出各机组分配的任务序列,调度任务结束。

上述的步骤4中,所述的采用贪心策略优先选择收益值大的任务进行调度的详细步骤如下:

步骤4.1,计算所有所述生产任务的收益值,并将所述生产任务按收益值的大小进行递减排序,形成任务列表。

其中,定义每项生产任务ti对应一个收益值taskvaluei,收益值用于衡量该任务为企业带来的利益。在实际生产中,生产任务所需的加工工时是任务收益的主要因素,订单量越大,所需工时越多,企业的收益往往越大。此外,不同种类的生产任务所产生收益率往往有所不同,有的任务利润率高,有的利润薄。

其中,可以通过以下计算公式计算所述生产任务的收益值:

taskvaluei=workingoursi×taskcoefi×taskpriori;

其中,taskvaluei表示第i个生产任务的收益值,workingoursi表示第i个生产任务的所需工时,taskcoefi表示第i个生产任务的收益系数,taskpriori表示第i个生产任务的优先系数。

步骤4.2,从任务列表中依次循环取出一项生产任务i,并查找和该生产任务i的类型匹配的生产机组。

步骤4.3,判断生产任务i依次添加到匹配的生产机组后能否满足交期需求,如果满足交期需求,从而找出生产任务i的最优机组。

步骤4.4,将生产任务i加入到最优机组,并更新该最优机组的任务序列。

步骤4.5,返回步骤4.2继续执行,直到所有生产任务分配完成或生产任务为止。

上述的步骤4.3中,判断生产任务i依次添加到匹配机组后能否满足交期需求,从而找出生产任务i的最优机组的详细步骤如下:

步骤4.3.1,为当前任务i设置可行任务序列集合f并初始化为空。每个可行任务序列包含任务号、任务开始加工时间、任务结束加工时间、任务切换时间等信息。

步骤4.3.2,将与当前任务i的类型匹配的机组按照该机组已分配任务的总完工时间进行递增排序,以形成机组列表,并计算各个机组与该机组列表中的第一个机组的总完工时间之差,然后删除差值大于预设阈值的机组,从而获得删除后的机组列表。

步骤4.3.3,从匹配机组中依次循环取出一个机组j,并获取其完工时间。直到所有匹配机组取完为止。

步骤4.3.4,判断当前机组j的任务完工时间和最早完工的机组的完工时间之差,如果不超过阈值θ,则继续执行下面步骤;否则进一步判断集合f是否为空,为空则继续执行下面步骤,否则跳出本循环,进入步骤4.3.8。

步骤4.3.5,判断添加任务i到当前机组j后,当前机组j分配的所有任务的交货期是否都满足客户要求,不满足则中止当前步骤,继续进入步骤4.3.3,进入下一循环;满足则继续下面步骤。

步骤4.3.6,将添加任务i到机组j后形成多个可行任务序列,取其中两个完工时间最早的添加到可行任务序列集合f,并返回步骤4.3.3继续下一次循环,直到所有匹配机组取完为止。

步骤4.3.7,判断可行任务集合f是否为空,非空则继续下面步骤,空则报错,提示用户当前任务没有可匹配的机组,建议调整任务设置,例如将任务分批处理、修改交货时间、修改任务优先系数等。

步骤4.3.8,将集合f中序列按完工时间递增排序,计算各个序列与该排列中第一个序列的完工时间之差,然后删除差值大于第二预设阈值的任务序列,在从任务列表中获取各个生产任务的任务切换工时,再从中取出切换工时较小的序列,该序列所属机组即为生产任务i对应的最优机组。

上述的步骤4.3.5中,所述的判断添加任务i到当前机组j后,当前机组j分配的所有任务的交货期是否都满足客户要求的详细步骤如下,

步骤4.3.5.1,令添加任务i到机组j后得到的新任务集合为s′,设置可行任务序列集合f′并初始化为空。

步骤4.3.5.2,将集合s′中任务按交货期升序排列,由于不同任务的交货期可能会相同,所以可能有多种排序结果,令排序结果为任务序列集合l。

步骤4.3.5.3,从任务序列集合l中依次循环取出一个序列l,计算序列l的任务预计完工时间和任务切换时间,直到集合l取完为止。

步骤4.3.5.4,逐一比较序列l中各项任务的预计完工时间和交货期,判断是否存在一项无法按期交货的任务,存在则中止当前步骤,继续进入步骤4.3.5.3以进行下一次循环;否则继续执行下面步骤。

步骤4.3.5.5,将任务序列l加入到可行任务序列集合f',并返回步骤4.3.5.3继续下一次循环,直到集合l取完为止。

步骤4.3.5.6,判断可行任务序列集合f'是否为空,空则表示添加任务i到当前机组j后,交货期无法满足客户需求;非空则交货期满足客户需求,f'中的任务序列即为可行任务序列。

实施例五

根据本发明实施例,还可以提供一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述实施例任一项所述的生产调度方法。

实施例六

一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例任一项所述的生产调度方法。

以上结合附图详细说明了本公开的技术方案,考虑到相关技术中,钢材加工生产调度方法存在计算复杂、生产效益低等缺陷。本公开提供一种生产调度方法、计算机设备以及存储介质,通过确定多个生产任务,并获取每个所述生产任务的收益值,进而根据所述收益值确定与每个所述生产机组对应的任务序列,再根据所述任务序列调度对应的生产机组进行生产加工。可见,本公开的实施提供的一种生产调度方法,通过引入生产任务的收益值的概念,能够根据收益值来给生产任务分配合适的生产机组。不仅能够实现生产机组的生产任务能够负载均衡,而且能够保证生产收益的最大化,从根本上解决了计算复杂、生产效益低的问题。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本公开实施例方案的目的。

另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

虽然本公开所公开的实施方式如上,但所述的内容只是为了便于理解本公开而采用的实施方式,并非用以限定本公开。任何本公开所属技术领域内的技术人员,在不脱离本公开所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本公开的保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1