TNFS操作ガイド

目次

  1. 第一章 インプット・データの与え方
  2. 第二章 TNFS初期値設定
  3. 第三章 TNFS最適化計算
  4. 第四章 TNFS計算結果出力

輸送網最適流量計算メンページへ


第一章 インプット・データの与え方
インプット・データとは、TNFSシステムにユーザが予め用意したデータ・ファイルによる計算に 必要なデータ情報を与えることを言います。
コンピューターに入力しなければならないデータはネットワークの各枝(アーク)については、 ノードの名前(From,To)各枝(アーク)の持つ費用関数折線(カーブ)の固定費用と単位コスト、 各枝(アーク)に流れる流量の容量に関する上限と下限などであります。
    新規データ操作は:メニューバーの ファイル → 新規
    ショートカット
    ツールバー:
    キーボード: CTRL+N
    あとはテキスト エリアで入力すれば良いのです。
    入力済ファイル操作は:メニューバーの ファイル → 開く
    TNFSデータ新規入力には、定式化したモデルを、ほぼそのまま編集画面に入力するだけです。

1. モデル名(省略可)

TITLEを書き一つ以上の半角スペースを入力後に、アルファベット、漢字または英数字から 成る文字列のモデル名を書きます。

2. インプット・データは,つぎの様な一般形で与えられます。

フィールドとフィールドの間は "," キー で区切ります。
ARC(From,to)Lower,FixFee1,Cost1,Limit1,FixFee2,Cost2,Limit2,
  FixFee3,Cost3,Limit3,FixFee4,Cost4,Limit4‥‥
    1.From: 枝の始点、ノードの名前最大半角英数8文字、漢字なら4文字。(例:TOKYO,東京)
    2.To: 枝の終点、ノードの名前最大半角英数8文字、漢字なら4文字。(例:OOSAKA,大阪)
    3.Lower: 輸送量下限値、整数限定(例 12, 25)
    4.FixFee: 枝の各折線の始値(固定費)、小数可能(例 36.45, 56.0)
    5.Cost: 各折線の単位費用、小数可能(例 36.45, 56.0)
    6.Limit: 各折線の輸送量上限値、次コストカーブの下限値、整数限定(例 12, 25)

    原則として、輸送流量データは整数扱い、費用データは一般連続数扱い(倍精度浮動小数点演算)。 各枝(アーク)折線(カーブ)の数は実際に制限しませんが、費用関数特に非凸型のコストカーブが 多くなると極端に実行時間がかかりますので注意が必要です。
    Sample12非凸型費用関数例の枝(1,2)入力データ例

    枝(1,2)の費用関数図

    枝(1,2)の実際入力データを下に示します。
    ARC(1,2) 3,300,300,5,900,100,7,1100,150,10,1700,200,12
3. コメント行
    TNFSのデータファイルの中にはコメントを書くことができます。
    !から行末までがコメントとして扱われます。
4. 終了行
    最後の行はEND を書きます

    非凸型費用関数例の入力データ
    ネットワーク図

! ! 非凸型費用関数例
!
TITLE Sample12
ARC(1,2) 3,300,300,5,900,100,7,1100,150,10,1700,200,12
ARC(1,3) 5,500,350,8,1550,200,11,2150,100,15
ARC(1,4) 3,200,100,5,400,200,7,800,300,9
ARC(2,5) 4,400,300,7,1300,250,9,1800,200,13,2600,100,15
ARC(3,5) 1,100,400,3,900,200,5
ARC(3,6) 1,200,300,2,500,250,4,1000,200,6
ARC(4,6) 3,200,200,5,600,100,11
ARC(5,6) 0,0,400,9
ARC(5,7) 2,150,300,5,1050,200,8
ARC(5,8) 2,400,400,4,1200,200,8,2000,100,13
ARC(6,8) 1,200,500,3,1200,300,6,2100,150,10,2700,100,15
ARC(6,9) 1,400,200,15
ARC(7,10) 0,0,400,3,1200,100,10
ARC(7,11) 2,200,300,4,800,150,8,1400,50,15
ARC(7,12) 0,0,250,10
ARC(8,12) 1,300,300,4,1200,200,9
ARC(8,13) 3,400,300,4,700,250,6,1200,150,10,1800,50,12
ARC(9,13) 1,200,250,4,1100,200,7,1700,100,12
ARC(9,14) 0,0,500,2,1000,300,4,1600,150,10,2500,100,15
ARC(10,15) 0,0,0,999999
ARC(11,15) 0,0,0,999999
ARC(12,15) 0,0,0,999999
ARC(13,15) 0,0,0,999999
ARC(14,15) 0,0,0,999999
ARC(15,1) 20,0,0,20
END

TNFS操作ガイド目次へ


第二章 TNFS初期値設定

初期値を必要とする標準値を改定するための機能です。 このモジュールが呼び出されない限りは標準値を使います。 標準値および意味については、次表にまとめられています。

操作はメニューバー TNFS初期値設定 をクリックします。
ショートカット
ツールバー:
キーボード: Alt+I

解の誤差許容限界値
    意味入力方法標準値
    分岐限定法の下限と上限を近接させるような操作を続けて遂にこれを 一致させるとき最適解が得られたことになる、いわゆる許容限界値=0です。 または多くの反復を繰返してもなかなか最適解に到達しない場合は、 予め許容誤差値を与えておいて、この許容誤差値に入ったとき反復を止め、 その時の値を解とみなします。 許容誤差設定は許容誤差を必要とする標準値を改定するための機能です。 テキスト フィールド0

TNFS印刷ファイルに関する以下のオプションが選択できます。

    TNFS印刷ファイルの選択
    順番意味入力方法標準値
    1インプット・データファイルチェック ボクッス選択
    2計算経過一覧チェック ボックス選択
    3輸送最適化解チェック ボックス選択
    各チェクボックスをクリックして、追加または取消しを選んで下さい。


TNFS操作ガイド目次へ


第三章 TNFS最適化計算

操作:メニューバーの
TNFS最適化計算 をクリックします。
ショートカット
ツールバー:
キーボード: Alt+T

最適化計算は先ずモデルの解析を行います。モデルの入力データが正しく行われていると、 ステータス ダイアログが現れます。

下図はTNFSにSample12非凸型費用関数例計算中のステータスダイアログ。



ネットワーク輸送問題は、現実全て解けるわけではなく、特に大規模なモデルには計算時間が掛り ます。ステータスダイアログは問題の解かれ具合を報告しているリアルデータです。
    実行可能性状態
    実行不可能 : 現時点実行不可能(但し計算中です)。
    実行可能 : 実行可能な解が得られました。最適化まで計算を続けます。
    上限値と下限値の差
    現時点の解と誤差許容限界値を把握するため。
    ネットワーク総費用
    実行可能状態は現時点の輸送総費用、実行不可能状態は99999999.0。
    ラベル結果コード
    4は解がない。4以下は正常。
    分岐回数
    branch and bound法計算中、現時点のリアルブランチ回数。
    実行時間
    TNFS最適化計算開始から現時点のリアル経過時間。
    強制終了
    大規模なモデルには計算時間が掛りすぎますが、途中強制終了ボタンを押すと強制終了はできます。 そして実行可能な状態であれば、現時点の最も良い解を得ることはできます。

最適解が得られたとき、メッセージボックスが現れます。 OKを返すとステータスダイアログも一緒に閉じます。

TNFS操作ガイド目次へ


第四章 TNFS計算結果出力


操作はメニューバーからTNFS計算結果をクリックします。
ショートカット
ツールバー:
キーボード: Alt+O

タブコントロールメニューをクリックすると、各対応する出力項目が画面に表示されます。

1.計算経過一覧

最適化計算の各ステップ進入タイムと処理結果の表示。
Sample12の出力例
//
//***** TNFS計算経過一覧表 *****
//
T N F S Data Input 2005/09/28 11:06:59

Data = SAMPLE12
THIS PROBLEM HAS 15 Nodes, 25 Arcs DATA ERROR = 0

計算終了、最適解が求められました。 2005/09/28 11:06:59

Branches = 186

Elapsed Time = 00:00:00

2.最適化解

ネットワーク最適流量費用一覧表と輸送費用合計が表示されます。

Sample12の出力例
//
//***** ネットワーク最適流量費用一覧表 *****
//
No.FromTo LowerUpperArc Cost Flow
112 3121000 6
213 515500 5
314 391400 9
425 4151000 6
535 15100 1
636 161000 4
746 3111000 9
856 090 0
957 28750 4
1058 213800 3
1168 115200 1
1269 1152600 12
13710 0100 0
14711 215200 2
15712 010500 2
16812 19300 1
17813 312400 3
18913 1122200 12
19914 0150 0
201015 0999990 0
211115 0999990 2
221215 0999990 3
231315 0999990 15
241415 0999990 0
25151 20200 20

輸送費用合計 = 13950.

TNFS操作ガイド目次へ