第1章 Business Resource Planner の概要
1.1. Business Resource Planner について
Business Resource Planner は、計画問題を最適化する軽量かつ組み込み可能な計画エンジンです。一般的な Java™ プログラマーが計画問題を効率的に解決できるようにし、最適化ヒューリスティックおよびメタヒューリスティックと、大変効率的なスコア計算を組み合わせます。
Business Resource Planner は、次のような各種ユースケースの解決に役立ちます。
- 従業員勤務表/患者一覧: 看護師の勤務シフトの作成や病床管理の追跡を容易にします。
- 教育機関の時間割: 授業、コース、試験、および会議の計画を容易にします。
- 工場の計画: 自動車の組み立てライン、機械の待機計画、および作業員のタスク計画を追跡します。
- 在庫の削減: 紙や金属などの資源の消費を減らし、無駄を最小限に抑えます。
どの組織も、リソース (従業員、資産、時間、資金) に制約がある中で製品やサービスを提供するといった計画問題に直面しています。
図1.1 ユースケースの概要

Business Resource Planner は、Apache Software License 2.0 を使用するオープンソースソフトウェアです。Planner は、100% pure Java™ に認定されており、どの Java 仮想マシンでも稼働します。
1.2. Business Resource Planner のダウンロード
Business Resource Planner はすぐに実稼働環境で利用できます。API は安定していますが、後方互換性に関する変更が加えられる可能性があります。レシピファイル UpgradeFromPreviousVersionRecipe.txt を使用すれば、新規バージョンに簡単にアップグレードし、後方互換性に関する変更にも素早く対応することができます。このレシピファイルは、全リリースに含まれます。
手順: リリース ZIP の取得、およびサンプルの実行
- Red Hat カスタマーポータル に移動し、ユーザー認証情報でログインします。
- Downloads → Red Hat JBoss Middleware → Download Software を選択します。
- Products ドロップダウンメニューから BPM Suite または BRMS Platform を選択します。
- Version のドロップダウンメニューから製品バージョン 6.4 を選択します。
- Standalone または Deployable ファイルを選択して、download をクリックします。
- ファイルを展開します。
examplesディレクトリーを開き、以下のスクリプトを実行します。Linux または Mac:
$ cd examples $ ./runExamples.sh
Windows:
$ cd examples $ runExamples.bat
図1.2 Business Resource Planner のダウンロード

サンプルの GUI アプリケーションが開きます。サンプルを 1 つ選択してください。

Business Resource Planner 自体には、GUI の依存関係はありません。サーバーやモバイルの JVM で実行しても、表示される内容はデスクトップと同じです。
1.3. サンプルの実行
手順: 任意の IDE でサンプルを実行する方法
IDE を設定します。
-
IntelliJ および NetBeans の場合は、
examples/sources/pom.xmlを新規プロジェクトとして開けば、Maven の統合がその他の処理を行います。 -
Eclipse の場合は、
examples/sourcesディレクトリーで新規プロジェクトを開きます。 -
binariesディレクトリーおよびexamples/binariesディレクトリーからクラスパスに、examples/binaries/optaplanner-examples-*.jar以外のすべての JAR を追加します。 -
Java のソースディレクトリー
src/main/javaと Java のリソースディレクトリーsrc/main/resourcesを追加します。
-
IntelliJ および NetBeans の場合は、
次に、実行を作成します。
-
主要なクラス:
org.optaplanner.examples.app.OptaPlannerExamplesApp -
VM パラメーター (任意):
-Xmx512M -server -
ワーキングディレクトリー:
examples(このディレクトリーにdataディレクトリーが含まれます)
-
主要なクラス:
- 実行設定を実行します。
手順: Maven、Gradle、Ivy、Buildr、または Ant での Business Resource Planner の使用
- セントラルリポジトリー (および JBoss Nexus リポジトリー) から Business Resource Planner JAR を取得します。
Maven を使用する場合は、プロジェクトの
pom.xmlのoptaplanner-coreに依存関係を追加します。<dependency> <groupId>org.optaplanner</groupId> <artifactId>optaplanner-core</artifactId> <version>...</version> </dependency>最新版については、セントラルリポジトリー を確認してください。これは、Gradle、Ivy および Buildr の場合も同様です。
-
(Ivy を使用せずに) Ant を使用する場合には、ダウンロードした Zip の
binariesディレクトリーからすべての JAR をコピーして、手作業でクラスパスに JAR が重複していないかを確認してください。
ダウンロードした ZIP の binaries ディレクトリーには、optaplanner-core が使用しない JAR も数多く含まれます。optaplanner-benchmark など、他のモジュールが使用する JAR も含まれます。
Maven リポジトリー pom.xml ファイルで、特定のモジュールの特定のバージョンで最低限必要な依存関係を確認します。
Examples are not a part of supported distribution. Customers can use them for learning purposes but Red Hat does not provide support for example code.
以降、本書では Business Resource Planner を Planner と記載します。