max wl constraint, less cooks on thursday
This commit is contained in:
parent
6b72a56fc6
commit
fae35f1ebf
@ -33,7 +33,7 @@ tasks:
|
|||||||
workload: 1
|
workload: 1
|
||||||
lookup: [drankmanagen]
|
lookup: [drankmanagen]
|
||||||
koken:
|
koken:
|
||||||
req: [4, 2, 2, 2]
|
req: [3, 2, 2, 2]
|
||||||
workload: 3
|
workload: 3
|
||||||
personen: liefhebbers
|
personen: liefhebbers
|
||||||
lookup: [koken, kookhulp, hulpkoken]
|
lookup: [koken, kookhulp, hulpkoken]
|
||||||
@ -58,7 +58,7 @@ tasks:
|
|||||||
personen: iedereen
|
personen: iedereen
|
||||||
lookup: [afwassen]
|
lookup: [afwassen]
|
||||||
snijpieten:
|
snijpieten:
|
||||||
req: [5, 4, 4, 4]
|
req: [3, 4, 4, 4]
|
||||||
workload: 2
|
workload: 2
|
||||||
personen: iedereen
|
personen: iedereen
|
||||||
lookup: [snijden]
|
lookup: [snijden]
|
||||||
|
@ -139,6 +139,7 @@ def write_data(people, tasks, file=sys.stdout):
|
|||||||
print(glpm.param("D_count", config['days']), file=file)
|
print(glpm.param("D_count", config['days']), file=file)
|
||||||
print(glpm.param("P_count", len(people)), file=file)
|
print(glpm.param("P_count", len(people)), file=file)
|
||||||
print(glpm.param("J_count", len(tasks)), file=file)
|
print(glpm.param("J_count", len(tasks)), file=file)
|
||||||
|
print(glpm.param("ML", 6), file=file) # CHANGE THIS
|
||||||
print(glpm.param("WL", config['weights']['likes']), file=file)
|
print(glpm.param("WL", config['weights']['likes']), file=file)
|
||||||
print(glpm.param("WH", config['weights']['hates']), file=file)
|
print(glpm.param("WH", config['weights']['hates']), file=file)
|
||||||
def write_tasks(people, tasks, file=sys.stdout):
|
def write_tasks(people, tasks, file=sys.stdout):
|
||||||
|
@ -9,6 +9,7 @@ param D_count, integer, > 0;
|
|||||||
|
|
||||||
param WL, integer, > 0;
|
param WL, integer, > 0;
|
||||||
param WH, integer, > 0;
|
param WH, integer, > 0;
|
||||||
|
param ML, integer, > 0;
|
||||||
|
|
||||||
set P := 1..P_count;
|
set P := 1..P_count;
|
||||||
set J := 1..J_count;
|
set J := 1..J_count;
|
||||||
@ -54,6 +55,8 @@ s.t. max_load_person{p in P, d in D}: sum{j in J} A[p,j,d] <= max_load[p,d];
|
|||||||
/* A person does not perform the same job on all days */
|
/* A person does not perform the same job on all days */
|
||||||
/*s.t. duplicate_jobs{p in P, j in J}: sum{d in D} A[p,j,d] <= D_count-1;*/
|
/*s.t. duplicate_jobs{p in P, j in J}: sum{d in D} A[p,j,d] <= D_count-1;*/
|
||||||
|
|
||||||
|
s.t. max_load_person_total{p in P}: (sum{d in D, j in J} A[p,j,d] * Wl[j]) <= ML;
|
||||||
|
|
||||||
/* Each task is allocated */
|
/* Each task is allocated */
|
||||||
s.t. all_allocated{j in J, d in D}: sum{p in P} A[p,j,d] == R[d, j];
|
s.t. all_allocated{j in J, d in D}: sum{p in P} A[p,j,d] == R[d, j];
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
Lucus koken schoonmaken, fotograferen
|
Lucus koken schoonmaken, fotograferen
|
||||||
Wassasin koken fotograferen
|
Wassasin koken fotograferen
|
||||||
linda superkok, snackdealen koken, snijden, afwassen, schoonmaken, fotograferen
|
linda superkok koken, snijden, afwassen, schoonmaken, fotograferen
|
||||||
Nova koken, afwassen fotograferen, snackdealen
|
Nova koken, afwassen fotograferen, snackdealen
|
||||||
Obfusk koken, afwassen fotograferen, snackdealen, schoonmaken
|
Obfusk koken, afwassen fotograferen, snackdealen, schoonmaken
|
||||||
Daan fotograferen, koken schoonmaken
|
Daan fotograferen, koken schoonmaken
|
||||||
|
Loading…
Reference in New Issue
Block a user