#!/usr/bin/python


from gurobipy import *


nStudents=120

nTutorials=3

nTeams=34

groups=[
[1,2,0],
[4,5,3],
[7,8,6],
[10,11,9],
[13,14,12],
[16,17,15],
[19,20,18],
[22,23,21],
[25,26,24],
[28,29,27],
[31,32,30],
[34,35,33],
[37,38,36],
[40,41,39],
[43,44,42],
[46,47,45],
[49,50,48],
[52,53,51],
[55,56,54],
[58,59,57],
[61,62,60],
[64,65,63],
[67,68,66],
[70,71,69],
[73,74,72],
[76,77,75],
[79,80,78],
[82,83,81],
[85,86,84],
[88,89,87],
[91,92,90],
[94,95,93],
[97,98,96],
[100,101,99] ]

preferences = [
[50, 25, 50],
[25, 50, 100],
[25, 25, 50],
[75, 25, 75],
[100, 100, 25],
[75, 100, 75],
[100, 50, 75],
[25, 0, 50],
[100, 75, 75],
[0, 25, 25],
[50, 75, 50],
[50, 75, 25],
[100, 0, 25],
[100, 75, 100],
[75, 50, 0],
[100, 25, 100],
[50, 50, 75],
[100, 50, 50],
[25, 50, 75],
[75, 100, 75],
[50, 100, 75],
[100, 75, 75],
[75, 75, 75],
[75, 25, 25],
[25, 75, 75],
[100, 75, 50],
[25, 25, 75],
[100, 25, 25],
[50, 0, 75],
[100, 25, 50],
[50, 50, 100],
[25, 25, 75],
[75, 75, 75],
[50, 50, 25],
[100, 50, 25],
[50, 0, 50],
[75, 50, 50],
[0, 25, 75],
[50, 0, 50],
[75, 75, 25],
[75, 50, 50],
[0, 0, 50],
[25, 50, 0],
[25, 100, 25],
[50, 75, 0],
[100, 25, 75],
[75, 25, 100],
[25, 75, 25],
[50, 100, 100],
[75, 50, 25],
[75, 50, 100],
[25, 50, 25],
[75, 25, 75],
[100, 50, 25],
[50, 25, 0],
[75, 25, 25],
[100, 75, 50],
[50, 100, 0],
[50, 25, 0],
[75, 100, 50],
[25, 100, 100],
[25, 100, 100],
[50, 50, 50],
[50, 75, 50],
[0, 100, 75],
[0, 0, 100],
[75, 75, 75],
[75, 50, 100],
[50, 50, 50],
[100, 50, 75],
[100, 75, 50],
[100, 50, 25],
[100, 75, 75],
[100, 50, 100],
[75, 75, 50],
[25, 75, 25],
[25, 75, 50],
[25, 75, 75],
[100, 25, 75],
[75, 100, 25],
[50, 50, 100],
[100, 25, 25],
[50, 100, 75],
[100, 75, 50],
[25, 50, 0],
[100, 75, 75],
[50, 25, 100],
[25, 25, 100],
[25, 100, 100],
[100, 100, 75],
[50, 75, 75],
[25, 50, 50],
[25, 0, 25],
[75, 25, 100],
[50, 75, 75],
[0, 50, 100],
[100, 100, 25],
[50, 75, 50],
[25, 100, 50],
[100, 25, 100],
[50, 50, 100],
[0, 25, 100],
[50, 25, 100],
[75, 50, 100],
[100, 25, 100],
[50, 25, 100],
[100, 75, 75],
[100, 75, 100],
[50, 50, 75],
[25, 100, 25],
[25, 100, 100],
[50, 100, 50],
[50, 25, 25],
[25, 25, 100],
[75, 100, 0],
[100, 25, 50],
[25, 75, 0],
[25, 25, 50],
[25, 50, 100],
[100, 100, 75] ]

l=[25,25,25]

u=[50,50,50]

import tutorialmodel
tutorialmodel.solve(nStudents, nTutorials, nTeams, groups, preferences, l, u)

e0790dab39aaec8c2b323f6389e9bcda477594d0
<mask token>

<mask token>
tutorialmodel.solve(nStudents, nTutorials, nTeams, groups, preferences, l, u)

<mask token>
nStudents = 120
nTutorials = 3
nTeams = 34
groups = [[1, 2, 0], [4, 5, 3], [7, 8, 6], [10, 11, 9], [13, 14, 12], [16, 
    17, 15], [19, 20, 18], [22, 23, 21], [25, 26, 24], [28, 29, 27], [31, 
    32, 30], [34, 35, 33], [37, 38, 36], [40, 41, 39], [43, 44, 42], [46, 
    47, 45], [49, 50, 48], [52, 53, 51], [55, 56, 54], [58, 59, 57], [61, 
    62, 60], [64, 65, 63], [67, 68, 66], [70, 71, 69], [73, 74, 72], [76, 
    77, 75], [79, 80, 78], [82, 83, 81], [85, 86, 84], [88, 89, 87], [91, 
    92, 90], [94, 95, 93], [97, 98, 96], [100, 101, 99]]
preferences = [[50, 25, 50], [25, 50, 100], [25, 25, 50], [75, 25, 75], [
    100, 100, 25], [75, 100, 75], [100, 50, 75], [25, 0, 50], [100, 75, 75],
    [0, 25, 25], [50, 75, 50], [50, 75, 25], [100, 0, 25], [100, 75, 100],
    [75, 50, 0], [100, 25, 100], [50, 50, 75], [100, 50, 50], [25, 50, 75],
    [75, 100, 75], [50, 100, 75], [100, 75, 75], [75, 75, 75], [75, 25, 25],
    [25, 75, 75], [100, 75, 50], [25, 25, 75], [100, 25, 25], [50, 0, 75],
    [100, 25, 50], [50, 50, 100], [25, 25, 75], [75, 75, 75], [50, 50, 25],
    [100, 50, 25], [50, 0, 50], [75, 50, 50], [0, 25, 75], [50, 0, 50], [75,
    75, 25], [75, 50, 50], [0, 0, 50], [25, 50, 0], [25, 100, 25], [50, 75,
    0], [100, 25, 75], [75, 25, 100], [25, 75, 25], [50, 100, 100], [75, 50,
    25], [75, 50, 100], [25, 50, 25], [75, 25, 75], [100, 50, 25], [50, 25,
    0], [75, 25, 25], [100, 75, 50], [50, 100, 0], [50, 25, 0], [75, 100, 
    50], [25, 100, 100], [25, 100, 100], [50, 50, 50], [50, 75, 50], [0, 
    100, 75], [0, 0, 100], [75, 75, 75], [75, 50, 100], [50, 50, 50], [100,
    50, 75], [100, 75, 50], [100, 50, 25], [100, 75, 75], [100, 50, 100], [
    75, 75, 50], [25, 75, 25], [25, 75, 50], [25, 75, 75], [100, 25, 75], [
    75, 100, 25], [50, 50, 100], [100, 25, 25], [50, 100, 75], [100, 75, 50
    ], [25, 50, 0], [100, 75, 75], [50, 25, 100], [25, 25, 100], [25, 100, 
    100], [100, 100, 75], [50, 75, 75], [25, 50, 50], [25, 0, 25], [75, 25,
    100], [50, 75, 75], [0, 50, 100], [100, 100, 25], [50, 75, 50], [25, 
    100, 50], [100, 25, 100], [50, 50, 100], [0, 25, 100], [50, 25, 100], [
    75, 50, 100], [100, 25, 100], [50, 25, 100], [100, 75, 75], [100, 75, 
    100], [50, 50, 75], [25, 100, 25], [25, 100, 100], [50, 100, 50], [50, 
    25, 25], [25, 25, 100], [75, 100, 0], [100, 25, 50], [25, 75, 0], [25, 
    25, 50], [25, 50, 100], [100, 100, 75]]
l = [25, 25, 25]
u = [50, 50, 50]
<mask token>
tutorialmodel.solve(nStudents, nTutorials, nTeams, groups, preferences, l, u)

from gurobipy import *
nStudents = 120
nTutorials = 3
nTeams = 34
groups = [[1, 2, 0], [4, 5, 3], [7, 8, 6], [10, 11, 9], [13, 14, 12], [16, 
    17, 15], [19, 20, 18], [22, 23, 21], [25, 26, 24], [28, 29, 27], [31, 
    32, 30], [34, 35, 33], [37, 38, 36], [40, 41, 39], [43, 44, 42], [46, 
    47, 45], [49, 50, 48], [52, 53, 51], [55, 56, 54], [58, 59, 57], [61, 
    62, 60], [64, 65, 63], [67, 68, 66], [70, 71, 69], [73, 74, 72], [76, 
    77, 75], [79, 80, 78], [82, 83, 81], [85, 86, 84], [88, 89, 87], [91, 
    92, 90], [94, 95, 93], [97, 98, 96], [100, 101, 99]]
preferences = [[50, 25, 50], [25, 50, 100], [25, 25, 50], [75, 25, 75], [
    100, 100, 25], [75, 100, 75], [100, 50, 75], [25, 0, 50], [100, 75, 75],
    [0, 25, 25], [50, 75, 50], [50, 75, 25], [100, 0, 25], [100, 75, 100],
    [75, 50, 0], [100, 25, 100], [50, 50, 75], [100, 50, 50], [25, 50, 75],
    [75, 100, 75], [50, 100, 75], [100, 75, 75], [75, 75, 75], [75, 25, 25],
    [25, 75, 75], [100, 75, 50], [25, 25, 75], [100, 25, 25], [50, 0, 75],
    [100, 25, 50], [50, 50, 100], [25, 25, 75], [75, 75, 75], [50, 50, 25],
    [100, 50, 25], [50, 0, 50], [75, 50, 50], [0, 25, 75], [50, 0, 50], [75,
    75, 25], [75, 50, 50], [0, 0, 50], [25, 50, 0], [25, 100, 25], [50, 75,
    0], [100, 25, 75], [75, 25, 100], [25, 75, 25], [50, 100, 100], [75, 50,
    25], [75, 50, 100], [25, 50, 25], [75, 25, 75], [100, 50, 25], [50, 25,
    0], [75, 25, 25], [100, 75, 50], [50, 100, 0], [50, 25, 0], [75, 100, 
    50], [25, 100, 100], [25, 100, 100], [50, 50, 50], [50, 75, 50], [0, 
    100, 75], [0, 0, 100], [75, 75, 75], [75, 50, 100], [50, 50, 50], [100,
    50, 75], [100, 75, 50], [100, 50, 25], [100, 75, 75], [100, 50, 100], [
    75, 75, 50], [25, 75, 25], [25, 75, 50], [25, 75, 75], [100, 25, 75], [
    75, 100, 25], [50, 50, 100], [100, 25, 25], [50, 100, 75], [100, 75, 50
    ], [25, 50, 0], [100, 75, 75], [50, 25, 100], [25, 25, 100], [25, 100, 
    100], [100, 100, 75], [50, 75, 75], [25, 50, 50], [25, 0, 25], [75, 25,
    100], [50, 75, 75], [0, 50, 100], [100, 100, 25], [50, 75, 50], [25, 
    100, 50], [100, 25, 100], [50, 50, 100], [0, 25, 100], [50, 25, 100], [
    75, 50, 100], [100, 25, 100], [50, 25, 100], [100, 75, 75], [100, 75, 
    100], [50, 50, 75], [25, 100, 25], [25, 100, 100], [50, 100, 50], [50, 
    25, 25], [25, 25, 100], [75, 100, 0], [100, 25, 50], [25, 75, 0], [25, 
    25, 50], [25, 50, 100], [100, 100, 75]]
l = [25, 25, 25]
u = [50, 50, 50]
import tutorialmodel
tutorialmodel.solve(nStudents, nTutorials, nTeams, groups, preferences, l, u)

#!/usr/bin/python


from gurobipy import *


nStudents=120

nTutorials=3

nTeams=34

groups=[
[1,2,0],
[4,5,3],
[7,8,6],
[10,11,9],
[13,14,12],
[16,17,15],
[19,20,18],
[22,23,21],
[25,26,24],
[28,29,27],
[31,32,30],
[34,35,33],
[37,38,36],
[40,41,39],
[43,44,42],
[46,47,45],
[49,50,48],
[52,53,51],
[55,56,54],
[58,59,57],
[61,62,60],
[64,65,63],
[67,68,66],
[70,71,69],
[73,74,72],
[76,77,75],
[79,80,78],
[82,83,81],
[85,86,84],
[88,89,87],
[91,92,90],
[94,95,93],
[97,98,96],
[100,101,99] ]

preferences = [
[50, 25, 50],
[25, 50, 100],
[25, 25, 50],
[75, 25, 75],
[100, 100, 25],
[75, 100, 75],
[100, 50, 75],
[25, 0, 50],
[100, 75, 75],
[0, 25, 25],
[50, 75, 50],
[50, 75, 25],
[100, 0, 25],
[100, 75, 100],
[75, 50, 0],
[100, 25, 100],
[50, 50, 75],
[100, 50, 50],
[25, 50, 75],
[75, 100, 75],
[50, 100, 75],
[100, 75, 75],
[75, 75, 75],
[75, 25, 25],
[25, 75, 75],
[100, 75, 50],
[25, 25, 75],
[100, 25, 25],
[50, 0, 75],
[100, 25, 50],
[50, 50, 100],
[25, 25, 75],
[75, 75, 75],
[50, 50, 25],
[100, 50, 25],
[50, 0, 50],
[75, 50, 50],
[0, 25, 75],
[50, 0, 50],
[75, 75, 25],
[75, 50, 50],
[0, 0, 50],
[25, 50, 0],
[25, 100, 25],
[50, 75, 0],
[100, 25, 75],
[75, 25, 100],
[25, 75, 25],
[50, 100, 100],
[75, 50, 25],
[75, 50, 100],
[25, 50, 25],
[75, 25, 75],
[100, 50, 25],
[50, 25, 0],
[75, 25, 25],
[100, 75, 50],
[50, 100, 0],
[50, 25, 0],
[75, 100, 50],
[25, 100, 100],
[25, 100, 100],
[50, 50, 50],
[50, 75, 50],
[0, 100, 75],
[0, 0, 100],
[75, 75, 75],
[75, 50, 100],
[50, 50, 50],
[100, 50, 75],
[100, 75, 50],
[100, 50, 25],
[100, 75, 75],
[100, 50, 100],
[75, 75, 50],
[25, 75, 25],
[25, 75, 50],
[25, 75, 75],
[100, 25, 75],
[75, 100, 25],
[50, 50, 100],
[100, 25, 25],
[50, 100, 75],
[100, 75, 50],
[25, 50, 0],
[100, 75, 75],
[50, 25, 100],
[25, 25, 100],
[25, 100, 100],
[100, 100, 75],
[50, 75, 75],
[25, 50, 50],
[25, 0, 25],
[75, 25, 100],
[50, 75, 75],
[0, 50, 100],
[100, 100, 25],
[50, 75, 50],
[25, 100, 50],
[100, 25, 100],
[50, 50, 100],
[0, 25, 100],
[50, 25, 100],
[75, 50, 100],
[100, 25, 100],
[50, 25, 100],
[100, 75, 75],
[100, 75, 100],
[50, 50, 75],
[25, 100, 25],
[25, 100, 100],
[50, 100, 50],
[50, 25, 25],
[25, 25, 100],
[75, 100, 0],
[100, 25, 50],
[25, 75, 0],
[25, 25, 50],
[25, 50, 100],
[100, 100, 75] ]

l=[25,25,25]

u=[50,50,50]

import tutorialmodel
tutorialmodel.solve(nStudents, nTutorials, nTeams, groups, preferences, l, u)
