第1章 Red Hat Business Optimizer とは
Red Hat Business Optimizer は組み込み可能な軽量プランニングエンジンで、プランニングの問題を最適化します。最適化のためのヒューリスティック法およびメタヒューリスティック法を、非常に効率的なスコア計算と組み合わせ、一般的な Java プログラマーがプランニングの問題を効率的に解決できるようにします。
Red Hat Business Optimizer は、さまざまなユースケースの解決に役立ちます。以下にその例を示します。
- 従業員勤務表/患者一覧: 看護師の勤務シフト作成を容易にし、病床管理を追跡します。
- 教育機関の時間割: 授業、コース、試験、および会議の計画を容易にします。
- 工場の計画: 自動車の組み立てライン、機械の操業計画、および作業員のタスク計画を追跡します。
- 在庫の削減: 紙や金属などの資源の消費を削減し、無駄を最小限に抑えます。
どの組織も、制約のある限定されたリソース (従業員、資産、時間、資金) を使用して製品やサービスを提供するといった、プランニングの問題に直面しています。
Red Hat Business Optimizer は、Apache Software License 2.0 を使用するオープンソースソフトウェアです。100% Pure Java に認定されており、ほとんどの Java 仮想マシンで稼働します。
1.1. プランニングの問題は NP 完全または NP 困難 リンクのコピーリンクがクリップボードにコピーされました!
例に挙げたユースケースは 通常 NP 完全または NP 困難 であり、以下のことが言えます。
- 問題に対する解を実用的な時間内に検証することが容易である。
- 問題に対する最適解を実用的な時間内に見つけ出す確実な方法がない。
この場合、一般的な 2 つの手法では不十分なので、問題を解くのが予想より困難だと考えられます。
- 力まかせアルゴリズムでは (より高度な類似アルゴリズムであっても)、時間がかかり過ぎる。
- (ビンパッキング問題 において) 容量が最大のビンから順に詰めてゆく クイックアルゴリズムでは、最適解からは程遠い解しか得られない。
高度な最適化アルゴリズムを用いる Business Optimizer であれば、このようなプランニングの問題に対する適切な解を、実用的な時間内に見つけ出すことができます。