Baixe o app para aproveitar ainda mais
Prévia do material em texto
Problem: ap1 Rows: 5 Columns: 60 (60 integer, 60 binary) Non-zeros: 180 Status: INTEGER OPTIMAL Objective: minni = 2380 (MINimum) No. Row name Activity Lower bound Upper bound ------ ------------ ------------- ------------- ------------- 1 minni 2380 2 R1 3640 3600 3 R2[1] 1080 1080 4 R2[2] 560 540 5 R2[3] 2000 1980 No. Column name Activity Lower bound Upper bound ------ ------------ ------------- ------------- ------------- 1 x[1] * 0 0 1 2 x[2] * 0 0 1 3 x[3] * 1 0 1 4 x[4] * 1 0 1 5 x[5] * 1 0 1 6 x[6] * 0 0 1 7 x[7] * 1 0 1 8 x[8] * 0 0 1 9 x[9] * 1 0 1 10 x[10] * 1 0 1 11 x[11] * 1 0 1 12 x[12] * 1 0 1 13 x[13] * 1 0 1 14 x[14] * 1 0 1 15 x[15] * 0 0 1 16 x[16] * 0 0 1 17 x[17] * 1 0 1 18 x[18] * 0 0 1 19 x[19] * 0 0 1 20 x[20] * 0 0 1 21 x[21] * 1 0 1 22 x[22] * 0 0 1 23 x[23] * 0 0 1 24 x[24] * 1 0 1 25 x[25] * 1 0 1 26 x[26] * 1 0 1 27 x[27] * 0 0 1 28 x[28] * 0 0 1 29 x[29] * 1 0 1 30 x[30] * 1 0 1 31 x[31] * 1 0 1 32 x[32] * 1 0 1 33 x[33] * 1 0 1 34 x[34] * 0 0 1 35 x[35] * 0 0 1 36 x[36] * 0 0 1 37 x[37] * 0 0 1 38 x[38] * 1 0 1 39 x[39] * 0 0 1 40 x[40] * 1 0 1 41 x[41] * 1 0 1 42 x[42] * 0 0 1 43 x[43] * 0 0 1 44 x[44] * 1 0 1 45 x[45] * 1 0 1 46 x[46] * 0 0 1 47 x[47] * 0 0 1 48 x[48] * 1 0 1 49 x[49] * 1 0 1 50 x[50] * 1 0 1 51 x[51] * 1 0 1 52 x[52] * 1 0 1 53 x[53] * 1 0 1 54 x[54] * 1 0 1 55 x[55] * 0 0 1 56 x[56] * 1 0 1 57 x[57] * 1 0 1 58 x[58] * 1 0 1 59 x[59] * 0 0 1 60 x[60] * 1 0 1 Integer feasibility conditions: KKT.PE: max.abs.err = 0.00e+00 on row 0 max.rel.err = 0.00e+00 on row 0 High quality KKT.PB: max.abs.err = 0.00e+00 on row 0 max.rel.err = 0.00e+00 on row 0 High quality End of output param I:= 3; param J:= 60; param Q:= 1 80 2 40 3 120 4 120 5 120 6 40 7 120 8 80 9 80 10 80 11 120 12 80 13 80 14 80 15 80 16 80 17 80 18 80 19 80 20 120 21 80 22 80 23 80 24 80 25 120 26 80 27 80 28 120 29 80 30 120 31 80 32 120 33 80 34 80 35 80 36 80 37 40 38 120 39 40 40 120 41 80 42 80 43 80 44 120 45 120 46 40 47 80 48 80 49 120 50 120 51 120 52 80 53 120 54 80 55 80 56 120 57 120 58 120 59 40 60 80 ; param H:= 1 1080 2 540 3 1980 ; param U:= 3600; param R:= 1 74 2 75 3 69 4 73 5 64 6 72 7 62 8 83 9 66 10 64 11 78 12 61 13 60 14 70 15 73 16 71 17 63 18 81 19 71 20 80 21 60 22 74 23 84 24 61 25 61 26 66 27 70 28 67 29 67 30 64 31 64 32 69 33 67 34 75 35 85 36 79 37 65 38 65 39 69 40 63 41 62 42 82 43 75 44 67 45 61 46 63 47 76 48 69 49 63 50 62 51 77 52 66 53 69 54 63 55 72 56 78 57 75 58 63 59 61 60 68 ; param T: 1 2 3:= 1 1 0 0 2 1 0 0 3 1 0 0 4 1 0 0 5 1 0 0 6 1 0 0 7 1 0 0 8 1 0 0 9 1 0 0 10 1 0 0 11 1 0 0 12 1 0 0 13 1 0 0 14 1 0 0 15 1 0 0 16 1 0 0 17 1 0 0 18 1 0 0 19 1 0 0 20 1 0 0 21 0 1 0 22 0 1 0 23 0 1 0 24 0 1 0 25 0 1 0 26 0 1 0 27 0 1 0 28 0 1 0 29 0 1 0 30 0 1 0 31 0 0 1 32 0 0 1 33 0 0 1 34 0 0 1 35 0 0 1 36 0 0 1 37 0 0 1 38 0 0 1 39 0 0 1 40 0 0 1 41 0 0 1 42 0 0 1 43 0 0 1 44 0 0 1 45 0 0 1 46 0 0 1 47 0 0 1 48 0 0 1 49 0 0 1 50 0 0 1 51 0 0 1 52 0 0 1 53 0 0 1 54 0 0 1 55 0 0 1 56 0 0 1 57 0 0 1 58 0 0 1 59 0 0 1 60 0 0 1 ; end; param I; #Quantidade de tipos de cursos param J; #quantidade de disciplinas disponiveis param Q{1..J}; #carga horaria mínima da disciplina j formadora do curso param H{1..I}; #quantidade de horas minimas do curso i formada pela eng quimica param U; #quantidade de horas totais no curso de engenharia param R{1..J}; #percentual de reprovação da disciplina j param T{1..J,1..I}; #matriz binária do tipo de disciplina j no curso i var x{1..J}, binary; #vou ou não fazer a disciplina minimize minni: sum{j in 1..J}x[j]*R[j]; s.t. R1: sum{j in 1..J}x[j]*Q[j] >= U; s.t. R2{i in 1..I}: sum{j in 1..J}x[j]*Q[j]*T[j,i] >= H[i]; end; RESPOSTA MINIMA: 2.380 MATERIAS QUE DEVERAO SER CURSADAS: 3,4,5,7,9,10,11,12,13,14,17,21,24,25,26,29,30,31,32,33,38,40,41,44,45,48,49,50,51,52,53,54, 56,57,58,60 INTEGRANTES:
Compartilhar