アルゴリズム
DispatchAtlas はソルバーの挙動を、ベンチマーク生成とキャンペーン実行から分離します。
すべてのソルバーは dispatchatlas.solve の中で単一のレジストリの背後に住み、ソルバー
メタデータは目的、能力、エンコーディング、依存、確率性、エビデンス層の可視性、オプション
バックエンドに関する公開契約です。本ページはソルバーファミリーを実務レベルで説明します。
ソルバーシステム レジストリページがソルバーごとの正典的カタログ
です。
🏗️ ソルバーの組織のされ方
default_solver_registry() はステートレスなソルバーファクトリのレジストリを返します。
各エントリは能力タグ、サポートする目的、既定の停止基準、決定的またはシード付き確率的な
リプレイ挙動、解エンコーディング、オプション依存要件、エビデンス層の可視性、そして正典
引用(または明示的な引用-不適用の根拠)を宣言します。引用はフェイルクローズします:
正典的な先駆的起源を持ちながら参照を省くファミリーは構築できません。
🧰 ソルバーファミリー
| ファミリー | 例 | 用途 |
|---|---|---|
| 構築的ディスパッチ | earliest-start、shortest-processing-time、earliest-deadline、minimum-slack | 高速な決定的ベーススケジュールとスモークチェック。 |
| メタヒューリスティックベースライン | 遺伝、アニーリング、蟻コロニー、粒子群、差分進化 | 先行制約安全なタスク順序上の代表的なシード付き探索ベースライン。 |
| エンコード済みアダプター | clpso、d-clpso、lshade、d-lshade | エンコーディングアダプターを通じてスケジューリングに束ねられた連続最適化器。 |
| 近年のピア | epso、adpso、ccgp | 出典に基づく会場強度のバーを越えた近年の発表済みピア。 |
| 多目的 | nsga3 | 多目的ベクトル上の参照点ニッチング。 |
| 厳密アダプター | ortools-cp-sat、pulp-milp、branch-and-bound、logic-based-benders-decomposition、gurobi-exact、exhaustive-enumeration、decision-diagram-sequencing | オプション依存の背後の厳選された厳密な一握り、またはネイティブな有界探索。 |
| NDSO | ndso-core、ndso-fast、ndso-summit | レジストリのネイティブエンコーディングソルバーファミリー。 |
📋 構築的ディスパッチ規則
同梱の決定的ベースラインは構築的リストスケジューリングソルバーです: 各々がタスク順序を
制御し、直列構築子は各タスクの宣言されたリソース要求を尊重します。7 つのファミリー——
earliest-start、shortest-processing-time、longest-processing-time、
earliest-deadline、
earliest-finish-time、minimum-slack、greedy-completion——はそれぞれメタデータに
正典的な先駆的参照を名付けます。これらは実行可能なスケジュールへの最速の経路であり、
最初のチュートリアル のようにすべての比較を錨付けます。
🔀 メタヒューリスティックベースライン
5 つの代表的なシード付きメタヒューリスティック——遺伝アルゴリズム、シミュレーテッド アニーリング、蟻コロニー、粒子群、差分進化——は同じ実行可能性・修復・スコアリング・ 局所探索のオペレーターを共有するため、比較は付随的な配管の違いではなく探索戦略を 測定します。
🔌 エンコード済みアダプターソルバー
包括学習粒子群(clpso、d-clpso)と成功履歴適応差分進化(lshade、d-lshade)は、
タスクごとに 1 成分を持つ連続実数値ベクトルを探索します。各コアは連続目的に対して
汎用であり、名前付きエンコーディングアダプター(random-key、spv、rounding、そして
転送関数デコード)を通じてスケジューリングに束ねられ、それがベクトルを先行制約実行可能な
タスク順序へ変え、修復が発火したかを記録する明示的な修復ポリシーを伴います。
🥊 多様化された競合者と多目的レーン
厳選された近年の発表済みピアの集合が、代表的ベースラインを越えて比較を広げ、各々が
全文参照、強み、注意点をメタデータに携えます。ピアが公開フィールドに加わるのは、出典に
基づく会場強度のバーを越えたときのみ。より広い古典的ベースラインのプールは内部比較の
ために登録されたまま。nsga3 は名前付きの多目的競合者です: 各先行制約安全な順序を
多目的ベクトル(makespan、遅延、負荷公平性)で評価し、参照点ニッチングで生存者を選びます。
🎯 厳密アダプター
オプションバックエンドアダプター(CP-SAT、MILP、branch-and-bound)はオプション依存を
宣言し、実行時にその import ルートを探します。バックエンドが欠如しているとき、それらは
パッケージ import 時に重い依存を import する代わりに、extra 名とライセンス注記を伴う
MissingOptionalDependencyError を発生させます。ネイティブ有界アダプター
(exhaustive-enumeration と decision-diagram-sequencing)はサードパーティ依存を
持たず小さなインスタンスを厳密に解き、サポートタスク数を超えると
UnsupportedCapabilityError を発生させます。商用 Gurobi
ラッパーは exact-commercial extra の背後に留まり決して同梱されません。より広い
オプションバックエンドのプールは内部使用のために登録されたままです。
🐝 NDSO ファミリー
NDSO はレジストリのネイティブエンコーディングソルバーファミリーです: 実行可能スケジュール 上を直接探索するため、それが生み出すすべてのスケジュールは構築上実行可能であり、ファミリーは エンコード/デコードのステップや修復パスを決して走らせません。それは小さな名前付き機構の 集合を構成します:
- より良いスケジュールによって強化される、(位置, タスク) セルごとの学習信頼の 信頼マトリクス;
- その マトリクスで重み付けされた母集団にわたって投票することでエリートスケジュールを 合成する信頼加重投票;
- 候補がどれだけ変化し、どの誘導源から学ぶかを設定する量と質のスケジュール;
- 三源誘導——合成されたエリート(活用)、ピア(多様性)、または消失-知識源 (根本的探索);
- ファミリーを探索から活用へ移す 1 つの非線形スケジュール、統一適応係数。
| バリアント | 構成 |
|---|---|
ndso-core | 信頼加重投票、適応係数、三源誘導。 |
ndso-fast | 多数決合成、固定係数、単一誘導源。 |
ndso-summit | 複数の群を調整しその結果を 1 つの統括的エリートに合成する群間カウンシル。 |
アブレーションマップは名前付き機構ごとに 1 つの隔離構成を列挙し、下流分析が各機構の寄与を 帰属できるようにします。そして段階的エクスポートフィルタは、より低い報告スコープの下で より後の層の機構を露出する代わりにフェイルクローズします。機構・カウンシル・アブレーション・ 診断の完全な詳細はソルバーシステム にあります; 比較キャンペーンが 走る前に性能主張は一切行われません。
🎛️ 選択
SolverRegistry.select は能力タグ、宣言された制約、サポートする目的、エビデンス層の
可視性でソルバーを照合します——クイックスタートの
registry.select(objective="makespan", disclosure_label=DisclosureLabel.CORE) が
最小の例です。レジストリの上で、選択層は特性評価特徴と公開メタデータから問題に対して
ソルバーをランク付けし、各推奨をその源と信頼度で標識し、普遍的に最良のソルバーを決して
主張しません。ソルバーレコメンダー はそれらの説明を、
なぜソルバーが除外されたかを含めて提示します。