[[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