數(shù)學(xué)建模所得稅交納點(diǎn)選址_第1頁
數(shù)學(xué)建模所得稅交納點(diǎn)選址_第2頁
數(shù)學(xué)建模所得稅交納點(diǎn)選址_第3頁
數(shù)學(xué)建模所得稅交納點(diǎn)選址_第4頁
數(shù)學(xué)建模所得稅交納點(diǎn)選址_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、b題:所得稅交納點(diǎn)選址所得稅管理部門計(jì)劃對某個地區(qū)中的所得稅交納點(diǎn)網(wǎng)絡(luò)進(jìn)行重新設(shè)計(jì)。圖b.1是對此地區(qū)內(nèi)的城市和主要道路的示意圖。城市旁邊的黑體數(shù)字表示城市的居民數(shù)目,單位為千人。在連接城市之間的弧上標(biāo)出了它們之間的距離,單位為千米(斜體字)。為覆蓋各個城市,所得稅管理部門決定在三個城市中設(shè)置納稅點(diǎn)。應(yīng)在哪三個城市中設(shè)置納稅點(diǎn)才能夠使居民與最近的納稅點(diǎn)之間平均距離最?。繄Db.1:此區(qū)域內(nèi)的城市和道路圖 所得稅交納點(diǎn)選址摘要隨著我國各地居民區(qū)的增加,及經(jīng)濟(jì)發(fā)展帶來的高收入,納稅成為了國家財(cái)政收入的一大部分,稅收作為國家經(jīng)濟(jì)杠桿之一,具有調(diào)節(jié)收入分配、促進(jìn)資源配置、促進(jìn)經(jīng)濟(jì)增長的作用。 納稅是國家

2、財(cái)政收入的主要來源,國家用收來的稅款發(fā)展經(jīng)濟(jì)、科技、教育、文化和國防等事業(yè)。納稅點(diǎn)選址問題屬于最佳選址問題,選址應(yīng)用非常廣泛,所得稅繳納點(diǎn)選址只是一個應(yīng)用領(lǐng)域。選址問題是一種長期決策,它的好壞直接影響到服務(wù)方式,質(zhì)量,效率,成本。能影響到利益與市場競爭力。所以選址問題有著重大的經(jīng)濟(jì)社會意義。選址問題研究的典型例如weber問題,中值問題,覆蓋問題,中心問題,多目標(biāo)選址,競爭選址,不受歡迎的選址,選址-分配,選址-路線等。隨著選址理論的發(fā)展,很多種中心選址的方法被開發(fā)出來,歸結(jié)起來主要可分為五種方法:解析方法,最優(yōu)化線性方法,啟發(fā)方法,仿真方法以及綜合因素評價法,遺傳算法,隨即分析,模糊數(shù)學(xué)分析

3、等等。關(guān)鍵詞:所得稅繳納點(diǎn) 選址 最短路徑 c+ 模型模型的符號說明 符號符號說明g賦權(quán)圖g=(v,e)v頂點(diǎn)集e鏈接g各頂點(diǎn)的邊集hi頂點(diǎn)vi的權(quán)重dxy鏈接頂點(diǎn)x和y的最短路徑模型分析建立及求解1. 模型預(yù)處理將各城市看成是圖的結(jié)點(diǎn),他們?nèi)丝跀?shù)量作為頂點(diǎn)的權(quán)重,鏈接它們的道路看成是圖中的弧,則整個地區(qū)就可以抽象成一個無向的帶權(quán)圖g。對給定一個無向帶權(quán)圖g=(v,e),其中v=v1,v2,.vn是非空頂點(diǎn)集,e=e1,e2,.en是連接g各頂點(diǎn)的邊集,hi為頂點(diǎn)vi的權(quán)重, g中的任何頂點(diǎn)a,b,dab為代表連接a點(diǎn)和b點(diǎn)最短路徑。 2. 算法描述首先,題目要求的是納稅點(diǎn)間平均距離最短,可以

4、利用floyd算法實(shí)現(xiàn)2點(diǎn)間距離最短。對于所有兩點(diǎn)之間無直接連線的,距離dab均算作正無窮(表中以代替)。對任意節(jié)點(diǎn)a,daa為0。對于所有弧c=(a,b),dab為弧長。對于任意b,c,d三個結(jié)點(diǎn),若有dcddbc+dcd;則將dbc+dcd的值賦給dcd, 具體列出v1與其他各點(diǎn)的鄰接矩陣,求出v1到各點(diǎn)的最短路徑:v1015241815022220181620180122416012241201222180152212150302520241230019192201925191902219210推廣至所有節(jié)點(diǎn),可算出對于任意x,y,dxy的最小值,也就是最短路徑。如下表所示:123456

5、789101112101537552469183348495867215022403852334842556161337220181630432820583939455401803412614624624334524381634036271224493743660523012360574212503132718334361275701545224061833482846124215030372546948422024241245300381940104055586249502237380194011586139433731402519190211267613934432261461940210

6、3. 建立模型1納稅點(diǎn)在城市a建立與否只有兩種可能,故使用0-1規(guī)劃模型xa=0表示不在城市a建立納稅點(diǎn);xa=1表示在城市a建立納稅點(diǎn)。2城市a的居民是否會到納稅點(diǎn)b納稅設(shè)置變量yabyab=0表示不會到此地納稅;yab=1表示會到此地納稅。3. 變量yab計(jì)算每個居民到最近納稅點(diǎn)的平均距離,并找出城市與納稅點(diǎn)之間的依賴關(guān)系。4應(yīng)開設(shè)n個納稅點(diǎn)使5每個城市的居民只能到一個納稅點(diǎn)交稅6最小化每個城市居民人數(shù)加權(quán)距離的總和,除以居民總?cè)藬?shù),得到每個居民到最近納稅點(diǎn)的平均距離/1857考慮到會有城市沒有分配納稅點(diǎn),增加約束條件xa=0 = yab=0,即yabxa。以上為數(shù)學(xué)模型。具體的編程思路為

7、: 此處運(yùn)用c+枚舉法,以此計(jì)算c312種情況,把每次情況選出的三個點(diǎn)和其他它點(diǎn)最短路與每點(diǎn)的人數(shù)相乘,然后疊加,最后除以總?cè)藬?shù)得出平均距離,取平均距離中最小的即為結(jié)果輸出。最短路徑運(yùn)用floyd算法上面算法部分已闡述。賦權(quán)圖用鄰接表存儲,避免了鄰接矩陣存儲大量0及正無窮消耗大量的空間。4. 程序?qū)崿F(xiàn)#include using namespace std;const int infinite=10000;class edgepublic:int from,to,weight;edge()from=-1;to=-1;weight=0;edge(int f,int t,int w)from=f;

8、to=t;weight=w;bool isedge(edge oneedge)if(oneedge.weight0&oneedge.to=0)return true;else return false;class graphpublic:int numvertex;int numedge;int *mark;int *indegree;graph(int numvert)numvertex=numvert;numedge=0;indegree=new intnumvertex;mark=new intnumvertex;for(int i=0;i0&oneedge.to=0)return tr

9、ue;else return false;/用鄰接表存儲圖struct listunitint vertex;int weight;template class linkpublic:t data;link *next;link(t ele,link *nextvalue=null)data=ele;next=nextvalue;link(link *nextvalue=null)next=nextvalue;template class llistpublic:link *head;llist()head=new link();class graphl:public graphprivate

10、:llist *gralist;public:graphl(int numvert);graphl()delete gralist;edge firstedge(int onevertex);edge nextedge(edge preedge);bool setedge(int from,int to,int weight);graphl:graphl(int numvert):graph(numvert)gralist=new llistnumvertex;edge graphl:firstedge(int onevertex)edge myedge;myedge.from=onevert

11、ex;link *temp=gralistonevertex.head;if(temp-next!=null)myedge.to=temp-next-data.vertex;myedge.weight=temp-next-data.weight;return myedge;edge graphl:nextedge(edge preedge)edge myedge;myedge.from=preedge.from;link *temp=gralistpreedge.from.head;while(temp-next!=null&temp-next-data.vertexnext;if(temp-

12、data.vertex=preedge.to&temp-next!=null)myedge.to=temp-next-data.vertex;myedge.weight=temp-next-data.weight;return myedge;bool graphl:setedge(int from,int to,int weight)link *temp=gralistfrom.head;while(temp-next!=null&temp-next-data.vertexnext;if(temp-next=null)temp-next=new link;temp-next-data.vert

13、ex=to;temp-next-data.weight=weight;numedge+;indegreeto+;return true; if(temp-next-data.vertex=to)temp-next-data.weight=weight;return false;if(temp-next-data.vertexto)link *other=temp-next;temp-next=new link;temp-next-data.vertex=to;temp-next-data.weight=weight;temp-next-next=other;numedge+;indegreet

14、o+;return true;void creategraph(graphl *g,int nv)int i;int ne;int tail,head,weight;docoutne;if(ne=0)break;else cout輸入錯誤 弧的數(shù)目應(yīng)在0-nv*(nv-1)/2之間(nv*(nv-1)/2);cout請分別輸入每條弧的弧尾 弧頭 權(quán)值endl;for(i=0;ine;i+)cout第i+1tail;cinhead;cinweight;if(tailnv|headnv|head=tail)cout輸入無效 請重新輸入setedge(tail-1,head-1,weight)=fa

15、lse|g-setedge(head-1,tail-1,weight)=false)cout改變了已有弧的權(quán)值endl;i-;continue;cout創(chuàng)建成功numvertex;for(i=0;inumvertex;i+)di=new distg-numvertex;for(i=0;inumvertex;i+)for(j=0;jnumvertex;j+)if(i=j) dij.length=0;dij.pre=i;elsedij.length=infinite;dij.pre=-1;for(v=0;vnumvertex;v+)for(edge e=g-firstedge(v);g-isedg

16、e(e);e=g-nextedge(e)dve.to.length=e.weight;dve.to.pre=v;for(v=0;vnumvertex;v+)for(i=0;inumvertex;i+)for(j=0;jnumvertex;j+)if(dij.length(div.length+dvj.length)dij.length=div.length+dvj.length;dij.pre=dvj.pre;coutendl每對頂點(diǎn)之間的最短路徑矩陣:endl;for(i=0;inumvertex;i+)for(j=0;jnumvertex;j+)if(dij.length10) coutd

17、ij.length ;else coutdij.length ;coutendl;coutendl交稅點(diǎn)分配示意:numvertex;dist *allc=new distg-numvertex;int pop=0;for(i=0;inumvertex;i+)pop=pop+populationi;for(i=0;inumvertex;i+)alli.index=i;alli.length=infinite;alli.pre=0;allci.index=i;allci.length=infinite;allci.pre=0;for(v=0;vnumvertex;v+)for(i=v+1;inu

18、mvertex;i+)for(j=i+1;jnumvertex;j+)temp=0;for(k=0;knumvertex;k+)if(dkv.length=dki.length)allk.length=dkv.length;allk.pre=v;elseallk.length=dki.length;allk.pre=i;if(dkj.lengthallk.length)allk.length=dkj.length;allk.pre=j;for(k=0;knumvertex;k+)temp=temp+allk.length*populationk;if(sumtemp) sum=temp;for(k=0;knumvertex;k+)allck.length=allk.length;allck.pre=allk.pre;for(k=0;knumvertex;k+)coutk+1 ;coutendl;for(k=0;knumve

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論