国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Agent 的單體民用建筑智能方案設(shè)計

2014-11-18 13:04:02李云豐
山西建筑 2014年19期
關(guān)鍵詞:流線方案設(shè)計樓層

徐 欣 李云豐

(1.中國礦業(yè)大學(xué)(北京)力學(xué)與建筑工程學(xué)院,北京 100000;2.浙江廣川工程咨詢有限公司臺州分公司,浙江 臺州 318000)

人工智能是個涉及多學(xué)科的綜合技術(shù),它在眾多領(lǐng)域得到了廣泛的應(yīng)用。房屋建筑設(shè)計領(lǐng)域在結(jié)構(gòu)計算方面早已實現(xiàn)智能化,但在方案設(shè)計方面,離智能化的要求還很遠。Minsky 于1986年出版了《思維的社會》一書,提出了Agent 的思想。Minsky 認為社會中的個體Agent 經(jīng)過協(xié)議可求得某些問題的解,個體具有社會交互性和智能性等特點。從此,Agent 的概念被引入人工智能和計算機領(lǐng)域,并逐漸成為研究熱點。方案設(shè)計是建筑設(shè)計的重要階段,在建筑物的整體設(shè)計中至關(guān)重要。將Agent 引入方案設(shè)計流程、設(shè)計過程智能化是計算機輔助建筑設(shè)計領(lǐng)域一項創(chuàng)新的工作。

1 方案設(shè)計前期準備工作

1.1 經(jīng)需要甲方提供的資料

用地紅線圖、原始地形圖、相應(yīng)區(qū)域城市規(guī)劃圖、規(guī)劃要點、各地政府的相關(guān)規(guī)定、城市規(guī)劃管理條例等,甲方提供的設(shè)計任務(wù)書(涉及到具體的設(shè)計內(nèi)容、設(shè)計方向、出圖深度、時間控制等)、用地批文。

1.2 設(shè)計師相應(yīng)的準備工作

明確相關(guān)設(shè)計的一些規(guī)范及防火規(guī)范;在場地、單體設(shè)計上有何約束;根據(jù)設(shè)計任務(wù)書明確建筑的定位、把握大的設(shè)計方向;將建筑用地根據(jù)不同情況分類,明確優(yōu)勢劣勢;根據(jù)規(guī)劃要點及設(shè)計任務(wù)書測算建筑規(guī)模;根據(jù)甲方的進度要求及工作量擬定工作時間表,時間表上應(yīng)留出必要的審圖時間,甲方配合的時間則較為機動;收集整理相應(yīng)的參考資料。場地設(shè)計可在地理信息系統(tǒng)中運用Agent 進行仿真優(yōu)化,本文探討的是建筑單體設(shè)計中結(jié)合建筑信息初步模型的創(chuàng)建如何運用Agent 實現(xiàn)智能設(shè)計。

2 Agent 與單體民用建筑的智能設(shè)計

2.1 Repast 的運用

本文運用Agent 的主流軟件之一Repast 來實現(xiàn)單體民用建筑的智能設(shè)計。Repast 建立方案設(shè)計建筑信息模型(PDBIM)相當于設(shè)計一個狀態(tài)機,該機的核心狀態(tài)是PDBIM 中所有成員的集體狀態(tài)屬性集合。成員則分為底層結(jié)構(gòu)和表層結(jié)構(gòu)。Repast 一共有數(shù)百個類,封裝在11 個庫中,本文對幾個主要的類庫進行擴充:Analysis 庫通過使用DataRecorder 類進行數(shù)據(jù)分類整理和挖掘;Engine 庫負責(zé)建立、操縱和運行PDBIM,simModel 接口是Repast 中所有模型的超類,庫中包含的控制類負責(zé)通過圖形用戶界面處理氣泡圖,時序表及相關(guān)行為類主要用來改變模型中的狀態(tài);GUI 庫有對圖形界面顯示的快照功能以及制作模型運行的活動錄像,多個Display 類與Space 空間庫中的類協(xié)同工作,把空間位置關(guān)系的抽象和空間關(guān)系的顯示分離出來,可以針對不同建筑空間特征設(shè)計不同的可視化顯示方案;Network 庫包括實現(xiàn)網(wǎng)絡(luò)仿真的類,各種特殊定義的可記錄網(wǎng)絡(luò)數(shù)據(jù)的記錄類;Space 庫主要包括創(chuàng)建氣泡—房間空間關(guān)系的類,研究多個Agent 在一定空間內(nèi)的活動使用網(wǎng)格空間,網(wǎng)格空間被劃分成許多氣泡(cell),其中每個氣泡可以同時容納一個或多個Agent,并按照方案設(shè)計規(guī)則,網(wǎng)格的狀態(tài)不斷發(fā)生變化。

2.2 可視化的實現(xiàn)

進行單體建筑方案設(shè)計之初,進行功能氣泡分析,實質(zhì)是創(chuàng)建一個動態(tài)的可視網(wǎng)絡(luò)圖。先用RasterSpace 類,表現(xiàn)出PDBIM數(shù)據(jù)分樓層的二維網(wǎng)格,用Object2DGrid 類描述離散的二維網(wǎng)格。通過這兩個類的配合使用,對象的邏輯上的移動在RasterSpace 上進行,而視覺上的移動則在Object2DGrid 上來實現(xiàn)。PBBIM 樓層信息需用到特定規(guī)則的一個流數(shù)據(jù)文件,通過標記來識別出文件中的一些相關(guān)信息。

用二維矩陣行列分別對應(yīng)著上面的nrows 和ncols,矩陣中的每一個值都代表著特定的信息,這些值將在功能氣泡分析的過程中起著重要的作用,可以使用不同的值去代表約定的一些特定信息和性質(zhì)。使用數(shù)字0 代表不可通行的結(jié)構(gòu)部分,使用數(shù)字2 代表樓層內(nèi)的樓梯和電梯,使用其他數(shù)字代表可以行走的通道,1 代表一般的走廊,56x(x 代表任意數(shù)字)代表逗留,70x(x 代表任意數(shù)字)代表各個房間的門。Cx(x?1~3)代表各個房間的窗,x(x?4~7)代表單體建筑各方向的入口等等,任何想要用到的標識信息都可以簡化為數(shù)字來代表加入到這個代表樓層信息的矩陣中,功能氣泡的分析過程,實質(zhì)是逐步深化這個樓層信息矩陣的過程。

2.3 功能氣泡圖分析的運行過程

在開始運行PDBIM 后,系統(tǒng)初始化,首先調(diào)用begin()函數(shù),通過buildSchedule()方法設(shè)置好模型的時鐘機制schedule,控制模型在之后的時刻按照這個schedule 進行相應(yīng)的方法調(diào)用和操作,然后,開始建立具體的氣泡,此時執(zhí)行buildModel()方法,在這個方法里涉及到了初始化模型內(nèi)包括的所有對象,包括氣泡對象、流線對象、人對象,還有代表地塊的容器對象和樓層的點陣點對象等等。完成了模型的初始化之后,創(chuàng)建顯示機制,采用了首先將需要創(chuàng)建顯示的對象加入一個可供維護及更新用的各自的對象列表即ArrayList,然后將這些對象列表通過DisplaySurface 類的addDisplayable()方法將這些對象列表按特定順序依次加入到顯示界面中,然后通過實時同步的刷新列表對象顯示,達到動態(tài)的顯示各對象行為的效果。此處addDisplayableProbeable()創(chuàng)建可點擊性(Probeable),當點擊這些對象時,將會返回一個彈出窗口,里面將會列出該對象相關(guān)的一些參數(shù)狀態(tài)信息。在初始化模型成功之后,當單擊運行按鈕時,PDBIM 的功能分析便開始執(zhí)行了。仿真按照既定的schedule 來執(zhí)行,schedule 通過不停的調(diào)用step 方法來實現(xiàn)PDBIM 的分析運行。在模型主類PDBIMModel 中的step()方法中通過向下調(diào)用各個對象的step()方法來實現(xiàn)對所有對象的模擬運行。在step()方法的末尾一句是用于更新顯示的:DisplaySurface.updateDisplay(),通過執(zhí)行這一句話在每一步各對象的行為改變后對顯示進行更新可以實現(xiàn)動態(tài)的顯示模擬。

3 設(shè)計仿真運行中所包含的具體對象

3.1 Person,PersonContainer,PersonFactory

Person 類即使用建筑的人物類,見圖1,主要是對移動行為進行模擬的類,也可以通過對參數(shù)的不同設(shè)定模擬出不同種類的人群,每一個Person 對象都包含了大量的信息,每一個Person 都必須對自己的狀態(tài)有一個完整的維護,例如此時是否在某個Babble、是否遭遇擁堵以及自己的移動策略等。Person 類擁有自己的step()方法供上一層對象調(diào)用,在這個step()方法中,包括了根據(jù)當前Person 的狀態(tài)來決定這一步應(yīng)該執(zhí)行的動作,例如Person 當前的狀態(tài)是行走,則執(zhí)行Person 的move()方法來對Person 進行移動,如果當前狀態(tài)是正處于房間內(nèi)逗留的狀態(tài),則執(zhí)行Person的stay()方法,使Person 在自己所位于的房間范圍內(nèi)自由的移動。

PersonFactory 類即控制產(chǎn)生所需要產(chǎn)生的人物類,通過在此類中調(diào)用Person 類的構(gòu)造方法同時賦予不同的參數(shù)值,例如需要構(gòu)造的人物年齡、性別等性質(zhì),可以構(gòu)建出一系列具體的構(gòu)造方法,例如creatPerson(),creatOldPerson(),creatChild()等等方法可以分別構(gòu)造出普通成年人、老人和小孩。一般情況下是在Person-Container 里面初始化人物對象時或者在分析期間加入新的人物對象時用到此類,該類和即將提到的PersonContainer 類都采用了單實例的構(gòu)造方法,防止冗余對象的產(chǎn)生,也便于程序的管理。

PersonContainer 類負責(zé)對眾多Person 類對象進行系統(tǒng)的調(diào)度和管理。此類主要維護了兩類Person 的List,在初始化時,利用PersonFactory 類的構(gòu)造方法初始化人群并且加入到PersonList 列表中。在這個類中還有一個負責(zé)統(tǒng)計人物狀態(tài)信息的方法countTheAgents(),可以統(tǒng)計各樓層內(nèi)的人數(shù),各Babble 內(nèi)人數(shù)等。該類的step()方法調(diào)用每一個進入到Babble 的Person 的step()方法,實現(xiàn)人物的各種行為。

圖1 主要對象關(guān)系圖

3.2 Babble,BabbleFactory,BabbleContainer

Babble 類即氣泡類,非常具體地可以將樓層內(nèi)的每個房間看作是一個氣泡。氣泡類的功能是實現(xiàn)對一個Babble 的分裂、合并、控制,并且每一個Babble 都擁有自己的功能和面積,在設(shè)計仿真運行時,建筑物對每一個Person 的出入時間都隨機指定。Babble 類內(nèi)部自帶一個統(tǒng)計內(nèi)部逗留Person 數(shù)目的計數(shù)器,當一個Person 進入這個Babble 時,該計數(shù)器加1,反之該計數(shù)器減1,可以達到統(tǒng)計人數(shù)的目的,同時每一個Babble 又有一個自身的可容納的最大Person 數(shù)量。在創(chuàng)建PDBIM 視圖時,將這個計數(shù)器和最大容量都顯示在Babble 標志的附近,便于觀察。為了實現(xiàn)Babble 的人數(shù)分級顯示功能,PDBIM 采用了讓Babble 的標志圖片在所含有人數(shù)不同時顯示不同的標志,達到動態(tài)圖片提示的目的,相似的還可以加入聲音提示功能。

BabbleFactory 類就是用于產(chǎn)生Babble 的類,通過這個類可以產(chǎn)生出擁有各種各樣不同功能的氣泡。BabbleContainer 類,相似的是用作管理氣泡的類,由于和Babble 的區(qū)別,該類主要是有一個用于初始化Babble 列表的方法initBabble(),用于完成對一系列Babble 的初始化。

3.3 Streamline,StreamlineFactory,StreamlineContainer

Streamline 類即Person 行走形成的軌跡,智能方案設(shè)計體現(xiàn)在流線和氣泡的產(chǎn)生和調(diào)整上。方案設(shè)計之初用一個大Babble代表整個單體建筑,然后按樓層分為若干個floorBabble,相應(yīng)產(chǎn)生上下垂直交通流線。某樓層Babble 按建筑類型又進一步分裂,比如對內(nèi)Babble、對外Babble 以及兩者結(jié)合的Babble,對內(nèi)Babble又可分為管理人員用氣泡、普通人員用氣泡和后勤人員用氣泡,氣泡依據(jù)功能的細化進一步分解,相應(yīng)的流線生成都通過StreamlineFactory 產(chǎn)生。氣泡和出入口之間一個Person 的行走軌跡,必須初始化以下參數(shù):軌跡起止點所位于的位置、軌跡的寬度、Person 的通行節(jié)點、流線的類型以及流線的ID 號。在該類中加入了用于方便設(shè)置流線參數(shù)的方法setStreamlineParameter()可以方便的更改軌跡參數(shù)如起止點、寬度和節(jié)點。軌跡的產(chǎn)生利用的是迷宮算法(path 類),迷宮算法有這樣的一個功能:在一個二維矩陣空間中,一旦約定了代表可以通行的數(shù)據(jù)值,給定一個起始點和一個目的點,它能夠自動的尋找出一條通行路線。這樣的設(shè)計給流線調(diào)整提供了方便,可以通過隨機產(chǎn)生的情況得到對應(yīng)的解決策略,然后實時的獲取正確的一條線路,可以繞開不想去的區(qū)域以及人員擁堵的節(jié)點。所有Person 行走軌跡形成Streamline,該類擁有自己的step()方法供上一層對象調(diào)用,在這個step()方法中,調(diào)用了Streamline 的移動方法moveByPoint(),即根據(jù)一條既定的路線點鏈表進行移動。通過setStreamlineParameter()方法賦予Person 一條線路,將會把這條線路包括的一系列點通過一個List 對象傳給Person,然后在move()方法中按照先后順序依次走完list 中的每一個點,達到所有Person 行走的軌跡形成流線的目的。StreamlineContainer 類是一個比較重要的類,它主要負責(zé)管理流線的整體評價問題。評價邏輯采用不同類型流線交叉度和流線臃腫度相結(jié)合的策略,根據(jù)交叉節(jié)點的分布情況實時的調(diào)整出入口的分配策略,達到消除擁堵和方便交通的目的。對建筑物的出入口進行初始化,即initEntranceandExit()方法,將每類Person具體的初始化到各自的出入口,隨著具體的Person 在建筑物內(nèi)行走,流線形成。

3.4 其他重要對象

Point 類是用于代表某樓層中的任意一個點,它本身包含了其自身的坐標信息,主要用于輔助Path 類對最優(yōu)路徑的求解。

Path 類是用于自動生成兩個點之間的路徑,可以運用迷宮算法、蟻群算法等智能算法來實現(xiàn),Path 類包括一個主要的方法go()方法,該方法的參數(shù)是一個起始點和一個終止點,返回值是一個包含諸多Point 類對象的列表。列表中的對象Point 按照先后順序排列,形成的是一條可行的路徑。

StructureandRoom 類用于記錄墻、柱等結(jié)構(gòu)的位置和結(jié)構(gòu)圍合成的房間,由Babble 生成。StructureandRoomContainer 類用于維護一個StructureandRoom 類的列表,里面可以有多個Structureand-Room 類對象。

passageway 類用于記錄走廊等通行空間的位置,由Streamline生成。passagewayContainer 類用于維護一個passageway 類的列表,里面可以有多個passageway 類對象。

SiteandFloor 類是用于向PDBIM 中導(dǎo)入場地和樓層信息的類,該類里面提供了初始化場地和樓層信息的方法,方法里使用到了兩個類:1)Object2DGrid 類,該類用于生成一個二維網(wǎng)格型的空間,在PDBIM 中起到像素化的模擬出地面和樓層的作用;2)RasterSpace 類,該類可以處理特定的文本文件,這種文本文件內(nèi)包含的場地樓層信息一般與SiteandFloor 對象有著關(guān)聯(lián)。當該初始化方法成功執(zhí)行后,場地和樓層信息便成功導(dǎo)入到PDBIM 中,Person,Streamline,Babble 類等就可以按照方案設(shè)計流程進行互動式操作。

4 結(jié)語

智能方案設(shè)計的過程就是氣泡分裂,流線生成與調(diào)整,氣泡再分裂,流線細化與調(diào)整,直至最后將氣泡變?yōu)橐粋€個具體的房間,流線變?yōu)橐粋€個具體的廳廊、樓梯、坡道,相應(yīng)生成建筑主體結(jié)構(gòu),按房屋制圖標準成圖,從而完成方案設(shè)計的智能化、實時的互動優(yōu)化設(shè)計和方案評價的全部內(nèi)容。設(shè)計過程智能化是計算機輔助建筑設(shè)計領(lǐng)域一項創(chuàng)新的工作,進一步實現(xiàn)了建筑信息模型的動態(tài)調(diào)整和功能優(yōu)化,縮短了設(shè)計時間,提高了設(shè)計效率。

[1]Jiming Liu.多智能體原理與技術(shù)[M].北京:清華大學(xué)出版社,2003.

[2]Russell S,Norving P.Articicial Intelligence:A modern Approach[M].Pretice Hall.1995.

[3]Shoham Y,Tenenholtz M.Agent-Oriented Programming[J].Artificial Intelligence,Elsevir Science Publisher B,1993(60):51-92.

[4]Manuel Kolp,Paolo Giorgini,John Mylopoulos.Multi-agent architectures as organizational structures[J].Journal of Autonomous Agent and Multi-Agent System,2006,13(2) :3-25.

[5]Nicholas R,Jennings,Michael.Wooldridge.Agent-Oriented Software Engineering[M].Bradshaw J,editor,Handbook of Agent Technology.AAAI/MIT Press.2002.

[6]方美琪,張樹人.復(fù)雜系統(tǒng)建模與仿真[M].北京:中國人民大學(xué)出版社,2011.

[7]Conor,Brendan Ward.Brian Henderson-Sellers.Utilizing Dynamic Roles for Agents[J].Journal of Object Technology,2009,8(3) :177-198.

[8]David V Pynadath,Milind Tanbe.An Automated Teamwork Infrastructure for Heterogeneous Software Agents and Humans[J].Autonomous Agents and Multi-Agent Systems,2003,7(2) :71-100.

[9]Abdelaziz T,Elammari M,Unland R.MASD:Multi-agent systems development methodology[J].Journal Multiagent and Grid Systems,2010,6(3) :68-99.

猜你喜歡
流線方案設(shè)計樓層
利用樓層廢水勢能的發(fā)電裝置
100MW光伏車間自動化改造方案設(shè)計
智能制造(2021年4期)2021-11-04 08:54:28
方案設(shè)計在建筑設(shè)計中的重要性與應(yīng)用
一種快速固定夾具的方案設(shè)計
幾何映射
電梯的升與降
讀者(2019年2期)2019-01-05 09:09:44
自動扶梯樓層板周邊環(huán)境的安全防護
任意夾角交叉封閉邊界內(nèi)平面流線計算及應(yīng)用
方案設(shè)計我做主
樓層數(shù)影響下的樓板有效寬度研究
鹤峰县| 桂林市| 基隆市| 巴林左旗| 文成县| 大田县| 林周县| 明水县| 泾阳县| 喀喇沁旗| 东兴市| 巩留县| 进贤县| 社旗县| 县级市| 隆昌县| 隆安县| 遂川县| 乌海市| 贵溪市| 樟树市| 南汇区| 盘锦市| 洮南市| 温宿县| 长沙市| 秀山| 忻城县| 灌云县| 望谟县| 调兵山市| 班玛县| 利川市| 阿瓦提县| 镇平县| 宝兴县| 大宁县| 横峰县| 铅山县| 江山市| 阿城市|