第1章 Business Resource Planner の概要

1.1. Business Resource Planner について

Business Resource Planner は、計画問題を最適化する軽量かつ組み込み可能な計画エンジンです。一般的な Java™ プログラマーが計画問題を効率的に解決できるようにし、最適化ヒューリスティックおよびメタヒューリスティックと、大変効率的なスコア計算を組み合わせます。

Business Resource Planner は、次のような各種ユースケースの解決に役立ちます。

  • 従業員勤務表/患者一覧: 看護師の勤務シフトの作成や病床管理の追跡を容易にします。
  • 教育機関の時間割: 授業、コース、試験、および会議の計画を容易にします。
  • 工場の計画: 自動車の組み立てライン、機械の待機計画、および作業員のタスク計画を追跡します。
  • 在庫の削減: 紙や金属などの資源の消費を減らし、無駄を最小限に抑えます。

どの組織も、リソース (従業員、資産、時間、資金) に制約がある中で製品やサービスを提供するといった計画問題に直面しています。

図1.1 ユースケースの概要

useCaseOverview

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 の取得、およびサンプルの実行

  1. Red Hat カスタマーポータル に移動し、ユーザー認証情報でログインします。
  2. DownloadsRed Hat JBoss MiddlewareDownload Software を選択します。
  3. Products ドロップダウンメニューから BPM Suite または BRMS Platform を選択します。
  4. Version のドロップダウンメニューから製品バージョン 6.4 を選択します。
  5. Standalone または Deployable ファイルを選択して、download をクリックします。
  6. ファイルを展開します。
  7. examples ディレクトリーを開き、以下のスクリプトを実行します。

    Linux または Mac:

    $ cd examples
    $ ./runExamples.sh

    Windows:

    $ cd examples
    $ runExamples.bat

図1.2 Business Resource Planner のダウンロード

distributionZipProductized

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

plannerExamplesAppScreenshot
注記

Business Resource Planner 自体には、GUI の依存関係はありません。サーバーやモバイルの JVM で実行しても、表示される内容はデスクトップと同じです。

1.3. サンプルの実行

手順: 任意の IDE でサンプルを実行する方法

  1. 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 を追加します。
  2. 次に、実行を作成します。

    • 主要なクラス: org.optaplanner.examples.app.OptaPlannerExamplesApp
    • VM パラメーター (任意): -Xmx512M -server
    • ワーキングディレクトリー: examples (このディレクトリーに data ディレクトリーが含まれます)
  3. 実行設定を実行します。

手順: Maven、Gradle、Ivy、Buildr、または Ant での Business Resource Planner の使用

  1. セントラルリポジトリー (および JBoss Nexus リポジトリー) から Business Resource Planner JAR を取得します。
  2. Maven を使用する場合は、プロジェクトの pom.xmloptaplanner-core に依存関係を追加します。

      <dependency>
          <groupId>org.optaplanner</groupId>
          <artifactId>optaplanner-core</artifactId>
          <version>...</version>
      </dependency>

    最新版については、セントラルリポジトリー を確認してください。これは、Gradle、Ivy および Buildr の場合も同様です。

  3. (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 と記載します。