第4章 Red Hat build of OptaPlanner の概要
OptaPlanner は組み込み可能な軽量プランニングエンジンで、プランニングの問題を最適化します。最適化のためのヒューリスティック法およびメタヒューリスティック法を、非常に効率的なスコア計算と組み合わせ、一般的な Java プログラマーが計画問題を効率的に解決できるようにします。
たとえば、OptaPlanner は、さまざまなユースケースの解決に役立ちます。
- 従業員勤務表/患者一覧: 看護師の勤務シフト作成を容易にし、病床管理を追跡します。
- 教育機関の時間割: 授業、コース、試験、および会議の計画を容易にします。
- 工場の計画: 自動車の組み立てライン、機械の操業計画、および作業員のタスク計画を追跡します。
- 在庫の削減: 紙や金属などの資源の消費を減らし、無駄を最小限に抑えます。
どの組織も、制約のある限定されたリソース (従業員、資産、時間、および資金) を使用して製品やサービスを提供するといった計画問題に直面しています。
OptaPlanner は、Apache Software License 2.0 を使用するオープンソースソフトウェアです。100% Pure Java に認定されており、ほとんどの Java 仮想マシン (JVM) で稼働します。
4.1. Backwards compatibility リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
OptaPlanner は API と実装を分離します。
- パブリック API : パッケージ名前空間 org.optaplanner.core.api、org.optaplanner.benchmark.api、org.optaplanner.test.api および org.optaplanner.persistence.api 内のすべてのクラスは、今後のマイナーおよびパッチリリースで 100% 下位互換性があります。まれに、メジャーバージョン番号が変更されると、いくつかの特定のクラスに下位互換性のない変更がいくつか含まれることがありますが、そのような変更は アップグレードレシピ に明確に文書化されます。
- XML 設定: XML ソルバー設定は、非パブリック API クラスの使用を必要とする要素以外の全要素に対して下位互換性があります。XML Solver 設定は、パッケージ名前空間 org.optaplanner.core.config および org.optaplanner.benchmark.config のクラスによって定義されます。
- 実装クラス: その他のクラスはすべて後方互換性が ありません。これらは将来のメジャーリリースまたはマイナーリリースで変更される予定です。アップグレードレシピ では、関連する変更点、新しいバージョンへのアップグレードするときにそのような変更に対応する方法を説明します。