有償ソフトウェア、スケジュールナース上で動く、塾講師のシフト作成問題を解くプロジェクトです。 オリジナル問題は、Qiitaでの記事、Google OR-Toolsによる最適化プロジェクト入門です。
スケジュールナースは、Windows10/11で動く、有償ソフトです。480円/月(2024 12月現在)
インストールサイトでインストールします。
- GithubViewerを開きます。
- 本サイトが出てくるまで Nextを押します。
- 本プロジェクトをダウンロードします。
- プロジェクトに名前を付けて保存します。
- 求解ボタンを押します。
当該制約とは無関係な出勤ペナルティ発生部(行制約:3)をオフにします。(当該ソフト制約のチェックを外して求解します。) また、勤務シフト希望が変わらないように、予定の重みを重くします。
題意より、ソフト出勤希望を全てオフにしています。また前述の空きコマのペナルティをオフにして求解します。
シフト形態は、規定されていないのですが、4コマ、3コマ、2コマ連続の全てのパターンがあり得る、と想定しました。(1コマ単独は禁止を想定)
目的のペナルティを発生させている部分の制約は、以下です。
全セル、レベル1に制約しています。
毎週、各曜日では、必要人数は変わるので、次の表で定義します。
下記アルゴリズムの選択が可能です。
各アルゴリズムの開発元と概要は以下です。