ࡱ> Root Entry*0_^0TI?ContentsEmbedding 1PswI?PswI?Embedding 2vwI?vwI? Root Entry*0_^OLI?ContentsEmbedding 1PswI?PswI?Embedding 2vwI?vwI?  {\rtf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Courier New;}} {\colortbl ;\red0\green0\blue255;\red0\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs20 model\cf2 : \par \cf1 Title\cf2 School timetabling; \par \cf1 sets\cf2 : \par professores / 1..6 /:; \par turmas /1..3/:; \par horarios /1..25/:; \par matrizpxt(professores, turmas):ch; \par matrizpxtxh(professores, turmas, horarios):x; \par matrizhxtxp(horarios, turmas, professores):y; \par \cf1 endsets\cf2 \ {\rtf1\ansi\ansicpg1252\deff0\deflang1046{\fonttbl{\f0\fnil\fcharset0 Courier New;}} {\colortbl ;\red0\green0\blue255;\red0\green0\blue0;\red255\green0\blue0;} \viewkind4\uc1\pard\cf1\f0\fs20 model\cf2 : \par \cf1 Title\cf2 School timetabling; \par \cf1 sets\cf2 : \par professores / 1..6 /:; \par turmas /1..3/:; \par horarios /1..25/:; \par matrizpxt(professores, turmas):ch; \par matrizpxtxh(professores, turmas, horarios):x; \par matrizhxtxp(horarios, turmas, professores):y; \parpar \par \cf1 data\cf2 : \par ch = 4 4 4 \par 3 3 3 \par 5 5 5 \par 6 6 6 \par 2 2 2 \par 5 5 5; \par \cf1 enddata\cf2 \par \par \cf1 @for\cf2 (professores(i): \par \cf1 @for\cf2 (horarios(k): \par \cf1 @sum\cf2 (turmas(j): x(i,j,k)) <= 1)); \par \par \cf1 @for\cf2 (turmas(j): \par \cf1 @for\cf2 (horarios(k): \par \cf1 @sum\cf2 (professores(i): x(i,j,k)) <= 1)); \par \par \cf1 @for\cf2 (professores(i): \par \cf1 @for\cf \cf1 endsets\cf2 \par \par \cf1 data\cf2 : \par ch = 4 4 4 \par 3 3 3 \par 5 5 5 \par 6 6 6 \par 2 2 2 \par 5 5 5; \par \cf1 enddata\cf2 \par \par \cf1 @for\cf2 (professores(i): \par \cf1 @for\cf2 (horarios(k): \par \cf1 @sum\cf2 (turmas(j): x(i,j,k)) <= 1)); \par \par \cf1 @for\cf2 (turmas(j): \par \cf1 @for\cf2 (horarios(k): \par \cf1 @sum\cf2 (professores(i): x(i,j,k)) <= 1)); \par \par \cf1 @for\cf2 (professores(i): 2 (turmas(j): \par \cf1 @sum\cf2 (horarios(k): x(i,j,k)) = ch(i,j))); \par \par \cf1 @for\cf2 (professores(i): \par \cf1 @for\cf2 (turmas(j): \par \cf1 @sum\cf2 (horarios(k) | k #le# 5: x(i,j,k)) <= 2; \par \cf1 @sum\cf2 (horarios(k) | k #ge# 6 #and# k #le# 10: x(i,j,k)) <= 2; \par \cf1 @sum\cf2 (horarios(k) | k #ge# 11 #and# k #le# 15: x(i,j,k)) <= 2; \par \cf1 @sum\cf2 (horarios(k) | k #ge# 16 #and# k #le# 20: x(i,j,k)) <= 2; \par \\par \cf1 @for\cf2 (turmas(j): \par \cf1 @sum\cf2 (horarios(k): x(i,j,k)) = ch(i,j))); \par \par \cf1 @for\cf2 (professores(i): \par \cf1 @for\cf2 (turmas(j): \par \cf1 @sum\cf2 (horarios(k) | k #le# 5: x(i,j,k)) <= 2; \par \cf1 @sum\cf2 (horarios(k) | k #ge# 6 #and# k #le# 10: x(i,j,k)) <= 2; \par \cf1 @sum\cf2 (horarios(k) | k #ge# 11 #and# k #le# 15: x(i,j,k)) <= 2; \par \cf1 @sum\cf2 (horarios(k) | k #ge# 16 #and# k #le# 20: x(i,j,k))cf1 @sum\cf2 (horarios(k) | k #ge# 21 : x(i,j,k)) <= 2; \par )); \par \par \cf1 @for\cf2 (matrizpxtxh(i,j,k): \cf1 @bin\cf2 (x(i,j,k))); \par \par \cf1 @for\cf2 (matrizpxtxh(i,j,k): y(k,j,i)=x(i,j,k)); \par \par \par \cf1 data\cf2 : \par \cf1 @ole\cf2 ('SchoolTimetabling.xls','solucao')=x; \par \cf1 @ole\cf2 ('SchoolTimetabling.xls','resposta')=y; \par \cf1 enddata\cf2 \par \par \cf1 end\cf2 \par } ndsets\cf2 \par \par \cf1 data\cf2 : \par ch = 4 4 4 \par