- lpファイルってなに?
- 定式化が本当に正しいのか不安だ…
- どこが間違っているのか探す時間を短縮したい…
こんにちは!しゅんです!
数理最適化問題を解くとき、コード自体はエラーなく動いているのになぜか「解が直感と違う」とか、ソルバーに「実行不能(Infeasible)」と突き返されて頭を抱えたことは多くの方が経験していると思います。
シンプルな問題だったり問題のサイズが小さいときは目視で確認できますが、複雑な制約条件や規模が大きい問題をコードに落とし込んでいると、自分では正しく書いたつもりでも案外間違っていることは良くあります。そして大抵原因を見つけるのがすごくめんどくさいし時間がかかってしまうんですよね…
そんなときに使えるのがlpファイルを出力することです。ということで今回の記事では、ソルバーに計算を丸投げする前にlpファイルを出力して、自分の定式化が本当に正しいのかを目で見て確認するデバッグ手法を詳しく解説します!
【Udemy講座公開のお知らせ】
このたびUdemyで数理最適化の講座を公開しました!この講座は「数理最適化を勉強してみたいけど数式が多くて難しい…」という方向けに、どうやって最適化問題を定式化すれば良いかを優しく丁寧に解説しています!
lpファイルってなに?

lpファイルは上図のような、最適化問題の目的関数や制約条件を書き表したファイルです。例えば上図は
変数
\(x,y \in \{0,1\}\)
目的関数
\(100x+150y\)
制約条件
制約1 : \(x+y \leq 10\)
制約2 : \(100x+120y \leq 1000\)
制約3 : \(x \geq 2\)
という超シンプルな問題をlpファイルに書き起こしています。lpファイルを作成することで
- 変数、制約の数がいくつか
- どんな制約が書かれているか
- 目的関数、制約条件が正しく書けているか
ということが分かります。lpファイルを作成することで、自分の想定通りに定式化できているかを確かめることができます。
実際にlpファイルを出力してみよう!
それでは実際にシフト作成問題を例にしてlpファイルを作成する方法を紹介したいと思います。今回はpyscipoptとpulpの2つのライブラリでlpファイルを作ってみたいと思います。
なお今回解くシフト作成問題は過去の記事で紹介した定式化を参考にしています。今回はlpファイルの作成がメインなので定式化の詳細な説明やpulp/pyscipoptでの実装方法は省略します。
\\ シフト作成問題の定式化はこちらの記事で解説しています! //
\\ pyscipoptの書き方はこちらの記事で解説しています! //
pyscipoptで定式化する
from pyscipopt import Model, quicksum
import random
def solve_shift_scheduling_scip():
# --- データ生成 ---
# 集合
P = range(16) # アルバイト 0..15 (16人)
D = range(7) # 曜日 0..6 (月..日)
S = ['d', 'e', 'n'] # シフト: 日勤(day), 準夜勤(evening), 深夜勤(night)
# パラメータ
w = {'d': 1000, 'e': 1100, 'n': 1200} # 時給
np_k = {'d': 4, 'e': 3, 'n': 2} # 必要人数
random.seed(42)
e = {i: random.randint(30000, 45000) for i in P} # 希望賃金
# モデル定義
model = Model("Shift_Scheduling")
# --- 変数 ---
# x[i][j][k] = アルバイト i が曜日 j のシフト k に入るなら 1
x = {}
for i in P:
for j in D:
for k in S:
x[i, j, k] = model.addVar(vtype="B", name=f"x_{i}_{j}_{k}")
# t = ミニマックスのための補助変数
t = model.addVar(vtype="C", lb=0, name="t")
# --- 目的関数 ---
model.setObjective(t, "minimize")
# --- 制約条件 ---
# 1. ミニマックス絶対値制約
for i in P:
actual_income = quicksum(8 * w[k] * x[i, j, k] for j in D for k in S)
model.addCons(actual_income - e[i] <= t, name=f"Minimax_Upper_{i}")
model.addCons(e[i] - actual_income <= t, name=f"Minimax_Lower_{i}")
# 2. シフトごとの必要人数
for j in D:
for k in S:
model.addCons(quicksum(x[i, j, k] for i in P) == np_k[k], name=f"Req_People_Day_{j}_Shift_{k}")
# 3. 1日最大1シフトまで
for i in P:
for j in D:
model.addCons(quicksum(x[i, j, k] for k in S) <= 1, name=f"Max_One_Shift_Worker_{i}_Day_{j}")
# 4. シフトの連続性制約
for i in P:
for j in D:
next_day = (j + 1) % 7
# 準夜勤 -> 翌日の日勤 (禁止)
model.addCons(x[i, j, 'e'] + x[i, next_day, 'd'] <= 1, name=f"No_Eve_to_Day_Worker_{i}_Day_{j}")
# 深夜勤 -> 翌日の日勤 (禁止)
model.addCons(x[i, j, 'n'] + x[i, next_day, 'd'] <= 1, name=f"No_Night_to_Day_Worker_{i}_Day_{j}")
# 深夜勤 -> 翌日の準夜勤 (禁止)
model.addCons(x[i, j, 'n'] + x[i, next_day, 'e'] <= 1, name=f"No_Night_to_Eve_Worker_{i}_Day_{j}")
# 5. 1週間のシフト数は最大5回まで
for i in P:
model.addCons(quicksum(x[i, j, k] for j in D for k in S) <= 5, name=f"Max_5_Shifts_Worker_{i}")
# 6. 深夜勤は最大3連勤まで
for i in P:
for j in D:
days_window = [j, (j+1)%7, (j+2)%7, (j+3)%7]
model.addCons(quicksum(x[i, d, 'n'] for d in days_window) <= 3, name=f"Max_3_Consec_Night_Worker_{i}_StartDay_{j}")
# --- 出力 ---
model.writeProblem("shift_scheduling_scip.lp")
print("LP file 'shift_scheduling_scip.lp' generated.")
# ソルバー実行
model.optimize()
print("Status:", model.getStatus())
if model.getStatus() == "optimal":
print("Objective Value (Max Diff):", model.getObjVal())
if __name__ == "__main__":
solve_shift_scheduling_scip()
\ SCIP STATISTICS
\ Problem name : Shift_Scheduling
\ Variables : 337 (336 binary, 0 integer, 0 implicit integer, 1 continuous)
\ Constraints : 629
Minimize
Obj: +1 t
Subject to
Minimax_Upper_0: +1 t -8000 x_0_0_d -8800 x_0_0_e -9600 x_0_0_n -8000 x_0_1_d -8800 x_0_1_e -9600 x_0_1_n
-8000 x_0_2_d -8800 x_0_2_e -9600 x_0_2_n -8000 x_0_3_d -8800 x_0_3_e -9600 x_0_3_n -8000 x_0_4_d -8800 x_0_4_e
-9600 x_0_4_n -8000 x_0_5_d -8800 x_0_5_e -9600 x_0_5_n -8000 x_0_6_d -8800 x_0_6_e -9600 x_0_6_n >= -40476
Minimax_Lower_0: +1 t +8000 x_0_0_d +8800 x_0_0_e +9600 x_0_0_n +8000 x_0_1_d +8800 x_0_1_e +9600 x_0_1_n
+8000 x_0_2_d +8800 x_0_2_e +9600 x_0_2_n +8000 x_0_3_d +8800 x_0_3_e +9600 x_0_3_n +8000 x_0_4_d +8800 x_0_4_e
+9600 x_0_4_n +8000 x_0_5_d +8800 x_0_5_e +9600 x_0_5_n +8000 x_0_6_d +8800 x_0_6_e +9600 x_0_6_n >= +40476
Minimax_Upper_1: +1 t -8000 x_1_0_d -8800 x_1_0_e -9600 x_1_0_n -8000 x_1_1_d -8800 x_1_1_e -9600 x_1_1_n
-8000 x_1_2_d -8800 x_1_2_e -9600 x_1_2_n -8000 x_1_3_d -8800 x_1_3_e -9600 x_1_3_n -8000 x_1_4_d -8800 x_1_4_e
-9600 x_1_4_n -8000 x_1_5_d -8800 x_1_5_e -9600 x_1_5_n -8000 x_1_6_d -8800 x_1_6_e -9600 x_1_6_n >= -31824
Minimax_Lower_1: +1 t +8000 x_1_0_d +8800 x_1_0_e +9600 x_1_0_n +8000 x_1_1_d +8800 x_1_1_e +9600 x_1_1_n
+8000 x_1_2_d +8800 x_1_2_e +9600 x_1_2_n +8000 x_1_3_d +8800 x_1_3_e +9600 x_1_3_n +8000 x_1_4_d +8800 x_1_4_e
+9600 x_1_4_n +8000 x_1_5_d +8800 x_1_5_e +9600 x_1_5_n +8000 x_1_6_d +8800 x_1_6_e +9600 x_1_6_n >= +31824
Minimax_Upper_2: +1 t -8000 x_2_0_d -8800 x_2_0_e -9600 x_2_0_n -8000 x_2_1_d -8800 x_2_1_e -9600 x_2_1_n
-8000 x_2_2_d -8800 x_2_2_e -9600 x_2_2_n -8000 x_2_3_d -8800 x_2_3_e -9600 x_2_3_n -8000 x_2_4_d -8800 x_2_4_e
-9600 x_2_4_n -8000 x_2_5_d -8800 x_2_5_e -9600 x_2_5_n -8000 x_2_6_d -8800 x_2_6_e -9600 x_2_6_n >= -30409
Minimax_Lower_2: +1 t +8000 x_2_0_d +8800 x_2_0_e +9600 x_2_0_n +8000 x_2_1_d +8800 x_2_1_e +9600 x_2_1_n
+8000 x_2_2_d +8800 x_2_2_e +9600 x_2_2_n +8000 x_2_3_d +8800 x_2_3_e +9600 x_2_3_n +8000 x_2_4_d +8800 x_2_4_e
+9600 x_2_4_n +8000 x_2_5_d +8800 x_2_5_e +9600 x_2_5_n +8000 x_2_6_d +8800 x_2_6_e +9600 x_2_6_n >= +30409
Minimax_Upper_3: +1 t -8000 x_3_0_d -8800 x_3_0_e -9600 x_3_0_n -8000 x_3_1_d -8800 x_3_1_e -9600 x_3_1_n
-8000 x_3_2_d -8800 x_3_2_e -9600 x_3_2_n -8000 x_3_3_d -8800 x_3_3_e -9600 x_3_3_n -8000 x_3_4_d -8800 x_3_4_e
-9600 x_3_4_n -8000 x_3_5_d -8800 x_3_5_e -9600 x_3_5_n -8000 x_3_6_d -8800 x_3_6_e -9600 x_3_6_n >= -42149
Minimax_Lower_3: +1 t +8000 x_3_0_d +8800 x_3_0_e +9600 x_3_0_n +8000 x_3_1_d +8800 x_3_1_e +9600 x_3_1_n
+8000 x_3_2_d +8800 x_3_2_e +9600 x_3_2_n +8000 x_3_3_d +8800 x_3_3_e +9600 x_3_3_n +8000 x_3_4_d +8800 x_3_4_e
+9600 x_3_4_n +8000 x_3_5_d +8800 x_3_5_e +9600 x_3_5_n +8000 x_3_6_d +8800 x_3_6_e +9600 x_3_6_n >= +42149
Minimax_Upper_4: +1 t -8000 x_4_0_d -8800 x_4_0_e -9600 x_4_0_n -8000 x_4_1_d -8800 x_4_1_e -9600 x_4_1_n
-8000 x_4_2_d -8800 x_4_2_e -9600 x_4_2_n -8000 x_4_3_d -8800 x_4_3_e -9600 x_4_3_n -8000 x_4_4_d -8800 x_4_4_e
-9600 x_4_4_n -8000 x_4_5_d -8800 x_4_5_e -9600 x_4_5_n -8000 x_4_6_d -8800 x_4_6_e -9600 x_4_6_n >= -34506
Minimax_Lower_4: +1 t +8000 x_4_0_d +8800 x_4_0_e +9600 x_4_0_n +8000 x_4_1_d +8800 x_4_1_e +9600 x_4_1_n
+8000 x_4_2_d +8800 x_4_2_e +9600 x_4_2_n +8000 x_4_3_d +8800 x_4_3_e +9600 x_4_3_n +8000 x_4_4_d +8800 x_4_4_e
+9600 x_4_4_n +8000 x_4_5_d +8800 x_4_5_e +9600 x_4_5_n +8000 x_4_6_d +8800 x_4_6_e +9600 x_4_6_n >= +34506
Minimax_Upper_5: +1 t -8000 x_5_0_d -8800 x_5_0_e -9600 x_5_0_n -8000 x_5_1_d -8800 x_5_1_e -9600 x_5_1_n
-8000 x_5_2_d -8800 x_5_2_e -9600 x_5_2_n -8000 x_5_3_d -8800 x_5_3_e -9600 x_5_3_n -8000 x_5_4_d -8800 x_5_4_e
-9600 x_5_4_n -8000 x_5_5_d -8800 x_5_5_e -9600 x_5_5_n -8000 x_5_6_d -8800 x_5_6_e -9600 x_5_6_n >= -34012
Minimax_Lower_5: +1 t +8000 x_5_0_d +8800 x_5_0_e +9600 x_5_0_n +8000 x_5_1_d +8800 x_5_1_e +9600 x_5_1_n
+8000 x_5_2_d +8800 x_5_2_e +9600 x_5_2_n +8000 x_5_3_d +8800 x_5_3_e +9600 x_5_3_n +8000 x_5_4_d +8800 x_5_4_e
+9600 x_5_4_n +8000 x_5_5_d +8800 x_5_5_e +9600 x_5_5_n +8000 x_5_6_d +8800 x_5_6_e +9600 x_5_6_n >= +34012
Minimax_Upper_6: +1 t -8000 x_6_0_d -8800 x_6_0_e -9600 x_6_0_n -8000 x_6_1_d -8800 x_6_1_e -9600 x_6_1_n
-8000 x_6_2_d -8800 x_6_2_e -9600 x_6_2_n -8000 x_6_3_d -8800 x_6_3_e -9600 x_6_3_n -8000 x_6_4_d -8800 x_6_4_e
-9600 x_6_4_n -8000 x_6_5_d -8800 x_6_5_e -9600 x_6_5_n -8000 x_6_6_d -8800 x_6_6_e -9600 x_6_6_n >= -33657
Minimax_Lower_6: +1 t +8000 x_6_0_d +8800 x_6_0_e +9600 x_6_0_n +8000 x_6_1_d +8800 x_6_1_e +9600 x_6_1_n
+8000 x_6_2_d +8800 x_6_2_e +9600 x_6_2_n +8000 x_6_3_d +8800 x_6_3_e +9600 x_6_3_n +8000 x_6_4_d +8800 x_6_4_e
+9600 x_6_4_n +8000 x_6_5_d +8800 x_6_5_e +9600 x_6_5_n +8000 x_6_6_d +8800 x_6_6_e +9600 x_6_6_n >= +33657
Minimax_Upper_7: +1 t -8000 x_7_0_d -8800 x_7_0_e -9600 x_7_0_n -8000 x_7_1_d -8800 x_7_1_e -9600 x_7_1_n
-8000 x_7_2_d -8800 x_7_2_e -9600 x_7_2_n -8000 x_7_3_d -8800 x_7_3_e -9600 x_7_3_n -8000 x_7_4_d -8800 x_7_4_e
-9600 x_7_4_n -8000 x_7_5_d -8800 x_7_5_e -9600 x_7_5_n -8000 x_7_6_d -8800 x_7_6_e -9600 x_7_6_n >= -32286
Minimax_Lower_7: +1 t +8000 x_7_0_d +8800 x_7_0_e +9600 x_7_0_n +8000 x_7_1_d +8800 x_7_1_e +9600 x_7_1_n
+8000 x_7_2_d +8800 x_7_2_e +9600 x_7_2_n +8000 x_7_3_d +8800 x_7_3_e +9600 x_7_3_n +8000 x_7_4_d +8800 x_7_4_e
+9600 x_7_4_n +8000 x_7_5_d +8800 x_7_5_e +9600 x_7_5_n +8000 x_7_6_d +8800 x_7_6_e +9600 x_7_6_n >= +32286
Minimax_Upper_8: +1 t -8000 x_8_0_d -8800 x_8_0_e -9600 x_8_0_n -8000 x_8_1_d -8800 x_8_1_e -9600 x_8_1_n
-8000 x_8_2_d -8800 x_8_2_e -9600 x_8_2_n -8000 x_8_3_d -8800 x_8_3_e -9600 x_8_3_n -8000 x_8_4_d -8800 x_8_4_e
-9600 x_8_4_n -8000 x_8_5_d -8800 x_8_5_e -9600 x_8_5_n -8000 x_8_6_d -8800 x_8_6_e -9600 x_8_6_n >= -42066
Minimax_Lower_8: +1 t +8000 x_8_0_d +8800 x_8_0_e +9600 x_8_0_n +8000 x_8_1_d +8800 x_8_1_e +9600 x_8_1_n
+8000 x_8_2_d +8800 x_8_2_e +9600 x_8_2_n +8000 x_8_3_d +8800 x_8_3_e +9600 x_8_3_n +8000 x_8_4_d +8800 x_8_4_e
+9600 x_8_4_n +8000 x_8_5_d +8800 x_8_5_e +9600 x_8_5_n +8000 x_8_6_d +8800 x_8_6_e +9600 x_8_6_n >= +42066
Minimax_Upper_9: +1 t -8000 x_9_0_d -8800 x_9_0_e -9600 x_9_0_n -8000 x_9_1_d -8800 x_9_1_e -9600 x_9_1_n
-8000 x_9_2_d -8800 x_9_2_e -9600 x_9_2_n -8000 x_9_3_d -8800 x_9_3_e -9600 x_9_3_n -8000 x_9_4_d -8800 x_9_4_e
-9600 x_9_4_n -8000 x_9_5_d -8800 x_9_5_e -9600 x_9_5_n -8000 x_9_6_d -8800 x_9_6_e -9600 x_9_6_n >= -31679
Minimax_Lower_9: +1 t +8000 x_9_0_d +8800 x_9_0_e +9600 x_9_0_n +8000 x_9_1_d +8800 x_9_1_e +9600 x_9_1_n
+8000 x_9_2_d +8800 x_9_2_e +9600 x_9_2_n +8000 x_9_3_d +8800 x_9_3_e +9600 x_9_3_n +8000 x_9_4_d +8800 x_9_4_e
+9600 x_9_4_n +8000 x_9_5_d +8800 x_9_5_e +9600 x_9_5_n +8000 x_9_6_d +8800 x_9_6_e +9600 x_9_6_n >= +31679
Minimax_Upper_10: +1 t -8000 x_10_0_d -8800 x_10_0_e -9600 x_10_0_n -8000 x_10_1_d -8800 x_10_1_e -9600 x_10_1_n
-8000 x_10_2_d -8800 x_10_2_e -9600 x_10_2_n -8000 x_10_3_d -8800 x_10_3_e -9600 x_10_3_n -8000 x_10_4_d
-8800 x_10_4_e -9600 x_10_4_n -8000 x_10_5_d -8800 x_10_5_e -9600 x_10_5_n -8000 x_10_6_d -8800 x_10_6_e
-9600 x_10_6_n >= -41087
Minimax_Lower_10: +1 t +8000 x_10_0_d +8800 x_10_0_e +9600 x_10_0_n +8000 x_10_1_d +8800 x_10_1_e +9600 x_10_1_n
+8000 x_10_2_d +8800 x_10_2_e +9600 x_10_2_n +8000 x_10_3_d +8800 x_10_3_e +9600 x_10_3_n +8000 x_10_4_d
+8800 x_10_4_e +9600 x_10_4_n +8000 x_10_5_d +8800 x_10_5_e +9600 x_10_5_n +8000 x_10_6_d +8800 x_10_6_e
+9600 x_10_6_n >= +41087
Minimax_Upper_11: +1 t -8000 x_11_0_d -8800 x_11_0_e -9600 x_11_0_n -8000 x_11_1_d -8800 x_11_1_e -9600 x_11_1_n
-8000 x_11_2_d -8800 x_11_2_e -9600 x_11_2_n -8000 x_11_3_d -8800 x_11_3_e -9600 x_11_3_n -8000 x_11_4_d
-8800 x_11_4_e -9600 x_11_4_n -8000 x_11_5_d -8800 x_11_5_e -9600 x_11_5_n -8000 x_11_6_d -8800 x_11_6_e
-9600 x_11_6_n >= -42135
Minimax_Lower_11: +1 t +8000 x_11_0_d +8800 x_11_0_e +9600 x_11_0_n +8000 x_11_1_d +8800 x_11_1_e +9600 x_11_1_n
+8000 x_11_2_d +8800 x_11_2_e +9600 x_11_2_n +8000 x_11_3_d +8800 x_11_3_e +9600 x_11_3_n +8000 x_11_4_d
+8800 x_11_4_e +9600 x_11_4_n +8000 x_11_5_d +8800 x_11_5_e +9600 x_11_5_n +8000 x_11_6_d +8800 x_11_6_e
+9600 x_11_6_n >= +42135
Minimax_Upper_12: +1 t -8000 x_12_0_d -8800 x_12_0_e -9600 x_12_0_n -8000 x_12_1_d -8800 x_12_1_e -9600 x_12_1_n
-8000 x_12_2_d -8800 x_12_2_e -9600 x_12_2_n -8000 x_12_3_d -8800 x_12_3_e -9600 x_12_3_n -8000 x_12_4_d
-8800 x_12_4_e -9600 x_12_4_n -8000 x_12_5_d -8800 x_12_5_e -9600 x_12_5_n -8000 x_12_6_d -8800 x_12_6_e
-9600 x_12_6_n >= -44617
Minimax_Lower_12: +1 t +8000 x_12_0_d +8800 x_12_0_e +9600 x_12_0_n +8000 x_12_1_d +8800 x_12_1_e +9600 x_12_1_n
+8000 x_12_2_d +8800 x_12_2_e +9600 x_12_2_n +8000 x_12_3_d +8800 x_12_3_e +9600 x_12_3_n +8000 x_12_4_d
+8800 x_12_4_e +9600 x_12_4_n +8000 x_12_5_d +8800 x_12_5_e +9600 x_12_5_n +8000 x_12_6_d +8800 x_12_6_e
+9600 x_12_6_n >= +44617
Minimax_Upper_13: +1 t -8000 x_13_0_d -8800 x_13_0_e -9600 x_13_0_n -8000 x_13_1_d -8800 x_13_1_e -9600 x_13_1_n
-8000 x_13_2_d -8800 x_13_2_e -9600 x_13_2_n -8000 x_13_3_d -8800 x_13_3_e -9600 x_13_3_n -8000 x_13_4_d
-8800 x_13_4_e -9600 x_13_4_n -8000 x_13_5_d -8800 x_13_5_e -9600 x_13_5_n -8000 x_13_6_d -8800 x_13_6_e
-9600 x_13_6_n >= -38935
Minimax_Lower_13: +1 t +8000 x_13_0_d +8800 x_13_0_e +9600 x_13_0_n +8000 x_13_1_d +8800 x_13_1_e +9600 x_13_1_n
+8000 x_13_2_d +8800 x_13_2_e +9600 x_13_2_n +8000 x_13_3_d +8800 x_13_3_e +9600 x_13_3_n +8000 x_13_4_d
+8800 x_13_4_e +9600 x_13_4_n +8000 x_13_5_d +8800 x_13_5_e +9600 x_13_5_n +8000 x_13_6_d +8800 x_13_6_e
+9600 x_13_6_n >= +38935
Minimax_Upper_14: +1 t -8000 x_14_0_d -8800 x_14_0_e -9600 x_14_0_n -8000 x_14_1_d -8800 x_14_1_e -9600 x_14_1_n
-8000 x_14_2_d -8800 x_14_2_e -9600 x_14_2_n -8000 x_14_3_d -8800 x_14_3_e -9600 x_14_3_n -8000 x_14_4_d
-8800 x_14_4_e -9600 x_14_4_n -8000 x_14_5_d -8800 x_14_5_e -9600 x_14_5_n -8000 x_14_6_d -8800 x_14_6_e
-9600 x_14_6_n >= -31424
Minimax_Lower_14: +1 t +8000 x_14_0_d +8800 x_14_0_e +9600 x_14_0_n +8000 x_14_1_d +8800 x_14_1_e +9600 x_14_1_n
+8000 x_14_2_d +8800 x_14_2_e +9600 x_14_2_n +8000 x_14_3_d +8800 x_14_3_e +9600 x_14_3_n +8000 x_14_4_d
+8800 x_14_4_e +9600 x_14_4_n +8000 x_14_5_d +8800 x_14_5_e +9600 x_14_5_n +8000 x_14_6_d +8800 x_14_6_e
+9600 x_14_6_n >= +31424
Minimax_Upper_15: +1 t -8000 x_15_0_d -8800 x_15_0_e -9600 x_15_0_n -8000 x_15_1_d -8800 x_15_1_e -9600 x_15_1_n
-8000 x_15_2_d -8800 x_15_2_e -9600 x_15_2_n -8000 x_15_3_d -8800 x_15_3_e -9600 x_15_3_n -8000 x_15_4_d
-8800 x_15_4_e -9600 x_15_4_n -8000 x_15_5_d -8800 x_15_5_e -9600 x_15_5_n -8000 x_15_6_d -8800 x_15_6_e
-9600 x_15_6_n >= -39674
Minimax_Lower_15: +1 t +8000 x_15_0_d +8800 x_15_0_e +9600 x_15_0_n +8000 x_15_1_d +8800 x_15_1_e +9600 x_15_1_n
+8000 x_15_2_d +8800 x_15_2_e +9600 x_15_2_n +8000 x_15_3_d +8800 x_15_3_e +9600 x_15_3_n +8000 x_15_4_d
+8800 x_15_4_e +9600 x_15_4_n +8000 x_15_5_d +8800 x_15_5_e +9600 x_15_5_n +8000 x_15_6_d +8800 x_15_6_e
+9600 x_15_6_n >= +39674
Req_People_Day_0_Shift_d: +1 x_0_0_d +1 x_1_0_d +1 x_2_0_d +1 x_3_0_d +1 x_4_0_d +1 x_5_0_d +1 x_6_0_d
+1 x_7_0_d +1 x_8_0_d +1 x_9_0_d +1 x_10_0_d +1 x_11_0_d +1 x_12_0_d +1 x_13_0_d +1 x_14_0_d +1 x_15_0_d
= +4
Req_People_Day_0_Shift_e: +1 x_0_0_e +1 x_1_0_e +1 x_2_0_e +1 x_3_0_e +1 x_4_0_e +1 x_5_0_e +1 x_6_0_e
+1 x_7_0_e +1 x_8_0_e +1 x_9_0_e +1 x_10_0_e +1 x_11_0_e +1 x_12_0_e +1 x_13_0_e +1 x_14_0_e +1 x_15_0_e
= +3
Req_People_Day_0_Shift_n: +1 x_0_0_n +1 x_1_0_n +1 x_2_0_n +1 x_3_0_n +1 x_4_0_n +1 x_5_0_n +1 x_6_0_n
+1 x_7_0_n +1 x_8_0_n +1 x_9_0_n +1 x_10_0_n +1 x_11_0_n +1 x_12_0_n +1 x_13_0_n +1 x_14_0_n +1 x_15_0_n
= +2
Req_People_Day_1_Shift_d: +1 x_0_1_d +1 x_1_1_d +1 x_2_1_d +1 x_3_1_d +1 x_4_1_d +1 x_5_1_d +1 x_6_1_d
+1 x_7_1_d +1 x_8_1_d +1 x_9_1_d +1 x_10_1_d +1 x_11_1_d +1 x_12_1_d +1 x_13_1_d +1 x_14_1_d +1 x_15_1_d
= +4
Req_People_Day_1_Shift_e: +1 x_0_1_e +1 x_1_1_e +1 x_2_1_e +1 x_3_1_e +1 x_4_1_e +1 x_5_1_e +1 x_6_1_e
+1 x_7_1_e +1 x_8_1_e +1 x_9_1_e +1 x_10_1_e +1 x_11_1_e +1 x_12_1_e +1 x_13_1_e +1 x_14_1_e +1 x_15_1_e
= +3
Req_People_Day_1_Shift_n: +1 x_0_1_n +1 x_1_1_n +1 x_2_1_n +1 x_3_1_n +1 x_4_1_n +1 x_5_1_n +1 x_6_1_n
+1 x_7_1_n +1 x_8_1_n +1 x_9_1_n +1 x_10_1_n +1 x_11_1_n +1 x_12_1_n +1 x_13_1_n +1 x_14_1_n +1 x_15_1_n
= +2
Req_People_Day_2_Shift_d: +1 x_0_2_d +1 x_1_2_d +1 x_2_2_d +1 x_3_2_d +1 x_4_2_d +1 x_5_2_d +1 x_6_2_d
+1 x_7_2_d +1 x_8_2_d +1 x_9_2_d +1 x_10_2_d +1 x_11_2_d +1 x_12_2_d +1 x_13_2_d +1 x_14_2_d +1 x_15_2_d
= +4
Req_People_Day_2_Shift_e: +1 x_0_2_e +1 x_1_2_e +1 x_2_2_e +1 x_3_2_e +1 x_4_2_e +1 x_5_2_e +1 x_6_2_e
+1 x_7_2_e +1 x_8_2_e +1 x_9_2_e +1 x_10_2_e +1 x_11_2_e +1 x_12_2_e +1 x_13_2_e +1 x_14_2_e +1 x_15_2_e
= +3
Req_People_Day_2_Shift_n: +1 x_0_2_n +1 x_1_2_n +1 x_2_2_n +1 x_3_2_n +1 x_4_2_n +1 x_5_2_n +1 x_6_2_n
+1 x_7_2_n +1 x_8_2_n +1 x_9_2_n +1 x_10_2_n +1 x_11_2_n +1 x_12_2_n +1 x_13_2_n +1 x_14_2_n +1 x_15_2_n
= +2
Req_People_Day_3_Shift_d: +1 x_0_3_d +1 x_1_3_d +1 x_2_3_d +1 x_3_3_d +1 x_4_3_d +1 x_5_3_d +1 x_6_3_d
+1 x_7_3_d +1 x_8_3_d +1 x_9_3_d +1 x_10_3_d +1 x_11_3_d +1 x_12_3_d +1 x_13_3_d +1 x_14_3_d +1 x_15_3_d
= +4
Req_People_Day_3_Shift_e: +1 x_0_3_e +1 x_1_3_e +1 x_2_3_e +1 x_3_3_e +1 x_4_3_e +1 x_5_3_e +1 x_6_3_e
+1 x_7_3_e +1 x_8_3_e +1 x_9_3_e +1 x_10_3_e +1 x_11_3_e +1 x_12_3_e +1 x_13_3_e +1 x_14_3_e +1 x_15_3_e
= +3
Req_People_Day_3_Shift_n: +1 x_0_3_n +1 x_1_3_n +1 x_2_3_n +1 x_3_3_n +1 x_4_3_n +1 x_5_3_n +1 x_6_3_n
+1 x_7_3_n +1 x_8_3_n +1 x_9_3_n +1 x_10_3_n +1 x_11_3_n +1 x_12_3_n +1 x_13_3_n +1 x_14_3_n +1 x_15_3_n
= +2
Req_People_Day_4_Shift_d: +1 x_0_4_d +1 x_1_4_d +1 x_2_4_d +1 x_3_4_d +1 x_4_4_d +1 x_5_4_d +1 x_6_4_d
+1 x_7_4_d +1 x_8_4_d +1 x_9_4_d +1 x_10_4_d +1 x_11_4_d +1 x_12_4_d +1 x_13_4_d +1 x_14_4_d +1 x_15_4_d
= +4
Req_People_Day_4_Shift_e: +1 x_0_4_e +1 x_1_4_e +1 x_2_4_e +1 x_3_4_e +1 x_4_4_e +1 x_5_4_e +1 x_6_4_e
+1 x_7_4_e +1 x_8_4_e +1 x_9_4_e +1 x_10_4_e +1 x_11_4_e +1 x_12_4_e +1 x_13_4_e +1 x_14_4_e +1 x_15_4_e
= +3
Req_People_Day_4_Shift_n: +1 x_0_4_n +1 x_1_4_n +1 x_2_4_n +1 x_3_4_n +1 x_4_4_n +1 x_5_4_n +1 x_6_4_n
+1 x_7_4_n +1 x_8_4_n +1 x_9_4_n +1 x_10_4_n +1 x_11_4_n +1 x_12_4_n +1 x_13_4_n +1 x_14_4_n +1 x_15_4_n
= +2
Req_People_Day_5_Shift_d: +1 x_0_5_d +1 x_1_5_d +1 x_2_5_d +1 x_3_5_d +1 x_4_5_d +1 x_5_5_d +1 x_6_5_d
+1 x_7_5_d +1 x_8_5_d +1 x_9_5_d +1 x_10_5_d +1 x_11_5_d +1 x_12_5_d +1 x_13_5_d +1 x_14_5_d +1 x_15_5_d
= +4
Req_People_Day_5_Shift_e: +1 x_0_5_e +1 x_1_5_e +1 x_2_5_e +1 x_3_5_e +1 x_4_5_e +1 x_5_5_e +1 x_6_5_e
+1 x_7_5_e +1 x_8_5_e +1 x_9_5_e +1 x_10_5_e +1 x_11_5_e +1 x_12_5_e +1 x_13_5_e +1 x_14_5_e +1 x_15_5_e
= +3
Req_People_Day_5_Shift_n: +1 x_0_5_n +1 x_1_5_n +1 x_2_5_n +1 x_3_5_n +1 x_4_5_n +1 x_5_5_n +1 x_6_5_n
+1 x_7_5_n +1 x_8_5_n +1 x_9_5_n +1 x_10_5_n +1 x_11_5_n +1 x_12_5_n +1 x_13_5_n +1 x_14_5_n +1 x_15_5_n
= +2
Req_People_Day_6_Shift_d: +1 x_0_6_d +1 x_1_6_d +1 x_2_6_d +1 x_3_6_d +1 x_4_6_d +1 x_5_6_d +1 x_6_6_d
+1 x_7_6_d +1 x_8_6_d +1 x_9_6_d +1 x_10_6_d +1 x_11_6_d +1 x_12_6_d +1 x_13_6_d +1 x_14_6_d +1 x_15_6_d
= +4
Req_People_Day_6_Shift_e: +1 x_0_6_e +1 x_1_6_e +1 x_2_6_e +1 x_3_6_e +1 x_4_6_e +1 x_5_6_e +1 x_6_6_e
+1 x_7_6_e +1 x_8_6_e +1 x_9_6_e +1 x_10_6_e +1 x_11_6_e +1 x_12_6_e +1 x_13_6_e +1 x_14_6_e +1 x_15_6_e
= +3
Req_People_Day_6_Shift_n: +1 x_0_6_n +1 x_1_6_n +1 x_2_6_n +1 x_3_6_n +1 x_4_6_n +1 x_5_6_n +1 x_6_6_n
+1 x_7_6_n +1 x_8_6_n +1 x_9_6_n +1 x_10_6_n +1 x_11_6_n +1 x_12_6_n +1 x_13_6_n +1 x_14_6_n +1 x_15_6_n
= +2
Max_One_Shift_Worker_0_Day_0: +1 x_0_0_d +1 x_0_0_e +1 x_0_0_n <= +1
Max_One_Shift_Worker_0_Day_1: +1 x_0_1_d +1 x_0_1_e +1 x_0_1_n <= +1
Max_One_Shift_Worker_0_Day_2: +1 x_0_2_d +1 x_0_2_e +1 x_0_2_n <= +1
Max_One_Shift_Worker_0_Day_3: +1 x_0_3_d +1 x_0_3_e +1 x_0_3_n <= +1
Max_One_Shift_Worker_0_Day_4: +1 x_0_4_d +1 x_0_4_e +1 x_0_4_n <= +1
Max_One_Shift_Worker_0_Day_5: +1 x_0_5_d +1 x_0_5_e +1 x_0_5_n <= +1
Max_One_Shift_Worker_0_Day_6: +1 x_0_6_d +1 x_0_6_e +1 x_0_6_n <= +1
Max_One_Shift_Worker_1_Day_0: +1 x_1_0_d +1 x_1_0_e +1 x_1_0_n <= +1
Max_One_Shift_Worker_1_Day_1: +1 x_1_1_d +1 x_1_1_e +1 x_1_1_n <= +1
Max_One_Shift_Worker_1_Day_2: +1 x_1_2_d +1 x_1_2_e +1 x_1_2_n <= +1
Max_One_Shift_Worker_1_Day_3: +1 x_1_3_d +1 x_1_3_e +1 x_1_3_n <= +1
Max_One_Shift_Worker_1_Day_4: +1 x_1_4_d +1 x_1_4_e +1 x_1_4_n <= +1
Max_One_Shift_Worker_1_Day_5: +1 x_1_5_d +1 x_1_5_e +1 x_1_5_n <= +1
Max_One_Shift_Worker_1_Day_6: +1 x_1_6_d +1 x_1_6_e +1 x_1_6_n <= +1
Max_One_Shift_Worker_2_Day_0: +1 x_2_0_d +1 x_2_0_e +1 x_2_0_n <= +1
Max_One_Shift_Worker_2_Day_1: +1 x_2_1_d +1 x_2_1_e +1 x_2_1_n <= +1
Max_One_Shift_Worker_2_Day_2: +1 x_2_2_d +1 x_2_2_e +1 x_2_2_n <= +1
Max_One_Shift_Worker_2_Day_3: +1 x_2_3_d +1 x_2_3_e +1 x_2_3_n <= +1
Max_One_Shift_Worker_2_Day_4: +1 x_2_4_d +1 x_2_4_e +1 x_2_4_n <= +1
Max_One_Shift_Worker_2_Day_5: +1 x_2_5_d +1 x_2_5_e +1 x_2_5_n <= +1
Max_One_Shift_Worker_2_Day_6: +1 x_2_6_d +1 x_2_6_e +1 x_2_6_n <= +1
Max_One_Shift_Worker_3_Day_0: +1 x_3_0_d +1 x_3_0_e +1 x_3_0_n <= +1
Max_One_Shift_Worker_3_Day_1: +1 x_3_1_d +1 x_3_1_e +1 x_3_1_n <= +1
Max_One_Shift_Worker_3_Day_2: +1 x_3_2_d +1 x_3_2_e +1 x_3_2_n <= +1
Max_One_Shift_Worker_3_Day_3: +1 x_3_3_d +1 x_3_3_e +1 x_3_3_n <= +1
Max_One_Shift_Worker_3_Day_4: +1 x_3_4_d +1 x_3_4_e +1 x_3_4_n <= +1
Max_One_Shift_Worker_3_Day_5: +1 x_3_5_d +1 x_3_5_e +1 x_3_5_n <= +1
Max_One_Shift_Worker_3_Day_6: +1 x_3_6_d +1 x_3_6_e +1 x_3_6_n <= +1
Max_One_Shift_Worker_4_Day_0: +1 x_4_0_d +1 x_4_0_e +1 x_4_0_n <= +1
Max_One_Shift_Worker_4_Day_1: +1 x_4_1_d +1 x_4_1_e +1 x_4_1_n <= +1
Max_One_Shift_Worker_4_Day_2: +1 x_4_2_d +1 x_4_2_e +1 x_4_2_n <= +1
Max_One_Shift_Worker_4_Day_3: +1 x_4_3_d +1 x_4_3_e +1 x_4_3_n <= +1
Max_One_Shift_Worker_4_Day_4: +1 x_4_4_d +1 x_4_4_e +1 x_4_4_n <= +1
Max_One_Shift_Worker_4_Day_5: +1 x_4_5_d +1 x_4_5_e +1 x_4_5_n <= +1
Max_One_Shift_Worker_4_Day_6: +1 x_4_6_d +1 x_4_6_e +1 x_4_6_n <= +1
Max_One_Shift_Worker_5_Day_0: +1 x_5_0_d +1 x_5_0_e +1 x_5_0_n <= +1
Max_One_Shift_Worker_5_Day_1: +1 x_5_1_d +1 x_5_1_e +1 x_5_1_n <= +1
Max_One_Shift_Worker_5_Day_2: +1 x_5_2_d +1 x_5_2_e +1 x_5_2_n <= +1
Max_One_Shift_Worker_5_Day_3: +1 x_5_3_d +1 x_5_3_e +1 x_5_3_n <= +1
Max_One_Shift_Worker_5_Day_4: +1 x_5_4_d +1 x_5_4_e +1 x_5_4_n <= +1
Max_One_Shift_Worker_5_Day_5: +1 x_5_5_d +1 x_5_5_e +1 x_5_5_n <= +1
Max_One_Shift_Worker_5_Day_6: +1 x_5_6_d +1 x_5_6_e +1 x_5_6_n <= +1
Max_One_Shift_Worker_6_Day_0: +1 x_6_0_d +1 x_6_0_e +1 x_6_0_n <= +1
Max_One_Shift_Worker_6_Day_1: +1 x_6_1_d +1 x_6_1_e +1 x_6_1_n <= +1
Max_One_Shift_Worker_6_Day_2: +1 x_6_2_d +1 x_6_2_e +1 x_6_2_n <= +1
Max_One_Shift_Worker_6_Day_3: +1 x_6_3_d +1 x_6_3_e +1 x_6_3_n <= +1
Max_One_Shift_Worker_6_Day_4: +1 x_6_4_d +1 x_6_4_e +1 x_6_4_n <= +1
Max_One_Shift_Worker_6_Day_5: +1 x_6_5_d +1 x_6_5_e +1 x_6_5_n <= +1
Max_One_Shift_Worker_6_Day_6: +1 x_6_6_d +1 x_6_6_e +1 x_6_6_n <= +1
Max_One_Shift_Worker_7_Day_0: +1 x_7_0_d +1 x_7_0_e +1 x_7_0_n <= +1
Max_One_Shift_Worker_7_Day_1: +1 x_7_1_d +1 x_7_1_e +1 x_7_1_n <= +1
Max_One_Shift_Worker_7_Day_2: +1 x_7_2_d +1 x_7_2_e +1 x_7_2_n <= +1
Max_One_Shift_Worker_7_Day_3: +1 x_7_3_d +1 x_7_3_e +1 x_7_3_n <= +1
Max_One_Shift_Worker_7_Day_4: +1 x_7_4_d +1 x_7_4_e +1 x_7_4_n <= +1
Max_One_Shift_Worker_7_Day_5: +1 x_7_5_d +1 x_7_5_e +1 x_7_5_n <= +1
Max_One_Shift_Worker_7_Day_6: +1 x_7_6_d +1 x_7_6_e +1 x_7_6_n <= +1
Max_One_Shift_Worker_8_Day_0: +1 x_8_0_d +1 x_8_0_e +1 x_8_0_n <= +1
Max_One_Shift_Worker_8_Day_1: +1 x_8_1_d +1 x_8_1_e +1 x_8_1_n <= +1
Max_One_Shift_Worker_8_Day_2: +1 x_8_2_d +1 x_8_2_e +1 x_8_2_n <= +1
Max_One_Shift_Worker_8_Day_3: +1 x_8_3_d +1 x_8_3_e +1 x_8_3_n <= +1
Max_One_Shift_Worker_8_Day_4: +1 x_8_4_d +1 x_8_4_e +1 x_8_4_n <= +1
Max_One_Shift_Worker_8_Day_5: +1 x_8_5_d +1 x_8_5_e +1 x_8_5_n <= +1
Max_One_Shift_Worker_8_Day_6: +1 x_8_6_d +1 x_8_6_e +1 x_8_6_n <= +1
Max_One_Shift_Worker_9_Day_0: +1 x_9_0_d +1 x_9_0_e +1 x_9_0_n <= +1
Max_One_Shift_Worker_9_Day_1: +1 x_9_1_d +1 x_9_1_e +1 x_9_1_n <= +1
Max_One_Shift_Worker_9_Day_2: +1 x_9_2_d +1 x_9_2_e +1 x_9_2_n <= +1
Max_One_Shift_Worker_9_Day_3: +1 x_9_3_d +1 x_9_3_e +1 x_9_3_n <= +1
Max_One_Shift_Worker_9_Day_4: +1 x_9_4_d +1 x_9_4_e +1 x_9_4_n <= +1
Max_One_Shift_Worker_9_Day_5: +1 x_9_5_d +1 x_9_5_e +1 x_9_5_n <= +1
Max_One_Shift_Worker_9_Day_6: +1 x_9_6_d +1 x_9_6_e +1 x_9_6_n <= +1
Max_One_Shift_Worker_10_Day_0: +1 x_10_0_d +1 x_10_0_e +1 x_10_0_n <= +1
Max_One_Shift_Worker_10_Day_1: +1 x_10_1_d +1 x_10_1_e +1 x_10_1_n <= +1
Max_One_Shift_Worker_10_Day_2: +1 x_10_2_d +1 x_10_2_e +1 x_10_2_n <= +1
Max_One_Shift_Worker_10_Day_3: +1 x_10_3_d +1 x_10_3_e +1 x_10_3_n <= +1
Max_One_Shift_Worker_10_Day_4: +1 x_10_4_d +1 x_10_4_e +1 x_10_4_n <= +1
Max_One_Shift_Worker_10_Day_5: +1 x_10_5_d +1 x_10_5_e +1 x_10_5_n <= +1
Max_One_Shift_Worker_10_Day_6: +1 x_10_6_d +1 x_10_6_e +1 x_10_6_n <= +1
Max_One_Shift_Worker_11_Day_0: +1 x_11_0_d +1 x_11_0_e +1 x_11_0_n <= +1
Max_One_Shift_Worker_11_Day_1: +1 x_11_1_d +1 x_11_1_e +1 x_11_1_n <= +1
Max_One_Shift_Worker_11_Day_2: +1 x_11_2_d +1 x_11_2_e +1 x_11_2_n <= +1
Max_One_Shift_Worker_11_Day_3: +1 x_11_3_d +1 x_11_3_e +1 x_11_3_n <= +1
Max_One_Shift_Worker_11_Day_4: +1 x_11_4_d +1 x_11_4_e +1 x_11_4_n <= +1
Max_One_Shift_Worker_11_Day_5: +1 x_11_5_d +1 x_11_5_e +1 x_11_5_n <= +1
Max_One_Shift_Worker_11_Day_6: +1 x_11_6_d +1 x_11_6_e +1 x_11_6_n <= +1
Max_One_Shift_Worker_12_Day_0: +1 x_12_0_d +1 x_12_0_e +1 x_12_0_n <= +1
Max_One_Shift_Worker_12_Day_1: +1 x_12_1_d +1 x_12_1_e +1 x_12_1_n <= +1
Max_One_Shift_Worker_12_Day_2: +1 x_12_2_d +1 x_12_2_e +1 x_12_2_n <= +1
Max_One_Shift_Worker_12_Day_3: +1 x_12_3_d +1 x_12_3_e +1 x_12_3_n <= +1
Max_One_Shift_Worker_12_Day_4: +1 x_12_4_d +1 x_12_4_e +1 x_12_4_n <= +1
Max_One_Shift_Worker_12_Day_5: +1 x_12_5_d +1 x_12_5_e +1 x_12_5_n <= +1
Max_One_Shift_Worker_12_Day_6: +1 x_12_6_d +1 x_12_6_e +1 x_12_6_n <= +1
Max_One_Shift_Worker_13_Day_0: +1 x_13_0_d +1 x_13_0_e +1 x_13_0_n <= +1
Max_One_Shift_Worker_13_Day_1: +1 x_13_1_d +1 x_13_1_e +1 x_13_1_n <= +1
Max_One_Shift_Worker_13_Day_2: +1 x_13_2_d +1 x_13_2_e +1 x_13_2_n <= +1
Max_One_Shift_Worker_13_Day_3: +1 x_13_3_d +1 x_13_3_e +1 x_13_3_n <= +1
Max_One_Shift_Worker_13_Day_4: +1 x_13_4_d +1 x_13_4_e +1 x_13_4_n <= +1
Max_One_Shift_Worker_13_Day_5: +1 x_13_5_d +1 x_13_5_e +1 x_13_5_n <= +1
Max_One_Shift_Worker_13_Day_6: +1 x_13_6_d +1 x_13_6_e +1 x_13_6_n <= +1
Max_One_Shift_Worker_14_Day_0: +1 x_14_0_d +1 x_14_0_e +1 x_14_0_n <= +1
Max_One_Shift_Worker_14_Day_1: +1 x_14_1_d +1 x_14_1_e +1 x_14_1_n <= +1
Max_One_Shift_Worker_14_Day_2: +1 x_14_2_d +1 x_14_2_e +1 x_14_2_n <= +1
Max_One_Shift_Worker_14_Day_3: +1 x_14_3_d +1 x_14_3_e +1 x_14_3_n <= +1
Max_One_Shift_Worker_14_Day_4: +1 x_14_4_d +1 x_14_4_e +1 x_14_4_n <= +1
Max_One_Shift_Worker_14_Day_5: +1 x_14_5_d +1 x_14_5_e +1 x_14_5_n <= +1
Max_One_Shift_Worker_14_Day_6: +1 x_14_6_d +1 x_14_6_e +1 x_14_6_n <= +1
Max_One_Shift_Worker_15_Day_0: +1 x_15_0_d +1 x_15_0_e +1 x_15_0_n <= +1
Max_One_Shift_Worker_15_Day_1: +1 x_15_1_d +1 x_15_1_e +1 x_15_1_n <= +1
Max_One_Shift_Worker_15_Day_2: +1 x_15_2_d +1 x_15_2_e +1 x_15_2_n <= +1
Max_One_Shift_Worker_15_Day_3: +1 x_15_3_d +1 x_15_3_e +1 x_15_3_n <= +1
Max_One_Shift_Worker_15_Day_4: +1 x_15_4_d +1 x_15_4_e +1 x_15_4_n <= +1
Max_One_Shift_Worker_15_Day_5: +1 x_15_5_d +1 x_15_5_e +1 x_15_5_n <= +1
Max_One_Shift_Worker_15_Day_6: +1 x_15_6_d +1 x_15_6_e +1 x_15_6_n <= +1
No_Eve_to_Day_Worker_0_Day_0: +1 x_0_0_e +1 x_0_1_d <= +1
No_Night_to_Day_Worker_0_Day_0: +1 x_0_0_n +1 x_0_1_d <= +1
No_Night_to_Eve_Worker_0_Day_0: +1 x_0_0_n +1 x_0_1_e <= +1
No_Eve_to_Day_Worker_0_Day_1: +1 x_0_1_e +1 x_0_2_d <= +1
No_Night_to_Day_Worker_0_Day_1: +1 x_0_1_n +1 x_0_2_d <= +1
No_Night_to_Eve_Worker_0_Day_1: +1 x_0_1_n +1 x_0_2_e <= +1
No_Eve_to_Day_Worker_0_Day_2: +1 x_0_2_e +1 x_0_3_d <= +1
No_Night_to_Day_Worker_0_Day_2: +1 x_0_2_n +1 x_0_3_d <= +1
No_Night_to_Eve_Worker_0_Day_2: +1 x_0_2_n +1 x_0_3_e <= +1
No_Eve_to_Day_Worker_0_Day_3: +1 x_0_3_e +1 x_0_4_d <= +1
No_Night_to_Day_Worker_0_Day_3: +1 x_0_3_n +1 x_0_4_d <= +1
No_Night_to_Eve_Worker_0_Day_3: +1 x_0_3_n +1 x_0_4_e <= +1
No_Eve_to_Day_Worker_0_Day_4: +1 x_0_4_e +1 x_0_5_d <= +1
No_Night_to_Day_Worker_0_Day_4: +1 x_0_4_n +1 x_0_5_d <= +1
No_Night_to_Eve_Worker_0_Day_4: +1 x_0_4_n +1 x_0_5_e <= +1
No_Eve_to_Day_Worker_0_Day_5: +1 x_0_5_e +1 x_0_6_d <= +1
No_Night_to_Day_Worker_0_Day_5: +1 x_0_5_n +1 x_0_6_d <= +1
No_Night_to_Eve_Worker_0_Day_5: +1 x_0_5_n +1 x_0_6_e <= +1
No_Eve_to_Day_Worker_0_Day_6: +1 x_0_6_e +1 x_0_0_d <= +1
No_Night_to_Day_Worker_0_Day_6: +1 x_0_6_n +1 x_0_0_d <= +1
No_Night_to_Eve_Worker_0_Day_6: +1 x_0_6_n +1 x_0_0_e <= +1
No_Eve_to_Day_Worker_1_Day_0: +1 x_1_0_e +1 x_1_1_d <= +1
No_Night_to_Day_Worker_1_Day_0: +1 x_1_0_n +1 x_1_1_d <= +1
No_Night_to_Eve_Worker_1_Day_0: +1 x_1_0_n +1 x_1_1_e <= +1
No_Eve_to_Day_Worker_1_Day_1: +1 x_1_1_e +1 x_1_2_d <= +1
No_Night_to_Day_Worker_1_Day_1: +1 x_1_1_n +1 x_1_2_d <= +1
No_Night_to_Eve_Worker_1_Day_1: +1 x_1_1_n +1 x_1_2_e <= +1
No_Eve_to_Day_Worker_1_Day_2: +1 x_1_2_e +1 x_1_3_d <= +1
No_Night_to_Day_Worker_1_Day_2: +1 x_1_2_n +1 x_1_3_d <= +1
No_Night_to_Eve_Worker_1_Day_2: +1 x_1_2_n +1 x_1_3_e <= +1
No_Eve_to_Day_Worker_1_Day_3: +1 x_1_3_e +1 x_1_4_d <= +1
No_Night_to_Day_Worker_1_Day_3: +1 x_1_3_n +1 x_1_4_d <= +1
No_Night_to_Eve_Worker_1_Day_3: +1 x_1_3_n +1 x_1_4_e <= +1
No_Eve_to_Day_Worker_1_Day_4: +1 x_1_4_e +1 x_1_5_d <= +1
No_Night_to_Day_Worker_1_Day_4: +1 x_1_4_n +1 x_1_5_d <= +1
No_Night_to_Eve_Worker_1_Day_4: +1 x_1_4_n +1 x_1_5_e <= +1
No_Eve_to_Day_Worker_1_Day_5: +1 x_1_5_e +1 x_1_6_d <= +1
No_Night_to_Day_Worker_1_Day_5: +1 x_1_5_n +1 x_1_6_d <= +1
No_Night_to_Eve_Worker_1_Day_5: +1 x_1_5_n +1 x_1_6_e <= +1
No_Eve_to_Day_Worker_1_Day_6: +1 x_1_6_e +1 x_1_0_d <= +1
No_Night_to_Day_Worker_1_Day_6: +1 x_1_6_n +1 x_1_0_d <= +1
No_Night_to_Eve_Worker_1_Day_6: +1 x_1_6_n +1 x_1_0_e <= +1
No_Eve_to_Day_Worker_2_Day_0: +1 x_2_0_e +1 x_2_1_d <= +1
No_Night_to_Day_Worker_2_Day_0: +1 x_2_0_n +1 x_2_1_d <= +1
No_Night_to_Eve_Worker_2_Day_0: +1 x_2_0_n +1 x_2_1_e <= +1
No_Eve_to_Day_Worker_2_Day_1: +1 x_2_1_e +1 x_2_2_d <= +1
No_Night_to_Day_Worker_2_Day_1: +1 x_2_1_n +1 x_2_2_d <= +1
No_Night_to_Eve_Worker_2_Day_1: +1 x_2_1_n +1 x_2_2_e <= +1
No_Eve_to_Day_Worker_2_Day_2: +1 x_2_2_e +1 x_2_3_d <= +1
No_Night_to_Day_Worker_2_Day_2: +1 x_2_2_n +1 x_2_3_d <= +1
No_Night_to_Eve_Worker_2_Day_2: +1 x_2_2_n +1 x_2_3_e <= +1
No_Eve_to_Day_Worker_2_Day_3: +1 x_2_3_e +1 x_2_4_d <= +1
No_Night_to_Day_Worker_2_Day_3: +1 x_2_3_n +1 x_2_4_d <= +1
No_Night_to_Eve_Worker_2_Day_3: +1 x_2_3_n +1 x_2_4_e <= +1
No_Eve_to_Day_Worker_2_Day_4: +1 x_2_4_e +1 x_2_5_d <= +1
No_Night_to_Day_Worker_2_Day_4: +1 x_2_4_n +1 x_2_5_d <= +1
No_Night_to_Eve_Worker_2_Day_4: +1 x_2_4_n +1 x_2_5_e <= +1
No_Eve_to_Day_Worker_2_Day_5: +1 x_2_5_e +1 x_2_6_d <= +1
No_Night_to_Day_Worker_2_Day_5: +1 x_2_5_n +1 x_2_6_d <= +1
No_Night_to_Eve_Worker_2_Day_5: +1 x_2_5_n +1 x_2_6_e <= +1
No_Eve_to_Day_Worker_2_Day_6: +1 x_2_6_e +1 x_2_0_d <= +1
No_Night_to_Day_Worker_2_Day_6: +1 x_2_6_n +1 x_2_0_d <= +1
No_Night_to_Eve_Worker_2_Day_6: +1 x_2_6_n +1 x_2_0_e <= +1
No_Eve_to_Day_Worker_3_Day_0: +1 x_3_0_e +1 x_3_1_d <= +1
No_Night_to_Day_Worker_3_Day_0: +1 x_3_0_n +1 x_3_1_d <= +1
No_Night_to_Eve_Worker_3_Day_0: +1 x_3_0_n +1 x_3_1_e <= +1
No_Eve_to_Day_Worker_3_Day_1: +1 x_3_1_e +1 x_3_2_d <= +1
No_Night_to_Day_Worker_3_Day_1: +1 x_3_1_n +1 x_3_2_d <= +1
No_Night_to_Eve_Worker_3_Day_1: +1 x_3_1_n +1 x_3_2_e <= +1
No_Eve_to_Day_Worker_3_Day_2: +1 x_3_2_e +1 x_3_3_d <= +1
No_Night_to_Day_Worker_3_Day_2: +1 x_3_2_n +1 x_3_3_d <= +1
No_Night_to_Eve_Worker_3_Day_2: +1 x_3_2_n +1 x_3_3_e <= +1
No_Eve_to_Day_Worker_3_Day_3: +1 x_3_3_e +1 x_3_4_d <= +1
No_Night_to_Day_Worker_3_Day_3: +1 x_3_3_n +1 x_3_4_d <= +1
No_Night_to_Eve_Worker_3_Day_3: +1 x_3_3_n +1 x_3_4_e <= +1
No_Eve_to_Day_Worker_3_Day_4: +1 x_3_4_e +1 x_3_5_d <= +1
No_Night_to_Day_Worker_3_Day_4: +1 x_3_4_n +1 x_3_5_d <= +1
No_Night_to_Eve_Worker_3_Day_4: +1 x_3_4_n +1 x_3_5_e <= +1
No_Eve_to_Day_Worker_3_Day_5: +1 x_3_5_e +1 x_3_6_d <= +1
No_Night_to_Day_Worker_3_Day_5: +1 x_3_5_n +1 x_3_6_d <= +1
No_Night_to_Eve_Worker_3_Day_5: +1 x_3_5_n +1 x_3_6_e <= +1
No_Eve_to_Day_Worker_3_Day_6: +1 x_3_6_e +1 x_3_0_d <= +1
No_Night_to_Day_Worker_3_Day_6: +1 x_3_6_n +1 x_3_0_d <= +1
No_Night_to_Eve_Worker_3_Day_6: +1 x_3_6_n +1 x_3_0_e <= +1
No_Eve_to_Day_Worker_4_Day_0: +1 x_4_0_e +1 x_4_1_d <= +1
No_Night_to_Day_Worker_4_Day_0: +1 x_4_0_n +1 x_4_1_d <= +1
No_Night_to_Eve_Worker_4_Day_0: +1 x_4_0_n +1 x_4_1_e <= +1
No_Eve_to_Day_Worker_4_Day_1: +1 x_4_1_e +1 x_4_2_d <= +1
No_Night_to_Day_Worker_4_Day_1: +1 x_4_1_n +1 x_4_2_d <= +1
No_Night_to_Eve_Worker_4_Day_1: +1 x_4_1_n +1 x_4_2_e <= +1
No_Eve_to_Day_Worker_4_Day_2: +1 x_4_2_e +1 x_4_3_d <= +1
No_Night_to_Day_Worker_4_Day_2: +1 x_4_2_n +1 x_4_3_d <= +1
No_Night_to_Eve_Worker_4_Day_2: +1 x_4_2_n +1 x_4_3_e <= +1
No_Eve_to_Day_Worker_4_Day_3: +1 x_4_3_e +1 x_4_4_d <= +1
No_Night_to_Day_Worker_4_Day_3: +1 x_4_3_n +1 x_4_4_d <= +1
No_Night_to_Eve_Worker_4_Day_3: +1 x_4_3_n +1 x_4_4_e <= +1
No_Eve_to_Day_Worker_4_Day_4: +1 x_4_4_e +1 x_4_5_d <= +1
No_Night_to_Day_Worker_4_Day_4: +1 x_4_4_n +1 x_4_5_d <= +1
No_Night_to_Eve_Worker_4_Day_4: +1 x_4_4_n +1 x_4_5_e <= +1
No_Eve_to_Day_Worker_4_Day_5: +1 x_4_5_e +1 x_4_6_d <= +1
No_Night_to_Day_Worker_4_Day_5: +1 x_4_5_n +1 x_4_6_d <= +1
No_Night_to_Eve_Worker_4_Day_5: +1 x_4_5_n +1 x_4_6_e <= +1
No_Eve_to_Day_Worker_4_Day_6: +1 x_4_6_e +1 x_4_0_d <= +1
No_Night_to_Day_Worker_4_Day_6: +1 x_4_6_n +1 x_4_0_d <= +1
No_Night_to_Eve_Worker_4_Day_6: +1 x_4_6_n +1 x_4_0_e <= +1
No_Eve_to_Day_Worker_5_Day_0: +1 x_5_0_e +1 x_5_1_d <= +1
No_Night_to_Day_Worker_5_Day_0: +1 x_5_0_n +1 x_5_1_d <= +1
No_Night_to_Eve_Worker_5_Day_0: +1 x_5_0_n +1 x_5_1_e <= +1
No_Eve_to_Day_Worker_5_Day_1: +1 x_5_1_e +1 x_5_2_d <= +1
No_Night_to_Day_Worker_5_Day_1: +1 x_5_1_n +1 x_5_2_d <= +1
No_Night_to_Eve_Worker_5_Day_1: +1 x_5_1_n +1 x_5_2_e <= +1
No_Eve_to_Day_Worker_5_Day_2: +1 x_5_2_e +1 x_5_3_d <= +1
No_Night_to_Day_Worker_5_Day_2: +1 x_5_2_n +1 x_5_3_d <= +1
No_Night_to_Eve_Worker_5_Day_2: +1 x_5_2_n +1 x_5_3_e <= +1
No_Eve_to_Day_Worker_5_Day_3: +1 x_5_3_e +1 x_5_4_d <= +1
No_Night_to_Day_Worker_5_Day_3: +1 x_5_3_n +1 x_5_4_d <= +1
No_Night_to_Eve_Worker_5_Day_3: +1 x_5_3_n +1 x_5_4_e <= +1
No_Eve_to_Day_Worker_5_Day_4: +1 x_5_4_e +1 x_5_5_d <= +1
No_Night_to_Day_Worker_5_Day_4: +1 x_5_4_n +1 x_5_5_d <= +1
No_Night_to_Eve_Worker_5_Day_4: +1 x_5_4_n +1 x_5_5_e <= +1
No_Eve_to_Day_Worker_5_Day_5: +1 x_5_5_e +1 x_5_6_d <= +1
No_Night_to_Day_Worker_5_Day_5: +1 x_5_5_n +1 x_5_6_d <= +1
No_Night_to_Eve_Worker_5_Day_5: +1 x_5_5_n +1 x_5_6_e <= +1
No_Eve_to_Day_Worker_5_Day_6: +1 x_5_6_e +1 x_5_0_d <= +1
No_Night_to_Day_Worker_5_Day_6: +1 x_5_6_n +1 x_5_0_d <= +1
No_Night_to_Eve_Worker_5_Day_6: +1 x_5_6_n +1 x_5_0_e <= +1
No_Eve_to_Day_Worker_6_Day_0: +1 x_6_0_e +1 x_6_1_d <= +1
No_Night_to_Day_Worker_6_Day_0: +1 x_6_0_n +1 x_6_1_d <= +1
No_Night_to_Eve_Worker_6_Day_0: +1 x_6_0_n +1 x_6_1_e <= +1
No_Eve_to_Day_Worker_6_Day_1: +1 x_6_1_e +1 x_6_2_d <= +1
No_Night_to_Day_Worker_6_Day_1: +1 x_6_1_n +1 x_6_2_d <= +1
No_Night_to_Eve_Worker_6_Day_1: +1 x_6_1_n +1 x_6_2_e <= +1
No_Eve_to_Day_Worker_6_Day_2: +1 x_6_2_e +1 x_6_3_d <= +1
No_Night_to_Day_Worker_6_Day_2: +1 x_6_2_n +1 x_6_3_d <= +1
No_Night_to_Eve_Worker_6_Day_2: +1 x_6_2_n +1 x_6_3_e <= +1
No_Eve_to_Day_Worker_6_Day_3: +1 x_6_3_e +1 x_6_4_d <= +1
No_Night_to_Day_Worker_6_Day_3: +1 x_6_3_n +1 x_6_4_d <= +1
No_Night_to_Eve_Worker_6_Day_3: +1 x_6_3_n +1 x_6_4_e <= +1
No_Eve_to_Day_Worker_6_Day_4: +1 x_6_4_e +1 x_6_5_d <= +1
No_Night_to_Day_Worker_6_Day_4: +1 x_6_4_n +1 x_6_5_d <= +1
No_Night_to_Eve_Worker_6_Day_4: +1 x_6_4_n +1 x_6_5_e <= +1
No_Eve_to_Day_Worker_6_Day_5: +1 x_6_5_e +1 x_6_6_d <= +1
No_Night_to_Day_Worker_6_Day_5: +1 x_6_5_n +1 x_6_6_d <= +1
No_Night_to_Eve_Worker_6_Day_5: +1 x_6_5_n +1 x_6_6_e <= +1
No_Eve_to_Day_Worker_6_Day_6: +1 x_6_6_e +1 x_6_0_d <= +1
No_Night_to_Day_Worker_6_Day_6: +1 x_6_6_n +1 x_6_0_d <= +1
No_Night_to_Eve_Worker_6_Day_6: +1 x_6_6_n +1 x_6_0_e <= +1
No_Eve_to_Day_Worker_7_Day_0: +1 x_7_0_e +1 x_7_1_d <= +1
No_Night_to_Day_Worker_7_Day_0: +1 x_7_0_n +1 x_7_1_d <= +1
No_Night_to_Eve_Worker_7_Day_0: +1 x_7_0_n +1 x_7_1_e <= +1
No_Eve_to_Day_Worker_7_Day_1: +1 x_7_1_e +1 x_7_2_d <= +1
No_Night_to_Day_Worker_7_Day_1: +1 x_7_1_n +1 x_7_2_d <= +1
No_Night_to_Eve_Worker_7_Day_1: +1 x_7_1_n +1 x_7_2_e <= +1
No_Eve_to_Day_Worker_7_Day_2: +1 x_7_2_e +1 x_7_3_d <= +1
No_Night_to_Day_Worker_7_Day_2: +1 x_7_2_n +1 x_7_3_d <= +1
No_Night_to_Eve_Worker_7_Day_2: +1 x_7_2_n +1 x_7_3_e <= +1
No_Eve_to_Day_Worker_7_Day_3: +1 x_7_3_e +1 x_7_4_d <= +1
No_Night_to_Day_Worker_7_Day_3: +1 x_7_3_n +1 x_7_4_d <= +1
No_Night_to_Eve_Worker_7_Day_3: +1 x_7_3_n +1 x_7_4_e <= +1
No_Eve_to_Day_Worker_7_Day_4: +1 x_7_4_e +1 x_7_5_d <= +1
No_Night_to_Day_Worker_7_Day_4: +1 x_7_4_n +1 x_7_5_d <= +1
No_Night_to_Eve_Worker_7_Day_4: +1 x_7_4_n +1 x_7_5_e <= +1
No_Eve_to_Day_Worker_7_Day_5: +1 x_7_5_e +1 x_7_6_d <= +1
No_Night_to_Day_Worker_7_Day_5: +1 x_7_5_n +1 x_7_6_d <= +1
No_Night_to_Eve_Worker_7_Day_5: +1 x_7_5_n +1 x_7_6_e <= +1
No_Eve_to_Day_Worker_7_Day_6: +1 x_7_6_e +1 x_7_0_d <= +1
No_Night_to_Day_Worker_7_Day_6: +1 x_7_6_n +1 x_7_0_d <= +1
No_Night_to_Eve_Worker_7_Day_6: +1 x_7_6_n +1 x_7_0_e <= +1
No_Eve_to_Day_Worker_8_Day_0: +1 x_8_0_e +1 x_8_1_d <= +1
No_Night_to_Day_Worker_8_Day_0: +1 x_8_0_n +1 x_8_1_d <= +1
No_Night_to_Eve_Worker_8_Day_0: +1 x_8_0_n +1 x_8_1_e <= +1
No_Eve_to_Day_Worker_8_Day_1: +1 x_8_1_e +1 x_8_2_d <= +1
No_Night_to_Day_Worker_8_Day_1: +1 x_8_1_n +1 x_8_2_d <= +1
No_Night_to_Eve_Worker_8_Day_1: +1 x_8_1_n +1 x_8_2_e <= +1
No_Eve_to_Day_Worker_8_Day_2: +1 x_8_2_e +1 x_8_3_d <= +1
No_Night_to_Day_Worker_8_Day_2: +1 x_8_2_n +1 x_8_3_d <= +1
No_Night_to_Eve_Worker_8_Day_2: +1 x_8_2_n +1 x_8_3_e <= +1
No_Eve_to_Day_Worker_8_Day_3: +1 x_8_3_e +1 x_8_4_d <= +1
No_Night_to_Day_Worker_8_Day_3: +1 x_8_3_n +1 x_8_4_d <= +1
No_Night_to_Eve_Worker_8_Day_3: +1 x_8_3_n +1 x_8_4_e <= +1
No_Eve_to_Day_Worker_8_Day_4: +1 x_8_4_e +1 x_8_5_d <= +1
No_Night_to_Day_Worker_8_Day_4: +1 x_8_4_n +1 x_8_5_d <= +1
No_Night_to_Eve_Worker_8_Day_4: +1 x_8_4_n +1 x_8_5_e <= +1
No_Eve_to_Day_Worker_8_Day_5: +1 x_8_5_e +1 x_8_6_d <= +1
No_Night_to_Day_Worker_8_Day_5: +1 x_8_5_n +1 x_8_6_d <= +1
No_Night_to_Eve_Worker_8_Day_5: +1 x_8_5_n +1 x_8_6_e <= +1
No_Eve_to_Day_Worker_8_Day_6: +1 x_8_6_e +1 x_8_0_d <= +1
No_Night_to_Day_Worker_8_Day_6: +1 x_8_6_n +1 x_8_0_d <= +1
No_Night_to_Eve_Worker_8_Day_6: +1 x_8_6_n +1 x_8_0_e <= +1
No_Eve_to_Day_Worker_9_Day_0: +1 x_9_0_e +1 x_9_1_d <= +1
No_Night_to_Day_Worker_9_Day_0: +1 x_9_0_n +1 x_9_1_d <= +1
No_Night_to_Eve_Worker_9_Day_0: +1 x_9_0_n +1 x_9_1_e <= +1
No_Eve_to_Day_Worker_9_Day_1: +1 x_9_1_e +1 x_9_2_d <= +1
No_Night_to_Day_Worker_9_Day_1: +1 x_9_1_n +1 x_9_2_d <= +1
No_Night_to_Eve_Worker_9_Day_1: +1 x_9_1_n +1 x_9_2_e <= +1
No_Eve_to_Day_Worker_9_Day_2: +1 x_9_2_e +1 x_9_3_d <= +1
No_Night_to_Day_Worker_9_Day_2: +1 x_9_2_n +1 x_9_3_d <= +1
No_Night_to_Eve_Worker_9_Day_2: +1 x_9_2_n +1 x_9_3_e <= +1
No_Eve_to_Day_Worker_9_Day_3: +1 x_9_3_e +1 x_9_4_d <= +1
No_Night_to_Day_Worker_9_Day_3: +1 x_9_3_n +1 x_9_4_d <= +1
No_Night_to_Eve_Worker_9_Day_3: +1 x_9_3_n +1 x_9_4_e <= +1
No_Eve_to_Day_Worker_9_Day_4: +1 x_9_4_e +1 x_9_5_d <= +1
No_Night_to_Day_Worker_9_Day_4: +1 x_9_4_n +1 x_9_5_d <= +1
No_Night_to_Eve_Worker_9_Day_4: +1 x_9_4_n +1 x_9_5_e <= +1
No_Eve_to_Day_Worker_9_Day_5: +1 x_9_5_e +1 x_9_6_d <= +1
No_Night_to_Day_Worker_9_Day_5: +1 x_9_5_n +1 x_9_6_d <= +1
No_Night_to_Eve_Worker_9_Day_5: +1 x_9_5_n +1 x_9_6_e <= +1
No_Eve_to_Day_Worker_9_Day_6: +1 x_9_6_e +1 x_9_0_d <= +1
No_Night_to_Day_Worker_9_Day_6: +1 x_9_6_n +1 x_9_0_d <= +1
No_Night_to_Eve_Worker_9_Day_6: +1 x_9_6_n +1 x_9_0_e <= +1
No_Eve_to_Day_Worker_10_Day_0: +1 x_10_0_e +1 x_10_1_d <= +1
No_Night_to_Day_Worker_10_Day_0: +1 x_10_0_n +1 x_10_1_d <= +1
No_Night_to_Eve_Worker_10_Day_0: +1 x_10_0_n +1 x_10_1_e <= +1
No_Eve_to_Day_Worker_10_Day_1: +1 x_10_1_e +1 x_10_2_d <= +1
No_Night_to_Day_Worker_10_Day_1: +1 x_10_1_n +1 x_10_2_d <= +1
No_Night_to_Eve_Worker_10_Day_1: +1 x_10_1_n +1 x_10_2_e <= +1
No_Eve_to_Day_Worker_10_Day_2: +1 x_10_2_e +1 x_10_3_d <= +1
No_Night_to_Day_Worker_10_Day_2: +1 x_10_2_n +1 x_10_3_d <= +1
No_Night_to_Eve_Worker_10_Day_2: +1 x_10_2_n +1 x_10_3_e <= +1
No_Eve_to_Day_Worker_10_Day_3: +1 x_10_3_e +1 x_10_4_d <= +1
No_Night_to_Day_Worker_10_Day_3: +1 x_10_3_n +1 x_10_4_d <= +1
No_Night_to_Eve_Worker_10_Day_3: +1 x_10_3_n +1 x_10_4_e <= +1
No_Eve_to_Day_Worker_10_Day_4: +1 x_10_4_e +1 x_10_5_d <= +1
No_Night_to_Day_Worker_10_Day_4: +1 x_10_4_n +1 x_10_5_d <= +1
No_Night_to_Eve_Worker_10_Day_4: +1 x_10_4_n +1 x_10_5_e <= +1
No_Eve_to_Day_Worker_10_Day_5: +1 x_10_5_e +1 x_10_6_d <= +1
No_Night_to_Day_Worker_10_Day_5: +1 x_10_5_n +1 x_10_6_d <= +1
No_Night_to_Eve_Worker_10_Day_5: +1 x_10_5_n +1 x_10_6_e <= +1
No_Eve_to_Day_Worker_10_Day_6: +1 x_10_6_e +1 x_10_0_d <= +1
No_Night_to_Day_Worker_10_Day_6: +1 x_10_6_n +1 x_10_0_d <= +1
No_Night_to_Eve_Worker_10_Day_6: +1 x_10_6_n +1 x_10_0_e <= +1
No_Eve_to_Day_Worker_11_Day_0: +1 x_11_0_e +1 x_11_1_d <= +1
No_Night_to_Day_Worker_11_Day_0: +1 x_11_0_n +1 x_11_1_d <= +1
No_Night_to_Eve_Worker_11_Day_0: +1 x_11_0_n +1 x_11_1_e <= +1
No_Eve_to_Day_Worker_11_Day_1: +1 x_11_1_e +1 x_11_2_d <= +1
No_Night_to_Day_Worker_11_Day_1: +1 x_11_1_n +1 x_11_2_d <= +1
No_Night_to_Eve_Worker_11_Day_1: +1 x_11_1_n +1 x_11_2_e <= +1
No_Eve_to_Day_Worker_11_Day_2: +1 x_11_2_e +1 x_11_3_d <= +1
No_Night_to_Day_Worker_11_Day_2: +1 x_11_2_n +1 x_11_3_d <= +1
No_Night_to_Eve_Worker_11_Day_2: +1 x_11_2_n +1 x_11_3_e <= +1
No_Eve_to_Day_Worker_11_Day_3: +1 x_11_3_e +1 x_11_4_d <= +1
No_Night_to_Day_Worker_11_Day_3: +1 x_11_3_n +1 x_11_4_d <= +1
No_Night_to_Eve_Worker_11_Day_3: +1 x_11_3_n +1 x_11_4_e <= +1
No_Eve_to_Day_Worker_11_Day_4: +1 x_11_4_e +1 x_11_5_d <= +1
No_Night_to_Day_Worker_11_Day_4: +1 x_11_4_n +1 x_11_5_d <= +1
No_Night_to_Eve_Worker_11_Day_4: +1 x_11_4_n +1 x_11_5_e <= +1
No_Eve_to_Day_Worker_11_Day_5: +1 x_11_5_e +1 x_11_6_d <= +1
No_Night_to_Day_Worker_11_Day_5: +1 x_11_5_n +1 x_11_6_d <= +1
No_Night_to_Eve_Worker_11_Day_5: +1 x_11_5_n +1 x_11_6_e <= +1
No_Eve_to_Day_Worker_11_Day_6: +1 x_11_6_e +1 x_11_0_d <= +1
No_Night_to_Day_Worker_11_Day_6: +1 x_11_6_n +1 x_11_0_d <= +1
No_Night_to_Eve_Worker_11_Day_6: +1 x_11_6_n +1 x_11_0_e <= +1
No_Eve_to_Day_Worker_12_Day_0: +1 x_12_0_e +1 x_12_1_d <= +1
No_Night_to_Day_Worker_12_Day_0: +1 x_12_0_n +1 x_12_1_d <= +1
No_Night_to_Eve_Worker_12_Day_0: +1 x_12_0_n +1 x_12_1_e <= +1
No_Eve_to_Day_Worker_12_Day_1: +1 x_12_1_e +1 x_12_2_d <= +1
No_Night_to_Day_Worker_12_Day_1: +1 x_12_1_n +1 x_12_2_d <= +1
No_Night_to_Eve_Worker_12_Day_1: +1 x_12_1_n +1 x_12_2_e <= +1
No_Eve_to_Day_Worker_12_Day_2: +1 x_12_2_e +1 x_12_3_d <= +1
No_Night_to_Day_Worker_12_Day_2: +1 x_12_2_n +1 x_12_3_d <= +1
No_Night_to_Eve_Worker_12_Day_2: +1 x_12_2_n +1 x_12_3_e <= +1
No_Eve_to_Day_Worker_12_Day_3: +1 x_12_3_e +1 x_12_4_d <= +1
No_Night_to_Day_Worker_12_Day_3: +1 x_12_3_n +1 x_12_4_d <= +1
No_Night_to_Eve_Worker_12_Day_3: +1 x_12_3_n +1 x_12_4_e <= +1
No_Eve_to_Day_Worker_12_Day_4: +1 x_12_4_e +1 x_12_5_d <= +1
No_Night_to_Day_Worker_12_Day_4: +1 x_12_4_n +1 x_12_5_d <= +1
No_Night_to_Eve_Worker_12_Day_4: +1 x_12_4_n +1 x_12_5_e <= +1
No_Eve_to_Day_Worker_12_Day_5: +1 x_12_5_e +1 x_12_6_d <= +1
No_Night_to_Day_Worker_12_Day_5: +1 x_12_5_n +1 x_12_6_d <= +1
No_Night_to_Eve_Worker_12_Day_5: +1 x_12_5_n +1 x_12_6_e <= +1
No_Eve_to_Day_Worker_12_Day_6: +1 x_12_6_e +1 x_12_0_d <= +1
No_Night_to_Day_Worker_12_Day_6: +1 x_12_6_n +1 x_12_0_d <= +1
No_Night_to_Eve_Worker_12_Day_6: +1 x_12_6_n +1 x_12_0_e <= +1
No_Eve_to_Day_Worker_13_Day_0: +1 x_13_0_e +1 x_13_1_d <= +1
No_Night_to_Day_Worker_13_Day_0: +1 x_13_0_n +1 x_13_1_d <= +1
No_Night_to_Eve_Worker_13_Day_0: +1 x_13_0_n +1 x_13_1_e <= +1
No_Eve_to_Day_Worker_13_Day_1: +1 x_13_1_e +1 x_13_2_d <= +1
No_Night_to_Day_Worker_13_Day_1: +1 x_13_1_n +1 x_13_2_d <= +1
No_Night_to_Eve_Worker_13_Day_1: +1 x_13_1_n +1 x_13_2_e <= +1
No_Eve_to_Day_Worker_13_Day_2: +1 x_13_2_e +1 x_13_3_d <= +1
No_Night_to_Day_Worker_13_Day_2: +1 x_13_2_n +1 x_13_3_d <= +1
No_Night_to_Eve_Worker_13_Day_2: +1 x_13_2_n +1 x_13_3_e <= +1
No_Eve_to_Day_Worker_13_Day_3: +1 x_13_3_e +1 x_13_4_d <= +1
No_Night_to_Day_Worker_13_Day_3: +1 x_13_3_n +1 x_13_4_d <= +1
No_Night_to_Eve_Worker_13_Day_3: +1 x_13_3_n +1 x_13_4_e <= +1
No_Eve_to_Day_Worker_13_Day_4: +1 x_13_4_e +1 x_13_5_d <= +1
No_Night_to_Day_Worker_13_Day_4: +1 x_13_4_n +1 x_13_5_d <= +1
No_Night_to_Eve_Worker_13_Day_4: +1 x_13_4_n +1 x_13_5_e <= +1
No_Eve_to_Day_Worker_13_Day_5: +1 x_13_5_e +1 x_13_6_d <= +1
No_Night_to_Day_Worker_13_Day_5: +1 x_13_5_n +1 x_13_6_d <= +1
No_Night_to_Eve_Worker_13_Day_5: +1 x_13_5_n +1 x_13_6_e <= +1
No_Eve_to_Day_Worker_13_Day_6: +1 x_13_6_e +1 x_13_0_d <= +1
No_Night_to_Day_Worker_13_Day_6: +1 x_13_6_n +1 x_13_0_d <= +1
No_Night_to_Eve_Worker_13_Day_6: +1 x_13_6_n +1 x_13_0_e <= +1
No_Eve_to_Day_Worker_14_Day_0: +1 x_14_0_e +1 x_14_1_d <= +1
No_Night_to_Day_Worker_14_Day_0: +1 x_14_0_n +1 x_14_1_d <= +1
No_Night_to_Eve_Worker_14_Day_0: +1 x_14_0_n +1 x_14_1_e <= +1
No_Eve_to_Day_Worker_14_Day_1: +1 x_14_1_e +1 x_14_2_d <= +1
No_Night_to_Day_Worker_14_Day_1: +1 x_14_1_n +1 x_14_2_d <= +1
No_Night_to_Eve_Worker_14_Day_1: +1 x_14_1_n +1 x_14_2_e <= +1
No_Eve_to_Day_Worker_14_Day_2: +1 x_14_2_e +1 x_14_3_d <= +1
No_Night_to_Day_Worker_14_Day_2: +1 x_14_2_n +1 x_14_3_d <= +1
No_Night_to_Eve_Worker_14_Day_2: +1 x_14_2_n +1 x_14_3_e <= +1
No_Eve_to_Day_Worker_14_Day_3: +1 x_14_3_e +1 x_14_4_d <= +1
No_Night_to_Day_Worker_14_Day_3: +1 x_14_3_n +1 x_14_4_d <= +1
No_Night_to_Eve_Worker_14_Day_3: +1 x_14_3_n +1 x_14_4_e <= +1
No_Eve_to_Day_Worker_14_Day_4: +1 x_14_4_e +1 x_14_5_d <= +1
No_Night_to_Day_Worker_14_Day_4: +1 x_14_4_n +1 x_14_5_d <= +1
No_Night_to_Eve_Worker_14_Day_4: +1 x_14_4_n +1 x_14_5_e <= +1
No_Eve_to_Day_Worker_14_Day_5: +1 x_14_5_e +1 x_14_6_d <= +1
No_Night_to_Day_Worker_14_Day_5: +1 x_14_5_n +1 x_14_6_d <= +1
No_Night_to_Eve_Worker_14_Day_5: +1 x_14_5_n +1 x_14_6_e <= +1
No_Eve_to_Day_Worker_14_Day_6: +1 x_14_6_e +1 x_14_0_d <= +1
No_Night_to_Day_Worker_14_Day_6: +1 x_14_6_n +1 x_14_0_d <= +1
No_Night_to_Eve_Worker_14_Day_6: +1 x_14_6_n +1 x_14_0_e <= +1
No_Eve_to_Day_Worker_15_Day_0: +1 x_15_0_e +1 x_15_1_d <= +1
No_Night_to_Day_Worker_15_Day_0: +1 x_15_0_n +1 x_15_1_d <= +1
No_Night_to_Eve_Worker_15_Day_0: +1 x_15_0_n +1 x_15_1_e <= +1
No_Eve_to_Day_Worker_15_Day_1: +1 x_15_1_e +1 x_15_2_d <= +1
No_Night_to_Day_Worker_15_Day_1: +1 x_15_1_n +1 x_15_2_d <= +1
No_Night_to_Eve_Worker_15_Day_1: +1 x_15_1_n +1 x_15_2_e <= +1
No_Eve_to_Day_Worker_15_Day_2: +1 x_15_2_e +1 x_15_3_d <= +1
No_Night_to_Day_Worker_15_Day_2: +1 x_15_2_n +1 x_15_3_d <= +1
No_Night_to_Eve_Worker_15_Day_2: +1 x_15_2_n +1 x_15_3_e <= +1
No_Eve_to_Day_Worker_15_Day_3: +1 x_15_3_e +1 x_15_4_d <= +1
No_Night_to_Day_Worker_15_Day_3: +1 x_15_3_n +1 x_15_4_d <= +1
No_Night_to_Eve_Worker_15_Day_3: +1 x_15_3_n +1 x_15_4_e <= +1
No_Eve_to_Day_Worker_15_Day_4: +1 x_15_4_e +1 x_15_5_d <= +1
No_Night_to_Day_Worker_15_Day_4: +1 x_15_4_n +1 x_15_5_d <= +1
No_Night_to_Eve_Worker_15_Day_4: +1 x_15_4_n +1 x_15_5_e <= +1
No_Eve_to_Day_Worker_15_Day_5: +1 x_15_5_e +1 x_15_6_d <= +1
No_Night_to_Day_Worker_15_Day_5: +1 x_15_5_n +1 x_15_6_d <= +1
No_Night_to_Eve_Worker_15_Day_5: +1 x_15_5_n +1 x_15_6_e <= +1
No_Eve_to_Day_Worker_15_Day_6: +1 x_15_6_e +1 x_15_0_d <= +1
No_Night_to_Day_Worker_15_Day_6: +1 x_15_6_n +1 x_15_0_d <= +1
No_Night_to_Eve_Worker_15_Day_6: +1 x_15_6_n +1 x_15_0_e <= +1
Max_5_Shifts_Worker_0: +1 x_0_0_d +1 x_0_0_e +1 x_0_0_n +1 x_0_1_d +1 x_0_1_e +1 x_0_1_n +1 x_0_2_d +1 x_0_2_e
+1 x_0_2_n +1 x_0_3_d +1 x_0_3_e +1 x_0_3_n +1 x_0_4_d +1 x_0_4_e +1 x_0_4_n +1 x_0_5_d +1 x_0_5_e +1 x_0_5_n
+1 x_0_6_d +1 x_0_6_e +1 x_0_6_n <= +5
Max_5_Shifts_Worker_1: +1 x_1_0_d +1 x_1_0_e +1 x_1_0_n +1 x_1_1_d +1 x_1_1_e +1 x_1_1_n +1 x_1_2_d +1 x_1_2_e
+1 x_1_2_n +1 x_1_3_d +1 x_1_3_e +1 x_1_3_n +1 x_1_4_d +1 x_1_4_e +1 x_1_4_n +1 x_1_5_d +1 x_1_5_e +1 x_1_5_n
+1 x_1_6_d +1 x_1_6_e +1 x_1_6_n <= +5
Max_5_Shifts_Worker_2: +1 x_2_0_d +1 x_2_0_e +1 x_2_0_n +1 x_2_1_d +1 x_2_1_e +1 x_2_1_n +1 x_2_2_d +1 x_2_2_e
+1 x_2_2_n +1 x_2_3_d +1 x_2_3_e +1 x_2_3_n +1 x_2_4_d +1 x_2_4_e +1 x_2_4_n +1 x_2_5_d +1 x_2_5_e +1 x_2_5_n
+1 x_2_6_d +1 x_2_6_e +1 x_2_6_n <= +5
Max_5_Shifts_Worker_3: +1 x_3_0_d +1 x_3_0_e +1 x_3_0_n +1 x_3_1_d +1 x_3_1_e +1 x_3_1_n +1 x_3_2_d +1 x_3_2_e
+1 x_3_2_n +1 x_3_3_d +1 x_3_3_e +1 x_3_3_n +1 x_3_4_d +1 x_3_4_e +1 x_3_4_n +1 x_3_5_d +1 x_3_5_e +1 x_3_5_n
+1 x_3_6_d +1 x_3_6_e +1 x_3_6_n <= +5
Max_5_Shifts_Worker_4: +1 x_4_0_d +1 x_4_0_e +1 x_4_0_n +1 x_4_1_d +1 x_4_1_e +1 x_4_1_n +1 x_4_2_d +1 x_4_2_e
+1 x_4_2_n +1 x_4_3_d +1 x_4_3_e +1 x_4_3_n +1 x_4_4_d +1 x_4_4_e +1 x_4_4_n +1 x_4_5_d +1 x_4_5_e +1 x_4_5_n
+1 x_4_6_d +1 x_4_6_e +1 x_4_6_n <= +5
Max_5_Shifts_Worker_5: +1 x_5_0_d +1 x_5_0_e +1 x_5_0_n +1 x_5_1_d +1 x_5_1_e +1 x_5_1_n +1 x_5_2_d +1 x_5_2_e
+1 x_5_2_n +1 x_5_3_d +1 x_5_3_e +1 x_5_3_n +1 x_5_4_d +1 x_5_4_e +1 x_5_4_n +1 x_5_5_d +1 x_5_5_e +1 x_5_5_n
+1 x_5_6_d +1 x_5_6_e +1 x_5_6_n <= +5
Max_5_Shifts_Worker_6: +1 x_6_0_d +1 x_6_0_e +1 x_6_0_n +1 x_6_1_d +1 x_6_1_e +1 x_6_1_n +1 x_6_2_d +1 x_6_2_e
+1 x_6_2_n +1 x_6_3_d +1 x_6_3_e +1 x_6_3_n +1 x_6_4_d +1 x_6_4_e +1 x_6_4_n +1 x_6_5_d +1 x_6_5_e +1 x_6_5_n
+1 x_6_6_d +1 x_6_6_e +1 x_6_6_n <= +5
Max_5_Shifts_Worker_7: +1 x_7_0_d +1 x_7_0_e +1 x_7_0_n +1 x_7_1_d +1 x_7_1_e +1 x_7_1_n +1 x_7_2_d +1 x_7_2_e
+1 x_7_2_n +1 x_7_3_d +1 x_7_3_e +1 x_7_3_n +1 x_7_4_d +1 x_7_4_e +1 x_7_4_n +1 x_7_5_d +1 x_7_5_e +1 x_7_5_n
+1 x_7_6_d +1 x_7_6_e +1 x_7_6_n <= +5
Max_5_Shifts_Worker_8: +1 x_8_0_d +1 x_8_0_e +1 x_8_0_n +1 x_8_1_d +1 x_8_1_e +1 x_8_1_n +1 x_8_2_d +1 x_8_2_e
+1 x_8_2_n +1 x_8_3_d +1 x_8_3_e +1 x_8_3_n +1 x_8_4_d +1 x_8_4_e +1 x_8_4_n +1 x_8_5_d +1 x_8_5_e +1 x_8_5_n
+1 x_8_6_d +1 x_8_6_e +1 x_8_6_n <= +5
Max_5_Shifts_Worker_9: +1 x_9_0_d +1 x_9_0_e +1 x_9_0_n +1 x_9_1_d +1 x_9_1_e +1 x_9_1_n +1 x_9_2_d +1 x_9_2_e
+1 x_9_2_n +1 x_9_3_d +1 x_9_3_e +1 x_9_3_n +1 x_9_4_d +1 x_9_4_e +1 x_9_4_n +1 x_9_5_d +1 x_9_5_e +1 x_9_5_n
+1 x_9_6_d +1 x_9_6_e +1 x_9_6_n <= +5
Max_5_Shifts_Worker_10: +1 x_10_0_d +1 x_10_0_e +1 x_10_0_n +1 x_10_1_d +1 x_10_1_e +1 x_10_1_n +1 x_10_2_d
+1 x_10_2_e +1 x_10_2_n +1 x_10_3_d +1 x_10_3_e +1 x_10_3_n +1 x_10_4_d +1 x_10_4_e +1 x_10_4_n +1 x_10_5_d
+1 x_10_5_e +1 x_10_5_n +1 x_10_6_d +1 x_10_6_e +1 x_10_6_n <= +5
Max_5_Shifts_Worker_11: +1 x_11_0_d +1 x_11_0_e +1 x_11_0_n +1 x_11_1_d +1 x_11_1_e +1 x_11_1_n +1 x_11_2_d
+1 x_11_2_e +1 x_11_2_n +1 x_11_3_d +1 x_11_3_e +1 x_11_3_n +1 x_11_4_d +1 x_11_4_e +1 x_11_4_n +1 x_11_5_d
+1 x_11_5_e +1 x_11_5_n +1 x_11_6_d +1 x_11_6_e +1 x_11_6_n <= +5
Max_5_Shifts_Worker_12: +1 x_12_0_d +1 x_12_0_e +1 x_12_0_n +1 x_12_1_d +1 x_12_1_e +1 x_12_1_n +1 x_12_2_d
+1 x_12_2_e +1 x_12_2_n +1 x_12_3_d +1 x_12_3_e +1 x_12_3_n +1 x_12_4_d +1 x_12_4_e +1 x_12_4_n +1 x_12_5_d
+1 x_12_5_e +1 x_12_5_n +1 x_12_6_d +1 x_12_6_e +1 x_12_6_n <= +5
Max_5_Shifts_Worker_13: +1 x_13_0_d +1 x_13_0_e +1 x_13_0_n +1 x_13_1_d +1 x_13_1_e +1 x_13_1_n +1 x_13_2_d
+1 x_13_2_e +1 x_13_2_n +1 x_13_3_d +1 x_13_3_e +1 x_13_3_n +1 x_13_4_d +1 x_13_4_e +1 x_13_4_n +1 x_13_5_d
+1 x_13_5_e +1 x_13_5_n +1 x_13_6_d +1 x_13_6_e +1 x_13_6_n <= +5
Max_5_Shifts_Worker_14: +1 x_14_0_d +1 x_14_0_e +1 x_14_0_n +1 x_14_1_d +1 x_14_1_e +1 x_14_1_n +1 x_14_2_d
+1 x_14_2_e +1 x_14_2_n +1 x_14_3_d +1 x_14_3_e +1 x_14_3_n +1 x_14_4_d +1 x_14_4_e +1 x_14_4_n +1 x_14_5_d
+1 x_14_5_e +1 x_14_5_n +1 x_14_6_d +1 x_14_6_e +1 x_14_6_n <= +5
Max_5_Shifts_Worker_15: +1 x_15_0_d +1 x_15_0_e +1 x_15_0_n +1 x_15_1_d +1 x_15_1_e +1 x_15_1_n +1 x_15_2_d
+1 x_15_2_e +1 x_15_2_n +1 x_15_3_d +1 x_15_3_e +1 x_15_3_n +1 x_15_4_d +1 x_15_4_e +1 x_15_4_n +1 x_15_5_d
+1 x_15_5_e +1 x_15_5_n +1 x_15_6_d +1 x_15_6_e +1 x_15_6_n <= +5
Max_3_Consec_Night_Worker_0_StartDay_0: +1 x_0_0_n +1 x_0_1_n +1 x_0_2_n +1 x_0_3_n <= +3
Max_3_Consec_Night_Worker_0_StartDay_1: +1 x_0_1_n +1 x_0_2_n +1 x_0_3_n +1 x_0_4_n <= +3
Max_3_Consec_Night_Worker_0_StartDay_2: +1 x_0_2_n +1 x_0_3_n +1 x_0_4_n +1 x_0_5_n <= +3
Max_3_Consec_Night_Worker_0_StartDay_3: +1 x_0_3_n +1 x_0_4_n +1 x_0_5_n +1 x_0_6_n <= +3
Max_3_Consec_Night_Worker_0_StartDay_4: +1 x_0_4_n +1 x_0_5_n +1 x_0_6_n +1 x_0_0_n <= +3
Max_3_Consec_Night_Worker_0_StartDay_5: +1 x_0_5_n +1 x_0_6_n +1 x_0_0_n +1 x_0_1_n <= +3
Max_3_Consec_Night_Worker_0_StartDay_6: +1 x_0_6_n +1 x_0_0_n +1 x_0_1_n +1 x_0_2_n <= +3
Max_3_Consec_Night_Worker_1_StartDay_0: +1 x_1_0_n +1 x_1_1_n +1 x_1_2_n +1 x_1_3_n <= +3
Max_3_Consec_Night_Worker_1_StartDay_1: +1 x_1_1_n +1 x_1_2_n +1 x_1_3_n +1 x_1_4_n <= +3
Max_3_Consec_Night_Worker_1_StartDay_2: +1 x_1_2_n +1 x_1_3_n +1 x_1_4_n +1 x_1_5_n <= +3
Max_3_Consec_Night_Worker_1_StartDay_3: +1 x_1_3_n +1 x_1_4_n +1 x_1_5_n +1 x_1_6_n <= +3
Max_3_Consec_Night_Worker_1_StartDay_4: +1 x_1_4_n +1 x_1_5_n +1 x_1_6_n +1 x_1_0_n <= +3
Max_3_Consec_Night_Worker_1_StartDay_5: +1 x_1_5_n +1 x_1_6_n +1 x_1_0_n +1 x_1_1_n <= +3
Max_3_Consec_Night_Worker_1_StartDay_6: +1 x_1_6_n +1 x_1_0_n +1 x_1_1_n +1 x_1_2_n <= +3
Max_3_Consec_Night_Worker_2_StartDay_0: +1 x_2_0_n +1 x_2_1_n +1 x_2_2_n +1 x_2_3_n <= +3
Max_3_Consec_Night_Worker_2_StartDay_1: +1 x_2_1_n +1 x_2_2_n +1 x_2_3_n +1 x_2_4_n <= +3
Max_3_Consec_Night_Worker_2_StartDay_2: +1 x_2_2_n +1 x_2_3_n +1 x_2_4_n +1 x_2_5_n <= +3
Max_3_Consec_Night_Worker_2_StartDay_3: +1 x_2_3_n +1 x_2_4_n +1 x_2_5_n +1 x_2_6_n <= +3
Max_3_Consec_Night_Worker_2_StartDay_4: +1 x_2_4_n +1 x_2_5_n +1 x_2_6_n +1 x_2_0_n <= +3
Max_3_Consec_Night_Worker_2_StartDay_5: +1 x_2_5_n +1 x_2_6_n +1 x_2_0_n +1 x_2_1_n <= +3
Max_3_Consec_Night_Worker_2_StartDay_6: +1 x_2_6_n +1 x_2_0_n +1 x_2_1_n +1 x_2_2_n <= +3
Max_3_Consec_Night_Worker_3_StartDay_0: +1 x_3_0_n +1 x_3_1_n +1 x_3_2_n +1 x_3_3_n <= +3
Max_3_Consec_Night_Worker_3_StartDay_1: +1 x_3_1_n +1 x_3_2_n +1 x_3_3_n +1 x_3_4_n <= +3
Max_3_Consec_Night_Worker_3_StartDay_2: +1 x_3_2_n +1 x_3_3_n +1 x_3_4_n +1 x_3_5_n <= +3
Max_3_Consec_Night_Worker_3_StartDay_3: +1 x_3_3_n +1 x_3_4_n +1 x_3_5_n +1 x_3_6_n <= +3
Max_3_Consec_Night_Worker_3_StartDay_4: +1 x_3_4_n +1 x_3_5_n +1 x_3_6_n +1 x_3_0_n <= +3
Max_3_Consec_Night_Worker_3_StartDay_5: +1 x_3_5_n +1 x_3_6_n +1 x_3_0_n +1 x_3_1_n <= +3
Max_3_Consec_Night_Worker_3_StartDay_6: +1 x_3_6_n +1 x_3_0_n +1 x_3_1_n +1 x_3_2_n <= +3
Max_3_Consec_Night_Worker_4_StartDay_0: +1 x_4_0_n +1 x_4_1_n +1 x_4_2_n +1 x_4_3_n <= +3
Max_3_Consec_Night_Worker_4_StartDay_1: +1 x_4_1_n +1 x_4_2_n +1 x_4_3_n +1 x_4_4_n <= +3
Max_3_Consec_Night_Worker_4_StartDay_2: +1 x_4_2_n +1 x_4_3_n +1 x_4_4_n +1 x_4_5_n <= +3
Max_3_Consec_Night_Worker_4_StartDay_3: +1 x_4_3_n +1 x_4_4_n +1 x_4_5_n +1 x_4_6_n <= +3
Max_3_Consec_Night_Worker_4_StartDay_4: +1 x_4_4_n +1 x_4_5_n +1 x_4_6_n +1 x_4_0_n <= +3
Max_3_Consec_Night_Worker_4_StartDay_5: +1 x_4_5_n +1 x_4_6_n +1 x_4_0_n +1 x_4_1_n <= +3
Max_3_Consec_Night_Worker_4_StartDay_6: +1 x_4_6_n +1 x_4_0_n +1 x_4_1_n +1 x_4_2_n <= +3
Max_3_Consec_Night_Worker_5_StartDay_0: +1 x_5_0_n +1 x_5_1_n +1 x_5_2_n +1 x_5_3_n <= +3
Max_3_Consec_Night_Worker_5_StartDay_1: +1 x_5_1_n +1 x_5_2_n +1 x_5_3_n +1 x_5_4_n <= +3
Max_3_Consec_Night_Worker_5_StartDay_2: +1 x_5_2_n +1 x_5_3_n +1 x_5_4_n +1 x_5_5_n <= +3
Max_3_Consec_Night_Worker_5_StartDay_3: +1 x_5_3_n +1 x_5_4_n +1 x_5_5_n +1 x_5_6_n <= +3
Max_3_Consec_Night_Worker_5_StartDay_4: +1 x_5_4_n +1 x_5_5_n +1 x_5_6_n +1 x_5_0_n <= +3
Max_3_Consec_Night_Worker_5_StartDay_5: +1 x_5_5_n +1 x_5_6_n +1 x_5_0_n +1 x_5_1_n <= +3
Max_3_Consec_Night_Worker_5_StartDay_6: +1 x_5_6_n +1 x_5_0_n +1 x_5_1_n +1 x_5_2_n <= +3
Max_3_Consec_Night_Worker_6_StartDay_0: +1 x_6_0_n +1 x_6_1_n +1 x_6_2_n +1 x_6_3_n <= +3
Max_3_Consec_Night_Worker_6_StartDay_1: +1 x_6_1_n +1 x_6_2_n +1 x_6_3_n +1 x_6_4_n <= +3
Max_3_Consec_Night_Worker_6_StartDay_2: +1 x_6_2_n +1 x_6_3_n +1 x_6_4_n +1 x_6_5_n <= +3
Max_3_Consec_Night_Worker_6_StartDay_3: +1 x_6_3_n +1 x_6_4_n +1 x_6_5_n +1 x_6_6_n <= +3
Max_3_Consec_Night_Worker_6_StartDay_4: +1 x_6_4_n +1 x_6_5_n +1 x_6_6_n +1 x_6_0_n <= +3
Max_3_Consec_Night_Worker_6_StartDay_5: +1 x_6_5_n +1 x_6_6_n +1 x_6_0_n +1 x_6_1_n <= +3
Max_3_Consec_Night_Worker_6_StartDay_6: +1 x_6_6_n +1 x_6_0_n +1 x_6_1_n +1 x_6_2_n <= +3
Max_3_Consec_Night_Worker_7_StartDay_0: +1 x_7_0_n +1 x_7_1_n +1 x_7_2_n +1 x_7_3_n <= +3
Max_3_Consec_Night_Worker_7_StartDay_1: +1 x_7_1_n +1 x_7_2_n +1 x_7_3_n +1 x_7_4_n <= +3
Max_3_Consec_Night_Worker_7_StartDay_2: +1 x_7_2_n +1 x_7_3_n +1 x_7_4_n +1 x_7_5_n <= +3
Max_3_Consec_Night_Worker_7_StartDay_3: +1 x_7_3_n +1 x_7_4_n +1 x_7_5_n +1 x_7_6_n <= +3
Max_3_Consec_Night_Worker_7_StartDay_4: +1 x_7_4_n +1 x_7_5_n +1 x_7_6_n +1 x_7_0_n <= +3
Max_3_Consec_Night_Worker_7_StartDay_5: +1 x_7_5_n +1 x_7_6_n +1 x_7_0_n +1 x_7_1_n <= +3
Max_3_Consec_Night_Worker_7_StartDay_6: +1 x_7_6_n +1 x_7_0_n +1 x_7_1_n +1 x_7_2_n <= +3
Max_3_Consec_Night_Worker_8_StartDay_0: +1 x_8_0_n +1 x_8_1_n +1 x_8_2_n +1 x_8_3_n <= +3
Max_3_Consec_Night_Worker_8_StartDay_1: +1 x_8_1_n +1 x_8_2_n +1 x_8_3_n +1 x_8_4_n <= +3
Max_3_Consec_Night_Worker_8_StartDay_2: +1 x_8_2_n +1 x_8_3_n +1 x_8_4_n +1 x_8_5_n <= +3
Max_3_Consec_Night_Worker_8_StartDay_3: +1 x_8_3_n +1 x_8_4_n +1 x_8_5_n +1 x_8_6_n <= +3
Max_3_Consec_Night_Worker_8_StartDay_4: +1 x_8_4_n +1 x_8_5_n +1 x_8_6_n +1 x_8_0_n <= +3
Max_3_Consec_Night_Worker_8_StartDay_5: +1 x_8_5_n +1 x_8_6_n +1 x_8_0_n +1 x_8_1_n <= +3
Max_3_Consec_Night_Worker_8_StartDay_6: +1 x_8_6_n +1 x_8_0_n +1 x_8_1_n +1 x_8_2_n <= +3
Max_3_Consec_Night_Worker_9_StartDay_0: +1 x_9_0_n +1 x_9_1_n +1 x_9_2_n +1 x_9_3_n <= +3
Max_3_Consec_Night_Worker_9_StartDay_1: +1 x_9_1_n +1 x_9_2_n +1 x_9_3_n +1 x_9_4_n <= +3
Max_3_Consec_Night_Worker_9_StartDay_2: +1 x_9_2_n +1 x_9_3_n +1 x_9_4_n +1 x_9_5_n <= +3
Max_3_Consec_Night_Worker_9_StartDay_3: +1 x_9_3_n +1 x_9_4_n +1 x_9_5_n +1 x_9_6_n <= +3
Max_3_Consec_Night_Worker_9_StartDay_4: +1 x_9_4_n +1 x_9_5_n +1 x_9_6_n +1 x_9_0_n <= +3
Max_3_Consec_Night_Worker_9_StartDay_5: +1 x_9_5_n +1 x_9_6_n +1 x_9_0_n +1 x_9_1_n <= +3
Max_3_Consec_Night_Worker_9_StartDay_6: +1 x_9_6_n +1 x_9_0_n +1 x_9_1_n +1 x_9_2_n <= +3
Max_3_Consec_Night_Worker_10_StartDay_0: +1 x_10_0_n +1 x_10_1_n +1 x_10_2_n +1 x_10_3_n <= +3
Max_3_Consec_Night_Worker_10_StartDay_1: +1 x_10_1_n +1 x_10_2_n +1 x_10_3_n +1 x_10_4_n <= +3
Max_3_Consec_Night_Worker_10_StartDay_2: +1 x_10_2_n +1 x_10_3_n +1 x_10_4_n +1 x_10_5_n <= +3
Max_3_Consec_Night_Worker_10_StartDay_3: +1 x_10_3_n +1 x_10_4_n +1 x_10_5_n +1 x_10_6_n <= +3
Max_3_Consec_Night_Worker_10_StartDay_4: +1 x_10_4_n +1 x_10_5_n +1 x_10_6_n +1 x_10_0_n <= +3
Max_3_Consec_Night_Worker_10_StartDay_5: +1 x_10_5_n +1 x_10_6_n +1 x_10_0_n +1 x_10_1_n <= +3
Max_3_Consec_Night_Worker_10_StartDay_6: +1 x_10_6_n +1 x_10_0_n +1 x_10_1_n +1 x_10_2_n <= +3
Max_3_Consec_Night_Worker_11_StartDay_0: +1 x_11_0_n +1 x_11_1_n +1 x_11_2_n +1 x_11_3_n <= +3
Max_3_Consec_Night_Worker_11_StartDay_1: +1 x_11_1_n +1 x_11_2_n +1 x_11_3_n +1 x_11_4_n <= +3
Max_3_Consec_Night_Worker_11_StartDay_2: +1 x_11_2_n +1 x_11_3_n +1 x_11_4_n +1 x_11_5_n <= +3
Max_3_Consec_Night_Worker_11_StartDay_3: +1 x_11_3_n +1 x_11_4_n +1 x_11_5_n +1 x_11_6_n <= +3
Max_3_Consec_Night_Worker_11_StartDay_4: +1 x_11_4_n +1 x_11_5_n +1 x_11_6_n +1 x_11_0_n <= +3
Max_3_Consec_Night_Worker_11_StartDay_5: +1 x_11_5_n +1 x_11_6_n +1 x_11_0_n +1 x_11_1_n <= +3
Max_3_Consec_Night_Worker_11_StartDay_6: +1 x_11_6_n +1 x_11_0_n +1 x_11_1_n +1 x_11_2_n <= +3
Max_3_Consec_Night_Worker_12_StartDay_0: +1 x_12_0_n +1 x_12_1_n +1 x_12_2_n +1 x_12_3_n <= +3
Max_3_Consec_Night_Worker_12_StartDay_1: +1 x_12_1_n +1 x_12_2_n +1 x_12_3_n +1 x_12_4_n <= +3
Max_3_Consec_Night_Worker_12_StartDay_2: +1 x_12_2_n +1 x_12_3_n +1 x_12_4_n +1 x_12_5_n <= +3
Max_3_Consec_Night_Worker_12_StartDay_3: +1 x_12_3_n +1 x_12_4_n +1 x_12_5_n +1 x_12_6_n <= +3
Max_3_Consec_Night_Worker_12_StartDay_4: +1 x_12_4_n +1 x_12_5_n +1 x_12_6_n +1 x_12_0_n <= +3
Max_3_Consec_Night_Worker_12_StartDay_5: +1 x_12_5_n +1 x_12_6_n +1 x_12_0_n +1 x_12_1_n <= +3
Max_3_Consec_Night_Worker_12_StartDay_6: +1 x_12_6_n +1 x_12_0_n +1 x_12_1_n +1 x_12_2_n <= +3
Max_3_Consec_Night_Worker_13_StartDay_0: +1 x_13_0_n +1 x_13_1_n +1 x_13_2_n +1 x_13_3_n <= +3
Max_3_Consec_Night_Worker_13_StartDay_1: +1 x_13_1_n +1 x_13_2_n +1 x_13_3_n +1 x_13_4_n <= +3
Max_3_Consec_Night_Worker_13_StartDay_2: +1 x_13_2_n +1 x_13_3_n +1 x_13_4_n +1 x_13_5_n <= +3
Max_3_Consec_Night_Worker_13_StartDay_3: +1 x_13_3_n +1 x_13_4_n +1 x_13_5_n +1 x_13_6_n <= +3
Max_3_Consec_Night_Worker_13_StartDay_4: +1 x_13_4_n +1 x_13_5_n +1 x_13_6_n +1 x_13_0_n <= +3
Max_3_Consec_Night_Worker_13_StartDay_5: +1 x_13_5_n +1 x_13_6_n +1 x_13_0_n +1 x_13_1_n <= +3
Max_3_Consec_Night_Worker_13_StartDay_6: +1 x_13_6_n +1 x_13_0_n +1 x_13_1_n +1 x_13_2_n <= +3
Max_3_Consec_Night_Worker_14_StartDay_0: +1 x_14_0_n +1 x_14_1_n +1 x_14_2_n +1 x_14_3_n <= +3
Max_3_Consec_Night_Worker_14_StartDay_1: +1 x_14_1_n +1 x_14_2_n +1 x_14_3_n +1 x_14_4_n <= +3
Max_3_Consec_Night_Worker_14_StartDay_2: +1 x_14_2_n +1 x_14_3_n +1 x_14_4_n +1 x_14_5_n <= +3
Max_3_Consec_Night_Worker_14_StartDay_3: +1 x_14_3_n +1 x_14_4_n +1 x_14_5_n +1 x_14_6_n <= +3
Max_3_Consec_Night_Worker_14_StartDay_4: +1 x_14_4_n +1 x_14_5_n +1 x_14_6_n +1 x_14_0_n <= +3
Max_3_Consec_Night_Worker_14_StartDay_5: +1 x_14_5_n +1 x_14_6_n +1 x_14_0_n +1 x_14_1_n <= +3
Max_3_Consec_Night_Worker_14_StartDay_6: +1 x_14_6_n +1 x_14_0_n +1 x_14_1_n +1 x_14_2_n <= +3
Max_3_Consec_Night_Worker_15_StartDay_0: +1 x_15_0_n +1 x_15_1_n +1 x_15_2_n +1 x_15_3_n <= +3
Max_3_Consec_Night_Worker_15_StartDay_1: +1 x_15_1_n +1 x_15_2_n +1 x_15_3_n +1 x_15_4_n <= +3
Max_3_Consec_Night_Worker_15_StartDay_2: +1 x_15_2_n +1 x_15_3_n +1 x_15_4_n +1 x_15_5_n <= +3
Max_3_Consec_Night_Worker_15_StartDay_3: +1 x_15_3_n +1 x_15_4_n +1 x_15_5_n +1 x_15_6_n <= +3
Max_3_Consec_Night_Worker_15_StartDay_4: +1 x_15_4_n +1 x_15_5_n +1 x_15_6_n +1 x_15_0_n <= +3
Max_3_Consec_Night_Worker_15_StartDay_5: +1 x_15_5_n +1 x_15_6_n +1 x_15_0_n +1 x_15_1_n <= +3
Max_3_Consec_Night_Worker_15_StartDay_6: +1 x_15_6_n +1 x_15_0_n +1 x_15_1_n +1 x_15_2_n <= +3
Bounds
0 <= x_0_0_d <= 1
0 <= x_0_0_e <= 1
0 <= x_0_0_n <= 1
0 <= x_0_1_d <= 1
0 <= x_0_1_e <= 1
0 <= x_0_1_n <= 1
0 <= x_0_2_d <= 1
0 <= x_0_2_e <= 1
0 <= x_0_2_n <= 1
0 <= x_0_3_d <= 1
0 <= x_0_3_e <= 1
0 <= x_0_3_n <= 1
0 <= x_0_4_d <= 1
0 <= x_0_4_e <= 1
0 <= x_0_4_n <= 1
0 <= x_0_5_d <= 1
0 <= x_0_5_e <= 1
0 <= x_0_5_n <= 1
0 <= x_0_6_d <= 1
0 <= x_0_6_e <= 1
0 <= x_0_6_n <= 1
0 <= x_1_0_d <= 1
0 <= x_1_0_e <= 1
0 <= x_1_0_n <= 1
0 <= x_1_1_d <= 1
0 <= x_1_1_e <= 1
0 <= x_1_1_n <= 1
0 <= x_1_2_d <= 1
0 <= x_1_2_e <= 1
0 <= x_1_2_n <= 1
0 <= x_1_3_d <= 1
0 <= x_1_3_e <= 1
0 <= x_1_3_n <= 1
0 <= x_1_4_d <= 1
0 <= x_1_4_e <= 1
0 <= x_1_4_n <= 1
0 <= x_1_5_d <= 1
0 <= x_1_5_e <= 1
0 <= x_1_5_n <= 1
0 <= x_1_6_d <= 1
0 <= x_1_6_e <= 1
0 <= x_1_6_n <= 1
0 <= x_2_0_d <= 1
0 <= x_2_0_e <= 1
0 <= x_2_0_n <= 1
0 <= x_2_1_d <= 1
0 <= x_2_1_e <= 1
0 <= x_2_1_n <= 1
0 <= x_2_2_d <= 1
0 <= x_2_2_e <= 1
0 <= x_2_2_n <= 1
0 <= x_2_3_d <= 1
0 <= x_2_3_e <= 1
0 <= x_2_3_n <= 1
0 <= x_2_4_d <= 1
0 <= x_2_4_e <= 1
0 <= x_2_4_n <= 1
0 <= x_2_5_d <= 1
0 <= x_2_5_e <= 1
0 <= x_2_5_n <= 1
0 <= x_2_6_d <= 1
0 <= x_2_6_e <= 1
0 <= x_2_6_n <= 1
0 <= x_3_0_d <= 1
0 <= x_3_0_e <= 1
0 <= x_3_0_n <= 1
0 <= x_3_1_d <= 1
0 <= x_3_1_e <= 1
0 <= x_3_1_n <= 1
0 <= x_3_2_d <= 1
0 <= x_3_2_e <= 1
0 <= x_3_2_n <= 1
0 <= x_3_3_d <= 1
0 <= x_3_3_e <= 1
0 <= x_3_3_n <= 1
0 <= x_3_4_d <= 1
0 <= x_3_4_e <= 1
0 <= x_3_4_n <= 1
0 <= x_3_5_d <= 1
0 <= x_3_5_e <= 1
0 <= x_3_5_n <= 1
0 <= x_3_6_d <= 1
0 <= x_3_6_e <= 1
0 <= x_3_6_n <= 1
0 <= x_4_0_d <= 1
0 <= x_4_0_e <= 1
0 <= x_4_0_n <= 1
0 <= x_4_1_d <= 1
0 <= x_4_1_e <= 1
0 <= x_4_1_n <= 1
0 <= x_4_2_d <= 1
0 <= x_4_2_e <= 1
0 <= x_4_2_n <= 1
0 <= x_4_3_d <= 1
0 <= x_4_3_e <= 1
0 <= x_4_3_n <= 1
0 <= x_4_4_d <= 1
0 <= x_4_4_e <= 1
0 <= x_4_4_n <= 1
0 <= x_4_5_d <= 1
0 <= x_4_5_e <= 1
0 <= x_4_5_n <= 1
0 <= x_4_6_d <= 1
0 <= x_4_6_e <= 1
0 <= x_4_6_n <= 1
0 <= x_5_0_d <= 1
0 <= x_5_0_e <= 1
0 <= x_5_0_n <= 1
0 <= x_5_1_d <= 1
0 <= x_5_1_e <= 1
0 <= x_5_1_n <= 1
0 <= x_5_2_d <= 1
0 <= x_5_2_e <= 1
0 <= x_5_2_n <= 1
0 <= x_5_3_d <= 1
0 <= x_5_3_e <= 1
0 <= x_5_3_n <= 1
0 <= x_5_4_d <= 1
0 <= x_5_4_e <= 1
0 <= x_5_4_n <= 1
0 <= x_5_5_d <= 1
0 <= x_5_5_e <= 1
0 <= x_5_5_n <= 1
0 <= x_5_6_d <= 1
0 <= x_5_6_e <= 1
0 <= x_5_6_n <= 1
0 <= x_6_0_d <= 1
0 <= x_6_0_e <= 1
0 <= x_6_0_n <= 1
0 <= x_6_1_d <= 1
0 <= x_6_1_e <= 1
0 <= x_6_1_n <= 1
0 <= x_6_2_d <= 1
0 <= x_6_2_e <= 1
0 <= x_6_2_n <= 1
0 <= x_6_3_d <= 1
0 <= x_6_3_e <= 1
0 <= x_6_3_n <= 1
0 <= x_6_4_d <= 1
0 <= x_6_4_e <= 1
0 <= x_6_4_n <= 1
0 <= x_6_5_d <= 1
0 <= x_6_5_e <= 1
0 <= x_6_5_n <= 1
0 <= x_6_6_d <= 1
0 <= x_6_6_e <= 1
0 <= x_6_6_n <= 1
0 <= x_7_0_d <= 1
0 <= x_7_0_e <= 1
0 <= x_7_0_n <= 1
0 <= x_7_1_d <= 1
0 <= x_7_1_e <= 1
0 <= x_7_1_n <= 1
0 <= x_7_2_d <= 1
0 <= x_7_2_e <= 1
0 <= x_7_2_n <= 1
0 <= x_7_3_d <= 1
0 <= x_7_3_e <= 1
0 <= x_7_3_n <= 1
0 <= x_7_4_d <= 1
0 <= x_7_4_e <= 1
0 <= x_7_4_n <= 1
0 <= x_7_5_d <= 1
0 <= x_7_5_e <= 1
0 <= x_7_5_n <= 1
0 <= x_7_6_d <= 1
0 <= x_7_6_e <= 1
0 <= x_7_6_n <= 1
0 <= x_8_0_d <= 1
0 <= x_8_0_e <= 1
0 <= x_8_0_n <= 1
0 <= x_8_1_d <= 1
0 <= x_8_1_e <= 1
0 <= x_8_1_n <= 1
0 <= x_8_2_d <= 1
0 <= x_8_2_e <= 1
0 <= x_8_2_n <= 1
0 <= x_8_3_d <= 1
0 <= x_8_3_e <= 1
0 <= x_8_3_n <= 1
0 <= x_8_4_d <= 1
0 <= x_8_4_e <= 1
0 <= x_8_4_n <= 1
0 <= x_8_5_d <= 1
0 <= x_8_5_e <= 1
0 <= x_8_5_n <= 1
0 <= x_8_6_d <= 1
0 <= x_8_6_e <= 1
0 <= x_8_6_n <= 1
0 <= x_9_0_d <= 1
0 <= x_9_0_e <= 1
0 <= x_9_0_n <= 1
0 <= x_9_1_d <= 1
0 <= x_9_1_e <= 1
0 <= x_9_1_n <= 1
0 <= x_9_2_d <= 1
0 <= x_9_2_e <= 1
0 <= x_9_2_n <= 1
0 <= x_9_3_d <= 1
0 <= x_9_3_e <= 1
0 <= x_9_3_n <= 1
0 <= x_9_4_d <= 1
0 <= x_9_4_e <= 1
0 <= x_9_4_n <= 1
0 <= x_9_5_d <= 1
0 <= x_9_5_e <= 1
0 <= x_9_5_n <= 1
0 <= x_9_6_d <= 1
0 <= x_9_6_e <= 1
0 <= x_9_6_n <= 1
0 <= x_10_0_d <= 1
0 <= x_10_0_e <= 1
0 <= x_10_0_n <= 1
0 <= x_10_1_d <= 1
0 <= x_10_1_e <= 1
0 <= x_10_1_n <= 1
0 <= x_10_2_d <= 1
0 <= x_10_2_e <= 1
0 <= x_10_2_n <= 1
0 <= x_10_3_d <= 1
0 <= x_10_3_e <= 1
0 <= x_10_3_n <= 1
0 <= x_10_4_d <= 1
0 <= x_10_4_e <= 1
0 <= x_10_4_n <= 1
0 <= x_10_5_d <= 1
0 <= x_10_5_e <= 1
0 <= x_10_5_n <= 1
0 <= x_10_6_d <= 1
0 <= x_10_6_e <= 1
0 <= x_10_6_n <= 1
0 <= x_11_0_d <= 1
0 <= x_11_0_e <= 1
0 <= x_11_0_n <= 1
0 <= x_11_1_d <= 1
0 <= x_11_1_e <= 1
0 <= x_11_1_n <= 1
0 <= x_11_2_d <= 1
0 <= x_11_2_e <= 1
0 <= x_11_2_n <= 1
0 <= x_11_3_d <= 1
0 <= x_11_3_e <= 1
0 <= x_11_3_n <= 1
0 <= x_11_4_d <= 1
0 <= x_11_4_e <= 1
0 <= x_11_4_n <= 1
0 <= x_11_5_d <= 1
0 <= x_11_5_e <= 1
0 <= x_11_5_n <= 1
0 <= x_11_6_d <= 1
0 <= x_11_6_e <= 1
0 <= x_11_6_n <= 1
0 <= x_12_0_d <= 1
0 <= x_12_0_e <= 1
0 <= x_12_0_n <= 1
0 <= x_12_1_d <= 1
0 <= x_12_1_e <= 1
0 <= x_12_1_n <= 1
0 <= x_12_2_d <= 1
0 <= x_12_2_e <= 1
0 <= x_12_2_n <= 1
0 <= x_12_3_d <= 1
0 <= x_12_3_e <= 1
0 <= x_12_3_n <= 1
0 <= x_12_4_d <= 1
0 <= x_12_4_e <= 1
0 <= x_12_4_n <= 1
0 <= x_12_5_d <= 1
0 <= x_12_5_e <= 1
0 <= x_12_5_n <= 1
0 <= x_12_6_d <= 1
0 <= x_12_6_e <= 1
0 <= x_12_6_n <= 1
0 <= x_13_0_d <= 1
0 <= x_13_0_e <= 1
0 <= x_13_0_n <= 1
0 <= x_13_1_d <= 1
0 <= x_13_1_e <= 1
0 <= x_13_1_n <= 1
0 <= x_13_2_d <= 1
0 <= x_13_2_e <= 1
0 <= x_13_2_n <= 1
0 <= x_13_3_d <= 1
0 <= x_13_3_e <= 1
0 <= x_13_3_n <= 1
0 <= x_13_4_d <= 1
0 <= x_13_4_e <= 1
0 <= x_13_4_n <= 1
0 <= x_13_5_d <= 1
0 <= x_13_5_e <= 1
0 <= x_13_5_n <= 1
0 <= x_13_6_d <= 1
0 <= x_13_6_e <= 1
0 <= x_13_6_n <= 1
0 <= x_14_0_d <= 1
0 <= x_14_0_e <= 1
0 <= x_14_0_n <= 1
0 <= x_14_1_d <= 1
0 <= x_14_1_e <= 1
0 <= x_14_1_n <= 1
0 <= x_14_2_d <= 1
0 <= x_14_2_e <= 1
0 <= x_14_2_n <= 1
0 <= x_14_3_d <= 1
0 <= x_14_3_e <= 1
0 <= x_14_3_n <= 1
0 <= x_14_4_d <= 1
0 <= x_14_4_e <= 1
0 <= x_14_4_n <= 1
0 <= x_14_5_d <= 1
0 <= x_14_5_e <= 1
0 <= x_14_5_n <= 1
0 <= x_14_6_d <= 1
0 <= x_14_6_e <= 1
0 <= x_14_6_n <= 1
0 <= x_15_0_d <= 1
0 <= x_15_0_e <= 1
0 <= x_15_0_n <= 1
0 <= x_15_1_d <= 1
0 <= x_15_1_e <= 1
0 <= x_15_1_n <= 1
0 <= x_15_2_d <= 1
0 <= x_15_2_e <= 1
0 <= x_15_2_n <= 1
0 <= x_15_3_d <= 1
0 <= x_15_3_e <= 1
0 <= x_15_3_n <= 1
0 <= x_15_4_d <= 1
0 <= x_15_4_e <= 1
0 <= x_15_4_n <= 1
0 <= x_15_5_d <= 1
0 <= x_15_5_e <= 1
0 <= x_15_5_n <= 1
0 <= x_15_6_d <= 1
0 <= x_15_6_e <= 1
0 <= x_15_6_n <= 1
Binaries
x_0_0_d x_0_0_e x_0_0_n x_0_1_d x_0_1_e x_0_1_n x_0_2_d x_0_2_e x_0_2_n x_0_3_d x_0_3_e x_0_3_n x_0_4_d
x_0_4_e x_0_4_n x_0_5_d x_0_5_e x_0_5_n x_0_6_d x_0_6_e x_0_6_n x_1_0_d x_1_0_e x_1_0_n x_1_1_d x_1_1_e
x_1_1_n x_1_2_d x_1_2_e x_1_2_n x_1_3_d x_1_3_e x_1_3_n x_1_4_d x_1_4_e x_1_4_n x_1_5_d x_1_5_e x_1_5_n
x_1_6_d x_1_6_e x_1_6_n x_2_0_d x_2_0_e x_2_0_n x_2_1_d x_2_1_e x_2_1_n x_2_2_d x_2_2_e x_2_2_n x_2_3_d
x_2_3_e x_2_3_n x_2_4_d x_2_4_e x_2_4_n x_2_5_d x_2_5_e x_2_5_n x_2_6_d x_2_6_e x_2_6_n x_3_0_d x_3_0_e
x_3_0_n x_3_1_d x_3_1_e x_3_1_n x_3_2_d x_3_2_e x_3_2_n x_3_3_d x_3_3_e x_3_3_n x_3_4_d x_3_4_e x_3_4_n
x_3_5_d x_3_5_e x_3_5_n x_3_6_d x_3_6_e x_3_6_n x_4_0_d x_4_0_e x_4_0_n x_4_1_d x_4_1_e x_4_1_n x_4_2_d
x_4_2_e x_4_2_n x_4_3_d x_4_3_e x_4_3_n x_4_4_d x_4_4_e x_4_4_n x_4_5_d x_4_5_e x_4_5_n x_4_6_d x_4_6_e
x_4_6_n x_5_0_d x_5_0_e x_5_0_n x_5_1_d x_5_1_e x_5_1_n x_5_2_d x_5_2_e x_5_2_n x_5_3_d x_5_3_e x_5_3_n
x_5_4_d x_5_4_e x_5_4_n x_5_5_d x_5_5_e x_5_5_n x_5_6_d x_5_6_e x_5_6_n x_6_0_d x_6_0_e x_6_0_n x_6_1_d
x_6_1_e x_6_1_n x_6_2_d x_6_2_e x_6_2_n x_6_3_d x_6_3_e x_6_3_n x_6_4_d x_6_4_e x_6_4_n x_6_5_d x_6_5_e
x_6_5_n x_6_6_d x_6_6_e x_6_6_n x_7_0_d x_7_0_e x_7_0_n x_7_1_d x_7_1_e x_7_1_n x_7_2_d x_7_2_e x_7_2_n
x_7_3_d x_7_3_e x_7_3_n x_7_4_d x_7_4_e x_7_4_n x_7_5_d x_7_5_e x_7_5_n x_7_6_d x_7_6_e x_7_6_n x_8_0_d
x_8_0_e x_8_0_n x_8_1_d x_8_1_e x_8_1_n x_8_2_d x_8_2_e x_8_2_n x_8_3_d x_8_3_e x_8_3_n x_8_4_d x_8_4_e
x_8_4_n x_8_5_d x_8_5_e x_8_5_n x_8_6_d x_8_6_e x_8_6_n x_9_0_d x_9_0_e x_9_0_n x_9_1_d x_9_1_e x_9_1_n
x_9_2_d x_9_2_e x_9_2_n x_9_3_d x_9_3_e x_9_3_n x_9_4_d x_9_4_e x_9_4_n x_9_5_d x_9_5_e x_9_5_n x_9_6_d
x_9_6_e x_9_6_n x_10_0_d x_10_0_e x_10_0_n x_10_1_d x_10_1_e x_10_1_n x_10_2_d x_10_2_e x_10_2_n x_10_3_d
x_10_3_e x_10_3_n x_10_4_d x_10_4_e x_10_4_n x_10_5_d x_10_5_e x_10_5_n x_10_6_d x_10_6_e x_10_6_n x_11_0_d
x_11_0_e x_11_0_n x_11_1_d x_11_1_e x_11_1_n x_11_2_d x_11_2_e x_11_2_n x_11_3_d x_11_3_e x_11_3_n x_11_4_d
x_11_4_e x_11_4_n x_11_5_d x_11_5_e x_11_5_n x_11_6_d x_11_6_e x_11_6_n x_12_0_d x_12_0_e x_12_0_n x_12_1_d
x_12_1_e x_12_1_n x_12_2_d x_12_2_e x_12_2_n x_12_3_d x_12_3_e x_12_3_n x_12_4_d x_12_4_e x_12_4_n x_12_5_d
x_12_5_e x_12_5_n x_12_6_d x_12_6_e x_12_6_n x_13_0_d x_13_0_e x_13_0_n x_13_1_d x_13_1_e x_13_1_n x_13_2_d
x_13_2_e x_13_2_n x_13_3_d x_13_3_e x_13_3_n x_13_4_d x_13_4_e x_13_4_n x_13_5_d x_13_5_e x_13_5_n x_13_6_d
x_13_6_e x_13_6_n x_14_0_d x_14_0_e x_14_0_n x_14_1_d x_14_1_e x_14_1_n x_14_2_d x_14_2_e x_14_2_n x_14_3_d
x_14_3_e x_14_3_n x_14_4_d x_14_4_e x_14_4_n x_14_5_d x_14_5_e x_14_5_n x_14_6_d x_14_6_e x_14_6_n x_15_0_d
x_15_0_e x_15_0_n x_15_1_d x_15_1_e x_15_1_n x_15_2_d x_15_2_e x_15_2_n x_15_3_d x_15_3_e x_15_3_n x_15_4_d
x_15_4_e x_15_4_n x_15_5_d x_15_5_e x_15_5_n x_15_6_d x_15_6_e x_15_6_n
End
pyscipoptでlpファイルを作成したいときは
model.writeProblem("shift_scheduling_scip.lp")を追加します。引数にはファイル名を指定します。
lpファイルの冒頭を見ると下記のようになっています。
\ SCIP STATISTICS
\ Problem name : Shift_Scheduling
\ Variables : 337 (336 binary, 0 integer, 0 implicit integer, 1 continuous)
\ Constraints : 629これを見ると
- 問題の名前はShift_Scheduling
- 変数の数が337個(0-1変数336個と連続変数1個)
- 制約の数が629個
ということが分かります。
つづいて制約条件や目的関数を見てみましょう。例えばpythonで表現した下記の制約をlpファイルでチェックしてみましょう。
# 2. シフトごとの必要人数
for j in D:
for k in S:
model.addCons(quicksum(x[i, j, k] for i in P) == np_k[k], name=f"Req_People_Day_{j}_Shift_{k}")ここでポイントなのがのname=f"Req_People_Day_{j}_Shift_{k}"ように制約名を定義していることです。lpファイルは制約名も表示してくれるので、このように名前を付けておくことで、どの制約なのかを特定するのが非常に簡単になります。

name=f"Req_People_Day_{j}_Shift_{k}"と名付けられた制約がlpファイルの中でも確認できる例えばlpファイルのReq_People_Day_1_Shift_dの制約を見ると
Req_People_Day_1_Shift_d: +1 x_0_1_d +1 x_1_1_d +1 x_2_1_d +1 x_3_1_d +1 x_4_1_d +1 x_5_1_d +1 x_6_1_d
+1 x_7_1_d +1 x_8_1_d +1 x_9_1_d +1 x_10_1_d +1 x_11_1_d +1 x_12_1_d +1 x_13_1_d +1 x_14_1_d +1 x_15_1_d
= +4となっています。x_{i}_1_dはバイト \(i\) が1日目に昼間のシフト(d)に入るなら1、そうでないなら0を取る0-1変数です。この式は \(\sum_{i=0}^{15}x_{i1d}=4\) という式になっているので、1日目の昼間(d)に必要な人数(4人)を満たすという制約がちゃんと表現されていることが分かりますね。
pulpで定式化する
import pulp
import random
def solve_shift_scheduling():
# --- データ生成 ---
# 集合
P = range(16) # アルバイト 0..15 (16人)
D = range(7) # 曜日 0..6 (月..日)
S = ['d', 'e', 'n'] # シフト: 日勤(day), 準夜勤(evening), 深夜勤(night)
# パラメータ
# 各シフトの時給 (例に基づく推定値)
w = {'d': 1000, 'e': 1100, 'n': 1200}
# 各シフトの必要人数
np_k = {'d': 4, 'e': 3, 'n': 2}
# 各アルバイトの希望賃金 (この例ではランダムに生成)
# 平均必要賃金の概算: (総シフト数 63 * 8時間 * 平均時給) / 16人
random.seed(42)
e = {i: random.randint(30000, 45000) for i in P}
# 問題の定義
prob = pulp.LpProblem("Shift_Scheduling", pulp.LpMinimize)
# --- 変数 ---
# x[i][j][k] = アルバイト i が曜日 j のシフト k に入るなら 1, そうでなければ 0
x = pulp.LpVariable.dicts("x", (P, D, S), cat='Binary')
# t = ミニマックスのための補助変数
t = pulp.LpVariable("t", lowBound=0)
# --- 目的関数 ---
prob += t, "Minimize_Max_Income_Difference"
# --- 制約条件 ---
# 1. ミニマックス絶対値制約
# | 収入_i - 希望賃金_i | <= t
# => 収入_i - 希望賃金_i <= t かつ 希望賃金_i - 収入_i <= t
for i in P:
actual_income = pulp.lpSum(8 * w[k] * x[i][j][k] for j in D for k in S)
prob += actual_income - e[i] <= t, f"Minimax_Upper_{i}"
prob += e[i] - actual_income <= t, f"Minimax_Lower_{i}"
# 2. シフトごとの必要人数
for j in D:
for k in S:
prob += pulp.lpSum(x[i][j][k] for i in P) == np_k[k], f"Req_People_Day_{j}_Shift_{k}"
# 3. 1日最大1シフトまで
for i in P:
for j in D:
prob += pulp.lpSum(x[i][j][k] for k in S) <= 1, f"Max_One_Shift_Worker_{i}_Day_{j}"
# 4. シフトの連続性制約 (インターバル)
# 深夜勤 -> 日勤 (禁止)
# 深夜勤 -> 準夜勤 (禁止)
# 準夜勤 -> 日勤 (禁止)
for i in P:
for j in D:
next_day = (j + 1) % 7
# 準夜勤 -> 翌日の日勤
prob += x[i][j]['e'] + x[i][next_day]['d'] <= 1, f"No_Eve_to_Day_Worker_{i}_Day_{j}"
# 深夜勤 -> 翌日の日勤
prob += x[i][j]['n'] + x[i][next_day]['d'] <= 1, f"No_Night_to_Day_Worker_{i}_Day_{j}"
# 深夜勤 -> 翌日の準夜勤
prob += x[i][j]['n'] + x[i][next_day]['e'] <= 1, f"No_Night_to_Eve_Worker_{i}_Day_{j}"
# 5. 1週間のシフト数は最大5回まで
for i in P:
prob += pulp.lpSum(x[i][j][k] for j in D for k in S) <= 5, f"Max_5_Shifts_Worker_{i}"
# 6. 深夜勤は最大3連勤まで
# 連続する4日間の深夜勤の合計 <= 3
for i in P:
for j in D:
# 4日間のウィンドウを確認: j, j+1, j+2, j+3 (mod 7)
days_window = [j, (j+1)%7, (j+2)%7, (j+3)%7]
prob += pulp.lpSum(x[i][d]['n'] for d in days_window) <= 3, f"Max_3_Consec_Night_Worker_{i}_StartDay_{j}"
# --- 出力 ---
# LPファイルの出力
prob.writeLP("shift_scheduling_pulp.lp")
print("LP file 'shift_scheduling_pulp.lp' generated.")
# ソルバー実行
prob.solve()
print("Status:", pulp.LpStatus[prob.status])
print("Objective Value (Max Diff):", pulp.value(prob.objective))
if __name__ == "__main__":
solve_shift_scheduling()
\* Shift_Scheduling *\
Minimize
Minimize_Max_Income_Difference: t
Subject To
Max_3_Consec_Night_Worker_0_StartDay_0: x_0_0_n + x_0_1_n + x_0_2_n + x_0_3_n
<= 3
Max_3_Consec_Night_Worker_0_StartDay_1: x_0_1_n + x_0_2_n + x_0_3_n + x_0_4_n
<= 3
Max_3_Consec_Night_Worker_0_StartDay_2: x_0_2_n + x_0_3_n + x_0_4_n + x_0_5_n
<= 3
Max_3_Consec_Night_Worker_0_StartDay_3: x_0_3_n + x_0_4_n + x_0_5_n + x_0_6_n
<= 3
Max_3_Consec_Night_Worker_0_StartDay_4: x_0_0_n + x_0_4_n + x_0_5_n + x_0_6_n
<= 3
Max_3_Consec_Night_Worker_0_StartDay_5: x_0_0_n + x_0_1_n + x_0_5_n + x_0_6_n
<= 3
Max_3_Consec_Night_Worker_0_StartDay_6: x_0_0_n + x_0_1_n + x_0_2_n + x_0_6_n
<= 3
Max_3_Consec_Night_Worker_10_StartDay_0: x_10_0_n + x_10_1_n + x_10_2_n
+ x_10_3_n <= 3
Max_3_Consec_Night_Worker_10_StartDay_1: x_10_1_n + x_10_2_n + x_10_3_n
+ x_10_4_n <= 3
Max_3_Consec_Night_Worker_10_StartDay_2: x_10_2_n + x_10_3_n + x_10_4_n
+ x_10_5_n <= 3
Max_3_Consec_Night_Worker_10_StartDay_3: x_10_3_n + x_10_4_n + x_10_5_n
+ x_10_6_n <= 3
Max_3_Consec_Night_Worker_10_StartDay_4: x_10_0_n + x_10_4_n + x_10_5_n
+ x_10_6_n <= 3
Max_3_Consec_Night_Worker_10_StartDay_5: x_10_0_n + x_10_1_n + x_10_5_n
+ x_10_6_n <= 3
Max_3_Consec_Night_Worker_10_StartDay_6: x_10_0_n + x_10_1_n + x_10_2_n
+ x_10_6_n <= 3
Max_3_Consec_Night_Worker_11_StartDay_0: x_11_0_n + x_11_1_n + x_11_2_n
+ x_11_3_n <= 3
Max_3_Consec_Night_Worker_11_StartDay_1: x_11_1_n + x_11_2_n + x_11_3_n
+ x_11_4_n <= 3
Max_3_Consec_Night_Worker_11_StartDay_2: x_11_2_n + x_11_3_n + x_11_4_n
+ x_11_5_n <= 3
Max_3_Consec_Night_Worker_11_StartDay_3: x_11_3_n + x_11_4_n + x_11_5_n
+ x_11_6_n <= 3
Max_3_Consec_Night_Worker_11_StartDay_4: x_11_0_n + x_11_4_n + x_11_5_n
+ x_11_6_n <= 3
Max_3_Consec_Night_Worker_11_StartDay_5: x_11_0_n + x_11_1_n + x_11_5_n
+ x_11_6_n <= 3
Max_3_Consec_Night_Worker_11_StartDay_6: x_11_0_n + x_11_1_n + x_11_2_n
+ x_11_6_n <= 3
Max_3_Consec_Night_Worker_12_StartDay_0: x_12_0_n + x_12_1_n + x_12_2_n
+ x_12_3_n <= 3
Max_3_Consec_Night_Worker_12_StartDay_1: x_12_1_n + x_12_2_n + x_12_3_n
+ x_12_4_n <= 3
Max_3_Consec_Night_Worker_12_StartDay_2: x_12_2_n + x_12_3_n + x_12_4_n
+ x_12_5_n <= 3
Max_3_Consec_Night_Worker_12_StartDay_3: x_12_3_n + x_12_4_n + x_12_5_n
+ x_12_6_n <= 3
Max_3_Consec_Night_Worker_12_StartDay_4: x_12_0_n + x_12_4_n + x_12_5_n
+ x_12_6_n <= 3
Max_3_Consec_Night_Worker_12_StartDay_5: x_12_0_n + x_12_1_n + x_12_5_n
+ x_12_6_n <= 3
Max_3_Consec_Night_Worker_12_StartDay_6: x_12_0_n + x_12_1_n + x_12_2_n
+ x_12_6_n <= 3
Max_3_Consec_Night_Worker_13_StartDay_0: x_13_0_n + x_13_1_n + x_13_2_n
+ x_13_3_n <= 3
Max_3_Consec_Night_Worker_13_StartDay_1: x_13_1_n + x_13_2_n + x_13_3_n
+ x_13_4_n <= 3
Max_3_Consec_Night_Worker_13_StartDay_2: x_13_2_n + x_13_3_n + x_13_4_n
+ x_13_5_n <= 3
Max_3_Consec_Night_Worker_13_StartDay_3: x_13_3_n + x_13_4_n + x_13_5_n
+ x_13_6_n <= 3
Max_3_Consec_Night_Worker_13_StartDay_4: x_13_0_n + x_13_4_n + x_13_5_n
+ x_13_6_n <= 3
Max_3_Consec_Night_Worker_13_StartDay_5: x_13_0_n + x_13_1_n + x_13_5_n
+ x_13_6_n <= 3
Max_3_Consec_Night_Worker_13_StartDay_6: x_13_0_n + x_13_1_n + x_13_2_n
+ x_13_6_n <= 3
Max_3_Consec_Night_Worker_14_StartDay_0: x_14_0_n + x_14_1_n + x_14_2_n
+ x_14_3_n <= 3
Max_3_Consec_Night_Worker_14_StartDay_1: x_14_1_n + x_14_2_n + x_14_3_n
+ x_14_4_n <= 3
Max_3_Consec_Night_Worker_14_StartDay_2: x_14_2_n + x_14_3_n + x_14_4_n
+ x_14_5_n <= 3
Max_3_Consec_Night_Worker_14_StartDay_3: x_14_3_n + x_14_4_n + x_14_5_n
+ x_14_6_n <= 3
Max_3_Consec_Night_Worker_14_StartDay_4: x_14_0_n + x_14_4_n + x_14_5_n
+ x_14_6_n <= 3
Max_3_Consec_Night_Worker_14_StartDay_5: x_14_0_n + x_14_1_n + x_14_5_n
+ x_14_6_n <= 3
Max_3_Consec_Night_Worker_14_StartDay_6: x_14_0_n + x_14_1_n + x_14_2_n
+ x_14_6_n <= 3
Max_3_Consec_Night_Worker_15_StartDay_0: x_15_0_n + x_15_1_n + x_15_2_n
+ x_15_3_n <= 3
Max_3_Consec_Night_Worker_15_StartDay_1: x_15_1_n + x_15_2_n + x_15_3_n
+ x_15_4_n <= 3
Max_3_Consec_Night_Worker_15_StartDay_2: x_15_2_n + x_15_3_n + x_15_4_n
+ x_15_5_n <= 3
Max_3_Consec_Night_Worker_15_StartDay_3: x_15_3_n + x_15_4_n + x_15_5_n
+ x_15_6_n <= 3
Max_3_Consec_Night_Worker_15_StartDay_4: x_15_0_n + x_15_4_n + x_15_5_n
+ x_15_6_n <= 3
Max_3_Consec_Night_Worker_15_StartDay_5: x_15_0_n + x_15_1_n + x_15_5_n
+ x_15_6_n <= 3
Max_3_Consec_Night_Worker_15_StartDay_6: x_15_0_n + x_15_1_n + x_15_2_n
+ x_15_6_n <= 3
Max_3_Consec_Night_Worker_1_StartDay_0: x_1_0_n + x_1_1_n + x_1_2_n + x_1_3_n
<= 3
Max_3_Consec_Night_Worker_1_StartDay_1: x_1_1_n + x_1_2_n + x_1_3_n + x_1_4_n
<= 3
Max_3_Consec_Night_Worker_1_StartDay_2: x_1_2_n + x_1_3_n + x_1_4_n + x_1_5_n
<= 3
Max_3_Consec_Night_Worker_1_StartDay_3: x_1_3_n + x_1_4_n + x_1_5_n + x_1_6_n
<= 3
Max_3_Consec_Night_Worker_1_StartDay_4: x_1_0_n + x_1_4_n + x_1_5_n + x_1_6_n
<= 3
Max_3_Consec_Night_Worker_1_StartDay_5: x_1_0_n + x_1_1_n + x_1_5_n + x_1_6_n
<= 3
Max_3_Consec_Night_Worker_1_StartDay_6: x_1_0_n + x_1_1_n + x_1_2_n + x_1_6_n
<= 3
Max_3_Consec_Night_Worker_2_StartDay_0: x_2_0_n + x_2_1_n + x_2_2_n + x_2_3_n
<= 3
Max_3_Consec_Night_Worker_2_StartDay_1: x_2_1_n + x_2_2_n + x_2_3_n + x_2_4_n
<= 3
Max_3_Consec_Night_Worker_2_StartDay_2: x_2_2_n + x_2_3_n + x_2_4_n + x_2_5_n
<= 3
Max_3_Consec_Night_Worker_2_StartDay_3: x_2_3_n + x_2_4_n + x_2_5_n + x_2_6_n
<= 3
Max_3_Consec_Night_Worker_2_StartDay_4: x_2_0_n + x_2_4_n + x_2_5_n + x_2_6_n
<= 3
Max_3_Consec_Night_Worker_2_StartDay_5: x_2_0_n + x_2_1_n + x_2_5_n + x_2_6_n
<= 3
Max_3_Consec_Night_Worker_2_StartDay_6: x_2_0_n + x_2_1_n + x_2_2_n + x_2_6_n
<= 3
Max_3_Consec_Night_Worker_3_StartDay_0: x_3_0_n + x_3_1_n + x_3_2_n + x_3_3_n
<= 3
Max_3_Consec_Night_Worker_3_StartDay_1: x_3_1_n + x_3_2_n + x_3_3_n + x_3_4_n
<= 3
Max_3_Consec_Night_Worker_3_StartDay_2: x_3_2_n + x_3_3_n + x_3_4_n + x_3_5_n
<= 3
Max_3_Consec_Night_Worker_3_StartDay_3: x_3_3_n + x_3_4_n + x_3_5_n + x_3_6_n
<= 3
Max_3_Consec_Night_Worker_3_StartDay_4: x_3_0_n + x_3_4_n + x_3_5_n + x_3_6_n
<= 3
Max_3_Consec_Night_Worker_3_StartDay_5: x_3_0_n + x_3_1_n + x_3_5_n + x_3_6_n
<= 3
Max_3_Consec_Night_Worker_3_StartDay_6: x_3_0_n + x_3_1_n + x_3_2_n + x_3_6_n
<= 3
Max_3_Consec_Night_Worker_4_StartDay_0: x_4_0_n + x_4_1_n + x_4_2_n + x_4_3_n
<= 3
Max_3_Consec_Night_Worker_4_StartDay_1: x_4_1_n + x_4_2_n + x_4_3_n + x_4_4_n
<= 3
Max_3_Consec_Night_Worker_4_StartDay_2: x_4_2_n + x_4_3_n + x_4_4_n + x_4_5_n
<= 3
Max_3_Consec_Night_Worker_4_StartDay_3: x_4_3_n + x_4_4_n + x_4_5_n + x_4_6_n
<= 3
Max_3_Consec_Night_Worker_4_StartDay_4: x_4_0_n + x_4_4_n + x_4_5_n + x_4_6_n
<= 3
Max_3_Consec_Night_Worker_4_StartDay_5: x_4_0_n + x_4_1_n + x_4_5_n + x_4_6_n
<= 3
Max_3_Consec_Night_Worker_4_StartDay_6: x_4_0_n + x_4_1_n + x_4_2_n + x_4_6_n
<= 3
Max_3_Consec_Night_Worker_5_StartDay_0: x_5_0_n + x_5_1_n + x_5_2_n + x_5_3_n
<= 3
Max_3_Consec_Night_Worker_5_StartDay_1: x_5_1_n + x_5_2_n + x_5_3_n + x_5_4_n
<= 3
Max_3_Consec_Night_Worker_5_StartDay_2: x_5_2_n + x_5_3_n + x_5_4_n + x_5_5_n
<= 3
Max_3_Consec_Night_Worker_5_StartDay_3: x_5_3_n + x_5_4_n + x_5_5_n + x_5_6_n
<= 3
Max_3_Consec_Night_Worker_5_StartDay_4: x_5_0_n + x_5_4_n + x_5_5_n + x_5_6_n
<= 3
Max_3_Consec_Night_Worker_5_StartDay_5: x_5_0_n + x_5_1_n + x_5_5_n + x_5_6_n
<= 3
Max_3_Consec_Night_Worker_5_StartDay_6: x_5_0_n + x_5_1_n + x_5_2_n + x_5_6_n
<= 3
Max_3_Consec_Night_Worker_6_StartDay_0: x_6_0_n + x_6_1_n + x_6_2_n + x_6_3_n
<= 3
Max_3_Consec_Night_Worker_6_StartDay_1: x_6_1_n + x_6_2_n + x_6_3_n + x_6_4_n
<= 3
Max_3_Consec_Night_Worker_6_StartDay_2: x_6_2_n + x_6_3_n + x_6_4_n + x_6_5_n
<= 3
Max_3_Consec_Night_Worker_6_StartDay_3: x_6_3_n + x_6_4_n + x_6_5_n + x_6_6_n
<= 3
Max_3_Consec_Night_Worker_6_StartDay_4: x_6_0_n + x_6_4_n + x_6_5_n + x_6_6_n
<= 3
Max_3_Consec_Night_Worker_6_StartDay_5: x_6_0_n + x_6_1_n + x_6_5_n + x_6_6_n
<= 3
Max_3_Consec_Night_Worker_6_StartDay_6: x_6_0_n + x_6_1_n + x_6_2_n + x_6_6_n
<= 3
Max_3_Consec_Night_Worker_7_StartDay_0: x_7_0_n + x_7_1_n + x_7_2_n + x_7_3_n
<= 3
Max_3_Consec_Night_Worker_7_StartDay_1: x_7_1_n + x_7_2_n + x_7_3_n + x_7_4_n
<= 3
Max_3_Consec_Night_Worker_7_StartDay_2: x_7_2_n + x_7_3_n + x_7_4_n + x_7_5_n
<= 3
Max_3_Consec_Night_Worker_7_StartDay_3: x_7_3_n + x_7_4_n + x_7_5_n + x_7_6_n
<= 3
Max_3_Consec_Night_Worker_7_StartDay_4: x_7_0_n + x_7_4_n + x_7_5_n + x_7_6_n
<= 3
Max_3_Consec_Night_Worker_7_StartDay_5: x_7_0_n + x_7_1_n + x_7_5_n + x_7_6_n
<= 3
Max_3_Consec_Night_Worker_7_StartDay_6: x_7_0_n + x_7_1_n + x_7_2_n + x_7_6_n
<= 3
Max_3_Consec_Night_Worker_8_StartDay_0: x_8_0_n + x_8_1_n + x_8_2_n + x_8_3_n
<= 3
Max_3_Consec_Night_Worker_8_StartDay_1: x_8_1_n + x_8_2_n + x_8_3_n + x_8_4_n
<= 3
Max_3_Consec_Night_Worker_8_StartDay_2: x_8_2_n + x_8_3_n + x_8_4_n + x_8_5_n
<= 3
Max_3_Consec_Night_Worker_8_StartDay_3: x_8_3_n + x_8_4_n + x_8_5_n + x_8_6_n
<= 3
Max_3_Consec_Night_Worker_8_StartDay_4: x_8_0_n + x_8_4_n + x_8_5_n + x_8_6_n
<= 3
Max_3_Consec_Night_Worker_8_StartDay_5: x_8_0_n + x_8_1_n + x_8_5_n + x_8_6_n
<= 3
Max_3_Consec_Night_Worker_8_StartDay_6: x_8_0_n + x_8_1_n + x_8_2_n + x_8_6_n
<= 3
Max_3_Consec_Night_Worker_9_StartDay_0: x_9_0_n + x_9_1_n + x_9_2_n + x_9_3_n
<= 3
Max_3_Consec_Night_Worker_9_StartDay_1: x_9_1_n + x_9_2_n + x_9_3_n + x_9_4_n
<= 3
Max_3_Consec_Night_Worker_9_StartDay_2: x_9_2_n + x_9_3_n + x_9_4_n + x_9_5_n
<= 3
Max_3_Consec_Night_Worker_9_StartDay_3: x_9_3_n + x_9_4_n + x_9_5_n + x_9_6_n
<= 3
Max_3_Consec_Night_Worker_9_StartDay_4: x_9_0_n + x_9_4_n + x_9_5_n + x_9_6_n
<= 3
Max_3_Consec_Night_Worker_9_StartDay_5: x_9_0_n + x_9_1_n + x_9_5_n + x_9_6_n
<= 3
Max_3_Consec_Night_Worker_9_StartDay_6: x_9_0_n + x_9_1_n + x_9_2_n + x_9_6_n
<= 3
Max_5_Shifts_Worker_0: x_0_0_d + x_0_0_e + x_0_0_n + x_0_1_d + x_0_1_e
+ x_0_1_n + x_0_2_d + x_0_2_e + x_0_2_n + x_0_3_d + x_0_3_e + x_0_3_n
+ x_0_4_d + x_0_4_e + x_0_4_n + x_0_5_d + x_0_5_e + x_0_5_n + x_0_6_d
+ x_0_6_e + x_0_6_n <= 5
Max_5_Shifts_Worker_1: x_1_0_d + x_1_0_e + x_1_0_n + x_1_1_d + x_1_1_e
+ x_1_1_n + x_1_2_d + x_1_2_e + x_1_2_n + x_1_3_d + x_1_3_e + x_1_3_n
+ x_1_4_d + x_1_4_e + x_1_4_n + x_1_5_d + x_1_5_e + x_1_5_n + x_1_6_d
+ x_1_6_e + x_1_6_n <= 5
Max_5_Shifts_Worker_10: x_10_0_d + x_10_0_e + x_10_0_n + x_10_1_d + x_10_1_e
+ x_10_1_n + x_10_2_d + x_10_2_e + x_10_2_n + x_10_3_d + x_10_3_e + x_10_3_n
+ x_10_4_d + x_10_4_e + x_10_4_n + x_10_5_d + x_10_5_e + x_10_5_n + x_10_6_d
+ x_10_6_e + x_10_6_n <= 5
Max_5_Shifts_Worker_11: x_11_0_d + x_11_0_e + x_11_0_n + x_11_1_d + x_11_1_e
+ x_11_1_n + x_11_2_d + x_11_2_e + x_11_2_n + x_11_3_d + x_11_3_e + x_11_3_n
+ x_11_4_d + x_11_4_e + x_11_4_n + x_11_5_d + x_11_5_e + x_11_5_n + x_11_6_d
+ x_11_6_e + x_11_6_n <= 5
Max_5_Shifts_Worker_12: x_12_0_d + x_12_0_e + x_12_0_n + x_12_1_d + x_12_1_e
+ x_12_1_n + x_12_2_d + x_12_2_e + x_12_2_n + x_12_3_d + x_12_3_e + x_12_3_n
+ x_12_4_d + x_12_4_e + x_12_4_n + x_12_5_d + x_12_5_e + x_12_5_n + x_12_6_d
+ x_12_6_e + x_12_6_n <= 5
Max_5_Shifts_Worker_13: x_13_0_d + x_13_0_e + x_13_0_n + x_13_1_d + x_13_1_e
+ x_13_1_n + x_13_2_d + x_13_2_e + x_13_2_n + x_13_3_d + x_13_3_e + x_13_3_n
+ x_13_4_d + x_13_4_e + x_13_4_n + x_13_5_d + x_13_5_e + x_13_5_n + x_13_6_d
+ x_13_6_e + x_13_6_n <= 5
Max_5_Shifts_Worker_14: x_14_0_d + x_14_0_e + x_14_0_n + x_14_1_d + x_14_1_e
+ x_14_1_n + x_14_2_d + x_14_2_e + x_14_2_n + x_14_3_d + x_14_3_e + x_14_3_n
+ x_14_4_d + x_14_4_e + x_14_4_n + x_14_5_d + x_14_5_e + x_14_5_n + x_14_6_d
+ x_14_6_e + x_14_6_n <= 5
Max_5_Shifts_Worker_15: x_15_0_d + x_15_0_e + x_15_0_n + x_15_1_d + x_15_1_e
+ x_15_1_n + x_15_2_d + x_15_2_e + x_15_2_n + x_15_3_d + x_15_3_e + x_15_3_n
+ x_15_4_d + x_15_4_e + x_15_4_n + x_15_5_d + x_15_5_e + x_15_5_n + x_15_6_d
+ x_15_6_e + x_15_6_n <= 5
Max_5_Shifts_Worker_2: x_2_0_d + x_2_0_e + x_2_0_n + x_2_1_d + x_2_1_e
+ x_2_1_n + x_2_2_d + x_2_2_e + x_2_2_n + x_2_3_d + x_2_3_e + x_2_3_n
+ x_2_4_d + x_2_4_e + x_2_4_n + x_2_5_d + x_2_5_e + x_2_5_n + x_2_6_d
+ x_2_6_e + x_2_6_n <= 5
Max_5_Shifts_Worker_3: x_3_0_d + x_3_0_e + x_3_0_n + x_3_1_d + x_3_1_e
+ x_3_1_n + x_3_2_d + x_3_2_e + x_3_2_n + x_3_3_d + x_3_3_e + x_3_3_n
+ x_3_4_d + x_3_4_e + x_3_4_n + x_3_5_d + x_3_5_e + x_3_5_n + x_3_6_d
+ x_3_6_e + x_3_6_n <= 5
Max_5_Shifts_Worker_4: x_4_0_d + x_4_0_e + x_4_0_n + x_4_1_d + x_4_1_e
+ x_4_1_n + x_4_2_d + x_4_2_e + x_4_2_n + x_4_3_d + x_4_3_e + x_4_3_n
+ x_4_4_d + x_4_4_e + x_4_4_n + x_4_5_d + x_4_5_e + x_4_5_n + x_4_6_d
+ x_4_6_e + x_4_6_n <= 5
Max_5_Shifts_Worker_5: x_5_0_d + x_5_0_e + x_5_0_n + x_5_1_d + x_5_1_e
+ x_5_1_n + x_5_2_d + x_5_2_e + x_5_2_n + x_5_3_d + x_5_3_e + x_5_3_n
+ x_5_4_d + x_5_4_e + x_5_4_n + x_5_5_d + x_5_5_e + x_5_5_n + x_5_6_d
+ x_5_6_e + x_5_6_n <= 5
Max_5_Shifts_Worker_6: x_6_0_d + x_6_0_e + x_6_0_n + x_6_1_d + x_6_1_e
+ x_6_1_n + x_6_2_d + x_6_2_e + x_6_2_n + x_6_3_d + x_6_3_e + x_6_3_n
+ x_6_4_d + x_6_4_e + x_6_4_n + x_6_5_d + x_6_5_e + x_6_5_n + x_6_6_d
+ x_6_6_e + x_6_6_n <= 5
Max_5_Shifts_Worker_7: x_7_0_d + x_7_0_e + x_7_0_n + x_7_1_d + x_7_1_e
+ x_7_1_n + x_7_2_d + x_7_2_e + x_7_2_n + x_7_3_d + x_7_3_e + x_7_3_n
+ x_7_4_d + x_7_4_e + x_7_4_n + x_7_5_d + x_7_5_e + x_7_5_n + x_7_6_d
+ x_7_6_e + x_7_6_n <= 5
Max_5_Shifts_Worker_8: x_8_0_d + x_8_0_e + x_8_0_n + x_8_1_d + x_8_1_e
+ x_8_1_n + x_8_2_d + x_8_2_e + x_8_2_n + x_8_3_d + x_8_3_e + x_8_3_n
+ x_8_4_d + x_8_4_e + x_8_4_n + x_8_5_d + x_8_5_e + x_8_5_n + x_8_6_d
+ x_8_6_e + x_8_6_n <= 5
Max_5_Shifts_Worker_9: x_9_0_d + x_9_0_e + x_9_0_n + x_9_1_d + x_9_1_e
+ x_9_1_n + x_9_2_d + x_9_2_e + x_9_2_n + x_9_3_d + x_9_3_e + x_9_3_n
+ x_9_4_d + x_9_4_e + x_9_4_n + x_9_5_d + x_9_5_e + x_9_5_n + x_9_6_d
+ x_9_6_e + x_9_6_n <= 5
Max_One_Shift_Worker_0_Day_0: x_0_0_d + x_0_0_e + x_0_0_n <= 1
Max_One_Shift_Worker_0_Day_1: x_0_1_d + x_0_1_e + x_0_1_n <= 1
Max_One_Shift_Worker_0_Day_2: x_0_2_d + x_0_2_e + x_0_2_n <= 1
Max_One_Shift_Worker_0_Day_3: x_0_3_d + x_0_3_e + x_0_3_n <= 1
Max_One_Shift_Worker_0_Day_4: x_0_4_d + x_0_4_e + x_0_4_n <= 1
Max_One_Shift_Worker_0_Day_5: x_0_5_d + x_0_5_e + x_0_5_n <= 1
Max_One_Shift_Worker_0_Day_6: x_0_6_d + x_0_6_e + x_0_6_n <= 1
Max_One_Shift_Worker_10_Day_0: x_10_0_d + x_10_0_e + x_10_0_n <= 1
Max_One_Shift_Worker_10_Day_1: x_10_1_d + x_10_1_e + x_10_1_n <= 1
Max_One_Shift_Worker_10_Day_2: x_10_2_d + x_10_2_e + x_10_2_n <= 1
Max_One_Shift_Worker_10_Day_3: x_10_3_d + x_10_3_e + x_10_3_n <= 1
Max_One_Shift_Worker_10_Day_4: x_10_4_d + x_10_4_e + x_10_4_n <= 1
Max_One_Shift_Worker_10_Day_5: x_10_5_d + x_10_5_e + x_10_5_n <= 1
Max_One_Shift_Worker_10_Day_6: x_10_6_d + x_10_6_e + x_10_6_n <= 1
Max_One_Shift_Worker_11_Day_0: x_11_0_d + x_11_0_e + x_11_0_n <= 1
Max_One_Shift_Worker_11_Day_1: x_11_1_d + x_11_1_e + x_11_1_n <= 1
Max_One_Shift_Worker_11_Day_2: x_11_2_d + x_11_2_e + x_11_2_n <= 1
Max_One_Shift_Worker_11_Day_3: x_11_3_d + x_11_3_e + x_11_3_n <= 1
Max_One_Shift_Worker_11_Day_4: x_11_4_d + x_11_4_e + x_11_4_n <= 1
Max_One_Shift_Worker_11_Day_5: x_11_5_d + x_11_5_e + x_11_5_n <= 1
Max_One_Shift_Worker_11_Day_6: x_11_6_d + x_11_6_e + x_11_6_n <= 1
Max_One_Shift_Worker_12_Day_0: x_12_0_d + x_12_0_e + x_12_0_n <= 1
Max_One_Shift_Worker_12_Day_1: x_12_1_d + x_12_1_e + x_12_1_n <= 1
Max_One_Shift_Worker_12_Day_2: x_12_2_d + x_12_2_e + x_12_2_n <= 1
Max_One_Shift_Worker_12_Day_3: x_12_3_d + x_12_3_e + x_12_3_n <= 1
Max_One_Shift_Worker_12_Day_4: x_12_4_d + x_12_4_e + x_12_4_n <= 1
Max_One_Shift_Worker_12_Day_5: x_12_5_d + x_12_5_e + x_12_5_n <= 1
Max_One_Shift_Worker_12_Day_6: x_12_6_d + x_12_6_e + x_12_6_n <= 1
Max_One_Shift_Worker_13_Day_0: x_13_0_d + x_13_0_e + x_13_0_n <= 1
Max_One_Shift_Worker_13_Day_1: x_13_1_d + x_13_1_e + x_13_1_n <= 1
Max_One_Shift_Worker_13_Day_2: x_13_2_d + x_13_2_e + x_13_2_n <= 1
Max_One_Shift_Worker_13_Day_3: x_13_3_d + x_13_3_e + x_13_3_n <= 1
Max_One_Shift_Worker_13_Day_4: x_13_4_d + x_13_4_e + x_13_4_n <= 1
Max_One_Shift_Worker_13_Day_5: x_13_5_d + x_13_5_e + x_13_5_n <= 1
Max_One_Shift_Worker_13_Day_6: x_13_6_d + x_13_6_e + x_13_6_n <= 1
Max_One_Shift_Worker_14_Day_0: x_14_0_d + x_14_0_e + x_14_0_n <= 1
Max_One_Shift_Worker_14_Day_1: x_14_1_d + x_14_1_e + x_14_1_n <= 1
Max_One_Shift_Worker_14_Day_2: x_14_2_d + x_14_2_e + x_14_2_n <= 1
Max_One_Shift_Worker_14_Day_3: x_14_3_d + x_14_3_e + x_14_3_n <= 1
Max_One_Shift_Worker_14_Day_4: x_14_4_d + x_14_4_e + x_14_4_n <= 1
Max_One_Shift_Worker_14_Day_5: x_14_5_d + x_14_5_e + x_14_5_n <= 1
Max_One_Shift_Worker_14_Day_6: x_14_6_d + x_14_6_e + x_14_6_n <= 1
Max_One_Shift_Worker_15_Day_0: x_15_0_d + x_15_0_e + x_15_0_n <= 1
Max_One_Shift_Worker_15_Day_1: x_15_1_d + x_15_1_e + x_15_1_n <= 1
Max_One_Shift_Worker_15_Day_2: x_15_2_d + x_15_2_e + x_15_2_n <= 1
Max_One_Shift_Worker_15_Day_3: x_15_3_d + x_15_3_e + x_15_3_n <= 1
Max_One_Shift_Worker_15_Day_4: x_15_4_d + x_15_4_e + x_15_4_n <= 1
Max_One_Shift_Worker_15_Day_5: x_15_5_d + x_15_5_e + x_15_5_n <= 1
Max_One_Shift_Worker_15_Day_6: x_15_6_d + x_15_6_e + x_15_6_n <= 1
Max_One_Shift_Worker_1_Day_0: x_1_0_d + x_1_0_e + x_1_0_n <= 1
Max_One_Shift_Worker_1_Day_1: x_1_1_d + x_1_1_e + x_1_1_n <= 1
Max_One_Shift_Worker_1_Day_2: x_1_2_d + x_1_2_e + x_1_2_n <= 1
Max_One_Shift_Worker_1_Day_3: x_1_3_d + x_1_3_e + x_1_3_n <= 1
Max_One_Shift_Worker_1_Day_4: x_1_4_d + x_1_4_e + x_1_4_n <= 1
Max_One_Shift_Worker_1_Day_5: x_1_5_d + x_1_5_e + x_1_5_n <= 1
Max_One_Shift_Worker_1_Day_6: x_1_6_d + x_1_6_e + x_1_6_n <= 1
Max_One_Shift_Worker_2_Day_0: x_2_0_d + x_2_0_e + x_2_0_n <= 1
Max_One_Shift_Worker_2_Day_1: x_2_1_d + x_2_1_e + x_2_1_n <= 1
Max_One_Shift_Worker_2_Day_2: x_2_2_d + x_2_2_e + x_2_2_n <= 1
Max_One_Shift_Worker_2_Day_3: x_2_3_d + x_2_3_e + x_2_3_n <= 1
Max_One_Shift_Worker_2_Day_4: x_2_4_d + x_2_4_e + x_2_4_n <= 1
Max_One_Shift_Worker_2_Day_5: x_2_5_d + x_2_5_e + x_2_5_n <= 1
Max_One_Shift_Worker_2_Day_6: x_2_6_d + x_2_6_e + x_2_6_n <= 1
Max_One_Shift_Worker_3_Day_0: x_3_0_d + x_3_0_e + x_3_0_n <= 1
Max_One_Shift_Worker_3_Day_1: x_3_1_d + x_3_1_e + x_3_1_n <= 1
Max_One_Shift_Worker_3_Day_2: x_3_2_d + x_3_2_e + x_3_2_n <= 1
Max_One_Shift_Worker_3_Day_3: x_3_3_d + x_3_3_e + x_3_3_n <= 1
Max_One_Shift_Worker_3_Day_4: x_3_4_d + x_3_4_e + x_3_4_n <= 1
Max_One_Shift_Worker_3_Day_5: x_3_5_d + x_3_5_e + x_3_5_n <= 1
Max_One_Shift_Worker_3_Day_6: x_3_6_d + x_3_6_e + x_3_6_n <= 1
Max_One_Shift_Worker_4_Day_0: x_4_0_d + x_4_0_e + x_4_0_n <= 1
Max_One_Shift_Worker_4_Day_1: x_4_1_d + x_4_1_e + x_4_1_n <= 1
Max_One_Shift_Worker_4_Day_2: x_4_2_d + x_4_2_e + x_4_2_n <= 1
Max_One_Shift_Worker_4_Day_3: x_4_3_d + x_4_3_e + x_4_3_n <= 1
Max_One_Shift_Worker_4_Day_4: x_4_4_d + x_4_4_e + x_4_4_n <= 1
Max_One_Shift_Worker_4_Day_5: x_4_5_d + x_4_5_e + x_4_5_n <= 1
Max_One_Shift_Worker_4_Day_6: x_4_6_d + x_4_6_e + x_4_6_n <= 1
Max_One_Shift_Worker_5_Day_0: x_5_0_d + x_5_0_e + x_5_0_n <= 1
Max_One_Shift_Worker_5_Day_1: x_5_1_d + x_5_1_e + x_5_1_n <= 1
Max_One_Shift_Worker_5_Day_2: x_5_2_d + x_5_2_e + x_5_2_n <= 1
Max_One_Shift_Worker_5_Day_3: x_5_3_d + x_5_3_e + x_5_3_n <= 1
Max_One_Shift_Worker_5_Day_4: x_5_4_d + x_5_4_e + x_5_4_n <= 1
Max_One_Shift_Worker_5_Day_5: x_5_5_d + x_5_5_e + x_5_5_n <= 1
Max_One_Shift_Worker_5_Day_6: x_5_6_d + x_5_6_e + x_5_6_n <= 1
Max_One_Shift_Worker_6_Day_0: x_6_0_d + x_6_0_e + x_6_0_n <= 1
Max_One_Shift_Worker_6_Day_1: x_6_1_d + x_6_1_e + x_6_1_n <= 1
Max_One_Shift_Worker_6_Day_2: x_6_2_d + x_6_2_e + x_6_2_n <= 1
Max_One_Shift_Worker_6_Day_3: x_6_3_d + x_6_3_e + x_6_3_n <= 1
Max_One_Shift_Worker_6_Day_4: x_6_4_d + x_6_4_e + x_6_4_n <= 1
Max_One_Shift_Worker_6_Day_5: x_6_5_d + x_6_5_e + x_6_5_n <= 1
Max_One_Shift_Worker_6_Day_6: x_6_6_d + x_6_6_e + x_6_6_n <= 1
Max_One_Shift_Worker_7_Day_0: x_7_0_d + x_7_0_e + x_7_0_n <= 1
Max_One_Shift_Worker_7_Day_1: x_7_1_d + x_7_1_e + x_7_1_n <= 1
Max_One_Shift_Worker_7_Day_2: x_7_2_d + x_7_2_e + x_7_2_n <= 1
Max_One_Shift_Worker_7_Day_3: x_7_3_d + x_7_3_e + x_7_3_n <= 1
Max_One_Shift_Worker_7_Day_4: x_7_4_d + x_7_4_e + x_7_4_n <= 1
Max_One_Shift_Worker_7_Day_5: x_7_5_d + x_7_5_e + x_7_5_n <= 1
Max_One_Shift_Worker_7_Day_6: x_7_6_d + x_7_6_e + x_7_6_n <= 1
Max_One_Shift_Worker_8_Day_0: x_8_0_d + x_8_0_e + x_8_0_n <= 1
Max_One_Shift_Worker_8_Day_1: x_8_1_d + x_8_1_e + x_8_1_n <= 1
Max_One_Shift_Worker_8_Day_2: x_8_2_d + x_8_2_e + x_8_2_n <= 1
Max_One_Shift_Worker_8_Day_3: x_8_3_d + x_8_3_e + x_8_3_n <= 1
Max_One_Shift_Worker_8_Day_4: x_8_4_d + x_8_4_e + x_8_4_n <= 1
Max_One_Shift_Worker_8_Day_5: x_8_5_d + x_8_5_e + x_8_5_n <= 1
Max_One_Shift_Worker_8_Day_6: x_8_6_d + x_8_6_e + x_8_6_n <= 1
Max_One_Shift_Worker_9_Day_0: x_9_0_d + x_9_0_e + x_9_0_n <= 1
Max_One_Shift_Worker_9_Day_1: x_9_1_d + x_9_1_e + x_9_1_n <= 1
Max_One_Shift_Worker_9_Day_2: x_9_2_d + x_9_2_e + x_9_2_n <= 1
Max_One_Shift_Worker_9_Day_3: x_9_3_d + x_9_3_e + x_9_3_n <= 1
Max_One_Shift_Worker_9_Day_4: x_9_4_d + x_9_4_e + x_9_4_n <= 1
Max_One_Shift_Worker_9_Day_5: x_9_5_d + x_9_5_e + x_9_5_n <= 1
Max_One_Shift_Worker_9_Day_6: x_9_6_d + x_9_6_e + x_9_6_n <= 1
Minimax_Lower_0: - t - 8000 x_0_0_d - 8800 x_0_0_e - 9600 x_0_0_n
- 8000 x_0_1_d - 8800 x_0_1_e - 9600 x_0_1_n - 8000 x_0_2_d - 8800 x_0_2_e
- 9600 x_0_2_n - 8000 x_0_3_d - 8800 x_0_3_e - 9600 x_0_3_n - 8000 x_0_4_d
- 8800 x_0_4_e - 9600 x_0_4_n - 8000 x_0_5_d - 8800 x_0_5_e - 9600 x_0_5_n
- 8000 x_0_6_d - 8800 x_0_6_e - 9600 x_0_6_n <= -40476
Minimax_Lower_1: - t - 8000 x_1_0_d - 8800 x_1_0_e - 9600 x_1_0_n
- 8000 x_1_1_d - 8800 x_1_1_e - 9600 x_1_1_n - 8000 x_1_2_d - 8800 x_1_2_e
- 9600 x_1_2_n - 8000 x_1_3_d - 8800 x_1_3_e - 9600 x_1_3_n - 8000 x_1_4_d
- 8800 x_1_4_e - 9600 x_1_4_n - 8000 x_1_5_d - 8800 x_1_5_e - 9600 x_1_5_n
- 8000 x_1_6_d - 8800 x_1_6_e - 9600 x_1_6_n <= -31824
Minimax_Lower_10: - t - 8000 x_10_0_d - 8800 x_10_0_e - 9600 x_10_0_n
- 8000 x_10_1_d - 8800 x_10_1_e - 9600 x_10_1_n - 8000 x_10_2_d
- 8800 x_10_2_e - 9600 x_10_2_n - 8000 x_10_3_d - 8800 x_10_3_e
- 9600 x_10_3_n - 8000 x_10_4_d - 8800 x_10_4_e - 9600 x_10_4_n
- 8000 x_10_5_d - 8800 x_10_5_e - 9600 x_10_5_n - 8000 x_10_6_d
- 8800 x_10_6_e - 9600 x_10_6_n <= -41087
Minimax_Lower_11: - t - 8000 x_11_0_d - 8800 x_11_0_e - 9600 x_11_0_n
- 8000 x_11_1_d - 8800 x_11_1_e - 9600 x_11_1_n - 8000 x_11_2_d
- 8800 x_11_2_e - 9600 x_11_2_n - 8000 x_11_3_d - 8800 x_11_3_e
- 9600 x_11_3_n - 8000 x_11_4_d - 8800 x_11_4_e - 9600 x_11_4_n
- 8000 x_11_5_d - 8800 x_11_5_e - 9600 x_11_5_n - 8000 x_11_6_d
- 8800 x_11_6_e - 9600 x_11_6_n <= -42135
Minimax_Lower_12: - t - 8000 x_12_0_d - 8800 x_12_0_e - 9600 x_12_0_n
- 8000 x_12_1_d - 8800 x_12_1_e - 9600 x_12_1_n - 8000 x_12_2_d
- 8800 x_12_2_e - 9600 x_12_2_n - 8000 x_12_3_d - 8800 x_12_3_e
- 9600 x_12_3_n - 8000 x_12_4_d - 8800 x_12_4_e - 9600 x_12_4_n
- 8000 x_12_5_d - 8800 x_12_5_e - 9600 x_12_5_n - 8000 x_12_6_d
- 8800 x_12_6_e - 9600 x_12_6_n <= -44617
Minimax_Lower_13: - t - 8000 x_13_0_d - 8800 x_13_0_e - 9600 x_13_0_n
- 8000 x_13_1_d - 8800 x_13_1_e - 9600 x_13_1_n - 8000 x_13_2_d
- 8800 x_13_2_e - 9600 x_13_2_n - 8000 x_13_3_d - 8800 x_13_3_e
- 9600 x_13_3_n - 8000 x_13_4_d - 8800 x_13_4_e - 9600 x_13_4_n
- 8000 x_13_5_d - 8800 x_13_5_e - 9600 x_13_5_n - 8000 x_13_6_d
- 8800 x_13_6_e - 9600 x_13_6_n <= -38935
Minimax_Lower_14: - t - 8000 x_14_0_d - 8800 x_14_0_e - 9600 x_14_0_n
- 8000 x_14_1_d - 8800 x_14_1_e - 9600 x_14_1_n - 8000 x_14_2_d
- 8800 x_14_2_e - 9600 x_14_2_n - 8000 x_14_3_d - 8800 x_14_3_e
- 9600 x_14_3_n - 8000 x_14_4_d - 8800 x_14_4_e - 9600 x_14_4_n
- 8000 x_14_5_d - 8800 x_14_5_e - 9600 x_14_5_n - 8000 x_14_6_d
- 8800 x_14_6_e - 9600 x_14_6_n <= -31424
Minimax_Lower_15: - t - 8000 x_15_0_d - 8800 x_15_0_e - 9600 x_15_0_n
- 8000 x_15_1_d - 8800 x_15_1_e - 9600 x_15_1_n - 8000 x_15_2_d
- 8800 x_15_2_e - 9600 x_15_2_n - 8000 x_15_3_d - 8800 x_15_3_e
- 9600 x_15_3_n - 8000 x_15_4_d - 8800 x_15_4_e - 9600 x_15_4_n
- 8000 x_15_5_d - 8800 x_15_5_e - 9600 x_15_5_n - 8000 x_15_6_d
- 8800 x_15_6_e - 9600 x_15_6_n <= -39674
Minimax_Lower_2: - t - 8000 x_2_0_d - 8800 x_2_0_e - 9600 x_2_0_n
- 8000 x_2_1_d - 8800 x_2_1_e - 9600 x_2_1_n - 8000 x_2_2_d - 8800 x_2_2_e
- 9600 x_2_2_n - 8000 x_2_3_d - 8800 x_2_3_e - 9600 x_2_3_n - 8000 x_2_4_d
- 8800 x_2_4_e - 9600 x_2_4_n - 8000 x_2_5_d - 8800 x_2_5_e - 9600 x_2_5_n
- 8000 x_2_6_d - 8800 x_2_6_e - 9600 x_2_6_n <= -30409
Minimax_Lower_3: - t - 8000 x_3_0_d - 8800 x_3_0_e - 9600 x_3_0_n
- 8000 x_3_1_d - 8800 x_3_1_e - 9600 x_3_1_n - 8000 x_3_2_d - 8800 x_3_2_e
- 9600 x_3_2_n - 8000 x_3_3_d - 8800 x_3_3_e - 9600 x_3_3_n - 8000 x_3_4_d
- 8800 x_3_4_e - 9600 x_3_4_n - 8000 x_3_5_d - 8800 x_3_5_e - 9600 x_3_5_n
- 8000 x_3_6_d - 8800 x_3_6_e - 9600 x_3_6_n <= -42149
Minimax_Lower_4: - t - 8000 x_4_0_d - 8800 x_4_0_e - 9600 x_4_0_n
- 8000 x_4_1_d - 8800 x_4_1_e - 9600 x_4_1_n - 8000 x_4_2_d - 8800 x_4_2_e
- 9600 x_4_2_n - 8000 x_4_3_d - 8800 x_4_3_e - 9600 x_4_3_n - 8000 x_4_4_d
- 8800 x_4_4_e - 9600 x_4_4_n - 8000 x_4_5_d - 8800 x_4_5_e - 9600 x_4_5_n
- 8000 x_4_6_d - 8800 x_4_6_e - 9600 x_4_6_n <= -34506
Minimax_Lower_5: - t - 8000 x_5_0_d - 8800 x_5_0_e - 9600 x_5_0_n
- 8000 x_5_1_d - 8800 x_5_1_e - 9600 x_5_1_n - 8000 x_5_2_d - 8800 x_5_2_e
- 9600 x_5_2_n - 8000 x_5_3_d - 8800 x_5_3_e - 9600 x_5_3_n - 8000 x_5_4_d
- 8800 x_5_4_e - 9600 x_5_4_n - 8000 x_5_5_d - 8800 x_5_5_e - 9600 x_5_5_n
- 8000 x_5_6_d - 8800 x_5_6_e - 9600 x_5_6_n <= -34012
Minimax_Lower_6: - t - 8000 x_6_0_d - 8800 x_6_0_e - 9600 x_6_0_n
- 8000 x_6_1_d - 8800 x_6_1_e - 9600 x_6_1_n - 8000 x_6_2_d - 8800 x_6_2_e
- 9600 x_6_2_n - 8000 x_6_3_d - 8800 x_6_3_e - 9600 x_6_3_n - 8000 x_6_4_d
- 8800 x_6_4_e - 9600 x_6_4_n - 8000 x_6_5_d - 8800 x_6_5_e - 9600 x_6_5_n
- 8000 x_6_6_d - 8800 x_6_6_e - 9600 x_6_6_n <= -33657
Minimax_Lower_7: - t - 8000 x_7_0_d - 8800 x_7_0_e - 9600 x_7_0_n
- 8000 x_7_1_d - 8800 x_7_1_e - 9600 x_7_1_n - 8000 x_7_2_d - 8800 x_7_2_e
- 9600 x_7_2_n - 8000 x_7_3_d - 8800 x_7_3_e - 9600 x_7_3_n - 8000 x_7_4_d
- 8800 x_7_4_e - 9600 x_7_4_n - 8000 x_7_5_d - 8800 x_7_5_e - 9600 x_7_5_n
- 8000 x_7_6_d - 8800 x_7_6_e - 9600 x_7_6_n <= -32286
Minimax_Lower_8: - t - 8000 x_8_0_d - 8800 x_8_0_e - 9600 x_8_0_n
- 8000 x_8_1_d - 8800 x_8_1_e - 9600 x_8_1_n - 8000 x_8_2_d - 8800 x_8_2_e
- 9600 x_8_2_n - 8000 x_8_3_d - 8800 x_8_3_e - 9600 x_8_3_n - 8000 x_8_4_d
- 8800 x_8_4_e - 9600 x_8_4_n - 8000 x_8_5_d - 8800 x_8_5_e - 9600 x_8_5_n
- 8000 x_8_6_d - 8800 x_8_6_e - 9600 x_8_6_n <= -42066
Minimax_Lower_9: - t - 8000 x_9_0_d - 8800 x_9_0_e - 9600 x_9_0_n
- 8000 x_9_1_d - 8800 x_9_1_e - 9600 x_9_1_n - 8000 x_9_2_d - 8800 x_9_2_e
- 9600 x_9_2_n - 8000 x_9_3_d - 8800 x_9_3_e - 9600 x_9_3_n - 8000 x_9_4_d
- 8800 x_9_4_e - 9600 x_9_4_n - 8000 x_9_5_d - 8800 x_9_5_e - 9600 x_9_5_n
- 8000 x_9_6_d - 8800 x_9_6_e - 9600 x_9_6_n <= -31679
Minimax_Upper_0: - t + 8000 x_0_0_d + 8800 x_0_0_e + 9600 x_0_0_n
+ 8000 x_0_1_d + 8800 x_0_1_e + 9600 x_0_1_n + 8000 x_0_2_d + 8800 x_0_2_e
+ 9600 x_0_2_n + 8000 x_0_3_d + 8800 x_0_3_e + 9600 x_0_3_n + 8000 x_0_4_d
+ 8800 x_0_4_e + 9600 x_0_4_n + 8000 x_0_5_d + 8800 x_0_5_e + 9600 x_0_5_n
+ 8000 x_0_6_d + 8800 x_0_6_e + 9600 x_0_6_n <= 40476
Minimax_Upper_1: - t + 8000 x_1_0_d + 8800 x_1_0_e + 9600 x_1_0_n
+ 8000 x_1_1_d + 8800 x_1_1_e + 9600 x_1_1_n + 8000 x_1_2_d + 8800 x_1_2_e
+ 9600 x_1_2_n + 8000 x_1_3_d + 8800 x_1_3_e + 9600 x_1_3_n + 8000 x_1_4_d
+ 8800 x_1_4_e + 9600 x_1_4_n + 8000 x_1_5_d + 8800 x_1_5_e + 9600 x_1_5_n
+ 8000 x_1_6_d + 8800 x_1_6_e + 9600 x_1_6_n <= 31824
Minimax_Upper_10: - t + 8000 x_10_0_d + 8800 x_10_0_e + 9600 x_10_0_n
+ 8000 x_10_1_d + 8800 x_10_1_e + 9600 x_10_1_n + 8000 x_10_2_d
+ 8800 x_10_2_e + 9600 x_10_2_n + 8000 x_10_3_d + 8800 x_10_3_e
+ 9600 x_10_3_n + 8000 x_10_4_d + 8800 x_10_4_e + 9600 x_10_4_n
+ 8000 x_10_5_d + 8800 x_10_5_e + 9600 x_10_5_n + 8000 x_10_6_d
+ 8800 x_10_6_e + 9600 x_10_6_n <= 41087
Minimax_Upper_11: - t + 8000 x_11_0_d + 8800 x_11_0_e + 9600 x_11_0_n
+ 8000 x_11_1_d + 8800 x_11_1_e + 9600 x_11_1_n + 8000 x_11_2_d
+ 8800 x_11_2_e + 9600 x_11_2_n + 8000 x_11_3_d + 8800 x_11_3_e
+ 9600 x_11_3_n + 8000 x_11_4_d + 8800 x_11_4_e + 9600 x_11_4_n
+ 8000 x_11_5_d + 8800 x_11_5_e + 9600 x_11_5_n + 8000 x_11_6_d
+ 8800 x_11_6_e + 9600 x_11_6_n <= 42135
Minimax_Upper_12: - t + 8000 x_12_0_d + 8800 x_12_0_e + 9600 x_12_0_n
+ 8000 x_12_1_d + 8800 x_12_1_e + 9600 x_12_1_n + 8000 x_12_2_d
+ 8800 x_12_2_e + 9600 x_12_2_n + 8000 x_12_3_d + 8800 x_12_3_e
+ 9600 x_12_3_n + 8000 x_12_4_d + 8800 x_12_4_e + 9600 x_12_4_n
+ 8000 x_12_5_d + 8800 x_12_5_e + 9600 x_12_5_n + 8000 x_12_6_d
+ 8800 x_12_6_e + 9600 x_12_6_n <= 44617
Minimax_Upper_13: - t + 8000 x_13_0_d + 8800 x_13_0_e + 9600 x_13_0_n
+ 8000 x_13_1_d + 8800 x_13_1_e + 9600 x_13_1_n + 8000 x_13_2_d
+ 8800 x_13_2_e + 9600 x_13_2_n + 8000 x_13_3_d + 8800 x_13_3_e
+ 9600 x_13_3_n + 8000 x_13_4_d + 8800 x_13_4_e + 9600 x_13_4_n
+ 8000 x_13_5_d + 8800 x_13_5_e + 9600 x_13_5_n + 8000 x_13_6_d
+ 8800 x_13_6_e + 9600 x_13_6_n <= 38935
Minimax_Upper_14: - t + 8000 x_14_0_d + 8800 x_14_0_e + 9600 x_14_0_n
+ 8000 x_14_1_d + 8800 x_14_1_e + 9600 x_14_1_n + 8000 x_14_2_d
+ 8800 x_14_2_e + 9600 x_14_2_n + 8000 x_14_3_d + 8800 x_14_3_e
+ 9600 x_14_3_n + 8000 x_14_4_d + 8800 x_14_4_e + 9600 x_14_4_n
+ 8000 x_14_5_d + 8800 x_14_5_e + 9600 x_14_5_n + 8000 x_14_6_d
+ 8800 x_14_6_e + 9600 x_14_6_n <= 31424
Minimax_Upper_15: - t + 8000 x_15_0_d + 8800 x_15_0_e + 9600 x_15_0_n
+ 8000 x_15_1_d + 8800 x_15_1_e + 9600 x_15_1_n + 8000 x_15_2_d
+ 8800 x_15_2_e + 9600 x_15_2_n + 8000 x_15_3_d + 8800 x_15_3_e
+ 9600 x_15_3_n + 8000 x_15_4_d + 8800 x_15_4_e + 9600 x_15_4_n
+ 8000 x_15_5_d + 8800 x_15_5_e + 9600 x_15_5_n + 8000 x_15_6_d
+ 8800 x_15_6_e + 9600 x_15_6_n <= 39674
Minimax_Upper_2: - t + 8000 x_2_0_d + 8800 x_2_0_e + 9600 x_2_0_n
+ 8000 x_2_1_d + 8800 x_2_1_e + 9600 x_2_1_n + 8000 x_2_2_d + 8800 x_2_2_e
+ 9600 x_2_2_n + 8000 x_2_3_d + 8800 x_2_3_e + 9600 x_2_3_n + 8000 x_2_4_d
+ 8800 x_2_4_e + 9600 x_2_4_n + 8000 x_2_5_d + 8800 x_2_5_e + 9600 x_2_5_n
+ 8000 x_2_6_d + 8800 x_2_6_e + 9600 x_2_6_n <= 30409
Minimax_Upper_3: - t + 8000 x_3_0_d + 8800 x_3_0_e + 9600 x_3_0_n
+ 8000 x_3_1_d + 8800 x_3_1_e + 9600 x_3_1_n + 8000 x_3_2_d + 8800 x_3_2_e
+ 9600 x_3_2_n + 8000 x_3_3_d + 8800 x_3_3_e + 9600 x_3_3_n + 8000 x_3_4_d
+ 8800 x_3_4_e + 9600 x_3_4_n + 8000 x_3_5_d + 8800 x_3_5_e + 9600 x_3_5_n
+ 8000 x_3_6_d + 8800 x_3_6_e + 9600 x_3_6_n <= 42149
Minimax_Upper_4: - t + 8000 x_4_0_d + 8800 x_4_0_e + 9600 x_4_0_n
+ 8000 x_4_1_d + 8800 x_4_1_e + 9600 x_4_1_n + 8000 x_4_2_d + 8800 x_4_2_e
+ 9600 x_4_2_n + 8000 x_4_3_d + 8800 x_4_3_e + 9600 x_4_3_n + 8000 x_4_4_d
+ 8800 x_4_4_e + 9600 x_4_4_n + 8000 x_4_5_d + 8800 x_4_5_e + 9600 x_4_5_n
+ 8000 x_4_6_d + 8800 x_4_6_e + 9600 x_4_6_n <= 34506
Minimax_Upper_5: - t + 8000 x_5_0_d + 8800 x_5_0_e + 9600 x_5_0_n
+ 8000 x_5_1_d + 8800 x_5_1_e + 9600 x_5_1_n + 8000 x_5_2_d + 8800 x_5_2_e
+ 9600 x_5_2_n + 8000 x_5_3_d + 8800 x_5_3_e + 9600 x_5_3_n + 8000 x_5_4_d
+ 8800 x_5_4_e + 9600 x_5_4_n + 8000 x_5_5_d + 8800 x_5_5_e + 9600 x_5_5_n
+ 8000 x_5_6_d + 8800 x_5_6_e + 9600 x_5_6_n <= 34012
Minimax_Upper_6: - t + 8000 x_6_0_d + 8800 x_6_0_e + 9600 x_6_0_n
+ 8000 x_6_1_d + 8800 x_6_1_e + 9600 x_6_1_n + 8000 x_6_2_d + 8800 x_6_2_e
+ 9600 x_6_2_n + 8000 x_6_3_d + 8800 x_6_3_e + 9600 x_6_3_n + 8000 x_6_4_d
+ 8800 x_6_4_e + 9600 x_6_4_n + 8000 x_6_5_d + 8800 x_6_5_e + 9600 x_6_5_n
+ 8000 x_6_6_d + 8800 x_6_6_e + 9600 x_6_6_n <= 33657
Minimax_Upper_7: - t + 8000 x_7_0_d + 8800 x_7_0_e + 9600 x_7_0_n
+ 8000 x_7_1_d + 8800 x_7_1_e + 9600 x_7_1_n + 8000 x_7_2_d + 8800 x_7_2_e
+ 9600 x_7_2_n + 8000 x_7_3_d + 8800 x_7_3_e + 9600 x_7_3_n + 8000 x_7_4_d
+ 8800 x_7_4_e + 9600 x_7_4_n + 8000 x_7_5_d + 8800 x_7_5_e + 9600 x_7_5_n
+ 8000 x_7_6_d + 8800 x_7_6_e + 9600 x_7_6_n <= 32286
Minimax_Upper_8: - t + 8000 x_8_0_d + 8800 x_8_0_e + 9600 x_8_0_n
+ 8000 x_8_1_d + 8800 x_8_1_e + 9600 x_8_1_n + 8000 x_8_2_d + 8800 x_8_2_e
+ 9600 x_8_2_n + 8000 x_8_3_d + 8800 x_8_3_e + 9600 x_8_3_n + 8000 x_8_4_d
+ 8800 x_8_4_e + 9600 x_8_4_n + 8000 x_8_5_d + 8800 x_8_5_e + 9600 x_8_5_n
+ 8000 x_8_6_d + 8800 x_8_6_e + 9600 x_8_6_n <= 42066
Minimax_Upper_9: - t + 8000 x_9_0_d + 8800 x_9_0_e + 9600 x_9_0_n
+ 8000 x_9_1_d + 8800 x_9_1_e + 9600 x_9_1_n + 8000 x_9_2_d + 8800 x_9_2_e
+ 9600 x_9_2_n + 8000 x_9_3_d + 8800 x_9_3_e + 9600 x_9_3_n + 8000 x_9_4_d
+ 8800 x_9_4_e + 9600 x_9_4_n + 8000 x_9_5_d + 8800 x_9_5_e + 9600 x_9_5_n
+ 8000 x_9_6_d + 8800 x_9_6_e + 9600 x_9_6_n <= 31679
No_Eve_to_Day_Worker_0_Day_0: x_0_0_e + x_0_1_d <= 1
No_Eve_to_Day_Worker_0_Day_1: x_0_1_e + x_0_2_d <= 1
No_Eve_to_Day_Worker_0_Day_2: x_0_2_e + x_0_3_d <= 1
No_Eve_to_Day_Worker_0_Day_3: x_0_3_e + x_0_4_d <= 1
No_Eve_to_Day_Worker_0_Day_4: x_0_4_e + x_0_5_d <= 1
No_Eve_to_Day_Worker_0_Day_5: x_0_5_e + x_0_6_d <= 1
No_Eve_to_Day_Worker_0_Day_6: x_0_0_d + x_0_6_e <= 1
No_Eve_to_Day_Worker_10_Day_0: x_10_0_e + x_10_1_d <= 1
No_Eve_to_Day_Worker_10_Day_1: x_10_1_e + x_10_2_d <= 1
No_Eve_to_Day_Worker_10_Day_2: x_10_2_e + x_10_3_d <= 1
No_Eve_to_Day_Worker_10_Day_3: x_10_3_e + x_10_4_d <= 1
No_Eve_to_Day_Worker_10_Day_4: x_10_4_e + x_10_5_d <= 1
No_Eve_to_Day_Worker_10_Day_5: x_10_5_e + x_10_6_d <= 1
No_Eve_to_Day_Worker_10_Day_6: x_10_0_d + x_10_6_e <= 1
No_Eve_to_Day_Worker_11_Day_0: x_11_0_e + x_11_1_d <= 1
No_Eve_to_Day_Worker_11_Day_1: x_11_1_e + x_11_2_d <= 1
No_Eve_to_Day_Worker_11_Day_2: x_11_2_e + x_11_3_d <= 1
No_Eve_to_Day_Worker_11_Day_3: x_11_3_e + x_11_4_d <= 1
No_Eve_to_Day_Worker_11_Day_4: x_11_4_e + x_11_5_d <= 1
No_Eve_to_Day_Worker_11_Day_5: x_11_5_e + x_11_6_d <= 1
No_Eve_to_Day_Worker_11_Day_6: x_11_0_d + x_11_6_e <= 1
No_Eve_to_Day_Worker_12_Day_0: x_12_0_e + x_12_1_d <= 1
No_Eve_to_Day_Worker_12_Day_1: x_12_1_e + x_12_2_d <= 1
No_Eve_to_Day_Worker_12_Day_2: x_12_2_e + x_12_3_d <= 1
No_Eve_to_Day_Worker_12_Day_3: x_12_3_e + x_12_4_d <= 1
No_Eve_to_Day_Worker_12_Day_4: x_12_4_e + x_12_5_d <= 1
No_Eve_to_Day_Worker_12_Day_5: x_12_5_e + x_12_6_d <= 1
No_Eve_to_Day_Worker_12_Day_6: x_12_0_d + x_12_6_e <= 1
No_Eve_to_Day_Worker_13_Day_0: x_13_0_e + x_13_1_d <= 1
No_Eve_to_Day_Worker_13_Day_1: x_13_1_e + x_13_2_d <= 1
No_Eve_to_Day_Worker_13_Day_2: x_13_2_e + x_13_3_d <= 1
No_Eve_to_Day_Worker_13_Day_3: x_13_3_e + x_13_4_d <= 1
No_Eve_to_Day_Worker_13_Day_4: x_13_4_e + x_13_5_d <= 1
No_Eve_to_Day_Worker_13_Day_5: x_13_5_e + x_13_6_d <= 1
No_Eve_to_Day_Worker_13_Day_6: x_13_0_d + x_13_6_e <= 1
No_Eve_to_Day_Worker_14_Day_0: x_14_0_e + x_14_1_d <= 1
No_Eve_to_Day_Worker_14_Day_1: x_14_1_e + x_14_2_d <= 1
No_Eve_to_Day_Worker_14_Day_2: x_14_2_e + x_14_3_d <= 1
No_Eve_to_Day_Worker_14_Day_3: x_14_3_e + x_14_4_d <= 1
No_Eve_to_Day_Worker_14_Day_4: x_14_4_e + x_14_5_d <= 1
No_Eve_to_Day_Worker_14_Day_5: x_14_5_e + x_14_6_d <= 1
No_Eve_to_Day_Worker_14_Day_6: x_14_0_d + x_14_6_e <= 1
No_Eve_to_Day_Worker_15_Day_0: x_15_0_e + x_15_1_d <= 1
No_Eve_to_Day_Worker_15_Day_1: x_15_1_e + x_15_2_d <= 1
No_Eve_to_Day_Worker_15_Day_2: x_15_2_e + x_15_3_d <= 1
No_Eve_to_Day_Worker_15_Day_3: x_15_3_e + x_15_4_d <= 1
No_Eve_to_Day_Worker_15_Day_4: x_15_4_e + x_15_5_d <= 1
No_Eve_to_Day_Worker_15_Day_5: x_15_5_e + x_15_6_d <= 1
No_Eve_to_Day_Worker_15_Day_6: x_15_0_d + x_15_6_e <= 1
No_Eve_to_Day_Worker_1_Day_0: x_1_0_e + x_1_1_d <= 1
No_Eve_to_Day_Worker_1_Day_1: x_1_1_e + x_1_2_d <= 1
No_Eve_to_Day_Worker_1_Day_2: x_1_2_e + x_1_3_d <= 1
No_Eve_to_Day_Worker_1_Day_3: x_1_3_e + x_1_4_d <= 1
No_Eve_to_Day_Worker_1_Day_4: x_1_4_e + x_1_5_d <= 1
No_Eve_to_Day_Worker_1_Day_5: x_1_5_e + x_1_6_d <= 1
No_Eve_to_Day_Worker_1_Day_6: x_1_0_d + x_1_6_e <= 1
No_Eve_to_Day_Worker_2_Day_0: x_2_0_e + x_2_1_d <= 1
No_Eve_to_Day_Worker_2_Day_1: x_2_1_e + x_2_2_d <= 1
No_Eve_to_Day_Worker_2_Day_2: x_2_2_e + x_2_3_d <= 1
No_Eve_to_Day_Worker_2_Day_3: x_2_3_e + x_2_4_d <= 1
No_Eve_to_Day_Worker_2_Day_4: x_2_4_e + x_2_5_d <= 1
No_Eve_to_Day_Worker_2_Day_5: x_2_5_e + x_2_6_d <= 1
No_Eve_to_Day_Worker_2_Day_6: x_2_0_d + x_2_6_e <= 1
No_Eve_to_Day_Worker_3_Day_0: x_3_0_e + x_3_1_d <= 1
No_Eve_to_Day_Worker_3_Day_1: x_3_1_e + x_3_2_d <= 1
No_Eve_to_Day_Worker_3_Day_2: x_3_2_e + x_3_3_d <= 1
No_Eve_to_Day_Worker_3_Day_3: x_3_3_e + x_3_4_d <= 1
No_Eve_to_Day_Worker_3_Day_4: x_3_4_e + x_3_5_d <= 1
No_Eve_to_Day_Worker_3_Day_5: x_3_5_e + x_3_6_d <= 1
No_Eve_to_Day_Worker_3_Day_6: x_3_0_d + x_3_6_e <= 1
No_Eve_to_Day_Worker_4_Day_0: x_4_0_e + x_4_1_d <= 1
No_Eve_to_Day_Worker_4_Day_1: x_4_1_e + x_4_2_d <= 1
No_Eve_to_Day_Worker_4_Day_2: x_4_2_e + x_4_3_d <= 1
No_Eve_to_Day_Worker_4_Day_3: x_4_3_e + x_4_4_d <= 1
No_Eve_to_Day_Worker_4_Day_4: x_4_4_e + x_4_5_d <= 1
No_Eve_to_Day_Worker_4_Day_5: x_4_5_e + x_4_6_d <= 1
No_Eve_to_Day_Worker_4_Day_6: x_4_0_d + x_4_6_e <= 1
No_Eve_to_Day_Worker_5_Day_0: x_5_0_e + x_5_1_d <= 1
No_Eve_to_Day_Worker_5_Day_1: x_5_1_e + x_5_2_d <= 1
No_Eve_to_Day_Worker_5_Day_2: x_5_2_e + x_5_3_d <= 1
No_Eve_to_Day_Worker_5_Day_3: x_5_3_e + x_5_4_d <= 1
No_Eve_to_Day_Worker_5_Day_4: x_5_4_e + x_5_5_d <= 1
No_Eve_to_Day_Worker_5_Day_5: x_5_5_e + x_5_6_d <= 1
No_Eve_to_Day_Worker_5_Day_6: x_5_0_d + x_5_6_e <= 1
No_Eve_to_Day_Worker_6_Day_0: x_6_0_e + x_6_1_d <= 1
No_Eve_to_Day_Worker_6_Day_1: x_6_1_e + x_6_2_d <= 1
No_Eve_to_Day_Worker_6_Day_2: x_6_2_e + x_6_3_d <= 1
No_Eve_to_Day_Worker_6_Day_3: x_6_3_e + x_6_4_d <= 1
No_Eve_to_Day_Worker_6_Day_4: x_6_4_e + x_6_5_d <= 1
No_Eve_to_Day_Worker_6_Day_5: x_6_5_e + x_6_6_d <= 1
No_Eve_to_Day_Worker_6_Day_6: x_6_0_d + x_6_6_e <= 1
No_Eve_to_Day_Worker_7_Day_0: x_7_0_e + x_7_1_d <= 1
No_Eve_to_Day_Worker_7_Day_1: x_7_1_e + x_7_2_d <= 1
No_Eve_to_Day_Worker_7_Day_2: x_7_2_e + x_7_3_d <= 1
No_Eve_to_Day_Worker_7_Day_3: x_7_3_e + x_7_4_d <= 1
No_Eve_to_Day_Worker_7_Day_4: x_7_4_e + x_7_5_d <= 1
No_Eve_to_Day_Worker_7_Day_5: x_7_5_e + x_7_6_d <= 1
No_Eve_to_Day_Worker_7_Day_6: x_7_0_d + x_7_6_e <= 1
No_Eve_to_Day_Worker_8_Day_0: x_8_0_e + x_8_1_d <= 1
No_Eve_to_Day_Worker_8_Day_1: x_8_1_e + x_8_2_d <= 1
No_Eve_to_Day_Worker_8_Day_2: x_8_2_e + x_8_3_d <= 1
No_Eve_to_Day_Worker_8_Day_3: x_8_3_e + x_8_4_d <= 1
No_Eve_to_Day_Worker_8_Day_4: x_8_4_e + x_8_5_d <= 1
No_Eve_to_Day_Worker_8_Day_5: x_8_5_e + x_8_6_d <= 1
No_Eve_to_Day_Worker_8_Day_6: x_8_0_d + x_8_6_e <= 1
No_Eve_to_Day_Worker_9_Day_0: x_9_0_e + x_9_1_d <= 1
No_Eve_to_Day_Worker_9_Day_1: x_9_1_e + x_9_2_d <= 1
No_Eve_to_Day_Worker_9_Day_2: x_9_2_e + x_9_3_d <= 1
No_Eve_to_Day_Worker_9_Day_3: x_9_3_e + x_9_4_d <= 1
No_Eve_to_Day_Worker_9_Day_4: x_9_4_e + x_9_5_d <= 1
No_Eve_to_Day_Worker_9_Day_5: x_9_5_e + x_9_6_d <= 1
No_Eve_to_Day_Worker_9_Day_6: x_9_0_d + x_9_6_e <= 1
No_Night_to_Day_Worker_0_Day_0: x_0_0_n + x_0_1_d <= 1
No_Night_to_Day_Worker_0_Day_1: x_0_1_n + x_0_2_d <= 1
No_Night_to_Day_Worker_0_Day_2: x_0_2_n + x_0_3_d <= 1
No_Night_to_Day_Worker_0_Day_3: x_0_3_n + x_0_4_d <= 1
No_Night_to_Day_Worker_0_Day_4: x_0_4_n + x_0_5_d <= 1
No_Night_to_Day_Worker_0_Day_5: x_0_5_n + x_0_6_d <= 1
No_Night_to_Day_Worker_0_Day_6: x_0_0_d + x_0_6_n <= 1
No_Night_to_Day_Worker_10_Day_0: x_10_0_n + x_10_1_d <= 1
No_Night_to_Day_Worker_10_Day_1: x_10_1_n + x_10_2_d <= 1
No_Night_to_Day_Worker_10_Day_2: x_10_2_n + x_10_3_d <= 1
No_Night_to_Day_Worker_10_Day_3: x_10_3_n + x_10_4_d <= 1
No_Night_to_Day_Worker_10_Day_4: x_10_4_n + x_10_5_d <= 1
No_Night_to_Day_Worker_10_Day_5: x_10_5_n + x_10_6_d <= 1
No_Night_to_Day_Worker_10_Day_6: x_10_0_d + x_10_6_n <= 1
No_Night_to_Day_Worker_11_Day_0: x_11_0_n + x_11_1_d <= 1
No_Night_to_Day_Worker_11_Day_1: x_11_1_n + x_11_2_d <= 1
No_Night_to_Day_Worker_11_Day_2: x_11_2_n + x_11_3_d <= 1
No_Night_to_Day_Worker_11_Day_3: x_11_3_n + x_11_4_d <= 1
No_Night_to_Day_Worker_11_Day_4: x_11_4_n + x_11_5_d <= 1
No_Night_to_Day_Worker_11_Day_5: x_11_5_n + x_11_6_d <= 1
No_Night_to_Day_Worker_11_Day_6: x_11_0_d + x_11_6_n <= 1
No_Night_to_Day_Worker_12_Day_0: x_12_0_n + x_12_1_d <= 1
No_Night_to_Day_Worker_12_Day_1: x_12_1_n + x_12_2_d <= 1
No_Night_to_Day_Worker_12_Day_2: x_12_2_n + x_12_3_d <= 1
No_Night_to_Day_Worker_12_Day_3: x_12_3_n + x_12_4_d <= 1
No_Night_to_Day_Worker_12_Day_4: x_12_4_n + x_12_5_d <= 1
No_Night_to_Day_Worker_12_Day_5: x_12_5_n + x_12_6_d <= 1
No_Night_to_Day_Worker_12_Day_6: x_12_0_d + x_12_6_n <= 1
No_Night_to_Day_Worker_13_Day_0: x_13_0_n + x_13_1_d <= 1
No_Night_to_Day_Worker_13_Day_1: x_13_1_n + x_13_2_d <= 1
No_Night_to_Day_Worker_13_Day_2: x_13_2_n + x_13_3_d <= 1
No_Night_to_Day_Worker_13_Day_3: x_13_3_n + x_13_4_d <= 1
No_Night_to_Day_Worker_13_Day_4: x_13_4_n + x_13_5_d <= 1
No_Night_to_Day_Worker_13_Day_5: x_13_5_n + x_13_6_d <= 1
No_Night_to_Day_Worker_13_Day_6: x_13_0_d + x_13_6_n <= 1
No_Night_to_Day_Worker_14_Day_0: x_14_0_n + x_14_1_d <= 1
No_Night_to_Day_Worker_14_Day_1: x_14_1_n + x_14_2_d <= 1
No_Night_to_Day_Worker_14_Day_2: x_14_2_n + x_14_3_d <= 1
No_Night_to_Day_Worker_14_Day_3: x_14_3_n + x_14_4_d <= 1
No_Night_to_Day_Worker_14_Day_4: x_14_4_n + x_14_5_d <= 1
No_Night_to_Day_Worker_14_Day_5: x_14_5_n + x_14_6_d <= 1
No_Night_to_Day_Worker_14_Day_6: x_14_0_d + x_14_6_n <= 1
No_Night_to_Day_Worker_15_Day_0: x_15_0_n + x_15_1_d <= 1
No_Night_to_Day_Worker_15_Day_1: x_15_1_n + x_15_2_d <= 1
No_Night_to_Day_Worker_15_Day_2: x_15_2_n + x_15_3_d <= 1
No_Night_to_Day_Worker_15_Day_3: x_15_3_n + x_15_4_d <= 1
No_Night_to_Day_Worker_15_Day_4: x_15_4_n + x_15_5_d <= 1
No_Night_to_Day_Worker_15_Day_5: x_15_5_n + x_15_6_d <= 1
No_Night_to_Day_Worker_15_Day_6: x_15_0_d + x_15_6_n <= 1
No_Night_to_Day_Worker_1_Day_0: x_1_0_n + x_1_1_d <= 1
No_Night_to_Day_Worker_1_Day_1: x_1_1_n + x_1_2_d <= 1
No_Night_to_Day_Worker_1_Day_2: x_1_2_n + x_1_3_d <= 1
No_Night_to_Day_Worker_1_Day_3: x_1_3_n + x_1_4_d <= 1
No_Night_to_Day_Worker_1_Day_4: x_1_4_n + x_1_5_d <= 1
No_Night_to_Day_Worker_1_Day_5: x_1_5_n + x_1_6_d <= 1
No_Night_to_Day_Worker_1_Day_6: x_1_0_d + x_1_6_n <= 1
No_Night_to_Day_Worker_2_Day_0: x_2_0_n + x_2_1_d <= 1
No_Night_to_Day_Worker_2_Day_1: x_2_1_n + x_2_2_d <= 1
No_Night_to_Day_Worker_2_Day_2: x_2_2_n + x_2_3_d <= 1
No_Night_to_Day_Worker_2_Day_3: x_2_3_n + x_2_4_d <= 1
No_Night_to_Day_Worker_2_Day_4: x_2_4_n + x_2_5_d <= 1
No_Night_to_Day_Worker_2_Day_5: x_2_5_n + x_2_6_d <= 1
No_Night_to_Day_Worker_2_Day_6: x_2_0_d + x_2_6_n <= 1
No_Night_to_Day_Worker_3_Day_0: x_3_0_n + x_3_1_d <= 1
No_Night_to_Day_Worker_3_Day_1: x_3_1_n + x_3_2_d <= 1
No_Night_to_Day_Worker_3_Day_2: x_3_2_n + x_3_3_d <= 1
No_Night_to_Day_Worker_3_Day_3: x_3_3_n + x_3_4_d <= 1
No_Night_to_Day_Worker_3_Day_4: x_3_4_n + x_3_5_d <= 1
No_Night_to_Day_Worker_3_Day_5: x_3_5_n + x_3_6_d <= 1
No_Night_to_Day_Worker_3_Day_6: x_3_0_d + x_3_6_n <= 1
No_Night_to_Day_Worker_4_Day_0: x_4_0_n + x_4_1_d <= 1
No_Night_to_Day_Worker_4_Day_1: x_4_1_n + x_4_2_d <= 1
No_Night_to_Day_Worker_4_Day_2: x_4_2_n + x_4_3_d <= 1
No_Night_to_Day_Worker_4_Day_3: x_4_3_n + x_4_4_d <= 1
No_Night_to_Day_Worker_4_Day_4: x_4_4_n + x_4_5_d <= 1
No_Night_to_Day_Worker_4_Day_5: x_4_5_n + x_4_6_d <= 1
No_Night_to_Day_Worker_4_Day_6: x_4_0_d + x_4_6_n <= 1
No_Night_to_Day_Worker_5_Day_0: x_5_0_n + x_5_1_d <= 1
No_Night_to_Day_Worker_5_Day_1: x_5_1_n + x_5_2_d <= 1
No_Night_to_Day_Worker_5_Day_2: x_5_2_n + x_5_3_d <= 1
No_Night_to_Day_Worker_5_Day_3: x_5_3_n + x_5_4_d <= 1
No_Night_to_Day_Worker_5_Day_4: x_5_4_n + x_5_5_d <= 1
No_Night_to_Day_Worker_5_Day_5: x_5_5_n + x_5_6_d <= 1
No_Night_to_Day_Worker_5_Day_6: x_5_0_d + x_5_6_n <= 1
No_Night_to_Day_Worker_6_Day_0: x_6_0_n + x_6_1_d <= 1
No_Night_to_Day_Worker_6_Day_1: x_6_1_n + x_6_2_d <= 1
No_Night_to_Day_Worker_6_Day_2: x_6_2_n + x_6_3_d <= 1
No_Night_to_Day_Worker_6_Day_3: x_6_3_n + x_6_4_d <= 1
No_Night_to_Day_Worker_6_Day_4: x_6_4_n + x_6_5_d <= 1
No_Night_to_Day_Worker_6_Day_5: x_6_5_n + x_6_6_d <= 1
No_Night_to_Day_Worker_6_Day_6: x_6_0_d + x_6_6_n <= 1
No_Night_to_Day_Worker_7_Day_0: x_7_0_n + x_7_1_d <= 1
No_Night_to_Day_Worker_7_Day_1: x_7_1_n + x_7_2_d <= 1
No_Night_to_Day_Worker_7_Day_2: x_7_2_n + x_7_3_d <= 1
No_Night_to_Day_Worker_7_Day_3: x_7_3_n + x_7_4_d <= 1
No_Night_to_Day_Worker_7_Day_4: x_7_4_n + x_7_5_d <= 1
No_Night_to_Day_Worker_7_Day_5: x_7_5_n + x_7_6_d <= 1
No_Night_to_Day_Worker_7_Day_6: x_7_0_d + x_7_6_n <= 1
No_Night_to_Day_Worker_8_Day_0: x_8_0_n + x_8_1_d <= 1
No_Night_to_Day_Worker_8_Day_1: x_8_1_n + x_8_2_d <= 1
No_Night_to_Day_Worker_8_Day_2: x_8_2_n + x_8_3_d <= 1
No_Night_to_Day_Worker_8_Day_3: x_8_3_n + x_8_4_d <= 1
No_Night_to_Day_Worker_8_Day_4: x_8_4_n + x_8_5_d <= 1
No_Night_to_Day_Worker_8_Day_5: x_8_5_n + x_8_6_d <= 1
No_Night_to_Day_Worker_8_Day_6: x_8_0_d + x_8_6_n <= 1
No_Night_to_Day_Worker_9_Day_0: x_9_0_n + x_9_1_d <= 1
No_Night_to_Day_Worker_9_Day_1: x_9_1_n + x_9_2_d <= 1
No_Night_to_Day_Worker_9_Day_2: x_9_2_n + x_9_3_d <= 1
No_Night_to_Day_Worker_9_Day_3: x_9_3_n + x_9_4_d <= 1
No_Night_to_Day_Worker_9_Day_4: x_9_4_n + x_9_5_d <= 1
No_Night_to_Day_Worker_9_Day_5: x_9_5_n + x_9_6_d <= 1
No_Night_to_Day_Worker_9_Day_6: x_9_0_d + x_9_6_n <= 1
No_Night_to_Eve_Worker_0_Day_0: x_0_0_n + x_0_1_e <= 1
No_Night_to_Eve_Worker_0_Day_1: x_0_1_n + x_0_2_e <= 1
No_Night_to_Eve_Worker_0_Day_2: x_0_2_n + x_0_3_e <= 1
No_Night_to_Eve_Worker_0_Day_3: x_0_3_n + x_0_4_e <= 1
No_Night_to_Eve_Worker_0_Day_4: x_0_4_n + x_0_5_e <= 1
No_Night_to_Eve_Worker_0_Day_5: x_0_5_n + x_0_6_e <= 1
No_Night_to_Eve_Worker_0_Day_6: x_0_0_e + x_0_6_n <= 1
No_Night_to_Eve_Worker_10_Day_0: x_10_0_n + x_10_1_e <= 1
No_Night_to_Eve_Worker_10_Day_1: x_10_1_n + x_10_2_e <= 1
No_Night_to_Eve_Worker_10_Day_2: x_10_2_n + x_10_3_e <= 1
No_Night_to_Eve_Worker_10_Day_3: x_10_3_n + x_10_4_e <= 1
No_Night_to_Eve_Worker_10_Day_4: x_10_4_n + x_10_5_e <= 1
No_Night_to_Eve_Worker_10_Day_5: x_10_5_n + x_10_6_e <= 1
No_Night_to_Eve_Worker_10_Day_6: x_10_0_e + x_10_6_n <= 1
No_Night_to_Eve_Worker_11_Day_0: x_11_0_n + x_11_1_e <= 1
No_Night_to_Eve_Worker_11_Day_1: x_11_1_n + x_11_2_e <= 1
No_Night_to_Eve_Worker_11_Day_2: x_11_2_n + x_11_3_e <= 1
No_Night_to_Eve_Worker_11_Day_3: x_11_3_n + x_11_4_e <= 1
No_Night_to_Eve_Worker_11_Day_4: x_11_4_n + x_11_5_e <= 1
No_Night_to_Eve_Worker_11_Day_5: x_11_5_n + x_11_6_e <= 1
No_Night_to_Eve_Worker_11_Day_6: x_11_0_e + x_11_6_n <= 1
No_Night_to_Eve_Worker_12_Day_0: x_12_0_n + x_12_1_e <= 1
No_Night_to_Eve_Worker_12_Day_1: x_12_1_n + x_12_2_e <= 1
No_Night_to_Eve_Worker_12_Day_2: x_12_2_n + x_12_3_e <= 1
No_Night_to_Eve_Worker_12_Day_3: x_12_3_n + x_12_4_e <= 1
No_Night_to_Eve_Worker_12_Day_4: x_12_4_n + x_12_5_e <= 1
No_Night_to_Eve_Worker_12_Day_5: x_12_5_n + x_12_6_e <= 1
No_Night_to_Eve_Worker_12_Day_6: x_12_0_e + x_12_6_n <= 1
No_Night_to_Eve_Worker_13_Day_0: x_13_0_n + x_13_1_e <= 1
No_Night_to_Eve_Worker_13_Day_1: x_13_1_n + x_13_2_e <= 1
No_Night_to_Eve_Worker_13_Day_2: x_13_2_n + x_13_3_e <= 1
No_Night_to_Eve_Worker_13_Day_3: x_13_3_n + x_13_4_e <= 1
No_Night_to_Eve_Worker_13_Day_4: x_13_4_n + x_13_5_e <= 1
No_Night_to_Eve_Worker_13_Day_5: x_13_5_n + x_13_6_e <= 1
No_Night_to_Eve_Worker_13_Day_6: x_13_0_e + x_13_6_n <= 1
No_Night_to_Eve_Worker_14_Day_0: x_14_0_n + x_14_1_e <= 1
No_Night_to_Eve_Worker_14_Day_1: x_14_1_n + x_14_2_e <= 1
No_Night_to_Eve_Worker_14_Day_2: x_14_2_n + x_14_3_e <= 1
No_Night_to_Eve_Worker_14_Day_3: x_14_3_n + x_14_4_e <= 1
No_Night_to_Eve_Worker_14_Day_4: x_14_4_n + x_14_5_e <= 1
No_Night_to_Eve_Worker_14_Day_5: x_14_5_n + x_14_6_e <= 1
No_Night_to_Eve_Worker_14_Day_6: x_14_0_e + x_14_6_n <= 1
No_Night_to_Eve_Worker_15_Day_0: x_15_0_n + x_15_1_e <= 1
No_Night_to_Eve_Worker_15_Day_1: x_15_1_n + x_15_2_e <= 1
No_Night_to_Eve_Worker_15_Day_2: x_15_2_n + x_15_3_e <= 1
No_Night_to_Eve_Worker_15_Day_3: x_15_3_n + x_15_4_e <= 1
No_Night_to_Eve_Worker_15_Day_4: x_15_4_n + x_15_5_e <= 1
No_Night_to_Eve_Worker_15_Day_5: x_15_5_n + x_15_6_e <= 1
No_Night_to_Eve_Worker_15_Day_6: x_15_0_e + x_15_6_n <= 1
No_Night_to_Eve_Worker_1_Day_0: x_1_0_n + x_1_1_e <= 1
No_Night_to_Eve_Worker_1_Day_1: x_1_1_n + x_1_2_e <= 1
No_Night_to_Eve_Worker_1_Day_2: x_1_2_n + x_1_3_e <= 1
No_Night_to_Eve_Worker_1_Day_3: x_1_3_n + x_1_4_e <= 1
No_Night_to_Eve_Worker_1_Day_4: x_1_4_n + x_1_5_e <= 1
No_Night_to_Eve_Worker_1_Day_5: x_1_5_n + x_1_6_e <= 1
No_Night_to_Eve_Worker_1_Day_6: x_1_0_e + x_1_6_n <= 1
No_Night_to_Eve_Worker_2_Day_0: x_2_0_n + x_2_1_e <= 1
No_Night_to_Eve_Worker_2_Day_1: x_2_1_n + x_2_2_e <= 1
No_Night_to_Eve_Worker_2_Day_2: x_2_2_n + x_2_3_e <= 1
No_Night_to_Eve_Worker_2_Day_3: x_2_3_n + x_2_4_e <= 1
No_Night_to_Eve_Worker_2_Day_4: x_2_4_n + x_2_5_e <= 1
No_Night_to_Eve_Worker_2_Day_5: x_2_5_n + x_2_6_e <= 1
No_Night_to_Eve_Worker_2_Day_6: x_2_0_e + x_2_6_n <= 1
No_Night_to_Eve_Worker_3_Day_0: x_3_0_n + x_3_1_e <= 1
No_Night_to_Eve_Worker_3_Day_1: x_3_1_n + x_3_2_e <= 1
No_Night_to_Eve_Worker_3_Day_2: x_3_2_n + x_3_3_e <= 1
No_Night_to_Eve_Worker_3_Day_3: x_3_3_n + x_3_4_e <= 1
No_Night_to_Eve_Worker_3_Day_4: x_3_4_n + x_3_5_e <= 1
No_Night_to_Eve_Worker_3_Day_5: x_3_5_n + x_3_6_e <= 1
No_Night_to_Eve_Worker_3_Day_6: x_3_0_e + x_3_6_n <= 1
No_Night_to_Eve_Worker_4_Day_0: x_4_0_n + x_4_1_e <= 1
No_Night_to_Eve_Worker_4_Day_1: x_4_1_n + x_4_2_e <= 1
No_Night_to_Eve_Worker_4_Day_2: x_4_2_n + x_4_3_e <= 1
No_Night_to_Eve_Worker_4_Day_3: x_4_3_n + x_4_4_e <= 1
No_Night_to_Eve_Worker_4_Day_4: x_4_4_n + x_4_5_e <= 1
No_Night_to_Eve_Worker_4_Day_5: x_4_5_n + x_4_6_e <= 1
No_Night_to_Eve_Worker_4_Day_6: x_4_0_e + x_4_6_n <= 1
No_Night_to_Eve_Worker_5_Day_0: x_5_0_n + x_5_1_e <= 1
No_Night_to_Eve_Worker_5_Day_1: x_5_1_n + x_5_2_e <= 1
No_Night_to_Eve_Worker_5_Day_2: x_5_2_n + x_5_3_e <= 1
No_Night_to_Eve_Worker_5_Day_3: x_5_3_n + x_5_4_e <= 1
No_Night_to_Eve_Worker_5_Day_4: x_5_4_n + x_5_5_e <= 1
No_Night_to_Eve_Worker_5_Day_5: x_5_5_n + x_5_6_e <= 1
No_Night_to_Eve_Worker_5_Day_6: x_5_0_e + x_5_6_n <= 1
No_Night_to_Eve_Worker_6_Day_0: x_6_0_n + x_6_1_e <= 1
No_Night_to_Eve_Worker_6_Day_1: x_6_1_n + x_6_2_e <= 1
No_Night_to_Eve_Worker_6_Day_2: x_6_2_n + x_6_3_e <= 1
No_Night_to_Eve_Worker_6_Day_3: x_6_3_n + x_6_4_e <= 1
No_Night_to_Eve_Worker_6_Day_4: x_6_4_n + x_6_5_e <= 1
No_Night_to_Eve_Worker_6_Day_5: x_6_5_n + x_6_6_e <= 1
No_Night_to_Eve_Worker_6_Day_6: x_6_0_e + x_6_6_n <= 1
No_Night_to_Eve_Worker_7_Day_0: x_7_0_n + x_7_1_e <= 1
No_Night_to_Eve_Worker_7_Day_1: x_7_1_n + x_7_2_e <= 1
No_Night_to_Eve_Worker_7_Day_2: x_7_2_n + x_7_3_e <= 1
No_Night_to_Eve_Worker_7_Day_3: x_7_3_n + x_7_4_e <= 1
No_Night_to_Eve_Worker_7_Day_4: x_7_4_n + x_7_5_e <= 1
No_Night_to_Eve_Worker_7_Day_5: x_7_5_n + x_7_6_e <= 1
No_Night_to_Eve_Worker_7_Day_6: x_7_0_e + x_7_6_n <= 1
No_Night_to_Eve_Worker_8_Day_0: x_8_0_n + x_8_1_e <= 1
No_Night_to_Eve_Worker_8_Day_1: x_8_1_n + x_8_2_e <= 1
No_Night_to_Eve_Worker_8_Day_2: x_8_2_n + x_8_3_e <= 1
No_Night_to_Eve_Worker_8_Day_3: x_8_3_n + x_8_4_e <= 1
No_Night_to_Eve_Worker_8_Day_4: x_8_4_n + x_8_5_e <= 1
No_Night_to_Eve_Worker_8_Day_5: x_8_5_n + x_8_6_e <= 1
No_Night_to_Eve_Worker_8_Day_6: x_8_0_e + x_8_6_n <= 1
No_Night_to_Eve_Worker_9_Day_0: x_9_0_n + x_9_1_e <= 1
No_Night_to_Eve_Worker_9_Day_1: x_9_1_n + x_9_2_e <= 1
No_Night_to_Eve_Worker_9_Day_2: x_9_2_n + x_9_3_e <= 1
No_Night_to_Eve_Worker_9_Day_3: x_9_3_n + x_9_4_e <= 1
No_Night_to_Eve_Worker_9_Day_4: x_9_4_n + x_9_5_e <= 1
No_Night_to_Eve_Worker_9_Day_5: x_9_5_n + x_9_6_e <= 1
No_Night_to_Eve_Worker_9_Day_6: x_9_0_e + x_9_6_n <= 1
Req_People_Day_0_Shift_d: x_0_0_d + x_10_0_d + x_11_0_d + x_12_0_d + x_13_0_d
+ x_14_0_d + x_15_0_d + x_1_0_d + x_2_0_d + x_3_0_d + x_4_0_d + x_5_0_d
+ x_6_0_d + x_7_0_d + x_8_0_d + x_9_0_d = 4
Req_People_Day_0_Shift_e: x_0_0_e + x_10_0_e + x_11_0_e + x_12_0_e + x_13_0_e
+ x_14_0_e + x_15_0_e + x_1_0_e + x_2_0_e + x_3_0_e + x_4_0_e + x_5_0_e
+ x_6_0_e + x_7_0_e + x_8_0_e + x_9_0_e = 3
Req_People_Day_0_Shift_n: x_0_0_n + x_10_0_n + x_11_0_n + x_12_0_n + x_13_0_n
+ x_14_0_n + x_15_0_n + x_1_0_n + x_2_0_n + x_3_0_n + x_4_0_n + x_5_0_n
+ x_6_0_n + x_7_0_n + x_8_0_n + x_9_0_n = 2
Req_People_Day_1_Shift_d: x_0_1_d + x_10_1_d + x_11_1_d + x_12_1_d + x_13_1_d
+ x_14_1_d + x_15_1_d + x_1_1_d + x_2_1_d + x_3_1_d + x_4_1_d + x_5_1_d
+ x_6_1_d + x_7_1_d + x_8_1_d + x_9_1_d = 4
Req_People_Day_1_Shift_e: x_0_1_e + x_10_1_e + x_11_1_e + x_12_1_e + x_13_1_e
+ x_14_1_e + x_15_1_e + x_1_1_e + x_2_1_e + x_3_1_e + x_4_1_e + x_5_1_e
+ x_6_1_e + x_7_1_e + x_8_1_e + x_9_1_e = 3
Req_People_Day_1_Shift_n: x_0_1_n + x_10_1_n + x_11_1_n + x_12_1_n + x_13_1_n
+ x_14_1_n + x_15_1_n + x_1_1_n + x_2_1_n + x_3_1_n + x_4_1_n + x_5_1_n
+ x_6_1_n + x_7_1_n + x_8_1_n + x_9_1_n = 2
Req_People_Day_2_Shift_d: x_0_2_d + x_10_2_d + x_11_2_d + x_12_2_d + x_13_2_d
+ x_14_2_d + x_15_2_d + x_1_2_d + x_2_2_d + x_3_2_d + x_4_2_d + x_5_2_d
+ x_6_2_d + x_7_2_d + x_8_2_d + x_9_2_d = 4
Req_People_Day_2_Shift_e: x_0_2_e + x_10_2_e + x_11_2_e + x_12_2_e + x_13_2_e
+ x_14_2_e + x_15_2_e + x_1_2_e + x_2_2_e + x_3_2_e + x_4_2_e + x_5_2_e
+ x_6_2_e + x_7_2_e + x_8_2_e + x_9_2_e = 3
Req_People_Day_2_Shift_n: x_0_2_n + x_10_2_n + x_11_2_n + x_12_2_n + x_13_2_n
+ x_14_2_n + x_15_2_n + x_1_2_n + x_2_2_n + x_3_2_n + x_4_2_n + x_5_2_n
+ x_6_2_n + x_7_2_n + x_8_2_n + x_9_2_n = 2
Req_People_Day_3_Shift_d: x_0_3_d + x_10_3_d + x_11_3_d + x_12_3_d + x_13_3_d
+ x_14_3_d + x_15_3_d + x_1_3_d + x_2_3_d + x_3_3_d + x_4_3_d + x_5_3_d
+ x_6_3_d + x_7_3_d + x_8_3_d + x_9_3_d = 4
Req_People_Day_3_Shift_e: x_0_3_e + x_10_3_e + x_11_3_e + x_12_3_e + x_13_3_e
+ x_14_3_e + x_15_3_e + x_1_3_e + x_2_3_e + x_3_3_e + x_4_3_e + x_5_3_e
+ x_6_3_e + x_7_3_e + x_8_3_e + x_9_3_e = 3
Req_People_Day_3_Shift_n: x_0_3_n + x_10_3_n + x_11_3_n + x_12_3_n + x_13_3_n
+ x_14_3_n + x_15_3_n + x_1_3_n + x_2_3_n + x_3_3_n + x_4_3_n + x_5_3_n
+ x_6_3_n + x_7_3_n + x_8_3_n + x_9_3_n = 2
Req_People_Day_4_Shift_d: x_0_4_d + x_10_4_d + x_11_4_d + x_12_4_d + x_13_4_d
+ x_14_4_d + x_15_4_d + x_1_4_d + x_2_4_d + x_3_4_d + x_4_4_d + x_5_4_d
+ x_6_4_d + x_7_4_d + x_8_4_d + x_9_4_d = 4
Req_People_Day_4_Shift_e: x_0_4_e + x_10_4_e + x_11_4_e + x_12_4_e + x_13_4_e
+ x_14_4_e + x_15_4_e + x_1_4_e + x_2_4_e + x_3_4_e + x_4_4_e + x_5_4_e
+ x_6_4_e + x_7_4_e + x_8_4_e + x_9_4_e = 3
Req_People_Day_4_Shift_n: x_0_4_n + x_10_4_n + x_11_4_n + x_12_4_n + x_13_4_n
+ x_14_4_n + x_15_4_n + x_1_4_n + x_2_4_n + x_3_4_n + x_4_4_n + x_5_4_n
+ x_6_4_n + x_7_4_n + x_8_4_n + x_9_4_n = 2
Req_People_Day_5_Shift_d: x_0_5_d + x_10_5_d + x_11_5_d + x_12_5_d + x_13_5_d
+ x_14_5_d + x_15_5_d + x_1_5_d + x_2_5_d + x_3_5_d + x_4_5_d + x_5_5_d
+ x_6_5_d + x_7_5_d + x_8_5_d + x_9_5_d = 4
Req_People_Day_5_Shift_e: x_0_5_e + x_10_5_e + x_11_5_e + x_12_5_e + x_13_5_e
+ x_14_5_e + x_15_5_e + x_1_5_e + x_2_5_e + x_3_5_e + x_4_5_e + x_5_5_e
+ x_6_5_e + x_7_5_e + x_8_5_e + x_9_5_e = 3
Req_People_Day_5_Shift_n: x_0_5_n + x_10_5_n + x_11_5_n + x_12_5_n + x_13_5_n
+ x_14_5_n + x_15_5_n + x_1_5_n + x_2_5_n + x_3_5_n + x_4_5_n + x_5_5_n
+ x_6_5_n + x_7_5_n + x_8_5_n + x_9_5_n = 2
Req_People_Day_6_Shift_d: x_0_6_d + x_10_6_d + x_11_6_d + x_12_6_d + x_13_6_d
+ x_14_6_d + x_15_6_d + x_1_6_d + x_2_6_d + x_3_6_d + x_4_6_d + x_5_6_d
+ x_6_6_d + x_7_6_d + x_8_6_d + x_9_6_d = 4
Req_People_Day_6_Shift_e: x_0_6_e + x_10_6_e + x_11_6_e + x_12_6_e + x_13_6_e
+ x_14_6_e + x_15_6_e + x_1_6_e + x_2_6_e + x_3_6_e + x_4_6_e + x_5_6_e
+ x_6_6_e + x_7_6_e + x_8_6_e + x_9_6_e = 3
Req_People_Day_6_Shift_n: x_0_6_n + x_10_6_n + x_11_6_n + x_12_6_n + x_13_6_n
+ x_14_6_n + x_15_6_n + x_1_6_n + x_2_6_n + x_3_6_n + x_4_6_n + x_5_6_n
+ x_6_6_n + x_7_6_n + x_8_6_n + x_9_6_n = 2
Binaries
x_0_0_d
x_0_0_e
x_0_0_n
x_0_1_d
x_0_1_e
x_0_1_n
x_0_2_d
x_0_2_e
x_0_2_n
x_0_3_d
x_0_3_e
x_0_3_n
x_0_4_d
x_0_4_e
x_0_4_n
x_0_5_d
x_0_5_e
x_0_5_n
x_0_6_d
x_0_6_e
x_0_6_n
x_10_0_d
x_10_0_e
x_10_0_n
x_10_1_d
x_10_1_e
x_10_1_n
x_10_2_d
x_10_2_e
x_10_2_n
x_10_3_d
x_10_3_e
x_10_3_n
x_10_4_d
x_10_4_e
x_10_4_n
x_10_5_d
x_10_5_e
x_10_5_n
x_10_6_d
x_10_6_e
x_10_6_n
x_11_0_d
x_11_0_e
x_11_0_n
x_11_1_d
x_11_1_e
x_11_1_n
x_11_2_d
x_11_2_e
x_11_2_n
x_11_3_d
x_11_3_e
x_11_3_n
x_11_4_d
x_11_4_e
x_11_4_n
x_11_5_d
x_11_5_e
x_11_5_n
x_11_6_d
x_11_6_e
x_11_6_n
x_12_0_d
x_12_0_e
x_12_0_n
x_12_1_d
x_12_1_e
x_12_1_n
x_12_2_d
x_12_2_e
x_12_2_n
x_12_3_d
x_12_3_e
x_12_3_n
x_12_4_d
x_12_4_e
x_12_4_n
x_12_5_d
x_12_5_e
x_12_5_n
x_12_6_d
x_12_6_e
x_12_6_n
x_13_0_d
x_13_0_e
x_13_0_n
x_13_1_d
x_13_1_e
x_13_1_n
x_13_2_d
x_13_2_e
x_13_2_n
x_13_3_d
x_13_3_e
x_13_3_n
x_13_4_d
x_13_4_e
x_13_4_n
x_13_5_d
x_13_5_e
x_13_5_n
x_13_6_d
x_13_6_e
x_13_6_n
x_14_0_d
x_14_0_e
x_14_0_n
x_14_1_d
x_14_1_e
x_14_1_n
x_14_2_d
x_14_2_e
x_14_2_n
x_14_3_d
x_14_3_e
x_14_3_n
x_14_4_d
x_14_4_e
x_14_4_n
x_14_5_d
x_14_5_e
x_14_5_n
x_14_6_d
x_14_6_e
x_14_6_n
x_15_0_d
x_15_0_e
x_15_0_n
x_15_1_d
x_15_1_e
x_15_1_n
x_15_2_d
x_15_2_e
x_15_2_n
x_15_3_d
x_15_3_e
x_15_3_n
x_15_4_d
x_15_4_e
x_15_4_n
x_15_5_d
x_15_5_e
x_15_5_n
x_15_6_d
x_15_6_e
x_15_6_n
x_1_0_d
x_1_0_e
x_1_0_n
x_1_1_d
x_1_1_e
x_1_1_n
x_1_2_d
x_1_2_e
x_1_2_n
x_1_3_d
x_1_3_e
x_1_3_n
x_1_4_d
x_1_4_e
x_1_4_n
x_1_5_d
x_1_5_e
x_1_5_n
x_1_6_d
x_1_6_e
x_1_6_n
x_2_0_d
x_2_0_e
x_2_0_n
x_2_1_d
x_2_1_e
x_2_1_n
x_2_2_d
x_2_2_e
x_2_2_n
x_2_3_d
x_2_3_e
x_2_3_n
x_2_4_d
x_2_4_e
x_2_4_n
x_2_5_d
x_2_5_e
x_2_5_n
x_2_6_d
x_2_6_e
x_2_6_n
x_3_0_d
x_3_0_e
x_3_0_n
x_3_1_d
x_3_1_e
x_3_1_n
x_3_2_d
x_3_2_e
x_3_2_n
x_3_3_d
x_3_3_e
x_3_3_n
x_3_4_d
x_3_4_e
x_3_4_n
x_3_5_d
x_3_5_e
x_3_5_n
x_3_6_d
x_3_6_e
x_3_6_n
x_4_0_d
x_4_0_e
x_4_0_n
x_4_1_d
x_4_1_e
x_4_1_n
x_4_2_d
x_4_2_e
x_4_2_n
x_4_3_d
x_4_3_e
x_4_3_n
x_4_4_d
x_4_4_e
x_4_4_n
x_4_5_d
x_4_5_e
x_4_5_n
x_4_6_d
x_4_6_e
x_4_6_n
x_5_0_d
x_5_0_e
x_5_0_n
x_5_1_d
x_5_1_e
x_5_1_n
x_5_2_d
x_5_2_e
x_5_2_n
x_5_3_d
x_5_3_e
x_5_3_n
x_5_4_d
x_5_4_e
x_5_4_n
x_5_5_d
x_5_5_e
x_5_5_n
x_5_6_d
x_5_6_e
x_5_6_n
x_6_0_d
x_6_0_e
x_6_0_n
x_6_1_d
x_6_1_e
x_6_1_n
x_6_2_d
x_6_2_e
x_6_2_n
x_6_3_d
x_6_3_e
x_6_3_n
x_6_4_d
x_6_4_e
x_6_4_n
x_6_5_d
x_6_5_e
x_6_5_n
x_6_6_d
x_6_6_e
x_6_6_n
x_7_0_d
x_7_0_e
x_7_0_n
x_7_1_d
x_7_1_e
x_7_1_n
x_7_2_d
x_7_2_e
x_7_2_n
x_7_3_d
x_7_3_e
x_7_3_n
x_7_4_d
x_7_4_e
x_7_4_n
x_7_5_d
x_7_5_e
x_7_5_n
x_7_6_d
x_7_6_e
x_7_6_n
x_8_0_d
x_8_0_e
x_8_0_n
x_8_1_d
x_8_1_e
x_8_1_n
x_8_2_d
x_8_2_e
x_8_2_n
x_8_3_d
x_8_3_e
x_8_3_n
x_8_4_d
x_8_4_e
x_8_4_n
x_8_5_d
x_8_5_e
x_8_5_n
x_8_6_d
x_8_6_e
x_8_6_n
x_9_0_d
x_9_0_e
x_9_0_n
x_9_1_d
x_9_1_e
x_9_1_n
x_9_2_d
x_9_2_e
x_9_2_n
x_9_3_d
x_9_3_e
x_9_3_n
x_9_4_d
x_9_4_e
x_9_4_n
x_9_5_d
x_9_5_e
x_9_5_n
x_9_6_d
x_9_6_e
x_9_6_n
End
pulpでlpファイルを生成したいときは
prob.writeLP("shift_scheduling_pulp.lp")を追加します。こちらも引数はファイル名です。pulpの場合はpyscipoptと違って変数の数や制約の数などは教えてくれていないですね。ただこちらも制約の名前とともにどんな制約になっているかを教えてくれるのでデバッグには十分使えそうです。
pyscipoptの時と同じようにReq_People_Day_1_Shift_dの制約を見てみましょう。
Req_People_Day_1_Shift_d: x_0_1_d + x_10_1_d + x_11_1_d + x_12_1_d + x_13_1_d
+ x_14_1_d + x_15_1_d + x_1_1_d + x_2_1_d + x_3_1_d + x_4_1_d + x_5_1_d
+ x_6_1_d + x_7_1_d + x_8_1_d + x_9_1_d = 4ということでちゃんと正しい制約になっていることが分かりますね。
pyscipoptの場合はインデックスの順番に変数が並んでたのが、pulpの場合は順番がインデックス順じゃないのでちょっと見づらいですね。
(おまけ)制約には名前を設定しておこう!
pulpやpyscipoptなどのモデリング言語は制約に名前を設定することができます。別に設定しなくても最適化は実行できるんですが、名前を設定しておくとデバッグが楽になります。
例えば下記のように制約に名前を付けてlpファイル出力してみます。例えばpyscipoptでは.addconsの引数にname = "○○"を追加することで制約名を設定できます。
from pyscipopt import Model
# 1. モデルの定義
model = Model("Optimization")
# 2. 変数の定義
x = model.addVar("x", lb=0, vtype="B")
y = model.addVar("y", lb=0, vtype="B")
# 3. 目的関数の設定
model.setObjective(100 * x + 150 * y, "maximize")
# 4. 制約条件の追加
model.addCons(x + y <= 10, name = "Simple Sum Constraint")
model.addCons(100 * x + 120 * y <= 1000, name = "Weighted Sum Constraint")
model.addCons(x >= 2, name = "x-Lower Bound Constraint")
# 5. LPファイルの出力
model.writeProblem("sample_scip.lp")
print("PySCIPOpt: LP file has been generated!")
制約条件を見ると、Simple Sum Constraint、Weighted Sum Constraint、x-Lower Bound Constraintと制約名とともに制約式が表示されています。
つづいて制約名を設定せずにlpファイルを作成してみます。
from pyscipopt import Model
# 1. モデルの定義
model = Model("Optimization")
# 2. 変数の定義
x = model.addVar("x", lb=0, vtype="B")
y = model.addVar("y", lb=0, vtype="B")
# 3. 目的関数の設定
model.setObjective(100 * x + 150 * y, "maximize")
# 4. 制約条件の追加
model.addCons(x + y <= 10)
model.addCons(100 * x + 120 * y <= 1000)
model.addCons(x >= 2)
# 5. LPファイルの出力
model.writeProblem("fruit_scip.lp")
print("PySCIPOpt: LP file has been generated!")
制約条件を見るとc1、c2、c3という表示形式になっていますね。これは制約名を設定していないためです。これだとpythonで表現した制約がlpファイル中のどの制約なのかがよく分からず、デバッグに非常に時間がかかってしまいます。
このような状況を防ぐために制約には名前を書いておきましょう。
おわりに
今回は数理最適化を実行するときにlpファイルを作成するとデバッグがしやすいという話をしました。
今後もこのような数理最適化に関する記事を書いていきます!
最後までこの記事を読んでくれてありがとうございました。
普段は組合せ最適化の記事を書いてたりします。
ぜひ他の記事も読んでみてください!
このブログの簡単な紹介はこちらに書いてあります。
興味があったら見てみてください。
このブログでは経営工学を勉強している現役理系大学生が、経営工学に関することを色々話していきます!
ぼくが経営工学を勉強している中で感じたことや、興味深かったことを皆さんと共有出来たら良いなと思っています。
そもそも経営工学とは何なのでしょうか。Wikipediaによると
経営工学(けいえいこうがく、英: engineering management)は、人・材料・装置・情報・エネルギーを総合したシステムの設計・改善・確立に関する活動である。そのシステムから得られる結果を明示し、予測し、評価するために、工学的な分析・設計の原理・方法とともに、数学、物理および社会科学の専門知識と経験を利用する。
引用元 : 経営工学 – Wikipedia
長々と書いてありますが、要は経営、経済の課題を理系的な観点から解決する学問です。
