2008年10月27日 星期一

動態規則以lingo運算

生產理論與成本分析-------HOMEWORK 1

動態規則以lingo運算

背包問題(以林志蒼學長教學例題為例)

 

             種類        要處理工作    每件需要天數          價值評點

                   1                       4                       1                      2

                   2                       3                       3                      8

                   3                       2                       4                    11

                   4                       2                       2                    20

 

求最佳價值組合

 

Lingo的程式

max=2*x1+8*x2+11*x3+20*x4;

x1+3*x2+4*x3+7*x4<=10;

x1<=4;

x2<=3;

x3<=2;

x4<=2;

@GIN( x1);

@GIN( x2);

@GIN( x3);

@GIN( x4);

End

 

結果

  Global optimal solution found.

  Objective value:                              28.00000

  Extended solver steps:                               0

  Total solver iterations:                               0

 

                       Variable           Value        Reduced Cost

                             X1        0.000000           -2.000000

                             X2        1.000000           -8.000000

                             X3        0.000000           -11.00000

                             X4        1.000000           -20.00000

 

                            Row    Slack or Surplus      Dual Price

                              1        28.00000            1.000000

                              2        0.000000            0.000000

                              3        4.000000            0.000000

                              4        2.000000            0.000000

                              5        2.000000            0.000000

                              6        1.000000            0.000000

與課本結果相符合。8*1+20*1=28

為第二與第四項各作1個數量即到達最10天的限制。

最佳決策值為28…..

2008年10月20日 星期一

時間序列分析

時間序列分析
所謂時間序列(Time Series)係指以時間先後順序型態出現之一連串觀測值集合,也就是對某種動態系統隨時間連續觀測所得到之觀測值集合。例如我們所觀測到的水文資料,無論是雨量或流量,亦無論其觀測時距大小,均為隨時間變化所觀測到的水文現象,稱之為「水文歷程」,亦稱之為水文時間序列。
時間序列分析(Time series analysis)一般可分為頻域(Frequency domain)分析法及時域(Time domain)分析法二種。頻域分析法肇始於十七世紀牛頓觀測太陽光,利用傅立葉轉換(Fourier transform)分析光譜訊號之方法,後人又稱為頻譜分析(Spectrum analysis),主要係探討時間序列資料中隱藏之週期,並將相關頻譜圖形上出現之雜亂現象,以過濾方式去除。而時域分析法係以相應之參數化數學模式,近似描述時間序列資料,並進而由其相關統計特性進行預測(Forecast)及繁衍(Generate)未來之時間序列。


時間序列分析於1960年代初期始正式應用於水文及水資源領域,包括Thomas 與 Fiering (1962)及Yevjevich (1963) 應用之自迴歸(Autoregressive)模式,及Box與Jenkins於1970年代提出之ARIMA (Autoregressive-Integrated-Moving Average)模式,而其後數十年間有更多之相關研究提出其他不同時間序列模式。
下圖為時間序列分析在水文學之研究方式中所扮演之角色:


ARIMA模式
ARIMA模式包括自迴歸(AR)、積分(I)及移動平均(MA)三部分,分述如下:
(1) 移動平均(MA)
我們可將一時間序列模型定義為

其中 ,由上式可以看出在當期的值受到過去q期白噪音之影響,計算此MA Model之自我共變數 及自我相關係數(ACF) ,發現其有截斷之性質,亦即MA(q)之ACF於期差q之後被截斷。因此在應用上,若有一連串的時間序列資料,可依其ACF值之性質判斷是否為MA Model,又階數為何。

(2) 自迴歸(MA)
我們可將一時間序列模型定義為

其中 ,由上式可以看出在當期的值受到過去p期所發生之值與當期白噪音影響,可見得當期與前p期之變數均來自同一隨機過程,計算此AR Model之自我共變數 及自我相關係數(ACF) ,發現其有尾隨消失之性質。於應用上不便藉此判斷階數,在鑑定時需要另外的工具,「偏自我相關係數(PACF)」即可對於AR Model具截斷特性,亦即AR(p)之PACF於期差p之後被截斷,類似於MA Model的ACF性質。

(3) 自迴歸積分移動平均模式(ARIMA)
我們可將一時間序列模型定義為

,其中,而稱為自我迴歸參數,稱為移動平均參數,此模型混合了前面兩個單純模型,由於當期的值受到前面期數以發生及獨立同態的白噪音交相影響,可以料想其ACF十分複雜,經由推導得知一ARMA(p,q)模型中,在k q+1之後,其形式便與AR(p)相同。

模糊邏輯理論(fuzzy logic)

Fuzzy,中文翻譯為模糊,是指不精確、不清楚的意思。在我們所熟知且長期相處的真實世界中,其實普遍存在著各種模糊性現象,包括人類的語言、思維與決策等,皆存在有模糊和非定量化的特質。日常生活中,就常因為無法明確描述某個概念,導致溝通不良,例如:天氣的『冷熱』、聲音的『大小』、身體的『胖瘦』、速度的『快慢』等。有時硬要將不十分確定的現象,以二分法強行分類,反而可能產生錯誤的結論。
模糊理論的觀念,最早是由美國自動控制工程專家L.A. Zadeh分別在1965, 1973年引入模糊集合(Fuzzy sets)與模糊邏輯理論(fuzzy logic)的概念。此理論打破了傳統的二元邏輯觀念,然而當時的學者對於傳統集合理論有所堅持,因此模糊理論剛提出時,受到諸多批評,但此後的二十年間迅速發展,且結合其他多種理論成為一門新興的數學分支,有關的論文發表亦呈指數成長,於各領域之專論與應用上已達4000篇以上(Lee, 1990),例如:信息處理、模糊邏輯系統的應用(Munakata and Jani, 1994)、控制系統(廣泛地應用在許多領域上)、圖形辨識、語音辨識、診斷程序、時間序列預測(Mendel, 2000)、智慧型機器人(Wu, 1996)、軟體工程、決策系統(Chaneau等人, 1987)、資料補償等。其相關應用也遍及農業、氣象、地質、環境、醫學、經濟等領域。台灣目前之研究,則是以電機、機械、資訊、控制等領域為主。
其他與模糊理論有關,可供作參考之論文與書籍包括:中文——「認識Fuzzy」(王, 2001)、「模糊數學方法與應用」(馮和樓, 1991);英文——“Introduction to the theory of fuzzy subsets”(Kamfmann, 1976)、“Fuzzy set theory and its applications” (Zimmermann HJ, 1991)、“Fuzzy sets and fuzzy logic: theory and applications”(Klir & Yuan, 1995)、「Neuro-Fuzzy and Soft Computing」(Jang等, 1997)、「Introduction to fuzzy sets, fuzzy logic, and fuzzy control systems」(Chen & Pham, 2001)、「Uncertain rule-based fuzzy logic systems」(Mendel, 2001)。
模糊理論強調許多事實的結果無法符合傳統的二元邏輯,並非在「是」與「非」之間選擇其一,而是介於是與非之間。因此,處理實際問題時,主要是將普通集合「非此即彼」的絕對隸屬關係加以擴充,即對集合的屬性不再以傳統集合之二分法來決定絕對性的真或偽,而是利用隸屬函數(Membership Function)的觀念,以具有某種程度的真實性來描述該集合之屬性,進而實現定量刻畫不確定性問題之模糊性質,因此對於敘述不清或狀況模糊之問題,提供了較合理可行的解決方式。
理論概述
 傳統集合
若元素有集合的特性時, 屬於 集合,可表示為;反之,若元素不具集合的特性,則表示為。以圖形表示:傳統集合(圖1)是指集合在一明確的定義範圍內所包含的數值,如:(圖2)非常明確地定義出的值如小於2,則屬於A集合,如不小於2(即使等於2),則 不屬於A集合,或以(1)式表示:


圖1. 傳統集合非 0 即 1與其分界


圖2. 傳統集合非 0 即 1 的表示法
式中U表示全體集合稱為宇集合,表示在A集合或不在A集合的表示值(0或1),如圖2所示,為if and only if縮寫。因此,傳統集合的邊界有著非常明確而嚴格的界線,定義著兩個集合的區隔(即,)。
若是集合為集合的一部分,可用來表示。舉例而言,若代表0到100歲的年齡範圍,且定義集合為35到55歲的「中年」,則。但是在實際狀況下,若有一人為34歲,另一人35歲,兩人相差1歲,但一人屬於中年,另一人則否;另有二人,一為35歲而另一為55歲,二人雖差20歲但同屬中年,直覺判斷即不合理(林信成、彭啟峰, 1994)。
 模糊集合
模糊集合可視為傳統集合的擴展,在模糊集合的觀念裡,是將鮮明而嚴格的界線模糊化,也就是二個集合的區隔不再如此明顯,而是形成一種漸層的變化,用來表示界限或邊界不分明的具有特定性質事物的集合,如圖3所示,意即隸屬於A集合到不屬於A集合的中間包含著過渡區域。

圖3. 模糊集合與其漸層變化的邊界
因此,我們定義模糊集合如(2)式:

式中表示0到1之間的函數,如圖4所示,此時稱為A集合的隸屬函數或特徵函數(characteristic function),表示x在A集合的隸屬度(degree of membership),即元素x屬於模糊集合A之程度,並在0~1之間取值,用來表示此元素歸屬於各個集合程度的強弱。若一個元素屬於某集合的程度越大,則其隸屬度越接近1,反之則越接近0。因此,可將一般集合中特徵函數的觀念,擴展成為模糊集合中的隸屬函數觀念。


圖4. 模糊集合的隸屬函數
針對傳統集合對於一些問題無法作正確描述,模糊集合則提供了有效的解決方式。以圖5為例,將傳統集合與模糊集合分別繪出其隸屬函數圖比較,可看出以模糊集合所代表的「中年」較符合人類平常的思維模式。


圖5. 傳統集合與模糊集合隸屬度函數比較圖

 

 

類神經網路




類神經網路(Artificial Neural Networks, ANNs)或譯為人工神經網路,其主要的基本概念是嘗試著模仿人類的神經系統。其架構源自於現今對人類神經系統的認識,它是由很多非線性的運算單元(即:神經元 neuron)和位於這些運算單元間的眾多連結(links)所組成,而這些運算單元通常是以平行且分散的方式來進行運算,如此就可以同時處理大量的資料應用,如:語音、手寫辨識等。


類神經網路是以電腦的軟硬體來模擬生物神經網路的資訊處理系統,從人類專家解決問題的實際案例中學習,利用非線性函數的轉換,能有效地對大量資料進行分析,且具學習能力,以利各種非結構性決策的制定;此外,類神經網路之應用不需前提假設,只要有充足的歷史資料,即可進行分析,例如有完整之水文資訊(雨量、流量或水位資料)的集水區,或精確且眾多的氣象資料,皆十分適合運用網路模式進行分析、預測的工作。

一般類神經網路為三層結構,包含輸入層、隱藏層及輸出層。其中輸入層用以表現輸入變數,其單元數目依問題的型式而定;隱藏層有可能有數層,用以表現輸入處理單元間之交互影響,其單元數目需以試驗的方式決定其最佳數目;輸出層用以表現輸出變數。神經網路的基本原理為網路中靠相關權重連結各層間之單元,各輸入單元輸入值經由加權累加後到達隱藏層,並透過轉換函數可得一值,同理再傳至輸出層。


網路依其架構與學習方式,可用來解決不同類型的問題,常用的類神經網路有:倒傳遞類神經網路、輻狀機底函數類神經網路、自組特徵映射類神經網路、回饋式類神經網路、反傳遞模糊類神經網路、調適性網路模糊推論系統等。

類神經網路已成為熱門的科技議題與發展迅速的應用技術,今日已廣泛地應用在各個領域,從電機、資訊、機械、化工、土木、水利、環工、海洋等理工相關領域,到醫學、農學等生物相關領域及經濟、管理、財務金融等,都可以看到類神經網路的相關研究。許多科學先趨者試著採用模仿生物神經系統之模型—— 類神經網路,來解決一些過去無法解決的問題,其原因大致分為以下幾點:(1) 聯想速度快,(2) 網路架構容易調整,(3) 解決最佳化、非線性等系統問題,(4) 具平行處理特性,(5) 具容錯特性。目前以類神經網路作為解決方案且有良好效果的問題有:語音辨識、文字辨識、天氣預測、股票指數預測、機器人控制、雷達偵測、影像識別、汽車自動駕駛、醫學檢測、蛋白質3D結構檢測等,這也是類神經網路之所以能在短短數十年間,廣受重視且發展迅速之主因。

2008年10月16日 星期四

牛頓迭代法solver iterations-0



牛頓法(Newton's method) 
給予一個起始點x0 , 在函數f(x)圖形上通過(x0, f(x0) ), 找出其切線與x-axis
相交的點x1, 同樣地, 通過(x1, f(x1) )找出其切線與x-axis相交的點x2, 依此
步驟逐漸逼近函數f(x)的根, 此方法亦稱切線法. 其迭代模式如下:例如: 考慮函數 f(x)= x3 - 2sin(x) 在區間 [0.5, 2]的根
下列圖形顯示取起始點x0 =2 , 經過4次迭代的結果
在函數的性質夠好下, 取適當的起始點, 牛頓法收斂速度相當快, 一般
稱為二次方收斂. 不同的起始點, 可能造成不收斂或收斂至另外的根.
請參考範例. 

若考慮上述函數在區間 [-2, 3], 下圖顯示有三實根: