Compare commits

..

7 Commits
W15 ... master

Author SHA1 Message Date
Margot Sauter
d329748b89 Weekend 19 2024-11-10 19:28:37 +01:00
fb03d1a3ba
Update nix-shell line 2024-01-06 20:20:14 +01:00
17731a1032
Add "each person has at least 1 task" constraint 2024-01-06 20:19:46 +01:00
Sjors Gielen
d5b1309ef5 Gitignore 2023-12-31 17:33:22 +01:00
Sjors Gielen
ffcc39ae20 Weekend 18 2023-12-31 17:33:02 +01:00
Margot Sauter
ca54fd636d Weekend 16 2023-03-08 09:50:13 +01:00
Margot Sauter
8ff6ffa559 W15 2022-11-24 20:39:57 +01:00
5 changed files with 68 additions and 59 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
__pycache__
data
output

View File

@ -4,34 +4,34 @@ config:
likes: 1 likes: 1
hates: 3 hates: 3
# TODO: load_dev # TODO: load_dev
ignore: [] ignore: [-]
task_re: "[ ,/]+" task_re: "[ ,/]+"
tasks: tasks:
hotemetoten: hotemetoten:
personen: [Lyra, mrngm, Quis] personen: [Lyra, mrngm, Pepper]
workload: 4 workload: 4
req: [1, 1, 1] req: [1, 1, 1]
hardcode: hardcode:
- Lyra - Lyra
- mrngm - mrngm
- Quis - Pepper
lookup: [hotemetoten] lookup: [hotemetoten]
superkok: superkok:
req: [1, 1, 1] req: [1, 1, 1]
personen: [MacGyver, Loki, Pepper] personen: [MacGyver, Annelies, Mieksies]
workload: 4 workload: 4
lookup: [superkok] lookup: [superkok]
hardcode: hardcode:
- MacGyver - MacGyver
- Loki - Annelies
- Pepper - Mieksies
snijden: snijden:
req: [2, 5, 3] req: [2, 3, 3]
workload: 2 workload: 2
personen: iedereen personen: iedereen
lookup: [snijden] lookup: [snijden]
koken: koken:
req: [2, 3, 2] req: [3, 3, 3]
workload: 3 workload: 3
personen: liefhebbers personen: liefhebbers
lookup: [koken, kookhulp, hulpkoken] lookup: [koken, kookhulp, hulpkoken]
@ -52,7 +52,7 @@ tasks:
lookup: [hapjes, snackdealen] lookup: [hapjes, snackdealen]
fotograferen: fotograferen:
req: [2, 3, 3] req: [2, 3, 3]
workload: 1 workload: 2
personen: liefhebbers personen: liefhebbers
lookup: [fotograferen] lookup: [fotograferen]
pendelen: pendelen:
@ -61,39 +61,42 @@ tasks:
personen: liefhebbers personen: liefhebbers
lookup: [pendelen] lookup: [pendelen]
people: people:
- Lyra
- mrngm
- Quis
- MacGyver
- Loki
- Pepper
- Abel - Abel
- Alexandra - Anita
- Annelies - Annelies
- Annemiek: # niet op zondag - Blondie
dagen: [0,1]
- avel
- Ayke
- blu
- carrot - carrot
- eliza - Dusk
- Farnaz - Eliza
- Harm - Harm
- John
- Joost - Joost
- Leonie - Leonie
- lynn
- Loki
- lucus - lucus
- Lyra
- Maaike
- Mabl
- MacGyver
- mapzie
- Margot - Margot
- Marley - Marion
- Marlon - Marlon
- Mieksies
- Minnozz - Minnozz
- MrNGm
- Nova - Nova
- PaxSum - PaxSum
- Pepper
- petervdv - petervdv
- phedny - Quis
- PP
- Rian - Rian
- Roflincopter
- Sjors - Sjors
- SyntaxTerror - SyntaxTerror
- Tanja - Tanja
- Thom - Thom
- yorick - Wassasin
- Weasel
- Yorick

View File

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell #! /usr/bin/env nix-shell
#!nix-shell -i python3 -p python python3Packages.pyyaml glpk #!nix-shell -i python3 -p python3 python3Packages.pyyaml glpk -I nixpkgs=flake:nixpkgs
import sys import sys
import yaml import yaml
import re import re

View File

@ -48,11 +48,11 @@ s.t. hardcode{p in P, j in J, d in D}: A[p,j,d] >= Q[p,j,d];
/* A person only has one task per day, at most */ /* A person only has one task per day, at most */
s.t. max_load_person{p in P, d in D}: sum{j in J} A[p,j,d] <= max_load[p,d]; 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 has at least D-1 tasks */ /* A person has at least 1 task */
#s.t. min_load_person{p in P}: sum{j in J, d in D} A[p,j,d] >= min_load[p]; s.t. min_load_person{p in P}: sum{j in J, d in D} A[p,j,d] >= 1;
/* 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; s.t. max_load_person_total{p in P}: (sum{d in D, j in J} A[p,j,d] * Wl[j]) <= ML;

View File

@ -1,28 +1,31 @@
Abel fotograferen, afwassen, snijden pendelen, koken Abel - pendelen
Alexandra snijden, snackdealen afwassen, schoonmaken Anita schoonmaken, afwassen fotograferen, pendelen
Annelies afwassen, fotograferen snackdealen carrot koken, snijden -
Annemiek schoonmaken, koken pendelen, afwassen Dusk pendelen, snijden, koken afwassen, schoonmaken
avel snackdealen snijden, koken, afwassen Eliza schoonmaken, koken, snijden snackdealen, pendelen, afwassen
blu snijden, snackdealen, pendelen afwassen, schoonmaken Harm pendelen, fotograferen snackdealen, schoonmaken
carrot koken, snijden fotograferen, schoonmaken Joost snijden fotograferen, pendelen, schoonmaken, snackdealen
eliza snijden, afwassen koken, snackdealen, pendelen Leonie koken, snijden, pendelen snackdealen, fotograferen
Farnaz snijden, koken, snackdealen pendelen, afwassen, fotograferen Loki snijden, koken, snackdealen afwassen, schoonmaken
Harm fotograferen, pendelen, afwassen schoonmaken, snackdealen lucus koken, snijden schoonmaken, snackdealen
Joost snijden fotograferen, pendelen, koken, afwassen, schoonmaken, koken lynn koken, snackdealen, schoonmaken afwassen, snijden, koken
Leonie snijden, pendelen, snackdealen fotograferen, schoonmaken Maaike snijden, koken, afwassen snackdealen, fotograferen, pendelen
lucus snijden, koken, afwassen schoonmaken Mabl snijden, schoonmaken fotograferen, pendelen, snackdealen
Margot snijden, afwassen, fotograferen koken, snackdealen, schoonmaken mapzie snackdealen snijden, koken, schoonmaken, afwassen
Marley snijden, afwassen fotograferen, snackdealen Margot snijden, koken, afwassen snackdealen, schoonmaken
Marlon snijden, koken, snackdealen afwassen, schoonmaken Marion snijden, koken, afwassen snackdealen, fotograferen, schoonmaken
Minnozz fotograferen, snijden koken, afwassen, schoonmaken, pendelen, snackdealen Marlon koken, snijden afwassen, schoonmaken
Nova koken, snijden, pendelen fotograferen, schoonmaken Minnozz fotograferen, snijden schoonmaken, afwassen
PaxSum koken, snijden schoonmaken, afwassen Nova pendelen, koken, snijden snackdealen, fotograferen, schoonmaken
petervdv snackdealen, pendelen koken, afwassen, fotograferen PaxSum snijden, koken, afwassen fotograferen, snackdealen
phedny snijden, snackdealen afwassen, schoonmaken petervdv snackdealen, pendelen -
PP koken, snijden pendelen, fotograferen, schoonmaken Quis snackdealen, koken, snijden fotograferen, schoonmaken
Rian snijden, afwassen, snackdealen fotograferen, pendelen Rian snijden, afwassen snackdealen, fotograferen, pendelen
Sjors snackdealen, pendelen schoonmaken Roflincopter schoonmaken, afwassen koken
SyntaxTerror fotograferen pendelen, koken, snackdealen Sjors pendelen, snackdealen koken, afwassen
Tanja snijden, afwassen, schoonmaken fotograferen, pendelen SyntaxTerror snijden, schoonmaken, afwassen snackdealen, pendelen
Thom koken, snijden, afwassen fotograferen, snackdealen Tanja snijden, koken, afwassen, schoonmaken fotograferen, pendelen
yorick koken, snijden, afwassen fotograferen Thom koken, afwassen, pendelen fotograferen, snackdealen
Wassasin snackdealen, koken, snijden afwassen, schoonmaken, fotograferen
Weasel fotograferen, snijden schoonmaken, snackdealen
Yorick koken, snijden, afwassen snackdealen, fotograferen