ソルバー【solver】
概要

利用者はまず、計算結果を表示する目的セルと、その目標(最大値、最小値、特定の値など)を指定する。次に、値を変化させてよい可変セルの範囲を設定し、関連するセルに制約条件を入力する。
制約条件には、セル間の大小関係や上限・下限の数値、複数セルの合計や差の範囲、値を整数や二値に限定などがある。ソルバーを実行すると、これらの条件を満たす範囲で可変セルの値を繰り返し変更し、目的セルが目標に最も近づく組み合わせを探索した上で、結果を各セルに反映する。
利用例として、製造業における生産計画の策定がある。各製品を一単位生産するために必要な原材料の量や粗利益額、設備の稼働時間といった条件を設定することで、限られた経営資源の中で利益が最大となる生産量の組み合わせを算出できる。同様の考え方は、配送ルートの最適化や勤務シフトの作成、予算配分、人員配置など、複数の変数と制約が絡み合う意思決定に応用できる。
ソルバーは内部で「数理最適化」と呼ばれる手法を用いて解を探索する。問題の性質に応じて線形計画法、非線形最適化、組み合わせ最適化などの探索手法を使い分けるようにできており、様々な最適化問題に対応できる。ただし、設定した数式や制約条件が不適切な場合には期待した結果が得られないこともあり、問題によっては最適解が見つからない場合や、計算に時間がかかる場合もある。計算結果の妥当性は前提条件と合わせて利用者が確認する必要がある。
(2026.7.4更新)