Математическое моделирование устойчивого развития туризма (1142419), страница 16
Текст из файла (страница 16)
С улучшением инфраструктуры (Inf) риски снижаются, инвестиции (InvP) увеличиваются (перваяпроизводная триплета положительна). Темпы роста инвестиций с развитием инфраструктуры снижаются(вторая производная триплета отрицательна).111Продолжение таблицы В.1С улучшением туристического имиджа региона (Image) частные инвестиции в туристический комплекс Triplet (Image,InvP)=(+ + 0)(InvP) увеличиваются (первая производная триплета положительна).
Зависимость линейная (втораяпроизводная триплета равна нулю).Туристический имидж региона влияет на количество туристов в регионе, поэтому при улучшении имиджа Triplet (Image,Profit)=(+ + 0)региона (Image) повышается рентабельность туристического комплекса (Profit) (первая производнаятриплета положительна).
Зависимость линейная (вторая производная триплета равна нулю).Рентабельность туристического комплекса (Profit) характеризует эффективность его функционирования, Triplet (Profit,InvP)=(+ + 0)поэтому влияет на успешность привлечения частных инвестиций (InvP) (первая производная триплетаположительна).
Зависимость линейная (вторая производная триплета равна нулю).Объем государственных инвестиций на охрану окружающей среды (InvSE) улучшает экологию в регионе Triplet (InvSE,Eco)=(+ + 0)(Eco) (первая производная триплета положительна). Зависимость линейная (вторая производная триплетаравна нулю).Развитие инфраструктуры (Inf) (строительство дорог, гостиниц и т.д.) наносит ущерб экологии региона (Eco) Triplet (Inf,Eco)=(+ - +)(первая производная триплета отрицательна). С ростом инфраструктуры (Inf) темпы ухудшения экологии(Eco) замедляются (вторая производная триплета отрицательна).Социальный комфорт (Social) увеличивается с ростом государственных инвестиций в туристический Triplet (InvST,Social)=(+ + -)комплекс (InvST) (первая производная триплета отрицательна).
Темпы роста социального комфорта с ростомгосударственных инвестиций снижаются (вторая производная триплета отрицательна).Социальный комфорт (Social) увеличивается, если прибыльность туристической отрасли (Profit) растет Triplet (Profit,Social)=(+ + -)(первая производная триплета отрицательна). Темпы роста социального комфорта с ростом прибыльностиснижаются (вторая производная триплета отрицательна).Источник: разработано автором.Примечание: первая компонента во всех триплетах – положительна, так как отражает знак переменной.
Все переменныев модели – положительные.112Приложение Г(справочное)Этапы квалитативного моделирования и их реализацияЭтап 1. Идентификация переменныхмоделиРеализацияЭтап 2. Определение квалитативныхвзаимозависимостей междупеременнымиРеализацияЭтап 3. Определение всехвозможных сценариев системыРеализацияЭтап 4. Построение графавозможных переходов системыРеализацияЭтап 5. Интерпретация и анализграфаРеализацияИсследовательИсследовательПрограммный продуктПрограммный продуктИсследовательРисунок Г.1 - Этапы квалитативного моделирования и их реализацияИсточник: разработано автором.113Приложение Д(справочное)Программный код алгоритма квалитативного моделированияСинтаксис для поиска всех возможных сценариев модели# подключаем пакеты или скачиваемif(!require(excel.link)) {install.packages("excel.link")library(excel.link)}options(stringsAsFactors=FALSE)library(igraph)state.levels=c(-1,0,1)all.states=expand.grid(state.levels,state.levels,state.levels)all.states=expand.grid(1,state.levels,state.levels)all.states=as.list(as.data.frame(t(all.states)))all.states=lapply(all.states,function(single.state){names(single.state)=c('x','dx','ddx');single.state})states=sapply(all.states,function(single.state)paste(factor(single.state,levels=state.levels,labels=c('-','0','+')),collapse=""))names(all.states)=statesrule.values=c(-1,0,1,NA)all.rules=expand.grid(rule.values,rule.values,rule.values)all.rules=as.list(as.data.frame(t(all.rules)))names(all.rules)=sapply(all.rules,function(single.rules)paste(factor(single.rules,levels=rule.values,labels=c('','0','+','*'),exclude=NULL),collapse=""))114value=function(rule,x)# по заданному правилу и независимой переменной вычисляет значение{rule[1]*x[1]}first.derivative=function(rule,x)# по заданному правилу и независимой переменной вычисляет первуюпроизводную{arg=rule[2]res=x[2]if (is.na(arg)) return(NA)if (arg<0) return(-res)if (arg>0) return(res)0}second.derivative=function(rule,x)# по заданному правилу и независимой переменной вычисляет вторуюпроизводную{indep1=x[2]indep2=x[3]first=rule[2]second=rule[3]*abs(indep1)if (is.na(second)) return(NA)if (second>0){res=first*indep2115if (is.na(res)) return(NA)if (res>0) return(1)if (res<0) return(NA)return(1)}if (second<0){res=first*indep2if (is.na(res)) return(NA)if (res<0) return(-1)if (res>0) return(NA)return(-1)}# if (second==0)res=first*indep2if (is.na(res)) return(NA)if (res<0) return(-1)if (res>0) return(1)0}compute.triplet=function(rule,x)# рассчитывает триплет целевой переменной по заданному правилу и исходнымданным{c(value(rule,x),first.derivative(rule,x),second.derivative(rule,x))}check.rule=function(rule,x,y)116# принимает правило и значения связанных переменных# возвращает TRUE, если правило соблюдается{res=compute.triplet(rule,x)all(res==y,na.rm=TRUE)}make.rules=function(temp)# конвертирует матрицу с переменными и правилами в список{temp=matrix(temp,ncol=3,byrow=T)indeps=unique(temp[,1])res=lapply(indeps,function(indep){res=temp[temp[,1]==indep,3]names(res)=temp[temp[,1]==indep,2]res})names(res)=indepsres}check.all.rules=function(current.state,lst.rules)# проверяет все правила для вектора (имена вектора - названия переменных)# возвращает TRUE, если все они выполняются и FALSE в противном случае{curr.state.names=names(current.state)# print(curr.state.names)all(sapply(names(lst.rules)[names(lst.rules) %in% curr.state.names], function(x) {117all(sapply(names(lst.rules[[x]])[names(lst.rules[[x]]) %in%curr.state.names],function(y){curr.rule=all.rules[[lst.rules[[x]][[y]]]]curr.x=all.states[[current.state[x]]]curr.y=all.states[[current.state[y]]]check.rule(curr.rule,curr.x,curr.y)}))}))}transitions=list('+++'=c('++0'),'++0'=c('+++','++-'),'++-'=c('++0','+0-','+00'),'+0+'=c('+++'),'+00'=c('+++','+--'),'+0-'=c('+--'),'+-+'=c('+-0','+0+','+00','0-+','00+','000','0-0'),'+-0'=c('+-+','+--','0-0'),'+--'=c('+-0','0--','0-0'),'0++'=c('++0','++-','+++'),'0+0'=c('++0','++-','+++'),'0+-'=c('++-'),'00+'=c('+++'),'000'=c('+++','---'),'00-'=c('---'),'0-+'=c('--+'),'0-0'=c('--0','--+','---'),118'0--'=c('--0','--+','--'),'-++'=c('-+0','0++','0+0'),'-+0'=c('-+-','-++','0+0'),'-+-'=c('-+0','-0-','-00','0+-','00-','000','0+0'),'-0+'=c('-++'),'-00'=c('-++','---'),'-0-'=c('---'),'--+'=c('--0','-0+','-00'),'--0'=c('---','--+'),'---'=c('--0'))can.transit=function(x,y,transition.table=transitions){all(mapply(function(x,y) any(x %in% y),transition.table[x],y) | x==y)}## Описание моделиraw.rules=scan(what="character",sep=",")InvP,WinterT,++InvST,Infr,++WinterT,Image,++Infr,InvP,++Image,InvP,++0Image,Profit,++0Profit,InvP,++0Infr,Eco,+-+InvSE,Eco,++0InvST,Social,++-119Profit,Social,++-# перед этой строкой обязательно должна быть пустая строкаvars=sort(unique(raw.rules[c(TRUE,TRUE,FALSE)]))varsrules=make.rules(raw.rules)### все возможные комбинации сценариевdfs=matrix(states)colnames(dfs)=vars[1]for (each.var in seq_along(vars)[-1]){cat("Количество решений:",NROW(dfs), '.
В модель вводится переменная:',vars[each.var],"\n")flush.console()list.dfs=lapply(states,function(each.state) {dfs=cbind(dfs,each.state)colnames(dfs)[each.var]=vars[each.var]dfs})dfs=do.call(rbind,list.dfs)valid=apply(dfs,1,function(x) check.all.rules(x,rules))dfs=dfs[valid,,drop=FALSE]}NROW(dfs)dfs # результатСинтаксис для построения ориентированного графа возможных переходовpossible.transitions=NULLfor (from in 1:NROW(dfs))120for(to in 1:NROW(dfs)){if (from!=to)if (can.transit(dfs[from,],dfs[to,]))possible.transitions=rbind(possible.transitions,c(from,to))}gr =graph.edgelist(possible.transitions,directed=TRUE)labs=sort(unique(c(possible.transitions)))tknum=tkplot(gr,vertex.label=labs,layout=layout.reingold.tilford)coord=tkplot.getcoords(tknum)coord[,2]=coord[,2]plot(gr,vertex.label=labs,edge.lty=2,edge.arrow.size=0.1,edge.arrow.width=1,vertex.label.cex=1.1,layout=coord)Источник: разработано автором.121Приложение Е(справочное)Исходные данные модели PLS-PMТаблица Е.1 - Исходные данные модели PLS-PM за период 1988-2012 гг.Год1988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012Гос.
доходы закоммунальныеуслуги, млн.долл.374450586269758595108120136155164189192218214260284285256239257298Фонд заработнойплаты туриндустрии,млн. долл.Налоговые поступленияот туриндустрии, млн.долл.Стоимостьжилья,долл.Общий объемпотребляемой воды,млрд.
галлоновУровеньбезработицы,%Кол-во рабочих мест втуриндустрии, млн.чел.Количествобедных семей,тыс. шт.202218152066210722682391249926012707326734953609395440483559360836363751386540244182390739964192439112615216016320422023024525928136239540039840041843746149652954251054456157959626570747883879195100104108112116121125129133137141145149154158888999999101010111111121212131313131414143,63,54,25,864,94,44,34,33,63,53,23,65,56,76,55,55,24,84,76,310,610,610,59,5147137144148146149156161165180183188195196182183182185187190190183183188193181180180182183185187188190191193195196204212220228236244252260267275262266122Продолжение таблицы Е.1ГодДоля рабочихмест втуриндустрии, %19881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120124,64,24,44,54,44,44,54,74,64,95,05,04,94,94,74,64,54,54,44,44,54,54,64,54,5Расходыкоммунальныхслужб, млн.долл.71848096928984103111135164165169203251258232323275331352375301287362Госрасходы наэкономическоеразвитие, млн.долл.738386869499109129134141156192205254306301253298316321366363323348390Госрасходы насоциальные услугидля населения, млн.долл.60875984686696210671143134914041516165017861977202020492169222423472411239825372610249424852883Госрасходы на охрануобщественнойбезопасности, млн.долл.3233834444975506486657497858408899811109116912071279137915101664182719882116204821362151Госрасходы на охрануокружающей среды,млн.
долл.Количество детей,получающих субсидиина лечение, тыс. чел.89981121391311491802122032462902852893193102763173253583473943894053934371681561441321802285644443727449849841140120011161176117611521152114011161128110411161104Источник: Log Into North Carolina (Статистика Северной Каролины) [Электронный ресурс] // North Carolina Office of StateBudget and Management. - Режим доступа: http://data.osbm.state.nc.us/pls/linc/dyn_linc_main.show (дата обращения:15.10.2014 г.).123Приложение Ж(справочное)Этапы моделирования PSL-PM и их реализацияЭтап 1. Идентификация переменныхмодели, поиск статистикиРеализацияЭтап 2. Построение исходноймодели для исследованияРеализацияЭтап 3.















