トップ| 会社概要| 旅行業登録票| 動物取扱業| 個人情報| お問合せ| お便り| 通訳ガイド | IT | 猫カフェ |
参照設定名称 | TspSolver 1.0 タイプ ライブラリ |
ProgID(バージョンなし) | GNTspSolver.TspSolver |
ProgID(バージョン付) | GNTspSolver.TspSolver.1 |
ライブラリの名称 | GNTspSolver |
クラス名 | TspSolver |
名称 | 概要 |
---|---|
CalcDistanceEUC2D | 都市のXY座標から都市間の直線距離距離を計算します。 |
CheckDistance | 都市間の距離をチェックします。 |
Distance | 都市間の距離を返します。 |
Length | 順回路長を返します。 |
MaxX | 都市のX座標の最大値を返します。 |
MaxY | 都市のY座標の最大値を返します。 |
MinX | 都市のX座標の最小値を返します。 |
MinY | 都市のY座標の最小値を返します。 |
NewTsp | 新しいTSPを作成します。 |
Num | 都市数を返します。 |
PosX | 引数idで指定された都市のX座標を返します。 |
PosY | 引数idで指定された都市のY座標を返します。 |
ReadTourFile | 順回路をファイルから読み込みます。 |
ReadTspFile | TSPファイルを読み込みます。 |
Root | 指定されたi番目の順回路の都市idを返します。 |
RootX | 指定されたi番目の順回路の都市のX座標を返します。 |
RootY | 指定されたi番目の順回路の都市のY座標を返します。 |
SetDistance | 都市間の距離を設定します。 |
SetNodePos | 都市idのXY座標を設定します。 |
Solve | TSPを解きます。 |
WriteTourFile | 順回路をファイルへ出力します。 |
WriteTspFile | TSPをファイルへ出力します。 |
エラー | コード(16進数) | 内容 |
ERR_FILE_OPEN | 80040301 | ファイルのオープンに失敗しました。ファイルが存在しない可能性があります。 |
ERR_FILE_READ | 80040302 | ファイルのリードに失敗しました。ファイルが壊れている可能性があります。 |
ERR_FILE_WRITE | 80040303 | ファイルのライトに失敗しました。ディスクの空き容量がないかディスクが壊れている可能性があります。 |
ERR_FILE_FORMAT | 80040304 | ファイルのフォーマット異常です。 |
ERR_NOT_MEMORY | 80040305 | メモリが不足しています。 |
ERR_MAX_NODES | 80040306 | 最大都市数を超えています。 |
ERR_RANGE_NODES | 80040307 | 指定された都市IDは範囲外です。 |
ERR_RANGE_POS | 80040308 | ポジションは0から10000までです。 |
ERR_RANGE_DISTANCE | 80040309 | 距離は0から14142までです。 |
ERR_DONT_SETUP_TSP | 8004030D | TSPが未作成です。 |
ERR_DONT_SOLVE | 8004030E | Solve関数を実行していません。 |
ERR_FILE_TYPE | 8004030F | 指定されたファイルタイプはサポートしていません。 |
形式 | obj.CalcDistanceEUC2D |
引数 | なし |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP |
説明 | objで指定されたTSPSolverオブジェクトの都市間の距離を直線距離で設定します。本メソッドを呼び出す前にNewTSPを実行し、各都市の座標をSetNodePosで設定する必要があります。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.CheckDistance |
引数 | なし |
戻値 | long:チェック結果 |
エラー | ERR_DONT_SETUP_TSP |
説明 | objで指定されたTSPSolverオブジェクトの都市間の距離を検査します。本バージョンのTSPSolverでは解くことができるTSPに以下の制約があります。
|
メソッド/プロパティ一覧へ |
形式 | obj.Distance(from, to) |
引数 | from long:元都市 to long:先都市 |
戻値 | long:都市間の距離 |
エラー | ERR_DONT_SETUP_TSP,ERR_RANGE_NODES |
説明 | objで指定されたTSPSolverオブジェクトの都市fromからto間の距離を返します。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。from,toには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.Length |
引数 | なし |
戻値 | long:順回路長 |
エラー | ERR_DONT_SOLVE |
説明 | objで解かれた巡回路長を返します。都市の設定をおこなわないで本メソッドを呼び出した場合、およびSolveメソッドを呼び出さないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SOLVE)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.MaxX |
型 | long |
エラー | ERR_DONT_SETUP_TSP |
説明 | objで設定した都市のX座標の最大値を返します。本プロパティは読み込み専用です。都市の設定をおこなわないで本プロパティを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.MaxY |
型 | long |
エラー | ERR_DONT_SETUP_TSP |
説明 | objで設定した都市のY座標の最大値を返します。本プロパティは読み込み専用です。都市の設定をおこなわないで本プロパティを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.MinX |
型 | long |
エラー | ERR_DONT_SETUP_TSP |
説明 | objで設定した都市のX座標の最小値を返します。本プロパティは読み込み専用です。都市の設定をおこなわないで本プロパティを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.MinY |
型 | long |
エラー | ERR_DONT_SETUP_TSP |
説明 | objで設定した都市のY座標の最小値を返します。本プロパティは読み込み専用です。都市の設定をおこなわないで本プロパティを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.NewTsp(num) |
引数 | num long:都市数 |
戻値 | なし |
エラー | ERR_MAX_NODES |
説明 |
objをnumで指定された都市数でTSPを作成します。個々の都市は乱数により座標が設定され、都市間の距離は直線距離で設定されます。都市数 num が127を超えますとエラー(ERR_MAX_NODES)となります。 本オブジェクトを作成したら、NewTspを呼び出し続けてSetDistanceを呼び出しTSPを作成するかReadTspFileを呼び出してTSPを読み込んで下さい。 |
メソッド/プロパティ一覧へ |
形式 | obj.Num |
型 | long |
エラー | ERR_DONT_SETUP_TSP |
説明 | objで設定した都市数を返します。本プロパティは読み込み専用です。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.PosX(id) |
引数 | id long:都市id |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP,ERR_RANGE_NODES |
説明 | id番目で指定された都市のX座標を返します。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。idには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。 本メソッドを呼び出す場合、あらかじめSetNodePosで都市の座標を設定するか、ReadTspFileで座標が設定されているTSPファイルを指定して下さい。 |
メソッド/プロパティ一覧へ |
形式 | obj.PosY(id) |
引数 | id long:都市id |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP,ERR_RANGE_NODES |
説明 | id番目で指定された都市のY座標を返します。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。idには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。 本メソッドを呼び出す場合、あらかじめSetNodePosで都市の座標を設定するか、ReadTspFileで座標が設定されているTSPファイルを指定して下さい。 |
メソッド/プロパティ一覧へ |
形式 | obj.ReadTourFile(TourFilePath)(id) |
引数 | TourFilePath BSTR: ツアーファイルパス |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP,ERR_FILE_OPEN,ERR_FILE_READ,ERR_RANGE_NODES |
説明 | 巡回路のファイル(ツアーファイル)を読み込みます。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 ファイルのオープンに失敗(ERR_FILE_OPEN)したり、読み込みに失敗(ERR_FILE_READ)するとエラーとなります。また、読み込むツアーファイルの都市数とobjで設定された都市数が異なるとエラー(ERR_RANGE_NODES)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.ReadTspFile(tspFilePath)(id) |
引数 | tspFilePath BSTR: TSPファイルパス |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP,ERR_FILE_OPEN,ERR_FILE_READ,ERR_MAX_NODES,ERR_FILE_FORMAT |
説明 | 巡回セールスマン問題ファイル(TSPファイル)を読み込みます。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 ファイルのオープンに失敗(ERR_FILE_OPEN)したり、読み込みに失敗(ERR_FILE_READ)するとエラーとなります。都市数が127を越えるファイルを読み込みますとエラー(ERR_MAX_NODES)となります。未対応のファイルを読み込むとエラー(ERR_FILE_FORMAT)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.Root(i) |
引数 | i long:巡回路のi番目の都市 |
戻値 | long 都市id |
エラー | ERR_DONT_SOLVE,ERR_RANGE_NODES |
説明 | 解かれた巡回路のi番目の都市idを返します。都市の設定をおこなわないで本メソッドを呼び出した場合、およびSolveメソッドを呼び出さないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SOLVE)となります。iには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.RootX(i) |
引数 | i long:巡回路のi番目の都市 |
戻値 | long X座標 |
エラー | ERR_DONT_SOLVE,ERR_RANGE_NODES |
説明 | i番目巡回路の都市のX座標を返します。都市の設定をおこなわないで本メソッドを呼び出した場合、およびSolveメソッドを呼び出さないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SOLVE)となります。iには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.RootY(i) |
引数 | i long:巡回路のi番目の都市 |
戻値 | long Y座標 |
エラー | ERR_DONT_SOLVE,ERR_RANGE_NODES |
説明 | i番目巡回路の都市のY座標を返します。都市の設定をおこなわないで本メソッドを呼び出した場合、およびSolveメソッドを呼び出さないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SOLVE)となります。iには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.SetDistance( from, to, distance) |
引数 | from long:元都市 to long:先都市 distance long:設定距離 |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP,ERR_RANGE_NODES,ERR_RANGE_DISTANCE |
説明 | 都市fromから都市toへの距離distanceを設定します。NewTspを呼び出さず本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。from,toには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。distanceには1〜14142までの値を設定します。範囲外の場合はエラー(ERR_RANGE_DISTANCE)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.SetNodePos( id, x, y) |
引数 | id long:設定する都市id x long:X座標 y long:Y座標 |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP,ERR_RANGE_NODES,ERR_RANGE_POS |
説明 | 都市idのX座標とY座標を設定します。NewTspを呼び出さず本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。idには0 から 都市数-1 までを指定します。範囲外の値を指定した場合は、エラー(ERR_RANGE_NODES)となります。x,yには1〜10000までの値を設定します。範囲外の場合はエラー(ERR_RANGE_DISTANCE)となります。 SetNodePosを呼び出し座標を設定しなくてもSetDistanceを呼び出し都市間の距離を設定すれば、巡回セールスマン問題を解くことができます。SetNodePosを呼び出し都市の座標を設定した後、この座標情報を用いて巡回セールスマン問題を呼び出す場合はCalcDistanceEUC2Dを呼び出します。 |
メソッド/プロパティ一覧へ |
形式 | obj.Solve |
引数 | なし |
戻値 | long 巡回路長 |
エラー | ERR_DONT_SETUP_TSP,ERR_RANGE_NODES |
説明 | objで設定された巡回セールスマン問題を解きます。問題によりまして処理時間が長くなる場合があります。通常、都市数が50以下の都市の場合は数秒以内で処理が終わりますが、問題によってはそれ以上処理時間がかかる場合があります。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。都市数が3未満の場合は、エラー(ERR_RANGE_NODES)となります。 |
メソッド/プロパティ一覧へ |
形式 | obj.WriteTourFile(TourFilePath)(id) |
引数 | TourFilePath BSTR: ツアーファイルパス |
戻値 | なし |
エラー | ERR_DONT_SOLVE,ERR_FILE_OPEN,ERR_FILE_WRITE,ERR_RANGE_NODES |
説明 | 巡回路のファイル(ツアーファイル)を出力します。Solveメソッドを呼び出さないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SOLVE)となります。 ファイルのオープンに失敗(ERR_FILE_OPEN)したり、書き込みに失敗(ERR_FILE_WRITE)するとエラーとなります。 |
メソッド/プロパティ一覧へ |
形式 | obj.WriteTspFile(tspFilePath)(id) |
引数 | tspFilePath BSTR: TSPファイルパス |
戻値 | なし |
エラー | ERR_DONT_SETUP_TSP,ERR_FILE_OPEN,ERR_FILE_WRITE,ERR_MAX_NODES |
説明 | 巡回セールスマン問題ファイル(TSPファイル)を出力します。都市の設定をおこなわないで本メソッドを呼び出した場合は、エラー(ERR_DONT_SETUP_TSP)となります。 ファイルのオープンに失敗(ERR_FILE_OPEN)したり、書き込みに失敗(ERR_FILE_WRITE)するとエラーとなります。 |
メソッド/プロパティ一覧へ |