蔬菜供應(yīng)方案計(jì)劃設(shè)計(jì)_第1頁
蔬菜供應(yīng)方案計(jì)劃設(shè)計(jì)_第2頁
蔬菜供應(yīng)方案計(jì)劃設(shè)計(jì)_第3頁
蔬菜供應(yīng)方案計(jì)劃設(shè)計(jì)_第4頁
蔬菜供應(yīng)方案計(jì)劃設(shè)計(jì)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

,.蔬菜供應(yīng)方案設(shè)計(jì)摘要由于人們生活水平的發(fā)展,開始講求天然產(chǎn)品,這使蔬菜產(chǎn)品有了廣闊的市場。商業(yè)企業(yè)要求最好的銷售和利潤的最大化,于是要設(shè)定合適的蔬菜供應(yīng)方案力求利潤的最大化和市場供應(yīng)的便捷性。精品文檔放心下載本文利用Floyd算法求出各蔬菜采購點(diǎn)到每個(gè)菜市場的最短運(yùn)輸距離,然后用lingo軟件計(jì)算蔬菜調(diào)運(yùn)費(fèi)用及預(yù)期短缺損失最小的條用方案。最優(yōu)運(yùn)輸方案為菜市場(A)運(yùn)往菜市場1蔬菜數(shù)量為8000kg,運(yùn)往菜市場2蔬菜數(shù)量為4000kg,運(yùn)往菜市場5蔬菜數(shù)量為6000kg,運(yùn)往菜市場6蔬菜數(shù)量為7000kg;城鄉(xiāng)路口(B)運(yùn)往菜市場2蔬菜數(shù)量為30kg,運(yùn)往菜市場3蔬菜數(shù)量為9000kg,運(yùn)往菜市場4蔬菜數(shù)量為8000kg;南街口(C)運(yùn)往菜市場5蔬菜數(shù)量為6000kg,運(yùn)往菜市場7蔬菜數(shù)量為10000kg,運(yùn)往菜市場8蔬菜數(shù)量為2000kg。用于蔬菜調(diào)運(yùn)及預(yù)期的短缺最小損失為10920元。謝謝閱讀根據(jù)題目要求對算法加以修改得出每個(gè)市場短缺率都小于20%的最優(yōu)調(diào)運(yùn)方案,并求出了最佳的供應(yīng)改進(jìn)方案。最優(yōu)運(yùn)輸方案為菜市場(A)運(yùn)往菜市場1蔬菜數(shù)量為8000kg,運(yùn)往菜市場2蔬菜數(shù)量為800kg,運(yùn)往菜市5蔬菜數(shù)量為9200kg,運(yùn)往菜市6蔬菜數(shù)量為7000kg;城鄉(xiāng)路口(B)運(yùn)往菜市場2蔬菜數(shù)量為6200kg,運(yùn)往菜市場3蔬菜數(shù)量為7400kg,運(yùn)往菜市場4蔬菜數(shù)量為6400kg;南街口(C)運(yùn)往菜市場5蔬菜數(shù)量為2800kg,運(yùn)往菜市場7蔬菜數(shù)量為8000kg,運(yùn)往菜市場8蔬菜數(shù)量為7200kg。用于蔬菜調(diào)運(yùn)及預(yù)期的短缺最小損失為11128元。感謝閱讀增加蔬菜種植面積后根據(jù)結(jié)果知增產(chǎn)的蔬菜向集散點(diǎn)C多供應(yīng)70公斤最經(jīng)濟(jì)合謝謝閱讀理。,.關(guān)鍵詞:最短路徑;floyd算法;lingo軟件;謝謝閱讀一、問題重述江平市是一個(gè)人口不到20萬人的小城市。根據(jù)該市的蔬菜種植情況,分別在菜市謝謝閱讀場(A),城鄉(xiāng)路口(B)和南街口(C)設(shè)三個(gè)收購點(diǎn),再由各收購點(diǎn)分送到全市的8謝謝閱讀個(gè)菜市場,該市道路情況,各路段距離(單位:100m)及各收購點(diǎn),菜市場①到⑧的感謝閱讀具體位置見圖1。按常年情況,A、B、C三個(gè)收購點(diǎn)每天收購量分別為250,200和感謝閱讀180(單位:100kg),各菜市場的每天需求量及發(fā)生供應(yīng)短缺時(shí)帶來的損失(元/100kg)謝謝閱讀見表1。設(shè)從收購點(diǎn)至各菜市場蔬菜調(diào)運(yùn)費(fèi)為2元/(100kg.100m)。謝謝閱讀,.圖1蔬菜供應(yīng)網(wǎng)點(diǎn)圖表1各蔬菜市場需求量表菜市場每天需求(100kg)短缺損失(元/100kg)①8010②708③905④8010⑤12010⑥708⑦1005⑧908試為該市設(shè)計(jì)一個(gè)用于蔬菜調(diào)運(yùn)及預(yù)期的短缺損失為最小的從收購點(diǎn)至各個(gè)菜市精品文檔放心下載場的定點(diǎn)供應(yīng)方案;若規(guī)定各菜市場短缺量一律不超過需求量的20%,重新設(shè)計(jì)定點(diǎn)精品文檔放心下載供應(yīng)方案;規(guī)劃增加蔬菜種植面積后增產(chǎn)的蔬菜每天應(yīng)分別向A、B、C三個(gè)采購點(diǎn)供謝謝閱讀,.應(yīng)多少最經(jīng)濟(jì)合理。二、問題分析求總的運(yùn)費(fèi)最低,可以先求出各采購點(diǎn)到菜市場的最小運(yùn)費(fèi),因?yàn)閱挝恢亓康倪\(yùn)費(fèi)感謝閱讀與距離成正比。第一問可以用Floyd算法求出最短路徑即求出各個(gè)采購點(diǎn)都菜市場的最感謝閱讀短運(yùn)輸距離,乘以單位重量單位距離的運(yùn)輸費(fèi)用就是單位重量各運(yùn)輸路線的費(fèi)用,然后謝謝閱讀用線性方法即可解得相應(yīng)的最小的調(diào)運(yùn)費(fèi)及預(yù)期短缺損失。精品文檔放心下載第二問規(guī)定各菜市場短缺量一律不超過需求量的20%,只需在第一問的基礎(chǔ)上加精品文檔放心下載上新的設(shè)定條件,就可得到新的供應(yīng)方案。第三問建立新的線性問題進(jìn)行求解。三、問題假設(shè)1、各個(gè)收購點(diǎn)、中轉(zhuǎn)站以及菜市場都可以做為中轉(zhuǎn)點(diǎn)。2、各個(gè)收購點(diǎn)、中轉(zhuǎn)站以及菜市場的最大容納量為700噸。精品文檔放心下載3、假設(shè)運(yùn)輸?shù)穆吠局惺卟藳]有任何損耗。4、假設(shè)只考慮運(yùn)輸費(fèi)用和短缺費(fèi)用,不考慮裝卸等其他費(fèi)用。感謝閱讀5、忽略從種菜地點(diǎn)到收購點(diǎn)的運(yùn)輸費(fèi)用。四、變量說明a1,b1,c1,d1,e1,f1,g1,h1a2,b2,c2,d2,e2,f2,g2,h2a3,b3,c3,d3,e3,f3,g3,h3a,b,c,d,e,f,g,h感謝閱讀

A收購點(diǎn)分送到全市的8個(gè)菜市場的供應(yīng)量B收購點(diǎn)分送到全市的8個(gè)菜市場的供應(yīng)量C收購點(diǎn)分送到全市的8個(gè)菜市場的供應(yīng)量8個(gè)菜市場的短缺損失量(100kg)謝謝閱讀五、模型建立根據(jù)問題的分析,必須得求解各采購點(diǎn)到菜市場的最短距離。如果求圖中最短路徑謝謝閱讀的話則有以下兩種解法:解法一:Dijkstra算法;解法二:Floyd(弗洛伊德)算法。謝謝閱讀以圖中的每個(gè)頂點(diǎn)作為源點(diǎn),調(diào)用Dijkstra算法。Dijkstra算法是從一個(gè)頂點(diǎn)到其余各謝謝閱讀,.頂點(diǎn)的最短路徑算法,主要特點(diǎn)是以起始點(diǎn)為中心向外層層擴(kuò)展,直到擴(kuò)展到終點(diǎn)為止。感謝閱讀Dijkstra算法簡明,可是由于它遍歷計(jì)算的點(diǎn)太多了,所說效率很低,占用運(yùn)算空間大。這里只需要求解圖中任意兩點(diǎn)之間的最短距離,所以可以使用網(wǎng)絡(luò)各點(diǎn)之間的矩陣計(jì)算法即Floyd算法。精品文檔放心下載Floyd算法的基本思想:可以將問題分解,先找出最短的距離,然后在考慮如何找出對應(yīng)的行進(jìn)路線。如何找出最短路徑呢,這里還是用到動(dòng)態(tài)規(guī)劃的知識,對于任何一個(gè)城市而言,i到j(luò)的最短距離不外乎存在經(jīng)過i與j之間的k和不經(jīng)過k兩種可能,所以可以令k=1,2,3,...,n(n是城市的數(shù)目),在檢查d(ij)與d(ik)+d(kj)的值;在此d(ik)與d(kj)分別是目前為止所知道的i到k與k到j(luò)的最短距離,因此d(ik)+d(kj)就是i到j(luò)經(jīng)過k的最短距離。所以,若有d(ij)>d(ik)+d(kj),就表示從i出發(fā)經(jīng)過k再到j(luò)的距離要比原來的i到j(luò)距離短,自然把i到j(luò)的d(ij)重寫為d(ik)+d(kj),每當(dāng)一個(gè)k查完了,d(ij)就是目前的i到j(luò)的最短距離。重復(fù)這一過程,最后當(dāng)查完所有的k時(shí),d(ij)里面存放的就是i到j(luò)之間的最短距離了。精品文檔放心下載Floyd算法的基本步驟:定義n×n的方陣序列D-1,D0,…Dn-1。初始化:D-1=C。D-1[i][j]=邊<i,j>的長度,表示初始的從i到j(luò)的最短路徑長度,即它是從i到j(luò)的中間不經(jīng)過其他中間點(diǎn)的最短路徑。迭代:設(shè)Dk-1已求出,如何得到Dk(0≤k≤n-1)。感謝閱讀Dk-1[i][j]表示從i到j(luò)的中間點(diǎn)不大于k-1的最短路徑p:i…j,考慮將頂點(diǎn)k加入路徑精品文檔放心下載得到頂點(diǎn)序列q:i…k…j,若q不是路徑,則當(dāng)前的最短路徑仍是上一步結(jié)果:Dk[i][j]=Dk-1[i][j];否則若q的長度小于p的長度,則用q取代p作為從i到j(luò)的最短路徑。因?yàn)閝的兩條子路徑i…k和k…j皆是中間點(diǎn)不大于k-1的最短路徑,所以從i到j(luò)中謝謝閱讀間點(diǎn)不大于k的最短路徑長度為:Dk[i][j]=min{Dk-1[i][j],Dk-1[i][k]+Dk-1[k][j]}。感謝閱讀,.Floyd算法實(shí)現(xiàn):可以用三個(gè)for循環(huán)把問題搞定了,但是有一個(gè)問題需要注意,那就是for循環(huán)的嵌套的順序。謝謝閱讀for(intk=0;k<n;k++)for(inti=0;i<n;i++)for(intj=0;j<n;j++)這樣作的意義在于固定了k,把所有i到j(luò)而經(jīng)過k的距離找出來,然后象開頭所提到的那樣進(jìn)行比較和重寫,因?yàn)閗是在最外層的,所以會把所有的i到j(luò)都處理完后,才會移動(dòng)到下一個(gè)k,這樣就不會有問題了,看來多層循環(huán)的時(shí)候,我們一定要當(dāng)心,否則很容易就弄錯(cuò)了。感謝閱讀接下來就要看一看如何找出最短路徑所行經(jīng)的城市了,這里要用到另一個(gè)矩陣P,它的定義是這樣的:p(ij)的值如果為p,就表示i到j(luò)的最短路徑為i->...->p->j,也就是說p是i到j(luò)的最短行徑中的j之前的最后一個(gè)城市。P矩陣的初值為p(ij)=i。有了這個(gè)矩陣之后,要找最短路徑就輕而易舉了。對于i到j(luò)而言找出p(ij),令為p,就知道了路徑i->...->p->j;再去找p(ip),如果值為q,i到p的最短路徑為i->...->q->p;再去找p(iq),如果值為r,i到q的最短路徑為i->...->r->q;所以一再反復(fù),到了某個(gè)p(it)的值為i時(shí),就表示i到t的最短路徑為i->t,就會的到答案了,i到j(luò)的最短行徑為i->t->...->q->p->j。因?yàn)樯鲜龅乃惴ㄊ菑慕K點(diǎn)到起點(diǎn)的順序找出來的,所以輸出的時(shí)候要把它倒過來。但是,如何動(dòng)態(tài)的回填P矩陣的值呢?當(dāng)d(ij)>d(ik)+d(kj)時(shí),就要讓i到j(luò)的最短路徑改為走i->...->k->...->j這一條路,但是d(kj)的值是已知的,換句話說,就是k->...->j這條路是已知的,所以k->...->j這條路上j的上一個(gè)城市(即p(kj))也是已知的,當(dāng)然,因?yàn)橐淖遡->...->k->...->j這一條路,j的上一個(gè)城市正好是p(kj)。所以一旦發(fā)現(xiàn)d(ij)>d(ik)+d(kj),就把p(kj)存入p(ij)。精品文檔放心下載,.在利用Floyd算法求出最短路徑以后,對于問題一可以建立以下lingo程序下的線精品文檔放心下載性規(guī)劃模型:MIN=(4*a1+8*b1+8*c1+19*d1+11*e1+6*f1+22*g1+20*h1+14*a2+7*b2+7*c2+16*d2+12*e2+謝謝閱讀16*f2+23*g2+17*h2+20*a3+19*b3+11*c3+14*d3+6*e3+15*f3+5*g3+10*h3+感謝閱讀10*a+8*b+5*c+10*d+10*e+8*f+5*g+8*h)*2;感謝閱讀a1+b1+c1+d1+e1+f1+g1+h1=250;感謝閱讀a2+b2+c2+d2+e2+f2+g2+h2=200;感謝閱讀a3+b3+c3+d3+e3+f3+g3+h3=180;謝謝閱讀a+b+c+d+e+f+g+h=70;a1+a2+a3+a=80;b1+b2+b3+b=70;c1+c2+c3+c=90;d1+d2+d3+d=80;e1+e2+e3+e=120;f1+f2+f3+f=70;g1+g2+g3+g=100;h1+h2+h3+h=90;End對于問題二可以建立以下lingo程序下的線性規(guī)劃模型:感謝閱讀MIN=(4*a1+8*b1+8*c1+19*d1+11*e1+6*f1+22*g1+20*h1+14*a2+7*b2+7*c2+16*d2+12*e2+感謝閱讀16*f2+23*g2+17*h2+20*a3+19*b3+11*c3+14*d3+6*e3+15*f3+5*g3+10*h3+謝謝閱讀10*a+8*b+5*c+10*d+10*e+8*f+5*g+8*h)*2;感謝閱讀a1+b1+c1+d1+e1+f1+g1+h1=250;精品文檔放心下載,.a2+b2+c2+d2+e2+f2+g2+h2=200;精品文檔放心下載a3+b3+c3+d3+e3+f3+g3+h3=180;精品文檔放心下載a+b+c+d+e+f+g+h=70;a1+a2+a3+a=80;b1+b2+b3+b=70;c1+c2+c3+c=90;d1+d2+d3+d=80;e1+e2+e3+e=120;f1+f2+f3+f=70;g1+g2+g3+g=100;h1+h2+h3+h=90;a<16;b<14;c<18;d<16;e<24;f<14;g<20;h<18;End對于問題三可以建立以下lingo程序下的線性規(guī)劃模型:感謝閱讀MIN=(4*a1+8*b1+8*c1+19*d1+11*e1+6*f1+22*g1+20*h1+14*a2+7*b2+7*c2+16*d2+12*e2+謝謝閱讀16*f2+23*g2+17*h2+20*a3+19*b3+11*c3+14*d3+6*e3+15*f3+5*g3感謝閱讀,.+10*h3)*2;a1+a2+a3=80;b1+b2+b3=70;c1+c2+c3=90;d1+d2+d3=80;e1+e2+e3=120;f1+f2+f3=70;g1+g2+g3=100;h1+h2+h3=90;a1+b1+c1+d1+e1+f1+g1+h1>250;精品文檔放心下載a2+b2+c2+d2+e2+f2+g2+h2>200;感謝閱讀a3+b3+c3+d3+e3+f3+g3+h3>180;精品文檔放心下載End六、模型求解Floyd算法的MATLAB代碼如下:function[D,path,min1,path1]=floyd(a,start,terminal)謝謝閱讀D=a;n=size(D,1)path=zeros(n,n);fori=1:nforj=1:nifD(i,j)~=infpath(i,j)=j;,.end,end,endfork=1:nfori=1:nforj=1:nifD(i,k)+D(k,j)<D(i,j)D(i,j)=D(i,k)+D(k,j);path(i,j)=path(i,k);end,end,end,endifnargin==3min1=D(start,terminal);m(1)=start;i=1;path1=[];while path(m(i),terminal)~=terminal精品文檔放心下載k=i+1;m(k)=path(m(i),terminal);i=i+1;endm(i+1)=terminal;path1=m;end根據(jù)題目網(wǎng)絡(luò)列出距離的矩陣,在MATLAB中編寫的程序代碼如下:精品文檔放心下載a=[0488infinf6infinf7inf4infinfinf;感謝閱讀,.407infinfinf5infinfinfinfinfinfinfinf;謝謝閱讀870infinfinfinfinfinf3infinfinf7inf;謝謝閱讀8infinf0inf5infinfinf5inf467inf;感謝閱讀infinfinfinf0infinfinfinfinfinfinf5infinf;謝謝閱讀infinfinf5inf0infinfinfinf673inf6;精品文檔放心下載65infinfinfinf0infinfinf75infinfinf;謝謝閱讀infinfinfinfinfinfinf011inf10infinfinf5;感謝閱讀infinfinfinfinfinfinf110infinfinf6inf10;感謝閱讀7inf35infinfinfinfinf0infinfinf6inf;感謝閱讀infinfinfinfinf6710infinf0infinfinf8;謝謝閱讀4infinf4inf75infinfinfinf0infinfinf;精品文檔放心下載infinfinf653infinf6infinfinf011inf;精品文檔放心下載infinf77infinfinfinfinf6infinf110inf;精品文檔放心下載infinfinfinfinf6inf510inf8infinfinf0]謝謝閱讀調(diào)用a,運(yùn)行結(jié)果如下:,.七、結(jié)果分析1、菜市場收購12345678量收購點(diǎn)A80406070250,.B309080200C6010020180短缺量70(100kg)此方案通過運(yùn)算結(jié)果得出用于蔬菜調(diào)運(yùn)及預(yù)期的短缺損失為10920元。謝謝閱讀2、菜市場收購12345678量收購點(diǎn)A8089270250B627464200C288072180短缺量16162018(100kg)此方案通過運(yùn)算結(jié)果得出用于蔬菜調(diào)運(yùn)及預(yù)期的短缺損失為11128元。3、菜市場收購量12345678/100k收購點(diǎn)gA80406070250B309080200C6010090180由上表看出,當(dāng)A,B兩收購點(diǎn)收購和供應(yīng)量相等,增收的7000kg由C收購點(diǎn)收感謝閱讀購,這樣下來所有的花費(fèi)會最小。,.八、參考文獻(xiàn)張志涌,楊祖櫻.MATLAB教程[M].北京:北京航空航天大學(xué)出版社,2011.精品文檔放心下載《運(yùn)籌學(xué)》教材編寫組,運(yùn)籌學(xué),清華大學(xué)出版社,2011.謝謝閱讀九、附錄1、lingo運(yùn)行結(jié)果1Globaloptimalsolutionfound.Objectivevalue:10920.00Infeasibilities:0.000000Totalsolveriterations:12VariableValueReducedCostA180.000000.000000B140.000000.000000C10.0000000.000000D10.0000004.000000E160.000000.000000F170.000000.000000G10.00000024.00000H10.00000010.00000A20.00000022.00000B230.000000.000000,.C290.000000.000000D280.000000.000000E20.0000004.000000F20.00000022.00000G20.00000028.00000H20.0000006.000000A30.00000042.00000B30.00000032.00000C30.00000016.00000D30.0000004.000000E360.000000.000000F30.00000028.00000G3100.00000.000000H320.000000.000000A0.00000026.00000B0.00000014.00000C0.0000008.000000D0.0000000.000000E0.00000012.00000F0.00000018.00000G0.0000004.000000H70.000000.000000,.RowSlackorSurplusDualPrice110920.00-1.00000020.000000-16.0000030.000000-14.0000040.000000-6.00000050.000000-2.00000060.0000008.00000070.0000000.00000080.0000000.00000090.000000-18.00000100.000000-6.000000110.0000004.000000120.000000-4.000000130.000000-14.000002、lingo運(yùn)行結(jié)果2Globaloptimalsolutionfound.Objectivevalue:11128.00Infeasibilities:0.000000Totalsolveriterations:11Variable Value ReducedCost精品文檔放心下載,.A180.000000.000000B18.0000000.000000C10.0000000.000000D10.0000004.000000E192.000000.000000F170.000000.000000G10.00000024.00000H10.00000010.00000A20.00000022.00000B262.000000.000000C274.000000.000000D264.000000.000000E20.0000004.000000F20.00000022.00000G20.00000028.00000H20.0000006.000000A30.00000042.00000B30.00000032.00000C30.00000016.00000D30.0000004.000000E328.000000.000000F30.00000028.00000G380.000000.000000,.H372.000000.000000A0.00000018.00000B0.0000006.000000C16.000000.000000D16.000000.000000E0.0000004.000000F0.00000010.00000G20.000000.000000H18.000000.000000RowSlackorSurplusDualPrice111128.00-1.00000020.000000-16.0000030.000000-14.0000040.000000-6.00000050.000000-10.0000060.0000008.00000070.0000000.00000080.0000000.00000090.000000-18.00000100.000000-6.000000110.000000

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論