ソフトウェア開発者向けの高速で使いやすいオープンソース AI 制約ソルバー
OptaPlanner のクイックスタートは、optaplanner-quickstarts リポジトリにあります。
ソースからビルドして実行するには:
$ mvn clean install -Dquickly $ cd optaplanner-examples $ mvn exec:java
IntelliJ IDEA、Eclipse、または VSCode で開発するには、ルートpom.xml
新しいプロジェクトとして開き、次のように実行/デバッグ構成を構成します。
タイプ: アプリケーション
メインクラス: org.optaplanner.examples.app.OptaPlannerExamplesApp
VM オプション: -Xmx2G -server
(例で大きなデータセットを使用する場合にのみメモリが必要です)
プログラム引数:(なし)
作業ディレクトリ: $MODULE_DIR$
(optaplanner-examples ディレクトリに解決される必要があります)
モジュールのクラスパスを使用します: optaplanner-examples
これはオープンソース プロジェクトであり、貢献することを大歓迎です ❤️!
OptaPlanner を使い始めたばかりで、貢献したい場合は、スターター問題をご覧ください。これらは、特に初めて投稿する人にとって使いやすいように選ばれています。
貢献したい場合、または意見のあるディスカッションを開始したい場合は、ディスカッションに参加するか、[email protected] に直接電子メールを送信してください。
問題を送信したい場合は、OptaPlanner Jira プロジェクトをチェックしてください。
すべての変更は、GitHub プル リクエスト (PR) を通じて送信する必要があります。 OptaPlanner は継続的インテグレーション (CI) を使用します。 OptaPlanner CI は、PR の送信後にブランチに対してチェックを実行し、PR でエラーが発生していないことを確認します。 CI によって潜在的な問題が特定された場合は、フレンドリーな PR メンテナーが問題の解決をお手伝いします。
フォークします (https://github.com/kiegroup/optaplanner)。
機能ブランチを作成します: ( git checkout -b feature
)。
コメントを使用して変更をコミットします: ( git commit -am 'Add some feature'
)。
GitHub へのブランチにプッシュします: ( git push origin feature
)。
新しいプルリクエストを作成します。
コードは、Maven のビルド時にインポートおよびコード スタイルの規則に従って自動的にフォーマットされます。 CI チェックではこれらの規則も強制されるため、PR を作成する前に必ず Maven を使用してプロジェクトをビルドしてください。
mvnクリーンインストール
コード スタイル チェックのセットアップ方法については、「IDE セットアップ手順」を参照してください。
次のいずれかの方法を使用して、OptaPlanner プロジェクトを構築します。
build-fast : mvn clean install -Dquickly
スキップします (~1 分)
? build-normally : mvn clean install
テストを実行し、コード スタイルをチェックし、ドキュメントをスキップします (約 17 分)
? build-doc : optaplanner/optaplanner-docs
でmvn clean install
実行すると、asciidoctor ドキュメントが作成されますtarget/optaplanner-docs-*/html_single/index.html
(約 2 分)
? build-all : mvn clean install -Dfull
すべてのチェックを実行し、ドキュメントと配布ファイルを作成します (約 20 分)
OptaPlanner リポジトリの CI ステータスは、Chain Status Web ページから確認できます。
すべての Jenkins ジョブは OptaPlanner フォルダーにあります: https://eng-jenkins-csb-business-automation.apps.ocp-c1.prod.psi.redhat.com/job/KIE/job/optaplanner
興味深い Jenkins CI ジョブ (VPN アクセスが必要):
Quarkusのバージョンを更新する
Drools バージョンを更新する
リリース パイプライン (リリース ブランチでのみ利用可能)
リリース後のパイプライン (リリース ブランチでのみ利用可能)