//Logo Image
作者:陳嘉文,徐業良(1999-07-27),推薦:徐業良(2001-06-19);最近更新:劉子吉(2005-09-02)

單調性分析電腦邏輯程式MONO使用說明

單調性分析原理雖然不複雜,然而如果設計者所分析的最佳化設計數學模型中,設計變數與限制條件的數目過多時,單調性分析的分析過程將變得十分繁雜。單調性分析的邏輯程式MONO”即在輔助讀者學習嚴謹的單調性分析過程,並輔助分析較繁雜的問題。

這份使用說明,主要是介紹MONO的發展背景與程式架構,以及如何在PC個人電腦上使用單調性分析邏輯程式MONO,來對最佳化設計問題作單調性分析。在這裡我們假設使用者了解PC的基本操作,且已經研讀過單調性分析法,知道如何建立最佳化設計問題的單調性分析表。

1.     MONO的發展背景

1980年代開始,許多篇論文都在討論如何將單調性分析過程寫成自動化電腦程式。ZhouMayne[1983]在他們的電腦程式NAMA中使用到第一單調性分析原則,在這程式中使用者以交談式方法來消去有效的限制條件。AzarmPapalambros[1984]則發展出ACCME程式,這個程式應用到第一與第二單調性原則,它能經過分析找出有效的限制條件。LiPapalambros[1985]將單調性原則寫入知識庫,而發展出可求得最佳化模型整體資訊(global information)的生產系統(production system)。另外ChoyAgogino[1986]Agogino[1987]AgoginoAlmgren[1987],在他們的程式SYMON裡,將符號的操作(symbolic manipulation)融合於單調性分析的分析過程中。HansenJaumardLu[1989]也將電腦代數系統(computer algebra system)MACSYM包含在他們的程式BAGOP中,用來消掉有效的限制條件。此外,此程式也用到較嚴格的擴展單調性原則。

前述這些系統主要強調重點仍在於以數值的方法去解最佳化設計問題,而以單調性分析中有關限制條件有效性的知識做為輔助。RaoPapalambros[1991]則發展出一套專重在求取有關最佳化模型知識的生產系統PRIMAPRIMA是以OPS5專家系統工具所寫成的,在此程式中也有用到內隱式消去法來消掉有效的限制條件。

如同前述的PRIMA系統,這裡所介紹的單調性分析電腦程式MONO,也是專重在最佳化模型整體定性知識的求取,諸如那些變數是不相關的,那些是無限制的;那些限制條件是具關鍵性的,那些是不具關鍵性的,與那些是有條件式關鍵性的。而MONO在邏輯上的嚴謹性以及程式上的功能,均更勝於前述的幾個系統。

MONO是以C語言寫成的邏輯性電腦程式,它同時使用了單調性分析原則和擴展的單調性分析原則。此程式能以嚴謹的邏輯自行產生單調性分析的分析步驟,而不採用任何經驗法則。MONO最初發展的主要目的在於將它設計為一種教育性的單調性分析程式,所以除了有設計模型的整體知識之外,並且在程式執行結束後的輸出檔裡,詳細地記錄著所有的分析步驟。此外,MONO也用到內隱式消去法來消掉有效的限制條件。

當分析模型裡存在有條件式關鍵性的限制條件時,MONO程式另外有一個副程式來分析此類設計模型的條件分析,這也是其它系統所沒有的功能。除此之外,MONO的另一項獨特功能是能將數學型式的分析結果轉釋成有關設計模型的設計法則,而這些設計法則有助於設計者對其設計模型有深入的瞭解,並且可適用於同類型的設計上。

2.     系統安裝與程式架構

單調性分析電腦邏輯程式MONO需安裝於Microsoft Windows作業系統,安裝所需硬碟空間約4MB以上。安裝程式時請點選“setup.exe”進入安裝畫面,安裝程式路徑之目錄資料夾不能超過8個字元【建議安裝目錄→C:\mono】。安裝完成後會在程式集內建立一個程式捷徑“單調性分析輔助程式”,點選此捷徑即可執行程式。若要移除此程式,請執行Windows控制台中的“新增∕移除程式”,但此程式使用過程中新建立之檔案(如輸入檔、輸出檔、規則檔),需自行至安裝的目錄中移除。其他相關注意事項請參考安裝目錄中“readme.txt”檔案。

本程式架構分成單調性分析表建構以及執行單調性分析兩大部分。在分析表建構方面利用表格化輸入,減少使用者在建立MONO輸入檔時的不便,在建立分析表時需先將最佳化設計模型轉換成標準型式,再依標準形式輸入設計變數、等式限制條件、不等式限制條件個數(為避免程式負荷過大,變數及限制條件個數均有所限制),及依照標準形式之變數單調性正負符號,完成單調性分析表的建立。進行分析時先開啟輸入檔,再點選工具列或控制台中的“執行”即可產生輸出檔及規則檔。

1. 單調性分析程式架構

3.     MONO使用範例說明

MONO的操作大抵可分為四個步驟:建立單調性分析表,建立MONO輸入檔,執行MONO程式,檢視MONO輸出檔內容。以下便以講義第一章中車輛起重器輕量化設計為範例,詳細說明這四個步驟。

步驟一 建立單調性分析表

2是一個經常隨附在汽車行李箱內,更換備胎時用來頂起車子的手搖式車輛起重器的略圖。起重器由四根連桿構成,每根連桿是由兩個桿件兩端夾著中心軸承組合而成,起重器中央的水平橫軸兩端有反向螺紋,手搖轉動水平橫軸旋轉時能使連桿角度q變化到

2. 車輛起重器的略圖

這種隨車使用的小型起重器,能夠舉起一定重量而不發生破壞(主要是受壓側潰(bucking))是基本設計要求。在使用上輕量化是一個重要的要求,此外還有一些使用上的考慮,例如高度必須能放入汽車底盤下方,以及必須能舉起一定高度等。

因此這個設計問題的目的在求全部連桿體積v=8lbh的最小值,其中lb分別是連桿的長度和寬度,而h是桿件的厚度。由於組合上的考慮,桿件厚度不能厚於,且為了避免桿件受壓力時發生側潰,在一桿件上的最大壓縮力應小於桿件的臨界荷重,且由尤拉公式可知,,其中

再由點A的力平衡可以計算出,,其中是起重器所要舉起的最大重量。為了適用於車底盤下,起重器的總高度須低於底盤高度(即),且起重器能舉起車輛至少的高度,因此

這個車輛起重器的輕量化設計問題,可以寫成如下最佳化模型標準形式:

        min.  v

        s.t.    H1 = v - 8lbh = 0,

                G2 = h - Hmax  0,

                G3 = fmax - Pcr  0,

                H4 = Pcr -  = 0,

                H5 = i -  = 0,

                G6 = Wmax - 4fmaxsinqmax   0,

                G7 = 2lsinqmax - K1  0,

                G8 = -2lsinqmax + K2  0,

                all variables > 0.                                                                               (1)

其中小寫字母vlbhfmaxpcri為設計變數,大寫字母K1K2HmaxWmaxEqminqmax為設計參數,Cp則為常數。

接著我們根據這個最佳化模型標準形式來建立其單調性分析表如下:

1. 車輛起重器之單調性分析表

 

v

l

b

h

f

p

i

F

+

.

.

.

.

.

.

G2

.

.

.

+

.

.

.

G3

.

.

.

-

+

-

.

G7

.

+

.

.

.

.

.

G6

.

.

.

.

-

.

.

G8

.

-

.

.

.

.

.

H1

+

-

-

-

.

.

.

H4

.

+

.

.

.

+

-

H5

.

.

-

-

.

.

+

步驟二 建立MONO輸入檔

建立MONO的輸入檔時,只要在普通的文書處理器(如notepad編輯即可。前述車輛起重器設計問題,其輸入檔的內容如表2所示。

2. 車輛起重器MONO輸入檔內容

7  * 設計變數總數

v=總體積.

l=連桿長度.

b=連桿寬度.

h=連桿厚度.

f=最大壓應力.

p=臨界荷重.

i=連桿慣性矩.

 

5 * 不等式限制條件總數

G2=連桿寬度(<=)Hmax.

G3=最大壓應力(<=)臨界荷重.

G6= Wmax (<=)節點B的合力.

G7=總高度(<=)底盤高度K1.

G8=最小高度K2 (<=)總高度.

 

3 * 等式限制條件總數

H1=總體積(==)8lbh.

H4=臨界荷重(==)Euler方程式.

H5=慣性矩(==)bh3/12.

 

      v     l     b     h     f     p     i    

F0    +     .     .     .     .     .     .

G2    .     .     .     +     .     .     .

G3    .     .     .     -     +     -     .

G6    .     .     .     .     -     .     .

G7    .     +     .     .     .     .     .

G8    .     -     .     .     .     .     .

H1    +     -     -     -     .     .     .

H4    .     +     .     .     .     +     -

H5    .     .     -     -     .     .     +

為了減少使用者在編輯輸入檔的不便以及輸入格式疏失而造成無法執行,MONO提供一視窗介面方便使用者建立MONO輸入檔,以下為視窗化的建立單調性分析輸入檔的操作流程。

開啟MONO控制台中“分析表建立”選項,輸入設計變數、等式限制條件以及不等式限制條件的個數(如圖3)。

3. 建立單調性分析輸入檔主畫面

(1) 分別輸入各設計變數符號及其敘述(如圖4)。在說明部分可以簡明或詳盡,端視使用者所希望最後產生設計規則的形式。

4. 輸入各設計變數符號及其敘述

(2) 分別輸入各不等式限制條件敘述(如圖5),敘述方式以使用者本身可以明瞭為主,但注意此處不等式限制條件以“≦”的形式表示。同樣的,在每一限制條件的描述可以簡明或詳盡,端視使用者所希望最後產生設計規則的形式。視窗右上方“範例”按鈕可提供敘述輸入範例。

5. 不等式限制條件建立

(3) 分別輸入各等式限制條件敘述(如圖6)。

6. 等式限制條件建立

(4) 輸入各設計變數的單調性,並存成副檔名為“.inp”的輸入檔(如圖7)。

7. 單調性分析表建立

存成輸入檔後,從控制台開啟輸入檔(注意開啟的檔案大小不得超過30K,超過此大小可利用Windows附屬應用程式中WordPad觀看),即可得到與表2相同的輸入檔內容。從表2的內容可以看出,MONO輸入檔的內容可分為4個部份。在第一部份主要是設定設計問題的設計變數數目以及對每個設計變數做一定義,例如“l=連桿長度.”。第二部份主要是設定不等式限制條件的數目以及每個限制條件的描述,例如“G2=連桿寬度(<=)Hmax.”。第三部份則是設定和描述等式限制條件,第四部份是最佳化問題的單調性分析表。

步驟三 執行MONO程式

在建立最佳化問題的輸入檔後,便可進入MONO中開啟輸入檔(如圖8),選擇控制台中“執行”的按鈕即可執行單調性分析。

8. 開啟輸入檔並執行的畫面

步驟四 檢視MONO輸出檔內容

MONO分析完畢後,便會產生主檔名與輸入檔相同的輸出檔(副檔名為“.out”)及規則檔(副檔名為“.rus”)。輸出檔裡主要內容是有關設計問題的單調性分析步驟與它的整體資訊,如圖9即為車輛起重器經MONO分析所得到的輸出檔。

9. MONO分析後輸出檔畫面

至於規則檔的內容則是把輸出檔中的整體資訊(GLOBAL FACTS)數學形式的分析結果轉釋成較口語化的設計法則,如圖10即為車輛起重器經MONO分析所得到的規則檔內容。

10. MONO分析後規則檔畫面

◇作業5

利用MONO重複執行車輛起重器最佳化設計問題之單調性分析。你是否可以得到和本文相同之結果?試以單調性原則逐條解釋MONO輸出檔之內容。◇

◇作業6

利用MONO執行先前討論過懸臂樑或壓力容器最佳化設計問題之單調性分析。你是否可以得到和本文相同之結果?試以單調性原則逐條解釋MONO輸出檔之內容。◇

參考資料

Agogino, A. M., 1987. “AI in Design: Qualitative Reasoning and Symbolic Computation.” Proceedings of the NSF Workshop On Study of the Design Process, Oakland, CA, pp. 263-292.

Agogino, A. M., and Almgren, A. S., 1987. “Techniques for Integrating Qualitative Reasoning and Symbolic Computation in Engineering Optimization.” Engineering Optimization, Vol. 12, No. 2, pp. 117-135.

Azarm, S., and Papalambros, P., 1984. “An Automated Procedure for Local Montonicity Analysis.” ASME Journal of Mechanisms, Transmissions, and Automation in Design, Vol. 106, pp. 82-89.

Choy, J. K., and Agogino, A. M., 1986. “SYMON: Automated Symbolic Monotonicity Analysis System for Qualitative Design Optimization.” ASME Proceedings of the 1986 International Computers in Engineering Conference, July 24-26, Chicago, IL, pp. 207-212.

Hansen, P., Jaumard, B., and Lu, S. H., 1989. “An Automated Procedure for Globally Optimal Design.” ASME Journal of Mechanisms, Transmissions, and Automation in Design, Vol. 111, No. 3, pp. 361-367.

Li, H. L., and Papalambros, P., 1985. “A Production System for Use of Global Optimization Knowledge.” ASME Journal of Mechanisms, Transmissions, and Automation in Design, Vol. 107, pp. 277-284.

Rao, J. R., and Papalambros, P. Y., 1991. “PRIMA: A Production-Based Implicit Elimination System for Monotonicity Analysis of Optimal Design Models.” ASME Journal of Mechanical Design, Vol. 113. pp. 408-415.

Zhou, J., and Mayne, R. W., 1983. “Interactive Computing in the Application of Montonicity Analysis to Design Optimization.” ASME Journal of Mechanisms, Transmissions, and Automation in Design, Vol. 105, pp. 181-186.