- 1 -
Ver.3.1. 21/June/2006
GAMS-HERCULESの概要
1.GAMSについて
GAMSは、General Algebraic Modeling System のacronym(頭字語)である。GAMSは、1970年代に、
Alexander MeerausとAnthony Brookeに率いられた世界銀行のコンピュータ科学者チームによって開
発された。このチームは、世銀の経済モデリング活動をサポートする業務に携わっていたが、GAMS開
発の出発点は、FORTRAN全盛の時代に彼らが感じたフラストレーションにあったという。FORTRANを用
いた作業は、面白くないうえ要求がきつい。さらに誤りを犯しやすいし、しかもその誤りを発見しに
くい。データを各々の数理計画法のオプティマイザーの要求にあわせて変換するためのプログラムを
書かなければならなかった。それも時間のかかる仕事であった。こういった事情のため、モデルのプ
ログラマーがモデルの機能を知る唯一のスタッフであるといったことも多く、プログラマーがやめた
場合、後任のスタッフがそれをマスターするのに何ヶ月もかかることもあった。このようにモデルの
変更が難しく費用がかかることが、モデラーに不本意ながら既存のモデルを(それが不合理であると
わかっていても)擁護せざるを得ない状況を作り出してきた。GAMSが変えようとしたのは、このよう
な状況であったという1。
GAMSは、1)大規模かつ複雑なモデルを簡潔に表現する高級言語を提供すること、2)モデルのス
ペシフィケーションの改変を容易かつ安全に行うことを可能とすること、3)代数的関係の明瞭な記
述を可能とすること、4)問題を解くアルゴリズムから独立にモデルの記述を可能とすることによっ
て、こうした状況を改善しようとしたのである。その功績のため、GAMSの開発チームは、GAMSの「独
創的な長所」とそれが「新時代の先駆け」となったことを認められて、米国オペレーションズリサー
チ協会からCSTS賞を授賞されている。
GAMSは、次のような基本的特徴をもっている2。
1)一般的特徴
1)-a モデル表現の変更なしに数理計画法の既存のさまざまなアルゴリズムを活用できる。GAMS
がサポートしているのは、現在、次の5つの基本的モデル・タイプである。GAMSに付属するソルバ
ーないしオプションとして入手可能なソルバーを通じて、これらの数理計画問題に対応することが
できる。ソルバーとモデル・タイプの対応表を掲げる(表中、“*”印は、GAMS付属ソルバーであ
ることを示す)。
LP Linear Programming
NLP Non-Linear Programming
MIP Mixed-Integer Programming
MINLP Mixed-Integer Nonlinear Programming
MCP Mixed Complementarity Problems
1 Anthony Brooke, David Kendrick, and Alexander Meeraus, GAMS: A User's Guide, Release 2.25, Scienti
fic Press, 1992, PrefaceおよびGAMS Development Corporationのホームページ(http://www.gams.com/)によ
る。2 Anthony Brooke, David Kendrick, and Alexander Meeraus, GAMS: A User's Guide, Release 2.25, Scienti
fic Press, 1992, IntroductionおよびGAMS Development Corporationのホームページによる。
- 2 -
LP NLP MIP MINLP MCP
BDMLP* +
CONOPT + +
CPLEX + +
DICOPT +
MILES* +
MINOS + +
OSL + +
PATH +
SBB +
SNOPT + +
XA + +
XPRESS + +
1)-b データとは独立に最適化問題を表現することが可能である。
1)-c リレーショナル・データベースの利用により、コンピュータ・リソースのアロケーショ
ンが自動的に行なわれるためユーザーは、配列のサイズやスクラッチ・ストーレッジのような細かい
ことに気を配る必要がない。
2)モデルの記述・ドキュメンテーション
GAMSのモデル表現は簡潔であり、かつ数学的表現のエレガンスさを失っていない。GAMSについての知
識をもたないひとでも、数学的訓練を受けたひとであればだれでも容易にモデルの内容を知ることが
できる。データの変換も簡潔かつ代数的に行なわれるので、データをその最も基本的なかたちでモデ
ルに入れることができる。そのうえで、モデルを構築し、レポートする際に行なわれる変換を、すべ
て容易に点検することができるのである。また、すべてのシンボルの定義には、説明のためのテキス
トを付すことができ、関連する数値が示される際には再掲される。当該モデルを理解するのに必要な
情報がすべてひとつのドキュメントにおさまっていることも便利な特徴であり、この点は、次項とつ
ながる。
3)ポータビリティー
PC、ワークステーション、メインフレームとプラットフォームが変わってもGAMSのモデル表現を変
える必要はまったくない。また、GAMSのモデル表記は、数百行を超えることはめったになく、フロッ
ピー・ディスクに収まるほどであり、要するに、「ポータブル」なのである。
4)ユーザー・インターフェース
GAMSは、ファイル指向のシステムであり、エディティング関係のコマンドをもたない。エディターで
ユーザーがGAMSのモデルを記述し、拡張子“.GMS”(PCの場合)をつけて適当なファイル名で保存す
れば、それがGAMSのインプット・ファイルとなる。GAMSをインプット・ファイルからバッチ・モード
で走らせると、結果は、拡張子“.LST”(PCの場合)をもったアウトプット・ファイルに保存されて
- 3 -
いる。たとえば、GAMS TRNSPORT.GMS(return)3とすれば、正常に動作する限り、その結果を、
TRNSPORT.LSTというファイルによって知ることができる。
5)モデル・ライブラリー
GAMSの開発当時から収集されたモデル・ライブラリーがある。GAMS Development Corporationのホー
ムページから、それらを簡単にダウンロードすることができる。
最後に、われわれの関心から、GAMSの特徴をひとつ追加しておこう。
6)CGEへの広範な応用
CGE(Computable General Equilibrium Analysis、計算可能一般均衡分析)への適用である。GAMSが
SAMベースのCGE分析に用いられてきた事実を見逃せない。GAMSは、そのサブシステム(ソルバー)と
してのHERCULESを通して世界銀行の開発政策と密接なつながりをもったのである。ほとんどすべての
途上国にSAMがあり、それに基づいたCGE分析が存在するとまでいわれる。少なくとも80年代までは、
そのCGE分析の多くは、GAMS-HERCULESによって実行されたものと考えてよい。
2.HERCULESについて
HERCULESは、High-level Economic Representation for Creating and Using Large Economywide
Systemsのacronym(頭字語)である。HERCULESもGAMSと同様に世銀で開発されたソフトウェアであり、
GAMSのソルバーないしサブ・システムのひとつとして使われてきたが、その開発意図は、60年代末以
降に見られた世銀の開発戦略の変化とSAM(社会会計行列Social Accounting Matrices)の意義に結び
つけて説明するのがよいだろう。HERCULESの開発者のひとりであるArne Stolbjerg Drud(世銀)とそ
の発展に貢献したDavid Kendrick(テキサス大)による説明を見ておこう4。
50年代、60年代における開発戦略の立案をサポートするモデルの力点は、生産を拡大することにあ
り、さまざまな経済セクターの関係を分析し、ボトルネックなしのバランスのとれた成長を促進する
ことを目的として投入・産出モデルが開発された。一方、60年代末および70年代に、政策立案者の関
心の変化があった。それは、生産そのものから貧困、所得分配、雇用といった問題への政策立案者の
関心のシフトであり、そのため、モデルに要素市場や制度的側面が組み込まれていった。さらに、19
73年の第1次石油ショックとその帰結は、相対価格の変化への反応、市場の不完全性、外国貿易、価
格の硬直性といった点により力点をおいたモデルの作成を促した。今日のエコノミーワイドモデルは、
価格反応性と多部門性とによって特徴づけられ、さらに通常、それは外国貿易を内生化し、要素市場
を明示化し、かなりの制度的詳細を組み込んだものとなっている。そうしたエコノミーワイドモデル
にふさわしいデータベースは、生産、所得形成、所得分配、消費、貯蓄、投資、外国貿易の一貫した
描写を与えるものでなければならない。また、いくつかの生産部門と商品、いくつかの生産要素、い
くつかの消費者グループへとディスアグリゲートされたものでなければならないし、ディスアグリゲ
ート・レベルで整合性をもったものでなければならない。そうした要請にぴったりあてはまったのが、
SAMであった。
しかし、SAMというデータベースを得ただけでは、不十分であったのも事実である。モデル・ビル
3 拡張子は省略可能。4 A.S. Drud and D. Kendrick, "HERCULES - A System for Large Economywide Models," (mimeo), ARKI Consulting
and Development A/S, Denmark, 1991, Preface.
- 4 -
ディングには、多くの段階があり、そのいくつかの段階を自動化しないかぎり、このようなエコノミ
ーワイドモデルが広範に利用されることにはならなかったであろう。そのためのアイディアを提供し
たのは、Graham Pyattであり、それを実現したのが、Wafik GraisとArne Drudであった。
GraisとDrudは、1980年に世界銀行の資金供給を得て、“The Development and Extension of
Macromodeling in Relation to Thailand”(「タイに関するマクロモデリングの展開と拡張」)とい
う研究プロジェクトを実施している。このプロジェクトは、モデル・ビルディングのひとつの方法と
HERCULESの原型となるソフトウェアSAMLIBを副産物としてもたらした。TVアプローチと呼ばれるその
方法は、上に述べた線に沿って、モデル・ビルディング(とカリブレーション)の多くの部分を自動
化することを可能とするPyattのアイディアに基づくものであった。Pyattのアイディアは、SAMをデー
タベースとしての「数値SAM」とそれをエコノミーワイドモデルと結びつける「代数SAM」との「二重
構造」として捉えようとするものであった。その際、数値SAMの各々のセルには、取引金額(Transaction
Values)が入るわけだから、代数SAMモデルを作成する際にも、数量や価格のタームではなく、取引金
額のタームでモデルを構築する必要がある。このような「TVアプローチ」は、その後、世銀のいくつ
かのプロジェクトで用いられたり、David Kendrickの指導のもとでテキサス大学のプロジェクトで用
いられたりする中で、モデルの定式化やソリューションの諸段階をスピードアップするうえで有効で
あることが確かめられてきた。このようにSAMLIBは、TVアプローチ形式のSAM分析をサポートするソフ
トウェアシステムであったが、データフォーマットがリジッドであること、レポート・ライティング・
ファシリティーが欠如していること、他のシステムとのインターフェースが欠けていることなどの限
界があった。HERCULESは、こうした欠点を補うために、同じ時期に世銀で開発されていた、汎用モデ
リングシステムであるGAMSとのインターフェースを構築したものである。そうすることによって、
HERCULESは、GAMSがもつデータ・マニピュレーションとレポートライティングの能力を広範に利用す
ることができるようになった。
GAMSやHERCULESに対する関心が、世銀や途上国の関連機関の外側にも広がりを見せるようになるに
つれて、それらのサポートと一層の発展に向けた作業は、世銀の自然な役割の領域を超えたものとみ
なされることになった。1988年にGAMSとHERCULESの販売と一層の発展は、世銀の手を放れ、前者の事
業は、GAMS Development Corporationに、後者は、ARKI Consulting and Developing A/Sに譲渡され
ることになった。ただし、HERCULESは、最新版(WINDOWS版)のGAMS(Release2.50)上では機能しな
いことに注意しなければならない。HERCULESを利用してCGE分析を行なおうとする場合、以前のヴァー
ジョン(2.05)のGAMSを入手しなければならない。
3.SAMベーストCGEの概要
CGE(AGE)モデル分析を行なう場合、分析手法を分類する基本軸のひとつは、明らかに、SAMをベー
スにするかどうかということであろう。そのことがプログラム言語(FORTRAN、GAMS、GEMPACK、
Mathematica等)の選択にも影響する。本稿で紹介しようとするGAMS-HERCULESは、その中でもSAMベー
スのCGE分析をサポートするために特化したプログラム言語である。GAMSは、数値解法によって数理計
画問題(LP、NLP…)を解く「ソルバー」とユーザーを橋渡しすることを主任務として開発されたソフ
トウェアであったが、HERCULESは、SAMベースのCGE分析をGAMSを使って行なうための特別なソルバー
であった。しかし、GAMSは、現在、HERCULESをサポートしていない。その代わりにCGE分析用のソルバ
ーとしてRutherfordによって開発されたMPS/GEを用意している。MPS/GE(Mathematical Programming
Software / General Equilibrium)は、相補性アルゴリズムを使う点でHERCULESとは異なる5。また、
5 D. Greenaway, S.J. Leybourne, G.V.Reed, and J. Whalley, Applied General Equilibrium Modelling:
Applications, limitations and future development, HMSO, 1993, pp.122-123.
- 5 -
SAMベースのCGEを、HERCULESやMPS/GEなどそれに特化したソルバーを用いずに、MCPソルバー(やNLP
ソルバー)によって実行しようとする研究もふえている6。
したがって本稿で取りあげるHERCULESは、やや時代遅れのものとなった感は否めないが、かつて一
世を風靡したソフトウェアであること、そのアルゴリズムがその後のSAMベースCGEの基本形を構成し
ていること、したがって、SAMベースのCGEを大学院レベルで教育するさいに適していることなど、こ
こで紹介する価値は十分あると考えられる。
A.S. Drud and D. Kendrick前掲書(以下、Herculesマニュアルと記す)は、デモンストレーショ
ンのための簡単なエコノミーワイドモデルを用意しているから、以下では、彼らのデモンストレーシ
ョンモデルを、(1)数式、(2)SAM、(3)GAMS-HERCULESによって記述されたプログラムの3つの方式で示
すことによって、SAMベーストのCGE分析、そしてHERCULESの概要を見てゆくことにしよう。
3-1.数式によるモデル表現
2つの生産者部門サブモデル(農業:生産物は、食料。工業:生産物は、衣料)2つの生産要素サ
ブモデル(労働、資本)2つの家計部門サブモデル(農村、都市)をもったエコノミーワイドの経済
モデルを考察する。産出の価格、要素の価格、家計部門別の消費者物価指数という3種類の価格変数
は、サブモデルを通じて登場するグローバル変数である。2部門、2要素、2家計部門をS部門、F
要素、H家計部門のモデルに拡張することには何の困難もない。
sp =部門sの産出の価格 s=a,i
fp =要素fの価格(労働に対する賃金率、資本のレンタル・レート)f=l,c
hp =家計hの消費者物価指数 h=r,u
生産者サブモデルでは、次のようなコブダグラス型の生産関数が使用される。
(1q)
fsa
s s f fsq b c
ここで、qsは、部門sの産出の数量、cfsは、部門sへ投入される要素fの数量、afsは、部門s
6 Hans Löfgren, Rebecca Lee Harris, Sherman Robinson with the assistance of Marcelle Thomas and Moataz
El-Said,”A Standard Computable General Equilibrium (CGE) Model in GAMS”は、MPSGEを用いずにMCP用の
ソルバーを用いて、GAMSによってSAMベースのCGE分析を実行する手順を示している。GAMS Development
Corporationのホームページhttp://www.gams.com/を参照せよ。同じ方針に沿った研究として、中村靖「計算可
能一般均衡(CGE)モデル作成マニュアル――ウズベキスタンCGEモデルを例として――」(北海道大学スラブ研
究センター研究報告シリーズNo.84、2002年)がある。また、細江宣裕・我澤賢之・橋本日出男『テキストブッ
ク応用一般均衡モデリング――プログラムからシミュレーションまで』(東京大学出版会、2004年)は、より基
礎的なNLPソルバーによるCGEの実行方法を説明している。
- 6 -
における要素fのシェア・パラメーター、bsは、スケール・パラメーターである。完全競争の仮定
のもとで、利潤最大化によって要素需要が決定されるとすると、簡単な計算により、
(2q) fs fs s s fc a p q p
であることがわかる。ところで、部門sの収入をys、部門sから要素fへの支払をtfsと書くと、
このような支払金額と数量の間には、次のような定義的関係がある。
(1d) s s sy p q
(2d) fs f fst p c
HERCULESでは、数量ベースでなく、支払金額ベースで(価格以外の)すべての変数を表現する、TVア
プローチを採用する。
(2y) fs fs st a y
(1q)の支払バージョンである
( ) fsa
s s s f fs fy p b t p
から、(2y)と 1fsa であることにより、生産物価格と要素価格の関係を示す次式が得られる。
(1y)fsa
s s f fp p
ここで、
fsa
s f fs sa b
生産要素サブモデルでは、各要素の総量qfが外生的に固定され、要素価格pfが完全雇用(利用)を
達成するまで調整される。すなわち、各要素は、均質で部門間の移動に制約はない。
また、家計グループは、各々の要素所有割合に応じて、要素所得シェアを確保する。要素fが獲得
する所得合計yfに関して、次の定義的関係が存在する。
(3d) f f fy p q
また、家計hに向かう要素fに対する所得thfについては、家計hによって所有される要素fの割合
をahfと仮定することにより、次式が得られる。
(4y) hf hf ft a y
- 7 -
家計部門については、cshを家計hによって消費される財sの数量、yhを家計hの所得と書き、家
計は、次のような効用関数を最大化することと仮定する。
(.) log( )h sh shsU a c
上式において、ashは、財sのウェイト。ただし、 1shsa である。この効用関数から得られる消
費システムは、よく知られているように、
(5q) /sh sh h sc a y p
あるいは、家計hの財sに対する支出をtshと書くと、
(5d) sh s sht p c
(5y) sh sh ht a y
消費者物価指数(CPI)phは、効用不変の前提のもとで最小支出を与える金額の比として定義する。
いわゆる「真の物価指数」である。付録で示す計算により、
(6y)sha
h s sp p
であることがわかる。対応する実質消費指数は、
(6q)sha
h h s shq c
である。ここで、qhは、家計hについての実質消費指数。ash
h s sha
である。もちろん、次の
定義的関係が満たされている。
(6d) h h hy p q
最後に、生産者、生産要素、家計の各サブモデルを結びつけるリンケージ式を導入する。生産物の需
給バランスは、次式で表現される。
- 8 -
(7q) s shhq c
支払金額では、
(7y) s shhy t
要素については、
(8q) f fssq c
あるいは、
(8y) f fssy t
によって、その需給バランスが表現される。
最後に、家計所得については、要素から家計所得にリンクする式を以下のように書く。
(9y) h hffy t
この式には、数量バージョンは存在せず、金額バージョンのみである。
モデルの方程式と変数を一覧表にする。
- 9 -
モデルの方程式一覧表
数量q 支払y 定義d
生産
1.産出 fsa
s s f fsq b c fsa
s s f fp p s s sy p q
2.投入fs fs s s fc a p q p fs fs st a y fs f fst p c
要素
3.所得f f fy p q
4.移転hf hf ft a y
家計
5.消費/sh sh h sc a y p sh sh ht a y sh s sht p c
6.CPIsha
h h s shq c sha
h s sp p h h hy p q
リンケージ
7.生産者s shh
q c s shhy t
8.要素f fss
q c f fssy t
9.家計h hff
y t
- 10 -
モデルの変数の一覧表
数量QとC 支払YとT 価格P
生産
1.産出 qs ys
2.投入 cfs tfs
要素
3.所得 qf yf
4.移転 thf
家計
5.消費 csh tsh
6.CPI qh yh
グローバル変数
財価格 ps
要素価格 pf
消費者物価指数 ph
最後に、このモデルの変数と方程式の勘定をしておく。
変数 方程式 自由度
生産 2S+2FS 2S+2FS 0
要素 2F+HF F+HF F
家計 2H+2SH 2H+2SH 0
グローバル変数と
リンケージ方程式
S+F+H S+F+H 0
合計 3S+3F+3H
+2FS+HF+2SH
3S+2F+3H
+2FS+HF+2SH
F
まず、価格変数は、S+F+H。数量変数と支払変数は、生産者サブモデルで2(S+FS)、要素
サブモデルで2F+HF、家計サブモデルで2(H+SH)、合計3S+3F+3H+2SF+HF
+2SHである。方程式の数は、リンケージ式が2S+2F+H、生産者サブモデルで3(S+SF)、
要素サブモデルでは、F+HF、家計サブモデルでは、3(H+SH)である。リンケージ式などで
は価格変数を掛けることにより、数量版から支払版が得られるから、独立な式の数は、ずいぶん減る。
独立な式は、生産者サブモデルで2(S+FS)、家計サブモデルで2(H+SH)、要素サブモデ
ルはF+HFとなっている。リンケージ式は、S+F+Hである。要素サブモデルの自由度を除くた
めに、要素賦存量を所与とすることは、既に見た。
このように、各サブモデルおよびリンケージパートの方程式と変数の数とが全体として対応してい
るように見える(上の表を見よ)が、周知のワルラス法則のため7、式が1つたりない。そこで、価格
変数の1つ(たとえば、都市家計のCPI)がニュメレールとして取り扱われることになる。
7 完全接合性から、といった方がわかりやすいかもしれない。
- 11 -
3-2.SAMによる表現
HERCULESの中核をなすアイディアは、モデルの定式化に、SAM、すなわち社会会計行列(Social
Accounting Matrix)を用いることである。ここで、経済のすべての支払を表章する体系的であり、な
おかつ首尾一貫したひとつの方法であるSAMを導入しなければならない。
購入 賃金
所得
この、ごく単純な経済循環図を次のように書き直すことができる。さらに、下の図を行列(所得、
購入、賃金の数値をすべて270とした)に書き直すことには、なんの障害もない。ここから、SAMの基
本的な2つの慣行あるいは性質が知られるであろう。すなわち、SAMの約束として、「列が行に支払う」。
2つ目は、「行の合計値は、列の合計値に等しい」。すなわち、列と行の組み合わせは、ひとつの「勘
定」をあらわしている。行が貸方、列が借方である。
賃金
所得
購入
要素 家計 企業
要素 270
家計 270
企業 270
少しだけ、複雑化し、前節の2部門・2要素・2家計部門を含むデモンストレーション・モデルに数
値例を与え、数値SAM(numerical SAM)として構成したのが、次の表である。
労働
企業
家計
労働
労働
家計
家計
企業
企業
- 12 -
要 素 家 計 企 業 合計
労働 資本 農村 都市 農業 工業
要素 労働 75 85 160
資本 50 60 110
家計 農村 90 30 120
都市 70 80 150
企業 農業 60 65 125
工業 60 85 145
合 計 160 110 120 150 125 145
数値例でなく、SAMを記号で表現することにしよう。所得(y)、支出(t)変数に対して、次のよう
に、添字を定める。
l labour
c capital
r rural
u urban
a agriculture
i industry
要 素 家 計 企 業 合計
労働 資本 農村 都市 農業 工業
要素 労働 tla tli yl
資本 tca tci yc
家計 農村 trl trc yr
都市 tul tuc yu
企業 農業 tar tau ya
工業 tir tiu yi
合 計 yl yc yr yu ya yi
数量変数では、次のSAMが得られる。このSAMは、「不変価格表示のSAM(constant-price SAM)」でも
ある。実際、モデルにあらわれる価格変数はすべて、基準となるケース(ベースSAM)において1とな
るように、カリブレートされている。なお、数量をもたない支払フローもあることに注意する必要が
ある。
- 13 -
要 素 家 計 企 業 合計
労働 資本 農村 都市 農業 工業
要素 労働 cla cli ql
資本 cca cci qc
家計 農村 qr
都市 qu
企業 農業 car cau qa
工業 cir ciu qi
合 計 ql qc qr qu qa qi
勘定と価格の対応は、次の通りである。
要素 労働 pl
資本 pc
家計 農村 pr
都市 pu
企業 農業 pa
工業 pi
HERCULESアプローチの最大のポイントは、上に導入した数値SAM(あるいは、データSAM)とスペッ
ク表(specification table)の組み合わせとして、モデルを表現することである。われわれの単純な
モデルの場合、次のようなスペック表が与えられることになる。
要 素 家 計 企 業
労働 資本 農村 都市 農業 工業
要素 労働 CD CD
資本 CD CD
家計 農村 IDIST IDIST
都市 IDIST IDIST
企業 農業 VSHR VSHR
工業 VSHR VSHR
表中にあるCD、IDIST、VSHRは、アクロニム(Acronym)の呼ばれるもので、CDは、そのセルで、コ
ブダグラス生産関数が仮定されていることを示す。IDISTは、固定比率の所得分配が行なわれること、
VSHRは、価値額ベースの固定比率をあらわしている。こうしたアクロニムは、そのままHERCULESのキ
ーワードとして使われることになる。
数値SAM、スペック表とともに、モデルには、もうひとつの構成要素がある。それが、勘定表(Account
Table)である。そこでは、要素賦存量が外生であるとか、都市家計のCPIがニュメレールになるとか、
という数値SAM、スペック表では示されていないモデルの情報が与えられるとともに、勘定の経済的分
類(価格をもつ勘定かどうか等)が与えられる。われわれのモデルの場合、次の通りである。
- 14 -
勘定表
勘定タイプ 固定される変数
労働 MF Q
資本 MF Q
家計:農村 INSTC
家計:都市 INSTC NP
農業 AC
工業 AC
表中のMF、Q、NP、ACは、やはり、アクロニムである。MFは、「市場要素」(Market Factor)、
すなわち、価格をもつ生産要素の勘定という意味である。INSTCは、「制度-消費」(Institution -
Consumption)、すなわち、家計や政府といった、消費する制度の勘定という意味である。ACは、「活
動または商品」(Activity or Commodity、生産活動や商業活動あるいは対応する商品の勘定という意
味である。
Qは、数量が固定された変数であるという意味、価格が固定変数であるときには、Pである。Yは、
支払変数の固定、PQは、価格および数量の双方の固定。いずれも、勘定トータルである変数について
の指定である。Nを前に置いた場合、すなわち、NP、NYあるいはNPQは、P、Yがモデルのニュメレール
であるという意味である。
われわれのモデルには、いくつかのパラメーターがある。(1)生産関数におけるシェア・パラメ
ーターafsとスケール・パラメーターbs(2)要素所得の分配におけるahf(3)消費システムにおけ
るシェア・パラメーターash(4)要素賦存量qfそして(5)ニュメレールpuである。モデルを解く
際には、こうしたパラメーターを推計しなければならない。ところが、ベースSAMがモデルの解になっ
ていると考えることができるから、パラメーターの多くをベースSAMから導出することができる。この
ことがSAMベースCGEにおけるカリブレーション上の利点である。たとえば、
0 0/ 60 /145ci ci ia t y
である。ここで、上付の添字0は、ベースSAMの値であることを示している。ニュメレールpuが1で
あるのは当然であるが、bsについては、
ように、測定単位を選ぶことによって処理する。すなわち、
0 0 0 0/ ( ) / ( )fs fsa a
s s fs fs s fs fsb q c y t
である。たとえば、s=iのとき、
85 60
145 145
1451.97
(85) (60)ib
ベース・ケースにおけるすべての価格は、1である
- 15 -
以上見てきたように、HERCULESアプローチにおいては、SAMに数値を入れ、スペック表、勘定表に、
HERCULESの「キーワード」を供給することによって、ひとつの経済を記述し、モデルを表現し、比較
静学分析などを容易に実行することができる。
実際に用いられる数学的定式化の種類はそれほど多くなく、むしろ、その組み合わせこそ、多様性
の源泉であることに注意すれば、表中のキーワードを変更することによって、数学的定式化の組み合
わせを容易に変更することができ、カリブレーション・ソリューションのプロセスを自動的に実行し
てくれるHERCULESの利点が理解されるであろう。
3-3.HERCULESモデル
HERCULESのための<GAMSインプット・ファイル>の主要な構成要素は、以下の通りである。
勘定リスト Account List
セル・アレイ Cell Array
SAM Social Accounting Matrix
スペシフィケーション・テーブル Specification Table
勘定表 Accounts Table
アクロニム Acronyms
モデル・ステートメント Model Statement
ソルブ・ステートメント Solve Statement
実験情報 Experiment Information
以下、順次説明してゆく。
◆勘定リスト
勘定として以下のものを考える。
労働
資本
家計(農村)
家計(都市)
食料
衣料
インプットするのに必要なGAMSステートメントは、以下の通り。8
8 GAMS言語については、「GAMS文法概要」を参照されたい。
- 16 -
SET ACC ACCOUNTS /
LABOR
CAPITAL
HHLD-RURAL
HHLD-URBAN
FOOD
CLOTHING /;
GAMS言語では、大文字、小文字の区別はない。SETは、GAMSのキーワードである。SETは、以下でひ
とつないし複数の「集合」を宣言することを示す。S={a,b,c}のかわりに、
SET S /a, b, c/;
と書くわけである。ACCは、識別名(identifier)である。次の制限のもとに、モデル作成者が自由に
決めてよい。1)GAMSのキーワードと重なってはいけない。2)キャラクターの数の制限は、1~10。3)
最初のキャラクターは、文字。4)他のキャラクターは、文字または数字。
次の"ACCOUNTS"は、ドキュメンテーション・テキスト、すなわち、説明文である。この場合、ACC
という「集合」の説明文である。識別名には、説明文をつけることができる。説明文は、識別名と同
じ行に置かなければならない。説明文は、識別名のあとの最初のノン・ブランク・キャラクターから
始まり、次のセパレータ(たとえば、;や/のこと、以下を参照)の前の最後のノン・ブランク・キ
ャラクターで終わる。ブランクがはいってもよい。説明文の制限は、1)キャラクターの数は、0-80。
2)使ってよいキャラクターは、セパレータと引用符("と')以外すべて。説明テキストを引用符(の
ペア)でくくれば、セパレータ(,や/)も使える。
初期値を2つのスラッシュ(/……/)の間に書いてよい。ここでは、集合の要素を定義するのに、
スラッシュを使っている。スラッシュの間にある6つの名前がACCという集合の要素である。集合の要
素およびその他一般にインデックスは、GAMSラベルと呼ばれる。GAMSラベルは、キャラクターの数1
~10、文字、数字、+、および-のキャラクターを使って、モデル作成者が自由につけられる。もし、
引用符("、')でくくれば、「*」、「_」や「/」のような特殊なキャラクターを含めることができる。
識別名(集合名、パラメータ名)とは別のものなので、ラベルと識別名とが同じ名になってもかまわ
ない。
GAMS言語のセパレータには、いくつかのレベルがある。
1.「;」
GAMSステートメントの区切りである。次のGAMSステートメントが新しい行で、しかも、GAMSキーワ
ードから始まる場合には、「;」はいらないが、「;」をつけることが望ましい。
2.「/」
初期値のリスト、たとえば、集合の要素の<リスト>、モデルの構成要素の<リスト>を他から切
り離す。
3.「,」および行末(改行文字)
SET、ACRONYM、PARAMETERSまたはMODELの宣言文における、集合の要素(ラベル)どうし、複数の識
別名どうしを区別するのに使われる。上の例では、行末が使われているが、かわりに、「,」でもよい。
つまり、次のように書いてもよかった。
SET ACC ACCOUNTS /LABOR, CAPITAL, HHLD-RURAL, HHLD-URBAN, FOOD, CLOTHING /;
- 17 -
SAMの行と列とに別々にアクセスする必要がありえる。その場合、集合(たとえば、ACC)のコピー
を作る必要がある。そのため、次のようなGAMSステートメントを使う。
ALIAS (ACC,ACCP);
ALIASは、GAMSキーワードである。括弧のなかには、識別名のリストがはいる。その中の1つ(正確に
1つ)は、すでにSETで宣言されたものでなければならない。
ACCP(Accounts Prime)は、正確にACCと同じものとして作られる。ちなみに、英語の"alias"は、「ま
たの名は…」という意味である。
◆セル・アレイ
モデルの基本的部分は(数値)SAMとスペシフィケーション・テーブル(代数SAM)という2つの表
によって定義される。それをやるのが、GAMSのTABLE ステートメントである。前者は、下に示すよう
に入力する。
TABLE SAM(ACC,ACC) SOCIAL ACCOUNTING MATRIX
LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING
LABOR 75 85
CAPITAL 50 60
HHLD-RURAL 90 30
HHLD-URBAN 70 80
FOOD 60 65
CLOTHING 60 85;
TABLEもGAMSのキーワードである。TABLEには、2つの機能がある。ひとつは、パラメーターを、こ
の場合、多次元のアレイ(配列)を宣言すること(ここまでは、やはりGAMSのコマンドであるPARAMETER
と同じ)、もうひとつは、それに、表の形式(Tabular form)で数値を与えて、初期化(Initialize)
することである。SAMは、識別名、つまり、パラメータの名前である。括弧内のキャラクター(ACC,ACC)
は、テーブルの領域(ドメイン)である。すなわち、行および列を定義するラベルは、ACCという集合
に属していなければならない。ドメインはなくてもよい。すなわち、*を使って、
TABLE SAM(*,*) SOCIAL ACCOUNTING MATRIX;
のような書き方でもよいが、(書いておけばドメイン・チェッキングをやってくれるから)誤記をな
くすためには、あった方がよい。SOCIAL ACCOUNTING MATRIXは、説明文。また、フリー・フォーマッ
トなので、ブランク・ラインを自由にいれて見やすくすることができる。数字は、列見出しの下のフ
ィールドにだいたいはいっていればよい。左右に多少はみ出しても他のフィールドと重ならない限り
かまわない。
スペシフィケーション・テーブルは、データSAMの場合に数値がはいっていたところに、スペシフィ
ケーション・アクロニムをいれたもの。
- 18 -
TABLE SPEC(ACC,ACC) SPECIFICATION MATRIX
LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING
LABOR CD CD
CAPITAL CD CD
HHLD-RURAL IDIST IDIST
HHLD-URBAN IDIST IDIST
FOOD VSHR VSHR
CLOTHING VSHR VSHR;
こんどは、「SPEC」がパラメータの名前(識別名)。「CD」、「IDIST」、「VSHR」は、HERCULES
のキーワードだから、正確に入力しなければならない。しかし、これらは、GAMSの予約語ではないで、
出てくる前に宣言しなければならない。GAMSキーワードの「ACRONYMS」を使う。
ACRONYMS CD COBB DOUGLAS PRODUCTION SPECIFICATION
IDIST INCOME DISTRIBUTION SPECIFICATION SYSTEM
VSHR FIXED VALUE SHARE CONSUMPTION SYSTEM;
説明文によって、内容は明瞭であろう。念のために書くと、「CD」は、コブ・ダグラス生産関数によ
って、機能的所得分配が決定されること、「IDIST」は、全所得が固定比率で所得の受領者に配分され
ること、「VSHR」は、金額ベースでのシェア固定をあらわす。以上のアクロニムは、スペシフィケー
ション・テーブルで用いられるスペシフィケーション・アクロニムである。後掲の表1、表2にまと
めてある。
SAMとスペシフィケーション・テーブルは、セル・テーブルと呼ばれる3次元アレイのプレーンと
して、HERCULESに渡される必要がある。
セル・テーブルの宣言は、GAMSキーワードの「PARAMETER」を使う。「PARAMETER」は、多次元配列
(アレイ)を宣言するが、初期化はしない。
SPECS
LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING
LABOR CD CD
CAPITAL CD CD
HHLD-RURAL IDIST IDIST
HHLD-URBAN IDIST IDIST
FOOD VSHR VSHR
CLOTHING VSHR VSHR
TBASE
LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING
LABOR 75 85
CAPITAL 50 60
HHLD-RURAL 90 30
HHLD-URBAN 70 80
FOOD 60 65
CLOTHING 60 85
- 19 -
PARAMETER CT(ACC,ACC,*) CELL TABLE;
このセル・テーブルは、3次元であり、上図のような“カード・ボックス”に譬えることができる。
1枚1枚のカードの行と列には、勘定の名前のラベルがつけられている。第3の次元のラベルは、ベ
ースSAMであり、スペシフィケーション・テーブルであり、あるいは、ほかのものである。この次元の
領域は、定義されていないから、領域のチェッキングは行なわれない。
SAMをこのセル・アレイの最初のプレーンにコピーしなければならない。その際、アサインメント文
(Assignment Statement、FORTRANの代入文)が使われる。
CT(ACC,ACCP,"TBASE")=SAM(ACC,ACCP);
「CT」につづく括弧の中の3番目の項、"TBASE"における「TBASE」は、HERCULESキーワード。基準期
間のtijということである。同様に、HERCULESキーワードである「SPECS」を使って、
CT(ACC,ACCP,"SPECS")=SPEC(ACC,ACCP);
として、スペシフィケーション・テーブルをコピーして“カード・ボックス”に入れる。これで、セ
ル・アレイのふたつのプレーンができあがった。HERCULESアプローチのもとでは、この段階で自動的
にカリブレーション・プロセスの多くの部分(“Calibration”は、目盛りの“調整”の意味)ができ
てしまっている。しかし、SAMのデータからは計算できなかったり、SAMのデータから計算されるのと
は異なるパラメーターを使いたい場合には、セル・アレイの他のプレーン、すなわち、パラメーター・
テーブルを導入することになるであろう。
◆勘定表
クロージャー・ルールである。われわれの場合、方程式と未知数の数を比べてみると、方程式の数
が生産要素の数だけたりない。それに独立な方程式となるとさらに一つ足りない。そこで、モデルを
閉じるために仮定を追加する。以下のように、ATという名前をもった勘定表をTABLE文によって定義す
る。表の行ドメインは、ACCのもの、列ドメインは、“*”を用いることによって確定させるのを避け
ているが、「TYPE」および「FIX」は、HERCULESのキーワードである。表中には、説明済みのいくつか
のアクロニムがあらわれている。
TABLE AT(ACC,*) ACCOUNT TABLE
TYPE FIX
LABOR MF Q
CAPITAL MF Q
HHLD-RURAL INSTC
HHLD-URBAN INSTC NP
FOOD AC
CLOTHING AC;
- 20 -
「TYPE」は、勘定のタイプ、「FIX」は、固定される変数が何であるかを示している。(「Q」は、
数量の固定、「P」は、価格の固定、「Y」は、支払額の固定、「PQ」は、価格・数量双方の固定を示
す。「NP」のように前につけた「N」は、固定された「P」などがモデルのニュメレールであることを
示す。)ここであらわれた勘定のタイプは、「MF」は、要素市場勘定で、市場に伴う価格をもつ。「I
NSTC」は、家計などの消費主体である制度部門の勘定であること、「AC」は、活動ないし商品の勘定
であることを示す。さきにあらわれたスペシフィケーション・アクロニムとともに、アカウント・フ
ィックス・アクロニム、アカウント・タイプ・アクロニムと呼ばれる。
◆アクロニム
アクロニムは、モデルを定式化するために使われる略語である。(「頭字語」の本来の意味から考
えると言葉の誤用であるがその点は問わない。)HERCULESで用いられるアクロニムは、HERCULESのキ
ーワードであるが、GAMSの予約語ではないので、ユーザー定義語と区別するために宣言しなければな
らない。たとえば、次のように宣言する。宣言文の形式は、他の宣言文と同様であるが、各行のブラ
ンクのあとは、説明テクストである。アクロニムのリストをみやすくするためにスペーシングを入れ
てある。最初のグループは、勘定表のTYPE列で使われるもの、2番目のグループは、FIX列で使われる
もの、3番目のグループは、スペシフィケーション・テーブルで使われるものである。
ACRONYMS MF MARKET FACTOR ACCOUNT
INSTC INSTITUTIONS CONSUMPTION ACCOUNT
AC ACTIVITY OR COMMODITY ACCOUNT
Q QUANTITY FIXED
NP PRICE FIXED AS A NUMERAIRE
CD COBB DOUGLAS PRODUCTION FUNCTION SPECIFICATION
IDIST INCOME DISTRIBUTION SPECIFICATION
VSHR FIXED VALUE SHARE CONSUMPTION SYSTEM;
次の表1は、HERCULESのスペシフィケーション・アクロニムの一覧表である。VSHRのように、配分ル
ールそのものに名称が由来するものと、CDのように、その配分ルールを導出した生産関数の名称を取
っているものがあることに注意する。
- 21 -
表1 スペシフィケーション・アクロニムのリスト(アルファベット順)
AVRG PERFECT SUBSTITUTION WITH AVERAGE PRICE
CD COBB-DOUGLAS
CES CONSTANT ELASTICITY OF SUBSTITUTION
CES2 CONSTANT ELASTICITY OF SUBSTITUTION, 2 LEVELS
CET CONSTANT ELASTICITY OF TRANSFORMATION
CETINF CET WITH INFINITE ELASTICITY
CETO CET WITH 0 ELASTICITY
DQEXO CHANGE IN (DELTA) EXOGENOUS QUANTITY
DTAX DIRECT TAX
DVEXO CHANGE IN (DELTA) EXOGENOUS VALUE
EXPORT EXPORT DEMAND FUNCTION FROM THE REST OF THE WORLD
EXPINF EXPORT WITH INFINITE ELASTICITY OF DEMAND
EXP1 EXPORT WITH ELASTICITY OF DEMAND EQUAL TO 1
EXP0 EXPORT WITH ELASTICITY OF DEMAND EQUAL TO 0
FALOC FOREIGN EXCHANGE ALLOCATION
FALOCI FOREIGN EXCHANGE ALLOCATION WITH INFINITE ELASTICITY
FALOC0 FOREIGN EXCHANGE ALLOCATION WITH 0 ELASTICITY
FAVRG FOREIGN EXCHANGE WITH AVERAGE EXCHANGE RATE
FDIST FOREIGN EXCHANGE DISTRIBUTION
FEXCHD FOREIGN EXCHANGE WITH DIFFERENT EXCHANGE RATE
FEXCHE FOREIGN EXCHANGE WITH EQUAL EXCHANGE RATE
FEXO EXOGENOUS IN FOREIGN EXCHANGE
FEXOF EXOGENOUS IN FOREIGN EXCHANGE RECEIVED FROM ABROAD
FEXOT EXOGENOUS IN FOREIGN EXCHANGE TO ABROAD
FRENT RENT ON FOREIGN EXCHANGE
FTAX TAX ON FOREIGN EXCHANGE
IDIST INCOME DISTRIBUTION
IMPORT IMPORT OF GOODS AND SERVICES
IO INPUT/OUTPUT
ITAX INDIRECT TAX
LES LINEAR EXPENDITURE SYSTEM
MARKUP MARKUP OVER AND ABOVE COSTS
QEXO EXOGENOUS QUANTITY
QSHR FIXED QUANTITY SHARES
SUBST PERFECT SUBSTITUTES
TEXO EXOGENOUS TSOL
TRANSF TRANSFER
UNSPEC UNSPECIFIED(RESIDUAL)
VEXO EXOGENOUS VALUE
VSHR FIXED VALUE SHARES
- 22 -
表2 スペシフィケーション・アクロニムのリスト(用途別)
消費、投資その他の最終使用
DQEXO DVEXO LES QEXO QSHR VEXO VSHR
生産、生産物の変換、要素や中間投入への支払い
AVRG CD CES CES2 CET IO MARKUP RENT SUBST TRANF
所得分配と移転
IDIST TEXO UNSPEC
租税
DTAX FTAX ITAX
外国為替取引
EXPORT FALCO FALOCI FAVRG FDIST FEXCHD FEXCHE FEXO FRENT
FTAX IMPORT UNSPEC
◆モデル・ステートメント
モデルの特定には、3つの構成要素を定義する必要がある。
勘定セット
勘定表
セル・テーブル
である。
このことを行なうのが、次のようなモデル・ステートメントである。
MODEL MODELA INITIAL DEMONSTRATION MODEL
/ ACC, AT, CT /;
「MODEL」は、GAMSのキーワードである。「MODELA」は、モデルの名前、つまり、その識別名である。
その行の残りの部分「INITIAL DEMONSTRATION MODEL」は、説明文である。モデルの構成要素のリス
トは、スラッシュ(/)でくくられ、モデルの個々の要素同士は、コンマ(,)で区切られている。識
別名のつけかたは自由であるが、順序は、上のとおり、すなわち、勘定セット、勘定表、セル・テー
- 23 -
ブルの順にしなければならない。
◆ソルブ・ステートメント
SOLVE MODELA USING HERCULES;
「SOLVE」、「USING」および「HERCULES」は、GAMSキーワードである。「USING HERCULES」という部
分で、モデルのタイプと解法とをともに示している。
モデル・ソリューションの結果は、アカウント・テーブルとセル・テーブルの追加列・追加プレー
ンとして返される。このことを見るために、ソルブ・ステートメント前後のアカウント・テーブルと
セル・テーブルの状態を「DISPLAY」文によって見る。
DISPLAY "ACCOUNT AND CELL TABLES BEFORE SOLVE:", AT,CT;
SOLVE MODELA USING HERCULES;
DISPLAY "ACCOUNT AND CELL TABLES AFTER FIRST SOLVE:", AT,CT;
「DISPLAY」は、GAMSのプリント文である。引用符中のストリングは、そのままアウトプット上にプリ
ントされる。
ソルブ前の勘定表とセル表、ソルブ後の勘定表とセル表とを比べてみよう。インプットファイル(付
録1)の68行目と73行目にDISPLAY文があり、対応するアウトプットには、インプット中の行番号とと
もに “----”が含まれるからわかりやすい。
---- 68 ACCOUNT AND CELL TABLES BEFORE SOLVE:
---- 68 PARAMETER AT ACCOUNT TABLE
TYPE FIX
LABOR MF Q
CAPITAL MF Q
HHLD-RURAL INSTC
HHLD-URBAN INSTC NP
FOOD AC
CLOTHING AC
---- 68 PARAMETER CT CELL TABLE
TBASE SPECS
LABOR .FOOD 75.000 CD
LABOR .CLOTHING 85.000 CD
- 24 -
CAPITAL .FOOD 50.000 CD
CAPITAL .CLOTHING 60.000 CD
HHLD-RURAL.LABOR 90.000 IDIST
HHLD-RURAL.CAPITAL 30.000 IDIST
HHLD-URBAN.LABOR 70.000 IDIST
HHLD-URBAN.CAPITAL 80.000 IDIST
FOOD .HHLD-RURAL 60.000 VSHR
FOOD .HHLD-URBAN 65.000 VSHR
CLOTHING .HHLD-RURAL 60.000 VSHR
CLOTHING .HHLD-URBAN 85.000 VSHR
---- 73 ACCOUNT AND CELL TABLES AFTER FIRST SOLVE:
---- 73 PARAMETER AT ACCOUNT TABLE
TYPE FIX PSOL QSOL YSOL
LABOR MF Q 1.000 160.000 160.000
CAPITAL MF Q 1.000 110.000 110.000
HHLD-RURAL INSTC 1.000 120.000 120.000
HHLD-URBAN INSTC NP 1.000 150.000 150.000
FOOD AC 1.000 125.000 125.000
CLOTHING AC 1.000 145.000 145.000
+ YBASE
LABOR 160.000
CAPITAL 110.000
HHLD-RURAL 120.000
HHLD-URBAN 150.000
FOOD 125.000
CLOTHING 145.000
---- 73 PARAMETER CT CELL TABLE
TBASE SPECS TSOL QCSOL
LABOR .FOOD 75.000 CD 75.000 75.000
LABOR .CLOTHING 85.000 CD 85.000 85.000
CAPITAL .FOOD 50.000 CD 50.000 50.000
CAPITAL .CLOTHING 60.000 CD 60.000 60.000
- 25 -
HHLD-RURAL.LABOR 90.000 IDIST 90.000
HHLD-RURAL.CAPITAL 30.000 IDIST 30.000
HHLD-URBAN.LABOR 70.000 IDIST 70.000
HHLD-URBAN.CAPITAL 80.000 IDIST 80.000
FOOD .HHLD-RURAL 60.000 VSHR 60.000 60.000
FOOD .HHLD-URBAN 65.000 VSHR 65.000 65.000
CLOTHING .HHLD-RURAL 60.000 VSHR 60.000 60.000
CLOTHING .HHLD-URBAN 85.000 VSHR 85.000 85.000
+ A-USED
LABOR .FOOD 0.600
LABOR .CLOTHING 0.586
CAPITAL .FOOD 0.400
CAPITAL .CLOTHING 0.414
HHLD-RURAL.LABOR 0.562
HHLD-RURAL.CAPITAL 0.273
HHLD-URBAN.LABOR 0.437
HHLD-URBAN.CAPITAL 0.727
FOOD .HHLD-RURAL 0.500
FOOD .HHLD-URBAN 0.433
CLOTHING .HHLD-RURAL 0.500
CLOTHING .HHLD-URBAN 0.567
ソルブ前の勘定表、セル・テーブルと比べ、ソルブ後の勘定表には、「PSOL」、「QSOL」、「YSOL」
および「YBASE」という列がふえている。「YBASE」は、基準年SAMの勘定トータルを返しているだけ、
「PSOL」、「QSOL」、「YSOL」は、それぞれ、解についてのpi、qi、yi である。セル・テーブルの方
には、「TSOL」、「QCSOL」および「A-USED」という列が追加されている。「TSOL」は、解におけるS
AMすなわちtij、「QCSOL」は、対応する不変価格SAMすなわちセルの数量cijを返している。「A-USED」
は、基準年SAMからカリブレートされたパラメータ値、aij を返している。QSOL=YSOL=YBASE、TSOL
=QCSOL=TBASEであることは、要するに、基準年SAMが解として再現されていることがわかる。
◆実験情報
HERCULESによって行なう実験は、多く場合、比較静学である。すなわち、ひとつないし複数の外生
変数や政策変数やパラメータに変化があったとき、その前後の経済の状態を比較することである。外
生変数の変化、たとえば、資本が10%増加したときの影響を調べるのには次のように書く。右辺のAT
("CAPITAL","QSOL")は、first solveのものである。このモデルには、労働の数量、資本の数量、ニュ
メレール(都市家計のCPI)の3つの外生変数があるから、左辺のAT("CAPITAL","QFIX")の部分をAT(“L
ABOR”, “QFIX”)ないしAT(“HHLD-URBAN”, “PFIX”)とすることにより、他の外生変数についての実験も
同様にできる。セカンド・ソルブ後のディスプレイ結果から勘定表を見ると、QFIXの列が付け加わっ
ている。現在の場合、外生変数が数量であるからであるが、外生変数が価格ならPFIXの列が付け加わ
り、外生変数が金額であれば、YFIXの列が付け加わったであろう。
- 26 -
AT("CAPITAL","QFIX")= 1.1*AT("CAPITAL","QSOL");
SOLVE MODELA USING HERCULES;
DISPLAY "ACCOUNT AND CELL TABLES AFTER SECOND SOLVE:", AT,CT;
◆GAMSの実行
モデルのすべての構成要素を提示したが、モデルを記述する順序は、以下の通りにすることを勧め
る。とくに、アクロニム文は、使われる前に宣言されなければならないから、インプットの最初近く
に置かれる。具体的には、末尾に付録として掲げた。
*ACCOUNT LIST
*ACRONYMS
*CELL TABLE
*SOCIAL ACCOUNTING MATRIX
*SPECIFICATION TABLE
*ACCOUNTS TABLE
*MODEL STATEMENT
*SOLVE STATEMENT FOR BASE CASE
*EXPERIMENT DEFINITION
*SOLVE STATEMENT FOR EXPERIMENT
提示されたモデル(インプット・ファイル)には、「MODELA」という名前がついているから、
GAMS MODELA
として実行。計算実行後、「MODELA.LST」というアウトプット・ファイルが返されてくる。
ソリューション・サマリーを見る。「HHLD-URBAN」の価格は、ニュメレールだからあらゆる解の中
で1である。資本が豊富になったため、資本の価格は下落している。食料の方が労働コンテントが若
干大きいことを反映して食料の価格があがり、衣料の価格が相対的にさがっている。
S O L U T I O N S U M M A R Y
PSOL QSOL YSOL YBASE RESIDUAL
LABOR 1.040 160.000 166.341 160.000
CAPITAL 0.945 121.000 114.360 110.000
HHLD-RURAL 1.000 124.745 124.756 120.000
HHLD-URBAN 1.000 155.945 155.945 150.000
FOOD 1.001 129.858 129.954 125.000 -0.142
CLOTHING 0.999 150.833 150.747 145.000 -0.167
実験の詳細な結果をセル・ベースで見るためには、実験後のCTを「DISPLAY」し、TSOL、QCSOLを検
討すればよい。「TSOL」は、「当期価格表示のソリューションSAM」、「QCSOL」は、基準年価格で表
示された「不変価格表示のソリューションSAM」である。
- 27 -
---- 83 PARAMETER CT CELL TABLE
TBASE SPECS TSOL QCSOL
LABOR .FOOD 75.000 CD 77.973 75.000
LABOR .CLOTHING 85.000 CD 88.369 85.000
CAPITAL .FOOD 50.000 CD 51.982 55.000
CAPITAL .CLOTHING 60.000 CD 62.378 66.000
HHLD-RURAL.LABOR 90.000 IDIST 93.567
HHLD-RURAL.CAPITAL 30.000 IDIST 31.189
HHLD-URBAN.LABOR 70.000 IDIST 72.774
HHLD-URBAN.CAPITAL 80.000 IDIST 83.171
FOOD .HHLD-RURAL 60.000 VSHR 62.378 62.332
FOOD .HHLD-URBAN 65.000 VSHR 67.576 67.526
CLOTHING .HHLD-RURAL 60.000 VSHR 62.378 62.414
CLOTHING .HHLD-URBAN 85.000 VSHR 88.369 88.419
+ A-USED
LABOR .FOOD 0.600
LABOR .CLOTHING 0.586
CAPITAL .FOOD 0.400
CAPITAL .CLOTHING 0.414
HHLD-RURAL.LABOR 0.562
HHLD-RURAL.CAPITAL 0.273
HHLD-URBAN.LABOR 0.437
HHLD-URBAN.CAPITAL 0.727
FOOD .HHLD-RURAL 0.500
FOOD .HHLD-URBAN 0.433
CLOTHING .HHLD-RURAL 0.500
CLOTHING .HHLD-URBAN 0.567
「TSOL」と「QCSOL」の部分をそれぞれ行列形式で表章しなおしてみよう。
当期価格表示ソリューションSAM(TSOL)
LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING
LABOR 77.973 88.369
- 28 -
CAPITAL 51.982 62.378
HHLD-RURAL 93.567 31.189
HHLD-URBAN 72.774 83.171
FOOD 62.378 67.576
CLOTHING 62.378 88.369
不変価格表示ソリューションSAM(QCSOL)
LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING QSOL
LABOR 75.000 85.000 160.000
CAPITAL 55.000 66.000 121.000
HHLD-RURAL 124.745
HHLD-URBAN 155.945
FOOD 62.332 67.526 129.858
CLOTHING 62.414 88.419 150.833
RESIDUAL 0.001 0.000 -0.142 -0.167
TOTAL 124.746 155.945 129.858 150.833
QSOL 160.000 121.000 124.745 155.945 129.858 150.833
しかし、実は、この「不変価格SAM」は、真のSAMではない。所得分配(IDIST)スペシフィケーシ
ョンのセル(HHLD-RURAL.LABOR、HHLD-RURAL.CAPITAL、HHLD-URBAN.LABOR、HHLD-URBAN.CAPITAL)は、
定義上「QCSOL」をもたない。要素から家計への移転に対応する物理的フローは存在しないからである。
要素投入量と生産量との関係の定式化において生産関数のそれを用いて要素需要関数を導出している
が、要素所得が制度部門に分割されてゆくさいには、むしろ、所得分配の制度的な性格を強調してい
るようにみえる。そのことに関連して要素サービスの実質化と所得の実質化とは別のことがらである
ということにも十分注意する必要がある。この点は、付論で議論する。このように「要素勘定」は、
きわめて特殊なスクリーン勘定である。
さらに「QCSOL」をもつ食料、衣料のような勘定でも、行和と列和とが一致していない。このこと
も、「不変価格SAM」を真のSAMではなくする。多くの場合(「CET」スペシフィケーションの場合は例
外)、「QCSOL」の行和が「QSOL」となる。ソリューション・サマリーの「RESIDUAL」は、その行和
と列和との差額である。
QCSOLの存在しない家計行(HHLD-RURAL、HHLD-URBAN)のQSOLは、家計の「実質所得」とでも呼ぶ
べきものである。名目所得YSOLを各々の部門のCPIで割ることによって間接的に求めたものである。都
市家計のCPIは、ニュメレールであるから、当然1である。この場合、農村家計のCPIも1に近い数字で
あった(YSOLは124.756、QSOLは124.745)。
FOOD、CLOTHING列についてのRESIDUALは、価格変化に対する調整効果を、実質タームではかったも
のであると考えることができるだろう。たとえば、食料生産について、基準年価格の投入の合計は、
75+55=130、産出は、129.858であり、両者の差額は、-0.142となる。前出の点とあわせ、不変価格SA
Mあるいは実質値SAMについては、さらに、付論で議論することにしよう。
- 29 -
作間 逸雄
文献
A.S. Drud and D. Kendrick,"HERCULES - A System for Large Economywide Models," (mimeo), ARKI
Consulting and Development A/S, Denmark, 1991.
A.Brooke, D.Kendrick, and A.Meeraus, GAMS: A User's Guide, Release 2.25, Scientific Press, 1992.
D. Greenaway, S.J. Leybourne, G.V.Reed, and J. Whalley, Applied General Equilibrium Modelling:
Applications, limitations and future development, HMSO, 1993.
- 30 -
付論 不変価格SAMから実質値SAMへ
不変価格 SAM は、政策変更などの比較静学を行なった後に行なうべき well-being の比較評価を行
なう用具として重要である。この付録は、不変価格SAMあるいは実質値SAMをめぐる若干の覚え書き
である。
まず、実質化について、若干の一般論的考察を行なっておく。実は、実質化(実質値に変換するこ
と)にはふたつの意味がある。ひとつめの意味は、1)なんらかの物価指数で名目値を割る(デフレ
ートする)ことである。適切な物価指数に選択の余地がある。もうひとつの意味は、2)不変価格表
示するという意味である。金額データが pq のかたちのものとして考察できる場合、p 部分(ベク
トル)を「不変価格」(ベクトル) 0p で置き換えることにより、実質化が可能となる。この場合、1)
の意味の実質化とこのような意味でのそれとを両立させるデフレーターが存在する。そのようなデフ
レーターをインプリシット・デフレーターと呼ぶ。
イニシャル・デモンストレーション・モデルの構造をごく簡単に示してみたのが下の行列である。
PQ型は、当該セルのエントリーが上のような意味で数量要素と価格要素との積に分解できるものであ
ることを示す。N 型は、名目フローである。生産勘定借方からは、要素サービスの実質化をすること
は容易であるが、所得フローとしては、名目額が同じであれば、それがどのような理由で得られたも
のであっても区別する理由がない(何に使うかということとは別)。一国経済規模で一律のデフレータ
ーを用いるか、制度部門ごとにそうするかは選択の余地があるであろう。
要 素 制 度 部 門 生 産
要 素 PQ型
制 度 部 門 N型
生 産 PQ型
上の図では、要素・生産の交点にあるPQ型エントリーは、要素投入であり、生産・制度部門の交点
にあるPQ型エントリーは、最終消費される生産物である。不変価格表示の国民勘定とは異なり、双方
が独立に不変価格表示されているので、生産勘定の行側・列側で不整合が生じる。そのために行側ま
たは列側に<残差項(residual)>を置く必要がある。
制度部門・要素の交点にあるN型のエントリーは、不変価格表示できないから、不変価格SAMは、
不完全なものにならざるをえない。そこで、Stuvelの構成に沿って9N型エントリーを一律デフレータ
ー(ニュメレール・デフレーター)で実質化し、さらに、価格構造効果項目を置くことで真正の SAM
の性質(勘定バランス)を維持することができることを示す。なお、Stuvelの一律デフレーターとし
ては、(他のデフレーターを採用することもできるであろうが)モデルのニュメレールにあわせて都市
9 拙稿「交易条件効果をめぐって」(経済統計学会第47回総会報告資料、2002年)を参照のこと。
- 31 -
家計CPIに取ることにしよう。定義により、都市家計CPIはつねに1であるから、この一律デフレー
ターによる実質値=名目値である。
下のような概念的枠組みで実質値勘定を構成することができる。<価格構造効果PSE1>は、要素
の不変価格表示値としての実質値と一律デフレーターによる実質値との開差である。<価格構造効果P
SE2>は、要素の不変要素価格値と生産物(消費)の不変価格表示値との開差である。要素支払い額
を一律デフレーションタイプの実質所得(Y )に置き換えるためにPSE1が必要である。制度部門行を
見ると、実質所得Y を不変価格表示タイプの、言い換えれば、ラスパイレス型の数量指標に置き換え
るために制度部門行のやや煩雑な変換を行なう。具体的には、Y -PSE1+PSE2=不変価格表示の最
終使用値の合計である。
マス目2個分右へつきだしている部分は、各家計制度部門に固有の物価指数による数量指標(モデ
ルのQSOL、Y )を得るための調整である。なお、不変価格表示は、ティルドであらわしている。
数値表示の表では、列和が0になるため、PSE1、PSE2の行を省略した。モデルでRESIDUALと表示さ
れているのは、この表で太い枠で示した部分であることがわかる。ただし、符号は逆になっている。k
また、不変価格SAMとRESIDUALだけを表章による場合と比べ、外生的な条件が及ぼす効果を、数量の変
化そのものが影響を与えている部分と相対価格(交易条件)の変化による部分すなわちPSEとを切り離
して表章でき、より的確な評価を行なうことができると思われる。なお、比較の便宜のために、QSOL、
YSOL、PSOL、YBASEをまとめた表を付している。
- 32 -
要 素 価格構造効果1 制 度 部 門 生 産 価格構造効果 2 価格構造効果 3 制度部門固有
の物価指数に
よる数量指標
要 素PSE1 T
価格構造効果1
制 度 部 門Y -PSE1 PSE2 PSE3 Y
生 産C -PSE2
価格構造効果 2
- 33 -
Real Value SAM: Urban CPI Deflation Version
Labour Capital PSE 1 R hhold U hhold Food Clothing PSE 2 PSE 3 Indicators
using PIs
specific
to Sector
Labour 6.341 75.000 85.000
Capital -6.640 55.000 66.000
Rhhold 93.567 31.189 -1.756 1.746 -0.001 124.745
U hhold 72.774 83.171 2.055 -2.055 0 155.945
Food 62.332 67.526 0.142
Clothing 62.414 88.419 0.167
QSOL YSOL PSOL YBASE
Labour 160.000 166.342 1.03964 160.000
Capital 121.000 114.360 0.94512 110.000
R hhold 124.745 124.756 1.00009 120.000
U hhold 155.945 155.945 1.00000 150.000
Food 129.858 129.954 1.00074 125.000
Clothing 150.833 150.747 0.99943 145.000
- 34 -
- 35 -
付録1 HERCULESのディスクに含まれているMODELA
1 $ TITLE MODELA: INITIAL DEMONSTRATION MODEL
2 * THE FOLLOWING MODEL IS THE INITIAL MODEL IN DRUD AND KENDRICK:
3 * "HERCULES - A MODELING SYSTEM FOR LARGE ECONOMYWIDE MODELS".
4 * IT DESCRIBES A SIMPLE MODEL WITH TWO PRODUCTION SECTORS, TWO FACTORS
5 * OF PRODUCTION, AND TWO HOUSEHOLDS.
6
7 SET ACC ACCOUNTS /
8 LABOR
9 CAPITAL
10 HHLD-RURAL
11 HHLD-URBAN
12 FOOD
13 CLOTHING /;
14
15 ALIAS (ACC,ACCP);
16
17 ACRONYMS MF MARKET FACTOR ACCOUNT
18 INSTC INSTITUTIONS CONSUMPTION ACCOUNT
19 AC ACTIVITY OR COMMODITY ACCOUNT
20
21 Q QUANTITY FIXED
22 NP PRICE FIXED AS A NUMERAIRE
23
24 CD COBB DOUGLAS PRODUCTION FUNCTION SPECIFICATION
25 IDIST INCOME DISTRIBUTION SPECIFICATION
26 VSHR FIXED VALUE SHARE CONSUMPTION SYSTEM;
27
- 36 -
28 TABLE SAM(ACC,ACC) SOCIAL ACCOUNTING MATRIX
29
30 LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING
31 LABOR 75 85
32 CAPITAL 50 60
33 HHLD-RURAL 90 30
34 HHLD-URBAN 70 80
35 FOOD 60 65
36 CLOTHING 60 85
37
38 TABLE SPEC(ACC,ACC) SPECIFICATIONS TABLE
39
40 LABOR CAPITAL HHLD-RURAL HHLD-URBAN FOOD CLOTHING
41 LABOR CD CD
42 CAPITAL CD CD
43 HHLD-RURAL IDIST IDIST
44 HHLD-URBAN IDIST IDIST
45 FOOD VSHR VSHR
46 CLOTHING VSHR VSHR
47
48 * DEFINE CELL ARRAY
49
50 PARAMETER CT(ACC,ACC,*) CELL TABLE;
51 CT(ACC,ACCP,"TBASE") = SAM(ACC,ACCP);
52 CT(ACC,ACCP,"SPECS") = SPEC(ACC,ACCP);
53
54 TABLE AT(ACC,*) ACCOUNT TABLE
55
56 TYPE FIX
- 37 -
57
58 LABOR MF Q
59 CAPITAL MF Q
60 HHLD-RURAL INSTC
61 HHLD-URBAN INSTC NP
62 FOOD AC
63 CLOTHING AC
64
65 MODEL MODELA INITIAL DEMONSTRATION MODEL
66 / ACC, AT, CT /;
67
68 DISPLAY "ACCOUNT AND CELL TABLES BEFORE SOLVE:",
69 AT, CT;
70
71 SOLVE MODELA USING HERCULES;
72
73 DISPLAY "ACCOUNT AND CELL TABLES AFTER FIRST SOLVE:",
74 AT, CT;
75
76 * EXPERIMENT INFORMATION:
77 * CHANGE THE QUANTITY OF CAPITAL BY A FACTOR 1.1 FROM THE BASE VALUE.
78
79 AT("CAPITAL","QFIX")= 1.1*AT("CAPITAL","QSOL");
80
81 SOLVE MODELA USING HERCULES;
82
83 DISPLAY "ACCOUNT AND CELL TABLES AFTER SECOND SOLVE:",
84 AT, CT;
- 38 -
付録2 第(6y)式および(6q)式の導出
次の効用関数について、効用一定下の費用最小問題をラグランジュ乗数法で解く。
(.) log( )h sh shsU a c
ラグランジュ関数Vは、次のようになる。
log( )h s sh h sh shsV p c U a c
Vをcshとμについて偏微分して 0と置く。
0. 1,...,
log( ) 0.
h shs
sh sh
hh sh shs
V ap s S
c c
VU a c
最小支出を E と書くことにすると、
s sh shE p c a ある価格構造( sp )のもとで、
log
log log log
shh sh
s
sh sh sh sh s
aU a
p
a a a a p
他の価格構造( sp)のもとで、
'log
'
log ' log log '
shh sh
s
sh sh sh sh s
aU a
p
a a a a p
2 つの式を比べて、
log log log log 'sh sh ssa p a p
すなわち、
sh
sh
as
as
p
p
後者の価格構造を基準均衡のものとすると、定義により、 sp=1。これが、第(6y)式である。
すなわち、コブダグラス効用関数をベースにした効用不変物価指数(このモデルの CPI)は、幾
何平均型になる。いわゆる平均論争に言及するまでもなく、この CPI は、消費者が価格の変化に
反応する十分な時間が存在することを前提しないかぎり妥当しないと考えられることに注意す
- 39 -
る。
数量指数は、このように構成された価格指数と金額指数とから間接的に導き出されたものである
から、ash
h s sha
と書くことにすれば、
( / ) sh
sh
h hh a
h s sh h sh
a
h shs
y yq
p a y c
c
これが、(6q)式である。効用関数の形状から見て、この数量指数が事実上効用指標である
ことが知られる。
- 40 -
付録3 CGE分析のためのソフトウェアCGE 分析のためのソフトウェア
分類 ソフトウェア名 内容 特徴 供給元/問い合わせ先
インハウス FORTRAN、BASIC 等を使ってモ
デラー自身がプログラムを書く。
モデラーにかなりのプログラミング
能力が必要になる。プロブレム・ス
ペシフィック、オーサー・スペシフィ
ックになりがち。モデルの一般化・
改善が難しい。
汎用数学・統計ソフトウ
ェアの利用
MATHEMATICA、GAUSS、GAMS
など、数学・統計用に一般に用い
られているソフトウェアを利用す
る。
モデル・プログラミングは、
FORTRAN等より容易であるが、
CGE 専用のソフトと比べれば、モ
デラーが自分でプログラミングしな
ければならない部分が多い。ソフト
ウェア中の統計用の部分や
GAUSS のインビルトオペレーター
の多くの部分は余計。
GAUSS 強力な行列処理言語をベースに
開発された汎用統計・数学解析シ
ステム。一般統計処理、エコノメト
リックス、時系列解析を含む多岐
にわたる応用分野をもつ。1984年
開発。
行列志向のシンタックス。インデッ
クス・フリーなので、代数類似にモ
デル・コーディングができ、モデル
のチェックが容易である。数値的に
非線形連立方程式を解くモデュー
ルが用意されている。言語機能と
しても十分柔軟である。
Aptech Systems, Inc.23804 SEKent-Kangley RoadMaple Valley, WA98038 [email protected]://www.aptech.com/s2_apps.html
- 41 -
MATHEMATICA 技術計算のための統合された環
境を提供する。1988 年リリース。
科学技術分野を始めとする多くの
分野で用いられている。
インデックス・フリーに行列を取り
扱うことができることなど、GAUSS
と共通点が多い。連立方程式の代
数解および数値解を与えるアルゴ
リズムをもっている(CGE では、代
数解をもたないことが多いだろうか
ら前者は――モデル構築のさいの
参考ということを除けば――あまり
役に立たないであろう)。
Wolfram Research,Inc.100 Trade CenterDriveChampaign, IL61820-7237 [email protected]://www.wolfram.com/
GAMS General
Algebraic Modelling
System
1970 年代に世界銀行によって開
発された。本来は、数理計画法の
ソフトウェア。少なくとも、1990 年
代半ばまでは、CGE分析で最も多
用されたプログラミング言語であ
る。次のようなステップを踏む。1)
外生変数集合とその要素の定
義、2)集合要素に対するパラメー
ター値の代入、3)内生変数の定
義、4)モデルの方程式、制約条
件、目的関数(CGE の場合ダミー
目的関数)の定義、5)目的関数
を最適化するための指示。ソリュ
ーション・プロセスそのものは、ソ
ルバーが担当している。
GAUSS、MATHEMATICA と異な
り、要素インデックスを排除せず、
それを容易に行なうことを重視した
ソフトウェアである。少なくとも、
1990 年代半ばまでは、カリブレー
ション時のデータ操作が容易であ
ることなどの利点により、CGE分析
で最も多用されたプログラミング言
語である。CGE用のソルバーであ
る HERCULES(ver.2.05 まで)、
MPSGE とともに、使用されることも
あるし、MCP 用ソルバーによって
直接 GAMS でモデルを記述するこ
とも出来る。
GAMS Development
Corporation 1217
Potomac Street, NW
Washington, DC 20007
USA
http://www.gams.com/
CGE 専用ソフトウェアの
利用
CGE ように専用に開発されたソフ
トウェアを利用する。
モデラーのプログラミング上の負
担は最も少ないが、関数形等がリ
ジッドになりやすい。
- 42 -
HERCULES High
level Economic
Representation for
Creation and Use of
Large Economywide
System
GAMS ベース。GAMSのとともに
世界銀行によっって開発され、世
界銀行を中心に数多く手がけられ
た SAMベース CGE 分析の多くを
サポートした GAMS ソルバー。
GAMSの基礎が理解されていれ
ば、Acroym、Account table、Cell
table といった HERCULES特有の
仕組みをマスターすることにより、
初心者にも SAM ベースの CGE モ
デルを実行可能にする。関数形
は、hardwired であり、レオンチェ
フ、コブ=ダグラス、CES等が、最
適化の 1階の条件つきで組み込ま
れている。自動カリブレーションが
行なわれが、弾力性などのパラメ
ーターは、必要ならユーザー側で
入力することもできる。もちろん、レ
プリケエーション・チェックはソフト
ウェア側でやってくれる。
ARKI Consulting and
Development
Bagsvaerdvej 246 A
DK-2880 Bagsvaerd,
Denmark
email: [email protected]
MPS/GE
Mathematical
Programming
Software / General
Equilibrium
Scarf=Hansen に由来する一般均
衡分析への数理計画法的アプロ
ーチをプログラム化したもの。
Rutherford によって開発された。
GAMSのソルバーであり、GAMS
ベースで機能する。
CGE モデルの構築・分析を支援す
るための hardwired な関数ライブラ
リーとヤコービアンの評価ルーティ
ンを含む。モデル・カリブレーショ
ン、レプリケーション・チェックは自
動。SAM ベースではむずかしい相
補性を使ったアルゴリズムを利用
することもできる。
GAMS Development
Corporation
1217 Potomac Street,
NW
Washington, DC 20007
USA
http://www.gams.com/
ASAP A Social
Accounting Package
SAM ベース。英国政府が開発。 行列志向のシンタックスである点
は、GAUSS等と類似している。関
数形が hardwired でないこと、自動
カリブレーションが行なわれないこ
と、レプリケーション・チェックが行
なわれないことなど、モデラーの負
Overseas Development
Administration, UK
- 43 -
担が大きい。
MAQM Maquett SAM ベースを含む。Maquett クラ
ス(Bourguignon=Branson=de
Melo)に属するモデルを構築し、
解くための環境を提供するソフト
ウェア。きわめて柔軟な不動点ア
ルゴリズムを用いる。
クロージャー・オプションを含むモ
デルの特定化、データ・エントリー
(SAMフォーマットのデータを含む)
など、オール・メニュー方式であ
る。関数形は hardwired。カリブレ
ーション、さらに必要な場合には、
RAS 調整もやってくれる。
Professor J. de Melo,
The World Bank, 1818H,
St. NW, Washington DC
20433, USA
GEMPACK General
Equilibrium Modelling
PACKage
ORANI モデル=Impact プロジェク
ト(Monash 大学)、GTAP プロジェ
クト(Purdue 大学)という大規模な
CGE 分析プロジェクトをサポートし
ているソフトウェアである。
多様なクロージャー・ルールが用
意されている。カウンターファクチ
ュアルな分析においては、非線形
関数を線形近似することにより、き
わめて規模の大きいモデルを扱う
kもとができる。
Impact, Monash
University, Clayton,
Victoria, Australia
- 44 -
付録4 GAMSとHERCULESのインストールについて
HERCULESのフロッピー・ディスクから、パソコン(DOS/V機種)に、GAMS-HERCULESをインスト
ールする方法を示す。
1.WINDOWSのDOSプロンプトにするか、DOSモードで立ち上げる。エクスプローラ等によっても、
PATHを変更する部分を除けば同等のことができるはずである。
2.ドライブC:に「GAMS205」という名称のディレクトリーを作る。
MD GAMS205
そのうえで、
CD GAMS205
VERIFY ON
としてからGAMS2.05のフロッピー・ディスクをフロッピー・ドライブに挿入し、「GAMS205」のデ
ィレクトリーに、次のように、必要なファイルをコピーする。
COPY A:GAMS*.*
ここで、いったんルート・ディレクトリーにもどり(CD \)、「GAMSLIB」という名称のディレク
トリーをつくり(MD GAMSLIB)、そのディレクトリーに移動(CD GAMSLIB)。ディレクトリー名は、
他の名前でもよい。
COPY A:*.GMS
COPY A:*.IDX
COPY A:*.LST
とコピー。ついでに、HERCULESのモデル・ライブラリーのためのディレクトリーも作っておこう。
CD \
MD HERCLIB
CD HERCLIB
HERCULESのモデル・ライブラリーは、GAMS2.05のフロッピーの中の「A:\HERCLIB」というディレ
クトリーに入っているから、
A:
CD HERCLIB
COPY *.* C:
VERIFY OFF
C:
- 45 -
CD GAMS205
3.ここで、GAMSNSTLとすると、次のように画面に表示されるであろう。
The following solver systems are available
GAMS/BDMLP
GAMS-HERCULES
OK to rewrite GAMS capability file (Y/N) ?
Y
と反応すると、
GAMS install terminated
と表示されるであろう。インストールの主要部分は、これで終わり。
4.最後に、AUTOEXEC.BATの書き替えを行ない、パスをつくる。AUTOEXEC.BATを書き替えたくなけ
れば、ブート・ディスクをつくるという方法もある。2通りのGAMSを使おうとする場合にも、ブ
ート・ディスクの利用は、有効であろう。
エディターを使って、たとえば、
PATH=C:\;C:\GAMS205;C:\DOS (アンダー・ライン部分をつけ加える。)
などとする。カレント・ディレクトリーで見つからないコマンド・ファイルをさがしてもらうた
めである。ついでに、CONFIG.SYSに、
FILES=16
BUFFERS=10
があることを確認する。16および10以上の数値がもともと入っていればそれでよい。
5.動作チェックを行なっておこう。カレント・ディレクトリー(作業用のディレクトリーを作っ
ておいた方がよい)に、GAMSライブラリーから、TRNSPORT.GMS(輸送問題)をコピーし、
GAMS TRNSPORT
とすると、インストールがうまくいっていれば、
TRNSPORT.LST
というファイルに結果をうちだしておいてくれる。最適値は、153.6750である。
6.なお、原因は不明であるが、GAMS-HERCULESをWINDOWS 2000およびWINDOWS XP上で実行するの
は、困難であるようである。
- 46 -
7. HERCULES の入手可能性についての問い合わせ先は、以下。
ARKI Consulting & Development A/S
Bagsvaerdvej 246 A
DK-2880 Bagsvaerd
Denmark
- 47 -