GitHub化したサンプルプロジェクトを何にしようか?考えていて、塾講師問題が身近でよさそうだ、と思い付きました。Readme.mdの内容を考えてみます。
オリジナルの仕様を眺めてみました。
Google OR-Toolsによる最適化プロジェクト入門 - Qiita
プロジェクトは、以下をいじります。
>空きコマの数を最小化したり、同じシフト数でも出勤する日数を最小化するようなモデル
これについて考えてみます。
>空きコマ数最小化
下で空きタスクにソフトレベル1を設定しています。
ですが、予定の重みを7として予定が変更されないようにします。これで、ほぼ、空きコマ数最小のモデルとなります。
しかし、アルゴリズム2で求解するとUB=61になっています。
これは、予定が変更されていることによります。アルゴリズム2は、完全な最適解を求めるまで終了しません。(アルゴリズム1は、準最適解です。)いずれにせよ、予定の重みをより重くすれば、予定が変更されることはなくなり、上と同じになるはずです。
制約を追加します。休日でない=出勤です。出勤にペナルティを与えるものとします。
0 件のコメント:
コメントを投稿