本公開涉及生產(chǎn)管理,特別涉及一種生產(chǎn)排程方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、生產(chǎn)排程也即是為每個(gè)工件的每道工序分配合適的加工順序和加工設(shè)備,合理地生產(chǎn)排程能夠提高車間加工工件的效率。
2、相關(guān)技術(shù)中,生產(chǎn)排程方法包括:基于機(jī)器的加工時(shí)間、每個(gè)工件的加工時(shí)間和工廠的停工時(shí)間構(gòu)建初代染色體,采用遺傳算法對(duì)初代染色體進(jìn)行多輪迭代,以求出最優(yōu)解。
3、然而,采用上述方式求出的最優(yōu)解可能不滿足工件的多道工序之間的先后約束關(guān)系,導(dǎo)致最優(yōu)解為不可行解,采用該不可行解進(jìn)行生產(chǎn)排程會(huì)導(dǎo)致工件加工出錯(cuò)。
技術(shù)實(shí)現(xiàn)思路
1、本公開提供了一種生產(chǎn)排程方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),能夠保證求出的最優(yōu)解為可行解。所述技術(shù)方案至少包括如下方案:
2、第一方面,提供了一種生產(chǎn)排程方法,包括:確定用于生產(chǎn)目標(biāo)產(chǎn)品的多道工序,所述多道工序之間存在約束關(guān)系;基于所述多道工序之間的約束關(guān)系,生成初代的工序排序染色體,每條所述初代的工序排序染色體包括多個(gè)基因,所述初代的工序排序染色體的每個(gè)基因用于表示所述多道工序中的一道工序,所述初代的工序排序染色體的多個(gè)基因的排列順序用于表征所述多道工序之間的先后順序且滿足所述約束關(guān)系;采用遺傳算法對(duì)所述初代的工序排序染色體進(jìn)行多次迭代,得到多條候選工序排序染色體,所述多次迭代中的每次迭代包括交叉和變異,每次迭代得到的工序排序染色體的多個(gè)基因的排列順序所表征的所述多道工序之間的先后順序滿足所述約束關(guān)系;從所述多條候選工序排序染色體中選擇最優(yōu)的工序排序染色體;根據(jù)所述最優(yōu)的工序排序染色體生成生產(chǎn)排程信息。
3、可選地,所述采用遺傳算法對(duì)所述初代的工序排序染色體進(jìn)行多次迭代,包括:對(duì)于任一次迭代中的交叉,確定第一染色體的第一基因?qū)?yīng)的第一點(diǎn)位集合,所述第一點(diǎn)位集合包括所述第二染色體中的至少一個(gè)轉(zhuǎn)移點(diǎn)位,所述第二染色體中的每個(gè)轉(zhuǎn)移點(diǎn)位與所述第二染色體中的至少一個(gè)基因相鄰且與任一個(gè)基因均不重合,在所述第一基因被轉(zhuǎn)移至所述第一轉(zhuǎn)移點(diǎn)位集合中的任一轉(zhuǎn)移點(diǎn)位后,所述第二染色體中的多個(gè)基因的排列順序所表征的多個(gè)工序之間的先后順序滿足所述約束關(guān)系;將所述第一基因轉(zhuǎn)移至第一轉(zhuǎn)移點(diǎn)位,所述第一轉(zhuǎn)移點(diǎn)位為所述第一點(diǎn)位集合中的任一個(gè)轉(zhuǎn)移點(diǎn)位;其中,所述第一染色體和所述第二染色體為任一次迭代的上一次迭代產(chǎn)生的兩條不同的染色體。
4、可選地,所述采用遺傳算法對(duì)所述初代的工序排序染色體進(jìn)行多次迭代,還包括:若所述第一染色體的第二基因轉(zhuǎn)移至所述第二染色體的任一轉(zhuǎn)移點(diǎn)位,均使得轉(zhuǎn)移后的第二染色體中的多個(gè)基因的排列順序所表征的多個(gè)工序之間的先后順序不滿足所述約束關(guān)系,則從所述第二染色體的全部轉(zhuǎn)移點(diǎn)位中任選一個(gè)轉(zhuǎn)移點(diǎn)位作為所述第二基因的第二轉(zhuǎn)移點(diǎn)位;將所述第一染色體的第三基因轉(zhuǎn)移至所述第二轉(zhuǎn)移點(diǎn)位前的任一個(gè)轉(zhuǎn)移點(diǎn)位中,在所述約束關(guān)系中,所述第三基因指示的工序在所述第二基因指示的工序之前;將所述第二基因轉(zhuǎn)移至所述第二轉(zhuǎn)移點(diǎn)位。
5、可選地,所述采用遺傳算法對(duì)所述初代的工序排序染色體進(jìn)行多次迭代,還包括:對(duì)于任一次迭代中的變異,確定第三染色體的第四基因?qū)?yīng)的第二點(diǎn)位集合,所述第二點(diǎn)位集合包括所述第三染色體中的至少一個(gè)轉(zhuǎn)移點(diǎn)位,所述第三染色體中的每個(gè)轉(zhuǎn)移點(diǎn)位與所述第三染色體中的至少一個(gè)基因相鄰且與任一個(gè)基因均不重合,在所述第四基因被轉(zhuǎn)移至所述第二轉(zhuǎn)移點(diǎn)位集合中的任一轉(zhuǎn)移點(diǎn)位后,所述第三染色體中的多個(gè)基因的排列順序所表征的多個(gè)工序之間的先后順序滿足所述約束關(guān)系;將所述第四基因轉(zhuǎn)移至第三轉(zhuǎn)移點(diǎn)位中,所述第三轉(zhuǎn)移點(diǎn)位為所述第二點(diǎn)位集合中的任一個(gè)轉(zhuǎn)移點(diǎn)位;其中,所述第三染色體為任一次迭代的上一次迭代產(chǎn)生的一條染色體。
6、可選地,所述方法還包括:基于第一適應(yīng)度函數(shù),確定第k次迭代的上一次迭代產(chǎn)生的每條工序排序染色體在生產(chǎn)排程目標(biāo)下的適應(yīng)度值,所述第一適應(yīng)度函數(shù)為帶尺度變換的適應(yīng)度函數(shù);基于所述第k次迭代的上一次迭代產(chǎn)生的每條工序排序染色體在生產(chǎn)排程目標(biāo)下的適應(yīng)度值,從所述第k次迭代的上一次迭代產(chǎn)生的多條工序排序染色體中選擇出至少一條工序排序染色體,并基于選擇出的工序排序染色體進(jìn)行第k+1次迭代;其中,k為整數(shù),k大于0且小于最大迭代輪數(shù)。
7、可選地,所述方法還包括:按照所述約束關(guān)系,確定第一工序順序,所述第一工序順序用于指示所述多道工序之間的先后順序;基于所述第一工序順序,生成初代的機(jī)器負(fù)荷染色體,所述初代的機(jī)器負(fù)荷染色體中的每個(gè)基因用于指示采用一臺(tái)機(jī)器執(zhí)行所述第一工序順序中的一道工序所需花費(fèi)的時(shí)間,所述初代的機(jī)器負(fù)荷染色體中的各基因?qū)?yīng)的工序不同;確定第q次迭代的上一次迭代產(chǎn)生的每條機(jī)器負(fù)荷染色體的總負(fù)荷,所述總負(fù)荷用于指示機(jī)器負(fù)荷染色體的多個(gè)基因中每個(gè)基因指示的時(shí)間之和;在變異后的第四染色體總負(fù)荷相較于變異前的所述第四染色體總負(fù)荷減少的前提下,采用遺傳算法對(duì)所述第q次迭代的上一次迭代產(chǎn)生的多條機(jī)器負(fù)荷染色體進(jìn)行第q+1次迭代,所述第四染色體為所述第q次迭代的上一次迭代產(chǎn)生的任一條機(jī)器負(fù)荷染色體;其中,q為整數(shù),q大于0且小于最大迭代輪數(shù)。
8、第二方面,還提供了一種生產(chǎn)排程裝置,包括:約束關(guān)系獲取模塊,用于確定用于生產(chǎn)目標(biāo)產(chǎn)品的多道工序,所述多道工序之間存在約束關(guān)系;第一生成模塊,用于基于所述多道工序之間的約束關(guān)系,生成初代的工序排序染色體,每條所述初代的工序排序染色體包括多個(gè)基因,所述初代的工序排序染色體的每個(gè)基因用于表示所述多道工序中的一道工序,所述初代的工序排序染色體的多個(gè)基因的排列順序用于表征所述多道工序之間的先后順序且滿足所述約束關(guān)系;迭代模塊,用于采用遺傳算法對(duì)所述初代的工序排序染色體進(jìn)行多次迭代,得到多條候選工序排序染色體,所述多次迭代中的每次迭代包括交叉和變異,每次迭代得到的工序排序染色體的多個(gè)基因的排列順序所表征的所述多道工序之間的先后順序滿足所述約束關(guān)系;選擇模塊,用于從所述多條候選工序排序染色體中選擇最優(yōu)的工序排序染色體;第二生成模塊,用于根據(jù)所述最優(yōu)的工序排序染色體生成生產(chǎn)排程信息。
9、可選地,所述迭代模塊還用于對(duì)于任一次迭代中的交叉,確定第一染色體的第一基因?qū)?yīng)的第一點(diǎn)位集合,所述第一點(diǎn)位集合包括所述第二染色體中的至少一個(gè)轉(zhuǎn)移點(diǎn)位,所述第二染色體中的每個(gè)轉(zhuǎn)移點(diǎn)位與所述第二染色體中的至少一個(gè)基因相鄰且與任一個(gè)基因均不重合,在所述第一基因被轉(zhuǎn)移至所述第一轉(zhuǎn)移點(diǎn)位集合中的任一轉(zhuǎn)移點(diǎn)位后,所述第二染色體中的多個(gè)基因的排列順序所表征的多個(gè)工序之間的先后順序滿足所述約束關(guān)系;將所述第一基因轉(zhuǎn)移至第一轉(zhuǎn)移點(diǎn)位,所述第一轉(zhuǎn)移點(diǎn)位為所述第一點(diǎn)位集合中的任一個(gè)轉(zhuǎn)移點(diǎn)位;其中,所述第一染色體和所述第二染色體為任一次迭代的上一次迭代產(chǎn)生的兩條不同的染色體。
10、可選地,所述迭代模塊還用于若所述第一染色體的第二基因轉(zhuǎn)移至所述第二染色體的任一轉(zhuǎn)移點(diǎn)位,均使得轉(zhuǎn)移后的第二染色體中的多個(gè)基因的排列順序所表征的多個(gè)工序之間的先后順序不滿足所述約束關(guān)系,則從所述第二染色體的全部轉(zhuǎn)移點(diǎn)位中任選一個(gè)轉(zhuǎn)移點(diǎn)位作為所述第二基因的第二轉(zhuǎn)移點(diǎn)位;將所述第一染色體的第三基因轉(zhuǎn)移至所述第二轉(zhuǎn)移點(diǎn)位前的任一個(gè)轉(zhuǎn)移點(diǎn)位中,在所述約束關(guān)系中,所述第三基因指示的工序在所述第二基因指示的工序之前;將所述第二基因轉(zhuǎn)移至所述第二轉(zhuǎn)移點(diǎn)位。
11、可選地,所述迭代模塊還用于對(duì)于任一次迭代中的變異,確定第三染色體的第四基因?qū)?yīng)的第二點(diǎn)位集合,所述第二點(diǎn)位集合包括所述第三染色體中的至少一個(gè)轉(zhuǎn)移點(diǎn)位,所述第三染色體中的每個(gè)轉(zhuǎn)移點(diǎn)位與所述第三染色體中的至少一個(gè)基因相鄰且與任一個(gè)基因均不重合,在所述第四基因被轉(zhuǎn)移至所述第二轉(zhuǎn)移點(diǎn)位集合中的任一轉(zhuǎn)移點(diǎn)位后,所述第三染色體中的多個(gè)基因的排列順序所表征的多個(gè)工序之間的先后順序滿足所述約束關(guān)系;將所述第四基因轉(zhuǎn)移至第三轉(zhuǎn)移點(diǎn)位中,所述第三轉(zhuǎn)移點(diǎn)位為所述第二點(diǎn)位集合中的任一個(gè)轉(zhuǎn)移點(diǎn)位;其中,所述第三染色體為任一次迭代的上一次迭代產(chǎn)生的一條染色體。
12、可選地,所述生產(chǎn)排程裝置還包括適應(yīng)度值獲取模塊。所述適應(yīng)度值獲取模塊用于基于第一適應(yīng)度函數(shù),確定第k次迭代的上一次迭代產(chǎn)生的每條工序排序染色體在生產(chǎn)排程目標(biāo)下的適應(yīng)度值,所述第一適應(yīng)度函數(shù)為帶尺度變換的適應(yīng)度函數(shù);所述迭代模塊還用于基于所述第k次迭代的上一次迭代產(chǎn)生的每條工序排序染色體在生產(chǎn)排程目標(biāo)下的適應(yīng)度值,從所述第k次迭代的上一次迭代產(chǎn)生的多條工序排序染色體中選擇出至少一條工序排序染色體,并基于選擇出的工序排序染色體進(jìn)行第k+1次迭代;其中,k為整數(shù),k大于0且小于最大迭代輪數(shù)。
13、可選地,所述約束關(guān)系獲取模塊還用于按照所述約束關(guān)系,確定第一工序順序,所述第一工序順序用于指示所述多道工序之間的先后順序;所述第一生成模塊還用于基于所述第一工序順序,生成初代的機(jī)器負(fù)荷染色體,所述初代的機(jī)器負(fù)荷染色體中的每個(gè)基因用于指示采用一臺(tái)機(jī)器執(zhí)行所述第一工序順序中的一道工序所需花費(fèi)的時(shí)間,所述初代的機(jī)器負(fù)荷染色體中的各基因?qū)?yīng)的工序不同。
14、所述生成排程裝置還包括:機(jī)器負(fù)荷獲取模塊,所述機(jī)器負(fù)荷獲取模塊用于確定第q次迭代的上一次迭代產(chǎn)生的每條機(jī)器負(fù)荷染色體的總負(fù)荷,所述總負(fù)荷用于指示機(jī)器負(fù)荷染色體的多個(gè)基因中每個(gè)基因指示的時(shí)間之和;所述迭代模塊還用于在變異后的第四染色體總負(fù)荷相較于變異前的所述第四染色體總負(fù)荷減少的前提下,采用遺傳算法對(duì)所述第q次迭代的上一次迭代產(chǎn)生的多條機(jī)器負(fù)荷染色體進(jìn)行第q+1次迭代,所述第四染色體為所述第q次迭代的上一次迭代產(chǎn)生的任一條機(jī)器負(fù)荷染色體;其中,q為整數(shù),q大于0且小于最大迭代輪數(shù)。
15、第三方面,還提供了一種計(jì)算機(jī)設(shè)備,包括:存儲(chǔ)器和處理器,所述存儲(chǔ)器中存儲(chǔ)有至少一條計(jì)算機(jī)程序,所述至少一條計(jì)算機(jī)程序由所述處理器加載并執(zhí)行,從而執(zhí)行上述實(shí)施例中所述的生產(chǎn)排程方法。
16、第四方面,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中存儲(chǔ)有至少一條計(jì)算機(jī)程序,所述至少一條計(jì)算機(jī)程序由處理器加載并執(zhí)行,從而執(zhí)行上述實(shí)施例中所述的生產(chǎn)排程方法。
17、第五方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)第一方面所述的方法。
18、本公開實(shí)施例提供的技術(shù)方案帶來的有益效果至少包括:
19、由于初代的工序排序染色體指示的多道工序之間的先后順序滿足約束關(guān)系,且交叉和變異后的染色體也都滿足約束關(guān)系,故采用遺傳算法進(jìn)行多次迭代后,得到的多條工序排序染色體指示的多道工序之間的先后順序也均滿足約束關(guān)系。這樣,從多條工序排序染色體中求出的最優(yōu)的工序排序染色體必然也滿足約束關(guān)系,從而能夠保證求出的最優(yōu)解為可行解。