Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
Yorick van Pelt | fb03d1a3ba | |
Yorick van Pelt | 17731a1032 | |
Sjors Gielen | d5b1309ef5 | |
Sjors Gielen | ffcc39ae20 | |
Margot Sauter | ca54fd636d | |
Margot Sauter | 8ff6ffa559 |
|
@ -0,0 +1,3 @@
|
|||
__pycache__
|
||||
data
|
||||
output
|
133
config.yaml
133
config.yaml
|
@ -4,102 +4,107 @@ config:
|
|||
likes: 1
|
||||
hates: 3
|
||||
# TODO: load_dev
|
||||
ignore: []
|
||||
ignore: [-]
|
||||
task_re: "[ ,/]+"
|
||||
tasks:
|
||||
hotemetoten:
|
||||
personen: [MrNGm, Pepper, Joost, Annelies]
|
||||
personen: [lynn, Sjors, Peter]
|
||||
workload: 4
|
||||
req: [1, 1, 1]
|
||||
hardcode:
|
||||
- MrNGm
|
||||
# - Pepper
|
||||
- Joost
|
||||
- Annelies
|
||||
- lynn
|
||||
- Sjors
|
||||
- Peter
|
||||
lookup: [hotemetoten]
|
||||
superkok:
|
||||
req: [1, 1, 1]
|
||||
personen: [lynn, pepper, Wassasin]
|
||||
personen: [Loki, Bas, PP]
|
||||
workload: 4
|
||||
lookup: [superkok]
|
||||
hardcode:
|
||||
- Pepper
|
||||
- Wassasin
|
||||
- lynn
|
||||
drankmanagen:
|
||||
req: [1, 1, 1]
|
||||
personen: [MacGyver]
|
||||
workload: 1
|
||||
lookup: [drankmanagen]
|
||||
- Loki
|
||||
- Bas
|
||||
- PP
|
||||
snijden:
|
||||
req: [4, 2, 3]
|
||||
workload: 2
|
||||
personen: iedereen
|
||||
lookup: [snijden]
|
||||
koken:
|
||||
req: [2, 3, 2]
|
||||
req: [2, 0, 3]
|
||||
workload: 3
|
||||
personen: liefhebbers
|
||||
lookup: [koken, kookhulp, hulpkoken]
|
||||
baskoken:
|
||||
req: [0, 2, 0]
|
||||
workload: 3
|
||||
personen: liefhebbers
|
||||
lookup: [baskoken]
|
||||
afwassen:
|
||||
req: [3, 6, 6]
|
||||
workload: 2
|
||||
personen: iedereen
|
||||
lookup: [afwassen]
|
||||
schoonmaken:
|
||||
req: [3, 4, 4]
|
||||
req: [2, 4, 4]
|
||||
workload: 2
|
||||
personen: iedereen
|
||||
lookup: [schoonmaken]
|
||||
snackdealen:
|
||||
req: [4, 5, 5]
|
||||
req: [2, 4, 4]
|
||||
workload: 1
|
||||
personen: iedereen
|
||||
lookup: [hapjes, snackdealen]
|
||||
fotograferen:
|
||||
req: [2, 2, 2]
|
||||
workload: 1
|
||||
req: [2, 3, 3]
|
||||
workload: 2
|
||||
personen: liefhebbers
|
||||
lookup: [fotograferen]
|
||||
afwassen:
|
||||
req: [4, 4, 4]
|
||||
workload: 2
|
||||
personen: iedereen
|
||||
lookup: [afwassen]
|
||||
snijpieten:
|
||||
req: [3, 4, 4]
|
||||
workload: 2
|
||||
personen: iedereen
|
||||
lookup: [snijden]
|
||||
pendelen:
|
||||
req: [2, 1, 2]
|
||||
req: [1, 1, 1]
|
||||
workload: 2
|
||||
personen: liefhebbers
|
||||
lookup: [pendelen]
|
||||
people:
|
||||
- Pepper
|
||||
- Joost
|
||||
- MrNGm
|
||||
- Annelies
|
||||
- Wassasin
|
||||
- lynn
|
||||
- Roflincopter
|
||||
- lucus
|
||||
- Weasel
|
||||
- ElizaAntoine
|
||||
- Lyra
|
||||
- MacGyver
|
||||
- Abel
|
||||
- SyntaxTerror
|
||||
- carrot
|
||||
- Blondie
|
||||
- Bwesterb
|
||||
- M-ou-se
|
||||
- PaxSum
|
||||
- Petervdv
|
||||
- Margot
|
||||
- Daan
|
||||
- Laurens
|
||||
- yorick
|
||||
- Minnozz
|
||||
# dusk en syntaxterror ontbreken ivm. overspannen
|
||||
- Peter
|
||||
- Sjors
|
||||
- Quis
|
||||
- lynn
|
||||
- Dennis
|
||||
- yorick
|
||||
- Nova
|
||||
- Marlon
|
||||
- Aaron
|
||||
- AlphaCentauri
|
||||
- BOBMarlie
|
||||
- Martijn
|
||||
- Colin
|
||||
- lucus
|
||||
- Lyra
|
||||
- carrot
|
||||
- Annelies
|
||||
- Minnozz
|
||||
- Quis
|
||||
- Loki
|
||||
- Anita
|
||||
- MacGyver
|
||||
- PP
|
||||
- Mieksies
|
||||
- Harm
|
||||
- PaxSum
|
||||
- Hanne
|
||||
- Abel
|
||||
- Tanja
|
||||
- Wassasin
|
||||
- Blu
|
||||
- Hannah
|
||||
- Marlon
|
||||
- Joost
|
||||
- mrngm
|
||||
- Weasel
|
||||
- Pepper
|
||||
- Rian
|
||||
- avel
|
||||
- Bas
|
||||
- Blondie
|
||||
- Margot
|
||||
- Mike
|
||||
- Yana
|
||||
- Merel
|
||||
- Sigi
|
||||
- Carrie
|
||||
- Marion
|
||||
- John
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#! /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 yaml
|
||||
import re
|
||||
import subprocess
|
||||
from collections import OrderedDict
|
||||
import glpm
|
||||
conf = yaml.load(open('config.yaml', 'r'))
|
||||
conf = yaml.safe_load(open('config.yaml', 'r'))
|
||||
config = conf['config']
|
||||
config['ignore'].append('')
|
||||
tasks = OrderedDict(conf['tasks'])
|
||||
|
|
|
@ -18,7 +18,6 @@ set D := 1..D_count;
|
|||
/* aanwezigheid x workload for that day */
|
||||
param Costs{p in P}, integer, >= 0;
|
||||
|
||||
|
||||
/* Person p likes to solve jobs j */
|
||||
param L{p in P, j in J} default 0, binary;
|
||||
|
||||
|
@ -49,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 */
|
||||
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 */
|
||||
#s.t. min_load_person{p in P}: sum{j in J, d in D} A[p,j,d] >= min_load[p];
|
||||
/* 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] >= 1;
|
||||
|
||||
/* 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;
|
||||
|
||||
|
|
61
prefs_table
61
prefs_table
|
@ -1,31 +1,30 @@
|
|||
Pepper koken, snijden fotograferen, snackdealen
|
||||
Joost afwassen, koken, snijden fotograferen, snackdealen
|
||||
Annelies afwassen, fotograferen, pendelen koken, snijden, snackdealen
|
||||
Laurens pendelen, koken, snijden schoonmaken
|
||||
Weasel fotograferen, koken, snijden snackdealen, schoonmaken
|
||||
Martijn koken, snijden schoonmaken, afwassen
|
||||
PaxSum koken, snijden, afwassen fotograferen, snackdealen
|
||||
petervdv snackdealen, pendelen koken, afwassen, schoonmaken, fotograferen
|
||||
Lyra fotograferen, afwassen, snijden pendelen
|
||||
Nova pendelen, koken, snijden fotograferen, schoonmaken, snackdealen
|
||||
ElizaAntoine afwassen, schoonmaken, fotograferen koken, snijden, snackdealen, pendelen
|
||||
SyntaxTerror fotograferen, snijden, afwassen koken, snackdealen, pendelen
|
||||
AlphaCentauri snackdealen, schoonmaken, afwassen koken, pendelen, snijden
|
||||
Daan pendelen, fotograferen afwassen, schoonmaken
|
||||
Lucus koken, snijden, afwassen fotograferen, schoonmaken
|
||||
Abel fotograferen, snijden, afwassen schoonmaken, koken
|
||||
yorick snijden, afwassen fotograferen, schoonmaken
|
||||
bwesterb snijden, koken afwassen, schoonmaken, snackdealen
|
||||
Quis snijden, koken, snackdealen schoonmaken
|
||||
Minnozz snijden, koken schoonmaken, snackdealen, afwassen
|
||||
Margot snijden, koken, afwassen schoonmaken, snackdealen, fotograferen
|
||||
lynn fotograferen
|
||||
Colin Afwassen, schoonmaken, snackdealen koken, snijden
|
||||
Sjors Pendelen, schoonmaken, snackdealen koken, snijden
|
||||
Blondie fotograferen, afwassen, snackdealen schoonmaken, snijden
|
||||
Roflincopter schoonmaken, snijden, afwassen snackdealen, fotograferen
|
||||
BOBMarlie fotograferen, koken, snijden afwassen, schoonmaken, snackdealen
|
||||
Aaron fotograferen, afwassen, snijden koken, schoonmaken, snackdealen, pendelen
|
||||
Wassasin koken, snijden, snackdealen fotograferen
|
||||
carrot pendelen, schoonmaken, koken fotograferen, snackdealen
|
||||
M-ou-se snijden, snackdealen afwassen, schoonmaken, fotograferen
|
||||
Quis snijden, koken, snackdealen schoonmaken, baskoken, fotograferen
|
||||
Annelies afwassen, fotograferen snackdealen
|
||||
MacGyver koken, afwassen fotograferen, snijden, baskoken, schoonmaken
|
||||
Joost snijden, koken schoonmaken, snackdealen, fotograferen, baskoken
|
||||
Anita afwassen
|
||||
Dennis schoonmaken, afwassen koken, baskoken, snackdealen
|
||||
bas koken, snijden, pendelen schoonmaken
|
||||
lucus snijden, koken, baskoken schoonmaken
|
||||
Tanja snijden, koken, afwassen, schoonmaken fotograferen
|
||||
Lyra schoonmaken, afwassen koken, baskoken
|
||||
PaxSum snijden, koken, baskoken schoonmaken, afwassen, snackdealen
|
||||
Merel snackdealen, schoonmaken
|
||||
Abel snijden, afwassen, schoonmaken baskoken
|
||||
Weasel fotograferen, snijden baskoken, snackdealen, schoonmaken
|
||||
Minnozz fotograferen, snijden afwassen, schoonmaken
|
||||
Yorick snijden, koken schoonmaken
|
||||
Harm pendelen, fotograferen schoonmaken, snackdealen
|
||||
Mieksies schoonmaken, snackdealen koken, baskoken, fotograferen
|
||||
avel snackdealen fotograferen, koken, schoonmaken, afwassen, pendelen, baskoken
|
||||
Carrie snackdealen, pendelen, snijden schoonmaken, afwassen, pendelen, koken, baskoken
|
||||
carrot snijden, koken, baskoken schoonmaken
|
||||
MrNGm pendelen, snijden, afwassen, schoonmaken snackdealen
|
||||
Nova pendelen, koken, snijden schoonmaken, afwassen, snackdealen
|
||||
Hanne schoonmaken, snijden snackdealen, afwassen, pendelen
|
||||
Mike snijden, snackdealen, koken schoonmaken
|
||||
Marion snijden, koken schoonmaken, fotograferen, snackdealen
|
||||
Blondie fotograferen, snijden, afwassen snackdealen, baskoken, schoonmaken, pendelen
|
||||
Blu afwassen, snijden, koken, pendelen schoonmaken, baskoken, fotograferen
|
||||
John afwassen, snijden pendelen, fotograferen
|
||||
Margot afwassen, schoonmaken baskoken, koken, pendelen, fotograferen
|
||||
|
|
Loading…
Reference in New Issue