• 沒有找到結果。

斐氏圖軟體撰碼問題中自動規範測試系統的設計與實作

N/A
N/A
Protected

Academic year: 2021

Share "斐氏圖軟體撰碼問題中自動規範測試系統的設計與實作"

Copied!
82
0
0

加載中.... (立即查看全文)

全文

(1)

國 立 交 通 大 學

工業工程與管理學系

碩士論文

斐氏圖軟體撰碼問題中自動規範測試系統的設計與實作

Design and Implementation of Automated Conformance

Testing System in Petri-Net-Based Software Coding Problem

研究生:林潔妤

指導教授:梁高榮 博士

(2)

ii 斐氏圖軟體撰碼問題中自動規範測試系統的設計與實作 研究生:林潔妤 指導教授:梁高榮 博士 國立交通大學工業工程與管理學系

摘要

對自動化製造系統而言,發展它的控制軟體過程可分為設計與實作兩階段。對設計階 段而言,連續兩製造狀態的因果關係可用斐氏圖來建模,而所有可到達狀態的集合則稱為 設計可達圖。相似地,對實作階段而言,對應的斐氏圖可透過程式語言來撰寫,並自然產 生其實作可達圖。又測試設計可達圖與實作可達圖的等效性是必要的。換言之,設計可達 圖可用來產生測試序列並用來測試實作可達圖的規範。 本研究中,透過設計行為的可達圖產生一條測試序列。假如設計可達圖是歐氏有向 圖,則測試序列可直接透過弗勒希演算法來產生。假如設計可達圖不是歐氏有向圖,則建 構運輸模式來增加最少的額外邊並形成新的歐氏有向圖,再透過 Fleury’s 演算法來產生測 試序列。可達圖中的生產循環也可藉由符號矩陣的對角線元素偵測之。又本文以爪哇語言 實作出此規範測試系統來驗證這些構想的可行性。 關鍵詞:

自動化製造系統(Automated Manufacturing System) 斐氏圖(Petri Net)

規範測試(Conformance Testing) 運輸模式(Transportation Model)

(3)

iii

Design and Implentation of Automated Conformance Testing System in Petri-Net-Based Software Coding Problem

Student:Chieh-Yu Lin Advisor:Dr. Gau-Rong Liang

Department of Industrial Engineering and Management National Chiao-Tung University

Abstrat

For a given automated manufacturing system, the development of its control software usually involves a design phase and an implementation phase. In the design phase, the causal relation between two sequential manufacturing states can be modeled by a Petri net, and a directed network consisting of all the reachable states is named its designed reachability graph. Similarly, in the implementation phase, the corresponding Petri net is coded through a proper programming language, and its implemented reachability graph is generated naturally. Also it is necessary to test the equivalent conformance of both designed and implemented reachability graphs.

In this thesis, the designed reachability graph is used to generate a testing sequence for testing the conformance of the implemented reachability graph. If the designed reachability graph is an Eulerian digraph, then its testing sequence can be directly generated by Fleury’s algorithm. If not, then a transportation model is constructed to add minimal extra edges for forming a new Eulerian digraph to which the Fleury’s algorithm can be applied. Also the cycles on the reachability graph can be detected from the diagonal elements of its powered symbol matrix. In addition, a Java-based conformance testing system has been implemented for showing the feasibility of this approach.

Keywords:

Automated Manufacturing System, Petri Net, Conformance Testing, Transportation Model, Modif ied Fleury’s Algorithm.

(4)

iv

誌謝

本研究得以完成,首先要感謝在這兩年的研究生涯裡,對我細心指導及叮嚀的指導教 授梁高榮博士,帶領我進入自動化製造的領域,並建置花卉戰情室,讓我獲得寶貴的求學 態度及經驗。此外要感謝唐麗英老師與張永佳老師對本研究所提供之寶貴建議 其次要感謝我的父母,對我的悉心教養,對我人生方向的指引,使我明辨是非。以及 兩位妹妹的陪伴,即使是分隔兩地,也能無時無刻的感受到家庭的溫暖,讓我在研究的過 程中更加的堅定,更具備信心。 兩年的實驗室生活,幸好有一群志同道合的夥伴,一同研究學問的熱忱,一同玩樂的 歡笑,一同比賽的汗水,這些都為我的研究生涯添加了許多色彩,你們也都是人生旅程上 不可或缺的朋友。謝謝學長們大毛、阿端、阿牛、老王、BE 學長的經驗傳授,謝謝同儕 昇晏、音帆、佳儒、馨儀的互相砥礪,謝謝學弟妹植宇、耿全,柏勳、瑋廷的支持與鼓勵。 謝謝好友宏文的貼心陪伴。使得實驗室生活格外地溫馨與融洽。 最後感謝在交大研究生活裡所有給我指導的師長們,讓我得以成長,得以茁壯。回首 過往,展望未來,我會永遠記得在交通大學的日子。

(5)

v

目錄

誌謝...IV 目錄... V 圖目錄... VII 表目錄...IX 第一章 緒論...1 1.1 研究動機...1 1.2 問題界定...2 1.3 研究目的...3 1.4 研究方法...3 1.5 論文架構...4 第二章 文獻回顧...5 2.1 斐氏圖模式...5 2.1.1 斐氏圖基本性質...6 2.1.2 狀態方程式表達法...6 2.1.3 斐氏圖模式撰碼...7 2.1.4 可達圖表達法...7 2.1.5 簡化法則...8 2.2 斐氏圖加註語言表達法...9 2.2.1 何謂可延伸性加註語言...9 2.2.2 斐氏圖加註語言...10 2.3 規範測試... 11 2.3.1 規範測試觀念... 11 2.3.2 歐依勒旅途...12 2.3.2.1 Fleury's 演算法...12 2.3.2.2 de Bruijn 序列...13 2.3.3 中國郵差法則...14 2.3.3.1 線性規劃模式解法...16 2.3.3.2 運輸模式解法...16 2.4 生產循環...18 第三章 規範測試程式架構設計...20 3.1 自動化規範測試路徑應用流程...20 3.2 規範測試路徑處理作業程式架構...23 3.3 讀取檔案處理作業...26 3.4 活可達圖模組分析處理作業...28 3.4.1 路徑成本計算處理作業...28 3.5 歐氏有向圖模組處理作業...32 3.5.1 運輸模式計算處理作業...33 3.5.2 運輸模式最佳解測試...35 3.5.3 運輸模式處理作業驗證...36 3.6 測試路徑模組處理作業...38 第四章 生產循環分析...41 4.1 生產循環分析應用流程...41 4.2 循環分析模組處理作業程式架構...41

(6)

vi 第五章 範例實際操作...44 5.1 自動導引車輛範例...44 5.2 彈性製造系統...49 第六章 結論與未來發展...54 6.1 結論...54 6.2 未來發展...55 參考文獻...56 附註1 規範測試通用程式碼...58

(7)

vii

圖目錄

圖1.1 自動化製造系統的設計與實作...2 圖1.2 論文架構圖...4 圖2.1 轉移點激發法則...6 圖2.2 狀態方程式表達法...7 圖2.3 斐氏圖轉換可達圖範例...7 圖2.4 簡化法則...8 圖2.5 XML 與網路互動運用情形 ...10 圖2.6 斐氏圖加註語言表達法...10 圖2.7 七橋問題簡化圖...12 圖2.8 連通圖範例...12 圖2.9 無向圖之 FLEURY'S 演算法流程圖...13 圖2.10 橋-連通圖檢驗...13 圖2.11 DE BRUIJN 有向圖(D2,4)...14 圖2.12 DE BRUIJN 有向圖(D2,4)之歐氏迴徑...14 圖2.14 中國郵差問題模式...15 圖2.15 有向中國郵差問題解法...15 圖2.16 可達圖...18 圖2.17 符號矩陣 S...18 圖2.18 符號矩陣 S4...19 圖3.1 自動規範測試軟體應用示意圖...20 圖3.2 規範測試路徑軟體分析應用流程圖...21 圖3.3 規範測試路徑軟體之 IDEF0 表達圖 ...22 圖3.4 規範測試程式設計 UML 圖 ...23 圖3.5 規範測試路徑軟體程式流程架構...24 圖3.6 斐氏圖模型轉換斐氏圖加註語言...26 圖3.7 斐氏圖套裝軟體 INA...26 圖3.8 可達圖輸出檔案格式...27 圖3.9 讀取資料處理作業子流程 IDEF0 表示圖 ...27 圖3.10 活可達圖模組分析處理作業子流程 IDEF0 表達圖 ...28 圖3.11 路徑成本計算流程圖 ...29 圖3.12 通用程式路徑成本分析...31 圖3.13 歐氏有向圖模組處理作業子流程 IDEF0 表示圖 ...32 圖3.14 運輸模式計算處理作業子流程 IDEF0 表示圖 ...33 圖3.15 LINDO 驗證液體加熱系統運輸模式解 ...37 圖3.16 通用程式運輸模式計算...37 圖3.17 歐氏迴徑計算處理作業流程圖...38 圖3.18 FLEURY'S 演算法 1...39 圖3.19 FLEURY'S 演算法 2...39 圖3.20 FLEURY'S 演算法 3...39 圖3.21 液體加熱系統規範測試歐依勒路徑...40 圖3.22 液體加熱系統自動化規範測試歐依勒路徑...40 圖4.1 生產循環流程圖...41 圖4.2 生產循環可達圖範例...42

(8)

viii 圖4.3 初始轉換-符號矩陣 S ...42 圖4.4 展開樹範例...42 圖4.5 程式執行圖...43 圖5.1 自動導引車系統示意圖...44 圖5.2 自動導引車輛範例斐氏圖模型...44 圖5.3 自動導引車輛範例...45 圖5.4 載入自動導引車輛範例之可達圖檔案...46 圖5.5 自動導引車輛範例之鎖死狀態分析...46 圖5.6 自動導引車輛範例之中國郵差問題運輸模式分析...46 圖5.7 自動導引車輛範例之規範測試路徑產生...47 圖5.8 自動導引車輛範例之生產循環分析...47 圖5.9 彈性製造系統運作情形...49 圖5.10 彈性製造系統之斐氏圖模型...49 圖5.11 彈性製造系統之斐氏圖簡化模型 ...50 圖5.12 彈性製造系統斐氏圖簡化模型之可達圖...51 圖5.13 載入彈性製造系統簡化模型範例之可達圖檔案...51 圖5.14 彈性製造系統簡化模型範例之鎖死狀態分析...52 圖5.15 彈性製造系統簡化模型範例之運輸模式分析...52 圖5.16 彈性製造系統簡化模型範例之規範測試路徑...53 圖5.17 彈性製造系統件化模型範例之生產循環分析...53 圖6.1 規範測試...54

(9)

ix

表目錄

表2.1 斐氏圖定義...5 表2.2 ISO IS 9646... 11 表2.3 運輸問題表示法-成本需求表...16 表2.4 西北角法...17 表2.5 VOGEL 近似法 ...17 表2.6 RUSSELL 近似法...17 表3.1 程式各類別變數設定及意義...25 表3.2 狀態間轉移點資訊、路徑成本資訊與狀態間路徑資訊陣列儲存意義...27 表3.3 液體加熱系統狀態轉移預設路徑成本...30 表3.4 第一次路徑成本推導...30 表3.5 重複執行演算法步驟三得出最後路徑成本...30 表3.6 定義供應點與需求點...33 表3.7 供應點與需求點路徑成本與需求表...34 表3.8 初始成本路徑計算...34 表3.9 第二次成本路徑計算...34 表3.10 第三次成本路徑計算...35 表3.11 重複行經的路徑 ...35 表3.12 重複行徑路徑最佳解測定...36 表4.1 所有狀態具有相同轉換次數的路徑...43 表5.1 自動車輛導引系統斐氏圖模型的暫存點與轉移點說明...45 表5.2 由初始狀態至各狀態轉換路徑...48 表5.3 彈性製造系統斐氏圖模型之暫存點與轉移點說明...50

(10)

1

第一章 緒論

本章內容分為六部份,分別為 1.1 節「研究動機」,1.2 節「問題界定」,1.3 節「研 究目的」,1.4 節「研究方法」,1.5 節「論文架構」,及 1.6 節「論文進度」。

1.1

研究動機

近年來,政府積極以獎勵措施推動工廠自動化,自動化製造系統的設計包含加工、裝 配與搬運三大方面互相協調合作行為。然而,雖然完成生產線自動化的規劃建置,卻無法 透過遠端控制來防止或解決自動化生產線發生當機等異常情形。在投入無數的金錢與人力 規劃自動化設置後,換來無法有效降低生產人力,對於需要二十四小時運作的生產工廠而 言,需要三班制人員輪班看管機台,當遇到設備異常時,則須派遣人力修繕。即便完成自 動化生產線,現場仍需人力監控機台,無法真正透徹自動化的涵義,達到管理者只需透過 網路與監控程式即可完全自動化控制現場運作。因此對於自動化工廠而言,全面性的整體 規劃十分重要。 爲了達到全面性整體規劃,自動化製造系統的設計與實作必須歷經五大步驟[3]:規格 (Specification)、驗證(Validation)、撰碼(Coding)、測試(Testing)、偵查(Monitoring)。利用 IDEF0 軟體定義系統規格,斐氏圖(Petri Net)建立系統動態模型及驗證,爪哇(Java)程式語言撰寫 程式,中國郵差理論(Chinese Postman Algorithm)作為規範測試,最後以擬陣理論(Matroid Theory)作系統監控法則。 自動化製造系統涉及多機台的互動行為,發展出多種不同的模擬工具來描述系統運作 狀況,其中以斐氏圖模式因具有圖形化介面及數學分析,最常用來描述系統的互動行為。 藉由分析斐氏圖性質驗證,了解系統的運作狀況。進而將斐氏圖模式撰碼為監控程式,以 監控程式透過網路控制現場的機台運作。爲了確保監控程式的編譯符合機台的運作狀況, 則需進行撰碼的規範測試。規範測試則以斐氏圖推導出狀態可達圖(Reachability Graph)檢測 系統中每個狀態轉換,確認監控程式設計與現場實際運作情形的一致性,並檢驗實際運作 狀態轉換間順暢,避免製造系統產生鎖死(Deadlock)現象。隨後透過擬陣理論找出製造系 統中的監控法則,以斐氏圖模式觀念說明,斐氏圖模型中某些暫存點的浮標數總和存在著 不變量性質,因而運用此不變量性質作為監控法則,當製造系統內這些狀態的浮標數總和 不為定量時,則可馬上由監控程式偵察出系統的異常現象,立即停止系統作業,並且進行 補救與修復的動作。 可達圖分析更可觀察到製造系統中具有多個等效的生產循環(Cycle),整合機台的運作 時間及搬運或等待時間。即可比較各個生產循環的績效表現,即可找出最佳的生產循環, 設定為此製造系統的派工法則,將能在最少的時間完成產品製造。 針對小型的可達圖而言,可由直觀的窮舉法來測試每個節點至每個節點的路徑,然而 當製造系統稍微複雜時,其可達圖會產生上百個上千個節點(Nodes)與弧(Arcs),更無法透 過人力一一測試各個狀態轉換。長久以來,如何產生複雜系統的可達圖一直困擾相關的研 究領域,在此狀況下,規範測試的執行更顯見困難重重。近年來,由於斐氏圖加註語言的 規範,許多斐氏圖套裝軟體被開發出來,描述複雜製造系統的狀態可達圖已非難事,複雜 的製造系統可透過斐氏圖套裝軟體快速且自動化撰碼成監控程式與產生狀態可達圖,若能 善加運用此自動化產生的可達圖,並提供使用者能測試完所有狀態的測試步驟,進行監控 程式的規範測試,應能大幅縮減規範測試所需耗費的時間與人力。然而有關可達圖分析的 相關研究,至今依然缺乏相關的系統整合。若能結合斐氏圖套裝軟體自動產生狀態可達圖 的特點,進而自動化產生所有狀態轉換的最短規範測試路徑,即可快速透過測試路徑測試 監控程式的準確性。

(11)

2

1.2

問題界定

圖 1.1 製造系統以斐氏圖模式來描述系統動態運作模型及驗證情形,透過網路監控現 場生產線運作情形。經由斐氏圖加註語言的發展,已發展出套裝軟體由斐氏圖加註語言自 動化產生爪哇程式語言的監控程式,以及轉出可程式邏輯控制器(Programmable Logic Controller, PLC)的控制程式,用以做為網路監控工具。監控程式需要驗證撰碼的正確性, 由斐氏圖的狀態可達圖可進行撰碼的規範測試,也可由狀態可達圖分析系統的生產循環。 可達圖進行歐氏迴徑計算後推導出歐依勒路徑(Euler Path),便可利用最短路徑測試系 統所有的狀態轉換,同時檢測網路監控工具的轉換狀態與實際系統執行狀態是否一致。自 動化製造系統完成後,首要透過規範測試後才能允許其互相連線操作,所謂全面測試法是 指測試所有可達圖邊界時皆由起點出發,當製造系統越趨複雜時,狀態間轉換暴增,全面 測試法相當耗費時間與人力。因此希能透過歐氏迴徑計算,找出最小測試路徑。規範測試 基本上使用的是網路架構的可達圖,測試過程以最短路徑行經所有系統狀態轉換,確保每 條狀態轉換路徑皆能至少經過一次,因此可套用中國郵差法則導出歐依勒路徑[19]。 生產循環分析則是運用圖論(Graph Theory)中的符號矩陣找出可達圖的所有循環,每個 循環均為一個派工法則,藉由分析生產循環找到等效的派工法則,並由各循環中獲得時間 函數,便可得到最佳的派工法則。 過去分析可達圖的困難點,在於對複雜的製造系統,無法產生系統狀態可達圖。然而, 這問題已被新開發的斐氏圖套裝軟體迎刃而解。而以往系統規範測試中,必須針對各專案 撰寫測試程式。如今,可由斐氏圖套裝軟體產生一致化的可達圖檔案,本研究期能提供通 用程式,令所有製造系統能藉由此通用程式,完成可達圖分析自動化。 圖1.1 自動化製造系統的設計與實作 規格 驗證 撰碼 測試 控制電腦 IDEF0 斐氏圖(P3) 爪哇程式 歐依勒路徑 撰 碼 自 動 化 生產 循環 PLC 歐氏迴 徑計算 YES 監控員軟體 NO PLC 輸出入埠號 可達圖 派工法則 可達圖分析自動化

(12)

3

1.3

研究目的

本研究目的在於提供迅速且通用於製造系統可達圖分析。包含兩大主題,其一運用運 輸模式解法的中國郵差法則撰寫出自動化規範測試路徑通用程式,以達成規範測試自動 化;其二找出可達圖中所有生產循環,可令管理者了解執行那種生產循環能擁有最佳的績 效表現,建立系統的派工法則。 本研究運用爪哇程式語言讀取可達圖檔案,進而分析並產生測試路徑及生產循環的自 動化程式。希望能透過此通用程式,快速縮減規範測試路徑時間,以及生產循環分析,並 能套用於所有系統的可達圖分析,使用者不需依專案改變重新計算其規範測試路徑及分析 生產循環。使得自動化製造系統由設計至實作需手動歷經的五大步驟,在使用者完成斐氏 圖建立系統驗證後,即可透過套裝軟體完成驗證、撰碼及測試三大步驟自動化。 凡是具有流程觀念的資料,皆可用斐氏圖模式來呈現。凡是用斐氏圖模式呈現的資 料,即可套用本研究所提出的規範測試軟體進行其規範測試,包含:有限狀態機(Finite-State Machine)、平行活動(Parallel Programs)、資料流計算(Dataflow Computation)、通訊協定 (Communication Protocols)、同步控制(Synchronization Control)、有優先權的生產消費系統 (Produces-Consumers System with Priority)、正規語言(Formal Languages)、多處理器系統 (Multiprocessor Systems)、效能評估(Performance Evaluation)、彈性製造的控制系統(Flexible Manufacturing/Industrial Control Systems)、錯誤容忍系統(Fault-Tolerant Systems)、程式邏輯 與 積 體 電 路 (Programmable Logic and VLSI Arrays)、分散事件系統 (Discrete Event Systems)、決策模型 (Decision Models)、辦公室的資訊流 (Office-Information Systems)等 [28]。

1.4

研究方法

本研究的研究方法架構分為以下五個步驟分析探討。 步驟一:確認研究目的。 了解目前針對自動化製造系統的規範測試與生產循環領域,市面上並無提供相關的套 裝軟體與系統整合。 步驟二:基本理論應用與知識研究。 確認研究方向後,針對所需要運用的知識與技術進行文獻回顧與實作,包含斐氏圖模 式、可展加註語言、生產循環、運輸模式、中國郵差法則與爪哇程式語言的學習與應用。 步驟三:系統程式架構分析。 以爪哇程式語言撰碼通用程式,為了能與現行流通的套裝軟體整合,讀取現有斐氏圖 套裝軟體的可達圖輸出檔,經由文獻回顧了解程式的演算法概念,進行程式撰寫,完成規 範測試通用程式。 步驟四:使用者介面設定。 為了令規範測試通用程式能夠套用在不同的專案案例,程式撰寫需要設計使用者操作 介面,使得不同的案例,都能透過此系統完成規範測試的步驟。 步驟五:系統實作驗證。 為了證明本研究所設定的系統可以達成預定的研究目的,套用兩專案進行系統實作驗 證。

(13)

4

1.5

論文架構

本研究的內容編排如下,圖1.2 為本論文之架構圖。 第一章:緒論。說明本論文研究動機、問題界定、研究目的及研究方法。 第二章:文獻回顧。首先了解本研究基礎模式的斐氏圖性質、可達圖性質與生產循環分析 的文獻回顧,其次了解規範測試程式架構設計與需讀取的可達圖檔案架構與基本 理論,包含斐氏圖加註語言來源與檔案規格、中國郵差問題的運輸模式解法與 Fleury 演算法。 第三章:規範測試通用程式架構設計。說明如何由第二章文獻回顧中,藉由爪哇程式語言 讀取可達圖檔案,並以運輸模式解法與Fleury 演算法為概念基礎,修正 Fleury 演 算法藉以縮短程式執行速度,並以爪哇程式語言撰寫,產生規範測試路徑。 第四章:生產循環通用程式架構設計。說明如何由爪哇程式語言將可達圖檔案分析出生產 循環,並且完成使用者互動通用程式系統介面。

第五章:系統實作與驗證。套用兩專案自動化導引車輛(Automated Guided Vechicle, AGV) 與彈性製造系統範例執行此通用程式,包含第三章規範測試路徑及第四章生產循 環分析。 第六章:結論與未來研究方向。 圖1.2 論文架構圖 第一章:緒論 第二章:文獻回顧 第三章:規範測試程式架構設計 第四章:生產循環程式架構設計 第五章:系統實作與驗證 第六章:結論與未來研究方向

(14)

5

第二章 文獻回顧

本章主要在回顧本研究基礎架構斐氏圖模式、可達圖性質、生產循環分析(Cycle Analysis)。以及程式設計中所需運用到的規格、理論及演算法包含斐氏圖加註語言[14]、 中國郵差問題,Fleury 演算法[19]及 de Bruijn 序列[19, 22]則等相關文獻,內容共分為四小 節。第 2.1 節由斐氏圖模式了解彈性製造系統中不變量狀態方程式表達,經由撰碼工作將 斐氏圖轉為系統的監控程式,監控程式需經規範測試後用以確保撰碼無誤,因此需透斐氏 圖產生的狀態可達圖求得其規範測試路線,可達圖會受系統複雜度影響而過於龐大,故可 由簡化法則簡化斐氏圖模式。第 2.2 節斐氏圖加註語言表達法,程式執行時讀取的可達圖 檔案是經由斐氏圖加註語言轉換而成,故在此節說明加註語言標準格式的產生與演化。第 2.3 節說明規範測試的緣由以及了解程式設計時,如何由可達圖檔案求得規範測試路徑的 演算法。第2.4 節針對生產循環分析做文獻回顧。

2.1

斐氏圖模式

斐氏圖(Petri Net, Place/Transition Net or P/T Net)最先由德國 Carl Adam Petri 在 1962 年 所發表[14]。斐氏圖是一種具有方向性的圖形化數學表達工具,用來形容動態系統之離散 事件。只要具有流程觀念的資料,皆可以藉由斐氏圖來呈現。

斐氏圖包含暫存點 P(Place Nodes)、轉移點 T(Transition Nodes)、具方向性的弧 F(Directed Arc)、弧的權重 W(Weight)、初始狀態(Mo)。斐氏圖定義如表 2.1 下所示[28]: 表2.1 斐氏圖定義 斐氏圖五元素,PN = (P, T, F, W, Mo) P = {p1,p2,…, pm},為暫存點的有限集合 T = {t1, t2, …, tm},為轉移點的有限集合 F⊆ (P T ) (T P)× ∪ × ,為弧的組合(流程關聯) W: F →{ 1, 2, 3,...},為弧的權重函數 M : P o →{ 0, 1, 2, 3,...},暫存點的初始狀態 沒有特定初始狀態Mo 的斐氏圖架構表示為 N=( P , T , F , W ) 擁有初始狀態的斐氏圖表示成(N, Mo ) 斐氏圖圖形介紹,由以下四個圖形化元素組成: 暫存點( )(Place):表示系統狀態。 轉移點( )(Transition):代表系統的事件觸發。 方向弧( )(Arc):系統狀態改變的方向性。 浮標( )(Token):代表系統正處於何種狀態。 斐氏圖的基本理論架構,藉由事件和狀態的觀念來描述系統模型,可將離散系統狀態 的變化視為一個事件的發生。其中,暫存點表示狀態,轉移點表示事件,一個轉移點可以 包含許多的輸入暫存點與輸出暫存點代表事件發生前的狀態與事件發生後的狀態。方向弧 用來連結暫存點與轉移點,方向弧若由暫存點指向轉移點,稱此暫存點為輸入暫存點(Input Place);反之,方向弧若由轉移點指向暫存點,則稱此暫存點為輸出暫存點(Output Place)。 暫存點內可以同時擁有很多個浮標(Token),一個暫存點內若存有 K 個浮標,代表有 K 筆 項目或資源可供利用。斐氏圖中浮標在暫存點的分布狀況稱之狀態(Marking),存有浮標的

(15)

6 暫存點代表系統正處於此暫存點的狀態;反之,沒有浮標的暫存點代表系統正並未處於此暫 存點的狀態。 動態系統模擬方面,斐氏圖藉由轉移點的激發(Firing),改變各個暫存點內浮標的分布 狀態。下列為斐氏圖狀態轉移激發法則(Firing Rule): 當一轉移點的所有輸入暫存點都只少存有一個浮標,則稱此轉移點為可被激發(Enable)。 可被激發的轉移點(Enable Transition)可以選擇要亦或不要激發,端看系統事件是否發生。 可被激發的轉移點激發後,此轉移點的輸入暫存點內的浮標數減少,而輸出暫存點內的浮 標數增加。 圖2.1 以水的化學反應方程式 2H2 + O2 →2H2O 來解釋轉移點激發法則[28]。圖 2.1(a) 顯示各有兩個浮標位於輸入暫存點代表有兩單位的氫和兩單位的氧可供使用,而轉移點 t 可被激發。轉移點t 經過激發後,系統狀態改變如圖 2.1 (b)所示,代表氫的輸入暫存點減 少兩個浮標,代表氧的輸入暫存點減少一個浮標,輸入暫存點內沒有足夠的浮標數,因此 轉移點 t 已經不能再被激發,而輸出暫存點產生兩個浮標,表示轉移點 t 的激發消耗兩單 位的氫和一單位的氧,進而產生兩單位的水: (a) 轉移點 t 激發前狀態,燃燒前 (b) 轉移點 t 激發後狀態,燃燒後 圖2.1 轉移點激發法則[28]

2.1.1

斐氏圖基本性質

斐氏圖應用於實際系統模式建構。分析斐氏圖,觀察所建構之模式是否符合實際系統 的所需性質。若不符合,再對系統模式進行修正以達到系統所期望的性質。 斐氏圖基本性質又可依初始狀態(Initial Marking)而分成兩大類:行為性質(Behavioral Properties)與結構性質(Structural Properties)[28]。行為性質指斐氏圖的初始狀態有關,例如 可達性(Reachability)、活性 (Liveness)等性質的探討。結構性質是指與初始狀態無關的性 質,用來探討斐氏圖的結構包含安全性 (Safeness)、限制性 (Boundedness)、浮標不滅性 (Conservativeness)、可逆性 (Reversibility) 與一貫性 (Consistent)等。

2.1.2

狀態方程式表達法

斐氏圖可以用來描述系統的動態行為,更可用代數方程式來表達,定義產率矩陣 (Incidence Matrix)及狀態方程式(State Equation)更可將系統的動態行為描述出來。

產率矩陣定義:假設ㄧ個斐氏圖 N 具有 n 個轉移點及 m 個暫存點,則此定義產率矩 陣為A = [a ]ij 為n × m 的整數矩陣及 + -ij ij ij a = a - a ,其中, + ij a 表示方向弧權重值由轉移點i 到輸 出暫存點j; -ij a 表示方向弧權重值由輸入暫存點(j)到轉移點(i)。 狀態方程式定義: T K K-1 k M = M + A u k=1,2,, ⋅⋅⋅,令狀態MK為m × 1 的向量,MK為某個 激發順序中的第k次激發的浮標分佈狀態;uk 為 n × 1 的向量,uk 為由狀態 MK-1要到狀態 MK 第 k 次激發的控制向量,因此狀態方程式又可以初始狀態表達為 d T d 0 k k=1 M = M + A ∑u 。 圖2.2 為例[28],斐氏圖用來描述水的化學反應方程式 2H2 + O2 →2H2O,定義產率矩 陣如圖2.2 (a)所示;狀態方程式如圖 2.2 (b)所示。

(16)

7 2 2 2 + -ij ij ij H -2 0 2 O -1 = 1 - 2 H O 2 2 0 a = a - a ⎛ ⎞ ⎛ ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ ⎝ ⎠

(

)

T T 1 0 1 -2 0 1 2 = ( 2 2 0) + -1 (1) 2 M = M + A u ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ (a) 定義產率矩陣 (b) 狀態方程式 圖2.2 狀態方程式表達法

2.1.3

斐氏圖模式撰碼

自動化製造系統的設計與實作歷經五大步驟[3]。由於製造系統執行涉及多個機台與資 訊的互動情形,因此利用IDEF0 軟體定義系統規格,斐氏圖建立系統動態模型及驗證,通 過驗證的斐氏圖模型則可進行監控程式撰寫,即將斐氏圖模式以程式語言轉碼為製造系統 的監控程式,管理者可透過監控程式了解系統運作情形。 然而早期的撰碼工程十分費時,撰碼者需針對個別專案的斐氏圖模式進行編碼,例如 監控程式的斐氏圖畫面,需經過多次編譯後,才能符合理想的畫面呈現[3],花費太多程式 設計時間於調整人機圖形介面上的斐氏圖元件。仰賴程式語言的發展,可運用爪哇豆技術 [8]及斐氏圖加註語言[6]來縮短撰寫監控程式的時間。撰碼自動化能大幅縮減程式設計時 間,更能通用於各個專案的斐氏圖模型。

2.1.4

可達圖表達法

狀態的可達性可用可達圖來表達。可達圖為有向圖,可將設計的斐氏圖中所有浮標可 能的分佈情況表示出來;這裡點表示狀態,而弧表示兩狀態間需要激發的轉移點。可達圖 的繪製首先需選定系統的初始狀態,找出所有可能從初始狀態激發的轉移點而到達的狀 態,接著再找出所有可能從這些狀態到達的新的狀態。圖2.3(a)為所設計的斐氏圖;圖 2.3(b) 為圖2.3(a)的可達圖。以圖 2.3(a)說明,當浮標分佈的初始狀態M0 = <2,0,0,0>,可選 擇激發轉移點t1、t5 和 t3。若選擇激發轉移點 t1 或 t5,則浮標分佈狀態會由M0 轉變為M 1 = <1,1,0,0>;或若選擇激發轉移點 t3,則浮標分佈狀態會由M0 轉變為M3 = <1,0,1, 1>。同理反覆繪製。 (a) 斐氏圖設計 (b) 可達圖 圖2.3 斐氏圖轉換可達圖範例[28] 可達圖的運用範圍廣泛,可用來進行系統的鎖死分析(Deadlock Analysis)[10],生產週 期分析與規範測試分析[11]。然而,可達圖繪製過程中,浮標的分佈狀態隨著暫存點與轉 移點的增加成指數性爆炸的成長[34]。因此當系統越複雜時,可達圖的繪製變得窒礙難行, 第2.1.2 節所提到描述系統的產率矩陣與狀態方程式也更加龐大難以計算。因此第 2.1.5 節 將介紹斐氏圖的簡化法則(Reduction Method);利用簡化法則,縮小斐氏圖設計的複雜度, 但不會影響系統特性。

(17)

8

2.1.5

簡化法則

簡化法則[28]的使用是爲了將複雜的系統模型變得簡單化,但仍保留系統原先的特 性。如圖2.4 列出六個簡化法保留了斐氏圖原先的特性,活性、安全性、限制性。a.合併連 續的暫存點、b.合併連續的轉移點、c.合併平行的暫存點、d.合併平行的轉移點、e.消除自 循環的暫存點、f.消除自循環的轉移點。 圖2.4 簡化法則

(18)

9

2.2

斐氏圖加註語言表達法

在現今全球運籌的環境下,有效的控管物流資訊,能大量降低營運成本。加上商務資 訊流電子化(e-commerce)的發展,不僅能讓商品加快運送的腳步,也能更精確的掌握資訊、 使管理更為精確。電子商務的熱潮隨著網際網路的普及蓬勃發展,然而每家企業使用的資 訊系統不ㄧ定相同,反而造成資料格式轉換成本增加。電子資料交換(Electronic Data Interchange, EDI)標準因運而生於 1960 年代,定義為:一台電腦的應用系統,運用協定的 標準與資料格式,經過電子化傳遞方式,將資料傳送到另一台電腦的應用系統,讓電腦能 夠自動『了解』、『處理』和『回應』,使電腦能自動處理作業進而解決資料交換的問題。 台灣大概於1990 年代開始推動 EDI 在產業間的應用,然而 EDI 雖實現了資料的一致性, 卻嚴重地缺乏可延伸性。早期的EDI 屬於專屬的封閉系統,要求所有合作企業都必須使用 且唯一的解決方案,使得建置成本高,還要聘請專業的顧問,租用專屬網路,並且僅能改 善和處理片段的作業流程。如果有一家廠商想增加或減少一些內容,則整體的EDI 系統便 重新進行修正。隨著電子交換的內容越來越複雜,美國W3C 組織於 1996 年正式公佈 XML

(eXtensible Markup Language)語法標準,修正 EDI 的缺點,提供商務資訊流電子化應用上 更多維的延伸性[4]。

2.2.1

何謂可延伸性加註語言

1996 年,可延伸性加註語言(eXtensible Markup Language, XML)由全球資訊網發展協 會(World Wide Web Consortium, W3C)所發展而成。它是一種中介標籤語言(meta-markup language),用於標示具有結構性資訊之電子文件的標示語言,有助於文件內容的宣告並符 合跨平台的搜尋[4]。 所謂標籤語言,指由一些特殊字碼(code)及標籤(tag)所組成。它單獨存在時並不代表任 何意義,需透過特殊的軟體經一定規則解讀後,輸出至螢幕或是印表機等輸出設備上。標 籤語言的使用,可使文件具有結構化以便於管理、解讀及運用。它又可分為「特定標籤語 言」及「一般化標籤語言」兩大類。特定標籤語言是針對特定軟體或是特殊應用所設計的, 具可攜性,如HTML (HyperText Markup Language, 超文字加註語言)標籤語言是爲了特定

運用在 WEB 上所設計的。一般化標籤語言只是描述文字的內容與結構,並不受限於特定

的用途及軟體,如通過國際標準(International Organization for Standardization, ISO)認可的 「標準通用標籤語言」(Standard Generalized Markup Language, SGML)與「通用加註語言」 GML(Generalized Markup Language),都是所謂的通用標籤語言。

XML 的開發者來自一群 SGML 的設計者與應用者,SGML 最初設計的ㄧ大目標是用

來提供文件 50 年以上的壽命。SGML 功能十分強大並有相當多的機制,具高穩定性及可

攜性,以便於提供各種語法來解讀、編輯與運用內容龐大且需互相連結的文件,但只有在 大型企業或政府機關使用。如此複雜的系統卻無法實際地發揮出它的功用,因此,XML

擷取了SGML 結構中的核心部份,並彌補 HTML 的不足,用以擴充在網路上應用。HTML

也是由 SGML 發展而來。HTML 是 1989 年由 Tim Berners-Lee 在 CERN 的時候所創 造。HTML 著重在格局外觀的呈現;HTML 語法簡單易學,使得 HTML 在 W3(World Wide Web, W3)上大受歡迎。然而 HTML 存在些缺點包含標籤固定,延伸性較差且缺乏對內容 文件資料涵意的表達。 XML 為整合 SGML 及 HTML 的優點所推演出來的標籤語言,著重在以 SGML 文件資 料結構化的特色為基礎,精簡化 SGML 的複雜度。XML 對於應用程式來說,具有自我定 義的特性,不需預先設定特殊的格式或架構,並能廣泛地相容於各種應用軟體中,讓XML 標籤語言具有完整性、可攜性,相容性。因而 XML 推出的主要目的在於能直接應用於網 際網路並在全球資訊網的環境中流通傳輸,因為 XML 的標籤元素與通訊協定互相獨立,

(19)

10

XML 可以專門應用於電子商務資料交換,藉此推動企業與企業電子商務的里程碑,圖 2.5 所示。

圖2.5 XML 與網路互動運用情形[4]

2.2.2

斐氏圖加註語言

斐氏圖加註語言(Petri Net Markup Language, PNML)[14]是一種基於 XML 的特性,用

來記錄多種斐氏圖架構的交換格式。利用斐氏圖類型定義(Petri Net Type Definition,

PNTD)[14]來定義不同類型的斐氏圖特定屬性。 圖2.6 為斐氏圖的範例,圖 2.6(b)是將圖 2.6(a)的斐氏圖轉換為斐氏圖加註語言。斐氏 圖類型定義可用來定義斐氏圖屬性,對應的標籤用來說明暫存點、轉移點、初始狀態與方 向弧分別為<place>、<transition>、<initialMarking>、<arc>,而每個標籤內又針對斐氏圖的 每個種類做更詳細的屬性描述,這些屬性都被定義在一個PNTD 內。由此運用斐氏圖加註 語言標準化斐氏圖格式,便可進一步將斐氏圖加註語言套用或開發新的斐氏圖套裝軟體, 進行更深入的斐氏圖分析[12]。 (a) 斐氏圖 (b) 斐氏圖加註語言 圖2.6 斐氏圖加註語言表達法

(20)

11

2.3

規範測試

可達圖為有向圖,用以描述製造系統內所有可達的狀態,且狀態間的轉換都是可控制 的。因此,可藉由旅途法(Transition Tours)得到可達圖的測試序列。若可達圖具備有歐氏有 向圖特性,則可藉由Fleury’s 演算法,或是將節點及弧轉換為 2 進位世界的 de Bruijn 序列, 求得此可達圖的一筆畫路徑,研究採用修正 Fleury’s 演算法求得可達圖的最短測試路徑。 然而,無法確保製造系統的可達圖皆具有歐氏有向圖特性,因此藉由中國郵差問題,藉由 增加額外的重複弧線讓可達圖變為歐氏有向圖。基本上,如何增加最少額外弧線以找到最 小的歐氏有向圖也是有向性中國郵差問題。此問題可用線性規劃(Linear Programming)技術 建模,更可簡化為運輸模式以降低計算複雜度。在本節中,將於第 2.3.1 節說明歐氏圖特 性;第2.3.1.1 節介紹 Fleury’s 演算法;第 2.3.1.2 節介紹 de Bruijn 序列演算法;第 2.3.2 節 說明中國郵差問題定義;第2.3.2.1 節說明線性規劃解法;第 2.3.2.2 節說明運輸模式解法。

2.3.1

規範測試觀念

規 範 測 試 的 概 念 源 自 於 1976 年 CCITT(International Telegraph and Telephone Consultative Committee)資料通信協定 X 系列第 25 號建議案時,發展 X.25 計畫時的痛苦經 驗[26]。在此計畫中引發了三大問題:機器互相連接、難以生產標準品、互相操作。因此, 發展出ISO IS 9646 來做為通訊系統的規範測試標準,規範測試協定是用來檢測系統是否 符合標準實施的一種方法,確保系統在不同的製造商之間保證成功的相互聯繫和互操作性 的一項重要的技術,而通過此規範測試的設備才可允許其互相連線操作[26]。規範測試的 觀念運用在許多領域,如軟體開發、通訊工業、封裝測試、自動化製造系統、網頁設計等, 以確保每步驟都能正確執行。 表2.2 ISO IS 9646 Part Title 1 General concepts

2 Abstract test suite specification 3 Tree and tabular combined notation 4 Test realization

5 Requirements on test laboratories and clients for the conformance assessment process 6 Protocol profile test specification

7 Implementation conformance statements 測試序列可由下列四種方法產生[18, 23]: 1. 旅途法:只能使用目前已知可觀測的狀態來產生序列,測試序列可由中國郵差法則 產生,特色簡單、可求得最佳解。 2. 區別型序列法 (Distinguishing Sequence): 可以得知系統目前的狀態為何,但實際 運用時,區別型序列法不一定會存在,且區別型序列長度一般非常的長,不易求解。 3. 特徵型序列法 (Characterizing Sequence):針對無法找到區別性序列法的系統,所使 用的方法。

4. 特定輸出入序列法 (Unique Input/Output(UIO) Sequence):對於有限狀態機的每個系

統狀態Si,要尋找其最小成本輸入順序(UIOi),使得在輸入 UIOi後所產生的輸出結果對Si

(21)

12

2.3.2

歐依勒旅途

從 前 普 魯 士(Prussia) 的 康 尼 斯 堡 (Konigsberg)( 現 今 為 俄 國 的 加 里 寧 格 德 市 (Kaliningrad))。普雷格爾(Pregel)河水分隔成四個部份;如圖 2.7 所示,並透過七座橋將四 個部份連接起來。當地的民眾希望能設計一趟旅行,可以行經七座橋,但每座橋都只能走 過一次[19]。 圖2.7 七橋問題簡化圖

1736 年,歐依勒(Leonhard Paul Euler)訪問此地發現這有趣的問題,並將七橋問題以數

學語言來描述,如圖 2.7,點代表被水分隔的四塊陸地,弧代表連接各陸地的橋。推論出 七橋問題是無法實現的:是因為進入由一座橋進入一塊陸地時,也須由另一座橋離開此 點。因此,每一個陸地與其他陸地連接的橋數必為偶數,換句話說,每一點與其他點連結 的弧必為偶數,起點與終點除外。由七橋問題所繪出的圖 2.7 可看出,每個點所含的弧皆 為奇數,故無法設計一趟旅行遊經七座橋且不重複。 圖中可以從一點出發行經所有邊後,到達另一點的路徑稱之為歐依勒路徑,若一圖中 存在歐依勒路徑也稱之為「一筆畫問題」。圖中若存有歐依勒路徑,那麼除了起點和終點 外,每點的邊界也都是偶數,而且圖中可能出現奇數邊界的點就是起點與終點。

2.3.2.1 Fleury's 演算法

在圖形中,能行經每個邊都恰好ㄧ次路徑稱此途徑為歐依勒途徑。與點相連的邊稱為 邊界,如圖2.8 所示,A 點的邊界為 3,B 點的邊界為 1。若ㄧ圖形中,每個點的邊界皆為 偶數,則必定存在一條路徑,可以行經每一個邊不重複。圖2.8 中,A 點與 B 點存在有奇 數的邊界,若選擇由 A 點或 B 點作為起點或終點,則此圖可找到一筆畫路徑。若不以 A 點或B 點作為起點,則此圖無法找到一條途徑走完所有的邊線。 圖2.8 連通圖範例

(22)

13 圖2.9 無向圖之 Fleury's 演算法流程圖 依照2.3.2 節歐依勒旅途的觀念,若圖形中每個點的邊均有偶數邊界,則可運用 Fleury's 演算法[19]找出一條歐依勒旅程。Fleury's 演算法流程如圖 2.9 所示,適用於無方向性的網 路圖:可任選ㄧ狀態出發,任選ㄧ條由此狀態出發的邊界,確認此邊界是否為橋(Bridge Testing)[13]。若非橋,記錄此行經路徑並將此邊界刪除,重複選擇下ㄧ出發邊界;若此邊 界為橋,則選擇此狀態的其他出發邊線,若此狀態已無其他連接邊線,則可行經橋並將此 狀態刪除。 「橋」即為圖中的一個邊線,若刪除此邊線會導致圖形不連接,則稱此邊界為橋。如 圖2.10(a)所示,線段 AB 若刪除,會導致圖形分成如圖 2.10(b)所示 ACD 與 BEF 兩區域,

造成圖形的不連接,因此稱此線段AB 為橋。

(a) (b) 圖2.10 橋-連通圖檢驗

2.3.2.2 de Bruijn 序列

de Bruijn 序列為一個循環數列(a1, a2, …, a2n)稱之為(2, n)- deBruijn 數列,滿足下列兩

個條件:(1)ai ∈{0,1},i = 1,2,…,2n;且(2)(a ,a ,...,aj j 1+ j n 1+ − ), j 1, 2,..., 2 ,(mod 2 )= n n ,

為相異的2 個維向量。例如:n = 1,2,3,5;的(2, n)-de Bruijn 數列分別為 01, 0110, 01110100, 0000100110101111。對於建構一個(2, n)-de Bruijn 數列至所有的 n 並不困難。荷蘭數學家 N. de Bruijn 用來尋找此數列的有向圖。(2, n)-de Bruijn 有向圖,D2,n為一加權有向圖,它滿

足下列兩條件:(1) n 1 2,n 2 V(D ) (Z )=及;(2)(a ,a ,...,a )1 2 n 1 連到a 並且在這個弧上給予加權 1 2 n (a ,a ,...a )。如圖2.11 所示。更由於有向圖 D 2,4為強連通圖而且每一點的出發的邊線與進 入的邊線均為2,可證明(2, n)-de Bruijn 有向圖為歐氏有向圖。 是 否 任選弧 弧 線 非 橋 或 最 後 弧 將弧線列入迴徑刪 除此弧線,設定下一 否 是 任選一狀態為 歐依勒路 C B D A E F C B D A E F

(23)

14 圖2.11 de Bruijn 有向圖(D2,4) 一個(2, n)-de Bruijn 有向圖的存在一定存在一條歐氏迴徑,令此迴路經過的邊為 e1, e2, …, e2n;同時對於所有的i 令l(e ) ai = i為ei邊上加權的最左邊那個數字,於是我們得一個 數列(a ,a ,...a )1 2 2n ,此數列就是一個(2, n)-de Bruijn 數列。對於圖 2.11 有向圖 D2,4的一筆畫 路徑為圖2.12。 圖2.12 de Bruijn 有向圖(D2,4)之歐氏迴徑

de Bruijn 數列最著名的應用在於旋轉鼓(Rotating Drum)。它可利用連續的位置來判斷 不同的機械輸入原理。如 圖2.13 旋轉鼓

2.3.3

中國郵差法則

中國郵差問題由華裔數學家管梅谷[19]於 1962 年所提出,為了尋找一條最短或是成本 最少的路徑,使得每條路徑至少經過一次,最後回到原點。如同郵差必須沿著送信區域內 的每一條街道送信,每條街一定且至少要經過一次,最後回到郵局也就是原點。有些街道 一定要經過超過一次以上,為了節省送信時間,如何將重複走的街道長度越短越好,故如 何找出此郵差最短的送信路徑被稱為“中國郵差問題”。 中國郵差定理至今的應用十分廣泛,並推演出許多的問題模式。如圖2.14 可由街道的

方向性分為無向中國郵差問題(Undirected Postman Problem)、有向中國郵差問題(Directed Postman Problem)及混向中國郵差問題(Mixed Postman Problem)三種[19]。或是考慮容量限 制、路徑長短、時間限制等因素所拓展出的問題模式,例如容量限制中國郵差問題

(24)

15

(Capacitated Postman Problem)[31]、市郊中國郵差問題(Rural Postman Problem)[30]、風向中 國郵差問題(Windy Postman Problem)[29]、最大利益中國郵差問題(Maximal-Benefit Postman Problem)[32]、時間限制中國郵差問題(Time-constraint Postman Problem)。

解決中國郵差問題的方法即將圖形歐依勒化(Eulerizing)。所謂歐依勒化就是在圖中 加上一些邊,加上的邊是指需要重覆經過的路徑,而這些邊必須是這兩點間原本就存在的 邊才行,代表兩地原本就有道路可以通行。由第 2.3.2 節歐依勒旅途解法可衍生至中國郵 差問題。由歐依勒定理得知,每節點的邊界需均為偶數,也就是需將網路中每節點對稱化, 所謂對稱化即是每節點進入的邊數等於出發於此節點的邊數。 斐氏圖所繪製出的可達圖屬於有向的連通網絡,故本研究只探討有向中國郵差問題。 圖2.15 有向中國郵差問題解法可分為線性規劃模式與運輸模式兩種,對於運輸模式初始解 又有三種選定方法,將在第2.3.3.2 節討論。兩種方法的理論基礎都是將節點對稱化,使其 成為具有對稱性的網路。首先來探討線性規劃模式[19]。 圖2.14 中國郵差問題模式 圖2.15 有向中國郵差問題解法 西北角法 Vogel 近似法 Russell 近似法 有向中國郵差問題 線性規劃模式 運輸模式 初 始 解 選 定 最 小 成 本 中國郵差法則 無向中國郵差問題 有向中國郵差問題 混向中國郵差問題 容量限制中國郵差問題 時間限制中國郵差問題 市郊中國郵差問題 風向中國郵差問題 最大利益中國郵差問題 方 向 性 時 間 限 制 容 量 限 制 路 徑 長 短

(25)

16

2.3.3.1 線性規劃模式解法

線性規劃模式(Linear Programming Model)[19]首要關鍵是將網路中的每個節點對稱 化,並使得所複製的邊界長度總合最小化,由此觀念可建立出線性規劃模式如下: e e e e e e n Min z = c x s.t x 0 x e E {x : e n } - {x : e n } = b n N ≥ ∈ ∀ ∈

,      , 目標式 為整數對 為從進入節點 的邊界 為從節點 出發的邊界 其中ce為行經邊界e 所需要花費的成本,xe為邊界e 所複製並加入網路中的邊界數, xe邊界數必定為大於零的正整數,bn為進入節點n 的邊界減去從節點 n 出發的邊界。此模 式的限制會對所有 n∈N 而言,使得從每個節點出發的邊界等於進入此節點的邊界。線性 規劃模式可利用Lindo 或 Lingo[15]等數學軟體求解。

2.3.3.2 運輸模式解法

運輸模式(Transportation Model)[27]是因其應用在規劃最佳運送貨物而得名,為了以最 小成本的方式,處理從任何供應中心運送商品至接收中心的問題,一個運輸問題會有可行 解的特性,亦即所有源點的總供給量等於所有終點的總需求量。將運輸模式套用至本研 究,首先必須將網路中節點分為供應點與需求點,供應節點即為進入此節點的邊界數大於 由此節點出發的邊界數,表示此節點還可以提供一條或多條邊界數與其他節點連接,由線 性規劃模式來解釋,即為bn > 0,此時 bn為此節點供應量;此外,需求節點即為由此節點 出發的邊界數大於進入此節點的邊界數,表示此節點還需要一條或多條邊界數與其節點相 連,亦為bn < 0,此時 bn為此節點需求量。由以上所述,還必須建立ㄧ張由需求點至供應 點的成本需求表,即可應用作業研究中運輸問題演算法,求得需求點至供應點的最小路徑 總和。表2.3 為運輸問題表示法。 表2.3 運輸問題表示法-成本需求表 供應點\需求點 需求點(n 個) 供應量(bn > 0 ) 供應點(m 個) c11 ……… …………cij……… ………..cmn si = bn > 0 需求量(bn < 0) dj = |bn < 0| 運輸模式演算法包含三大步驟,即(1)建立運輸表(Transportation Tableau),(2)找到一組 初始解,及(3)利用凸多面體法(Simplex Method)重複改善初始解的值,直到產生最低運輸 成本為止。由供應需求狀態的路徑成本表中,可藉由初始解演算法找出運輸問題初始解, 然而初始解不ㄧ定為問題最佳解,因而初始解需進行最佳解檢測。若目前解不為最佳解, 則進行凸多面體法;若目前解為最佳解,則停止。運輸問題選擇初始解有三種標準方法: 西北角法(Northwest corner rule)、Vogel 近似法(Vogel’s approximation method)[23],Russell 近似法(Russell’s approximation method)[23]。

西北角法如表2.4 所示,首先選擇(x 11)即從運輸單行表的西北角開始。其後,假設(xij)

為前一個選定的基變數,若原點還有剩餘供給量,則選擇(xij+1)(亦即向右移動ㄧ欄),否則

選擇(xi+1j)(亦即向下移動ㄧ列),因此表 2.4 中(x11)為第一基變數,供應狀態 1 無剩餘供應

(26)

17 Vogel 近似法對於尚在考慮的各欄各列,計算其差額。差額定義為各欄或各列需考慮 的成本中,最小與次小的成本差。由差額最大的欄列中,再選出其成本最小的變數。以表 2.5 所示,選擇列差與欄差最大值 x23為基變數分配量為 1,刪除列 2。再次反覆計算列差 與欄差最大值,以選擇下一個基變數。 表2.4 西北角法 成本(cij) 供\需 4 5 6 供應量 2 3 1 1 1 1 2 4 4 2 0 1 1 3 4 3 3 0 1 1 需求量 1 1 1 表2.5 Vogel 近似法 成本(cij) 供\需 4 5 6 供應量 列差 2 3 1 1 1 1 2 4 4 2 1 1 2 3 4 3 3 1 1 需求量 1 1 1 欄差 1 1 2 選擇x23 = 1 刪除列2 表2.6 Russell 近似法 △ij = cij – ui – vj 供\需 4 5 6 供應量 ui 2 3 1 1 -4 -1 -6 1 3 2 4 4 2 -5 -4 -4 1 4 3 4 3 3 -4 -4 -5 1 4 需求量 1 1 1 vj 3 4 4 選擇x13 = 1 刪除列1 Russell 近似法則是對於尚在考慮的每一個源點列中,找出留在該列中最大的單位成 本,令其為 ui。對於尚在考慮的每一個源點欄中,找出留在該欄中最大的單位成本,令其 為vi。對於尚未選定的xij,計算其△ij = cij – ui – vj,選擇具有最大負值△ij的變數。以表2.6 為例,找出各行列的最大值ui及vi,計算其△ij = cij – ui – vj,選擇最大負值△ij為x13為基 變數分配量為1,刪除列 1。再次反覆找出列與欄最大值,以選擇下一個基變數。 三種初始解的標準方法中,西北角法主要優點為快速容易,然而未考慮到路徑成本的 因素,因此西北角法求得的初始解會離最佳解很遠。Vogel 近似法易於手算,因為差額代

(27)

18 表未能分配至最小成本的列或欄所需額外付出的最小成本,因此Vogel 近似法以有效考慮 成本因素。Russell 近似法在電腦的執行速度很快,因 Russell 近似法在 ui和vi的定義方式 與可估計cij – ui – vj的值,可以簡化電腦程式,也有考慮到最小成本的因素。由以上分析 Russell 近似法與 Vogel 近似法皆能得到較好的解。 對於兩種解法複雜度而言,線性規劃模式複雜度為 O(n3)[27],n 為變數個數亦為網路 中的邊界數;運輸模式複雜度為O(m×n2)[27],m 與 n 分別為網路中供應點和需求點個數。 本研究針對斐氏圖所產生的狀態可達圖實作中國郵差問題解法,其中狀態可達圖的邊界數 必定會多於節點數,以計算時間為考量,因此本研究選擇以運輸模式求解。運輸模式問題 模式有三種標準方法選擇初始解,由於本研究運用爪哇程式語言撰寫,Russell 近似法與最 佳解檢測有相同的定義方式,可簡化程式撰碼,故採用Russell 近似法求得運輸的初始解。

2.4

生產循環

可達圖可利用圖論之符號矩陣(Symbol Matrix)來找出所有的循環(Cycle)[17]。圖 2.16 之可達圖可用8 乘 8 矩陣來表達,如圖 2.17。其中的數值是表示可達圖中的某一個狀態可 達另一個狀態,例如12 表示狀態 1 可達狀態 2。計算 S 的次冪,並對照對角線元素值便可 得循環數[1],如圖 2.18。 圖2.16 可達圖 0 12 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 34 0 0 0 38 0 0 0 0 45 0 0 0 0 52 0 0 0 56 0 0 0 0 63 0 0 0 67 0 0 0 0 74 0 0 0 0 81 0 0 0 85 0 0 0 S ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎣ ⎦ 圖2.17 符號矩陣 S m m m m m m m m

(28)

19 4 12381 0 0 0 12345 12385 0 0 0 23452 23812 0 0 0 0 23456 23856 0 0 23852 38123 34523 0 0 34563 38523 0 0 0 34567 38567 0 38563 45234 45634 0 0 0 0 0 0 45238 45638 45674 52345 52385 52381 56381 0 0 0 56345 56385 0 0 0 56745 63452 67452 0 63 S + + + + + + + + + + + + = + + + + + + + 63456 67456 0 0 0 0 0 812 63852 63856 0 0 74523 74563 0 0 0 74567 0 81234 85234 81238 85238 0 0 0 0 0 0 85634 85674 85638 ⎡ ⎤ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ + ⎥ ⎢ ⎥ + + ⎢ ⎥ ⎢ + ⎥ ⎢ ⎥ + + ⎢ ⎥ ⎢ + + + ⎥ ⎢ ⎥ ⎣ ⎦ 圖2.18 符號矩陣 S4 由圖 2.18 所示,由 S4矩陣的對角線,可以求出六個循環:C1,C2,C3,C4,C5, C6。其狀態轉移模式如下:C1:[1][2][3][8][1],C2:[4][5][6][3][4],C3:[5][6][3][8][5], C4:[2][3][8][5][2],C5:[2][3][4][5][2],C6:[4][5][6][7][4]。進而發現 S5,S6的對角線已 無循環,最後符號矩陣為0。因此知道此可達圖無其他的循環

(29)

20

第三章 規範測試程式架構設計

本章將說明如何利用斐氏圖套裝軟體所產生的狀態可達圖,更進一步推導出最小成本 的歐依勒ㄧ筆畫路徑。3.1 節說明自動化規範測試路徑應用流程,3.2 節說明規範測試程式 基本架構圖,第3.3 節說明如何利用可達圖資料分析鎖死狀態,3.4 節說明如何運用無鎖死 狀態的可達圖,透過運輸模式的計算找出最少加邊路徑,3.5 節說明當加邊路徑確定後, 運用修正Fleury's 演算法導出歐依勒路徑。

3.1

自動化規範測試路徑應用流程

製造執行系統在開始量產製造產品前,必須先經過規範測試;特別是製造系統自動化 後,製造加工步驟是透過電腦系統的決策系統自動控制現場機台,如圖 3.1 所示。規範測 試可透過電腦系統自動控制現場的機台運作,同時透過網際網路監控現場實際運作狀況與 電腦決策系統模擬的一致性,用以確保執行系統中所有狀態轉換皆為順暢可行,並且不會 發生任何搶資源而造成的鎖死問題。通過規範測試的自動化製造執行系統才能開始實際運 作。 圖3.1 自動規範測試軟體應用示意圖 本論文是採用爪哇程式語言撰寫而成,而其流程如圖 3.2 所示。自動化規範測試系統

設計包含四個模組,分別為活可達圖(Live Reachability Graph)模組、歐氏有向圖模組、測 試序列模組、循環分析模組。仰賴斐氏圖套裝軟體的發展,可自動化產生設計階段的狀態 可達圖檔案。自動化規範測試路徑系統讀取並分析此可達圖檔案後,首先進行活可達圖模 組分析,刪除可達圖內所有鎖死狀態,確保此可達圖具有活性。緊接著,判斷具有活性的 可達圖是否為歐氏有向圖,若無,則進行歐氏有向圖模組分析,藉由中國郵差理論中運輸 模式演算法,將可達圖藉由加邊方式轉換為歐氏有向圖。若此活的可達圖已是歐氏有向 圖,則可進行測試序列模組分析,藉由廣益 Fleury’s 演算法,自動產生一條最短測試序列 路徑,以便於檢測所有系統狀態。此外,藉由活可達圖模組分析後具有活性的可達圖,可 進行循環分析模組的分析,透過符號矩陣的對角線元素,找出具有相同製程效果的生產循

(30)

21

環。本論文能大幅縮短測試每個系統狀態的測試時間,並能套用在所有斐氏圖模型的可達 圖檔案。本論文的規範測試路徑可透過自動化監控軟體進行狀態轉換測試,利用自動化監 控軟體控制製造現場,同時可檢驗模擬軟體是否製造現場的狀態變化同步。

圖3.2 規範測試路徑軟體分析應用流程圖

規範測試路徑軟體設計細節以 IDEF0 表示之如圖 3.3。IDEF0 於 1985 年由 Ross,D.T 教 授 所 提 出 的 結 構 化 分 析 與 設 計 技 術(Structure Analysis and Design Techniques, SADT)[33] , 1993 年 定 為 美 國 國 家 標 準 與 技 術 局 (National Institute of Standards and Technology, NIST)第 183 號標準,具有功能性的系統架構工具,用於分析系統流程。IDEF0

表達圖中間的方框代表處理作業,左邊箭號代表輸入項目,右邊箭號代表輸出項目。圖3.3 規範測試路徑軟體之需要輸入可達圖加註語言檔案,經過規範測試路徑處理作業後,可輸 出規範測試路徑。主流程規範測試路徑處理作業其子流程為四項作業處理於第 3.2 節詳細 介紹。 測試序列模組: 製造系統設計 P3 軟體繪製 斐氏圖模型 INA 產生可達圖檔案 斐氏圖加註語言 自 動 化 規 範 測 試 路 徑 軟 現 場 製 造系統 自動化 監控軟體 中國郵差問題 (運輸模式演算法) 廣義Fleury’s 演 算法 可達圖 為歐氏圖 測試序列 (歐氏迴徑) 活可達圖模組: 歐氏有向圖模組: 是 否 符號矩陣 對角線元素 循環分析模組: 等效生產循環 (派工法則) 產生活可達圖

(31)

22

(32)

23

3.2

規範測試路徑處理作業程式架構

圖3.4 為規範測試程式設計的 UML[16]圖,使用者可藉由操作介面觸發軟體中各個步 驟的程式類別。整個使用者操作介面包含三大工具列,其一為主功能表,包含開啟檔案, 清除檔案,以及系統資訊三個部分:開啟檔案按鍵,系統可讀取副檔名為.gra 的可達圖檔 案,並將檔案內容顯示於螢幕上;清除檔案按鍵,系統可清除前一份可達圖專案資料,以 便於進行另一專案的操作;系統資訊按鍵,為提供使用者了解此軟體功能。其次,為了區 別規範測試與生產循環兩大主題,分別用兩個Tabbed Panel 區別兩主題的操作按鈕。規範 測試分析作業中,包含活可達圖模組,歐氏有向圖模組,測試序列模組三個按鍵,分別觸 發不同的程式類別。生產循環分析作業中,包含循環分析模組按鍵,進行等效的生產循環 分析。本論文將在第三章 3.3 節之後,針對主功能表的讀取檔案處理作業及規範測試處理 作業做詳細的介紹。並於第四章,針對生產循環分析部分做詳細的介紹。 圖3.4 規範測試程式設計 UML 圖 第三章 第四章 openbutton ButtenListener openFile(),如圖 3.9 fleurybutton ButtenListener fleury(),如圖 3.17 deadlockzone ButtenListener costFile(),如圖 3.11 deadlockTest(),如圖 3.10 cpa ButtenListener cpaTest(),如圖 3.14 GUI clearFile ButtenListener exitFile() informationItem ButtenListener JOptionPane 規範測試路徑 Tabbed Panel1 deadlockzone cpa fleurybutton 生產循環分析 Tabbed Panel2 cyclebutton cyclebutton ButtenListener cycle(),如圖 4.1 主功能表 JManuBar openbutton clearFile informationItem

(33)

24 推導出規範測試路徑軟體的主程式流程如圖 3.5 所示,包含四個主要作業處理,分別 為讀取檔案、鎖死分析、運輸模式加邊計算與歐依勒路徑計算。首先讀取欲分析的可達圖 檔案,由檔案裡分析出狀態間轉移點資訊、路徑成本資訊與狀態間路徑資訊,其次進行鎖 死分析。鎖死分析是爲確保所有狀態都可回到初始狀態,根據路徑成本資訊計算出鎖死狀 態,找出會進入鎖死狀態的鎖死區域,刪除所有位於鎖死區域的狀態,使其斐氏圖具有活 性,代表所有的狀態都能互相轉換,隨後進行運輸模式分析。運輸模式分析依據狀態路徑 資訊、路徑成本資訊與鎖死區域資訊,找出需要重複行經的路徑,並最小化重複路徑,輸 出狀態加邊資訊。最後歐依勒路徑計算接收狀態加邊資訊與狀態路徑資訊,透過Fleury 演 算法,算出歐依勒路徑,並整合狀態轉移點資訊輸出一條規範測試路徑。 圖3.5 規範測試路徑軟體程式流程架構 表 3.1 為程式設計中,各類別的變數設定及變數意義,將在第 3.3 節中介紹,由 openbutton 觸 發 的 openFile() 類 別 程 式 執 行 ; 第 3.4 節 鎖 死 分 析 處 理 作 業 介 紹 , 由 deadlockzone 按鍵觸發的 costFile()及 deadlockTest()類別程式的執行方式;第 3.5 節運輸模

式處理作業介紹,由 cpa 按鍵觸發的 cpaTest()類別程式的執行方式;第 3.6 節歐依勒路徑

處理作業介紹,由 fleurybutton 按鍵觸發的 fleury()類別程式的執行方式。第四章將介紹生

(34)

25 表3.1 程式各類別變數設定及意義 類別 openFile() 讀取檔案 變數名稱 變數類型 變數意義 -cost[][] int 成本變數儲存 -transition[][] int 轉移點變數儲存 -euler1[][] int 有幾個路徑 count int 計算有幾個狀態 類別 costFile() 計算所有路徑成本 變數名稱 變數類型 變數意義

sum int 紀錄是否替換cost

-cost[][] int 成本變數儲存 -map[][] String 記錄需要加邊的路徑 類別 deadlockTest() 刪除連接到鎖死狀態的路徑 變數名稱 變數類型 變數意義 -inputarc[] int 進去此狀態次數 -outputarc[] int 由狀態出去次數 類別 cpaTest() 歐氏有向圖模組 變數名稱 變數類型 變數意義 supply[] int 紀錄供應量 demend[] int 紀錄需求量 supplypoint[] int 紀錄供應狀態 demendpoint[] int 紀錄需求狀態 costcal[][] int 供需成本表 road[][] int 供需成本表計算後節點 rowresidual[] int 最佳化測試列剩餘值 columnresidual[] int 最佳化測試行剩餘值 類別 fleury() 測試序列模組 變數名稱 變數類型 變數意義 euler[][] int 計算用的路徑 costF[][] int 重新紀錄的成本矩陣 costG[][] int 計算用的成本矩陣 not int 紀錄不能走的路 下一個迴圈的初始點 state int 紀錄總路徑數 passpath int 錄已走過幾條路 類別 cycle() 循環分析模組 變數名稱 變數類型 變數意義 availablestate int 可用狀態數 cyclepoint int 第幾次循環擁有等效生產週期現象 manufacturCycle[] int 儲存生產循環 cyclestring String 暫存初始狀態轉換資訊為字串 cycle[] String 展開樹陣列 cycleshow[] String 回到原始狀態的展開樹字串存至此 countlist[] int 狀態轉移次數 countlist2[] int 回到原始狀態的狀態轉移次數 cyclenumber[] int 具有相同轉移次數的狀態數

exitcycle boolean 檢驗有無Cycle

startnumber String 紀錄讀取的點

last String 紀錄讀取的點

bag Set 儲存狀態轉移的狀態組合

bag2 Set 儲存狀態轉移的狀態組合2

(35)

26

3.3

讀取檔案處理作業

以往系統狀態可達圖是由人工繪製,隨著系統複雜度與日俱增,系統變化狀態也成指 數型爆炸。至今,透過斐氏圖加註語言標準化斐氏圖格式,運用斐氏圖加註語言發展而成 的斐氏圖套裝軟體逐漸被開發,系統狀態可達圖的繪製已非遙不可及的夢想。 本節主要描述如何由斐氏圖模型產生可達圖加註語言檔案[5, 6],並由規範測試路徑軟 體讀取檔案資料。圖3.6(a)為利用斐氏圖繪製軟體 P3,所描述液體加熱系統斐氏圖模型[2]。 圖 3.6(b)為圖 3.6(a)斐氏圖模型所轉換而成的部份斐氏圖加註語言 pnml 檔案,斐氏圖加註 語言將斐氏圖以圖形的表現方式轉換為文字輸出,由檔案中的資料可讀取出斐氏圖產生的 狀態總數,狀態可經由哪些觸發到下一個狀態,每個狀態中暫存點的浮標分佈。圖 3.7 為 斐氏圖套裝軟體INA,斐氏圖模型轉換為斐氏圖加註語言後,可利用 INA 進行斐氏圖特性 分析,包含不變量分析、屬性分析、可達圖分析等。圖3.8(a)為圖 3.6(a)斐氏圖模型的狀態 可達圖,而圖3.8(b)可達圖檔案則是利用圖 3.7 套裝軟體 INA 將圖 3.6(b)的斐氏圖加註語言 進行分析後,以文字方式輸出的可達圖資訊。本研究則是運用圖3.8(b)的可達圖文字資訊, 作進一步的分析推導。 (a) 液體加熱系統斐氏圖模型 (b) 斐氏圖模型轉換而成斐氏圖加註語言 圖3.6 斐氏圖模型轉換斐氏圖加註語言 圖3.7 斐氏圖套裝軟體 INA

(36)

27 (a) 可達圖 (b) 可達圖輸出格式 圖3.8 可達圖輸出檔案格式 圖 3.8(b)可達圖輸出檔案包含狀態浮標資訊與狀態轉移資訊,然而規範測驗路徑軟體 只需讀取狀態轉移資訊,並將狀態轉移資訊分別儲存為狀態間轉移點資訊、路徑成本資訊 與狀態間路徑資訊,如圖 3.9 所示。表 3.2 為讀取可達圖檔案後輸出的三大資訊與對應程 式陣列及意義。 圖3.9 讀取資料處理作業子流程 IDEF0 表示圖 表3.2 狀態間轉移點資訊、路徑成本資訊與狀態間路徑資訊陣列儲存意義 陣列名稱 意義 狀態轉移資訊 euler1[i][j] 由狀態i 至狀態 j 有路徑:euler1[i][j]=1 無路徑則euler1[i][j]=無限大 狀態間轉移點資訊 transition[i][j]=轉移點 由狀態 i 至狀態 j 觸發的轉移點 路徑成本資訊 cost[i][j] 由狀態i 至狀態 j 有路徑:cost[i][j]=1 無路徑則cost[i][j]=無限大 狀態浮標資訊 狀態轉移資訊

(37)

28

3.4

活可達圖模組分析處理作業

活可達圖模組分析是爲了確保系統在進行狀態轉移時,不會落入鎖死區域,用以保證 每個狀態都能經過一連串的觸發後回到原始狀態[10, 35]。因此程式在讀入可達圖資料後, 須先將狀態分類,找出鎖死區域的狀態,並給予刪除之。因為下一階段運輸模式分析中, 需要分類出系統狀態的供應點與需求點。對鎖死狀態而言,具有進入鎖死狀態的邊界,卻 沒有由鎖死狀態出發的邊界,若執行運輸模式分析前未進行鎖死分析,則鎖死狀態也會被 歸類為供應點(bn > 0),然而鎖死狀態並無邊界能觸發到其他狀態,將導致程式無法得出歐 依勒路徑。 活可達圖模組分析處理作業如圖3.10 所示。首先由讀取檔案處理作業中輸入直接路徑 成本資訊,進行路徑成本計算處理作業,由於有些狀態間並無直接轉移點轉換,而是需要 經由多個轉移點轉換連結,狀態轉移路徑成本分析的演算法將於第 3.4.1 節詳細描述。由 路徑成本計算處理作業輸出所有狀態路徑成本資訊,進行鎖死狀態篩選處理作業,篩選出 路徑成本為無限大的路徑,標註為鎖死區域狀態,並於螢幕中顯示出來。 圖3.10 活可達圖模組分析處理作業子流程 IDEF0 表達圖

3.4.1

路徑成本計算處理作業

本研究進行狀態轉移路徑成本分析的演算法如下所示: 1. 狀態若能經過一個觸發至另一狀態,則將連接兩狀態的邊界路徑成本設為 1。 2. 兩狀態間若無法透過ㄧ個觸發轉移,則先將連接兩狀態路徑成本設為無限大。 3. 若狀態(i)至狀態(j)路徑成本為 1,找尋可由狀態(j)觸發到的新狀態,將狀態(i)至(j) 的路徑成本與狀態(j)至新狀態的路徑成本相加。若狀態(i)至新狀態的路徑成本低於舊的路 徑成本,則取代之。圖3.11 為程式設計路徑成本計算流程圖。 4. 重複步驟三,直到路徑成本不在變動為止。 5. 若兩狀態路徑成本依舊為無限大,則可判定這兩狀態的出發狀態為鎖死狀態。

(38)

29 圖3.11 路徑成本計算流程圖 路徑成本[i][j]小 於無限大 路 徑 成 本[j][k] 小於無限大 總和(sum)=[i][j]+ [j][k] 路 徑 成 本[i][k] 大於sum 總和(sum)=[i][j]+ [j][k] 是 否 否 是 j++ j 小於總狀態 i++ i 小於總狀態 k++ k 小於總狀態 是 否 是 否 是 否 執行次數++ 執行次數小於 (總狀態數+20)/10 是 否 狀態路徑成本 否 起始 結束

(39)

30 鎖死狀態演算法進行方式如下所示。由圖 3.6(a)液體加熱系統斐氏圖模型的狀態轉移 可達圖如第3.3 節圖 3.8 所示,狀態以大寫 S 表示,由圖上可直接觀測出 S1 至 S2 有直接 觸發路徑,因此將S12 路徑成本設為 1,以此類推,S2S3、S3S4、S3S9、S4S5、S4S7、S9S7、 S9S10、S5S6、S7S6、S7S8、S10S8、S6S1、S8S1 路徑成本初始狀態皆設為 1,其餘的狀 態轉移路徑成本預設為無限大,將各狀態轉換的初始預設路徑成本表示如表 3.3,在此無 限大的路徑成本設為500。 表3.3 液體加熱系統狀態轉移預設路徑成本 狀態轉換 成本路徑表 1 2 3 4 5 6 7 8 9 10 1 500 1 500 500 500 500 500 500 500 500 2 500 500 1 500 500 500 500 500 500 500 3 500 500 500 1 500 500 500 500 1 500 4 500 500 500 500 1 500 1 500 500 500 5 500 500 500 500 500 1 500 500 500 500 6 1 500 500 500 500 500 500 500 500 500 7 500 500 500 500 500 1 500 1 500 500 8 1 500 500 500 500 500 500 500 500 500 9 500 500 500 500 500 500 1 500 500 1 10 500 500 500 500 500 500 500 1 500 500 表3.4 第一次路徑成本推導 狀態轉換 成本路徑表 1 2 3 4 5 6 7 8 9 10 1 500 1 2 500 500 500 500 500 500 500 2 500 500 1 2 500 500 500 500 2 500 3 500 500 500 1 2 500 2 500 1 2 4 500 500 500 500 1 2 1 2 500 500 5 2 500 500 500 500 1 500 500 500 500 6 1 2 3 500 500 500 500 500 500 500 7 2 3 4 500 500 1 500 1 500 500 8 1 2 3 500 500 500 500 500 500 500 9 3 4 5 500 500 2 1 2 500 1 10 2 3 4 500 500 500 500 1 500 500 表3.5 重複執行演算法步驟三得出最後路徑成本 狀態轉換 成本路徑表 1 2 3 4 5 6 7 8 9 10 1 6 1 2 3 4 5 4 5 3 4 2 5 6 1 2 3 4 3 4 2 3 3 4 5 6 1 2 3 2 3 1 2 4 3 4 5 6 1 2 1 2 6 7 5 2 3 4 5 6 1 6 7 5 6 6 1 2 3 4 5 6 5 6 4 5 7 2 3 4 5 6 1 6 1 5 6 8 1 2 3 4 5 6 5 6 4 5 9 3 4 5 6 7 2 1 2 6 1 10 2 3 4 5 6 7 6 1 5 6

數據

圖 2.5  XML 與網路互動運用情形[4]
圖 3.2  規範測試路徑軟體分析應用流程圖
圖 3.3  規範測試路徑軟體之 IDEF0 表達圖
圖 3.15  Lindo 驗證液體加熱系統運輸模式解
+2

參考文獻

相關文件

在「If A then B」中, A 是 前設B 是果。如前設為真 ,

If the subset has constant extrinsic curvature and is a smooth manifold (possibly with boundary), then it has an explicit intrinsic lower curvature bound which is sharp in

If x or F is a vector, then the condition number is defined in a similar way using norms and it measures the maximum relative change, which is attained for some, but not all

Then, based on these systematically generated smoothing functions, a unified neural network model is pro- posed for solving absolute value equationB. The issues regarding

A subgroup N which is open in the norm topology by Theorem 3.1.3 is a group of norms N L/K L ∗ of a finite abelian extension L/K.. Then N is open in the norm topology if and only if

a) Excess charge in a conductor always moves to the surface of the conductor. b) Flux is always perpendicular to the surface. c) If it was not perpendicular, then charges on

If we want to test the strong connectivity of a digraph, our randomized algorithm for testing digraphs with an H-free k-induced subgraph can help us determine which tester should

If P6=NP, then for any constant ρ ≥ 1, there is no polynomial-time approximation algorithm with approximation ratio ρ for the general traveling-salesman problem...