従業員のシフトスケジューリング問題
倉庫で働く従業員を採用したいと考えています。各従業員は連続する5日間働き、その後2日間休みます。以下の表は、各日に必要と見積もられる従業員数です。各日の業務量をこなすために必要な採用人数を最小にしたいとします。
Expected Workload
| Day of Week | Employees Needed |
|---|---|
| 0 = Monday | 31 |
| 1 = Tuesday | 45 |
| 2 = Wednesday | 40 |
| 3 = Thursday | 40 |
| 4 = Friday | 48 |
| 5 = Saturday | 30 |
| 6 = Sunday | 25 |
pulpモジュールはインポート済みで、モデルは初期化されています。また、変数daysは 0〜6 の数値のリストとして定義済みです。
この演習はコースの一部です
Pythonで学ぶサプライチェーン分析
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# The class has been initialize, and days defined
model = LpProblem("Minimize Staffing", LpMinimize)
days = list(range(7))
# Define Decision Variables
x = LpVariable.dicts('staff_', ____, lowBound=0, cat=____)