發表文章

目前顯示的是有「基礎觀念」標籤的文章

機率分配 - Part 6 Poisson

圖片
Poisson分配在系統模擬中是非常重要的機率分配函數。因為,他確切與時間有關係。你要說他很難,還真難。有人喜歡把他跟 二項分配 ,或超幾何分配等有得沒有的作比較與轉換,這跟系統模擬無關,系統模擬要的是情境,要的是歷史資料。也就是說,情境符合命題,然後歷史資料看看顯不顯著,再經過「嚴謹」的適合度檢定,沒有什麼重大意外,就用吧。怎麼說呢?歷史資料不是母體,既然不是,就會有偏差。既然有偏差,你要怎麼知道這個偏差是哪兒發生。搞不好一開始你的抽樣就不對了,樣本根本無法代表母體。後面作一堆,都是作辛酸的。要不就是發表論文用,這兒不搞這。系統模擬最終成果也是資料,由自己產生的資料來驗證模型的正確性,所以,需要兩階段。這篇 發展模擬系統之五大循環  約略有提到這個概念。 先來看看命題,在單位時間內,發生成功事件的次數。滿足Poisson的條件有三個: 條件 (i)表示在時間 0 時,成功次數是 0。  條件(ii)說在互不相交的時段 (time intervals) 內的試行是相互獨立的。  條件(iii)說只要時段長度相同, 不同時段內成功次數有相同的機率分佈。 你可想像自己在坐在咖啡店內,透過櫥窗向外看。每五分鐘(單位時間)內,去算一下有幾台車經過。每五分鐘就要重新起算。若你每天早上同一個時段都來觀察收集資料,你會得到面前這條馬路的車流量,他會服從Poisson分配。而問題在ℷ是多少。好吧,簡單的說,如果你收集到的每五分鐘的車輛數,推估母體的平均數,這個ℷ就是平均數。想要有感覺,請參考 等候理論 這篇講到的到達率。 來看機率分配函數與累積分配函數之公式吧。 這公式不好懂(計算)了吧。唉~誰叫你有手算勒。在已知ℷ的前提下,要問單位時間內,車子通過x=0的機率是多少,通過x=1的機率是多少,通過....。 想一下,系統模擬要什麼。我要的是x呀。單位時間內,透過Poisson讓我取得來客數。到底會有幾個人,我不知道,隨機,一切隨機。(抱歉,又來了) 還是來看累積分配函數的圖,更有感覺。看資料的長相,勝過公式計算。 在系統模擬中,雖然設ℷ為3,但是取得2或4的結果,都不用太驚訝。若取得-1個,那才值得驚訝。因為,一切到0為止。到目前為止所講到的機率分配函數都是到0為止(繞口)。需要得到負數值的,就得使用其他機率分...

機率分配 - Part 5 Geometric

圖片
Geometirc又叫幾何分配。經過之前分配的說明,我的習慣就是先問這個分配的命題是什麼,然後想想是什麼模擬情境(也是真實情境)中,符合其命題。 首先定義,一次試行的成功機率為p,失敗就是(1-p)。開始試行,直到成功為止,也就是說,要作幾次(x)才會成功。第幾次(x)成功的機率是多少。也就是說,前x-1次都是失敗的。想想Binomial,那個n已經被x取代了,成功了,就停止試行了。 想想玩大富翁,只要骰子丟出一個3,就有大獎。那丟出3的機率是1/6。所以 第一次就成功 1/6。 第二次才成功,表示第一次失敗。5/6*1/6 第三次才成功,表示前兩次失敗。5/6*5/6*1/6 以此類推。 接著來看函數定義。稍微補充一下,下圖的x是代表失敗的次數,所以會從0開始,第一次成功,就表示0次失敗。用失敗,函數看起來比較乾淨。Anylogic定義的x是失敗次數,所以後面的圖形請注意一下。 現在看機率分配函數的部分,應該沒有問題了吧。成功就只會有一次,其他的都是失敗。他不會發生對稱,不會變成Normal,但是他會變成Exponential,當p的機率很低很低時。Geometric x不會是負數,Exponential可以。聽不懂,沒關係。多玩玩系統模擬,自然會上手。來看看直方圖了 先來個剛剛擲骰子的。p是0.167。 x=0時(第一次成功)時,其機率是0.167,隨著次數增加,自然成功機率變小。 p=0.5看看。當然不會對稱。 來看看p很小很小時,p=0.001。是不是很像Exponential,只是一切到0為止。 在模擬中怎麼用呢?根據歷史資料,我們知道這台設備,每平均生產1000個零件後,就會當機。所以,我們設定設備的MTBF( M ean  T ime  B etween  F ailures),也就是平均故障間隔時間, 我們就會用這個機率分配函數。至於第幾次會掛,誰曉得。另外,掛點了,要修多久,又是另一個故事,另一個分配。 系統模擬的模型,就是由一對不知道結果的函數所組合起來,形成一個天知道的世界,才真正與實務情境相匹配。

AnyLogic簡單介紹

圖片
AnyLogic是目前模擬軟體中,唯一同時支援系統動力學、流程導向模擬與代理人模擬之產品。也因為如此,他可以涵蓋的應用範圍就相當廣泛。工業工程、供應鏈管理、人力資源、市場調查、策略規劃等,都可以利用AnyLogic達到預期之目標。從AnyLogic官網的圖中(圖 1),可以理解其應用範圍。 圖1:AnyLogic應用範圍(來源:AnyLogic官網) 另外,本產品還有一個特色是採用Java 程式語言開發,並利用Eclipse Java開發平台為基礎所建置。這也使得AnyLogic可以在Windows, Mac與Linux等不同平台中使用。也可以產生Java applets,然後在不同平台上的瀏覽器中執行。(註: Chrome不再支援NPAPI,使得無法執行applets) 在系統整合的部分,AnyLogic也有很好的表現。可銜接GIS地圖資料,也能夠匯入CAD圖檔當作底稿,作為布置圖用。也可匯入其他3D模型,變成模擬3D物件,可以美化或更貼近模擬需求的情境。也可與最佳化組件或與分配最適性工具整合。也可與大部分的資料庫系統整合,可處理文字檔或XML檔。其整合能力請參考圖 2。 圖2:系統整合能力 官網:https://www.anylogic.com/