EPAM

 不動点アルゴリズムと収束性
 
1.不動点アルゴリズム
 
 EPAMは不動点アルゴリズムを用いて均衡解を求めている。プログラムはいずれもC言語で書かれている。(本年中には、プログラムのソースファイルのすべてを公開する予定である)
 不動点アルゴリズムは、一般均衡理論と密接に結びついた理論であり、本来解を求めるためには、任意の解法を用いてよいのだが、EPAMでは不動点アルゴリズムで解くことにこだわっている。
 
2.経過の表示内容
 
 プログラムを実行させ、表示するように設定すると、不動点アルゴリズムの途中経過がすべて画面に表示される。その過程でCTRLキーとSキーを同時に押すと、その時点で表示とプログラムを一時的にとめることができる。(完全に終わらせるのは、CTRLキーとCキーを同時に押す)。任意のキーを押すと実行が再開される。

  途中経過で、表示されるデータはたとえば次のようなものである。

****************** Iteration No. 42
0 0 1 1 1
48 48 47 48 48
42 43 43 42 42
42 41 41 41 42
48 48 48 48 47
Exd of New Grid No. 2
-1491575.192146
4766912.674663
2089841.336244
-5053877.684472
(2)(2)(1)(3)(4)

 これが繰り返しの42番目のデータとして、表示される。およそ、解が出るまでに数百回の繰り返しが必要になる。
 表示の意味を説明するが、不動点アルゴリズムの知識が必要である。
 まず、第1行は、単に42番目の探索が始まったことを示すだけである。その次の行は、Merrillのアルゴリズムで、人口単体上にあるのか基本単体上にあるのかを区別している。1となっているのは、人口単体上にあるグリッドである。上記の場合は、3,4,5番目のグリッドが人口単体上にある。各グリッドの位置を示しているのが、次の4行である。表示は出ていないが、全体では各辺を90分割しているところである。この分割数は、均衡に近づくにしたがって大きくなり最終的には数十億の分割をして均衡解を求める。
 第1グリッドは、基本単体上にあり、(48/90,42/90,42/90,48/90)の座標で表されるグリッドであることを示している。そして、次の行は、2番目のグリッドが置き換えの対象になり、次の4行で資本と労働、貿易の各超過需要と税と貯蓄に関する超過収入が計算されている。そして、アルゴリズムの規則によって、もっとも値の大きな要素の番号がラベル付けされる。最後の行は、各グリッドのラベルが書き表されている。第二グリッドのラベルは、先の計算で最大超過需要が第2番目だったことを反映している。