始める無料で始める

従業員のシフトスケジューリング問題

倉庫で働く従業員を採用したいと考えています。各従業員は連続する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=____)
コードを編集して実行