Baixe o app para aproveitar ainda mais
Prévia do material em texto
Resposta lista 2 e 3 genérico Resposta 1 param I; #quantidade de tipos de tubos param J ; #quantidade de tipos de recursos/insumos param r{1..J,1..I} ; #quanto gasta do recurso/insumo j para produzir 100 pés do tubo tipo i param R{1..J} ; #quantidade disponível do recurso j param l{1..I} ; #lucro (contribuição) por produzir 100 pés do tubo tipo i var x{1..I} ; #quantidade a ser produzida do tubo do tipo i maximize contribuicao: sum{i in 1..I}x[i]*l[i]; s.t. R1{j in 1..J}:sum{i in 1..I}x[i]*r[j,i] <= R[j]; s.t. R2{i in 1..I}: x[i] >= 0; end; param I := 2 ; param J := 3 ; param r: 1 2:= 1 4 6 2 2 2 3 2 1 ; param R:= 1 48 2 18 3 16 ; param l:= 1 34 2 40 ; end; Resposta 2 param I ; #quantidade de tipos de esportes param J ; #quantidade de tipos de artigos esportivos param K ; #quantidade de tipos de insumos param a{1..J,1..I} ; #quantidade do artigo j, consumida para cada time do esporte i param p{1..I} ; #custo do patrocínio por cada time do esporte i (verba para os treinadores) param O ; #orçamento disponível para patrocínio param f{1..K,1..J,1..I} ; #quantidade da matéria prima k, consumida pelo artigo esportivo j do tipo de esporte i param F{1..K} ; #quantidade disponível da matéria prima k var x{1..I}, integer ; #quantidade de times do esporte i patrocinados maximize times: sum{i in 1..I}x[i] ; s.t. R1{k in 1..K}:sum{j in 1..J, i in 1..I}x[i]*a[j,i]*f[k,j,i] <= F[k] ; s.t. R2:sum{i in 1..I}x[i]*p[i] <= O ; s.t. R3{i in 1..I}: x[i] >= 0 ; end; param I := 2;#futebol americano e basquete param J := 1;#tênis param K := 1;#flubber param a: 1 2 := 1 120 32 ; param p:= 1 300000 2 1000000 ; param O := 30000000 ; param f:= [*,*,1]:1:= 1 3 [*,*,2]:1:= 1 1 ; param F:= 1 4000 ; end; Resposta 3 param I ; #quantidade de tipos de cursos param J ; #quantidade de tipos de materiais didáticos param h{1..I} ; #quantidade de horas de estudos para cada curso do tipo i param c{1..J,1..I } ; #custo do material didático do tipo j para curso do tipo i param T ; #quantidade mínima de cursos para formar param q{1..I} ; #quantidade mínima de cursos do tipo i para formar param D ; #dinheiro disponível para material didático var x{1..I}, integer ; #quantidade de cursos do tipo i escolhida pelo estudante minimize Horas: sum{i in 1..I}x[i]*h[i]; s.t.R1 : sum{i in 1..I,j in 1..J}x[i]*c[j,i] <= D ; s.t. R2 : sum{i in 1..I}x[i] >= T ; s.t. R3{i in 1..I}: x[i] >= q[i] ; s.t. R4{i in 1..I} : x[i] >= 0 ; end; param I := 2 ; param J := 1 ; param h := 1 120 2 200 ; param c : 1 2:= 1 60 24 ; param T := 65 ; param q := 1 23 2 20 ; param D := 3000 ; Resposta 4 param I ; #quantidade de tipos de cerveja param J ; #quantidade de tipos de MP param K ; #quantidade de tipos de recursos param q{1..J,1..I} ; #quantidade de mp j para fazer cerveja do tipo i param r{1..K,1..I} ; #quantidade de recurso k para fazer cerveja do tipo i param d{1..I} ; #demanda máxima da cerveja tipo i param l{1..I} ; #lucro unitário da cerveja tipo i param M{1..J} ; #quantidade disponível da cerveja tipo j param R{1..K} ; #quantidade disponível do recurso k var x{1..I}, integer ; #quanto produzir da cerveja i maximize Lucro: sum{i in 1..I}x[i]*l[i] ; s.t. R1{j in 1..J}: sum{i in 1..I}x[i]*q[j,i] <= M[j] ; s.t. R2{k in 1..K} : sum{i in 1..I}x[i]*r[k,i] <= R[k] ; s.t. R3{i in 1..I} : x[i] <= d[i] ; s.t. R4{i in 1..I} : x[i] >= 0 ; end ; param I :=2 ; param J := 1 ; param K := 1 ; param q : 1 2:= 1 0.1 0.6 ; param r : 1 2:= 1 1 1 ; param d := 1 4000 2 9999999999999999999999999999 ; param M := 1 2000 ; param R := 1 6000 ; param l := 1 0.2 2 0.5 ; Resp:5 param I ; #quantidade de tipos de roteiros param J ; #quantidade de tipos de processos param K ; #quantidade de tipos de M.P param r{1..J,1..I} ; #consumo do processo j no roteiro i param c{1..J} ; #campacidade disponivel no processo j param m{1..I,1..K} ; #consumo da m.p k no roteiro i param l{1..I} ; #lucro por lote de tubo no roteiro i param M{1..K} ; #quantidade a ser produzida da M.P k var x{1..I} ; #quantidade a ser produzida no roteiro i maximize lucro: sum{i in 1..I} x[i] * l[i] ; s.t. R1{j in 1..J}: sum{i in 1..I}x[i] *r[j,i] <=c[j] ; s.t. R2{k in 1..K}: sum{i in 1..I}x[i]*m[i,k] <= M[k] ; s.t. R3{i in 1..I} : x[i] >= 0 ; param I := 2 ; param J := 3 ; param K := 1 ; param r: 1 2 := 1 1 1 2 3 0 3 0 1 ; param c := 1 45 2 90 3 160 ; param m: 1: = 1 5 2 4 ; param l:= 1 60 2 80 ; param M:= 1 200 ; Resp:6 param I ; #quantidade de tipos de roteiros param J ; #quantidade de tipos de processos param K ; #quantidade de tipos de M.P param r{1..J,1..I} ; #consumo do processo j no roteiro i param c{1..J} ; #campacidade disponivel no processo j param m{1..I,1..K} ; #consumo da m.p k no roteiro i param l{1..I} ; #lucro por lote de tubo no roteiro i param M{1..K} ; #quantidade a ser produzida da M.P k var x{1..I},integer ; #quantidade a ser produzida no roteiro i maximize lucro: sum{i in 1..I}x[i]*l[i] ; s.t. R1{j in 1..J}: sum{i in 1..I}x[i] *r[j,i] <=c[j] ; s.t. R2{k in 1..K}: sum{i in 1..I}x[i]*m[i,k] <= M[k] ; s.t. R3{i in 1..I}: x[i] >= 0 ; param I :=2 ; param J :=3 ; param K :=1 ; param r : 1 2: = 1 2 2 2 6 0 3 0 8 ; param c := 1 54 2 120 3 180 ; param m: 1: = 1 20 2 15 ; param l:= 1 50 2 65 ; param M:= 1 450; Resp:7 param I ; #quantidade de tipos de linhas param J ; #quantidade de tipos de processos param r{1..J,1..I} ; #consumo da linha i no processo j param l{1..I} ; #contribuição de lucro dos recursos i param R{1..J} ; #quantidade de horas disponível var x{1..I}, integer ; #quantidade a ser produzida no roteiro i maximize lucro: sum{i in 1..I}x[i]*l[i] ; s.t. R1{j in 1..J}: sum{i in 1..I}x[i] *r[j,i] <= R[j] ; s.t. R3{i in 1..I}: x[i ] >= 0 ; param I :=3 ; param J := 3 ; param r : 1 2 3 := 1 1 3 4 2 1 4 6 3 1 1 4 ; param R := 1 100 2 180 3 60 ; param l := 1 5 2 17 3 30 ; Resp:8 param I ; #quantidade de tipos de linhas param J ; #quantidade de tipos de produtos param r{1..J,1..I} ; #tipo linha i em caminhada para o departamento do produto j param l{1..I} ; #contribuição de lucro dos recursos i param R{1..J} ; #quantidade de horas disponível var x{1..I},integer ; #quantidade a ser produzida na linha i maximize lucro: sum{i in 1..I}x[i]*l[i]; s.t. R1{j in 1..J}: sum{i in 1..I}x[i] *r[j,i] <= R[j] ; s.t. R3{i in 1..I}: x[i] >= 0 ; param I := 3 ; param J := 3 ; param r : 1 2 3 := 1 2 2 3 2 1 3 4 3 2 1 4; param R := 1 120 2 160 3 90 ; param l := 1 10 2 10 3 23 ; Resp:9 param I ;#quantidade de tipos de produtos param J ;#quantidade de tipos de processos param K ;#quantidade de tipos de mat. primas param p{1..I,1..J} ; #quantidade do processo j para produzir i param c{1..J} ; #capacidade disponível do processo j param m{1..I,1..K} ;#consumo pelo produto i da m..p. k param M{1..K} ;#disponibilidade da mat. prima k param e{1..K} ;#custo da MP k param r{1..I} ;#preço de venda do produto i var x{1..I},integer, >= 0 ;#quantidade a ser produzida de i maximize Lucro: sum{i in 1..I} (x[i]*(r[i]- sum{k in 1..K}m[i,k]*e[k])); s.t. R1{j in 1..J}: sum{i in 1..I}x[i]*p[i,j] <= c[j]; s.t. R2{k in 1..K}: sum{i in 1..I}x[i]*m[i,k] <= M[k]; param I := 5 ; param J := 4 ; param K := 2; param p : 1 2 3 4 := 1 0.05 0.10 0.15 0.05 2 0.15 0.10 0.05 0.05 3 0.20 0.05 0.10 0.20 4 0.15 0.10 0.10 0.10 5 0.05 0.10 0.10 0.05; param c := 1 1500 2 1400 3 1600 4 1500; param m : 1 2:= 1 4 2 2 6 8 3 1 3 4 2 5 5 6 10; param M:= 1 75000 2 100000; param e:= 1 0.5 2 1.5; param r:= 1 15 2 25.5 3 14 4 19.5 5 27; Resp:10 param I ; #quantidade de tipos de produtos param J ; #quantidade de tipos de insumos param c{1..J} ; #custo por libra do insumo j param M{1..J} ; #quantidade máxima disponível do insumo j param D{1..I} ; #demanda do produtoi param q{1..I,1..J} ; #quantidade utilizada no produto i do insumo j var x{1..J} ; #quantidade a ser utilizada do insumo j minimize custo: sum{j in 1..J}x[j]*c[j] ; s.t. R1{j in 1..J}: sum{i in 1..I}D[i]*q[i,j] <= x[ j ]; s.t. R2{j in 1..J}:x [ j ] <= M[j] ; s.t. R3{j in 1..J}: x[ j ] >=0; param I := 5 ; param J := 3 ; param c := 1 0.80 2 0.60 3 0.35 ; param M := 1 3000 2 2000 3 9999999999999999999999 ; param D := 1 1250 2 750 3 1000 4 500 5 1500 ; param q : 1 2 3 := 1 1 0 0 2 0 1 0 3 0.45 0.45 0.1 4 0.30 0.30 0.4 5 0.20 0.20 0.6 ; Resp:11 param I ; #quantidade de tipos de matérias primas param K ; #quantidade de tipos de características param c{1..I} ; #custo da M.P. i param g{1..K} ; #quantidade mínima de caract. k param G{1..K} ; #quantidade máxima de caract. K param j{1..K,1..I} ; #quantidade da característica k na mp i var x{1..I}, >=0 ; minimize custo : sum{i in 1..I}x[i]*c[i] ; s.t. R1 {k in 1..K}:sum{i in 1..I}x[i]*j[k,i] >=g[k] ; s.t. R2 {k in 1..K}:sum{i in 1..I}x[i]*j[k,i] <= G[k] ; s.t. R3:sum{i in 1..I}x[i] = 1 ; param I := 3 ; param K := 3 ; param c := 1 0.60 2 0.40 3 0.50 ; param g := 1 220 2 0 3 12 ; param G := 1 300 2 6 3 30 ; param j : 1 2 3 := 1 200 180 280 2 4 3 10 3 20 10 8; Resp:12 param I ;#quantidade de tipos de produtos param J ;#quantidade de tipos de processos param K ;#quantidade de tipos de mat. primas param p{1..I,1..J} ; #quantidade do processo j para produzir i param c{1..J} ; #capacidade disponível do processo j param m{1..I,1..K} ;#consumo pelo produto i da m..p. k param M{1..K} ;#disponibilidade da mat. prima k param e{1..K} ;#custo da MP k param r{1..I} ;#preço de venda do produto i var x{1..I},integer, >= 0 ;#quantidade a ser produzida de i maximize Lucro: sum{i in 1..I} (x[i]*(r[i]- sum{k in 1..K}m[i,k]*e[k])); s.t. R1{j in 1..J}: sum{i in 1..I}x[i]*p[i,j] <= c[j]; s.t. R2{k in 1..K}: sum{i in 1..I}x[i]*m[i,k] <= M[k]; end; param I := 3 ; param J := 3 ; param K := 2; param p : 1 2 3:= 1 0.25 0.20 0.10 2 0.10 0.15 0.05 3 0.05 0.10 0.15 ; param c := 1 1600 2 1400 3 1500; param m : 1 2:= 1 32 12 2 26 16 3 19 9; param M:= 1 200000 2 85000; param e:= 1 0.20 2 0.35; param r:= 1 40 2 28 3 24; Resp:13 param I ;#quantidade de tipos de produtos param J ;#quantidade de tipos de recursos param p{1..I,1..J} ; #quantidade do recurso j para produzir i param c{1..I} ; #contribuição disponível do processo j param h{1..J};#quantidade totais de horas disponivel param M{1..I} ;#quantidade minima as er produzida do produto i var x{1..I},integer, >= 0 ;#quantidade a ser produzida de i maximize Lucro: sum{i in 1..I} x[i]* c[i] ; s.t. R1{j in 1..J} : sum {i in 1..I}x[i]*p[i,j] <= h[j]; s.t. R2 {i in 1..I}: x[i] >= M[i]; param I := 5; param J := 5; param p: 1 2 3 4 5:= 1 0.05 0.10 0.80 0.57 0.15 2 0.20 0.02 0.20 0.09 0.30 3 0.20 0.50 0.10 0.40 0.18 4 0 0.70 0 0.50 0 5 0.10 0.20 0.40 0 0; param c:= 1 4 2 7 3 3.5 4 4 5 5.70; param h:= 1 7500 2 7500 3 10000 4 6000 5 7000; param M:= 1 0 2 0 3 3000 4 3000 5 0; Resp:14 param I ; #quantidade de períodos(trimestres) param D{1..I} ; #demanda do período i param E0 ; # quantidade de estoque no início e no final param T0 ; #quantidade de funcionários no início e no final param K ; #capacidade produtiva de um funcio. por período param CN ; #custo de produção normal param CC ; #custo de contratação de um funcionário param CF ; #custo de desligamento de um funcionário param CE ; #custo unitário de estoque por período var N{1..I}, integer, >= 0 ; #quantidade de produção normal no período i var E{1..I+1}, integer,>= 0 ; #quantidade em estoque no INÍCIO do período i var T{1..I+1}, integer, >= 0 ; #quantidade de funcionários no INÍCIO do preíodo i var C{1..I+1},integer ,>= 0 ; #quantidade de func. contratado no INÍCIO do período i var F{1..I+1}, integer ,>= 0 ; #quantidade de func. demitidos INÍCIO do período i minimize custo : sum{i in 1..I}(N[i]*CN + ((E[i]+E[i+1])/2)*CE)+ sum{i in 1..I+1}(C[i]*CC + F[i]*CF) ; s.t. R1{i in 1..I}:E[i]+N[i]-D[i] =E[i+1 ]; #o estoque inicicial de um período (E[i]), mais a produção normal nesse período (N[i]), menos a demanda (D[i]) é igual ao estoque ao início do período seguinte (E[i+1) s.t. R2{i in 1 ..I}:T[i]*k >= N[i] ; #a capacidade produtiva de um período i é dada pelo produto da quantidade de funcionários (T[i]) pela capacidade produtiva de funcionário (k), ou seja, T[i]*k e a produção normal (N[i]) não pode ser maior que ela. s.t. R3{i in 1..I}:T[i] = T[i-1]+C[i]-F[i] ; #a quantidade de funcionários no início de um período é igual a quantidade de funcionários no início do período anterior, mais os funcionários contratados e menos os demitidos s.t. R4 E[1]+ E0 ; #o estoque do primeiro período é dado por E0 s.t. R5:E[I+1] = E0 ; #o estoque no final do último período, que é o mesmo que o estoque inicial do período posterior ao último (E[I+1]) deve ser igual ao Estoque Inicial s.t.R6:T[0 ]; #a quantidade corrente de funcionários é dada por T0 s.t.R7:T[I+1] = T0 ; #a quantidade ao final do último período que é igual à quantidade ao início do período seguinte a último deve ser igual a T0 Resp:17 param I ; #quantidade de intervalo de 4h por dia param Q{1..I} ; #quantidade mínima de operdores no intervalo i var x{0..I},>= 0 ;#quantidade de funcionários que iniciam seu turno no intervalo i minimize operadores: sum{i in 1..I}x[i]; s.t. R1{i in 1..I}: x[i-1] + x[i] >= Q[i]; s.t. R2: x[0] = x[I]; param I:= 6 ; param Q := 1 4 2 6 3 90 4 85 5 55 6 20; Resposta lista 3: Lista 03 param I; # quantidades de produtos param J; # quantidades de dias no sequenciamento param k{1..J}; # capacidade produtiva do dia j param tp{1..I}; # tempo unitário de produção do produto i param v{1..I}; # volume a ser produzido do produto i param c{1..I,1..J}; #custo de produzir o produto i no dia j var x{1..I,1..J},binary; # variável binaria que informa se o produto i é fabricado no dia j minimize custo: sum{i in 1..I, j in 1..J}x[i,j]*c[i,j]; s.t. R1{i in 1..I}: sum{j in 1..J}x[i,j]= 1; s.t. R2{j in 1..J}: sum{i in 1..I}x[i,j]*tp[i]*v[i] <= k[j]; end; param I:=20; param J:=7; param k:= 1 540 2 540 3 540 4 540 5 480 6 540 7 540 ; param tp:= 1 0.6 2 0.5 3 0.5 4 1.1 5 1.3 6 1.5 7 1.8 8 0.6 9 0.1 10 1.2 11 1.7 12 1.2 13 0.4 14 0.2 15 1 16 2 17 0.4 18 0.3 19 0.8 20 1.2 ; param v:= 1 160 2 180 3 160 4 180 5 160 6 240 7 240 8 200 9 160 10 220 11 160 12 200 13 220 14 100 15 220 16 160 17 200 18 100 19 140 20 100 ; param c: 1 2 3 4 5 6 7:= 1 0 1136 2272 3408 4544 5680 6816 2 0 1620 3240 4860 6480 8100 9720 3 0 1296 2592 3888 5184 6480 7776 4 95.4 0 1494 2988 4482 5976 7470 5 129.6 0 944 1888 2832 3776 4720 6 177.6 88.8 0 1392 2784 4176 5568 7 230.4 115.2 0 2400 4800 7200 9600 8 332 166 0 400 800 1200 1600 9 268.8 179.2 89.6 0 1456 2912 4368 10 191.4 127.6 63.8 0 814 1628 2442 11 172.8 115.2 57.6 0 880 1760 2640 12 80 60 40 20 0 360 720 13 598.4 448.8 299.2 149.6 0 1518 3036 14 176 132 88 44 0 850 1700 15 158.4 118.8 79.2 39.6 0 220 440 16 616 492.8 369.6 246.4 123.2 0 1152 17 540 432 324 216 108 0 260 18 140 112 84 56 28 0 620 19 260.4 217 173.6 130.2 86.8 43.4 0 20 342 285 228 171 114 57 0 ; Questão 1.2 param I; # quantidades de produtos param J; # quantidades de dias no sequenciamento param k{1..J}; # capacidade produtiva do dia j param tp{1..I}; # tempo unitário de produção do produto i param v{1..I}; # volume a ser produzido do produto i param c{1..I,1..J}; #custo de produzir o produto i no dia j var x{1..I,1..J},binary; # variável binaria que informa se o produto i é fabricado no dia j minimize custo: sum{i in 1..I, j in 1..J}x[i,j]*c[i,j]; s.t. R1{i in 1..I}: sum{j in 1..J}x[i,j]= 1; s.t. R2{j in 1..J}: sum{i in 1..I}x[i,j]*tp[i]*v[i] <= k[j]; end; param I:=20; param J:=7; paramk:= 1 540 2 540 3 540 4 540 5 480 6 540 7 540 ; param tp:= 1 0.4 2 1 3 0.4 4 0.6 5 1.5 6 1.5 7 0.3 8 0.1 9 0.5 10 1.8 11 1.3 12 0.7 13 1.7 14 1.8 15 1.8 16 1.2 17 1.8 18 0.3 19 0.3 20 1.5 ; param v:= 1 140 2 240 3 180 4 100 5 220 6 200 7 240 8 220 9 140 10 240 11 140 12 160 13 200 14 100 15 120 16 140 17 160 18 100 19 220 20 180 ; param c: 1 2 3 4 5 6 7:= 1 0 280 560 840 1120 1400 1680 2 0 504 1008 1512 2016 2520 3024 3 0 1098 2196 3294 4392 5490 6588 4 48 0 740 1480 2220 2960 3700 5 28.6 0 264 528 792 1056 1320 6 30 0 1660 3320 4980 6640 8300 7 350.4 175.2 0 672 1344 2016 2688 8 321.2 160.6 0 330 660 990 1320 9 61.6 30.8 0 154 308 462 616 10 230.4 153.6 76.8 0 1200 2400 3600 11 184.8 123.2 61.6 0 784 1568 2352 12 110.4 73.6 36.8 0 1440 2880 4320 13 576 432 288 144 0 1840 3680 14 160 120 80 40 0 950 1900 15 156 124.8 93.6 62.4 31.2 0 300 16 182 145.6 109.2 72.8 36.4 0 658 17 776 620.8 465.6 310.4 155.2 0 1136 18 468 390 312 234 156 78 0 19 1135.2 946 756.8 567.6 378.4 189.2 0 20 777.6 648 518.4 388.8 259.2 129.6 0 ; Questão 1.3 param I; # quantidades de produtos param J; # quantidades de dias no sequenciamento param k{1..J}; # capacidade produtiva do dia j param tp{1..I}; # tempo unitário de produção do produto i param v{1..I}; # volume a ser produzido do produto i param c{1..I,1..J}; #custo de produzir o produto i no dia j var x{1..I,1..J},binary; # variável binaria que informa se o produto i é fabricado no dia j minimize custo: sum{i in 1..I, j in 1..J}x[i,j]*c[i,j]; s.t. R1{i in 1..I}: sum{j in 1..J}x[i,j]= 1; s.t. R2{j in 1..J}: sum{i in 1..I}x[i,j]*tp[i]*v[i] <= k[j]; end; param I:=18; param J:=6; param k:= 1 540 2 540 3 540 4 540 5 480 6 540 ; param tp:= 1 1.9 2 0.5 3 0.4 4 0.7 5 0.8 6 0.1 7 0.2 8 1.8 9 0.3 10 2 11 0.1 12 1.3 13 1.7 14 1.7 15 1.5 16 0.7 17 1.8 18 0.6 ; param v:= 1 100 2 200 3 120 4 160 5 140 6 100 7 200 8 140 9 120 10 180 11 120 12 100 13 160 14 160 15 220 16 200 17 100 18 200 ; param c: 1 2 3 4 5 6:= 1 0 870 1740 2610 3480 4350 2 0 200 400 600 800 1000 3 84 0 744 1488 2232 2976 4 70.4 0 496 992 1488 1984 5 124.6 0 1134 2268 3402 4536 6 114 57 0 200 400 600 7 252 126 0 1300 2600 3900 8 168 84 0 1316 2632 3948 9 187.2 124.8 62.4 0 180 360 10 264.6 176.4 88.2 0 810 1620 11 183.6 122.4 61.2 0 564 1128 12 267 178 89 0 660 1320 13 307.2 204.8 102.4 0 176 352 14 441.6 331.2 220.8 110.4 0 624 15 334.4 250.8 167.2 83.6 0 990 16 420 336 252 168 84 0 17 55 44 33 22 11 0 18 590 472 354 236 118 0 ;
Compartilhar