本發(fā)明涉及銅板包括方法技術(shù)領(lǐng)域,尤其涉及一種銅板包裝打包方法。
背景技術(shù):
伴隨著人們物質(zhì)生活的極大豐富,對(duì)銅板的需求量不斷的增加,所以對(duì)于銅板的運(yùn)輸成本以及在運(yùn)輸過(guò)程中保證銅板的質(zhì)量是現(xiàn)有技術(shù)中要解決的問(wèn)題。而銅板本身是一個(gè)大體積的產(chǎn)品,如果直接對(duì)成品銅板進(jìn)行運(yùn)輸容易造成產(chǎn)品的損傷而且運(yùn)輸費(fèi)用較高。所以廠商們應(yīng)該將客戶銅板進(jìn)行打包運(yùn)輸,以保證產(chǎn)品的完整性以及降低運(yùn)輸成本。保證銅板運(yùn)輸?shù)那疤峋褪菍~板按照尺寸進(jìn)行分類打包。目前實(shí)現(xiàn)這種打包的方式是基于人工經(jīng)驗(yàn)式手動(dòng)打包,效率較低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是如何提供一種打包效率高的銅板包裝打包方法。
為解決上述技術(shù)問(wèn)題,本發(fā)明所采取的技術(shù)方案是:一種銅板包裝打包方法,其特征在于包括如下步驟:
將銅板的相關(guān)數(shù)據(jù)從數(shù)據(jù)庫(kù)中讀出,使用整合算法對(duì)上述數(shù)據(jù)進(jìn)行處理;
對(duì)使用整合算法處理后的數(shù)據(jù)使用快速排序算法進(jìn)行處理,機(jī)器人根據(jù)處理后的數(shù)據(jù)完成每一包、每一訂單以及每一批次銅板的打包。
進(jìn)一步的技術(shù)方案在于,所述整合算法包括如下步驟:
從數(shù)據(jù)庫(kù)將銅板的相關(guān)數(shù)據(jù)讀出;
計(jì)算銅板的體積,根據(jù)質(zhì)量計(jì)算公式,計(jì)算出銅板的重量;
查詢數(shù)據(jù)庫(kù),根據(jù)物料來(lái)匹配數(shù)據(jù)庫(kù)中銅板的類別和包裝規(guī)則,如果匹配成功則對(duì)數(shù)據(jù)進(jìn)行快速排序算法處理,如果匹配不成功,則報(bào)錯(cuò)并結(jié)束。
進(jìn)一步的技術(shù)方案在于,所述銅板的相關(guān)數(shù)據(jù)包括板批次號(hào)、銅板訂單號(hào)、銅板的長(zhǎng)度、銅板的寬度、銅板的厚度、以及銅板的所屬物料。
進(jìn)一步的技術(shù)方案在于,所述快速排序算法包括如下步驟:
1)首先將數(shù)據(jù)依次插入到單向鏈表中;
2)根據(jù)批次排列訂單;
3)根據(jù)訂單來(lái)排列銅板長(zhǎng)度、寬度、重量;
4)根據(jù)步驟3)中提供的訂單標(biāo)記3和標(biāo)記4范圍的數(shù)據(jù)首先按照板件長(zhǎng)度的大小從大到小進(jìn)行排序,并對(duì)已經(jīng)長(zhǎng)度排序后的數(shù)據(jù),如果具有相同的長(zhǎng)度,則相同長(zhǎng)度范圍內(nèi)的寬度同樣按照從大到小進(jìn)行排序;
5)依據(jù)步驟4)中提供的標(biāo)記3和標(biāo)記4中已經(jīng)按照長(zhǎng)度、寬度排序完之后的數(shù)據(jù)按照分組方法進(jìn)行賽選,分組之后單個(gè)的數(shù)據(jù)進(jìn)行混包處理;
6)分組方法的實(shí)現(xiàn):首先根據(jù)步驟4)中的訂單邊界標(biāo)記3和標(biāo)記4,將第一個(gè)數(shù)據(jù)1作為第一組,然后比較下一個(gè)數(shù)據(jù)2如果數(shù)據(jù)2的長(zhǎng)度小于數(shù)據(jù)1的長(zhǎng)度并且數(shù)據(jù)2中的寬度小于數(shù)據(jù)1中的寬度,那么就將數(shù)據(jù)2分配到第一組,否則重新建一個(gè)第二組;同樣將數(shù)據(jù)3首先對(duì)第一組數(shù)據(jù)中的最后一個(gè)數(shù)據(jù)進(jìn)行類似比較,如果成功則分配,不成功則比較下一組,如果成功則分配,否則循環(huán)比較,全部都沒(méi)有匹配成功的則重新建組,以此類推直到遇到標(biāo)記4位置;
7)經(jīng)過(guò)步驟6)分組賽選出來(lái)的數(shù)據(jù),對(duì)每組數(shù)據(jù)進(jìn)行檢查,如果該組中就一個(gè)數(shù)據(jù)那么這個(gè)數(shù)據(jù)進(jìn)入到了混包中并對(duì)該數(shù)據(jù)做標(biāo)記flag;
8)步驟7)中賽選剩下沒(méi)有flag的數(shù)據(jù)按照步驟3)和步驟4)重新進(jìn)行排序,該數(shù)據(jù)的邊界仍然是標(biāo)記3和標(biāo)記4;此時(shí)從數(shù)據(jù)中賽選出最大值小度length按照打包方法,首先將第一個(gè)不是flag的數(shù)據(jù)1作為起始數(shù)據(jù),優(yōu)先組合相同銅板并作為標(biāo)記;
9)從沒(méi)有flag的數(shù)據(jù)中賽選出僅次于不等于數(shù)據(jù)1長(zhǎng)度的數(shù)據(jù)2;然后將數(shù)據(jù)1中的數(shù)據(jù)的長(zhǎng)度進(jìn)行1/2的取值記做tag1,兩塊連續(xù)相同的并且長(zhǎng)度最接近tag1的數(shù)據(jù)如果存在則放到一個(gè)數(shù)據(jù)組中,如果不存在則考慮一個(gè)數(shù)據(jù)接近數(shù)據(jù)1的1/2和兩塊數(shù)據(jù)接近數(shù)據(jù)1的1/4的數(shù)據(jù)進(jìn)行組合,此時(shí)如果存在并且數(shù)據(jù)的體積小于已經(jīng)存放到數(shù)據(jù)組的體積那么該數(shù)據(jù)不考慮并進(jìn)行1/2和三個(gè)數(shù)據(jù)1的1/6,如果數(shù)據(jù)體積大于數(shù)據(jù)組中的數(shù)據(jù)就替代該數(shù)據(jù)組中的數(shù)據(jù);依次類推,直到遇到數(shù)據(jù)1的1/2n小于length位置;上述過(guò)程要滿足,組合板的長(zhǎng)度不能大于數(shù)據(jù)1中長(zhǎng)度,組合版寬度不能大于數(shù)據(jù)1的寬度;
10)根據(jù)步驟9)提出的數(shù)據(jù)1的1/2排序完之后再進(jìn)行數(shù)據(jù)1的1/3排序,操作方法和步驟9)相同;此時(shí)排列出來(lái)的數(shù)據(jù)要存入到數(shù)據(jù)組中數(shù)據(jù)進(jìn)行體積比較,如果大于就替代,否則比較一下組;以此類推直到遇到數(shù)據(jù)1的長(zhǎng)度的1/n小于length為止;
11)將上述數(shù)據(jù)中的數(shù)據(jù)進(jìn)行打包:優(yōu)先打包相同銅板,如果打包已經(jīng)滿足要求就放棄打包數(shù)組中的組合銅板和數(shù)據(jù)2,否則優(yōu)先考慮數(shù)據(jù)2,如果已經(jīng)滿足要求,同樣放棄數(shù)據(jù)組中的組合銅板,最后組合銅板數(shù)據(jù)2全部打上,數(shù)據(jù)2要放到最上方,如果已經(jīng)滿足就放棄,否則將組合板作為數(shù)據(jù)1,重復(fù)步驟9)-步驟11),直到滿要求為止;
12)重復(fù)上述步驟4)-11)進(jìn)行打下一包,并將上述賽選出來(lái)的數(shù)據(jù)flag混包到下一包,并按照混包算法進(jìn)行處理:
13)重復(fù)3)-12)步驟選擇下一個(gè)訂單進(jìn)行打包;
14)重復(fù)2)-13)步驟選擇下一個(gè)批次進(jìn)行打包。
進(jìn)一步的技術(shù)方案在于,所述根據(jù)批次排列訂單的方法如下:
記錄第一個(gè)數(shù)據(jù)作為該批次的首數(shù)據(jù)并做下標(biāo)記1,直到遇到不等于做標(biāo)記1的數(shù)據(jù)為止并做標(biāo)記2,賽選出標(biāo)記1和標(biāo)記2作為本批次分界點(diǎn),在這個(gè)批次里面會(huì)有很多的訂單。
進(jìn)一步的技術(shù)方案在于,根據(jù)訂單來(lái)排列銅板長(zhǎng)度、寬度、重量的方法如下:根據(jù)步驟2)中提供的標(biāo)記1和標(biāo)記2的范圍內(nèi)將第一個(gè)數(shù)據(jù)作為該訂單的首數(shù)據(jù)并做標(biāo)記3,直到遇到不等于做標(biāo)記3的數(shù)據(jù)為止并做標(biāo)記4,賽選出標(biāo)記3和標(biāo)記4作為本訂單分界點(diǎn),在這個(gè)訂單里面會(huì)有很多的訂單。
進(jìn)一步的技術(shù)方案在于,所述混包算法包括如下步驟:
對(duì)于篩選出來(lái)的數(shù)據(jù)flag,混和到下一包中,此時(shí)的數(shù)據(jù)是具有規(guī)則的,在進(jìn)行混包的時(shí)候如果混和組板滿足同一個(gè)規(guī)則的話就可以進(jìn)行混包;
如果滿足上述混包規(guī)則的,那么該數(shù)據(jù)也要和剩下包的數(shù)據(jù)同樣混合來(lái)比較那個(gè)數(shù)據(jù)更優(yōu),該flag選擇進(jìn)入最優(yōu)的包中;
剩下賽選出來(lái)的數(shù)據(jù)flag都進(jìn)行上述操作。
采用上述技術(shù)方案所產(chǎn)生的有益效果在于:所述方法針對(duì)整合算法、快速排序算法、混包算法來(lái)對(duì)數(shù)據(jù)進(jìn)行排序打包,對(duì)于數(shù)據(jù)域的操作主要是針對(duì)數(shù)據(jù)邊界的處理,防止數(shù)據(jù)重復(fù)使用和未使用,然后以指定的格式傳送給機(jī)器人實(shí)現(xiàn)自動(dòng)打包的功能,提高了打包的工作效率。
附圖說(shuō)明
下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
圖1是本發(fā)明實(shí)施例所述方法的主流程圖;
圖2是本發(fā)明實(shí)施例所述方法中整合算法的流程圖;
圖3是本發(fā)明實(shí)施例所述方法中快速排序算法的流程圖;
圖4是發(fā)明實(shí)施例所述方法中混包算法的流程圖。
具體實(shí)施方式
下面結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其他不同于在此描述的其它方式來(lái)實(shí)施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似推廣,因此本發(fā)明不受下面公開的具體實(shí)施例的限制。
如圖1所示,本發(fā)明實(shí)施例公開了一種銅板包裝打包方法,包括如下步驟:
將銅板的相關(guān)數(shù)據(jù)從數(shù)據(jù)庫(kù)中讀出,使用整合算法對(duì)上述數(shù)據(jù)進(jìn)行處理;
對(duì)使用整合算法處理后的數(shù)據(jù)使用快速排序算法進(jìn)行處理,機(jī)器人根據(jù)處理后的數(shù)據(jù)完成每一包、每一訂單以及每一批次銅板的打包。
本發(fā)明提出的整合算法包括如下步驟,如圖2所示:
首先從數(shù)據(jù)庫(kù)將數(shù)據(jù)讀出,數(shù)據(jù)包括:銅板批次號(hào)、銅板訂單號(hào)、銅板的長(zhǎng)度、銅板的寬度、銅板的厚度、以及銅板的所屬物料;
根據(jù)銅板的長(zhǎng)度,寬度,厚度計(jì)算出體積,然后利用換算公式來(lái)計(jì)算該銅板的重量(為后面打包進(jìn)行準(zhǔn)備);
根據(jù)銅板的物料來(lái)從另外一個(gè)數(shù)據(jù)庫(kù)中找到對(duì)應(yīng)的類別和規(guī)則。
本發(fā)明提出的快速排序算法包括下列步驟,如圖3所示:
1)首先將數(shù)據(jù)依次插入到單向鏈表中。
2)根據(jù)批次排列訂單:由于批次是連續(xù)性的,記錄第一個(gè)數(shù)據(jù)作為該批次的首數(shù)據(jù)并做下標(biāo)記1,直到遇到不等于做標(biāo)記1的數(shù)據(jù)為止并做標(biāo)記2,賽選出標(biāo)記1和標(biāo)記2作為本批次分界點(diǎn),在這個(gè)批次里面會(huì)有很多的訂單。
3)根據(jù)訂單來(lái)排列長(zhǎng)度、寬度、重量:由于訂單也具有連續(xù)性,根據(jù)步驟2)中提供的標(biāo)記1和標(biāo)記2的范圍內(nèi)將第一個(gè)數(shù)據(jù)作為該訂單的首數(shù)據(jù)并做標(biāo)記3,直到遇到不等于做標(biāo)記3的數(shù)據(jù)為止并做標(biāo)記4,賽選出標(biāo)記3和標(biāo)記4作為本訂單分界點(diǎn),在這個(gè)訂單里面會(huì)有很多的訂單。
4)根據(jù)步驟3)中提供的訂單標(biāo)記3和標(biāo)記4范圍的數(shù)據(jù)首先按照板件長(zhǎng)度的大小進(jìn)行從大到小進(jìn)行排序,并對(duì)已經(jīng)長(zhǎng)度排序后的數(shù)據(jù),如果具有相同的長(zhǎng)度,則相同長(zhǎng)度范圍內(nèi)的寬度同樣按照從大到小進(jìn)行排序,由于重量和長(zhǎng)度、寬度有關(guān)系,則重量不進(jìn)行排序。
5)依據(jù)步驟4)中提供的標(biāo)記3和標(biāo)記4中已經(jīng)按照長(zhǎng)度、寬度排序完之后的數(shù)據(jù)按照分組思想進(jìn)行賽選,目的是分完組之后單個(gè)的數(shù)據(jù)要進(jìn)行混包。
6)分組思想的實(shí)現(xiàn):首先根據(jù)步驟4)中的訂單邊界標(biāo)記3和標(biāo)記4,將第一個(gè)數(shù)據(jù)1作為第一組,然后比較下一個(gè)數(shù)據(jù)2如果數(shù)據(jù)2的長(zhǎng)度小于數(shù)據(jù)1的長(zhǎng)度并且數(shù)據(jù)2中的寬度小于數(shù)據(jù)1中的寬度,那么就將數(shù)據(jù)2分配到第一組,否則重新建一個(gè)第二組。同樣將數(shù)據(jù)將數(shù)據(jù)3首先對(duì)第一組數(shù)據(jù)中的最后一個(gè)數(shù)據(jù)進(jìn)行類似比較,如果成功則分配,不成功則比較下一組,如果成功則分配,否則循環(huán)比較,全部都沒(méi)有匹配成功的則重新建組。以此類推直到遇到標(biāo)記4位置。
7)經(jīng)過(guò)步驟6)分組賽選出來(lái)的數(shù)據(jù),對(duì)每組數(shù)據(jù)進(jìn)行檢查,如果該組中就一個(gè)數(shù)據(jù)那么這個(gè)數(shù)據(jù)進(jìn)入到了混包中并對(duì)帶數(shù)據(jù)做標(biāo)記flag。
8)步驟7)中賽選剩下(沒(méi)有flag)的數(shù)據(jù)按照步驟3)和步驟4)重新進(jìn)行排序,該數(shù)據(jù)的的邊界仍然是標(biāo)記3和標(biāo)記4。此時(shí)我們從數(shù)據(jù)中賽選出最大值小度length按照我們的打包總體思路,首先將第一個(gè)不是flag的數(shù)據(jù)1作為起始數(shù)據(jù),優(yōu)先組合相同銅板并作為標(biāo)記。
9)從沒(méi)有flag的數(shù)據(jù)中賽選出僅次于不等于數(shù)據(jù)1長(zhǎng)度的數(shù)據(jù)2。然后將數(shù)據(jù)1中的數(shù)據(jù)的長(zhǎng)度進(jìn)行1/2的取值記做tag1,這樣兩塊連續(xù)相同的并且長(zhǎng)度最接近tag1的數(shù)據(jù),如果存在放到一個(gè)數(shù)據(jù)組中,如果不存在則考慮一個(gè)數(shù)據(jù)接近數(shù)據(jù)1的1/2和兩塊數(shù)據(jù)接近數(shù)據(jù)1的1/4的數(shù)據(jù)進(jìn)行組合,此時(shí)如果存在并且數(shù)據(jù)的體積小于已經(jīng)存放到數(shù)據(jù)組的體積那么該數(shù)據(jù)不考慮并進(jìn)行1/2和三個(gè)數(shù)據(jù)1的1/6,如果數(shù)據(jù)體積大于數(shù)據(jù)組中的數(shù)據(jù)就替代該數(shù)據(jù)組中的數(shù)據(jù)。依次類推,直到遇到數(shù)據(jù)1的1/2n小于length位置,目的是選擇組合銅板積最接近數(shù)據(jù)的體積。上述過(guò)程要滿足,組合板的長(zhǎng)度不能大于數(shù)據(jù)1中長(zhǎng)度,組合版寬度不能大于數(shù)據(jù)1的寬度。
10)根據(jù)步驟9)提出的數(shù)據(jù)1的1/2排序完之后進(jìn)行在進(jìn)行數(shù)據(jù)1的1/3排序算法,操作方法和步驟9)一樣。此時(shí)排列出來(lái)的數(shù)據(jù)要存入到數(shù)據(jù)組中數(shù)據(jù)進(jìn)行體積比較,如果大于就替代,否則比較一下組。以此類推直到遇到數(shù)據(jù)1的長(zhǎng)度的1/n小于length為止。
11)將上述數(shù)據(jù)中的數(shù)據(jù)進(jìn)行打包:優(yōu)先打包相同銅板,如果打包已經(jīng)滿足要求就放棄打包數(shù)組中的組合銅板和數(shù)據(jù)2,否則優(yōu)先考慮數(shù)據(jù)2,如果已經(jīng)滿足要求,同樣放棄數(shù)據(jù)組中的組合銅板,最后組合銅板數(shù)據(jù)2全部打上,數(shù)據(jù)2要放到最上方,如果已經(jīng)滿足就放棄,否則將組合板最為數(shù)據(jù)1,重復(fù)步驟9)-11),直到滿要求為止。
12)重復(fù)上述步驟4)-12)進(jìn)行打下一包,并將上述賽選出來(lái)的數(shù)據(jù)flag混包到下一包,并按照混包算法。
13)重復(fù)(3)-(13)步驟選擇下一個(gè)訂單進(jìn)行打包。
14)重復(fù)(2)-(14)步驟選擇下一個(gè)批次進(jìn)行打包。
本發(fā)明提出的混包算法包括如下步驟,如圖4所示:
對(duì)于篩選出來(lái)的數(shù)據(jù)flag,混和到下一包中,此時(shí)的數(shù)據(jù)是具有規(guī)則的,在進(jìn)行混包的時(shí)候如果混和組板滿足同一個(gè)規(guī)則的話就可以進(jìn)行混包。
如果滿足上述混包規(guī)則的,那么該數(shù)據(jù)也要和剩下包的數(shù)據(jù)同樣混合來(lái)比較那個(gè)數(shù)據(jù)更優(yōu)。該flag選擇進(jìn)入最優(yōu)的包中。
剩下賽選出來(lái)的數(shù)據(jù)flag都進(jìn)行上述操作。
所述方法針對(duì)整合算法、快速排序算法、混包算法來(lái)對(duì)數(shù)據(jù)進(jìn)行排序打包,對(duì)于數(shù)據(jù)域的操作主要是針對(duì)數(shù)據(jù)邊界的處理,防止數(shù)據(jù)重復(fù)使用和未使用,然后以指定的格式傳送給機(jī)器人實(shí)現(xiàn)自動(dòng)打包的功能,提高了打包的工作效率。