活用ガイド
このページは、多目的最適化の結果から採用候補を選ぶ際に、MCDM(多基準意思決定)を いつ、どの手法で 使えばよいかを実務目線でまとめた利用ガイドです。 数式や内部実装は扱いません。 各手法の詳細な仕組みは個別ページ(TOPSIS、VIKOR、PROMETHEE)を参照してください。
MCDMを使うタイミング
多目的最適化では、単一の最良解ではなく、互いにトレードオフを持つ複数の候補(パレートフロント)が得られます。 「精度が最も高い解はコストも高い」「コストが最も低い解は精度が足りない」といった状況です。
MCDMは、この候補集合の中から「総合的に良い」トライアルを選び、順位付けする段階で使います。 探索(最適化)は候補を見つける工程、MCDMは候補を選ぶ工程であり、両者は役割が異なります。
| 項目 | 多目的最適化 | MCDM |
|---|---|---|
| 役割 | 良い候補解を 探索する | 候補解を 比較して選ぶ |
| 入力 | 探索空間、目的関数、制約 | 候補集合、評価基準、重み |
| 出力 | パレートフロント、目的関数値 | スコア、ランキング、選択理由 |
| 性質 | アルゴリズムによる探索 | 意思決定者の価値判断を反映 |
MCDMは意思決定を自動化する仕組みではなく、複数の判断材料を整理し、選択の根拠を説明できるようにする支援技術です。 1位が常に採用すべき解とは限りません。
全体の流れ
MCDMは通常、最適化の探索が終わった後に適用します。基本的な流れは次のとおりです。
flowchart TD
A["1. 制約違反・実行不能なトライアルを除外"] --> B["2. パレートフロント(非劣解)を候補集合にする"]
B --> C["3. 評価基準と評価方向を決める"]
C --> D["4. 重みを決める(手動 / エントロピー)"]
D --> E["5. 手法を選んでランキング"]
E --> F["6. 上位候補を可視化で比較し、最終選択"]
各ステップの要点は以下のセクションで説明します。
どの手法を選ぶか
Tunny Dashboard は 3 つのランキング手法を提供します。 迷ったら TOPSIS + 均等重み から始め、必要に応じて他の手法を試すのが実務的です。
flowchart TD
r{"何を重視するか?"}
r -- "速くて直感的な総合スコア" --> rA["TOPSIS<br/>理想解との距離、[0,1] スコア"]
r -- "全体バランスと最悪ケースの両方" --> rB["VIKOR<br/>v パラメータで効用/後悔を調整"]
r -- "ペアワイズの優劣を詳しく見たい" --> rC{"トライアル数"}
rC -- "少ない(〜1万)" --> rC1["PROMETHEE"]
rC -- "多い(1万〜)" --> rC2["計算時間に注意"]
| 手法 | 向いている場面 | 特徴 |
|---|---|---|
| TOPSIS | まず総合スコアで上位候補を絞りたい | 理想解に近い解を選ぶ。スコアが直感的 |
| VIKOR | 極端な弱点を避け、バランスの良い妥協解が欲しい | 全体効用と最大後悔を分けて考えられる |
| PROMETHEE | トライアル間の優劣関係を詳しく比較したい | ペアワイズ比較。トライアル数が多いと重い |
シーン別の推奨
| シーン | 推奨 |
|---|---|
| まず試す | TOPSIS + 均等重み |
| 目的関数間のスケール差が大きい | TOPSIS / VIKOR + エントロピー重み |
| 特定目的の最悪ケースを抑えたい | VIKOR(v を小さめに) |
| トライアル間の優劣を詳細比較 | PROMETHEE |
複数の手法で同じトライアルが上位に残るなら、その候補は比較的安定した選択肢です。 手法によって順位が大きく変わる場合は、評価基準、重み、データを見直します。
重みの決め方
重みは各目的の相対的な重要度を表し、同じ候補集合でも重みが変わればランキングが変わります。 重みは単なるパラメータではなく、価値判断そのものです。
| 決め方 | 使いどころ | 注意点 |
|---|---|---|
| 手動(スライダー) | 重視する目的が明確なとき | 主観が入るため、根拠を説明できるようにする |
| 均等重み | 初期分析、基準線として | すべての目的が同じ重要度という仮定が妥当か確認する |
| エントロピー重み法 | 客観的に決めたい/データのばらつきから | 「ばらつきが大きい=重要」の仮定に注意 |
エントロピー重み法は主観を避けられますが、全トライアルでほぼ同じ値になる目的(例:全解でほぼ満たされる安全指標)は重みが小さくなります。 業務上重要でも軽視されうる点に注意してください。
重みは 1 つに決め切るより、複数シナリオ(等重み、性能重視、コスト重視など)で上位候補が安定するかを比較するのが有効です。 重みを少し変えるだけで 1 位が入れ替わる場合、その結論は不安定です。
評価基準を決めるときのポイント
評価基準(=トライアルを比較する観点)が適切でなければ、どの手法を使っても意思決定に役立つ結果は得られません。
- 目的関数はそのまま評価基準として使えます。制約余裕や安定性などの派生指標を追加してもかまいません。
- 評価方向を必ず明示します。大きいほど良い(性能、精度)はベネフィット型、小さいほど良い(コスト、時間、リスク)はコスト型です。方向を誤ると結果が根本から逆になります。
- ハード制約は評価基準にせず、事前に除外します。「上限を超えたら採用不可」のような条件はフィルタとして扱います。上限までの余裕(制約余裕)は「大きいほど安全」な評価基準として追加できます。
- 似た意味の基準を重複させません。例えば「処理時間」と「処理速度」を両方入れると、性能を二重に評価してしまいます。
結果の読み方と注意点
MCDMのランキングは、評価基準、重み、手法に基づく相対的な順位です。 最終判断そのものではなく、詳細を確認すべき候補を絞るための材料として扱います。
- 1位を鵜呑みにしません。1位と2位のスコア差が小さければ、同等の候補として扱い、追加で比較します。
- 順位の安定性を確認します。重みや手法を少し変えても同じ候補が上位に残るかを確認します(感度確認)。
- 可視化と併用します。Pareto Scatter、Parallel Coordinates、Radar Comparison で、上位候補がフロント上のどこにあるか(極端解か、バランスの良い解か)を確認します。
- 制約条件を最終確認します。計算上の上位でも、実務上の必須条件を満たさなければ採用できません。
使う前のチェックリスト
- 制約違反・実行不能なトライアルを除外したか
- 各評価基準の評価方向(大きいほど良い/小さいほど良い)を設定したか
- 重みの根拠を説明できるか
- 似た意味の評価基準が重複していないか
- 上位候補が制約条件を満たしているか
- 重みや手法を変えても上位候補が安定しているか