本申請涉及計算機技術領域,具體涉及互聯(lián)網(wǎng)技術領域,尤其涉及訂單處理方法和裝置。
背景技術:
隨著電子商務的飛速發(fā)展,物品的出庫量越來越大。通常在倉庫里同一種物品都存放在不止一個儲物箱中,在現(xiàn)有技術中,往往很難從不止一個儲物箱中高效地確定出庫儲物箱。所以,如何提高物品的出庫效率是亟待解決的問題。
技術實現(xiàn)要素:
本申請的目的在于提出一種改進的訂單處理方法和裝置,來解決以上背景技術部分提到的技術問題。
第一方面,本申請實施例提供了一種訂單處理方法,該方法包括:提取待處理訂單中所記錄的待出庫物品的物品信息;從物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品的至少一個儲物箱在指定倉庫中的儲位信息;利用多目標遺傳算法,根據(jù)獲取的儲位信息和預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱;確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置;向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置。
在一些實施例中,在向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置之后,該方法還包括:獲取待回庫儲物箱的處理狀態(tài)列表,待回庫儲物箱的處理狀態(tài)列表用于指示待回庫的儲物箱的處理狀態(tài);若處理狀態(tài)列表中存在處于未處理狀態(tài)的待回庫儲物箱的信息,則根據(jù)指定的多個目標,利用將未處理的待回庫儲物箱在指定歷史時間段內(nèi)的運輸頻率作為參數(shù)的多目標遺傳算法,確定未處理的待回庫儲物箱在倉庫中的目標儲位;向指定的運輸裝置發(fā)送回庫指令,以使指定的運輸裝置將未處理的待回庫儲物箱運輸至目標儲位。
在一些實施例中,在提取待處理訂單中所記錄的待出庫物品的物品信息之前,該方法還包括:獲取訂單集合處理狀態(tài)列表,訂單集合處理狀態(tài)列表用于指示由訂單組成的訂單集合的處理狀態(tài);根據(jù)訂單集合處理狀態(tài)列表,確定正在處理的訂單集合的數(shù)量;若數(shù)量小于預設閾值,按照預設順序,從待處理的至少一個訂單集合中選取訂單集合,并將所選取的訂單集合中的訂單作為待處理訂單。
在一些實施例中,運輸裝置為穿梭車。
在一些實施例中,不同的儲物箱存儲在貨架的不同儲位上,在同一層的相鄰的貨架之間設置有物品的運輸通道;以及預設的多個目標包括以下之一:出庫儲物箱數(shù)量最小化、在各個運輸通道上運輸?shù)膬ξ锵鋽?shù)量相差最小化以及各個出庫儲物箱到達指定位置的時間之和最小化。
第二方面,本申請?zhí)峁┝艘环N訂單處理裝置,該裝置包括:提取單元,配置用于提取待處理訂單中所記錄的待出庫物品的物品信息;獲取單元,配置用于從物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品的至少一個儲物箱在指定倉庫中的儲位信息;選擇單元,配置用于利用多目標遺傳算法,根據(jù)獲取的儲位信息和預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱;確定單元,配置用于確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置;運輸單元,配置用于向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置。
在一些實施例中,該裝置還包括:列表獲取單元,配置用于獲取待回庫儲物箱的處理狀態(tài)列表,待回庫儲物箱的處理狀態(tài)列表用于指示待回庫的儲物箱的處理狀態(tài);確定目標單元,配置用于若處理狀態(tài)列表中存在處于未處理狀態(tài)的待回庫儲物箱的信息,則根據(jù)指定的多個目標,利用將未處理的待回庫儲物箱在指定歷史時間段內(nèi)的運輸頻率作為參數(shù)的多目標遺傳算法,確定未處理的待回庫儲物箱在倉庫中的目標儲位;發(fā)送單元,配置用于向指定的運輸裝置發(fā)送回庫指令,以使指定的運輸裝置將未處理的待回庫儲物箱運輸至目標儲位。
在一些實施例中,該裝置還包括:狀態(tài)獲取單元,配置用于獲取訂單集合處理狀態(tài)列表,訂單集合處理狀態(tài)列表用于指示由訂單組成的訂單集合的處理狀態(tài);數(shù)量確定單元,配置用于根據(jù)訂單集合處理狀態(tài)列表,確定正在處理的訂單集合的數(shù)量;選取單元,配置用于若數(shù)量小于預設閾值,按照預設順序,從待處理的至少一個訂單集合中選取訂單集合,并將所選取的訂單集合中的訂單作為待處理訂單。
在一些實施例中,不同的儲物箱存儲在貨架的不同儲位上,在同一層的相鄰的貨架之間設置有物品的運輸通道;以及預設的多個目標包括以下之一:出庫儲物箱數(shù)量最小化、在各個運輸通道上運輸?shù)膬ξ锵鋽?shù)量相差最小化以及各個出庫儲物箱到達指定位置的時間之和最小化。
本申請實施例提供的訂單處理方法和裝置,通過提取待處理訂單中所記錄的待出庫物品的物品信息,從指定的物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品的至少一個儲物箱在指定倉庫中的儲位信息,而后利用多目標遺傳算法,根據(jù)預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱,再確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置,最后向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置,本申請實施例利用多目標遺傳算法確定出庫儲物箱,提高了物品的出庫效率。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本申請可以應用于其中的示例性系統(tǒng)架構圖;
圖2是根據(jù)本申請的訂單處理方法的一個實施例的流程圖;
圖3是根據(jù)本申請的訂單處理方法的一個應用場景的示意圖;
圖4是根據(jù)本申請的訂單處理方法的又一個實施例的流程圖;
圖5是根據(jù)本申請的訂單處理裝置的一個實施例的結構示意圖;
圖6是適于用來實現(xiàn)本申請實施例的服務器的計算機系統(tǒng)的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發(fā)明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1示出了可以應用本申請的訂單處理方法或訂單處理裝置的實施例的示例性系統(tǒng)架構100。
如圖1所示,系統(tǒng)架構100可以包括終端設備101、102、103,網(wǎng)絡104和服務器105。網(wǎng)絡104用以在終端設備101、102、103和服務器105之間提供通信鏈路的介質。網(wǎng)絡104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設備101、102、103通過網(wǎng)絡104與服務器105交互,以接收或發(fā)送消息等。終端設備101、102、103上可以安裝有各種通訊客戶端應用,例如購物類應用、搜索類應用、即時通信工具、郵箱客戶端、社交平臺軟件等。
終端設備101、102、103可以是具有顯示屏并且支持網(wǎng)上購物的各種電子設備,包括但不限于智能手機、平板電腦、電子書閱讀器、mp3播放器(movingpictureexpertsgroupaudiolayeriii,動態(tài)影像專家壓縮標準音頻層面3)、mp4(movingpictureexpertsgroupaudiolayeriv,動態(tài)影像專家壓縮標準音頻層面4)播放器、膝上型便攜計算機和臺式計算機等等。
服務器105可以是進行訂單處理的訂單處理服務器,上述訂單可以是用戶使用終端設備101、102、103上的購物類應用購買物品所生成的訂單。訂單處理服務器可以對訂單中物品的儲位信息進行分析等處理,并將處理結果反饋給終端設備。
需要說明的是,本申請實施例所提供的訂單處理方法一般由服務器105執(zhí)行,相應地,訂單處理裝置一般設置于服務器105中。
應該理解,圖1中的終端設備、網(wǎng)絡和服務器的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,可以具有任意數(shù)目的終端設備、網(wǎng)絡和服務器。
繼續(xù)參考圖2,示出了根據(jù)本申請的訂單處理方法的一個實施例的流程200。該訂單處理方法,包括以下步驟:
步驟201,提取待處理訂單中所記錄的待出庫物品的物品信息。
在本實施例中,訂單處理方法運行于其上的電子設備(例如圖1所示的服務器)可以從本地的數(shù)據(jù)庫(或內(nèi)存空間)或者從終端設備獲取待處理的訂單。訂單中記錄了待出庫物品的物品信息,可以將物品信息提取出來。
待出庫物品為等待出庫的物品,上述電子設備可以對記錄了物品信息的訂單進行處理,以使待出庫物品能夠順利出庫。訂單所指示的待出庫物品可以是一件或者多件。物品信息是與物品相關的信息,具體地,物品信息可以是物品的名稱、規(guī)格和件數(shù)等等。
步驟202,從物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品的至少一個儲物箱在指定倉庫中的儲位信息。
在本實施例中,在上述電子設備的本地數(shù)據(jù)庫中,可以存儲有物品信息與儲位信息的對應關系表,該對應關系表是實時更新的。在倉庫中,可以有大量儲位,儲位用于存放裝有物品的儲物箱。同一種物品可以放置于一個或多個儲物箱中。上述電子設備可以通過查找上述對應關系表,獲取到存儲物品的至少一個儲物箱的儲位信息。
儲位信息為指示儲位位置的信息,具體可以包括儲位所在的列數(shù)、層高以及是否是雙進深等等??梢允褂靡淮幪杹肀硎緝ξ恍畔ⅰ?/p>
上述的對應關系表記載了每個儲物箱中存放的物品的物品信息,以及該儲物箱的儲位信息。通常每種物品都會存儲在多個儲物箱中,所以,可以通過一種物品的物品信息,查找到存儲該種物品的多個儲物箱分別對應的多個儲位信息。
步驟203,利用多目標遺傳算法,根據(jù)獲取的儲位信息和預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱。
在本實施例中,在獲得至少一個儲物箱的儲位信息之后,上述電子設備可以利用多目標遺傳算法從至少一個儲物箱中選擇一個儲物箱。可以預先設定算法所要實現(xiàn)的多個目標。在多個目標設定后,就可以將儲位信息作為遺傳算法的參數(shù),計算得到最優(yōu)子代儲物箱。
多目標遺傳算法是一種通過模擬自然進化過程搜索最優(yōu)解以實現(xiàn)多目標的方法。具體的,進行多目標遺傳算法的運算,首先確定多個目標,例如,目標之一可以是儲物箱的出庫運輸時間最短??梢噪S機選擇初代儲物箱,之后經(jīng)過多次迭代,得到最優(yōu)子代儲物箱。將最優(yōu)子代儲物箱確定為物品的出庫儲物箱。
在本實施例的一些可選的實現(xiàn)方式中,不同的儲物箱存儲在貨架的不同儲位上,在同一層的相鄰的貨架之間設置有物品的運輸通道;以及預設的多個目標包括以下之一:出庫儲物箱數(shù)量最小化、在各個運輸通道上運輸?shù)膬ξ锵鋽?shù)量相差最小化以及各個出庫儲物箱到達指定位置的時間之和最小化。
在倉庫中擺放有多個貨架,貨架在豎直方向上設置有很多層,而每一層都有多個儲位。儲物箱與儲位是相對應的,不同的儲物箱擺放在不同的儲位上。而在同一層每兩個相鄰的貨架之間設置有物品的運輸通道,運輸裝置可以在運輸通道移動,進行物品的運輸。
在運輸?shù)攘课锲返那闆r下,運輸盡可能少的出庫儲物箱,可以減少出庫時間,提高出庫效率。同時,讓各個運輸通道上正在運輸?shù)膬ξ锵鋽?shù)量相差最小化,即是讓各個運輸通道上的儲物箱數(shù)量均勻,可以防止由儲物箱堆積在運輸通道上導致的出庫速度減慢。而實現(xiàn)各個出庫儲物箱到達指定位置的時間之和最小化的目標,即能夠直接地提高物品出庫效率。
可以對上述的多個目標設置權重以進行多目標遺傳算法的運算。運算的具體方法屬于本領域技術人員的常用技術手段,在此不再贅述。
需要說明的是,可以將上述的三個預設的目標(出庫儲物箱數(shù)量最小化、在各個運輸通道上運輸?shù)膬ξ锵鋽?shù)量相差最小化以及各個出庫儲物箱到達指定位置的時間之和最小化)都作為預設的多個目標,也可以將其中的任意兩個目標的組合作為多個目標,還可以在這三個目標的基礎上,增加其他的目標。
利用適當?shù)墓ぞ哌M行計算可以提高計算效率,具體地,可以使用指定的面向對象編程語言開發(fā)工具來進行多目標遺傳算法的運算,例如:intellijidea,intellijidea是一種java語言集成開發(fā)工具,在智能代碼助手、代碼自動提示、重構、j2ee支持、各類版本工具(git、svn、github等)、junit、cvs整合、代碼分析、創(chuàng)新的gui設計等方面的功能優(yōu)良。
步驟204,確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置。
在本實施例中,上述電子設備可以從獲取的儲位信息中,確定出庫儲物箱的儲位信息。在倉庫中,運輸裝置是可以運輸物品的裝置。每個儲位上的儲物箱都由一個對應的運輸裝置進行運輸。獲取儲位信息與運輸裝置的對應關系,就可以利用出庫儲物箱的儲位信息確定出庫儲物箱的運輸裝置。可以將確定的運輸裝置確定為目標運輸裝置。
在本實施例的一些可選的實現(xiàn)方式中,運輸裝置為穿梭車。
穿梭車(shuttle)是可以在貨架之間穿行的運輸車??梢栽谪浖艿拿繉优渲靡惠v穿梭車。所以,同一層的儲位可以對應一臺穿梭車。當然,也可以在一層設置多輛穿梭車或者在多層設置一輛穿梭車。
步驟205,向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置。
在本實施例中,上述電子設備可以向確定得到的目標運輸裝置發(fā)送運輸指令,該運輸指令為指示目標運輸裝置進行運輸?shù)闹噶?,在運輸指令中可以包括出庫儲物箱的儲位信息,還可以包括運輸?shù)哪康牡亍T谀繕诉\輸裝置接收到運輸指令后,將出庫儲物箱運輸?shù)街付ㄎ恢谩?/p>
指定位置可以是目標運輸裝置所能達到的任意地理位置。運輸裝置將出庫儲物箱運輸至指定位置,從而完成出庫的一個環(huán)節(jié)。
繼續(xù)參見圖3,圖3是根據(jù)本實施例的訂單處理方法的應用場景的一個示意圖。在圖3的應用場景中,訂單處理服務器從本地數(shù)據(jù)庫提取待處理訂單中所記錄的待出庫物品“皮球”的物品信息;之后,訂單處理服務器可以從物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品“皮球”的至少一個儲物箱在指定倉庫中的儲位信息;然后,服務器利用多目標遺傳算法,根據(jù)獲取的儲位信息和預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱;再確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置;最后,服務器向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置。
本申請的上述實施例提供的方法本申請實施例利用多目標遺傳算法確定出庫儲物箱,提高了物品的出庫效率。
進一步參考圖4,其示出了訂單處理方法的又一個實施例的流程400。該訂單處理方法的流程400,包括以下步驟:
步驟401,獲取訂單集合處理狀態(tài)列表。
在本實施例中,訂單集合處理狀態(tài)列表用于指示由訂單組成的訂單集合的處理狀態(tài)??紤]到上述服務器的處理能力是有限的,在本申請中,為了保證訂單能夠得到正常的處理,也即為了保證服務器不會因為過載而導致宕機或出現(xiàn)其他問題,需要獲取訂單的處理狀態(tài),以獲知正在處理的訂單數(shù)量。所以,服務器獲取訂單集合處理狀態(tài)列表,訂單集合處理狀態(tài)列表中記載了由訂單組成的訂單集合的處理狀態(tài)。
在實踐中,訂單集合可以包括一個或多個訂單,訂單集合中包括的訂單是尚未進行出庫處理的訂單。訂單集合處理狀態(tài)可以包括未處理、正在處理和處理完成三種狀態(tài)。
步驟402,根據(jù)訂單集合處理狀態(tài)列表,確定正在處理的訂單集合的數(shù)量。
在本實施例中,因為訂單集合處理狀態(tài)列表可以指示訂單集合的處理狀態(tài),所以服務器可以直接由該訂單集合處理狀態(tài)列表確定有多少個訂單集合處于正在處理的狀態(tài)。
步驟403,若數(shù)量小于預設閾值,按照預設順序,從待處理的至少一個訂單集合中選取訂單集合,并將所選取的訂單集合中的訂單作為待處理訂單。
在本實施例中,可以預先對正在處理的訂單集合設定一個數(shù)量閾值作為預設閾值。如果確定正在處理的訂單集合的數(shù)量小于該預設閾值,則上述服務器自身還有處理能力,可以從至少一個訂單集合中,按照預先設定的選取順序,選取一個訂單集合,并將所選取的訂單集合中的訂單作為待處理訂單。
舉例來說,預設閾值為3,也就是服務器能夠處理的訂單集合的數(shù)量為3。如果訂單集合處理狀態(tài)列表顯示,當前正在處理的訂單集合的數(shù)量為2個,則可以從多個訂單集合中,選取一個訂單集合進行出庫處理。
預設順序可以是隨機或者訂單集合生成的時間順序等等。
步驟404,提取待處理訂單中所記錄的待出庫物品的物品信息。
在本實施例中,上述服務器可以從本地的數(shù)據(jù)庫(或內(nèi)存空間)或者從終端設備獲取待處理的訂單。訂單中記錄了待出庫物品的物品信息,上述服務器將物品信息提取出來。
步驟405,從物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品的至少一個儲物箱在指定倉庫中的儲位信息。
在本實施例中,在上述服務器的本地數(shù)據(jù)庫中,可以存儲有物品信息與儲位信息的對應關系表,該對應關系表是實時更新的。在倉庫中可以設置有大量儲位,儲位用于存放裝有物品的儲物箱。同一種物品可以放置于一個或多個儲物箱中。上述服務器可以通過查找上述對應關系表,獲取到存儲物品的至少一個儲物箱的儲位信息,也即,獲取到物品存儲在哪一個或幾個儲位。
步驟406,利用多目標遺傳算法,根據(jù)獲取的儲位信息和預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱。
在本實施例中,在獲得至少一個儲物箱的儲位信息之后,上述服務器可以利用多目標遺傳算法從至少一個儲物箱中選擇一個儲物箱。可以預先設定算法所要實現(xiàn)的多個目標。在多個目標設定后,就可以將儲位信息作為遺傳算法的參數(shù),計算得到最優(yōu)子代儲物箱??梢砸杂唵渭蠟閱挝贿M行多目標遺傳算法的計算,將訂單集合中包括的訂單所指示的所有物品均加入計算,以實現(xiàn)預設的多個目標。
步驟407,確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置。
在本實施例中,上述服務器可以從獲取的儲位信息中,確定出庫儲物箱的儲位信息。在倉庫中,運輸裝置是可以運輸物品的裝置。每個儲位上的儲物箱都由一個對應的運輸裝置進行運輸。獲取儲位信息與運輸裝置的對應關系,就可以利用出庫儲物箱的儲位信息確定出庫儲物箱的運輸裝置??梢詫⒋_定的運輸裝置確定為目標運輸裝置。
步驟408,向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置。
在本實施例中,上述服務器可以向確定得到的目標運輸裝置發(fā)送運輸指令,該運輸指令為指示目標運輸裝置進行運輸?shù)闹噶?,在運輸指令中可以包括出庫儲物箱的儲位信息,還可以包括運輸?shù)哪康牡亍T谀繕诉\輸裝置接收到運輸指令后,將出庫儲物箱運輸?shù)街付ㄎ恢谩?/p>
步驟409,獲取待回庫儲物箱的處理狀態(tài)列表。
在本實施例中,在運輸裝置將出庫儲物箱運輸?shù)街付ㄎ恢弥?,可以由升降機、傳送裝置等運輸裝置將儲物箱進一步運輸?shù)椒謷^(qū)域,以進入物品的分揀程序。在分揀完成后,儲物箱則可以運輸回庫。而儲物箱所要到達的儲位可以不同于之前的儲位,而由服務器進行重新設定。服務器要重新設定儲位,需要從待回庫儲物箱的處理狀態(tài)列表獲取待回庫儲物箱的處理狀態(tài),待回庫儲物箱的處理狀態(tài)列表為記錄了待回庫儲物箱的處理狀態(tài)的列表,用于指示待回庫的儲物箱的處理狀態(tài)。待回庫儲物箱的處理狀態(tài)可以包括未處理、正在處理和處理完成三種狀態(tài)。
步驟410,若處理狀態(tài)列表中存在處于未處理狀態(tài)的待回庫儲物箱的信息,則根據(jù)指定的多個目標,利用將未處理的待回庫儲物箱在指定歷史時間段內(nèi)的運輸頻率作為參數(shù)的多目標遺傳算法,確定未處理的待回庫儲物箱在倉庫中的目標儲位。
在本實施例中,若在待回庫儲物箱的處理狀態(tài)列表中存在處于未處理狀態(tài)的待回庫儲物箱的信息,即上述服務器可以確定還存在待回庫的儲物箱。則可以根據(jù)指定的多個目標,將該待回庫儲物箱在指定歷史時間段內(nèi)的運輸頻率作為參數(shù),進行多目標遺傳算法的計算,以得到該待回庫儲物箱在倉庫中的目標儲位。
計算得到目標儲位所要實現(xiàn)的多個目標可以包括:存儲待回庫物品的儲物箱在各層的數(shù)量相差最小化、回庫儲物箱入庫時長最小化。儲物箱的運輸頻率可以用以表示儲物箱中的物品是否熱銷,運輸頻率越高,表示該物品越熱銷,則可以將取放比較方便的儲位作為目標儲位。比如,一個存儲某種餅干的儲物箱非常熱銷,可以將該儲物箱放置于貨架的第一層。這里的指定歷史時間段可以是剛過去的一段時間,比如的一個月,一周等等。
在運輸頻率之外,還可以采用其他的參數(shù)進行計算,例如當前處于空置狀態(tài)的儲位的儲位信息等。
具體地,可以隨機選擇初代儲位,然后進行多次迭代,得到最優(yōu)子代儲位作為目標儲位。
步驟411,向指定的運輸裝置發(fā)送回庫指令,以使指定的運輸裝置將未處理的待回庫儲物箱運輸至目標儲位。
在本實施例中,上述服務器在確定目標儲位之后,可以向指定的運輸裝置發(fā)送回庫指令,該回庫指令可以包括目標儲位的儲位信息,這樣指定的運輸裝置就可以根據(jù)回庫指令將待回庫儲物箱運輸?shù)侥繕藘ξ?。這里的指定的運輸裝置可以是一種或多種運輸裝置,比如升降機、傳送裝置和穿梭車等。并且這里指定的運輸裝置的數(shù)量也可以是一個或多個。
從圖4中可以看出,與圖2對應的實施例相比,本實施例中的訂單處理方法的流程400根據(jù)服務器的負載情況來進行訂單處理,能夠保證訂單處理的順利進行。并且,本實施例根據(jù)回庫儲物箱的運輸頻率對回庫儲物箱的儲位進行設定,為回庫儲物箱選擇適當?shù)膬ξ唬欣诳s短儲物箱下一次出庫的時間。
進一步參考圖5,作為對上述各圖所示方法的實現(xiàn),本申請?zhí)峁┝艘环N訂單處理裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應,該裝置具體可以應用于各種電子設備中。
如圖5所示,本實施例的訂單處理裝置500包括:提取單元501、獲取單元502、選擇單元503、確定單元504和運輸單元505。其中,提取單元501,配置用于提取待處理訂單中所記錄的待出庫物品的物品信息;獲取單元502,配置用于從物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品的至少一個儲物箱在指定倉庫中的儲位信息;選擇單元503,配置用于利用多目標遺傳算法,根據(jù)獲取的儲位信息和預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱;確定單元504,配置用于確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置;運輸單元505,配置用于向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置。
在本實施例中,訂單處理裝置500的提取單元501可以從本地的數(shù)據(jù)庫(或內(nèi)存空間)或者從終端設備獲取待處理的訂單。訂單中記錄了待出庫物品的物品信息,提取單元501將物品信息提取出來。
在本實施例中,在獲取單元502的本地數(shù)據(jù)庫中,可以存儲有物品信息與儲位信息的對應關系表,該對應關系表是實時更新的。在倉庫中,可以有大量儲位,儲位用于存放裝有物品的儲物箱。同一種物品可以放置于一個或多個儲物箱中。獲取單元502可以通過查找上述對應關系表,獲取到存儲物品的至少一個儲物箱的儲位信息。
在本實施例中,在獲得至少一個儲物箱的儲位信息之后,選擇單元503可以利用多目標遺傳算法從至少一個儲物箱中選擇一個儲物箱??梢灶A先設定算法所要實現(xiàn)的多個目標。在多個目標設定后,就可以將儲位信息作為遺傳算法的參數(shù),計算得到最優(yōu)子代儲物箱。
在本實施例中,確定單元504可以從獲取的儲位信息中,確定出庫儲物箱的儲位信息。在倉庫中,運輸裝置是可以運輸物品的裝置。每個儲位上的儲物箱都由一個對應的運輸裝置進行運輸。獲取儲位信息與運輸裝置的對應關系,就可以利用出庫儲物箱的儲位信息確定出庫儲物箱的運輸裝置??梢詫⒋_定的運輸裝置確定為目標運輸裝置。
在本實施例中,運輸單元505可以向確定得到的目標運輸裝置發(fā)送運輸指令,該運輸指令為指示目標運輸裝置進行運輸?shù)闹噶睿谶\輸指令中可以包括出庫儲物箱的儲位信息,還可以包括運輸?shù)哪康牡?。在目標運輸裝置接收到運輸指令后,將出庫儲物箱運輸?shù)街付ㄎ恢谩?/p>
在本實施例的一些可選的實現(xiàn)方式中,訂單處理裝置500還包括:列表獲取單元(未示出),配置用于獲取待回庫儲物箱的處理狀態(tài)列表,待回庫儲物箱的處理狀態(tài)列表用于指示待回庫的儲物箱的處理狀態(tài);確定目標單元(未示出),配置用于若處理狀態(tài)列表中存在處于未處理狀態(tài)的待回庫儲物箱的信息,則根據(jù)指定的多個目標,利用將未處理的待回庫儲物箱在指定歷史時間段內(nèi)的運輸頻率作為參數(shù)的多目標遺傳算法,確定未處理的待回庫儲物箱在倉庫中的目標儲位;發(fā)送單元(未示出),配置用于向指定的運輸裝置發(fā)送回庫指令,以使指定的運輸裝置將未處理的待回庫儲物箱運輸至目標儲位。
在本實施例的一些可選的實現(xiàn)方式中,訂單處理裝置500還包括:狀態(tài)獲取單元(未示出),配置用于獲取訂單集合處理狀態(tài)列表,訂單集合處理狀態(tài)列表用于指示由訂單組成的訂單集合的處理狀態(tài);數(shù)量確定單元(未示出),配置用于根據(jù)訂單集合處理狀態(tài)列表,確定正在處理的訂單集合的數(shù)量;選取單元(未示出),配置用于若數(shù)量小于預設閾值,按照預設順序,從待處理的至少一個訂單集合中選取訂單集合,并將所選取的訂單集合中的訂單作為待處理訂單。
在本實施例的一些可選的實現(xiàn)方式中,不同的儲物箱存儲在貨架的不同儲位上,在同一層的相鄰的貨架之間設置有物品的運輸通道;以及預設的多個目標包括以下之一:出庫儲物箱最少、在各個運輸通道上運輸?shù)膬ξ锵鋽?shù)量相差最小以及各個出庫儲物箱到達指定位置的時間之和最小。
圖6示出了適于用來實現(xiàn)本申請實施例的服務器的計算機系統(tǒng)的結構示意圖。如圖6所示,計算機系統(tǒng)600包括中央處理單元(cpu)601,其可以根據(jù)存儲在只讀存儲器(rom)602中的程序或者從存儲部分608加載到隨機訪問存儲器(ram)603中的程序而執(zhí)行各種適當?shù)膭幼骱吞幚怼T趓am603中,還存儲有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。cpu601、rom602以及ram603通過總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。
以下部件連接至i/o接口605:包括鍵盤、鼠標等的輸入部分606;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡執(zhí)行通信處理。驅動器610也根據(jù)需要連接至i/o接口605??刹鹦督橘|611,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據(jù)需要安裝在驅動器610上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分608。
特別地,根據(jù)本申請的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本申請的實施例包括一種計算機程序產(chǎn)品,其包括承載在計算機可讀介質上的計算機程序,該計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分609從網(wǎng)絡上被下載和安裝,和/或從可拆卸介質611被安裝。在該計算機程序被中央處理單元(cpu)601執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。需要說明的是,本申請的計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質或者是上述兩者的任意組合。計算機可讀存儲介質例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子可以包括但不限于:具有一個或多個導線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本申請中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。而在本申請中,計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。計算機可讀介質上包含的程序代碼可以用任何適當?shù)慕橘|傳輸,包括但不限于:無線、電線、光纜、rf等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個接連地表示的方框實際上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設置在處理器中,例如,可以描述為:一種處理器包括提取單元、獲取單元、選擇單元、確定單元和運輸單元。其中,這些單元的名稱在某種情況下并不構成對該單元本身的限定,例如,提取單元還可以被描述為“提取待處理訂單中所記錄的待出庫物品的物品信息的單元”。
作為另一方面,本申請還提供了一種計算機可讀介質,該計算機可讀介質可以是上述實施例中描述的裝置中所包含的;也可以是單獨存在,而未裝配入該裝置中。上述計算機可讀介質承載有一個或者多個程序,當上述一個或者多個程序被該裝置執(zhí)行時,使得該裝置:提取待處理訂單中所記錄的待出庫物品的物品信息;從物品信息與儲位信息的對應關系表中,獲取存儲待出庫物品的至少一個儲物箱在指定倉庫中的儲位信息;利用多目標遺傳算法,根據(jù)獲取的儲位信息和預設的多個目標從至少一個儲物箱中選擇儲物箱作為出庫儲物箱;確定出庫儲物箱的儲位信息,根據(jù)預設的儲位信息與運輸裝置的對應關系,確定出庫儲物箱的運輸裝置,并將出庫儲物箱的運輸裝置確定為目標運輸裝置;向目標運輸裝置發(fā)送運輸指令,以使目標運輸裝置將出庫儲物箱運輸至指定位置。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離上述發(fā)明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。