% Real case instance UD8 of http://satt.diegm.uniud.it/projects/gbac/ % Downloaded from https://bitbucket.org/satt/gbacp-instances/raw/Imported/UD/ % and translated into a MiniZinc data-file. % Ing@UD aa05-06, second level n_periods = 6 ; n_courses = 208 ; n_curricula = 19 ; min_courses = 2 ; max_courses = 6 ; n_precedences = 149 ; n_undesirables = 120 ; w1 = 1; w2 = 1; course_load = [6, 6, 6, 6, 6, 5, 5, 6, 6, 6, 6, 16, 5, 6, 6, 6, 5, 5, 5, 6, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 7, 7, 5, 5, 7, 7, 7, 5, 5, 5, 6, 6, 6, 5, 7, 7, 5, 5, 7, 7, 6, 6, 7, 5, 5, 15, 5, 5, 5, 5, 5, 5, 5, 5, 5, 7, 5, 7, 7, 5, 5, 5, 7, 7, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 5, 6, 5, 6, 5, 5, 6, 6, 5, 15, 17, 5, 5, 7, 7, 5, 6, 5, 6, 5, 5, 6, 6, 16, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 6, 6, 2, 1, 1, 1, 1, 5, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 6, 16, 6, 7, 5] ; courses_of = [{35, 39, 40, 45, 46, 47, 48, 49, 53, 181, 61, 62, 67, 102, 103, 104, 105, 107, 108, 109, 111, 116, 124}, {35, 38, 39, 40, 45, 46, 47, 48, 49, 53, 58, 62, 64, 67, 102, 103, 104, 105, 107, 108, 109, 110, 116}, {16, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 48, 182, 183, 78, 97, 98, 102, 103, 106, 116, 118}, {138, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 182, 183, 99, 100, 101, 102, 103, 116, 118}, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 149, 23, 25, 163, 178, 204, 206, 112, 113}, {2, 8, 9, 10, 11, 14, 16, 17, 19, 20, 149, 21, 22, 23, 24, 26, 27, 28, 29, 30, 25, 31, 32, 33, 34, 163, 179, 205, 207, 112, 117}, {41, 176, 177, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 189, 60, 194, 201, 114, 121, 122, 123, 124, 125}, {176, 177, 49, 50, 52, 53, 54, 55, 56, 57, 60, 189, 61, 62, 64, 63, 194, 195, 200, 201, 202, 108, 114, 122, 123, 124}, {41, 176, 177, 49, 50, 51, 53, 54, 55, 56, 57, 60, 189, 65, 66, 67, 68, 195, 201, 208, 81, 114, 122, 124}, {180, 184, 185, 186, 187, 188, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 95, 96, 115, 119, 120}, {16, 17, 184, 185, 186, 187, 188, 196, 69, 70, 71, 72, 73, 77, 78, 79, 82, 84, 85, 86, 87, 88, 95, 96, 115, 119, 120}, {180, 184, 185, 186, 187, 188, 69, 70, 71, 72, 73, 76, 77, 78, 79, 89, 90, 91, 92, 93, 94, 95, 96, 115, 119, 120}, {129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 158, 159, 161, 162, 190, 191, 192, 193, 84, 88, 109}, {128, 129, 2, 142, 14, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 27, 156, 157, 158, 160, 162, 163, 109, 126}, {129, 2, 132, 5, 142, 14, 144, 145, 146, 150, 151, 153, 154, 27, 155, 156, 158, 157, 160, 33, 162, 163, 109, 126, 127}, {164, 165, 166, 167, 168, 169, 170, 171, 172, 198, 203, 175}, {164, 165, 166, 167, 168, 169, 170, 171, 172, 198, 203, 175}, {164, 165, 166, 167, 168, 169, 170, 171, 197, 173, 198, 203}, {164, 165, 166, 167, 168, 169, 170, 171, 197, 199, 174, 203}] ; precedes = array2d(precedences,1..2, [6, 33, 6, 206, 6, 207, 7, 33, 7, 206, 7, 207, 10, 11, 16, 17, 20, 33, 20, 206, 20, 207, 24, 33, 24, 206, 24, 207, 25, 33, 25, 206, 25, 207, 26, 33, 26, 206, 26, 207, 28, 33, 28, 206, 28, 207, 31, 149, 35, 48, 35, 64, 36, 48, 36, 64, 16, 48, 16, 64, 43, 48, 43, 64, 49, 59, 49, 64, 49, 65, 49, 123, 49, 41, 50, 59, 50, 64, 50, 65, 50, 123, 50, 41, 51, 59, 51, 64, 51, 65, 51, 123, 51, 41, 52, 59, 52, 64, 52, 108, 52, 65, 52, 123, 52, 41, 53, 58, 61, 59, 61, 63, 61, 64, 61, 65, 61, 123, 61, 41, 66, 68, 96, 69, 102, 48, 102, 64, 104, 105, 104, 183, 107, 48, 107, 64, 108, 48, 108, 64, 49, 48, 110, 48, 110, 64, 118, 48, 118, 108, 118, 64, 122, 59, 126, 5, 128, 152, 130, 126, 130, 84, 130, 144, 130, 5, 130, 157, 132, 127, 135, 134, 136, 126, 136, 84, 136, 144, 136, 5, 136, 157, 137, 126, 137, 84, 137, 144, 137, 5, 137, 157, 145, 146, 149, 126, 149, 84, 149, 144, 149, 5, 149, 157, 163, 126, 163, 84, 163, 144, 163, 2, 163, 5, 163, 157, 14, 126, 14, 84, 14, 144, 14, 5, 14, 157, 150, 126, 150, 84, 150, 144, 150, 5, 150, 157, 151, 154, 153, 156, 157, 155, 158, 126, 158, 84, 158, 144, 158, 5, 158, 157, 163, 33, 163, 206, 163, 207, 166, 203, 176, 177, 182, 105, 182, 183, 189, 59, 189, 64, 189, 65, 189, 123, 189, 41, 190, 126, 190, 84, 190, 144, 190, 5, 190, 157, 192, 126, 192, 84, 192, 144, 192, 5, 192, 157, 204, 15] ); undesirable = array2d(undesirables,1..2, [4, 1, 4, 4, 14, 1, 14, 4, 15, 3, 15, 6, 22, 1, 22, 4, 27, 1, 27, 4, 29, 3, 29, 6, 30, 2, 30, 5, 31, 3, 31, 6, 33, 2, 33, 5, 36, 3, 36, 6, 40, 1, 40, 4, 40, 2, 40, 5, 48, 3, 48, 6, 50, 3, 50, 6, 56, 2, 56, 5, 58, 2, 58, 5, 59, 2, 59, 5, 60, 3, 60, 6, 61, 3, 61, 6, 70, 3, 70, 6, 73, 3, 73, 6, 76, 2, 76, 5, 79, 3, 79, 6, 83, 3, 83, 6, 84, 3, 84, 6, 92, 3, 92, 6, 93, 1, 93, 4, 96, 1, 96, 4, 100, 2, 100, 5, 101, 1, 101, 4, 103, 3, 103, 6, 104, 3, 104, 6, 107, 3, 107, 6, 110, 1, 110, 4, 110, 3, 110, 6, 111, 1, 111, 4, 116, 2, 116, 5, 128, 1, 128, 4, 129, 1, 129, 4, 133, 2, 133, 5, 133, 3, 133, 6, 134, 2, 134, 5, 137, 3, 137, 6, 143, 2, 143, 5, 143, 3, 143, 6, 144, 1, 144, 4, 163, 3, 163, 6, 164, 1, 164, 4, 169, 3, 169, 6, 173, 1, 173, 4, 175, 2, 175, 5, 186, 2, 186, 5, 188, 3, 188, 6, 190, 1, 190, 4, 194, 3, 194, 6, 198, 3, 198, 6, 199, 2, 199, 5, 199, 3, 199, 6, 205, 3, 205, 6, 208, 1, 208, 4] ); % {'c824': 154, 'c543': 97, 'c825': 155, 'c433': 20, 'c417': 6, 'c527': 84, 'c546': 99, 'c415': 4, 'c993': 181, 'c501': 65, 'c1063': 198, 'c1002': 185, 'c478': 53, 'c833': 160, 'c794': 131, 'c456': 40, 'c1068': 201, 'c427': 14, 'c834': 161, 'c462': 45, 'c1057': 196, 'c454': 38, 'c512': 72, 'c820': 150, 'c1055': 195, 'c422': 10, 'c1046': 192, 'c441': 27, 'c1021': 190, 'c457': 41, 'c429': 16, 'c852': 169, 'c738': 123, 'c516': 76, 'c513': 73, 'c847': 167, 'c502': 66, 'c426': 13, 'c830': 158, 'c534': 89, 'c450': 35, 'c538': 93, 'c745': 124, 'c871': 175, 'c461': 44, 'c442': 28, 'c853': 170, 'c458': 42, 'c474': 49, 'c476': 51, 'c855': 171, 'c525': 82, 'c541': 96, 'c1047': 193, 'c793': 130, 'c411': 2, 'c465': 48, 'c533': 88, 'c599': 107, 'c475': 50, 'c484': 55, 'c437': 23, 'c1079': 205, 'c932': 178, 'c495': 61, 'c816': 149, 'c856': 172, 'c846': 166, 'c561': 103, 'c730': 121, 'c449': 34, 'c607': 111, 'c430': 17, 'c566': 105, 'c438': 24, 'c790': 128, 'c507': 69, 'c455': 39, 'c718': 117, 'c789': 127, 'c536': 91, 'c443': 29, 'c835': 162, 'c845': 165, 'c445': 31, 'c1001': 184, 'c747': 125, 'c724': 119, 'c600': 108, 'c869': 174, 'c598': 106, 'c826': 156, 'c489': 58, 'c812': 145, 'c412': 3, 'c670': 113, 'c796': 133, 'c866': 173, 'c540': 95, 'c463': 46, 'c814': 147, 'c440': 26, 'c409': 1, 'c464': 47, 'c800': 136, 'c423': 11, 'c850': 168, 'c806': 140, 'c804': 139, 'c997': 183, 'c840': 164, 'c996': 182, 'c431': 18, 'c1074': 204, 'c460': 43, 'c1067': 200, 'c531': 86, 'c797': 134, 'c606': 110, 'c788': 126, 'c421': 9, 'c487': 57, 'c498': 64, 'c564': 104, 'c922': 177, 'c444': 30, 'c416': 5, 'c1014': 189, 'c503': 67, 'c1094': 208, 'c801': 137, 'c535': 90, 'c808': 142, 'c676': 114, 'c725': 120, 'c1053': 194, 'c530': 85, 'c491': 59, 'c479': 54, 'c537': 92, 'c1003': 186, 'c1082': 207, 'c836': 163, 'c477': 52, 'c795': 132, 'c496': 62, 'c936': 180, 'c544': 98, 'c737': 122, 'c1071': 202, 'c828': 157, 'c494': 60, 'c716': 116, 'c506': 68, 'c446': 32, 'c511': 71, 'c1066': 199, 'c524': 81, 'c497': 63, 'c1005': 188, 'c532': 87, 'c523': 80, 'c791': 129, 'c831': 159, 'c419': 7, 'c554': 101, 'c425': 12, 'c807': 141, 'c435': 21, 'c436': 22, 'c447': 33, 'c1062': 197, 'c823': 153, 'c1022': 191, 'c602': 109, 'c678': 115, 'c822': 152, 'c798': 135, 'c1072': 203, 'c813': 146, 'c515': 75, 'c428': 15, 'c811': 144, 'c510': 70, 'c721': 118, 'c486': 56, 'c432': 19, 'c1081': 206, 'c539': 94, 'c452': 36, 'c520': 78, 'c439': 25, 'c933': 179, 'c1004': 187, 'c921': 176, 'c526': 83, 'c514': 74, 'c560': 102, 'c519': 77, 'c803': 138, 'c453': 37, 'c647': 112, 'c521': 79, 'c810': 143, 'c551': 100, 'c420': 8, 'c815': 148, 'c821': 151}