第17章 Spring Boot 上の Red Hat build of OptaPlanner: 時間割のクイックスタートガイド


本書では、OptaPlanner の制約解決人工知能 (AI) を使用して Spring Boot アプリケーションを作成するプロセスを説明します。生徒と教師の時間割を最適化する REST アプリケーションを構築します。

サービスは、AI を使用して、以下のハードおよびソフトの スケジュール制約 に準拠し、Lesson インスタンスを Timeslot インスタンスと Room インスタンスに自動的に割り当てます。

  • 1 部屋に同時に割り当てることができる授業は、最大 1 コマです。
  • 教師が同時に一度に行うことができる授業は最大 1 回です。
  • 生徒は同時に出席できる授業は最大 1 コマです。
  • 教師は、1 つの部屋での授業を希望します。
  • 教師は、連続した授業を好み、授業間に時間が空くのを嫌います。

数学的に考えると、学校の時間割は NP 困難 の問題であります。つまり、スケーリングが困難です。総当たり攻撃で考えられる組み合わせを単純にすべて反復すると、スーパーコンピューターを使用したとしても、非自明的なデータセットを取得するのに数百年かかります。幸い、OptaPlanner などの AI 制約ソルバーには、妥当な時間内にほぼ最適なソリューションを提供する高度なアルゴリズムがあります。妥当な期間として考慮される内容は、問題の目的によって異なります。

前提条件

  • OpenJDK 11 以降がインストールされている。Red Hat ビルドの Open JDK は Red Hat カスマーポータル (ログインが必要) の ソフトウェアダウンロード ページから入手できます。
  • Apache Maven 3.8 以降がインストールされている。Maven は Apache Maven Project の Web サイトから入手できます。
  • IntelliJ IDEA、VSCode、Eclipse などの IDE が利用できる。

17.1. Spring Boot 時間割のクイックスタートのダウンロードおよびビルド

Spring Boot 製品を備えた Red Hat build of OptaPlanner 向けの授業の時間割プロジェクトの完全な例を表示するには、Red Hat カスタマーポータルからスターターアプリケーションをダウンロードします。

手順

  1. Red Hat カスタマーポータルの Software Downloads ページに移動し (ログインが必要)、ドロップダウンオプションから製品およびバージョンを選択します。

    • 製品: Red Hat build of OptaPlanner
    • バージョン: 8.38
  2. Red Hat build of OptaPlanner 8.38 クイックスタート をダウンロードします。
  3. rhbop-8.38.0-optaplanner-quickstarts-sources.zip ファイルを展開します。

    展開先の org.optaplanner.optaplanner-quickstarts-8.38.0.Final-redhat-00004/use-cases/school-timetabling ディレクトリーには、サンプルソースコードが含まれています。

  4. org.optaplanner.optaplanner-quickstarts-8.38.0.Final-redhat-00004/use-cases/school-timetabling ディレクトリーに移動します。
  5. OptaPlanner 8.38.0 Maven Repositroy の Red Hat ビルド (rhbop-8.38.0-optaplanner-maven-repository.zip) をダウンロードします。
  6. rhbop-8.38.0-optaplanner-maven-repository.zip ファイルを展開します。
  7. rhbop-8.38.0-optaplanner/maven-repository サブディレクトリーの内容を ~/.m2/repository ディレクトリーにコピーします。
  8. org.optaplanner.optaplanner-quickstarts-8.38.0.Final-redhat-00004/technology/java-spring-boot ディレクトリーに移動します。
  9. 以下のコマンドを入力して、Spring Boot の授業の時間割プロジェクトをビルドします。

    mvn clean install -DskipTests
    Copy to Clipboard Toggle word wrap
  10. Spring Boot の授業の時間割プロジェクトをビルドするには、以下のコマンドを入力します。

    mvn spring-boot:run -DskipTests
    Copy to Clipboard Toggle word wrap
  11. プロジェクトを表示するには、Web ブラウザーで以下の URL を入力します。

    http://localhost:8080/
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る