倉儲調(diào)度系統(tǒng)遺傳算法算法研究與實現(xiàn)_第1頁
倉儲調(diào)度系統(tǒng)遺傳算法算法研究與實現(xiàn)_第2頁
倉儲調(diào)度系統(tǒng)遺傳算法算法研究與實現(xiàn)_第3頁
倉儲調(diào)度系統(tǒng)遺傳算法算法研究與實現(xiàn)_第4頁
倉儲調(diào)度系統(tǒng)遺傳算法算法研究與實現(xiàn)_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

題目:題目:倉儲調(diào)度系統(tǒng)遺傳算法算法研究與實現(xiàn)`摘要目前各行各業(yè)智能化已充分展開,傳統(tǒng)的手工進貨或者采用較為落后的進貨方式已經(jīng)不能滿足規(guī)模越來越大的商場的需求,也跟不上現(xiàn)今世界經(jīng)濟急劇發(fā)展的局勢,因此急需一種智能化系統(tǒng)代替原始方式,從而提高作業(yè)效率,節(jié)省時間和人員開銷,最大程度的降低成本。本系統(tǒng)就是基于目前現(xiàn)狀為某公司開發(fā)的一個倉儲調(diào)度系統(tǒng)。倉儲調(diào)度系統(tǒng)為物流系統(tǒng)的一個子系統(tǒng),主要負責(zé)產(chǎn)品的調(diào)貨,出貨,以及對倉庫中物品進行盤查。本系統(tǒng)主要實現(xiàn)了商品信息模塊,公告信息模塊(及時發(fā)現(xiàn)需進貨商品信息),出庫信息模塊,管理員模塊,商品調(diào)度模塊,日志信息模塊。在本系統(tǒng)中使用了遺傳算法,可以同時對多種商品進行調(diào)度,該算法會根據(jù)供應(yīng)商報價以及運輸成本去自動選擇一種最優(yōu)方式,這種方式在很大程度上減少了管理員操作時間,節(jié)約了進貨成本。系統(tǒng)的實現(xiàn)主要采用MVC(ModelViewController)設(shè)計模式,使用Struts框架和Hibernate等技術(shù)。關(guān)鍵詞:遺傳算法;MVC;JSPAbstractAtpresent,intelligentizinghasbeenwidelydevelopedinallwalksoflife.Thetraditionalandunculturedmethodofstockisunabletomeettheneedsofshoppingmalls,alsofailedtokeeppaceofrapideconomicdevelopment.Therefore,itisnecessarytodevelopanintelligentSystemandreplacetheoriginalforenhancingoperationalefficiency,savingtimeandpersonnelexpenses,andreducingthecosttothegreatestdegree.Thewarehouseschedulingsystem,asub-systemoflogisticssystem,wasdevelopedforacompanyunderitscurrentstatus.Thissystemmainlymanagestheallocationandshipmentoftheproductaswellasthestorageofinventoryitems.Thesystemmainlyincludesthecommodityinformationmodule,noticeofinformationmodule(purchaseofgoodstimelyinformationtobefound),theLibrarymodule,theadministratormodule,thevalueofschedulingmodule,andloginformationmodule.Thegeneticalgorithmusedinthissystemsuppliesawaytodispatchvariousgoodssimultaneously.Thealgorithmwillautomaticallyselectaoptimalwayaccordingtoquotedpriceofsuppliersandtransportationcosts,whichreducetheoperationtimeofadministratorandsavethecostofstocktoalargeextent.TheSystemmainlyusesMVC(ModelViewController)designpatterns,Strutsframework,andHibernatetechnique.Keywords:GA;MVC;JSP目錄TOC\h\z\t"畢業(yè)論文一級標(biāo)題,1,畢業(yè)論文二級標(biāo)題,2,畢業(yè)論文三級標(biāo)題,3"引言 1第一章倉儲調(diào)度系統(tǒng)背景 21.1物流的概念 21.1.1物流的信息化 21.1.2現(xiàn)代化物流信息系統(tǒng)的功能 21.2倉儲調(diào)度的地位 21.2.1倉儲在物流系統(tǒng)中的功能和作用 31.2.2倉儲作業(yè)流程管理 41.2.3管理信息系統(tǒng)對企業(yè)的影響 4第二章遺傳算法及其工程應(yīng)用 62.1遺傳算法簡介 62.2遺傳算法的基本原理 62.3遺傳算法的基本描述 62.3.1基本遺傳算法定義 62.3.2基本遺傳算法流程 72.3.3遺傳編碼 72.3.4評價函數(shù) 82.3.5遺傳算子 92.3.6群體設(shè)定 92.3.7和其他算法比較 10第三章系統(tǒng)功能需求分析 113.1設(shè)計思想 113.2系統(tǒng)功能需求 113.3系統(tǒng)模塊功能需求 123.3.1管理員登錄模塊 123.3.2公告信息模塊 123.3.3商品信息模塊 123.3.4供應(yīng)商模塊 123.3.5商品調(diào)度模塊 123.3.6日志信息模塊 123.3.7出庫模塊 123.3.8管理員信息修改 134.4系統(tǒng)整體流程設(shè)計 13第四章技術(shù)可行性分析 144.1JSP技術(shù)簡介 144.2JAVA技術(shù)簡介 154.3MVC設(shè)計模式 164.4STRUTS框架 174.5ORACLE數(shù)據(jù)庫簡介 18第五章數(shù)據(jù)庫設(shè)計 205.1數(shù)據(jù)庫功能概述 205.2數(shù)據(jù)庫邏輯關(guān)系 205.3數(shù)據(jù)字典 21第六章系統(tǒng)實現(xiàn) 236.1系統(tǒng)總體功能介紹 236.2系統(tǒng)各模塊功能實現(xiàn) 23結(jié)論 29參考文獻 30謝辭 31PAGE31引言面對節(jié)奏加快的世界經(jīng)濟,如何在商品經(jīng)濟中立足,具有足夠強的競爭力,已經(jīng)成為一個永不過時的話題。中國進入WTO對中國既是一個機遇也是一個挑戰(zhàn)。從這里開始中國的市場要走向國際化,中國的商品走出國門,讓世界上所有國家的人們來使用它,檢驗它的好與壞。面對世界上一流大企業(yè),我們應(yīng)該怎么做才能使自己生存下來呢?其中需要特別注意:進貨迅速,這就要很好的去衡量各個廠商相對自己的距離;其次供應(yīng)商的單價和運輸成本,怎么去選擇和計算哪個供應(yīng)商的性價比最高;再次,如何使自己的產(chǎn)品和資金能夠有效的運行。只有具有迅速,成本低,資金運轉(zhuǎn)效率高等現(xiàn)代競爭中不可缺少的因素,才能在日益競爭激烈的市場中生存甚至脫穎而出。面對激烈的全球市場競爭環(huán)境,我國明確提出發(fā)展現(xiàn)代化的倉儲管理行業(yè),加快資金流,商品流的快速循環(huán),提高企業(yè)贏利能力和競爭力。速度已經(jīng)是企業(yè)發(fā)展過程中一個不容忽視的問題,不論是在決策中,銷售中還是倉儲運輸中,都是十分重要的因素。中國入世后經(jīng)濟的繁榮發(fā)展離不開倉儲業(yè)的支持,它給國內(nèi)經(jīng)濟的繁榮、企業(yè)的資金的加速流轉(zhuǎn)、商品的及時傳遞、安全的庫存提供的保證。安全的庫存并不是最好的,例如日本豐田公司的零庫存計劃給業(yè)界就是一個創(chuàng)舉,每年光零部件庫存費用的減少就是一個驚人的數(shù)字,所以庫存管理是否合理是減少不必要庫存費用浪費的一個重要途徑,合理的庫存不但能滿足生產(chǎn)銷售的需要而且可以在管理方面提升競爭力。進入新世紀(jì),由于全球經(jīng)濟一體化進程日益加快,企業(yè)面臨著更加激烈的競爭環(huán)境,資源在全球范圍內(nèi)的流動和配置大大加強,世界各國更加重視物流發(fā)展對于本國經(jīng)濟的發(fā)展、國民生活素質(zhì)和軍事實力增強的影響,都十分重視倉儲業(yè)的現(xiàn)代化,從而使現(xiàn)代物流呈現(xiàn)出一系列新的發(fā)展趨勢。根據(jù)國內(nèi)外倉儲業(yè)發(fā)展的情況,21世紀(jì)物流的發(fā)展趨勢可以歸納為信息化、網(wǎng)絡(luò)化、自動化、電子化、智能化、標(biāo)準(zhǔn)化、全球化等十二大趨勢。為了解決傳統(tǒng)方案的不足,該系統(tǒng)期望采用遺傳算法,對倉儲管理實現(xiàn)智能化控制,從而大大提高了工作效率,同時該系統(tǒng)能夠及時查詢商品的庫存情況,減少了傳統(tǒng)需要人工進行查詢的劣勢。速度,效率,最少的成本才是制勝的關(guān)鍵。第一章倉儲調(diào)度系統(tǒng)背景1.1物流的概念物流(Logistics)可以從不同的角度進行定義,但最為廣泛的定義為:物流是供應(yīng)鏈運作中,以滿足顧客要求為目的,對貨物、服務(wù)和相關(guān)信息在產(chǎn)出地和銷售地之間實現(xiàn)高效率和低成本的正向和反向的流動和存儲所進行的計劃、執(zhí)行和控制的過程。1.1.1物流的信息化現(xiàn)代物流信息系統(tǒng)是以現(xiàn)代物流思想體系為基礎(chǔ),依靠現(xiàn)代化科學(xué)技術(shù),特別是計算機和網(wǎng)絡(luò)通訊等信息技術(shù)。在計劃,管理和控制以及作業(yè)環(huán)節(jié)等方面充分利用信息,快速反饋信息,為決策提供依據(jù)并輔助決策,通告物流效率和優(yōu)化供應(yīng)鏈的信息系統(tǒng)。物流信息系統(tǒng)的目的是在提高物流業(yè)務(wù)的效率和降低成本的同時,支持提高對顧客的服務(wù)水平。1.1.2現(xiàn)代化物流信息系統(tǒng)的功能物流業(yè)務(wù)是企業(yè)的根基業(yè)務(wù)之一,為了打好業(yè)務(wù)根基,建立強固的基礎(chǔ),物流信息系統(tǒng)起著非常重要的作用。現(xiàn)代物流信息系統(tǒng)的基本功能有以下幾個方面:(1)正確掌握訂貨信息并進行傳送的功能正確掌握訂貨信息是物流信息系統(tǒng)的入口,訂貨信息是企業(yè)從外部得到的重要信息,根據(jù)訂貨信息能夠掌握暢銷產(chǎn)品和滯銷產(chǎn)品,靈活的應(yīng)用和分析訂貨信息能夠使企業(yè)得到大的發(fā)展,主要的信息包括:訂貨信息的出庫業(yè)務(wù),訂貨信息的市場業(yè)務(wù),訂貨信息的銷售商的基本信息等。(2)正確掌握庫存的移動和傳送的功能爭取掌握庫存信息是物流信息系統(tǒng)的出口,庫存信息是企業(yè)內(nèi)部存貨數(shù)量等企業(yè)內(nèi)部信息,精確的掌握企業(yè)內(nèi)部信息對其他企業(yè)訂貨有著無可比擬的重要性。主要信息包括:庫存信息,庫存的移入移出等信息。(3)對顧客提供信息的功能信息不僅是在企業(yè)內(nèi)部應(yīng)用,與顧客交換信息已是企業(yè)戰(zhàn)略的重要部分,對顧客提供信息包括:到貨信息,訂貨信息,市場狀況信息等。1.2倉儲調(diào)度的地位作為一個企業(yè)的最基本也是最核心的流程,采購,銷售,庫存涉及到企業(yè)大部分物流,資金流,信息流以及全比的商業(yè)流。因此,倉儲調(diào)度在一個企業(yè)中有著不容忽視的地位。(1)采購采購是企業(yè)向供應(yīng)商獲取商品或服務(wù)的一種商業(yè)行為,企業(yè)經(jīng)營活動所需要的物流絕大部分是通過采購獲得的,采購物流是企業(yè)供應(yīng)物流的重要起點,是企業(yè)供應(yīng)物流管理的主要環(huán)節(jié)。采購物流管理是否有效,對整個物流費用能否降低,物流經(jīng)營效率能否提高有著非常重要的影響。原材料采購是指企業(yè)為滿足生產(chǎn)經(jīng)營活動的需要,選擇和購買原材料的過程,這個過程包括:原材料的需要,選擇供應(yīng)商,商議下家,簽訂購貨合同,選擇運輸方式等事項,結(jié)合企業(yè)的庫存及運輸條件,針對不同的原材料,應(yīng)采以不同的采購策略,以最大限度降低采購綜合成本。(2)銷售銷售在一個企業(yè)中的作用是不容忽視的,它是實現(xiàn)商流轉(zhuǎn)換的過程,在這個轉(zhuǎn)換過程,企業(yè)實現(xiàn)了利潤,這是一個企業(yè)存在的最終目的?,F(xiàn)代企業(yè)營銷活動中,不但要具備良好的產(chǎn)品組合,準(zhǔn)確把握產(chǎn)品不同時期生命周期,產(chǎn)品包裝,品牌管理等環(huán)節(jié)的策劃與設(shè)計,而且還要在產(chǎn)品開發(fā)前就應(yīng)考慮推向市場后,產(chǎn)品銷售環(huán)節(jié)中的物流系統(tǒng)運作設(shè)計與策劃。(3)庫存在企業(yè)中,庫存是一個“蓄水池”的作用,調(diào)節(jié)著生產(chǎn)和需求之間的不平衡,因為生產(chǎn)和需求是不能同步進行的,生產(chǎn)必須在需求之前作好準(zhǔn)備,當(dāng)需求開始的時候供應(yīng)到市場上去。1.2.1倉儲在物流系統(tǒng)中的功能和作用(1)便于形成先進的物流系統(tǒng),提高企業(yè)的競爭優(yōu)勢傳統(tǒng)的倉庫只是貨物存儲的場所,保存貨物是唯一的功能,是一種“靜態(tài)存儲”?,F(xiàn)代倉庫功能與傳統(tǒng)的倉庫功能相比已經(jīng)發(fā)生了重大的變化,現(xiàn)代倉庫不僅能使貨物在倉庫內(nèi)自動存取,而且可以與倉庫以外的生產(chǎn)環(huán)節(jié)進行有機的連接,并通過計算機管理系統(tǒng)使倉庫成為企業(yè)生產(chǎn)物流中的一個重要環(huán)節(jié)。因為倉儲調(diào)度系統(tǒng)是整個企業(yè)管理大系統(tǒng)(從訂貨、必要的設(shè)計和規(guī)劃、計劃編制和生產(chǎn)安排、制造、裝配、試驗、發(fā)運等)的一個子系統(tǒng),因此,只有建立倉儲調(diào)度系統(tǒng)與企業(yè)大系統(tǒng)之間的實時連接,才能為企業(yè)領(lǐng)導(dǎo)者制定相應(yīng)的戰(zhàn)略、指揮、監(jiān)督和調(diào)整企業(yè)的行動提供依據(jù)。(2)降低周轉(zhuǎn)時間,減輕勞動強度,提高生產(chǎn)效率建立以倉儲調(diào)度為中心的物流系統(tǒng),通過對物資貨位的合理布局,以較短周轉(zhuǎn)時間、較低存貨率、較低的成本和顧客服務(wù)為內(nèi)容的物流目標(biāo),即能快速妥善的將物資存入倉庫中(商品入庫),也能快速及時地將生產(chǎn)所需零部件和原材料送達生產(chǎn)線(商品出庫),而且能用較低的成本較快的速度完成物流的整個過程。1.2.2倉儲作業(yè)流程管理倉儲調(diào)度的一個非常重要的內(nèi)容就是倉儲作業(yè)管理,倉儲作業(yè)是完成倉庫物資儲存、入庫、出庫以及流通加工等不可缺少的手段,它是由各個環(huán)節(jié)、作業(yè)單位協(xié)同配合,共同完成的。倉儲作業(yè)流程的管理不但包括具體的作業(yè)實際流程管理,還包括作業(yè)信息流程的管理,即管理信息系統(tǒng)。整個倉儲作業(yè),基本上包括采購入庫,貨物存儲和銷售出庫三個階段,這三個階段相互銜接,共同實現(xiàn)倉庫的所有功能。倉儲作業(yè)的最根本的目的就是滿足用戶對商品的需要。1.2.3管理信息系統(tǒng)對企業(yè)的影響(1)管理體制的科學(xué)化建立企業(yè)的倉儲調(diào)度系統(tǒng)之后,可以充分的發(fā)揮計算機的高速運算和大的數(shù)據(jù)存儲容量,通信設(shè)備等快速信息傳送的特點。這樣一方面可以利用數(shù)學(xué)模型對企業(yè)的管理活動進行模擬,以提高管理決策的準(zhǔn)確性,避免其主觀意愿性,使管理工作更加精確有效。另一方面,可以對過去大量實際管理數(shù)據(jù)進行分析,總結(jié),找出成長規(guī)律,用來預(yù)測未來倉儲調(diào)度走向,使管理工作由粗變細,由事后管理向?qū)崟r管理方向發(fā)展你,做到事前有預(yù)測,事后有改動,使管理工作由被動狀態(tài)逐漸變?yōu)橹鲃訝顟B(tài)。由于對企業(yè)外部環(huán)境進行有效的分析和預(yù)測,據(jù)此來不斷改變企業(yè)的經(jīng)營方向和管理策略,以適用客觀環(huán)境的要求,不僅可以避免因市場環(huán)境變化給企業(yè)帶來的經(jīng)濟損失,還可以獲得更多的利潤,成為市場競爭中的勝利者。同時由于網(wǎng)絡(luò)和通訊的快速性,可以及時的傳送信息,對企業(yè)進行實時管理和控制,以避免出現(xiàn)及時變化而發(fā)生問題,造成重大損失。(2)管理體制的合理化信息是企業(yè)管理的資源,是各級管理人員決策的重要依據(jù)。企業(yè)管理的過程實際上是對信息的處理過程。而倉儲調(diào)度系統(tǒng)能使信息由分散處理轉(zhuǎn)變?yōu)榧锌刂?,從而適應(yīng)市場經(jīng)濟體制下的管理需求,從而充分發(fā)揮信息綜合利用的作用,同時還提高信息的質(zhì)量,大大增加信息的處理量,以滿足企業(yè)各級管理人員決策所需的信息。(3)提高管理人員的素質(zhì)和管理水平開發(fā)倉儲調(diào)度是對企業(yè)的人、財、物資源和商品的購、銷、存、調(diào)環(huán)節(jié)的信息處理、工作方式、管理機制、工作習(xí)慣等方面的變革。因此,必須促進管理人員思想觀念的變革,管理業(yè)務(wù)水平的提高,才能適應(yīng)這一套變革,開發(fā)倉儲管理系統(tǒng)齊天,管理人員可從中學(xué)習(xí),掌握信息技術(shù)。倉儲管理系統(tǒng)建成之后,管理人員可以從繁瑣,重復(fù)的事務(wù)工作中解脫出來,進行調(diào)查研究,使用各種數(shù)據(jù)分析手段和方法對企業(yè)的管理活動進行分析,制定改進和提高管理工作效率的措施,即從事信息分析,判斷和決策等真正的信息管理工作,充分發(fā)揮信息在管理中的作用。(4)提供企業(yè)的經(jīng)濟效益和競爭地位倉儲管理系統(tǒng)使企業(yè)管理規(guī)范華,科學(xué)化,高速化,資源利用合理化,它給企業(yè)帶來的直接經(jīng)濟效益是顯著的。由于倉儲管理系統(tǒng)準(zhǔn)確及時提供信息,加強了信息的反饋,企業(yè)各個部門據(jù)此可以合理的組織商品的流通,減少庫存積壓,從而加快資金周轉(zhuǎn),使企業(yè)的經(jīng)濟效益大大提高。倉儲管理系統(tǒng)對企業(yè)內(nèi)部資金統(tǒng)一管理,及時掌握,調(diào)配內(nèi)部資源的使用,大大提高了效率,從而減少成本的開支,在增加企業(yè)經(jīng)濟效益的同時,增加了企業(yè)在市場中的競爭能力。第二章遺傳算法及其工程應(yīng)用2.1遺傳算法簡介遺傳算法(GeneticAlgorithm, 簡稱GA)是生命科學(xué)與工程科學(xué)相互交叉、相互滲透的結(jié)果。它啟迪于自然界生物從低級、簡單,到高級、復(fù)雜,以及人類這樣一個漫長而充滿奧秘的進化過程,同時借鑒了達爾文的物競天擇、優(yōu)勝劣汰、適者生存的自然選擇和自然遺傳機理,并將其引入編碼串結(jié)構(gòu),在串與串之間進行有組織的但又是隨機的信息交換,優(yōu)良的品質(zhì)被逐漸保留并加以組合,從而不斷產(chǎn)生出更優(yōu)的個體,其本質(zhì)是一種求解問題的高效并行全局的搜索方法。自20世紀(jì)60年代中期美國Michigan大學(xué)Holland教授提出遺傳算法以來,其應(yīng)用研究越來越深入,應(yīng)用領(lǐng)域也越來越廣泛。遺傳算法在智能控制系統(tǒng)設(shè)計、組合優(yōu)化、模式識別、機器學(xué)習(xí)、規(guī)劃策略、信號處理和生命領(lǐng)域的應(yīng)用中顯示出其無以倫比的優(yōu)越性和魅力。2.2遺傳算法的基本原理GA是基于自然選擇和遺傳機制,在計算機上模擬生物進化機制的搜索尋優(yōu)算法。在自然界的演化過程中,生物體通過遺傳(傳宗接代、后代和雙親非常相象)、變異(后代與雙親又不完全相象)來適應(yīng)外界環(huán)境,一代又一代地優(yōu)勝劣汰、繁衍進化。GA模擬了上述進化現(xiàn)象,它把搜索空間(所求問題的解的隸屬空間)映射為遺傳空間,即把每一個可能的解編碼為一個向量,稱為一個染色體或個體,向量的每個元素稱為基因,所有染色體組成群體或種群,并按預(yù)定的目標(biāo)函數(shù)對每個染色體進行評價,據(jù)其結(jié)果給出一個適應(yīng)度的值。算法開始時先隨機地產(chǎn)生一些染色體(所求問題的侯選解),計算其適應(yīng)度,跟據(jù)適應(yīng)度大小對諸染色體進行選擇、交叉、變異等遺傳操作,剔除適應(yīng)度低(性能不佳)的染色體,留下適應(yīng)度高(性能優(yōu)良)的染色體,從而得到新的群體。由于新群體的成員是上一代群體的優(yōu)秀者,繼承了上一代的優(yōu)良性能,因而明顯優(yōu)于上一代。GA就通過這樣的反復(fù)地操作,向著更優(yōu)解的方向進化,知道滿足某種預(yù)定的優(yōu)化收斂指標(biāo)。GA是一個重復(fù)的搜索過程,但這一過程并不簡單地重復(fù)搜索,而是一個帶著“記憶”的搜索,算法本身使搜索不會向一個低的區(qū)域進化。GA就是靠著自身的這種“意向”,不斷地產(chǎn)生新的個體,不斷地淘汰劣的個體,從而進化到較高階段或者說趨于收斂[5]。2.3遺傳算法的基本描述2.3.1基本遺傳算法定義基本遺傳算法可定義為一個八元組,其基本關(guān)系表述如公式(2-1)K=(C,E,P,M,L,G,T,U)(2-1)式中各參數(shù)代表含義如下:C:個體的編碼方法;E:個體的適應(yīng)度評價函數(shù);P:初始群體;M:群體大??;L:選擇算子;U:變異算子;G:交叉算子;T:算法終止條件;2.3.2基本遺傳算法流程如圖2-1,算法的運行過程為一個典型的迭代過程,其必須完成的工作內(nèi)容和基本步驟如下:(1)選擇編碼策略,把參數(shù)集合X和域轉(zhuǎn)換為位串結(jié)構(gòu)空間S;(2)定義適應(yīng)度值函數(shù)f(x);(3)確定遺傳策略,包括選擇群體大小n,選擇、交叉、變異方法,以及確定交叉概率Pc,變異概率Pm等遺傳參數(shù);(4)隨機初始化生成群體P;(5)計算群體中個體位串解碼后的適應(yīng)值f(X);(6)按照遺傳策略,運用選擇、交叉、和變異作用于群體,形成下一代群體;判斷群體性能是否滿足某一指標(biāo),或者已完成預(yù)定迭代次數(shù),不滿足則返回步驟(6),或者修改遺傳策略再返回步驟(6)[6]。2.3.3遺傳編碼按照遺傳算法的工作流程,當(dāng)用遺傳算法求解問題時,必須在目標(biāo)問題實際表示與遺傳算法的染色體位串之間建立聯(lián)系,即確定編碼和解碼運算。一般來說,參數(shù)集及適應(yīng)函數(shù)是與實際問題密切相關(guān)的,往往由用戶斟酌確定。定義由問題空間向GA編碼空間映射稱作編碼(encoding),而由編碼空間向問題空間映射稱作譯碼。編碼一般應(yīng)滿足以下3個原則:完備性:問題空間中的所有點都能成為GA編碼空間中的點的表現(xiàn)型。健全性:GA編碼空間中的染色體位串必須對應(yīng)問題空間中某一潛在解。圖2-1遺傳算法流程圖2.3.4評價函數(shù)評價函數(shù)也稱為適應(yīng)函數(shù)。遺傳算法將問題空間表示為染色體位串空間,為了執(zhí)行適者生存的原則,必須對個體位串的適應(yīng)性進行評價。因此,適應(yīng)函數(shù)就構(gòu)成了個體的生存環(huán)境。根據(jù)個體的適應(yīng)值,就可決定它在此環(huán)境下的生存能力。一般來說,好的染色體位串結(jié)構(gòu)具有比較高的適應(yīng)函數(shù)值,即可以獲得較高的評價,具有較強的生存能力。對于給定的優(yōu)化問題,目標(biāo)函數(shù)有正有負,甚至可能是復(fù)數(shù)值,所以有必要通過建立適應(yīng)函數(shù)與目標(biāo)函數(shù)的映射關(guān)系,保證映射后的適應(yīng)值是非負的,而且目標(biāo)函數(shù)的優(yōu)化方向應(yīng)對于適應(yīng)值增大方向。2.3.5遺傳算子標(biāo)準(zhǔn)遺傳算法的操作算子一般包選擇,交叉,變異三種形式,他們構(gòu)成了遺傳算法強大的搜索能力的核心,是模擬自然選擇以及遺傳過程中發(fā)生的繁殖、雜交和突變現(xiàn)象的主要載體。在Holland的早期著作中,極力推薦采用逆轉(zhuǎn)算子,使得關(guān)鍵基因在交叉操作中便于保留下來,以便形成緊密的基因聯(lián)結(jié)。遺傳算法利用遺傳算子產(chǎn)生新一代群體來實現(xiàn)群體進化,算子的設(shè)計是遺傳策略的主要組成部分,也是調(diào)整和控制進化過程的基本工具。1、選擇適應(yīng)值比例選擇是最基本的選擇方法,其中每個個體被選擇的期望數(shù)量與其適應(yīng)值和群體平均適應(yīng)值的比例有關(guān),通常采用輪盤賭方式實現(xiàn)。這種方式首先計算每個個體的適應(yīng)值,然后計算出此適應(yīng)值在群體適應(yīng)值總和中所占的比例,表示該個體在選擇過程中被選中的概率。選擇過程體現(xiàn)了生物進化過程中“適者生存,優(yōu)勝劣汰”的思想,并且保證優(yōu)良基因遺傳給下一代個體。2、交叉交叉操作是進化過程中遺傳算法具備的原始性的獨有特征,GA交叉算子是模仿自然界有性繁殖的基因重組過程,其作用在于將原由的優(yōu)良基因遺傳給下一代群體,并生成包含更復(fù)雜基因結(jié)構(gòu)的新個體。交叉操作一般分為以下幾個步驟:從群體中隨機取出要交叉的一對個體;根據(jù)位串長度L,對要交叉的一對個體,隨機選取[1,L-1]中一個或多個的整數(shù)K作為交叉位置;根據(jù)交叉概率實施交叉操作,配對個體在交叉位置處,相互交換各自的部分內(nèi)容,從而形成新的一對個體。3、變異算子變異操作模擬自然界生物體進化中染色體上某位基因發(fā)生的突變現(xiàn)象,從而改變?nèi)旧w的結(jié)構(gòu)和物理形狀。2.3.6群體設(shè)定根據(jù)模式定理,群體規(guī)模對遺傳算法的性能影響很大。若群體規(guī)模為n,則遺傳算子可以從這n個個體中生成和檢測n的三次方個模式,并在此基礎(chǔ)上不斷形成和優(yōu)化模塊,直到找到問題的最優(yōu)解。群體規(guī)模越大,群體中個體的多樣性越高,算法陷入局部解的危險就越小。但是隨著群體規(guī)模的增大,計算量也增大。若群體規(guī)模太小,使遺傳算法的搜索空間受到限制,則可能產(chǎn)生未成熟收斂的現(xiàn)象。初始群體中的個體一般是隨機產(chǎn)生的。在不具有關(guān)于問題解空間的先驗知識的情況下,很難判定最優(yōu)解的數(shù)量及其在可行解空間中的分布狀況。因此往往希望在問題解空間均勻采樣,隨機生成一定樹木的個體,然后從中挑出較好的個體構(gòu)成初始群體。對于二進制編碼,染色體位串上的每一位基因在(0,1)上隨機均勻選擇,所以群體初始化至少需要L*N次隨機取值[5]。2.3.7和其他算法比較在GA被廣泛應(yīng)用之前,優(yōu)化問題主要有以下幾種:(1)基于計算的方法:通過求目標(biāo)函數(shù)導(dǎo)數(shù)的零點或一系列迭代計算過程來求最優(yōu)解。對多峰問題,這類方法容易陷入局部最優(yōu)點附近,且要求目標(biāo)函數(shù)有較好的連續(xù)性或可微性。(2)枚舉法:在有限的或被離散化的無限搜索空間中比較每一點的目標(biāo)函數(shù)值,求出最優(yōu)解。當(dāng)搜索空間大時,計算量的迅速增加使這類算法失效。(3)隨機算法:這類算法主要有模擬退火算法,模擬退火法在實際應(yīng)用中較成功,但從一點到另一點的迭代過程使多峰問題陷入局部最優(yōu)解。與傳統(tǒng)優(yōu)化算法相比,GA具有如下特點:(1)搜索過程不直接作用在變量上,而是作用在將變量編碼后的字符串上;(2)搜索過程是從一組解迭代到另一組解,這樣可降低陷入局部最優(yōu)解的可能性;(3)使用的是隨機搜索過程而非確定性搜索過程;對搜索空間沒有任何特殊要求,只利用適應(yīng)性值信息,不需要導(dǎo)數(shù)等其它輔助信息,因而適用范圍更廣。第三章系統(tǒng)功能需求分析3.1設(shè)計思想系統(tǒng)設(shè)計遵循了倉儲調(diào)度的概念,在設(shè)計中模擬實現(xiàn)了倉儲調(diào)度的過程。倉儲調(diào)度主要是從整個商品流通過程的購、銷、儲、運等各個環(huán)節(jié)的鏈?zhǔn)疥P(guān)系中,研究貨物儲存的收、管、發(fā)以及其相關(guān)的經(jīng)營活動,以及圍繞貨物儲存業(yè)務(wù)所開展的對人、財、物的運用與管理。要包括商品在庫信息、入庫信息、出庫信息、商品位置信息、倉庫位置信息以及管理倉庫的負責(zé)人情況,供應(yīng)商信息、商品分類信息等。經(jīng)過分析和調(diào)研,本系統(tǒng)設(shè)計實現(xiàn)倉儲調(diào)度的主要幾個模塊。其中這幾個模塊分為管理員登錄模塊,公告信息模塊,商品信息模塊,供應(yīng)商模塊,商品調(diào)度模塊,日志信息模塊,出庫模塊,管理員信息修改模塊。在以上這幾個模塊中,商品調(diào)度模塊使用遺傳算法會減少對人力和財力的消耗,會比普通的倉儲調(diào)度更加優(yōu)化。因此本課題對遺傳算法進行了初步研究,期望能在系統(tǒng)的商品調(diào)度模塊應(yīng)用該算法。3.2系統(tǒng)功能需求圖3-1系統(tǒng)功能模塊圖在系統(tǒng)的八大模塊中,各個模塊需要實現(xiàn)其特有的功能。作為系統(tǒng)的一部分,各個模塊之間都存在著相互的聯(lián)系,系統(tǒng)功能模塊劃分如圖3-1所示。3.3系統(tǒng)模塊功能需求3.3.1管理員登錄模塊設(shè)立管理員登錄模塊的目的就是為了系統(tǒng)的安全性著想。也就是說只有是該系統(tǒng)的管理員,有該系統(tǒng)的用戶名和密碼,才能夠登錄本系統(tǒng),對系統(tǒng)進行操作。在管理員模塊,需要與數(shù)據(jù)庫進行交互,來取得正確的用戶名和密碼,這樣才能成功登錄系統(tǒng),對系統(tǒng)進行操作。3.3.2公告信息模塊系統(tǒng)中設(shè)計公告信息模塊的目的是為了減少管理員盤點貨物的工作量。在登錄系統(tǒng)后管理員就會看到公告信息中哪些貨物庫存量不夠,需要進行調(diào)度,這樣管理員就不用去倉庫進行盤點,查看商品的數(shù)量等。3.3.3商品信息模塊商品信息欄顯示了目前庫中所有商品的相關(guān)信息,當(dāng)商品出庫或者入庫后,商品信息都會動態(tài)更新。在這個模塊,可以查看到商品的一些基本信息,也可以了解到倉庫中存在哪些商品。3.3.4供應(yīng)商模塊這個模塊的功能就是為了查看供應(yīng)商貨品的信息,查看的方式有兩種,一種是查看一個供應(yīng)商提供了多少種商品,一種是查看一艦商品有多少個供應(yīng)商。這樣的設(shè)置可以為商品的調(diào)度提供方便。3.3.5商品調(diào)度模塊商品調(diào)度模塊是系統(tǒng)的一個核心模塊,在調(diào)度方面,如何調(diào)度,如何最大程度上的降低成本,如何減少工作人員的工作量,如何減少操作時間都是非常關(guān)鍵的,而這一模塊的設(shè)計,采用遺傳算法是最合適的。當(dāng)進行商品調(diào)度時,選中商品進行調(diào)度,這時系統(tǒng)就會根據(jù)遺傳算法進行匹配,尋求最優(yōu)解,即尋找出一種最佳方案,使調(diào)度的成本最低。3.3.6日志信息模塊日志信息模塊中顯示的內(nèi)容為記錄信息,即每次對商品進行操作以后都會有相應(yīng)的記錄,通過日志信息就可以查看這些信息。3.3.7出庫模塊這個模塊就是對倉庫中的商品進行操作,即如果有顧客需要某種商品,那么就是通過出庫模塊來體現(xiàn)的,即為客戶提供相應(yīng)數(shù)量的商品就是出庫模塊的功能。3.3.8管理員信息修改管理員信息修改設(shè)置比較簡單,管理員可以對自己登錄的密碼進行修改。這樣可以避免一個密碼使用時間過長而被泄露的情況發(fā)生。3.4系統(tǒng)整體流程設(shè)計在系統(tǒng)的流程設(shè)計中,首先要能夠登錄系統(tǒng),只有登錄系統(tǒng)以后才能對系統(tǒng)進行其他的操作,所以首先需要設(shè)計的就是登錄模塊。在系統(tǒng)中,當(dāng)管理員登錄成功以后,最先看到的應(yīng)該是公告信息,當(dāng)管理員看到公告信息后就會去根據(jù)實際情況處理公告信息中的提示信息。那么處理提示信息就是對其他模塊的操作,具體流程見圖3-2所示。圖3-2系統(tǒng)整體流程圖第四章技術(shù)可行性分析4.1JSP技術(shù)簡介JSP全稱JavaServerPages,此技術(shù)可以讓web開發(fā)人員和設(shè)計人員非常容易的創(chuàng)建和維護動態(tài)網(wǎng)頁,特別是目前的商業(yè)系統(tǒng)。作為Java技術(shù)的一部分,JSP能夠快速開發(fā)出基于web、獨立于平臺的應(yīng)用程序。JSP把用戶界面從系統(tǒng)內(nèi)容中分離開來,使得設(shè)計人員能夠在不改變底層動態(tài)內(nèi)容的前提下改變整個網(wǎng)頁布局。JSP網(wǎng)頁就是在HTML網(wǎng)頁中包含了能夠生成動態(tài)內(nèi)容的可執(zhí)行應(yīng)用程序代碼。此應(yīng)用程序可能包含JavaBean,JDBC對象,EnterpriseJavaBean(EJB)和RemoteMethodInvocation(RMI)對象,所有的部分都可以非常容易的從JSP網(wǎng)頁上訪問到。例如,一個JSP網(wǎng)頁可以包含HTML代碼所顯示的靜態(tài)文本和圖像,也可以調(diào)用一個JDBC對象來訪問數(shù)據(jù)庫;當(dāng)網(wǎng)頁顯示到用戶界面上以后,它將包含靜態(tài)HTML內(nèi)容和從數(shù)據(jù)庫中找到相應(yīng)的動態(tài)信息。在JSP網(wǎng)頁中,要把用戶界面和應(yīng)用程序分開可以考慮在網(wǎng)頁設(shè)計人員和開發(fā)人員之間執(zhí)行一個非常方便的授權(quán)任務(wù)。它也允許開發(fā)人員去建立靈活的代碼,從而非常容易的進行更新和重復(fù)利用。由于JSP網(wǎng)頁能夠根據(jù)需要自動進行編譯,web設(shè)計人員無須重新編譯應(yīng)用程序邏輯就可以改變表述代碼。這也使得JSP與Javaservlet(它是JavaSeverPages功能的擴展)相比成為一種可以更靈活生成動態(tài)web內(nèi)容的方法。Servlet可以建立動態(tài)生成的網(wǎng)頁,而網(wǎng)頁中包含有從服務(wù)器方的Java對象中所獲得的數(shù)據(jù)。servlet生成網(wǎng)頁的方法就是在Java類中嵌入HTML標(biāo)簽和表述代碼。這就意味著改變表述代碼需要修改和重新編譯servlet源文件。因為設(shè)計HTML頁面的設(shè)計人員可能與編寫servlet代碼的開發(fā)人員不是同一個人,更新基于servlet的web應(yīng)用程序就成了一件非常棘手的事情。EnterJavaServerPage是ServletAPI的一個擴展。事實上,JSP網(wǎng)頁在編譯成servlet之前也可以使用,所以它們也具有servlet的所有優(yōu)勢,包括訪問JavaAPI。由于JSP是嵌入到servlet中關(guān)于應(yīng)用程序的一般表述代碼,所以他們能夠被看成一種“徹底”的servlet。JSP網(wǎng)頁主要提供了一種建立servlet的高水平方法,它還帶來了其他的優(yōu)點。即使你已經(jīng)為web應(yīng)用程序編寫了servlet,使用JSP仍然有很多優(yōu)勢:JSP網(wǎng)頁可以非常容易的與靜態(tài)模板結(jié)合,包括HTML或XML片段,以及生成動態(tài)內(nèi)容的代碼。JSP網(wǎng)頁可以在被請求的時候動態(tài)的編譯成servlet,所以網(wǎng)頁的設(shè)計人員可以非常容易的對表述代碼進行更新。如果需要的話,JSP網(wǎng)頁還可以進行預(yù)編譯。為了調(diào)用JavaBean組件,JSP標(biāo)簽可以完全管理這些組件,避免網(wǎng)頁設(shè)計人員復(fù)雜化應(yīng)用程序。開發(fā)人員可以提供定制化的JSP標(biāo)簽庫。網(wǎng)頁設(shè)計人員能夠改變和編輯網(wǎng)頁的固定模板部分而不影響應(yīng)用程序。同樣,開發(fā)人員也無須一個個編輯頁面而只須對組件進行合理的改變。通常,JSP允許開發(fā)人員向許多網(wǎng)頁設(shè)計人員分發(fā)功能性應(yīng)用程序。這些設(shè)計人員也不必知道Java編程語言或任何servlet代碼,所以他們能夠集中精力去編寫HTML代碼,而編程人員就可以集中精力去建立對象和應(yīng)用程序。4.2JAVA技術(shù)簡介Java是一種簡單的,面向?qū)ο蟮模植际降?,解釋的,鍵壯的,安全的,結(jié)構(gòu)的中立的,可移植的,性能很優(yōu)異的,多線程的,動態(tài)的語言。Java的開發(fā)環(huán)境有不同的版本,如sun公司的JavaDevelopersKit,簡稱JDK。后來微軟公司推出了支持Java規(guī)范的MicrosoftVisualJ++Java開發(fā)環(huán)境,簡稱VJ++。Java的特點(1)平臺無關(guān)性平臺無關(guān)性是指Java能運行于不同的平臺。Java引進虛擬機原理,并運行于虛擬機,實現(xiàn)不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與機器無關(guān),Java虛擬機(JavaVirtualMachine)是建立在硬件和操作系統(tǒng)之上,實現(xiàn)Java二進制代碼的解釋執(zhí)行功能,提供于不同平臺的接口的。(2)安全性Java的編程類似C++,學(xué)習(xí)過C++的讀者將很快掌握Java的精髓。Java舍棄了C++的指針對存儲器地址的直接操作,程序運行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。Java對程序提供了安全管理器,防止程序的非法訪問。(3)向?qū)ο驤ava吸取了C++面向?qū)ο蟮母拍睿瑢?shù)據(jù)封裝于類中,利用類的優(yōu)點,實現(xiàn)了程序的簡潔性和便于維護性。類的封裝性、繼承性等有關(guān)對象的特性,使程序代碼只需一次編譯,然后通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計和應(yīng)用上。Java提供了眾多的一般對象的類,通過繼承即可使用父類的方法。在Java中,類的繼承關(guān)系是單一的非多重的,一個子類只有一個父類,子類的父類又有一個父類。Java提供Object類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類為Object類,Object類功能強大,經(jīng)常會使用到它及其它派生的子類。(4)分布式Java建立在擴展TCP/IP網(wǎng)絡(luò)平臺上。庫函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機文件一樣容易。(5)鍵壯性Java致力于檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯誤。Java自已操縱內(nèi)存減少了內(nèi)存出錯的可能性。Java還實現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能。這些功能特征大大提高了開發(fā)Java應(yīng)用程序的周期。Java提供:Null指針檢測、數(shù)組邊界檢測、異常出口、Bytecode校驗。4.3MVC設(shè)計模式MVC設(shè)計模式是一種著名的用戶界面軟件開發(fā)設(shè)計模式,它是模型-視圖-控制器(Model-View-Controller)縮寫。MVC設(shè)計模式最早由Xerox在20世紀(jì)八十年代為Smaltalk-80語言發(fā)展提出的,但是這種設(shè)計思想并沒有局限于該語言,而是被廣泛地應(yīng)用到了其他面向?qū)ο蟮木幊陶Z言中。在MVC設(shè)計模式中,它把應(yīng)用程序分成了三個部分,如圖4-1所示(1)模型(Model)模型封裝了用戶數(shù)據(jù)和處理數(shù)據(jù)的業(yè)務(wù)邏輯,體現(xiàn)了應(yīng)用程序的當(dāng)前狀態(tài),而且可以將用戶數(shù)據(jù)狀態(tài)的變化提供給多個顯示該數(shù)據(jù)的視圖共用。模型是應(yīng)用程序的核心。(2)視圖(View)視圖提供了用戶界面,是用戶和應(yīng)用程序的交互的窗口,既接受用戶輸入,也把模型數(shù)據(jù)狀態(tài)顯示給用戶,但是視圖不負責(zé)任何業(yè)務(wù)邏輯處理,僅僅是將用戶輸入數(shù)據(jù)傳遞給控制器或?qū)⒛P蛿?shù)據(jù)顯示給用戶。(3)控制器(Controller)控制器連接了模型和視圖,根據(jù)用戶請求判斷將請求交給哪個模型來完成,然后調(diào)用視圖來顯示模型處理后的用戶請求結(jié)果。MVC設(shè)計模式將應(yīng)用程序進行了分層,視圖和模型通過控制器連接,從而減少了用戶界面和業(yè)務(wù)邏輯之間的耦合,使程序設(shè)計更加清晰、靈活,也提高了軟件的可擴展性、可維護性。圖4-1MVC模型組件關(guān)系圖4.4STRUTS框架Struts框架是Apache開源軟件聯(lián)盟()的一個開源項目——JakartaStrutsFramework。Struts框架繼承了MVC設(shè)計模式的特性,遵守了J2EE的Servlet、JSP等技術(shù)規(guī)范,并且根據(jù)J2EE的特點做了相應(yīng)的變化和擴展,是J2EE體系架構(gòu)的一種輕量級實現(xiàn)。作為一款優(yōu)秀的JavaWeb應(yīng)用程序的開發(fā)框架,Struts框架憑借其清晰性、靈活性,成為當(dāng)前最為廣泛應(yīng)用的輕量級JavaWeb開發(fā)框架。Struts框架實現(xiàn)了MVC設(shè)計模式,其工作原理圖如圖4-2所示:(1)控制器在Struts框架中的實現(xiàn)Struts框架中采用了ActionServlet和Action類以及Struts-config.xml配置文件作為控制器的實現(xiàn)。其中,Struts-config.xml配置文件配置了不同用戶請求及對應(yīng)的具體業(yè)務(wù)邏輯組件來供ActionServlet類查詢。ActionServlet類是中心Servlet,負責(zé)處理所有的用戶請求。當(dāng)用戶提出請求,ActionServlet類最先對請求進行處理,它將根據(jù)Struts-config.xml配置文件將用戶請求映射到具體的Action類;而當(dāng)Action類調(diào)用模型組件處理好用戶請求,并返回了處理結(jié)果后,仍然由ActionServlet類根據(jù)Struts-config.xml配置文件將結(jié)果轉(zhuǎn)發(fā)到視圖提供給用戶,或者轉(zhuǎn)發(fā)另外一個Action做進一步處理。Action類實現(xiàn)了具體的業(yè)務(wù)邏輯,它接受用戶的輸入,然后調(diào)用具體的模型組件來完成用戶請求。(2)視圖在Struts框架中的實現(xiàn)Struts構(gòu)架主要采用了JSP作為視圖的實現(xiàn),它提供了豐富的JSP標(biāo)簽庫支持應(yīng)用程序的開發(fā),而且引入了ActionForm組件(實質(zhì)為JavaBean)作為用戶表單的封裝來完成數(shù)據(jù)的傳輸。(3)模型在Struts框架中的實現(xiàn)Struts框架對模型——即復(fù)雜的數(shù)據(jù)持久化層沒有提供太多的支持,但是這也就是說開發(fā)人員有更多自由來選擇合適量級的持久化技術(shù),比如Hibernate、EJB等等。Struts框架實現(xiàn)了MVC設(shè)計模式,但是它是典型的表現(xiàn)層框架,對模型的實現(xiàn)是不足的,所以有必要引入其他架構(gòu)加強對模型的實現(xiàn)。圖4-2Struts框架原理圖4.5ORACLE數(shù)據(jù)庫簡介ORACLE9i是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫之一。ORACLE9i作為第一套完整、簡單的軟件基層結(jié)構(gòu),展現(xiàn)了前所未有的可擴展性、高性能和應(yīng)用程序所需要的穩(wěn)定性,是專門為因特網(wǎng)系統(tǒng)提供的新一代智能型集成應(yīng)用軟件。

ORACLE9i增強了ORACLE的能力,使之在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上可以支持成百上千個用戶。它提供了基于角色(ROLE)分工的安全保密管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。支持大量多媒體數(shù)據(jù),如二進制圖形、聲音、動畫以及多維數(shù)據(jù)結(jié)構(gòu)等。提供了與第三代高級語言的接口軟件PRO*系列,能在C,C++等主語言中嵌入SQL語句及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進行操縱。加上它有許多優(yōu)秀的前臺開發(fā)工具如POWERBUILD、SQL*FORMS、VISIABASIC等,可以快速開發(fā)生成基于客戶端PC平臺的應(yīng)用程序,并具有良好的移植性。ORACLE9i數(shù)據(jù)庫在物理上是存儲于硬盤的各種文件。它是活動的,可擴充的,隨著數(shù)據(jù)的添加和應(yīng)用程序的增大而變化。在邏輯上是由許多表空間構(gòu)成。主要分為系統(tǒng)表空間和非系統(tǒng)表空間。非系統(tǒng)表空間內(nèi)存儲著各項應(yīng)用的數(shù)據(jù)、索引、程序等相關(guān)信息。第五章數(shù)據(jù)庫設(shè)計5.1數(shù)據(jù)庫功能概述數(shù)據(jù)庫在整個系統(tǒng)設(shè)計中起著舉足輕重的作用,任何數(shù)據(jù)都要在數(shù)據(jù)庫中進行存儲以保證數(shù)據(jù)在以后的操作實現(xiàn)成為可能。數(shù)據(jù)庫設(shè)計是程序功能性設(shè)計的基礎(chǔ),只有數(shù)據(jù)庫設(shè)計完后程序員才能進行功能性設(shè)計,程序員根據(jù)數(shù)據(jù)庫結(jié)構(gòu)實現(xiàn)相應(yīng)的軟件功能。在本系統(tǒng)中,數(shù)據(jù)庫模擬了進貨商與供應(yīng)商,其中的所有操作都是和數(shù)據(jù)庫進行交互。5.2數(shù)據(jù)庫邏輯關(guān)系倉儲調(diào)度系統(tǒng)的數(shù)據(jù)庫名稱為XE,使用此數(shù)據(jù)庫的網(wǎng)絡(luò)軟件為倉儲調(diào)度系統(tǒng)。下面介紹該系統(tǒng)的數(shù)據(jù)庫整體設(shè)計,該系統(tǒng)采用輕量化的數(shù)據(jù)庫解決方案,采用ORCLE數(shù)據(jù)庫。因為該系統(tǒng)是整個系統(tǒng)的一個功能模塊要實現(xiàn)的是倉儲調(diào)度,所以數(shù)據(jù)庫中的相關(guān)數(shù)據(jù)涉及到,管理員信息、供應(yīng)商信息、商品信息、商品出庫單信息、商品調(diào)度信息、公告信息、商品在倉庫中的位置信息等。如圖5-1為系統(tǒng)數(shù)據(jù)結(jié)構(gòu)圖,描述了各表之間的對應(yīng)關(guān)系。圖5-1數(shù)據(jù)結(jié)構(gòu)圖5.3數(shù)據(jù)字典(1)管理員信息表管理員信息表中存放了管理員的姓名和密碼字段,如表5-1所示。表5-1管理員信息表編號字段名字段類型是否為主鍵是否為空備注信息01idnumber是否該表自動編號02namevarchar2(10)否否登陸名稱03passwordvarchar2(10)否否登陸密碼(2)商品信息表商品信息表中存放了倉庫所有商品,管理員可以通過商品信息表進行商品的出庫,入庫操作。商品信息表如表5-2所示。表5-2商品信息表編號字段名字段類型是否為主鍵是否為空備注信息01idnumber是否該表自動編號02goodsidnumber(10)否否商品編號03goodsnamevarchar2(20)否否商品名稱04goodscountnumber(10)否否商品數(shù)量05goodspricenumber(10,2)否否商品單價(3)供應(yīng)商列表用戶可以通過供應(yīng)商列表去查詢有哪些供應(yīng)商。供應(yīng)商列表如表5-3所示。表5-3供應(yīng)商表編號字段名字段類型是否為主鍵是否為空備注信息01idnumber是否該表自動編號02goodsidnumber(10)否否商品編號03orderinfonamevarchar2(20)否否供應(yīng)商名稱 (4)供應(yīng)商貨物列表每個供應(yīng)商都有自己的貨物,供應(yīng)商貨物列表引用供應(yīng)商表的主id作為外鍵。其中包括了供應(yīng)商的地址,商品單價,運輸成本等。供應(yīng)商貨物列表如表5-4所示。表5-4供應(yīng)商貨物表編號字段名字段類型是否為主鍵是否為空備注信息01idnumber是否該表自動編號02goodsnamevarchar2(20)否否商品名稱03orderpricenumber(10)否否商品價格04goodsaddrvarchar2(50)否否商品存放地址05storeaddrvarchar2(50)否否倉庫位置06transpricenumber(10)否否運輸價格07ordergoodscountnumber(10)否否數(shù)量08orderinfoidnumber(10)否否供應(yīng)商id第六章系統(tǒng)實現(xiàn)6.1系統(tǒng)總體功能介紹本倉儲調(diào)度系統(tǒng)各模塊設(shè)計緊密相連,其中設(shè)立了管理員登陸名以及密碼,目的是為了防止他人隨意去更改數(shù)據(jù)庫中的信息而造成不必要的損失,其中管理員的密碼可以修改。管理員登陸后,根據(jù)公告信息去判斷目前倉庫缺少什么貨物,公告信息模塊可以實現(xiàn)這一功能,即設(shè)定一個值,當(dāng)商品數(shù)量少于該值時,就會在公告信息欄提示,設(shè)立該模塊的目的是為了減少管理員盤點貨物的工作量。商品信息欄顯示了目前庫中所有商品,當(dāng)商品出庫或者入庫,商品信息都會及時更新。日志信息模塊會記錄每次對商品操作的情況。商品調(diào)度模塊是整個系統(tǒng)設(shè)計的重點,對于倉儲調(diào)度方面,如何調(diào)度,如何最大程度上的降低成本,如何減少工作人員的工作量,如何減少操作時間都是非常關(guān)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論