IFAS キャリブレーターVersion 2.0
ユーザマニュアルICHARM(水災害・リスクマネジメント国際センター)
国立研究開発法人 土木研究所

目次
1. はじめに ............................................................... 1
1.1 IFAS キャリブレーターについて .......................................... 1
1.2 動作環境 ............................................................... 1
1.3 Microsoft .NET Framework のインストール ................................ 1
2. IFAS Calibrator のインストール ......................................... 4
3. パラメータ最適化の設定 ................................................. 5
3.1 事前準備 ............................................................... 5
3.2 IFAS Calibrator の起動 ................................................. 6
3.3 最適化対象の IFAS プロジェクトの選択 .................................... 7
3.4 最適化対象のシミュレーションの選択 ..................................... 93.5 最適化対象のパラメータの設定 .......................................... 103.6 最適化評価期間の設定 .................................................. 143.7 観測点の設定 .......................................................... 153.8 多目的最適化の設定 .................................................... 173.9 最適化アルゴリズムの設定 .............................................. 183.10 出力フォルダの設定 .................................................... 224. 最適化の実行 .......................................................... 235. 最適化結果の確認 ...................................................... 245.1 最適化結果の読み込み .................................................. 245.2 誤差値とハイドログラフの確認 .......................................... 265.3 パレート図の確認 ...................................................... 28
5.4 最適化結果の分析 ...................................................... 36
6. 前回の最適化の設定の再読込 ............................................ 38
7. トラブルシューティング ................................................ 40(ア) 観測流量のデータの数が不一致 .......................................... 40(イ) IFAS の計算が発散 ..................................................... 40(ウ) 最適化の誤差値評価が発散 .............................................. 40

1.

はじめに

1.1

IFAS キャリブレーターについて
IFAS キャリブレーター（以下、IFAS Calibrator）は、観測流量を用いて IFAS (Integrated
Flood Analysis System)のパラメータを最適化するツールです。IFAS プロジェクトを一度作成し、シミュレーションを実行してから利用する想定になっています。
最適化可能な IFAS プロジェクトは２段タンクモデルを利用したものに限ります。

1.2

動作環境
対応 OS：Windows7/8.1/10 (32bit/64bit)
CPU：2GHz 以上推奨
メモリ：2GB 以上推奨
必要なソフトウェア：Microsoft .NET Framework 4.6 以上

1.3

Microsoft .NET Framework のインストール
IFAS Calibrator を利用するためには.NET Framework が必要となるため、以下の手順でインストールを実行します。
① マイクロソフトのダウンロード用の Web ページから. NET Framework をダウンロードします。

IFAS キャリブレータ Version 2.0 利用マニュアル1

② ダウンロードしたファイルを実行します
セキュリティ設定によって下記のような警告が出力される場合、「はい」をクリックしてください。

③ インストーラーの案内に従い、インストールを実行してください。

IFAS キャリブレータ Version 2.0 利用マニュアル

2

IFAS キャリブレータ Version 2.0 利用マニュアル

3

2.

IFAS Calibrator のインストール
IFAS Calibrator にインストーラーはなく、IFAS Calibrator のアーカイブを任意のパスに展開することで、利用可能となります。
ただし、パスに日本語などマルチバイト文字が含まれると不具合が発生しますので、マルチバイト文字が含まれないパス(C:¥直下など)に展開してください。

IFAS キャリブレータ Version 2.0 利用マニュアル4

3.

パラメータ最適化の設定

3.1

事前準備
IFAS でシミュレーション実行済みのプロジェクトファイルを用意します。
※最適化可能な IFAS プロジェクトは２段タンクモデルに限ります。

IFAS キャリブレータ Version 2.0 利用マニュアル

5

3.2

IFAS Calibrator の起動
アーカイブに含まれている IFASCalibrator.exe をダブルクリックして起動します。

起動後にメニューバーの Calibration をクリックすると、設定画面が表示されます。

IFAS キャリブレータ Version 2.0 利用マニュアル

6

3.3

最適化対象の IFAS プロジェクトの選択
Traget Model の IFASProject の欄にある「Select」ボタンをクリックすると、フォルダ選択のダイアログが表示されます。

IFAS キャリブレータ Version 2.0 利用マニュアル7

フォルダ選択のダイアログが表示されたら、IFAS プロジェクトのフォルダを選択します。

TargetModel の欄に選択したフォルダのパスと IFAS Project に含まれているシミュレーションの名前とシミュレーションの期間が表示されます。

IFAS キャリブレータ Version 2.0 利用マニュアル

8

3.4

最適化対象のシミュレーションの選択選択した IFAS プロジェクトにシミュレーションの結果が複数存在する場合は、最適化の対象となるシミュレーションを選択してください。

IFAS キャリブレータ Version 2.0 利用マニュアル

9

3.5

最適化対象のパラメータの設定
Parameter 欄の「Select Parameter」ボタンをクリックします。

IFAS キャリブレータ Version 2.0 利用マニュアル

10

IFAS の 各 パ ラ メ ー タ の 最 適 化 対 象 と す る か ど う か の チ ェ ッ ク (Enable) と 探 索 範 囲(Min,Max)と初期値(Initial Value)の設定をし、「ok」ボタンをクリックします。
Enable と Min と Max はデフォルトで値が入っていますので、必要に応じて変更してください。Initial Value は選択した IFAS シミュレーションで使用した値が入っています。こちらも必要に応じて変更してください。
設定した値についてはエラーチェックを実施し、エラーメッセージを表示後、エラーになっているセルを赤色で表示します。エラーチェックの概要については P12 を参照してください。
また、この画面を開いたときもエラーチェックが実施されます。そのため、初めてこの画面を開いた場合でも、Min と Max はデフォルト値と IFAS シミュレーションで使用した値でエラーが発生する場合があります。

IFAS キャリブレータ Version 2.0 利用マニュアル11

＜エラーチェック概要＞
・各パラメータについて Min<=Initial Value＜Max となっているか。
・一部パラメータについて０でないか。(※０割を防ぐためのチェック)
・一部のパラメータについてパラメータ間の大小関係が守られているか。
※チェック内容は設定で変更されるため一定ではありません。実際に出ているエラーの内容は、エラーメッセージで確認してください。
エラーメッセージの例

IFAS キャリブレータ Version 2.0 利用マニュアル

12設定が正常に完了したら、Parameter の欄が「Configured」に変わります。

IFAS キャリブレータ Version 2.0 利用マニュアル

133.6

最適化評価期間の設定
最適化実行時の誤差評価の対象期間を絞り込みます。
日付はカレンダーより選択し、時刻を調整する場合は直接入力してください。

IFAS キャリブレータ Version 2.0 利用マニュアル

14

3.7

観測点の設定TagetPoint の枠の「Add」ボタンをクリックして、最適化に利用する実況流量の観測点を設定します。

観測点の名前と対応する IFAS プロジェクト上の Cell ID、または Col と Row を入力し、その地点の観測流量のデータファイルを「Select」ボタンをクリックして選択します。

IFAS キャリブレータ Version 2.0 利用マニュアル15

観測流量のファイルは以下のようなフォーマットで用意してください。
※各行「YYYYMMDDhhmm(スペース または タブ)流量」になっています。

201406150000 49.21
201406150100 45.03
201406150200 42.34
201406150300 41.03
201406150400 39.74
201406150500 38.46
201406150600 38.46
また、観測流量のファイルは必ず最適化対象の IFAS プロジェクトの全期間のみを IFASプロジェクトの計算間隔と同じ間隔で用意してください。最適化評価期間ではなく「IFASプロジェクトの全期間」のみが必要です。前後のデータを含んでいたり、途中のデータが欠損していると正しく最適化されません。例えば、プロジェクトの期間が 2014 年 6 月 15
日 0:00 ～ 2014 年 6 月 17 日 23:00 で、計算間隔が 60 分の場合は、24✕3=72 行のデータである必要があります。

IFAS キャリブレータ Version 2.0 利用マニュアル

163.8

多目的最適化の設定
複数地点の多目的最適化を行う場合は、Enable multi target のチェックを入れます。そうすると、複数の Target point の Enable がチェックできるようになります。

Enable のチェックを入れると各地点の誤差評価の重み付け（ErrorWeight）を設定できます。

最大流量または合計流量のヘッダを右クリックするとメニューが表示され、最大流量または合計流量を元に各地点の誤差重みを自動設定できます。

IFAS キャリブレータ Version 2.0 利用マニュアル

173.9最適化アルゴリズムの設定最適化のアルゴリズムを選択します。

IFAS キャリブレータ Version 2.0 利用マニュアル

18

選択可能なアルゴリズムは以下のとおりです。
ソルバ名称

アルゴリズム名称

pyopt_sdpen

Sequential Penalty Derivative-free method for Nonlinear
constrained optimization

pyopt_slsqp

Sequential Least Squares Programming

pyopt_psqp

Preconditioned Sequential Quadratic Programming

pyopt_algencan

Augmented Lagrangian with GENCAN

pyopt_filtersd

FILTERSD uses a generalization of Robinson’s method,
globalised by using a filter and trust region.

pyopt_conmin

CONstrained function MINimization

pyopt_ksopt

Kreisselmeier–Steinhauser Optimizer

pyopt_cobyla

Constrained Optimization BY Linear Approximation

pyopt_solvopt

SOLver for local OPTimization problems

pyopt_alpso※

Augmented Lagrangian Particle Swarm Optimizer

pyopt_nsga2※

Non Sorting Genetic Algorithm II(pyopt)

pyopt_alhso

Augmented Lagrangian Harmony Search Optimizer

r_mco_nsga2※

Non Sorting Genetic Algorithm II(R)※計算回数以外の設定が必要なソルバ

pyopt の各アルゴリズムの詳細な説明は以下のサイトで確認できます。
http://www.pyopt.org/reference/optimizers.html
また、r_mco_nsga2 の詳細な説明は以下のサイトで確認できます。
https://www.rdocumentation.org/packages/mco/versions/1.0-15.1/topics/nsga2

IFAS キャリブレータ Version 2.0 利用マニュアル

19アルゴリズムを選択したら、計算回数(Iteration)を設定します。

計算回数以外の設定が必要なソルバ(P19 参照)を選択した場合は以下のように表示されます。

pyopt_nsga2 ま た は r_mco_nsga2 の 場 合 は 、 最 大 個 体 数 (Max Population) と 最 大 世 代 数 (MaxGeneration)を設定します。最大個体数は 4 の倍数しか指定できません。計算回数は Max Population とMax Generation をかけたものになります。

pyopt_alpso の場合は粒子数を Swarn Size に、外部ループ回数を Max Outer Iter に設定します。
計算回数は Swarn Size と Max Outer Iter をかけたものになります。

IFAS キャリブレータ Version 2.0 利用マニュアル20下図のように誤差評価関数を設定します。

選択できるのは以下の３つです。
ここで、n は最適化対象の IFAS プロジェクトの計算ステップ数であり、𝑥 は計算ステップ
t における IFAS の計算流量、𝑜 は計算ステップ t における観測流量とします。
・Mean square error(平均二乗誤差)
𝐸 =(𝑥 − 𝑜 )
𝑛𝐸 =

𝑥−1𝑜

・Relative error(相対誤差)

・Log of Mean square error(平均二乗誤差の対数)
𝐸 = log

IFAS キャリブレータ Version 2.0 利用マニュアル(𝑥 − 𝑜 )
𝑛21

3.10

出力フォルダの設定
Result Folder の欄の「Select」をクリックし、最適化の出力先を設定します。ただし、パスに日本語などマルチバイト文字が含まれると不具合が発生しますので、マルチバイト文字が含まれないパスを指定してください。

IFAS キャリブレータ Version 2.0 利用マニュアル

224.

最適化の実行「Execute」ボタンをクリックして最適化を実行します。

以下のメッセージが出力されたら完了です。

IFAS キャリブレータ Version 2.0 利用マニュアル

23

5.

最適化結果の確認

5.1

最適化結果の読み込み
メニューバーの Result view より「Error/Hydro Graph」をクリックします。

IFAS キャリブレータ Version 2.0 利用マニュアル

24

「Select」ボタンをクリックして最適化の結果フォルダを選択します。

フォルダを選択すると最適化の条件が画面に表示され、「Open Error / Hydro Graph」ボタンと「Open Pareto Chart」(※多目的最適化実行時のみ)が活性化されます。

IFAS キャリブレータ Version 2.0 利用マニュアル

25

5.2

誤差値とハイドログラフの確認「Open Error / Hydro Graph」ボタンをクリックすると各試行の誤差値のグラフが表示されます。
TrialNumber のリストボックスは誤差値が小さい順にソートされています。
初期状態では最も誤差が小さい試行番号が選択されています。

IFAS キャリブレータ Version 2.0 利用マニュアル26

「Hydro Graph」のラジオボタンをクリックすると、その試行における流量のハイドログラ
フが表示されます。

IFAS キャリブレータ Version 2.0 利用マニュアル

27

5.3
パレート図の確認
5.3.1 パレート図の表示「Open Pareto Chart」ボタンをクリックするとパレート図が表示されます。
初期表示では X 軸、Y 軸ともに同じ地点が設定されています。
プルダウンで地点を選択すると地点間のパレート図が表示されます。

IFAS キャリブレータ Version 2.0 利用マニュアル28

5.3.2 パレート図のズームマウスホイールを使って、パレート図のズームイン・ズームアウトが操作できます。
下図では、緑のプロットは X 地点の最小誤差、黄色いプロットは Y 地点の最小誤差、赤いプロットは２地点合計の最小値を指しています。赤～ピンクのプロットは２地点合計のベスト１０のプロットを指しています。

IFAS キャリブレータ Version 2.0 利用マニュアル29

5.3.3 パレート図の矩形選択
マウスをパレート図上でドラッグすると矩形選択でき、矩形選択後に表示されるメニューにて、選択範囲にズーム、または選択範囲のプロットの削除ができます。

DeleteIFAS キャリブレータ Version 2.0 利用マニュアル30

5.3.4 ハイドログラフの表示
プロットをダブルクリックするとそのプロットの試行回のハイドログラフが２地点分ポップアップで表示されます。

IFAS キャリブレータ Version 2.0 利用マニュアル31

5.3.5 プロットのフィルタリング
画面右のボックスはフィルタリング機能です。
設定した評価値、またはパラメータの範囲に、左側のグラフに表示するプロットを絞り込むことができます。
範囲の値を入力しテキストボックスのフォーカスを外すと設定範囲以外のプロットがグレーに変わります。
このまま Apply ボタンをクリックすると範囲外のプロットがパレート図から削除され、Cancel ボタンをクリックすると元に戻ります。
一度 Apply ボタンをクリックして実行すると元には戻せません。

IFAS キャリブレータ Version 2.0 利用マニュアル32

5.3.6 出力フィルタリング機能、パレート図の矩形選択削除機能を利用してパレートラインを抽出した後に、OutputCSV ボタンをクリックするとパレートラインを構成するパラメータセットをファイル出力できます。

また、一度出力したファイルを読み込むことでパレートラインを再現することもできます。

IFAS キャリブレータ Version 2.0 利用マニュアル33

※再読込する場合のファイルは csv 形式で 1 行目がヘッダ、1 カラム目が試行回数であればどんなファイルでも読み込むことができます。試行回数が読み込んだファイルと一致するプロットだけは残され、それ以外のプロットは非表示されます。

(1 行目はヘッダ行として扱い、無視されるため内容は問わない。)
879,・・・(2 カラム目以降は無視されるため内容は問わない。)
902,・・・
909,・・・
957,・・・
989,・・・
1002,・・・

IFAS キャリブレータ Version 2.0 利用マニュアル34

5.3.7 サポート機能
それ以外に使用環境に合わせたサポート機能として以下を用意しています。
マウスホイールが利用できない場合は以下のボダンでパレート図を操作してください。

：ズームイン機能：ズームアウト機能：全体表示機能(初期表示)

マウスドラッグが不自由な場合はテキスト入力で矩形選択できます。

IFAS キャリブレータ Version 2.0 利用マニュアル

35

5.4

最適化結果の分析
メニューバーの ResultView から「Data Analysis」をクリックします。

「Select」ボタンをクリックして、最適化結果のフォルダを選択します。

IFAS キャリブレータ Version 2.0 利用マニュアル36

Add ボタンをクリックすると選択した結果フォルダが、リストに追加されます。
また、複数の地点を最適化した場合は、DisplayPoint から分析する地点を選べます。
地点を選択して OK ボタンをクリックすると、最適化分析画面に遷移します。

最適化分析画面では観測流量と最適化計算の全試行の計算流量が表示されています。グラフの下にあるグリッドを操作することで、表示する計算流量のパラメータの範囲を絞り込むことができます。
ここで絞り込んだ範囲でさらに最適化を行うことを目的としています。

IFAS キャリブレータ Version 2.0 利用マニュアル

37

6.

前回の最適化の設定の再読込
前回の設定を読み込んで、最適化を行う場合は、「Open IFAS Calibrator Setting File」をクリックし、最適化結果フォルダ内の「IFASCalibrationParam.xml」を選択します。

IFAS キャリブレータ Version 2.0 利用マニュアル38前回の最適化設定が読み込まれます。

IFAS キャリブレータ Version 2.0 利用マニュアル397.

トラブルシューティング「5.1 誤差関数とハイドログラフの確認」、「5.3 最適化結果の分析」にて以下のエラーが発生する場合、最適化の結果を出力したファイルが読み込めない状態であることを示しています。

メッセージに表示されているフォルダが最適化出力先であることを確認し、そのフォルダ内に datafile.txt ファイルが存在しない場合、以下の原因が考えられます。

(ア)

観測流量のデータの数が不一致

観測流量のファイルは必ず最適化対象の IFAS プロジェクトの全期間のみを IFAS プロジェ
クトの計算間隔と同じ間隔で用意してください。最適化評価期間ではなく「IFAS プロジェク
トの全期間」のみが必要です。前後のデータを含んでいたり、途中のデータが欠損しているとエラーになります。

(イ)

IFAS の計算が発散計算が発散し、最適化の処理が途中で終了している可能性があります。この場合、最適化結
果フォルダ内の「WORK_OUT」フォルダ配下のいずれかのファイルに「nan」が含まれています。パラメータの探索範囲を見直して、再度最適化を実行してください。

(ウ)

最適化の誤差値評価が発散

多目的最適化において重みを大きい値にすると誤差値評価が発散し、最適化の処理が途中で終了している可能性があります。この場合は重み付けを小さくして再度最適化を実行してください。

IFAS キャリブレータ Version 2.0 利用マニュアル

40