亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于遺傳算法的優(yōu)化采購(gòu)及拼船/車運(yùn)輸方法與流程

文檔序號(hào):11143571閱讀:618來源:國(guó)知局
本發(fā)明涉及一種優(yōu)化采購(gòu)及拼船/車運(yùn)輸方法,特別涉及一種基于遺傳算法的貨物優(yōu)化拆分采購(gòu)及拼船/車運(yùn)輸方法,屬于采購(gòu)-運(yùn)輸優(yōu)化與智能計(jì)算研究
技術(shù)領(lǐng)域
。
背景技術(shù)
:對(duì)于集團(tuán)化經(jīng)營(yíng)的公司,各分公司的資源采購(gòu)需求往往較為分散,各自進(jìn)行資源采購(gòu)并運(yùn)輸需要花費(fèi)較高的物流成本。將各分公司的采購(gòu)需求匯總,并由總部通過優(yōu)化方法制定聯(lián)盟采購(gòu)和拼裝運(yùn)輸計(jì)劃往往可獲得較高的經(jīng)濟(jì)效益。大型船舶(車輛)的單位貨物運(yùn)輸成本一般遠(yuǎn)低于小型船舶。對(duì)于供應(yīng)地相近,需求地相近,而中途運(yùn)輸距離較長(zhǎng)的多批次零散貨物而言,將不同批次的零散貨物拼裝成大船(車)進(jìn)行運(yùn)輸和配送可以有效提高經(jīng)濟(jì)效益。拼船運(yùn)輸一般由貨物收集、長(zhǎng)途運(yùn)輸與貨物分送三個(gè)過程組成。具體是指:大型船泊/車輛依次經(jīng)過不同的產(chǎn)地并將各產(chǎn)地的零散貨物收集起來,經(jīng)長(zhǎng)途運(yùn)輸?shù)诌_(dá)銷售地區(qū)后再依次經(jīng)過不同的銷地并在銷地卸載相應(yīng)批次的零散貨物。優(yōu)化采購(gòu)及拼船/車運(yùn)輸?shù)哪康氖窃谙嚓P(guān)條件的限制下尋找最優(yōu)采購(gòu)及運(yùn)輸方案,使所有參與運(yùn)輸計(jì)劃的船舶的總運(yùn)費(fèi)最低??傔\(yùn)費(fèi)包含航行費(fèi)用、裝港滯期費(fèi)、卸港滯期費(fèi)和靠港費(fèi)用等。優(yōu)化采購(gòu)及拼船運(yùn)輸優(yōu)化的限制條件包括以下幾類:(1)供需平衡限制,對(duì)于任意批次的貨物需求,其實(shí)際供貨量與預(yù)定供貨量之間的誤差應(yīng)控制在±5%以內(nèi);(2)單船額定載重限制,每船的貨物運(yùn)載量都要小于等于該船的額定載重;(3)裝貨日期限制,對(duì)于無裝期 限定的貨物,船舶可以自選裝期抵達(dá)裝港,對(duì)于有裝期限定的貨物,船舶必須在規(guī)定的裝期之前抵達(dá);(4)到貨日期限制,船舶必須在自身裝載各批次貨物規(guī)定的卸期之內(nèi)抵達(dá)并裝載貨物;(5)定向運(yùn)輸限制,某些批次的貨物可以和其他批次的貨物拼船運(yùn)輸,但最后必須卸載到指定港口。拼船運(yùn)輸優(yōu)化屬于NP難問題(Non-deterministicPolynomial的問題,多項(xiàng)式復(fù)雜程度的非確定性問題),本發(fā)明采用遺傳算法予以求解。技術(shù)實(shí)現(xiàn)要素:本發(fā)明要解決的技術(shù)問題是:如何提高貨物采購(gòu)及拼船/車運(yùn)輸方案的尋優(yōu)效率。為解決上述技術(shù)問題,本發(fā)明提供了一種基于遺傳算法的貨物采購(gòu)及拼船/車運(yùn)輸方案尋優(yōu)方法,包括如下步驟:S1:獲取貨物運(yùn)輸需求數(shù)據(jù);S2:確定貨物運(yùn)輸?shù)娜旧w編碼方案,設(shè)定染色體基因信息;S3:配置染色體進(jìn)化參數(shù);S4:生成父代種群;S5:解讀染色體基因,生成采購(gòu)-拼船/車運(yùn)輸方案并計(jì)算適應(yīng)值;S6:對(duì)種群進(jìn)行交叉變異等進(jìn)化操作,并按S5計(jì)算子代種群適應(yīng)值,按適應(yīng)值優(yōu)劣,父代與子代種群中對(duì)應(yīng)個(gè)體進(jìn)行競(jìng)爭(zhēng)生存,更新適應(yīng)值;S7:判斷是否滿足終止條件,如果不滿足則返回S4生成新的種群,如此循環(huán)直至滿足終止條件,如果滿足則優(yōu)化結(jié)束輸出最優(yōu)方案??蛇x地,所述確定貨物運(yùn)輸?shù)娜旧w編碼方案的步驟具體包括:將貨物采購(gòu)-運(yùn)輸過程的貨物收集方案、裝貨時(shí)間、貨物分送方案和參與運(yùn)輸?shù)倪\(yùn)輸工具分解的為供應(yīng)染色體、需求染色體、運(yùn)輸工具染色體和裝期染色體可選地,所述計(jì)算種群的適應(yīng)值的步驟具體包括:按照供應(yīng)染色體和運(yùn)輸工具染色體基因順序和基因?qū)?yīng)的附加屬性對(duì)貨物運(yùn)載工具裝載及生成采購(gòu)方案;按需求染色體基因順序?qū)?yīng)的附加屬性對(duì)貨物分運(yùn)載工具配送;按供應(yīng)染色體和需求染色體的基因及基因附加屬性定位貨物供應(yīng)地和貨物卸載地的位置;根據(jù)參與運(yùn)輸?shù)倪\(yùn)輸工具和貨物編號(hào)對(duì)應(yīng)的貨物供應(yīng)地和貨物卸載地的位置確定運(yùn)輸工具運(yùn)輸線路,并根據(jù)路線計(jì)算運(yùn)輸費(fèi);按裝期染色體、供應(yīng)染色體和需求染色體的基因信息反推標(biāo)注自選裝貨期的貨物的裝貨期,而后計(jì)算到貨期;根據(jù)裝貨期和到貨期計(jì)算運(yùn)載工具在裝貨地和卸貨地的滯期,并根據(jù)滯期計(jì)算滯期費(fèi);將所有運(yùn)輸工具運(yùn)輸費(fèi)和滯期費(fèi)加和獲得種群中相應(yīng)個(gè)體的適應(yīng)值。可選地,根據(jù)滯期計(jì)算滯期費(fèi)的步驟還包括:兩個(gè)以上運(yùn)載工具同時(shí)抵達(dá)時(shí),其中之一需等待,等待時(shí)間為滯期,計(jì)算滯期費(fèi)??蛇x地,所述對(duì)貨物運(yùn)載工具裝載及生成采購(gòu)方案步驟具體包括:S51:從運(yùn)輸工具染色體起始點(diǎn)開始讀取運(yùn)輸工具染色體基因所代表的運(yùn)輸工具的編號(hào),并由基因?qū)傩垣@取該運(yùn)輸工具的剩余載重;S52:從供應(yīng)染色體起始點(diǎn)開始讀取供應(yīng)染色體體基因所代表的貨物編碼,并由基因?qū)傩垣@取該批次貨物的剩余數(shù)量;S53:判斷是否結(jié)束生成方案;若供應(yīng)染色體起始點(diǎn)位置大于供應(yīng)染色體長(zhǎng)度,則停止生成采購(gòu)方案;否則,進(jìn)入步驟S54;S54:令運(yùn)輸工具裝載貨物,生成購(gòu)買與拼裝方案??蛇x地,按裝期染色體、供應(yīng)染色體和需求染色體的基因信息反 推標(biāo)注自選裝貨期的貨物的裝貨期,而后計(jì)算到貨期的具體步驟為:從前至后讀取編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體的基因所代表的采購(gòu)貨物;若編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體基因所代表的某批次采購(gòu)貨物裝期并非自選,則以此貨物裝期為基準(zhǔn),根據(jù)裝港間的航程,向前反推前面編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體的基因所代表的貨物的裝期,而后向后正推后面編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體的基因所代表的貨物的裝期;若編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體所有基因所代表的采購(gòu)貨物裝期屬性都為自選,則根據(jù)編號(hào)為i的運(yùn)輸工具中裝載的需求染色體第一個(gè)基因所代表的貨物的卸載期限和裝期染色體第i號(hào)基因計(jì)算第一卸期,而后根據(jù)第一卸期反推前面編號(hào)為i的運(yùn)輸工具中供應(yīng)染色體的基因所代表的貨物的裝期;其中i為常數(shù)。可選地,所述設(shè)定染色體基因信息的步驟具體包括:對(duì)需要運(yùn)輸?shù)母髋呜浳锞幪?hào);標(biāo)記各貨物供應(yīng)地/卸載地,數(shù)量、類型、裝貨期/卸貨期限,并相應(yīng)編號(hào);對(duì)運(yùn)輸工具編號(hào)并標(biāo)記各運(yùn)載工具的額定運(yùn)載量;將供/需貨物批次編號(hào)、運(yùn)輸工具編號(hào)及裝貨期編號(hào)作為染色體基因;將貨物供應(yīng)地編號(hào)、貨物卸載地編號(hào)、供應(yīng)貨物類型、需求貨物類型、供應(yīng)貨物數(shù)量、需求貨物數(shù)量、貨物裝期、參與運(yùn)輸?shù)倪\(yùn)載工具載重作為基因附著于相應(yīng)染色體上??蛇x地,所述染色體進(jìn)化參數(shù)包括染色體交叉概率、染色體基因變異概率、染色體交叉總代數(shù)和種群的數(shù)量。本發(fā)明提供的基于遺傳算法的優(yōu)化采購(gòu)及拼船/車運(yùn)輸方法,將 采購(gòu)-拼船/車運(yùn)輸過程分解為采購(gòu)染色體、裝貨期染色體、需求染色體與運(yùn)輸工具染色體進(jìn)行耦合編碼,并利用遺傳算法予以求解。通過需求匹配編碼、配送定向解碼及裝期限定解碼等方法,避免無解假象并有效提高算法的尋優(yōu)效率,節(jié)約了大量的計(jì)算時(shí)間,實(shí)現(xiàn)了貨物采購(gòu)及拼裝運(yùn)輸方案的優(yōu)化,降低了分散貨物采購(gòu)-運(yùn)輸過程的物流成本,提高了集團(tuán)化公司的聯(lián)盟經(jīng)營(yíng)效益。附圖說明圖1是本發(fā)明優(yōu)化采購(gòu)及拼船/車運(yùn)輸方法流程示意圖。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。如圖1所示,一種基于遺傳算法的優(yōu)化采購(gòu)及拼船/車運(yùn)輸方法,包括如下步驟:S1:獲取貨物運(yùn)輸需求數(shù)據(jù);S2:確定貨物運(yùn)輸?shù)娜旧w編碼方案,設(shè)定染色體基因信息;S3:配置染色體進(jìn)化參數(shù);S4:生成父代種群;S5:解讀染色體基因,生成采購(gòu)-拼船/車運(yùn)輸方案并計(jì)算適應(yīng)值;S6:對(duì)種群進(jìn)行交叉變異等進(jìn)化操作,并按S5計(jì)算子代種群適應(yīng)值,按適應(yīng)值優(yōu)劣,父代與子代種群中對(duì)應(yīng)個(gè)體進(jìn)行競(jìng)爭(zhēng)生存,更新適應(yīng)值;S7:判斷是否滿足終止條件,如果不滿足則返回S4生成新的種群,如此循環(huán)直至滿足終止條件,如果滿足則優(yōu)化結(jié)束輸出最優(yōu)方案。下面以采購(gòu)并拼船運(yùn)輸不同港口的原油為優(yōu)選例對(duì)本發(fā)明展開詳細(xì)的說明。首先,介紹獲取貨物運(yùn)輸需求數(shù)據(jù)的步驟。一般貨物運(yùn)輸?shù)男枨髷?shù)據(jù)包括貨物的卸載地、貨物的需求數(shù)量、需求貨物的類型等。其次,介紹確定貨物運(yùn)輸?shù)乃娜旧w編碼方案,設(shè)定染色體基因信息的步驟。在本發(fā)明的一個(gè)實(shí)施例中,確定貨物采購(gòu)-運(yùn)輸?shù)乃娜旧w編碼方案的步驟具體包括:將貨物采購(gòu)-運(yùn)輸過程的貨物收集方案、裝貨時(shí)間、貨物分送方案和參與運(yùn)輸?shù)倪\(yùn)輸工具分解的為供應(yīng)染色體X、裝期染色體D、需求染色體Y和運(yùn)輸工具染色體Z。首先,將需要購(gòu)買并收集的貨物按批次編號(hào),并用XVol表示各批次供應(yīng)貨物的數(shù)量,用XPort表示各批次供應(yīng)貨物所在的港口編號(hào),用XType表示各批次供應(yīng)貨物的類型編號(hào);用XDate表示各批次供應(yīng)貨物所在的裝貨日期。其次,將所需配送的貨物按批次編號(hào),并用YVol表示各批次需求貨物的數(shù)量,用YPort表示各批次需求貨物所在的港口編號(hào),用YType表示各批次需求貨物的類型編號(hào);用YDate1表示各批次需求貨物的最早到貨日期;用YDate2表示各批次需求貨物的最晚到貨日期。再次,將參與運(yùn)輸?shù)拇熬幪?hào),并用ZVol表示各船的額定載重。最后,將各船的裝貨期編號(hào),并用Date表示裝貨期選值。下面以采購(gòu)并拼船運(yùn)輸不同類型的原油為例,對(duì)確定四染色體編碼方案做具體說明。如表1所示,假設(shè)生產(chǎn)共需采購(gòu)并運(yùn)輸7個(gè)批次的原油(X),各批次采購(gòu)原油依次編號(hào)1-7,各批次采購(gòu)原油需采購(gòu)的數(shù)量分別為20、10、13、7.5、18、19與18萬噸,各批次采購(gòu)原油分別位于1、2、3、1、4、3、2號(hào)出口港,各批次采購(gòu)原油類型分別為1、2、3、4、5、6、7,各批次采購(gòu)原油裝貨期分別為1、自選、4、自選、自選、2、自選。銷售地區(qū)共需進(jìn)口7個(gè)批次的原油(Y),各批次進(jìn)口原油依次編號(hào)1-7,各批次進(jìn)口原油需求數(shù)量分別為20、10、13、7.5、18、19與18萬噸,各批次進(jìn)口原油分別位于1、2、3、1、3、2、4號(hào)進(jìn)口港??赡軈⑴c運(yùn)輸?shù)拇坝?只,依次編號(hào)1、2、3、4,其額定載重都為26萬噸。將各船的裝貨期編號(hào)(D)1、2、3、4,并用假設(shè)進(jìn)化過程中某代某一個(gè)體的裝貨期選值為0.1、0.2、0.4、0.9。表1基因附加屬性表按貨物供需類型匹配要求的限定,(X)1號(hào)采購(gòu)原油只能對(duì)應(yīng)供應(yīng)(Y)1號(hào)進(jìn)口原油。依次類推,其余2、3、4、5、6、7號(hào)采購(gòu)原油也只能分別供應(yīng)類型相匹配的2、3、4、5、6、7號(hào)進(jìn)口原油。為了體現(xiàn)每種原油的供需平衡運(yùn)輸限制,(一般實(shí)際供貨量與預(yù)定供貨量之間的誤差應(yīng)控制在±5%以內(nèi)算滿足精度要求),1號(hào)原油的實(shí)際采購(gòu)量可以在20×0.95=19萬噸至20×1.05=21萬噸之間浮動(dòng)。再次,介紹配置染色體進(jìn)化參數(shù)的步驟。為了使計(jì)算采購(gòu)-拼船運(yùn)輸過程的四染色體在進(jìn)化過程中更貼近實(shí)際,提高計(jì)算的效率縮短運(yùn)算周期,需要對(duì)染色體進(jìn)化參數(shù)做詳細(xì)的配置,具體地,設(shè)置染色體進(jìn)化參數(shù)時(shí)主要設(shè)置染色體交叉概率、變異概率、進(jìn)化總代數(shù)和種群的數(shù)量。第四,介紹所述生成四染色體編碼對(duì)應(yīng)種群的步驟。按預(yù)先設(shè)置的種群數(shù)量,隨機(jī)生成初始供應(yīng)染色體X、需求染色體Y、運(yùn)輸工具染色體Z和裝期染色體D。其中X染色體的長(zhǎng)度等于貨物供應(yīng)批次數(shù)目,Y染色體的長(zhǎng)度等于貨物需求批次數(shù)目,Z染色體的長(zhǎng)度等于參與運(yùn)輸貨物的船舶數(shù)目,D染色體長(zhǎng)度與Z相同。介紹解讀種群各個(gè)體所對(duì)應(yīng)的采購(gòu)-拼船運(yùn)輸方案方法。假設(shè)進(jìn)化過程中某代種群中個(gè)體染色體組如表2所示:表2某代種群中某個(gè)體染色體組編碼X1234765Y3124675Z24315D0.120.230.480.890.64首先,令船舶對(duì)采購(gòu)原油進(jìn)行裝載,生成采購(gòu)-拼裝方案。船舶Z起始點(diǎn)為2號(hào)船,其剩余載重為26萬噸,令2號(hào)船對(duì)采購(gòu)貨物X進(jìn)行裝載,X起始點(diǎn)為1號(hào)采購(gòu)原油,其剩余數(shù)量為20萬噸。由于1號(hào)采購(gòu)原油剩余數(shù)量小于2號(hào)船舶的剩余載重,因此船舶將其完全裝載。裝載后,2號(hào)船剩余載重為26-20=6萬噸,1號(hào)原油剩余數(shù)量為0;令Z起始點(diǎn)保持不變,仍為2號(hào)船,X起始點(diǎn)后移一位,指向2號(hào)原油。令2號(hào)船繼續(xù)裝載2號(hào)原油,由于2號(hào)船剩余載重6萬噸,小于2號(hào)原油剩余數(shù)量10萬噸,因而2號(hào)船只裝載6萬噸2號(hào)原油,其剩余載重為0,2號(hào)原油剩余數(shù)量為10-6=4萬噸。此時(shí)2號(hào)船滿載,共計(jì)裝載20萬噸1號(hào)采購(gòu)原油和6萬噸2號(hào)采購(gòu)原油。令Z起始點(diǎn)后移一位,指向4號(hào)船,其剩余載重為26萬噸,令X起始點(diǎn)保持不變,仍然指向2號(hào)原油,其剩余數(shù)量為4萬噸,由于4號(hào)船舶剩余載重大于2號(hào)原油剩余數(shù)量,因此船舶將其完全裝載。裝載后,4號(hào)船剩余載重為26-4=22萬噸,2號(hào)原油剩余數(shù)量為0。Z起始點(diǎn)保持不變,仍為4號(hào)船,X起始點(diǎn)后移一位,指向3號(hào)原油。令4號(hào)船繼續(xù)裝載3號(hào)原油,由于4號(hào)船剩余載重22萬噸,大于3號(hào)原油剩余數(shù)量13萬噸,因此船舶將其完全裝載。裝載后,4號(hào)船剩余載重為22-13=9萬噸,3號(hào)原油剩余數(shù)量為0。Z起始點(diǎn)保持不變,仍為4號(hào)船,X起始點(diǎn)后移一位,指向4號(hào)原油。令4號(hào)船繼續(xù)裝載4號(hào)原油,由于4號(hào)船剩余載重9萬噸,等于4號(hào)原油剩余數(shù)量9萬噸,因此船舶將其完全裝載。裝載后,4號(hào)船剩余載重為0,4號(hào)原油剩余數(shù)量為0。此時(shí)4號(hào)船滿載,共計(jì)裝載4萬噸2號(hào)采購(gòu)原油和13萬噸3號(hào)采購(gòu)原油和9萬噸4號(hào)采購(gòu)原油。令Z起始點(diǎn)后移一位,指向3號(hào)船,其剩余載重為26萬噸;令X起始點(diǎn)后移一位,指向7號(hào)原油,其剩余數(shù)量18萬噸。由于7號(hào)采購(gòu)原油剩余數(shù)量小于3號(hào)船舶的剩余載重,因此船舶將其完全裝載,裝載后,3號(hào)船剩余載重為26-18=8萬噸,7號(hào)原油剩余數(shù)量為0;令Z起始點(diǎn)保持不變,仍為3號(hào)船,令X起始點(diǎn)后移一位,指向6號(hào)原油。令3號(hào)船繼續(xù)裝載6號(hào)原油,由于3號(hào)船剩余載重8萬噸,小于6號(hào)原油剩余數(shù)量19萬噸,因而3號(hào)船只裝載8萬噸6號(hào)原油,其剩余載重為0,6號(hào)原油剩余數(shù)量為19-8=11萬噸。此時(shí)3號(hào)船滿載,共計(jì)裝載18萬噸7號(hào)采購(gòu)原油和8萬噸6號(hào)采購(gòu)原油。令Z起始點(diǎn)后移一位,指向1號(hào)船,其剩余載重為26萬噸,令X起始點(diǎn)保持不變,仍然指向6號(hào)原油,其剩余數(shù)量為11萬噸,由于1號(hào)船舶剩余載重大于6號(hào)原油剩余數(shù)量,因此船舶將其完全裝載。裝載后,1號(hào)船剩余載重為26-11=15萬噸,6號(hào)原油剩余數(shù)量為0。令Z起始點(diǎn)保持不變,仍為1號(hào)船,令X起始點(diǎn)后移一位,指向5號(hào)原油。令1號(hào)船繼續(xù)裝載5號(hào)原油,由于1號(hào)船剩余載重15萬噸,大于5號(hào)原油剩余數(shù)量14.5萬噸,因而船舶將其完全裝載, 裝載后,1號(hào)船剩余載重為15-14.5=0.5萬噸,5號(hào)原油剩余數(shù)量為0。此時(shí),1號(hào)船共計(jì)裝載11萬噸6號(hào)采購(gòu)原油和14.5萬噸5號(hào)采購(gòu)原油。由于采購(gòu)原油X已被完全拆分裝載,因此,裝船過程結(jié)束,Z中5號(hào)船不再參與運(yùn)輸。其次,令載油船舶根據(jù)需求進(jìn)行分配卸載,生成配送方案。船舶Z起始點(diǎn)為2號(hào)船,共計(jì)裝載20萬噸1號(hào)采購(gòu)原油和6萬噸2號(hào)采購(gòu)原油。令Y起始點(diǎn)指向第一個(gè)剩余需求數(shù)量不為0的需求油品,當(dāng)前為3號(hào)需求原油,剩余需求數(shù)量13萬噸,需求類型為3,2號(hào)船中無相關(guān)類型油品,不對(duì)其配送。令Y起始點(diǎn)指向下一個(gè)剩余需求數(shù)量不為0的需求油品,指向1號(hào)需求原油,剩余需求數(shù)量20萬噸,需求類型為1,令2號(hào)船對(duì)1號(hào)需求原油進(jìn)行配卸20萬噸1號(hào)采購(gòu)原油,則1號(hào)需求原油剩余需求數(shù)量為0,2號(hào)船1號(hào)采購(gòu)原油剩余裝載量為0。令Y起始點(diǎn)指向下一個(gè)剩余需求數(shù)量不為0的需求油品,也即2號(hào)需求原油,剩余需求數(shù)量10萬噸,需求類型為2。令2號(hào)船對(duì)2號(hào)需求原油進(jìn)行配卸6萬噸2號(hào)采購(gòu)原油,則2號(hào)需求原油剩余需求數(shù)量為10-6=4萬噸,有待繼續(xù)配卸。2號(hào)船2號(hào)采購(gòu)原油剩余裝載量為0。至此,2號(hào)船所裝載的采購(gòu)原油完全配送完畢。根據(jù)2號(hào)船的裝油方案和卸油方案,并參照各油品所在的裝、卸港,即可得到2號(hào)船的行船路線:XPort1(1,20/20)→XPort1(2,6/10)→YPort1(1,20/20)→YPort3(2,6/10)。令Z起始點(diǎn)后移一位,指向4號(hào)船,共計(jì)裝載4萬噸2號(hào)采購(gòu)原油和13萬噸3號(hào)采購(gòu)原油和9萬噸4號(hào)采購(gòu)原油。令Y起始點(diǎn)指向第一個(gè)剩余需求數(shù)量不為0的需求油品,也即3號(hào)需求原油,剩余需求數(shù)量13萬噸,需求類型為3。令4號(hào)船對(duì)3號(hào)需求原油進(jìn)行配卸 13萬噸3號(hào)采購(gòu)原油,則3號(hào)需求原油剩余需求數(shù)量為0,4號(hào)船中3號(hào)采購(gòu)原油剩余裝載量為0。令Y起始點(diǎn)指向下一個(gè)剩余需求數(shù)量不為0的需求油品,也即2號(hào)需求原油,剩余需求數(shù)量4萬噸,需求類型為2。令4號(hào)船對(duì)2號(hào)需求原油進(jìn)行配卸4萬噸2號(hào)采購(gòu)原油,則2號(hào)需求原油剩余需求數(shù)量為0,4號(hào)船中2號(hào)采購(gòu)原油剩余裝載量為0。令Y起始點(diǎn)指向下一個(gè)剩余需求數(shù)量不為0的需求油品,也即4號(hào)需求原油,剩余需求數(shù)量9萬噸,需求類型為4。令4號(hào)船對(duì)4號(hào)需求原油進(jìn)行配卸9萬噸4號(hào)采購(gòu)原油,則4號(hào)需求原油剩余需求數(shù)量為0,4號(hào)船中4號(hào)采購(gòu)原油剩余裝載量為0。至此,4號(hào)船所裝載的采購(gòu)原油完全配送完畢。根據(jù)4號(hào)船的裝油方案和卸油方案,并參照各油品所在的裝、卸港,即可得到4號(hào)船的行船路線:XPort2(1,4/10)→XPort3(3,13/13)→XPort4(3,9/9)→YPort3(3,13/13)→YPort2(2,4/10)→YPort4(4,9/9)。以此類推,令3號(hào)船和1號(hào)船按從前之后的順序?qū)中剩余需求數(shù)量不為0的需求原油進(jìn)行配送,分別可得各自的行船路線。3號(hào)船:XPort7(7,18/18)→XPort6(6,8/19)→YPort6(6,8/19)→YPort7(7,18/18)。1號(hào)船:XPort6(6,11/19)→XPort5(5,14.5/14.5)→YPort6(6,11/19)→YPort5(5,14.5/14.5)。再次,為各船裝貨期標(biāo)記為“自選”的原油選擇裝期。計(jì)算到貨期的具體步驟為:從前至后讀取編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體的基因所代表的采購(gòu)貨物;若編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體基因所代表的某批次采購(gòu)貨物裝期并非自選,則 以此貨物裝期為基準(zhǔn),根據(jù)裝港間的航程,向前反推前面編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體的基因所代表的貨物的裝期,而后向后正推后面編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體的基因所代表的貨物的裝期;若編號(hào)為i的運(yùn)輸工具中裝載的供應(yīng)染色體所有基因所代表的采購(gòu)貨物裝期屬性都為自選,則根據(jù)編號(hào)為i的運(yùn)輸工具中裝載的需求染色體第一個(gè)基因所代表的貨物的卸載期限和裝期染色體第i號(hào)基因計(jì)算第一卸期,而后根據(jù)第一卸期反推前面編號(hào)為i的運(yùn)輸工具中供應(yīng)染色體的基因所代表的貨物的裝期;其中i為常數(shù)。分別選取2號(hào)船和3號(hào)船為例說明選裝貨期的方法。對(duì)于2號(hào)船,裝載20萬噸1號(hào)采購(gòu)原油和6萬噸2號(hào)采購(gòu)原油,配送給1號(hào)需求原油20萬噸和2號(hào)需求原油6萬噸。從前至后檢查2號(hào)船是否裝載有固定裝期的采購(gòu)原油。由于2號(hào)船裝載的1號(hào)采購(gòu)原油裝期固定為10-1,因此D染色體不起作用,對(duì)于2號(hào)船裝載的各批次原油裝貨期選取以1號(hào)采購(gòu)原油為準(zhǔn),其具體計(jì)算方式為:2號(hào)原油的裝貨期=1號(hào)采購(gòu)原油的裝貨期+1號(hào)采購(gòu)原油數(shù)量÷1號(hào)裝港的裝貨時(shí)間+1號(hào)裝港拖船時(shí)間+1號(hào)裝港與2號(hào)裝港間的航程÷2號(hào)船的航速。對(duì)于3號(hào)船,裝載有18萬噸7號(hào)采購(gòu)原油和8萬噸6號(hào)采購(gòu)原油,配送給6號(hào)需求原油8萬噸和7號(hào)需求原油18萬噸。從前至后檢查3號(hào)船是否裝載有固定裝期的采購(gòu)原油。由于3號(hào)船所裝載的所有批次的采購(gòu)原油都為“自選”裝期,因此D染色體起作用。對(duì)于2號(hào)船裝載的各批次原油裝貨期選取可根據(jù)6號(hào)需求原油的6YDate1和6YDate2求得,具體步驟為:(a)計(jì)算3號(hào)船的“第一卸期”=6YDate1+(6YDate2-6YDate1)×3D(0.48)=11月16日;(b)由”第一卸期”反推3號(hào)船中6號(hào)采購(gòu)原油的裝貨期=“第一卸期”-6號(hào)卸港與6號(hào)裝港間的航程÷3號(hào)船的航速-6號(hào)采購(gòu)原油的船載數(shù)量÷6號(hào)裝港的裝貨時(shí)間-6號(hào)裝港的拖船時(shí)間;(c)由6號(hào)采購(gòu)原油的裝貨期反推7號(hào)采 購(gòu)原油的裝貨期=6號(hào)采購(gòu)原油的裝貨期-6號(hào)裝港與7號(hào)裝港間的航程÷3號(hào)船的航速-7號(hào)采購(gòu)原油的船載數(shù)量÷7號(hào)裝港的裝貨時(shí)間-7號(hào)裝港的拖船時(shí)間。最后,介紹根據(jù)以上過程生成優(yōu)化采購(gòu)方案的方法。所述對(duì)貨物運(yùn)載工具裝載及生成采購(gòu)方案步驟具體包括:S51:從運(yùn)輸工具染色體起始點(diǎn)開始讀取運(yùn)輸工具染色體基因所代表的運(yùn)輸工具的編號(hào),并由基因?qū)傩垣@取該運(yùn)輸工具的剩余載重;S52:從供應(yīng)染色體起始點(diǎn)開始讀取供應(yīng)染色體體基因所代表的貨物編碼,并由基因?qū)傩垣@取該批次貨物的剩余數(shù)量;S53:判斷是否結(jié)束生成方案;若供應(yīng)染色體起始點(diǎn)位置大于供應(yīng)染色體長(zhǎng)度,則停止生成采購(gòu)方案;否則,進(jìn)入步驟S54;S54:令運(yùn)輸工具裝載貨物,生成購(gòu)買與拼裝方案。根據(jù)裝船過程,2號(hào)采購(gòu)原油被2號(hào)船分載6萬噸,被4號(hào)船分載4萬噸,因此,2號(hào)采購(gòu)原油分兩批次采購(gòu)和運(yùn)輸,采購(gòu)時(shí)各批次的裝貨期申報(bào)也由2號(hào)船和4號(hào)船的具體運(yùn)輸過程確定,參見上文所述裝期選擇辦法。同理,6號(hào)采購(gòu)原油被3號(hào)船分載8萬噸,被1號(hào)船分載11萬噸,因此,6號(hào)采購(gòu)原油分兩批次采購(gòu)和運(yùn)輸,采購(gòu)時(shí)各批次的裝貨期申報(bào)也由3號(hào)船和1號(hào)船的具體運(yùn)輸過程確定,參見上文所述裝期選擇辦法。對(duì)于1號(hào)船,最終貨物裝載量為25.5萬噸,可按5%的誤差需求,增加裝載采購(gòu)原油的數(shù)量至26萬噸,以提高船舶運(yùn)輸?shù)慕?jīng)濟(jì)效益。具體方法為:(1)校核計(jì)劃采購(gòu)增量是否滿足5%的誤差需求,具體為(26-25.5)÷(第6號(hào)油品的需求總量19+第5號(hào)油品的需求總量14.5)=1.5%,滿足誤差精度要求;(2)對(duì)船載采購(gòu)原油按需求總量分配采購(gòu)增量,具體為6號(hào)油品采購(gòu)增量=第6號(hào)油品的需求總量19÷(第6號(hào)油品的需求總量19+第5號(hào)油品的需求總量14.5)×總采購(gòu)增量0.5=0.28萬噸,5號(hào)油品采購(gòu)增量=第5號(hào)油品的需求總量 14.5÷(第6號(hào)油品的需求總量19+第5號(hào)油品的需求總量14.5)×總采購(gòu)增量0.5=0.22萬噸。第五,介紹解讀染色體基因,生成采購(gòu)-拼船/車運(yùn)輸方案并計(jì)算適應(yīng)值的步驟。將船舶運(yùn)行費(fèi)用作為引領(lǐng)進(jìn)化方向的適應(yīng)值,船舶運(yùn)行費(fèi)用包含地理航程費(fèi)用及裝卸港滯期費(fèi)用兩部分。航程費(fèi)用可根據(jù)上述行船路線計(jì)算。滯期費(fèi)用可根據(jù)裝貨期及到貨期要求計(jì)算。其中裝港滯期費(fèi)用主要分兩種情況,第一種是船舶過早抵達(dá)裝港,等待裝貨期期間需向船東繳納的費(fèi)用,第二種是船舶過晚抵達(dá)裝港,裝期已過,需向港口管理方繳納的費(fèi)用。寫港滯期費(fèi)用也分兩種情況,第一種是船舶抵達(dá)卸港后,卸港內(nèi)有其他船舶占用卸油泊位,等待泊位期間須向船東繳納的費(fèi)用;第二種是第一種是船舶抵達(dá)卸港時(shí)間超出需求油品的到貨期要求范圍,須向油品需求方繳納的費(fèi)用。對(duì)于裝卸原油而言,一般不允許超出時(shí)間期限,因此,第二種裝港滯期費(fèi)和第二種卸港滯期費(fèi)都要設(shè)為無窮大,以控制適應(yīng)值,使類似方案被淘汰。第六:介紹對(duì)種群進(jìn)行交叉變異等進(jìn)化操作,并按S5計(jì)算子代種群適應(yīng)值,按適應(yīng)值優(yōu)劣,父代與子代種群中對(duì)應(yīng)個(gè)體進(jìn)行競(jìng)爭(zhēng)生存,更新適應(yīng)值。對(duì)種群整體進(jìn)行變異與交叉操作,生成子代種群,并按步驟S5解讀采購(gòu)-拼船運(yùn)輸方案,并按S6計(jì)算子代種群的適應(yīng)值。將父代種群與子代種群中對(duì)應(yīng)個(gè)體進(jìn)行競(jìng)爭(zhēng)生存,若子代種群中個(gè)體適應(yīng)值大于父代種群中的相應(yīng)個(gè)體,則用子代個(gè)體替換父代種群的相應(yīng)個(gè)體。最后,介紹判斷是否滿足終止條件,如果不滿足則返回S4生成新的種群,如此循環(huán)直至滿足終止條件,如果滿足則優(yōu)化結(jié)束輸出最優(yōu) 方案的步驟。在本實(shí)施例中,程序終止條件是預(yù)先設(shè)定的進(jìn)化代數(shù)(例如,程序進(jìn)化1000代程序終止)。如果不滿足則返回S6重新計(jì)算新種群的適應(yīng)值繼續(xù)進(jìn)化,如此循環(huán)直至滿足終止條件,如果滿足則優(yōu)化結(jié)束輸出最優(yōu)方案。本發(fā)明提供的基于遺傳算法的優(yōu)化采購(gòu)及拼船/車運(yùn)輸方法,將采購(gòu)-拼船/車運(yùn)輸過程分解為采購(gòu)染色體X、裝貨期染色體D、需求染色體Y與運(yùn)輸工具染色體Z進(jìn)行耦合編碼,并利用遺傳算法予以求解。通過需求匹配編碼、配送定向解碼及裝期限定解碼等方法,避免無解假象并有效提高算法的尋優(yōu)效率,節(jié)約了大量的計(jì)算時(shí)間,實(shí)現(xiàn)了貨物采購(gòu)及拼裝運(yùn)輸方案的優(yōu)化,降低了分散貨物采購(gòu)-運(yùn)輸過程的物流成本,提高了集團(tuán)化公司的聯(lián)盟經(jīng)營(yíng)效益。該方法不僅可以應(yīng)用于原油的優(yōu)化采購(gòu)及遠(yuǎn)洋船運(yùn),也可以應(yīng)用于其他貨物的優(yōu)化采購(gòu)及陸地車運(yùn),在此不再贅述。以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)
技術(shù)領(lǐng)域
的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1