Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

多基準意思決定(MCDM)

多目的最適化の結果から「総合的に優れたトライアル」を選ぶためのランキング手法群です。 Tunny Dashboard では以下の 3 手法と、重みを客観的に決定するエントロピー重み法を提供します。

手法一覧

手法 特徴 スコア範囲 計算量
TOPSIS 理想解との距離比によるランキング [0, 1] O(m × n)
VIKOR 効用と後悔のバランスによる妥協解 [0, 1] O(m × n)
PROMETHEE ペアワイズ選好比較によるランキング Φnet ∈ [-1, 1] O(m² × n)
Entropy Weight データの分散から重みを客観的に算出 O(m × n)

各手法の概要

TOPSIS

各トライアルと「理想的な解(正理想解)」の近さをスコア化します。 正規化、重み付け、理想解と反理想解とのユークリッド距離、相対近接度の順に計算し、スコアが 1 に近いほど理想解に近くなります。 直感的で計算も高速です。

VIKOR

各トライアルの「理想からのギャップ」を L1(マンハッタン)と L∞(チェビシェフ)の 2 つの距離で測り、パラメータ v でバランスを調整して妥協解を求めます。 v > 0.5 では全体的な効用を重視し、v < 0.5 では最悪ケースの後悔を最小化します。

PROMETHEE I / II

すべてのトライアルペアについて「a は b よりどの程度好ましいか」を選好関数で評価し、フロー(Φ+/Φ-/Φnet)に集約します。 PROMETHEE I は理論上は部分ランキング(比較不能なペアを許容)です。 Tunny Dashboard では Φ+ 降順(タイは Φ- 昇順)の全順序で表示しつつ、トライアルごとの比較不能件数(チャートでは ⇹N 表示)もあわせて報告します。 PROMETHEE II は完全ランキングを提供します。 ペアワイズ比較に基づくため直感的ですが、O(m²) の計算量には注意が必要です。

エントロピー重み法

データ自体の分散から各目的関数の重みを自動算出します。 ばらつきが大きい目的関数ほど「識別力が高い」とみなし、大きな重みを割り当てます。 上記 3 手法の重み入力として利用できます。


選び方

flowchart TD
    w{"まず重みをどう決めるか?"}
    w -- "客観的に決めたい" --> wA["エントロピー重み法で重みを自動算出"]
    w -- "自分で調整したい" --> wB["手動スライダーで重みを設定"]

    r{"ランキング手法は?"}
    r -- "速くて直感的なスコアが欲しい" --> rA["TOPSIS<br/>(理想解との距離、[0,1] スコア)"]
    r -- "全体バランスと最悪ケースの両方を考慮したい" --> rB["VIKOR<br/>(v パラメータで効用/後悔のバランス調整)"]
    r -- "ペアワイズの優劣関係を詳細に知りたい" --> rC{"トライアル数"}
    rC -- "少ない(<1万)" --> rC1["PROMETHEE I/II"]
    rC -- "多い(>1万)" --> rC2["計算時間に注意"]

組み合わせの推奨

シーン 推奨
まず試す TOPSIS + 均等重み
目的関数間のスケール差が大きい TOPSIS/VIKOR + エントロピー重み
特定の目的の最悪ケースを抑えたい VIKOR(v < 0.5)
トライアル間の優劣を詳細比較 PROMETHEE I + PROMETHEE II
重みの客観的な根拠が欲しい エントロピー重み法 + 任意の手法