Problem description: KathHochWS9596.ozt

Source File

problem(
         professors:
            profs(
                   'Teacher1': inDays([monday tuesday wednesday])
                   'Teacher2'   : nil
                   'Teacher3'  : inDays([monday tuesday wednesday])
                   'Teacher4': weekInterval(11#00#16#15)
                   'Teacher5'  : inDays([monday tuesday wednesday])
                   'Teacher6'    : nil
                   'Teacher7'  : noT(inDays([monday]))
                   'Teacher8'  : fix(monday#8#15)
                   'Teacher9'   : nil
                   'Teacher10'     : inDays([monday tuesday])
                   'Teacher11': nil
                   'Teacher12' : oR(dayInterval(monday   # 8#00#12#00)
                                   dayInterval(tuesday  # 8#00#12#00)
                                   dayInterval(wednesday#13#00#16#15))
                   'Teacher13' : nil
                   'Teacher14'    : noT(inDays([monday wednesday]))
                   'Teacher15': inDays([monday tuesday wednesday])
                   'Teacher16'     : nil
                   'Teacher17' : nil
                   'Teacher18'    : nil
                   'Teacher19': weekInterval(12#45#16#15)
                   'Teacher20': nil
                   'Teacher21'        : nil
                   'Teacher22'        : nil
                   'Teacher23': nil
                   'Teacher24'        : nil
                   'Teacher25'        : nil
                   'Teacher26'        : nil
                   'Teacher27': nil
                   'Teacher28'        : nil
                   'Teacher29': nil
                   'Teacher30'        : nil
                   'Teacher31'        : nil
                   'Teacher32'        : nil
                   'Teacher33'        : nil
                   'Teacher34': nil
                 )
 
         lectures:
            lectures(second:
                        semester( vm:
                                     [
                                       l(name:'2.1' dur:6 size:big  
                                         professor:'Teacher1')
                                       l(name:'2.2' dur:6 size:other
                                         professor:'Teacher2')
                                       l(name:'2.3' dur:6 size:other
                                         professor:'Teacher3')
                                     ]
                                  v4:
                                     [
                                       l(name:'2.4.1' dur: 6 size:small
                                         professor:'Teacher1')
                                       l(name:'2.4.2' dur: 6 size:small
                                         professor:'Teacher4')
                                     ]
                                  v5:
                                     [
                                       l(name:'2.5.1' dur: 6 size:small
                                         professor:'Teacher5')
                                       l(name:'2.5.2' dur: 6 size:small
                                         professor:'Teacher3')
                                     ]
                                  v6:
                                     [
                                       l(name:'2.6' dur: 3 size:big
                                         professor:'Teacher6' 
                                         constraints: fix(friday#8#15))
                                     ]
                                  v7:
                                     [
                                       l(name:'2.7' dur: 3 size:big
                                        constraints: fix(thursday#10#15)
                                         professor:'Teacher7')
                                     ]
                                  v8:
                                     [
                                       l(name:'2.8.1' dur: 6 size:small
                                         professor:'Teacher7')
                                       l(name:'2.8.2' dur: 6 size:small
                                         professor:'Teacher7')
                                     ]
                                  v9:
                                     [
                                       l(name:'2.9' dur: 6 size:big
                                         professor:'Teacher8')
                                     ]
                                  v10:
                                     [
                                       l(name:'2.10.1' dur: 3 size:big
                                         professor:'Teacher9')
                                       l(name:'2.10.2' dur: 3 size:other
                                         professor:'Teacher10')
                                       l(name:'2.10.3' dur: 3 size:other
                                         professor:'Teacher11')
                                     ]  
                                  v13:
                                     [
                                       l(name:'2.13.1' dur: 6 size:small
                                         professor:'Teacher12')
                                       l(name:'2.13.2' dur: 6 size:small
                                         professor:'Teacher13')
                                     ]
                                  v14:
                                     [
                                       l(name:'2.14.1' dur: 6 size:tiny
                                         professor:'Teacher14')
                                       l(name:'2.14.2' dur: 6 size:tiny
                                         professor:'Teacher14')
                                     ]
                                  v15:
                                     [
                                       l(name:'2.15.1' dur: 6 size:tiny
                                         professor:'Teacher10')
                                       l(name:'2.15.2' dur: 6 size:tiny
                                         professor:'Teacher5')
                                       l(name:'2.15.3' dur: 6 size:tiny
                                         professor:'Teacher2')
                                       l(name:'2.15.4' dur: 6 size:tiny
                                         professor:'Teacher3')
                                     ]
                                )
                     fourth:
                        semester( v1:             
                                     [
                                       l(name:'4.1' dur: 6 size: big
                                         professor:'Teacher5')
                                     ]
                                  v2:
                                     [
                                       l(name:'4.2.1' dur: 6 size: small
                                         professor:'Teacher15')
                                       l(name:'4.2.2' dur: 6 size: small
                                         professor:'Teacher15')
                                     ]
                                  v3:
                                     [
                                       l(name:'4.3.1' dur: 3 size: small
                                         professor:'Teacher1')
                                       l(name:'4.3.2' dur: 3 size: small
                                         professor:'Teacher1')
                                     ]
                                  v4:
                                     [
                                       l(name:'4.4.1' dur: 6 size: small
                                         professor:'Teacher16')
                                       l(name:'4.4.2' dur: 6 size: small
                                         professor:'Teacher3')
                                     ]
                                  v5:
                                     [
                                       l(name:'4.5.1' dur: 6 size: small
                                         professor:'Teacher7')
                                       l(name:'4.5.2' dur: 6 size: small
                                         professor:'Teacher7')
                                     ]
                                  v6:
                                     [
                                       l(name:'4.6' dur: 3 size: big
                                         professor:'Teacher7')
                                     ]
                                  v7:
                                     [
                                       l(name:'4.7.1' dur: 6 size: small
                                         professor:'Teacher17')
                                       l(name:'4.7.2' dur: 6 size: small
                                         professor:'Teacher17')
                                     ]
                                  v8:
                                     [
                                       l(name:'4.8.1' dur: 6 size: tiny
                                         professor:'Teacher18')
                                       l(name:'4.8.2' dur: 6 size: tiny
                                         professor:'Teacher2')
                                       l(name:'4.8.3' dur: 6 size: tiny
                                         professor:'Teacher19')
                                       l(name:'4.8.4' dur: 6 size: tiny
                                         professor:'Teacher11')
                                     ]
                                  v10:
                                     [
                                       l(name:'4.10.1' dur: 6 size: small
                                         professor:'Teacher1')
                                       l(name:'4.10.2' dur: 6 size: small
                                         professor:'Teacher1')
                                     ]
                                  v11:
                                     [
                                       l(name:'4.11' dur: 6 size: small
                                         professor:'Teacher20')
                                     ]
                                  v12:
                                     [
                                       l(name:'4.12.1' dur: 6 size: small
                                         professor:'Teacher14')
                                       l(name:'4.12.2' dur: 6 size: small
                                         professor:'Teacher14')
                                     ]
                                )
                     sixth:
                        semester(
                                  v2:
                                     [
                                       l(name:'6.2.1' dur: 6 size: small
                                         professor:'Teacher16' 
                                         constraints:
                                            dayInterval(wednesday#13#00#14#00))
                                       l(name:'6.2.2' dur: 6 size: small
                                         professor:'Teacher2' 
                                         constraints:
                                            dayInterval(wednesday#13#00#14#00))
                                       l(name:'6.2.3' dur: 6 size: small
                                         professor:'Teacher26')
                                     ]
                                  v5:
                                     [
                                       l(name:'6.5' dur: 6 size: small
                                         professor:'Teacher21')
                                     ]
                                  v6:
                                     [
                                       l(name:'6.6' dur: 6 size: small
                                         professor:'Teacher7')
                                     ]
                                )
                     eighth:
                        semester(
                                  v1:
                                     [
                                       l(name:'8.1' dur: 6 size: big
                                         professor:'Teacher1')
                                     ]
                                  v2:
                                     [
                                       l(name:'8.2' dur: 6 size: small
                                         professor:'Teacher7')
                                     ]
                                  v3:
                                     [
                                       l(name:'8.3' dur: 6 size: small
                                         professor:'Teacher3')
                                     ]
                                  v4:
                                     [
                                       l(name:'8.4' dur: 6 size: small
                                         professor:'Teacher17')
                                     ]
                                  v5:
                                     [
                                       l(name:'8.5' dur: 6 size: small
                                         professor:'Teacher23')
                                     ]
                                  v6:
                                     [
                                       l(name:'8.6' dur: 3 size: small
                                         professor:'Teacher22')
                                     ]
                                  v7:
                                     % l(name:'8.7.1' dur: 6 size: small
                                     %   professor:'Hamm')
                                  [
                                    l(name:'8.7.2' dur: 6 size: tiny
                                      professor:'Teacher2')
                                  ]
                                  v8:
                                     [
                                       l(name:'8.8' dur: 6 size: small
                                         professor:'Teacher24')
                                     ]
                                  v9:
                                     [
                                       l(name:'8.9' dur: 6 size: big
                                         professor:'Teacher28')
                                     ]
                                  v10:
                                     [
                                       l(name:'8.10' dur: 6 size: small
                                         professor:'Teacher14')
                                     ]
                                  v11:
                                     [
                                       l(name:'8.11.1' dur: 3 size: tiny
                                         professor:'Teacher11' 
                                         constraints:fix(tuesday#8#15))
                                       l(name:'8.11.2' dur: 3 size: other
                                         professor:'Teacher2' 
                                        constraints:fix(tuesday#8#15))
                                     ]
                                  v12:
                                     [
                                       l(name:'8.12.1' dur: 6 size: tiny
                                         professor:'Teacher2' 
                                         constraints:fix(tuesday#9#15))
                                       l(name:'8.12.2' dur: 6 size: other
                                         professor:'Teacher11' 
                                         constraints:fix(tuesday#9#15))
                                     ]
                                  v13:
                                     [
                                       l(name:'8.13.1' dur: 6 size: tiny
                                         professor:'Teacher6')
                                       l(name:'8.13.2' dur: 6 size: tiny
                                         professor:'Teacher2' 
                                         constraints:fix(tuesday#11#15))
                                       l(name:'8.13.3' dur: 6 size: other
                                         professor:'Teacher11' 
                                         constraints:fix(tuesday#11#15))
                                     ]
                                  v14:
                                     [
                                       l(name:'8.14.1' dur: 3 size: tiny
                                         professor:'Teacher9')
                                       l(name:'8.14.2' dur: 3 size: tiny
                                         professor:'Teacher27' 
                                         constraints:fix(tuesday#8#15))
                                       l(name:'8.14.3' dur: 3 size: other
                                         professor:'Teacher29' 
                                         constraints:fix(tuesday#8#15))
                                     ]
                                  v15:
                                     [
                                       l(name:'8.15.1' dur: 6 size: tiny
                                         professor:'Teacher9' 
                                         constraints:fix(tuesday#9#15))
                                       l(name:'8.15.2' dur: 6 size: other
                                         professor:'Teacher27' 
                                         constraints:fix(tuesday#9#15))
                                     ]
                                  v16:
                                     [
                                       l(name:'8.16.1' dur: 6 size: tiny
                                         professor:'Teacher9' 
                                         constraints:fix(tuesday#11#15))
                                       l(name:'8.16.2' dur: 6 size: other
                                         professor:'Teacher27' 
                                         constraints:fix(tuesday#11#15))
                                       l(name:'8.16.3' dur: 6 size: tiny
                                         professor:'Teacher29')
                                     ]
                                  v17:
                                     [
                                       l(name:'8.17.1' dur: 3 size: small
                                         professor:'Teacher7')
                                       l(name:'8.17.2' dur: 3 size: small
                                         professor:'Teacher5' 
                                         constraints:fix(tuesday#8#15))
                                       l(name:'8.17.3' dur: 3 size: other
                                         professor:'Teacher3' 
                                         constraints:fix(tuesday#8#15))
                                     ]
                                  v18:
                                     [
                                       l(name:'8.18.1' dur: 6 size: small
                                         professor:'Teacher5' 
                                         constraints:fix(tuesday#9#15))
                                       l(name:'8.18.2' dur: 6 size: other
                                         professor:'Teacher3' 
                                         constraints:fix(tuesday#9#15))
                                     ]
                                  v19:
                                     [
                                       l(name:'8.19.1' dur: 6 size: small
                                         professor:'Teacher7')
                                       l(name:'8.19.2' dur: 6 size: other
                                         professor:'Teacher5' 
                                         constraints:fix(tuesday#11#15))
                                       l(name:'8.19.3' dur: 6 size: small
                                         professor:'Teacher3' 
                                         constraints:fix(tuesday#11#15))
                                     ]
                                )
                     medien:
                        lectures(
                                  v1:
                                     [
                                       l(name:'M.1' dur: 3 size: other
                                         professor:'Teacher30' 
                                         constraints:fix(tuesday#14#00))
                                     ]
                                  v8:
                                     [
                                       l(name:'M.8' dur: 3 size: other
                                         professor:'Teacher31' 
                                         constraints:fix(thursday#16#00))
                                     ]
                                )
                     fac:
                        lectures(
                                  v1:
                                     [
                                       l(name:'F.1' dur: 3 size: small
                                         professor:'Teacher5' 
                                         constraints:fix(monday#16#00))
                                     ]
                                  v2:
                                     [
                                       l(name:'F.2.1' dur: 6 size: small
                                         professor:'Teacher32')
                                       l(name:'F.2.2' dur: 6 size: small
                                         professor:'Teacher32')
                                     ]
                                  v3:
                                     [
                                       l(name:'F.3' dur: 6 size: small
                                         professor:'Teacher12')
                                     ]
                                  v4:
                                     [
                                       l(name:'F.4' dur: 6 size: small
                                         professor:'Teacher12')
                                     ]
                                  %% Gitarre is during lunch: omitted here
                                  v6:
                                     [
                                       l(name:'F.6' dur: 6 size: small
                                         professor:'Teacher9')
                                     ]
                                  %% Erlebnis during weekend :-}
                                  v10:
                                     [
                                       l(name:'F.10' dur: 6 size: other
                                         professor:'Teacher25')
                                     ]
                                )
))  


Version 1.4.0 (20080702)