[[OptaPlanner]]

* 目次 [#l58ad749]
#contents

* OptaWeb [#v8d4e2f1]

** OptaWebとは [#t9c5a3b2]
OptaWebは、OptaPlannerのWebベースのユーザーインターフェースを提供するプロジェクトです。OptaPlannerの最適化機能をウェブアプリケーションとして利用可能にすることで、より広範なユーザーが最適化ソリューションを活用できるようにすることを目的としています。

** 主要な特徴 [#r7a1f9e3]
- Webベースのインターフェース
-- ブラウザから最適化問題を設定・実行・結果確認が可能
-- 直感的なUIで複雑な最適化問題を視覚化
- OptaPlannerとの統合
-- OptaPlannerの強力な最適化エンジンをバックエンドとして利用
-- 様々な最適化問題に対応可能
- リアルタイム最適化
-- 動的に変化する問題に対してリアルタイムで最適化を実行
- モダンな技術スタック
-- フロントエンド: React
-- バックエンド: Spring Boot
-- ビルドツール: Maven
- カスタマイズ可能
-- 特定の問題ドメインに合わせてUIをカスタマイズ可能

** ドキュメント [#i3270c8e]
*** OptaWeb Employee Rostering User [#qe4fd491]
Guide

*** OptaWeb 配送経路の開発ガイド [#n67ceb72]
https://docs.redhat.com/ja/documentation/red_hat_process_automation_manager/7.8/html/deploying_and_using_the_vehicle_route_planning_starter_application_for_red_hat_business_optimizer/optaweb_vehicle_routing_development_guide#optaweb_vehicle_routing_development_guide

https://docs.optaplanner.org/7.31.0.Final/optaweb-employee-rostering-docs/pdf/index.pdf

** 主な利用事例 [#p5b7d1c4]
*** 車両ルーティング問題(VRP) [#n3e9g5h6]
- OptaWeb Vehicle Routingプロジェクトで実装
- 地図上で視覚的に配送ルートを最適化

*** 従業員シフトスケジューリング [#l1k3j5i7]
- OptaWeb Employee Rostering(現在はOptaPlannerのExamplesプロジェクトに統合)
- シフト表の作成と最適化をウェブ上で実行

** 技術的な詳細 [#j9h7f5d3]
- アーキテクチャ: マイクロサービスアーキテクチャを採用
- RESTful API: バックエンドとフロントエンドの通信にRESTful APIを使用
- 非同期処理: 長時間実行される最適化タスクを非同期で処理
- 状態管理: Reduxを使用してフロントエンドの状態を管理

** OptaPlannerとの関係 [#h5f3d1b9]
OptaWebは、OptaPlannerの機能をWebアプリケーションとして提供するためのプロジェクトです。OptaPlannerが最適化エンジンとしての役割を果たす一方、OptaWebはそのユーザーインターフェースとWeb統合を担当します。

** 実装例 [#f1d9b7a5]
以下は、OptaWeb Vehicle Routingプロジェクトでの実装例の一部です:

 @RestController
 @RequestMapping("/api/route")
 public class RouteController {
 
     @Autowired
     private RouteOptimizer routeOptimizer;
 
     @PostMapping("/optimize")
     public ResponseEntity<Routeplan> optimizeRoute(@RequestBody RouteRequest request) {
         RouteplanEntity routePlan = routeOptimizer.optimize(request);
         return ResponseEntity.ok(routePlan);
     }
 }

このコントローラーは、ルート最適化リクエストを受け取り、OptaPlannerを使用して最適化を実行し、結果を返します。

** まとめ [#d7b5a3c1]
OptaWebは、OptaPlannerの強力な最適化機能をWebアプリケーションとして提供することで、より多くのユーザーが複雑な最適化問題を扱えるようにします。直感的なUIと柔軟なカスタマイズ性により、様々な業界や用途での活用が期待されます。

*** OptaWeb利用の利点 [#b3a1c9e5]
- 非技術者でも直感的に最適化問題を設定・実行できる
- リアルタイムでの最適化結果の可視化が可能
- Webブラウザさえあれば、どこからでもアクセス可能

*** 注意点 [#z9y7x5w3]
- Webアプリケーションの開発・運用に関する知識が必要
- 特定の問題ドメインに合わせたカスタマイズには、フロントエンド(React)とバックエンド(Spring Boot)両方の技術スタックの理解が必要

* OptaWebに関するYoutube動画へのリンクがあるページ [#h91cd2ef]
https://www.optaplanner.org/learn/useCases/vehicleRoutingProblem.html
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS