トップ > 数理計画用語集 > 制約プログラミング

数理計画用語集

制約プログラミング

読み:せいやくぷろぐらみんぐ
英名:Constraint Programming
関連論理プログラミング制約論理プログラミング

 いくつかの変数値を決定する問題を変数間の関係を宣言的な記述で表現するプログラミングパラダイムであり,「・・・という制約をみたす・・・を求めよ」等の問題を一般的な形で表現することができる.解の性質を記述するという意味でその他の手続き的なプログラミングパラダイムと大きく異なる.制約充足問題線形計画問題非線形計画問題における制約もこのプログラミングパラダイムに含まれる.

一般に,制約プログラミングに基づいた言語は,問題の表現部分と解探索部分で分かれており,解探索部分は別途ライブラリ等で与えられることも多い.制約の最小単位は述語であるため,問題は論理型プログラミング言語の自然な拡張で表現できるが(制約論理プログラミング),命令型言語では述語を表現する仕組みを提供する必要がある.例えば,命令型言語であるC++で構築されているNumerical Optimizerは,問題の表現部分をSIMPLEが担っている.