PROGRAMAÇÃO INTEIRA E OTIMIZAÇÃO EM REDES PROGRAMA 1. Métodos Branch and and Bound (Ramifique e Delimite) 2. Métodos tipo Cutting-Plane (Plano Cortante) 3. Problemas com variáveis zero-um 4. Problemas de Transporte 5. Problemas de Designação 6. Busca de Caminhos Mínimos 7. Problema do Caixeiro-Viajante 8. Fluxo de Custo Mínimo em Redes 9. Fluxo Máximo através de uma Rede 10. Aplicações
BIBLIOGRAFIA 1. Ah Ahuj uja, a, R. K. K.,, Mag agna nant nti, i, T. L. an and d Or Orli lin, n, J. B. Ne Netw twor orks ks Fl Flow owss – Th Theo eory ry,, Algorithms and Applications. Prentice Hall, Upper Saddle River, New Jersey, 1993. 2. Bodin L., Golden B., Assad A. and Ball M. Routing and Scheduling of veicles and crews. Special edition of Computer and Operations Research, col 10, n.2, 1983. 3. Bodin, L., B. Golden, A. Assad and M. Ball. Routing and Scheduling of vehicles and Crews. Oxford, Pergamon Press, 1983. 4. Bradley, Bradley, S. P., A. C. Hax and T. L. Magnanti. Magnanti. Applied Applied Mathemati Mathematical cal Programmin Programming. g. Menlo Park, California, Addison-Wesley, 1977.
5. Bro Bronson nson,, R. Pesq Pesquis uisaa Ope Operaci raciona onal.l. São Pau Paulo, lo, Sch Schaum aum Mc McGra Graw-H w-Hill ill do Bra Brasil, sil, Ltda, 1985. 6. Christofides, N. Graph Theory - An Algorithmic Approach. New York, Academic Press, 1975. 7. Eilo Eilon, n, S., S., C.D. C.D.T. T. Watso atsonn-Ga Gand ndy, y, N. Ch Chri rist stof ofid ides es.. Dist Distri ribu buti tion on Mana Manage geme ment nt : Mathematical modelling and practical analysis. London, Griffin, 1970. 8. Golden, B. L., L. D. Bodin. Proceedings of the International Workshop on Current and Future Directions Directions in Routing and Scheduling Scheduling of Vehicles Vehicles and Crews. Networks, Networks, vol. 11, n. 2, pp. 93-229, 1979. 9. Go Gold lden, en, B. L., L., A. A. Assad. Assad. Ve Vehic hicle le Ro Rout uting ing : Metho Methods ds and Studi Studies. es. Amst Amster erdam dam,,
Elsevier Science Publishers B.V., 1988.
10. La Lapi pin, n, L. L. Qu Quan antit titati ative ve Me Metho thods ds fo forr Bu Busin siness ess Dec Decisi ision ons. s. Fo Fort rt Wo Worth rth,, Th Thee Dryden Press, 1994. 11. Lawl Lawler, er, E.L., E.L., J.K. J.K. Lenst Lenstra, ra, A.H. A.H.G. G. Rinno Rinnooy oy Ka Kan, n, D.B. D.B. Shmoy Shmoys. s. The The Trave Traveli ling ng Salesman Problem. Chichester, John Wiley & Sons, 1985. 12. McLaug McLaughlin hlin,, F. S. and Pickharat Pickharattt R. C. Qua Quantit ntitati ative ve Techniq Techniques ues for Manage Management ment Decisions. Boston, Houghton Mifflin Company, 1979.
13. Murty, K. Linear and Combinatorial Programming. Robert E. Krieger Publishing Company, Malabar, Florida, 1985. 14. Pu Pucc ccini ini,, A. de L. e Pi Pizzo zzola lato, to, N. D. Pr Prog ogram ramaç ação ão Li Linea near. r. Li Livro vross Té Técn cnic icos os e Científicos Ed. Ltda., Rio de Janeiro, 1990. 14. Salkin, H. M. Integer Programming. Menlo Park, California, Addison-Wesley, 1975. 15. Zionts, S. Linear and Integer Programming. New Jersey, Prentice-Hall, 1974.
AVALIAÇÃO 2 provas (com consulta) - 60% listas de exercícios - 20% análise e crítica de artigos e dissertações- 20%
PACOTES COMPUTACIONAIS LINDO – Linear, Interactive Interactive and Discrete Discrete Optimiz Optimizer er LINGO – Language for for Interactive Interactive General General Optimi Optimizer zer QSB2 – Quantitative Systems for Business GAMS – General Algebraic Modeling System
Outros...
PROBLEMAS DE PROGRAMAÇÃO INTEIRA
Elsevier Science Publishers B.V., 1988.
10. La Lapi pin, n, L. L. Qu Quan antit titati ative ve Me Metho thods ds fo forr Bu Busin siness ess Dec Decisi ision ons. s. Fo Fort rt Wo Worth rth,, Th Thee Dryden Press, 1994. 11. Lawl Lawler, er, E.L., E.L., J.K. J.K. Lenst Lenstra, ra, A.H. A.H.G. G. Rinno Rinnooy oy Ka Kan, n, D.B. D.B. Shmoy Shmoys. s. The The Trave Traveli ling ng Salesman Problem. Chichester, John Wiley & Sons, 1985. 12. McLaug McLaughlin hlin,, F. S. and Pickharat Pickharattt R. C. Qua Quantit ntitati ative ve Techniq Techniques ues for Manage Management ment Decisions. Boston, Houghton Mifflin Company, 1979.
13. Murty, K. Linear and Combinatorial Programming. Robert E. Krieger Publishing Company, Malabar, Florida, 1985. 14. Pu Pucc ccini ini,, A. de L. e Pi Pizzo zzola lato, to, N. D. Pr Prog ogram ramaç ação ão Li Linea near. r. Li Livro vross Té Técn cnic icos os e Científicos Ed. Ltda., Rio de Janeiro, 1990. 14. Salkin, H. M. Integer Programming. Menlo Park, California, Addison-Wesley, 1975. 15. Zionts, S. Linear and Integer Programming. New Jersey, Prentice-Hall, 1974.
AVALIAÇÃO 2 provas (com consulta) - 60% listas de exercícios - 20% análise e crítica de artigos e dissertações- 20%
PACOTES COMPUTACIONAIS LINDO – Linear, Interactive Interactive and Discrete Discrete Optimiz Optimizer er LINGO – Language for for Interactive Interactive General General Optimi Optimizer zer QSB2 – Quantitative Systems for Business GAMS – General Algebraic Modeling System
Outros...
PROBLEMAS DE PROGRAMAÇÃO INTEIRA
(PPI PPI)) A. IN INTR TRODU ODUÇÃO ÇÃO Um PPI é um PPL (Problema de Programação Linear) com o requisito adicional de que o valor de todas as variáveis sejam números inteiros. Os PPI ampliam enormemente a variedade de situações em que os modelos de PL po pode dem m ser ser ap apli lica cado doss co como mo,, po porr ex exem empl plo, o, orça orçame ment ntoo de capi capita tal, l, modelos de localização, de economia de escala, decisões do tipo sim ou não, e outros.
1.1 CLASSIFICAÇÃO DOS MÉTODOS DE SOLUÇÃO DOS PPI a) Tipos de problemas Inteiro (puro): (puro): todas as variáveis são inteiras (não necessariamente zero-um); Inteiro zero-um: zero-um: todas as variáveis são inteiras zero-um; variáveis de folga das restrições de desigualdade não são necessariamente zero-um; Inteiro misto: misto: algumas, mas não todas as variáveis, são inteiras; Inteiro mist Inteiro misto-zero o-zero-um -um:: inteiro-misto, mas todas as variáveis inteiras são zero-um. b) Natureza dos algoritmos algoritmos Branch and bound ou
enumeração implícita: implícita : enumera implicitamente todas as possívei possíveiss soluções soluções examinando examinando certas certas soluções soluções bem escolhida escolhidass e usando usando info inform rmaç ação ão gerad eradaa da daqu quel elas as solu soluçõ ções es pelo elo do domí míni nioo de co conc ncei eito toss e argume argumento ntoss de inviab inviabili ilidad dadee pa para ra elimin eliminar ar outras outras soluçõ soluções es e estabe estabelec lecer er critérios mais rígidos para futuras soluções a serem examinadas. Corte: adiciona e força restrições que precisam ser satisfeitas por soluções Corte: inteiras, mas que algumas soluções não inteiras não satisfazem.
2. OS PPI E OS MÉTODOS BRANCH AND BOUND (B&B) (Ramifique e Delimite)
2.1 INTRODUÇÃO Um primeiro artigo usando um método branch and bound é de 1960, das cientistas A.H. Land e A.G. Doig. O método é elegante em sua simplicidade; ele exige o uso do método simplex e pode resolver qualquer PPI. Uma 1a. aproximação da solução do PPI é obtida resolvendo-se o PPL ignorando-se o requisito de valores inteiros. Se a solução ótima do PPL for inteira então esta é também a solução ótima do PPI. Caso contrário, pode-se arredondar a solução da 1 a. aproximação aos valores inteiros mais próximos e obter uma 2a. aproximação aproximação.. Este procedimento é colocado em prática qua uanndo a 1a. ap apro roxi xima maçã çãoo en envo volv lvee nú núme mero ross gran grande des, s, mas mas po pode de ser ser imprec impreciso iso qua quando ndo os números números são pequeno pequenos. s. Assim Assim sendo, sendo, quando quando a 1 ª aprox aproxima imação ção env envolv olvee número númeross peq pequen uenos, os, pod pode-se e-se resolv resolver er o proble problema ma através do algoritmo branch and bound .
2.2 ALGORITMO BRAN BRANCH CH AND AND BOUND BOUND Se a 1a. aproximação contém uma variável não inteira, por exemplo, x j*, então: i1 < x j* < i2, onde i1 e i2 são inteiros consecutivos e não negativos. Dois novos modelos de PPI são criados aumentando o PPI original com a restrição x j ≤ i1 ou com a restrição restrição x j ≥ i2. Este processo, chamado bifurcação ( branch), tem o efeito de contrair a regi região ão viáv viável el de um modo modo qu quee elim elimin inaa de co cons nsid ider eraç açõe õess po post ster erio iores res a solução corrente não inteira para x j preservando ainda todas as possíveis soluções inteiras do problema original. Admita Admita-se -se qu quee a função função ob objet jetivo ivo de deva va ser, ser, por exempl exemplo, o, maxim maximiza izada. da. A bifurcação continua até ser obtida uma 1 a. aproximação inteira, que é uma solução ao PPI. O valor da função objetivo referente a esta 1 a. aproximação inteira torna-se um limite ( bound ) inferior para o problema e, todos os
modelos, cujas 1 as. aproximações, inteiras ou não, conduzam a valores da função objetivo menores do que o limite inferior, são descartados. O processo de bifurcação prossegue até que não haja mais modelos com 1 a. aproximação não inteira a considerar. Neste ponto, a solução correspondente ao limite inferior corrente é a solução ótima do PPI original.
a) Algumas Considerações 1. Bifurca-se sempre a partir do modelo que se revela mais próximo do ótimo, com maior valor para z, se a função objetivo for de maximização. 2. São São acre acresce scent ntad adas as rest restri riçõ ções es ad adic icio iona nais, is, uma uma de cada cada ve vez. z. Se a 1 a. aproximação envolver mais de uma variável não inteira, as novas restrições serão impostas sobre a variável que está "mais longe" de se tornar inteira, isto é, a variável cuja parte decimal estiver mais próxima de 0.5. 3. É possível um PPI ter mais de uma solução ótima.
2.3) EXEMPLOS Exemplo 1. O problema da mobília (Lapin) Uma companhia de mobília produz mesas e cadeiras como parte de sua linha de móveis de jardim. A tabela abaixo mostra os recursos consumidos e os lucros lucros de cada cada produ produto. to. Por simpl simplici icidad dade, e, assumi assumirem remos os qu quee soment somentee 2 recursos recursos são consumido consumidoss para produzir produzir os móveis móveis de jardim: madeira madeira (310 metr metros os de plac placaa em esto estoqu que) e) e trab trabal alho ho (113 (113 ho hora rass disp dispon onív ívei eis) s).. O proprietário deseja determinar quantas mesas e cadeiras deveriam ser feitas para maximizar os lucros. Quantidade Recurso \ Un. Nec. Mesa Cadeira Disponível
Madeira (m. placa) Trabalho (horas) Lucro ($)
30 5 6
20 10 8
310 113
Exemplo 2. Problema da Mochila (Schaum) Uma excursionista planeja fazer uma viagem acampando. Há 5 itens que a excursionista deseja levar consigo, mas estes, juntos, excedem o limite de 60 kg que ela supõe ser capaz de carregar. Para ajudar a si própria no processo de seleção ela atribuiu atribuiu valores, por ordem crescente crescente de importância, importância, a cada
um dos itens segundo a tabela:
Ítem Peso (kg) Valor
1 52 100
2 23 60
3 35 70
4 15 15
5 7 15
Que itens devem ser conduzidos de forma a maximizar o valor total sem exceder as restrições de peso? Exemplo 3. Problema de Minimização (Lapin) Min C = 4x1 + 3x2 + 5x3 s.a: 2x1 - 2x2 + 4x3 ≥ 7 2x1 + 4x2 - 2x3 ≥ 5 x1, x2, x3 ≥ 0 e inteiras Exemplo 4. Locadora de carros (Lapin) Uma locadora de carros especialista em carros econômicos para turistas quer determinar uma plano ótimo para compra de carros para ordenar a compra de sua próxima frota até $500.000. O proprietário reduziu as possibilidades a 3 veículos: vans econômicas, carros compactos e carros grandes. Os respectivos custos de compra por veículo são: $25.000, $15.000 e $21.000. Experiências passadas estabeleceram as seguintes taxas de lucros de aluguel anual: $15.000 para vans, $7.600 para os compactos e $10.600 para carros grandes. O proprietário quer maximizar os lucros anuais com o aumento de sua frota. A compra deve incluir no mínimo: 5 vans, 5 carros grandes e 12 carros de passageiros. Além disso, a compra deve envolver, no mínimo, 25 veículos. O número de carros grandes não pode exceder o número de compactos. As taxas médias de aluguel diárias são: $50 para vans, $30 para compactos e $40 para carros grandes. Para manter uma imagem de locadora de baixos custos, o proprietário deseja que a taxa média de aluguel para a nova frota seja de no máximo $39. Formule o problema como um PPI e o resolva computacionalmente.
Início
Resolva o PPL correspondente
A solução satisfaz as restrições de integralidade ? Sim Não Escolha uma variável inteira xk cujo valor solução yk é não inteiro Pare
Resolva 2 problemas, cada um aumentado com as seguintes restrições, uma de cada vez: xk ≤ yk xk ≥ yk + 1 Exclua quaisquer soluções inviáveis. ( b = maior inteiro menor que b)
Fluxograma do Algoritmo Branch and Bound Selecione da lista a solução com o maior valor para a função objetivo (se o problema for
de maximização). Se a lista está vazia, pare; não existe nenhuma solução viável inteira para o problema.
Das novas soluções determinadas por PL, adicione-as a lista se sua função objetivo for melhor do que qualquer solução inteira conhecida.
Exemplo 5. Programação de horários de funcionários (apostila de exercícios) A Rodovia Interestadual 17 tem uma cobrança de pedágio cuja demanda de funcionários é a seguinte: Horário 0h – 6h 6 – 10 10 – 12 12 – 14 14 – 16 16 – 18 18 – 22 22 – 24
Número de Funcionários 2 6 4 5 4 6 4 3
Chamando de x j o número de funcionários que iniciam na hora j, para j par, e considerando que eles trabalham 8 horas ininterruptas, construa um modelo matemático de PI que minimize o número de funcionários. Exemplo 6. Programação de horários de funcionários (apostila de exercícios) Uma empresa que administra um parque de diversões precisa alocar seus funcionários segundo os planos de jornadas de trabalho semanal. Cada
funcionário trabalha 5 dias seguidos e folga 2. Os 7 planos possíveis e as demandas diárias estão na tabela. Construa um modelo que decida quantos funcionários devem trabalhar em cada plano, satisfazendo a demanda e minimizando o número total de funcionários. Pl.\DSem. Domingo --1 1 2 1 3 1 4 1 5 1 6 --7 Demanda 18
Segunda ----1 1 1 1 1 12
Terça 1 ----1 1 1 1 12
Quarta 1 1 ----1 1 1 14
Quinta 1 1 1 ----1 1 16
Sexta 1 1 1 1 ----1 16
Sábado 1 1 1 1 1 ----18
Exemplo 7. Construção do diagrama em árvore (Método Branch and Bound ) (Lapin) As soluções para diversos programas lineares, contidas no quadro a seguir, foram obtidas durante o processo de resolução do seguinte PPL: Min C = 5x1 + 2x2 + 3x3 s. a: 3x1 - 2x2 + 4x3 ≥ 8 3x1 + 4x2 - 2x3 ≥ 6 x1, x2, x3 ≥ 0 e inteiras Construa um diagrama em árvore resumindo a solução do problema. Indique a solução ótima. Problema 1 2 3 4 5 6 7
Última variável ramificada nenhuma x1 x1 x2 x2 x1 x1
x1
x2
x3
C
2 2/9 2 3 --1 5/9 1 2
0 1/3 0 --1 1 5/6 1
1/3 2/3 0 --1 1/3 2 1/6 1
12 1/9 12 2/3 15 (inviável) 13 7/9 15 1/6 15
Exemplo 8. Orçamento de Capital (Puccini)
Suponha que uma empresa esteja planejando seus investimentos para os próximos T períodos. Existem n projetos prioritários, mas que devem ser compatibilizados com o orçamento disponível Gt no período t (t = 1, 2, ..., T ). Se o projeto j for realizado, ele exige um investimento atj no período t . Suponha ainda que de cada projeto j seja conhecido o seu valor presente b j. O problema do orçamento de capital consiste em selecionar projetos a realizar, de forma a maximizar o valor presente total, respeitada a limitação orçamentária. Variáveis de Decisão para este PPI: x j = 1, se o projeto j for aprovado; 0, se o projeto j for recusado. Maximizar z = b 1x1 + b2x2 + ... + bnxn s.a: a11x1 + a12x2 + ... + a1nxn ≤ G1 (período 1) a21x1 + a22x2 + ... + a2nxn ≤ G2 (período 2) ........... ....... aT1x1 + aT2x2 + ... + aTnxn ≤ GT (período T) x j = 0 ou 1 para todo j = 1, 2, ..., n. Este modelo (exemplo 7) é rico em aplicações e adaptações: B. Projetos divisíveis. Se um dos projetos x k não for necessariamente inteiro
(como é o caso, por exemplo, de investimentos financeiros, a variável x k pode ser colocado no modelo acima com a forma: C.
≤ xk ≤ 1
D. Projetos mutuamente exclusivos. Suponhamos que no modelo acima,
alguns projetos, por exemplo, p, q e r, sejam mutuamente exclusivos, ou seja, se um deles for aprovado, os demais devem ser rejeitados. Para esta situação, basta acrescentar ao modelo a restrição: x p + xq + xr ≤ 1 E. Projetos contingenciais. Suponhamos que um projeto f só possa ser
realizado se um projeto g também for realizado. Neste caso, basta
acrescentar ao modelo a restrição: xf ≤ xg F. Modelo com valores alternativos.
Suponhamos que no modelo apresentado a variável x j só possa assumir os valores W 1, W2 ou W3. A incorporação desta característica do problema no modelo pode ser feita pela substituição de x j pela expressão: W1y1 + W2y2 + W3y3 e a inclusão das restrições: y1 + y2 + y3 = 1 y1, y2, y3 = 1 ou 0
Exemplo 9. Modelos de Localização (Puccini) Sejam m localizações potenciais onde se produz um único bem. Este bem deve ser distribuído a n depósitos, cada um com uma demanda d j ( j = 1, 2, ..., n). Se uma localização i for ativada e passar a produzir, ela terá um custo fixo K i e uma capacidade de produção M i. O custo para transportar uma unidade da fonte i ao depósito j é g ij. Quais as fontes que devem ser ativadas? Que quantidades devem ser transportadas da fonte i ao depósito j? Variáveis de Decisão para este PPI Misto: y j = 1, se a localização i for ativada; 0, caso contrário. zij = volume a ser transportado da localização i ao depósito j. Minimizar z = Σi=1,m Σ j=1,n gij zij + Σi=1,m K i yi s.a:
Σi=1,m zij = d j
( j = 1, 2, ..., n) (o volume recebido pelo depósito j, de todas as localizações, é igual a demanda
d j)
Σ j=1,n zij ≤ Mi yi (i = 1, 2, ..., m)
(só há transporte a partir da localização i, se yi = 1).
zij ≥ 0 (para todo i e j) yi = 0 ou 1 (para todo i)
3. OS PPI E MÉTODOS TIPO CUTTING-PLANE (CP) (Plano Cortante)
3.1 INTRODUÇÃO A única diferença entre os métodos do tipo Cutting Plane e os Métodos Branch and Bound reside no fato de que naqueles ( CP ) é feito o acréscimo de apenas uma nova restrição a cada etapa, e não duas como em B&B, fazendo com que a região viável seja reduzida sem partição. O corte é uma restrição derivada que tem a propriedade desejável de "cortar" parte do conjunto de soluções viáveis enquanto que não exclui qualquer solução inteira.
3.2 ALGORITMOS DE CORTE DE GOMORY
• Algoritmo de corte fracionário de Gomory • Algoritmo de corte inteiro de Gomory • Algoritmo de corte misto de Gomory. Algoritmo de Corte Fracionário de Gomory
Consideremos o tableau ótimo aquele que resulta da aplicação do método simplex a um modelo de PI com as restrições relativas a valores inteiros desprezadas. Tomando uma restrição a partir do tableau ótimo, tem-se: ai1 x1 + ai2 x2 + ... + ain xn + xn+i = bi , ou
Σi=1,n aij x j + xn+i = bi Podemos escrever esta restrição como se segue:
Σ j=1,n [aij] x j + Σ j=1,n (aij - [aij]) x j + xn+i = [bi] + (bi - [bi]) onde [aij] = parte inteira de a ij , tal que a parte fracionária seja > 0. Agrupando os termos com coeficientes inteiros no 1 o. membro, temos: (1)
Σ j=1,n [aij] x j + xn+i - [bi] = (bi - [bi]) - Σ j=1,n (aij - [aij]) x j .
O lado esquerdo de (1) deve ser inteiro em uma solução ótima inteira, porque todos os coeficientes e variáveis devem ser inteiros. Pela igualdade em (1), o lado direito da expressão deve ser inteiro também. Além disso, o limite superior do lado direito não pode ser positivo (como o lado direito de (1), além de ser inferior a 1, deve ser inteiro, ele deve ser menor ou igual a zero). Obviamente, o mesmo é verdadeiro para o lado esquerdo de (1). Esta condição é o corte utilizado por Gomory, que fornece, o Algoritmo de Corte Fracionário de Gomory. Assim sendo, (2)
(bi - [bi]) - Σ j=1,n (aij - [aij]) x j ≤ 0 , ou,
Σ j=1,n (aij - [aij]) x j ≤ (bi - [bi]) A restrição (2) é a nova restrição imposta ao problema pelo algoritmo de corte de Gomory.
3.3 EXEMPLOS
Resolver os exemplos 1 e 2 a seguir, utilizando o algoritmo de corte fracionário de Gomory. Exemplo 1. (Schaum) Max z = 2x1 + x2 s.a : 2x1 + 5x2 ≤ 17 3x1 + 2x2 ≤ 10 x1, x2 ≥ 0 e inteiras Exemplo 2. (Zionts) Max z = 5x1 + 2x2 s.a : 2x1 + 2x2 ≤ 9 3x1 + x2 ≤ 11 x1, x2 ≥ 0 e inteiras
3.4 ALGORITMO DE CORTE DE DANTZIG Considere-se o tableau ótimo aquele que resulta da aplicação do método simplex a um modelo de PI com as restrições relativas a valores inteiros desprezadas. Suponha-se que uma das variáveis básicas, x b, é não inteira. A equação da restrição correspondente à linha do tableau que determinou x b deve ser da forma: x b + Σ j y j x j = y0 onde o somatório diz respeito a todas as variáveis não básicas. Se cada variável não básica x j for zero, então x b = y0 será não inteiro. Se x b deve ser inteira, então pelo menos uma das variáveis não básicas x j deverá ser diferente de zero. Tendo em vista que se requer que todas as variáveis sejam não negativas e inteiras, segue-se que pelo menos uma variável não básica deve ser maior ou igual a 1. Isto, por sua vez, implica que a soma de todas as variáveis não básicas deve ser ≥ 1. Se utilizarmos esta condição como uma nova restrição
a ser incorporada ao modelo de PI original, tem-se o Algoritmo de Corte sugerido por Dantzig.
3.5 EXEMPLOS Exemplo 1. (Schaum) Max z = 3x1 + 4x2 s.a : 2x1 + x2 ≤ 6 2x1 + 3x2 ≤ 9 x1, x2 ≥ 0 e inteiras
LISTA DE EXERCÍCIOS Selecionar 05 exercícios variados para resolvê-los manualmente e utilizando o software LINGO. Pesquisar e selecionar 05 problemas práticos em referências bibliográficas, apresentando, além do enunciado, a construção do modelo matemático e a sua solução através do LINGO. Problema 1. Resolva o seguinte problema utilizando o método branch and bound (faça no máximo 2 ramificações): Max z = x1 + 5x2 + 9x3 + 5x4 s. a : x1 + 3x2 + 9x3 + 6x4 ≤ 16 6x1 + 6x2 + 7x4 ≤ 19 7x1 + 8x2 +18x3 + 3x4 ≤ 44 x1, x2, x3, x4 ≥ 0 e inteiras.
Problema 2. Idem para o PPI a seguir. Max z = 7x1 + 9x2 + x3 + 6x4 s.a.: 8x1 + 2x2 + 4x3 + 2x4 ≤ 16 4x1 + 8x2 + 2x3 ≤ 20
7x1 + 6x3 + 2x4 ≤ 11 x1, x2, x4 ≥ 0 e inteiras e x3 ≥ 0.
Problema 3. Idem para o PPI a seguir. Min z = 3x1 + 4x2 + 3x3 s.a : 3x1 + 2x2 + 2x3 ≥ 13 2x1 + 5x2 + 3x3 ≥ 15 2x1 + x2 + 2x3 ≥ 9 x2, x3 ≥ 0 e inteiras e x1 ≥ 0.
Problema 4. Idem para o PPI a seguir. Min z = 2x1 + 3x2 + 5x3 s.a : x1 + 2x2 + 3x3 ≥ 7 3x1 + 2x2 + 3x3 ≥ 11 x1, x3 ≥ 0 e inteiras e x2 ≥ 0.
Problema 5. Resolva o seguinte PPIB Misto (Problema de Programação Inteira Binária Misto) utilizando o método que desejar (faça no máximo 2 iterações). Min z = 3x1 + 7x2 + 9x3 + 2x4 + 6x5 s.a: 3x1 + x2 + 4x3 + 5x4 + 8x5 ≥ 10 5x1 + 2x2 + 9x3 + x4 + 5x5 ≥ 12 3x1 + x2 + 3x3 + 2x4 + 2x5 ≥ 2 x1, x2, x5 = 1 ou 0 e x3, x4 ≥ 0
Problema 6. Resolva o seguinte PPI: Max z = 5x1 + 7 x2 s.a : 12 x1 + 7 x2 ≤ 84 5 x1 + 7 x2 ≥ 35 x2 ≤ 7 x1, x2 ≥ 0 e inteiras Resolva o problema do PPI utilizando o algoritmo branch and bound e faça a interpretação geométrica do problema.
Problema 7.
Com base no tableau ótimo para o PPL obtido no problema 6 determine: G. Uma restrição de corte utilizando o algoritmo fracionário de Gomory. H. Uma restrição de corte utilizando o algoritmo de Dantzig. I. Faça a interpretação geométrica dos itens a e b anteriores.
Problema 8. Dado o tableau ótimo do PPL do seguinte PPI, faça uma iteração completa usando o algoritmo fracionário de Gomory e forneça a interpretação geométrica. Max z = 5 x1 + 4 x2 s.a : 3 x1 + 3 x2 ≤ 10 12x1 + 6 x2 ≤ 24 x1, x2 ≥ 0 e inteiras
z x2 x1
14 8/3 2/3
x1 0 0 1
x2 0 1 0
x3 1 2/3 -1/3
x4 1/6 -1/6 1/6
Problema 9. Dado o tableau ótimo do PPL do seguinte PPI, faça uma iteração completa usando o algoritmo branch and bound e forneça a interpretação geométrica. Max z = 3 x1 + 4 x2 s.a : 2 x1 + x2 ≤ 6 2 x1 + 3 x2 ≤ 9 x1, x2 ≥ 0 e inteiras
Z x1 x2
12,75 2,25 1,5
x1 0 1 0
x2 0 0 1
x3 0,25 0,75 -0,5
x4 1,25 -0,25 0,5
Problema 10. Com respeito ao o problema 9 anterior: a) Indique qual seria a restrição de corte segundo Dantzig; b) Indique uma possível restrição de corte utilizando o algoritmo fracionário de Gomory. c) Acrescente a restrição ao problema (a OU b) e faça uma iteração. Problema 11. Dado o problema: Max z = 3x1 + 5x2
2x1 + 4x2 ≤ 10 5x1 + 2x2 ≤ 12 x1, x2 ≥ 0 Sabe-se que o tableau da solução ótima é: s.a:
z x1 x2
107/8 7/4 13/8
x1 0 1 0
x2 0 0 1
x3 19/16 -1/8 5/16
x4 1/8 1/4 -1/8
a) Mostre como gerar novos problemas, a fim de se obter uma solução inteira, utilizando o método branch and bound ; b) Escolha um dos problemas gerados e faça 1 iteração completa; J. Forneça a interpretação geométrica do problema até esta etapa.
Problema 12. O estudo de um problema real resultou no seguinte modelo matemático (P1) apresentado a seguir. A solução ótima não inteira para P1 é apresentada em seguida. Pede-se: a) Utilizando o algoritmo branch and bound , obtenha P2 e P3; b) Determine a solução ótima para P2 (ou P3); c) Forneça a solução gráfica para P1 e P2 (ou P3). Max z = - x1 - 2x2 s.a: 2x1 + 3x2 ≥ 3 x1, x2 ≥ 0 e inteiras
Z x1
-3/2 3/2
x1 0 1
x2 1/2 3/2
x3 1/2 -1/2
Problema 13. Considere o seguinte programa inteiro: Max P = 3 x1 + 4 x2 s.a: x1 + 2 x2 ≤ 8 3 x1 + x2 ≤ 10 x1, x2 ≥ 0 e inteiras K. Ignorando as restrições de integralidade, resolva este problema graficamente como um programa linear. L. Identifique todos os pontos que fornecem uma solução inteira no grafo contidos na região de soluções viáveis de seu programa linear. M. Ache o ponto “mais lucrável” dentre aqueles do item b e a correspondente solução ótima.
Problema 14.
Aplique o método branch and bound para resolver o programa inteiro 13 anterior. Faça isto resolvendo graficamente uma sucessão de programas lineares. Resuma o procedimento usando um diagrama em árvore.
Problema 15. A solução para muitos programas lineares contidos no quadro a seguir foram obtidos no decorrer do processo de resolver o seguinte programa inteiro: Max P = 3 XA + 5 XB + 4 XC s.a: 2 XA + 3 XB + 3 XC ≤ 13 5 XA + 4XB + 5 XC ≤ 17 XA, XB, XC ≥ 0 e inteiras.
Problema 1 2 3 4 5 6 7
Última var. ramificada Nenhuma XB XB XC XC XA XA
XA
XB
XC
P
0 0 --0.2 0 0 1
4.25 4 --4 3 4 3
0 0.2 --0 1 0 0
21.25 20.8 (inviável) 20.61 19 20 18
Construa um diagrama em árvore resumindo as soluções do problema. Indique as soluções ótimas.
EXEMPLO DE UM PT MODELADO PARA SER EXECUTADO NO LINGO:
MODEL: SETS: origens /1..3/; destinos /1..4/; matriz(origens,destinos): x,custos; capacidade(origens): cap; demanda(destinos): dem; ENDSETS DATA: custos = 19,7,3,21,15,21,18,6,11,14,15,22; cap = 100,300,200; dem = 150,100,200,150; ENDDATA MIN = @SUM(matriz(i,j): custos(i,j) * x(i,j)); @FOR(origens(i): @SUM(destinos(j) : x(i,j)) <= cap(i)); @FOR(destinos(j): @SUM(origens(i) : x(i,j)) >= dem(j)); END OU_____________________________________________________________________ __ MODEL: SETS: origens /1..3/: capacidades; destinos /1..4/: demandas;
links(origens, destinos): custos, x; ENDSETS ! Função Objetivo; MIN = @SUM(links(i,j): custos(i,j)* x(i,j)); ! Restrições de demandas; @FOR(origens(i): @SUM(destinos(j) : x(i,j))<= capacidades(i)); ! Restrições de capacidades; @FOR(destinos(j): @SUM(origens(i) : x(i,j))>= demandas(j)); ! Dados do problema; DATA: capacidades = 100 300 200; demandas = 150 100 200 150; custos = 19 7 3 21 15 21 18 6 11 14 15 22; ENDDATA END
E OUTRAS FORMAS MAIS...
PROBLEMAS DE TRANSPORTES (PT) N. INTRODUÇÃO
Um problema de transportes envolve: m origens com ai, i = 1, 2, ..., m unidades disponíveis, n destinos com b j, j = 1, 2, ..., n unidades necessárias, e cij que são os custos para transportar uma unidade da origem i para o destino j. O objetivo é desenvolver um esquema de transporte a valores inteiros (a quantidade de produto a ser transportada não pode ser fracionária) que atenda a todas as demandas a partir do estoque atual a um custo de transporte mínimo. Admite-se que:
Σi=1,m ai = Σ j=1,n b j , ou seja, que a oferta total é igual a demanda total.
Esta equação é assegurada criando-se: um destino fictício (se a demanda total for < a oferta total) e uma origem fictícia (se a demanda total for > oferta total) 2. MODELO MATEMÁTICO PARA OS PT:
Sendo: xij = número de unidades a serem transportadas da origem i para o destino j Então: Min z = Σi=1,m Σ j=1,n cij xij s.a: Σ j=1,n xij = ai (i = 1,...,m) Σi=1,m xij = b j (j = 1,...,n) xij ≥ 0 e inteiros Mais especificamente, um problema de transportes pode ser definido: Min z = c11x11 + c12x12 +...+ c1nx1n +...+ cm1xm1 + cm2xm2 +...+ cmnxmn s.a: x11+x12+...+x 1n = a1 x21+x22+...+x 2n = a2 . . . (1) xm1+xm2+...+xmn = am x11+ x21+ xm1 = b1 x12+ x22+ xm2 = b2 . . . x1n+ x2n+ xmn = bn Dada a hipótese de que Σi=1,m ai = Σ j=1,n b j , qualquer uma das
equações do sistema (1) é redundante, desde que ela pode ser gerada pela combinação linear das (n + m - 1) outras equações. Por exemplo, a 1 ª equação é igual a soma das últimas n equações menos a soma das equações de 2 até m. Assim sendo, qualquer equação de (1) pode ser retirada. Logo, a base para um problema de transportes consiste de (m + n - 1) vetores linearmente independentes, ou seja, o número de variáveis básicas para qualquer Problema de Transportes é (m + n – 1). O problema dual de (1) é: Sendo as variáveis duais ui, i = 1, ..., m para as fontes e v j, j = 1, ..., n para os destinos, tem-se:
Max z = a1u1 + a2u2 +...+ amum + b1v1 + b2v2 +...+ bnvn s.a : u1 + v1 ≤ c11 u1 + v2 ≤ c12 . . u1 + vn ≤ c1n u2 + v1 ≤ c21 u2 + v2 ≤ c22 (2) . . u2 + vn ≤ c2n ... . um + v1 ≤ cm1 ≤ cm2 um + v2 . . um + vn ≤ cmn u j, v j irrestritos em sinal
Obs.: O problema de transportes pode ser representado e resolvido esquematicamente por meio do seguinte quadro:
1 1 2 .. m Dem.
2
.. n
c11
c12
c1n
c21
c22
c2n
cm1
cm2
cmn
b1
b2
Of. a1 a2 am
bn
Como uma das restrições do sistema (1) é redundante, qualquer uma das variáveis do sistema (2) pode ser escolhida para ter algum valor arbitrário. Por dualidade, para toda variável básica no problema primal (1), tem-se uma restrição do problema dual (2) satisfeita como uma igualdade. Então, se temos uma solução básica inicial para o problema primal, podemos: 1. escolher o valor de qualquer variável dual (u i ou v j) arbitrariamente; 2. calcular todas as outras variáveis por causa da triangularidade da base, ou seja, resolver expressões do tipo: ui + v j = cij , para toda variável básica usando um valor ui ou v j que é conhecido; Obs. Uma matriz quadrada é triangular se, após arranjos adequados de linhas e colunas, todos os coeficientes abaixo da diagonal principal são zero. 3. calcular os custos reduzidos para todas as variáveis não básicas: cij - ui - v j 4. Podemos checar se a solução é ótima ou não. Se é, todos os custos reduzidos para as variáveis não básicas são ≥ 0, ou seja, cij - ui - v j ≥ 0. Se existir um custo reduzido negativo, ou seja, c ij - ui - v j < 0, então a correspondente variável deverá ser básica. Aquela variável deverá ser expressa em termos das variáveis básicas e a troca de base deverá ser efetuada. 3. ALGORITMO DE TRANSPORTES:
O algoritmo de transportes é o método simplex particularizado. Este algoritmo envolve (como sempre): i. Determinação de uma solução inicial básica viável; ii. Teste da solução quanto a condição de ótimo; iii. Melhoria da solução quando não é ótima; iv. Repetição de ii. e iii. até se obter a solução ótima.
3.1 Obtenção de uma solução básica inicial: Dado o quadro inicial para o problema de transportes: Origens\ Destinos
1 2 ... m
1
x11 c21 x21 ... cm1 xm1 Demandas b1 c11
2
...
x12 c22 x22 ... cm2 xm2 b2
... ... ... ... ...
c12
N
Ofertas
x1n c2n x2n ... Cmn xmn Bn
a1 a2 ... am
c1n
Podemos determinar a solução básica inicial para o problema de diversas formas: Regra do Canto Noroeste, Método do Custo Mínimo; Método de Vogel e outros.
3.1.1 Regra do Canto Noroeste: 1. Começa-se a alocação na célula (1,1), daí a denominação "canto noroeste". Aloca-se a x11 tantas unidades quantas sejam possíveis sem violar as restrições; 2. Continua-se a alocação das unidades, deslocando-se para a célula imediatamente à direita. Se não for possível, para a célula
imediatamente abaixo; 3. Nenhuma alocação pode ser negativa. A alocação pode ser zero (neste caso, tratar-se-á de solução inicial degenerada para o Problema de Transportes). Exemplo 1: Uma companhia faz esquis em 3 fábricas através do mundo. As fábricas suprem 4 depósitos que distribuem os esquis diretamente às lojas de esquis. O problema é determinar quantos pares de esquis devem ser transportados de cada fábrica para os vários depósitos para minimizar o custo total. (determine a solução inicial pela R. C. Noroeste)
Fábrica \ Depósito
Frankfurt New York
Juarez Seoul TelAviv Demanda
$19 15 11 150
17 21 14 100
Phoenix
Yokohama
Capacidade da fábrica
3 18 15 200
21 6 22 150
100 300 200 600
3.1.2 Método de Vogel: 1. Para cada linha e cada coluna possuindo alguma sobra de oferta ou de demanda, calcula-se o respectivo resíduo (diferença ≥ 0 entre os dois menores custos c ij associados às células ainda sem alocação nesta linha ou coluna); 2. Considera-se a linha (ou coluna) possuidora do maior resíduo; 3. Nesta linha (ou coluna) identifica-se a célula com o menor custo unitário de transporte ainda sem alocação e aloca-se ali tantas unidades quantas sejam possíveis; 4. Recalculam-se os novos resíduos e repete-se o procedimento até que todas as demandas sejam satisfeitas. Considerações:
1. As variáveis para as quais se atribuiu valores por meio de qualquer dos procedimentos anteriores (Canto Noroeste ou Vogel ou outro) tornam-se as variáveis básicas da solução inicial. As variáveis sem alocação são não básicas e, por conseguinte, valem zero. 2. A regra do Canto Noroeste é o mais simples dos métodos, contudo, o método de Vogel, que leva em consideração os custos unitários de transporte, resulta numa solução inicial mais próxima da solução ótima.
Exemplo 2. Uma companhia locadora de automóveis se defronta com um problema de alocação resultante dos contratos de locação que permitem que os automóveis sejam devolvidos em localidades outras que aquelas onde foram originalmente alugados. Atualmente há 2 agências de locação com, respectivamente, 15 e 13 carros excedentes e 4 outras agências necessitando de 9, 6, 7 e 9 carros, respectivamente. Os custos unitários de transporte entre as locadoras são os seguintes: L. Or. 1 L. Or. 2
L. Dest. 1 45 14
L. Dest. 2 17 18
L. Dest. 3 21 19
L. Dest. 4 30 31
Determine uma solução inicial para este problema utilizando o método que desejar.
3.2 Teste da Condição de Ótimo: Atribui-se o valor zero a um dos elementos u i ou v j e calcula-se os valores restantes para u i e v j de maneira que para cada variável básica tenha-se: ui + v j = cij Em seguida, calcula-se para cada variável não básica a quantidade:
cij - ui - v j Se todas essas quantidades forem ≥ 0, a solução presente é ótima; caso contrário, a solução atual deve ser aperfeiçoada.
3.3 Aperfeiçoamento da solução: Considera-se a variável não básica correspondente ao valor mais negativo da grandeza (cij - ui – v j), calculada anteriormente. Esta é a variável a ser introduzida na base. Constrói-se um percurso de avaliação constituído unicamente : por esta variável (que foi introduzida) e pelas variáveis básicas correntes. Em seguida, aloca-se à célula introduzida tantas unidades quantas sejam possíveis de modo que, depois de terem sido efetuados os acertos apropriados nas outras células do percurso de avaliação, as restrições de oferta e de demanda não sejam violadas, todas as alocações permaneçam ≥ 0 e uma das variáveis básicas anteriores tenha sido reduzida a zero, ou seja, deixa de ser básica.
O PROBLEMA DE TRANSSHIPMENT (Transbordo) É um problema mais geral de transportes, no qual depósitos podem receber e também transportar um produto. Este tipo de problema pode ser resolvido utilizando o método de transportes, incluindo para cada ponto de transshipment (ponto de transbordo ou depósito) uma linha e uma coluna com capacidade e demanda idênticas. Transportes entre os pontos de transshipment são permitidos. Cada ponto de transshipment terá um custo zero e uma célula artificial representando a quantidade que ele transporta para si mesmo. Qualquer entrada nesta célula representa a quantidade pela qual aquela locação opera abaixo da sua capacidade.
Exemplo 1. A ABC Container serve 4 consumidores a partir de 2 fábricas. A média de distribuição mensal foi otimizada utilizando o método de transportes, com os dados do problema e a solução inicial mostrados no quadro abaixo. As capacidades e demandas estão em toneladas, com a unidade de custos em $ por tonelada (unidades monetárias/ton.). Resolvendo-se este problema, a solução ótima fornece um custo mensal de C = $ 20.600.
P1 P2 Demandas
C1 14 300 18
300
C2 15 200 19 50 250
C3 20
450 450
16
C4 17
250 250
21
Artif. 0 0
250 250
Capacidades
500 1.000 1.500
Dois depósitos foram temporariamente incorporados à rede de distribuição da ABC. A ABC quer saber se a utilização de tais depósitos trarão economias. Os custos de transporte ($ por tonelada) são os seguintes: Fábricas aos Depósitos: P1-W1 = 2 P1-W2 = 13 P2-W1 = 7 P2-W2 = 9
Depósito ao Consumidor: W1-C1 = 3 W2-C1 = 6 W1-C2 = 4 W2-C2 = 1 W1-C3 = 5 W2-C3 = 11 W1-C4 = 12 W2-C4 = 10
O depósito W1 tem uma capacidade (e consequentemente demanda) de 400 tons.; a capacidade de W2 é de 500. Os depósitos podem transportar de um para o outro a um custo de $ 8 por tonelada. Assumindo como solução inicial os dados contidos no quadro a seguir, determine a solução ótima para este problema de transshipment .
C1 P1 P2 W1 W2 Demandas
C2
C3
14
15
20
18
19
16
4
5
300 0 6 300 3
1
250 250
350 100
11
450
C4
W2
Capacidades
500
500 1.000 400 500 2.400
17
W1 2 400
21
7
Artif. 0 100 13 9 500 0 500
12
0
8
0
8
0
0
250 250
10
400
250
O valor da solução ótima é de $14.850, fornecendo uma economia à empresa de $5.750 ($20.600 - $14.850).
PROBLEMAS DE DESIGNAÇÃO (PD) ( ASSIGNMENT PROBLEM ) O. INTRODUÇÃO:
Os problemas de designação envolvem uma alocação biunívoca de, por exemplo, operários a tarefas. O número de operários se presume igual ao número de tarefas, condição que pode ser assegurada pela criação de operários ou tarefas fictícias e o tempo cij para o i-ésimo operário completar a j-ésima tarefa são conhecidos. O objetivo é designar cada um dos operários para cada uma das tarefas, de modo que estas sejam concluídas num tempo total mínimo. Os problemas de designação podem ser convertidos em problemas de transporte, considerando-se os operários como origens e as tarefas como destinos, em que todas as ofertas e demandas são iguais a 1. Um procedimento mais eficiente do que a resolução matemática de um PPLIB é o chamado Algoritmo de Transportes, ou ainda, Método Húngaro (desenvolvido por 2 matemáticos húngaros na década de 70). 2. MODELO MATEMÁTICO PARA OS PD:
Sendo: xij = 1, se a origem i for designada para o destino j; 0, caso contrário. Então: Min z = Σi=1,m Σ j=1,n cij xij
Σ j=1,n xij = 1 (i = 1,...,n) Σi=1,m xij = 1 (j = 1,...,n) xij ≥ 0 e binárias
s.a:
Os dados de um PD podem ser colocados em uma matriz de eficiência, que para o caso do problema dos funcionários fica da seguinte forma: Op.\Tarefas
1 2 3 ... n
1 c11 c21 c31 ... cn1
2 c12 c22 c32 ... cn2
3 c13 c23 c33 ... cn3
... ... ... ... ... ...
n c1n c2n c3n ... cnn
3. EXEMPLOS: Exemplo 1. (Puccini) Resolva o seguinte PD: A B C D E
1 12 7 9 7 9
2 8 9 6 6 6
3 7 17 12 14 12
4 15 14 6 6 10
5 4 10 7 10 6
Exemplo 2. (Puccini) Uma empresa vende produtos em 4 regiões e possui 4 vendedores para serem destacados, um para cada região. As regiões não são igualmente ricas e apresentam o seguinte potencial de vendas: Região I: $ 60.000,00; Região II: $ 50.000,00; Região III: $ 40.000,00; Região IV: $ 30.000,00. Os vendedores, por outro lado, não são igualmente hábeis e as suas eficiências, que refletem a capacidade de atingir o mercado potencial da
região, são dadas pelo quadro que se segue: Vend\Região A B C D
I 0,7 0,8 0,5 1,0
II 0,7 0,8 0,5 0,4
III 0,7 0,8 0,5 1,0
IV 1,0 1,0 1,0 0,4
Pede-se determinar, empregando o método da designação, como destacar os vendedores para que o volume de vendas seja o maior possível.
Exemplo 3. (Schaum) Uma rede de armazéns deseja construir quatro novas lojas na área de Campo Mourão. No passado a cadeia utilizou os serviços de seis empresas construtoras e, tendo ficado satisfeita com todas, convidou cada uma delas a cotar cada um dos serviços. As propostas finais (em milhares de $) estão indicadas no quadro a seguir. Armazéns\ Construtoras
1
2
3
4
5
6
Armazém 1 Armazém 2 Armazém 3 Armazém 4
85.3 78.9 82 84.3
88 77.4 81.3 84.6
87.5 77.4 82.4 86.2
82.4 76.5 80.6 83.3
89.1 79.3 83.5 84.4
86.7 78.3 81.7 85.5
Uma vez que a rede de armazéns deseja dispor das novas lojas prontas o mais rápido possível, designará no máximo uma obra a cada uma das companhias construtoras. Que alocação resulta em custo total mínimo para a rede de lanchonetes?
4. MÉTODO HÚNGARO – Algoritmo: (Problema de designação: Minimização) 1. Coloque os custos por unidade de recurso na forma de matriz (matriz de eficiência). 2. Subtraia ou adicione uma constante a cada linha e/ou coluna, tal que
exista no mínimo um zero em cada linha e em cada coluna; e nenhum valor negativo. 3. Marque o máximo número de designações às células zero, como segue: 3.1 Em cada linha com somente um 0, designe o 0 e elimine todos os 0's daquela coluna. 3.2 Em cada coluna com somente um 0, designe o 0 e elimine todos os 0's daquela linha. 3.3. Repita 3.1 e 3.2 até que todos os 0's tenham sido marcados (designados ou eliminados). 3.4 Esteja certo de que não existe mais do que um 0 designado em cada linha e coluna. 4. Se existe um 0 designado em cada linha e coluna, estas são as designações ótimas. Marque as correspondentes células originais e obtenha o custo total. Esta é a designação de custos mínimos. ------------------------------------------------------------------------------------------5. Se não existe um 0 designado em cada linha e em cada coluna, obtenha mais 0's como segue: 5.1 Marque todas as linhas que não tenham designação. 5.2 Marque todas as colunas com 0's eliminados nas linhas marcadas. 5.3 Marque todas as linhas com 0's designados nas colunas marcadas. 5.4 Repita 5.2 e 5.3 até a exaustão. 6. Passe uma linha através de todas as linhas não marcadas e colunas marcadas. Verifique: 1) se o número de linhas = número de 0's designados; 2) se todo 0 (designado ou eliminado) tem uma linha. 7. Marque a matriz reduzida, como segue: (este procedimento produz no mínimo mais um 0) 7.1 Ache o mínimo valor, não alinhado. 7.2 Subtraia este valor de todas as linhas marcadas. 7.3 Adicione este valor a todas as colunas marcadas.
8. Faça o máximo número de designações, como no passo 3 e repita 5, 6 e 7 até que exista uma designação 0 em cada linha e cada coluna, como no passo 4.
Obs.: No passo 3, se todas as linhas e colunas com um único 0 acabaram e somente linhas e colunas com dois 0's permanecem, significa que existe mais de uma designação mínima para estas linhas e colunas. Qualquer um desses 0's pode ser designado para produzir o mesmo custo mínimo total. Neste caso, as soluções alternativas devem ser registradas. 5. TEOREMA (Designação): O processo iterativo que conduz à solução ótima baseia-se no seguinte teorema: Ao se adicionar (subtrair) uma constante de cada elemento de uma linha (coluna) qualquer da matriz de eficiência de um PD, a solução ótima da matriz alterada será também a solução ótima da matriz inicial. Seja k i = constante somada (subtraída) a cada elemento da linha (coluna) i (i = 1, 2, ..., n) Zk = Σ j=1,n (c1j + k 1) x1j + Σ j=1,n (c2j + k 2) x2j + ... + Σ j=1,n (cnj + k n) xnj Zk = Σi=1,nΣ j=1,n cij xij + k 1 Σ j=1,n x1j + k 2 Σ j=1,n x2j + ... + k n Σ j=1,n xnj Mas, como: Σ j=1,n x1j = Σ j=1,n x2j = ... = Σ j=1,n xnj = 1, tem-se que: Zk = Σi=1,n Σ j=1,n cij xij + Σ j=1,n k i ou ainda, Zk = Z + Σi=1,n k i
LEITURA: K. MURTY: Capítulos: 11, 13, 14 e 15 L. LAPIN: Capítulos: 13, 14, 15 e 16 M. GOLDBARG e H. LUNA: Capítulo 5.
2ª LISTA DE EXERCÍCIOS Selecionar 06 exercícios variados (3 de Transportes e 3 de Designação) para resolvêlos manualmente (Transporte: solução inicial pelo método que desejar e 2 iterações completas pelo Algoritmo de Transportes e Designação: todas as iterações até achar a solução ótima) e utilizando o software LINGO. PROBLEMAS DE TRANSPORTES: Problema 1. Uma companhia locadora de automóveis se defronta com um problema de alocação resultante dos contratos de locação que permitem que os automóveis sejam devolvidos em localidades outras que aquelas onde foram originalmente alugados. Atualmente há 2 agências de locação com, respectivamente, 15 e 13 carros excedentes e 4 outras agências necessitando de 9, 6, 7 e 9 carros, respectivamente. Os custos unitários de transporte entre as locadoras são os apresentados no quadro abaixo. Determine um plano de transporte ótimo que minimize o custo de transporte. L. Or. 1 L. Or. 2
L. Dest. 1 45 14
L. Dest. 2 17 18
L. Dest. 3 21 19
L. Dest. 4 30 31
Problema 2. Uma companhia faz esquis em 3 fábricas através do mundo. As fábricas suprem 4 depósitos que distribuem os esquis diretamente às lojas. O problema é achar quantos pares de esquis devem ser transportados de cada fábrica para os vários depósitos para minimizar o custo total. Fábr\Depósito
Frankfurt
New York
Phoenix
Yokohama
Capac. da fábrica
Juarez Seoul TelAviv Demanda
19 15 11 150
17 21 14 100
3 18 15 200
21 6 22 150
100 300 200 600
Problema 3. Um fabricante de artigos de plástico possui um estoque de 1.200 caixas de envólucros transparentes em uma de suas fábricas e outras 1.000 caixas em uma segunda fábrica. O fabricante recebeu pedidos deste produto provenientes de três diferentes varejistas nas quantidades de 1.000, 700 e 500 caixas, respectivamente. Os custos unitários de expedição (em $ por caixa) desde as fábricas até os varejistas são os seguintes: Fábrica 1 Fábrica 2
Varejista 1 14 13
Varejista 2 13 13
Varejista 3 11 12
Determine o programa de expedição que atenda as demandas a partir do estoque disponível, a um custo mínimo.
Problema 4. O Expresso Rápido Faxina é uma empresa de transporte com quatro grandes terminais localizados em Curitiba, Cascavel, Londrina e Campo Mourão. Os pneus utilizados pela frota dessa empresa são padronizados. A empresa fez uma tomada de preços em três grandes revendedores de pneus e obteve as seguintes cotações: LOCAL
Revendedor A
Revendedor B
Revendedor C
Pneus Necessários 4000 8000 3000 5000
70 64 68 Curitiba 74 62 65 Londrina 62 68 64 Cascavel 62 72 66 Campo Mourão 12000 6000 4000 Pneus Disponíveis Se o objetivo da empresa Expresso Rápido Faxina é minimizar o custo total de aquisição dos pneus, quanto ela deverá comprar de cada revendedor?
Problema 5. Uma companhia aérea regional pode comprar seu combustível para jato a partir de qualquer um dentre três fornecedores. As necessidades da companhia aérea para o mês entrante em cada um dos três aeroportos em que ela opera são: 100.000 galões no aeroporto 1; 180.000 galões no aeroporto 2 e 300.000 no aeroporto 3. Cada fornecedor pode abastecer cada um dos aeroportos de acordo com os preços (em $ por galão) dados no seguinte quadro: Aeroporto 1 Aeroporto 2 Aeroporto 3 92 89 90 Fornecedor 1 91 91 95 Fornecedor 2 87 90 92 Fornecedor 3 Cada fornecedor, contudo, está limitado pelo número total de galões que ele pode abastecer por mês. Estas capacidades são 320.000 galões para o fornecedor 1, 270.000 galões para o fornecedor 2 e 150.000 galões para o fornecedor 3. Determine a política de aquisição que suprirá as necessidades da companhia em cada aeroporto a um custo total mínimo. Problema 6. A Lincoln Refeições Industriais S/A administra três restaurantes (Pinhais, Boqueirão e Araucária) para fornecer refeições industriais para funcionários de empresas da região metropolitana de Curitiba. Atualmente ela está analisando três novos contratos para fornecer mais 4.000 refeições. Os custos e as necessidades de refeições estão especificadas abaixo:
Restaurante
Empresa A
Empresa B
Empresa C
Capacidade
Adicional 1500 1200 2000
4.0 3.0 2.4 Pinhais 2.8 4.0 3.2 Boqueirão 2.0 2.4 2.8 Araucária Refeições 1400 800 1800 Necessárias Qual deve ser a logística de distribuição de refeições da Lincoln Refeições Industriais S/A?
Problema 7. Os mercados “Deise-Luzia” atendem 11 armazéns de três centros regionais, segundo os volumes mostrados no quadro a seguir. O custo médio de movimentar bens de um centro para um armazém é de $ 0.50 por ton. por km. Ache o programa de transporte ótimo e seu custo. Distância (km) Capac. W10 W11 centros (kiloto ns.)
Centro
W1
W2
W3
W4
W5
W6
W7
W8
W9
C1
10
22
29
45
11
31
42
61
36
21
45
500
C2
25
35
17
38
9
17
65
45
42
5
41
750
C3 Demanda Armazém (kilotons.)
18
19
22
29
24
54
39
78
51
14
38
400
112
85
138
146
77
89
101
215
53
49
153
Problema 8. Algumas modificações são sugeridas no exercício 7 anterior. Considere cada item independentemente, modificando o problema original em cada caso. Resolva o problema modificado e responda as questões: a. Um programa de modernização no centro C1 aumentará a sua capacidade em 100 kilotons. e reduzirá os custos em 10% de todos os transportes de C1? 1. De quanto o custo total decrescerá ? 2. De quanto o volume transportado de C1 aumentará ? b. O Armazém W8 está fechado. As operações estão consolidadas em W7, tal que as demandas são combinadas e os custos de W7 se aplicam para todo o transporte originalmente definido por W8. 1. O custo total aumenta ou diminui ? 2. Quais centros transportam agora para W7 ? c. O centro C1 está fechado, e a capacidade de C3 é aumentada de 400 para 500. 1. O custo total aumenta ou diminui ? P. Qual o nível das economias no custo operacional líquido fixo que justificaria as trocas ?
Problema 9. Considere o seguinte problema da Distribuidora BGLP, cujos custos de transporte das fábricas até os depósitos estão contidos no quadro a seguir: Fábr. \ Dep. P1 P2 P3 Demandas
W1 2 7 5 50
W2 6 3 8 150
W3 4 10 9 200
W4 12 11 13 250
Capacidades 100 250 300 650
a) Formule este problema como um PPI. b) Utilizando o método que desejar, determine uma solução inicial. Calcule o custo para esta solução inicial. c) Verifique se a solução inicial é ótima. Caso negativo, utilize o algoritmo de transportes e determine uma nova solução com o respectivo custo.
Problema 10. Uma empresa tem 2 fábricas e 3 depósitos de distribuição. Os custos de distribuição, demandas e capacidades estão no quadro a seguir. Quanto deve ser enviado de cada fábrica para cada depósito de modo a minimizar o custo total de transporte? Fábrica\Depósito 1 2 Demandas
1 6 4 180
2 7 5 220
3 5 9 270
Ofertas 140 250
Problema 11. Uma firma que produz um único produto tem 3 fábricas e 4 clientes. As 3 fábricas produzirão 40, 20 e 30 unidades, respectivamente, durante o próximo período de produção. A firma tem um compromisso de vender 20 unidades ao cliente 1, 30 unidades ao cliente 2 e pelo menos 10 unidades ao cliente 3. Os clientes 3 e 4 querem, também, comprar tanto quanto possível das unidades restantes. O lucro líquido associado à remessa de uma unidade da fábrica i para venda ao cliente j é dado pelo quadro seguinte: Fábr.\Cli 1 2 3
1 7 9 6
2 5 8 3
3 4 6 2
4 6 3 4
A gerência deseja saber quantas unidades deve vender aos clientes 3 e 4 e quantas unidades deve remeter de cada uma das fábricas para cada um dos clientes de modo a maximizar o lucro.
Problema 12.
Uma companhia de locação de automóveis necessita aumentar o número de carros nas suas bases litorâneas como preparação para um forte verão. Simultaneamente pode reduzir o número de carros em algumas cidades afastadas do litoral e que tem, tradicionalmente, redução de demanda durante o verão. As necessidades são: Salvador-9 carros; Santos-6 carros; Estreito-7 carros e Natal-9 carros. As sobras são as seguintes: Brasília-18 carros e Belo Horizonte-13 carros. Os custos de transporte incluem as despesas com salários dos motoristas e com a viagem de volta, e estão no quadro a seguir:
Origem/Destino Brasília Belo Horizonte
Salvador 45 14
Santos 17 18
Estreito 21 19
Natal 30 31
Problema 13. Sr. Alfredo necessita definir a quantidade a ser enviada de cada uma das 2 fábricas da PiseBem, principal empresa de calçados do estado. Existem 3 fábricas: TOLEDO com capacidade de produção de 6000 unidades e PONTA GROSSA com capacidade de produção de 2500 unidades, e DOIS VIZINHOS, com capacidade de 5000 unidades e 4 depósitos: Curitiba, com demanda de 6000, Cascavel, com demanda de 4000, Maringá com demanda de 2000 e Campo Mourão com demanda de 1500. Formule este problema como um PPLI de modo a obter o menor custo possível dada a tabela de custo a seguir: Orig.\Dest. Toledo Ponta Grossa Dois Vizinhos
Curitiba 7 2 3
Cascavel 5 5 2
Maringá 2 4 7
Campo Mourão 3 5 6
Problema 14. Expresso Rápido Paranaense é uma empresa de transporte com quatro grandes terminais localizados nas cidades A, B, C e D. Conseguiram padronizar o tamanho dos pneus em cada um de seus caminhões e se preparam para fazer um grande pedido de reposição de pneus para as duas grandes companhias no Brasil, a Goodrelli e a Pi-ano. A demanda total é de 20.000 pneus. Estes serão estocados em cada um dos quatro terminais, nas quantidades mostradas na tabela a seguir. Também na tabela consta o custo de entrega de cada pneu, por companhia.
Terminal A B C D
Pneus Necessários 3.500 8.500 4.500 3.500
$/pneu Goodrelli 66 65 37 42
Pi-ano 38 75 65 48
O Sr. Shiguetoshi, gerente de suprimentos tem a informação que a Goodrelli dispõe de no máximo 16.000 pneus, e que a Pi-ano somente dispõe de 8.000 unidades para pronta entrega. Deseja-se minimizar o custo total de receber as 20.000 unidades. Resolva o problema como um problema de transporte cuja solução informe ao Sr. Shiguetoshi a quantidade ideal de pneus que deve ser encomendada de cada companhia para cada terminal.
Problema 15. Uma grande indústria de bebidas possui 3 fábricas e 3 centros de distribuição – venda direta, na Região Sul. As fontes são as fábricas de Curitiba, Continental e Lajes com as respectivas capacidades mensais de produção de caixas de cerveja inteira (600 ml): 40.000, 55.000 e 35.000. Os destinos são os centros de distribuição de Curitiba, Florianópolis e Porto Alegre com as respectivas demandas do mesmo produto: 30.000, 40.000 e 60.000. Com base na tabela de preços de transportes a seguir, determine qual é a melhor forma de distribuir esta produção a fim de que se atenda totalmente as demandas e que proporcione o menor custo para a empresa. Destinos\ Curitiba Continental Lajes Fontes Curitiba --12,00 9,00 Florianópolis 9,50 7,00 5,00 Porto Alegre 15,00 --10,00 Está sendo estudada a possibilidade de se construir um depósito para auxiliar o transporte entre as fábricas e os centros de distribuição (ponto de transbordo) para diminuir os custos de transporte. Os custos de transportes para este caso são: Destinos\ Curitiba Continental Lajes Transbordo Demanda Fontes --12,00 9,00 5,00 30.000 Curitiba 9,50 7,00 5,00 2,50 40.000 Florianópolis 15,00 --10,00 6,50 60.000 Porto Alegre 5,00 6,50 2,50 --100.000 Tranbordo 40.000 55.000 35.000 100.000 Produção Mensal Faça a análise dos resultados para verificar as vantagens ou não da colocação deste ponto de transbordo.
PROBLEMAS DE DESIGNAÇÃO: Problema 1. A Metalúrgica Araucária S/A, dentro de 60 dias, deverá começar a funcionar em sua nova sede localizada na Cidade Industrial de Curitiba (CIC). O Presidente da Metalúrgica deseja que a distribuição das salas, dessa nova instalação, seja feita de modo a atender, na medida do possível, as preferências já manifestadas. Em uma pesquisa realizada, os Diretores manifestaram as suas preferências:
Sala 1 Sala 2 Sala 3 Sala 4 Sala 5 Sala 6 2 4 3 1 5 6 Diretor 1 1 5 4 6 3 2 Diretor 2 5 3 4 2 1 6 Diretor 3 1 3 2 4 6 5 Diretor 4 3 2 5 6 1 3 Diretor 5 Se você fosse convidado a opinar sobre a distribuição das salas qual seria a sua recomendação? Problema 2. A Companhia Aérea Xanadu oferece uma excursão a preços reduzidos que permite a uma pessoa utilizar todos os itinerários de vôo. O bilhete, válido por duas semanas a contar da data de aquisição, possui a seguinte restrição : nenhuma cidade do itinerário pode ser revisitada exceto a de origem, que será a última parada da excursão. Uma turista estrangeira, que está na cidade 1 (a capital), deseja conhecer as cidades provinciais 2, 3 e 4 antes de retornar à capital. Ela decide viajar pela companhia Xanadu. Os tempos de vôo (em minutos) entre as cidades de interesse são dados no quadro a seguir. Determine um itinerário aceitável que minimize o tempo total de vôo da turista. Cidades 1 2 3 4
1 --65 53 37
2 65 --95 ---
3 53 95 --81
4 ----81 ---
Problema 3. Uma empresa construtora tem 5 tratores em locais diferentes e um trator é necessário para cada uma das três obras situadas em locais diferentes. Se os custos de transporte dos tratores forem os do quadro a seguir, determine o esquema de designação de custo mínimo. LocTr\LocCons 1 2 3 4 5
A 2 7 3 4 4
B 3 6 5 6 6
C 4 4 8 5 3
Problema 4. Resolva o seguinte problema de designação até atingir a solução ótima.
A B C D E
1 9 7 11 19 12
2 15 5 14 22 8
3 6 10 13 15 10
4 14 4 10 26 9
5 18 13 14 24 13
Problema 5. Seis trabalhadores devem ser designados para seis diferentes trabalhos, cada qual devendo ser executado em um tipo diferente tipo de máquina. Registros passados fornecem as performances individuais para os seis trabalhadores, em minutos, conforme o quadro apresentado a seguir. O objetivo é designar os indivíduos aos trabalhos de tal maneira que o tempo seja minimizado. i\j Arinei Deisi Luzia Neiva Paulo Wladimir
Tarefa 1 13 18 20 14 21 17
Tarefa 2 22 17 22 19 14 23
Tarefa 3 19 24 23 13 17 18
Tarefa 4 21 18 24 30 25 20
Tarefa 5 16 22 17 23 15 16
Tarefa 6 20 27 31 22 23 24
Problema 6. Quatro trabalhadores devem ser designados para quatro diferentes trabalhos, cada qual devendo ser executado em um tipo diferente de máquina. Registros passados fornecem as performances individuais para os quatro trabalhadores, em minutos, conforme o quadro apresentado a seguir. O objetivo é designar os indivíduos aos trabalhos de tal maneira que o tempo seja minimizado. i\j Ana João Marcos Luiz
Tarefa 1 13 18 20 14
Tarefa 2 22 17 22 19
Tarefa 3 19 24 23 13
Tarefa 4 21 18 24 30
Problema 7. Quatro operários devem ser designados para quatro diferentes trabalhos, cada qual devendo ser executado em um tipo diferente de máquina. Registros passados fornecem as performances individuais para os quatro operários, em minutos, conforme o quadro apresentado a seguir. O objetivo é designar os operários aos trabalhos de tal maneira que o tempo seja minimizado. Operário/Tarefa 1 2 3 4 13 22 19 21 Deise 18 17 24 18 Luzia 20 22 23 24 Arinei 14 19 13 30 Volmir Problema 8. A Xan Consulting deseja determinar a melhor distribuição de trabalho para seus três principais consultores. O objetivo é obter a distribuição que estabeleça o menor tempo total para a execução das tarefas. Os tempos que cada consultor levaria para cada tarefa são:
Consultor\Clien Luiz Antonio Geraldo Agivaldo
ABC 10 9 7
PQR 15 18 14
XYZ 9 5 3
Ajude Xan a determinar a melhor solução.
OTIMIZAÇÃO EM REDES 1. ALGUMAS DEFINIÇÕES: *Grafo ou Rede: é uma coleção de vértices (nós, pontos) x1, x2, ..., xn, e uma coleção de linhas (arcos, arestas) a1, a2, ..., am conectando todos ou alguns destes pontos. O grafo G é denotado e descrito pela dupla (X, A), ou seja, G(X, A). Quanto as linhas, o grafo poderá ser: direcionado ou não-direcionado.
*Sucessores: o conjunto de sucessores do nó xi, denotado por Γ (xi), é
definido como:
Γ (xi) = {xj ∈ X | (xi, xj) ∃ em G} Ex. 1: Obs.: Um grafo G pode ser denotado também por (X, Γ ), ou seja, G(X, Γ ) *Antecessores: o conjunto de antecessores do nó xi, denotado por Γ -1(xi), é definido por:
Γ -1(xi) = {xk ∈ X | (xk, xi) ∃ em G} Ex. 2: Obs.: Para grafos não direcionados Γ (xi) = Γ -1(xi) ∀ xi ∈ X. *Caminho (para grafo direcionado): um caminho em um grafo direcionado é qualquer seqüência de arcos onde o vértice final de um é o vértice inicial do seguinte. Ex. 3: *Arcos adjacentes: dois arcos são adjacentes, se possuírem pelo menos um vértice comum. *Vértices adjacentes : dois vértices xi e xj são adjacentes, se (xi, xj) e/ou (xj, xi) existir(em). *Caminho simples: é um caminho no qual um arco não figura mais que uma vez. *Caminho elementar : é um caminho no qual um vértice não figura mais que uma vez. Obs.: Um caminho elementar é também simples. O recíproco nem sempre é verdadeiro.
*Cadeia (para grafo não direcionado): uma cadeia em um grafo não direcionado é qualquer seqüência de arestas onde o vértice final de um é o vértice inicial do seguinte. *Cadeia simples : (análogo a caminho simples) *Cadeia elementar : (análogo a caminho elementar) Obs.: Um caminho ou uma cadeia poderão ser representados pela seqüência de vértices, o que é mais conveniente em se tratando de achar caminhos ou cadeias elementares. *Custo (ou peso ou comprimento) de um caminho : se a cada arco (xi, xj) de um grafo for associado um custo cij, um caminho µ representado pela seqüência de arcos (a1, a2, ..., aq), terá o seu custo calculado por : L (µ) = Σ(xi,xj)∈µ cij
*Cardinalidade de um caminho : a cardinalidade de um caminho µ é o número de arcos que formam este caminho. *Laço: é um arco cujo vértice inicial é o mesmo que o final. Ex. 4: *Circuito: é um caminho a1, a2, ..., aq, no qual o vértice inicial de a1 coincide com o vértice final de aq. *Circuito elementar: é um circuito no qual um vértice só aparece uma vez (exceto o inicial e o final que são os mesmos). *Circuito Hamiltoniano: é o circuito elementar que contém todos os n vértices do grafo G. Obs.: nem todo grafo possui um circuito hamiltoniano. *Grau de saída de um vértice : o grau de saída de um vértice xi, denotado por ds(xi), é o número de arcos que têm xi como vértice inicial.
ds(xi) = | Γ (xi) |
*Grau de entrada de um vértice : é o número de arcos que têm este vértice como final. de(xi) = | Γ -1(xi) |
Obs.: Σi=1,n ds (xi) = Σi=1,n de(xi) = m (n = número de vértices, m = número de arcos) Grafos parciais e subgrafos : Dados um grafo G (X, A) = G(X, Γ ) define-se: a. Grafo parcial de G é um Gp (X, Ap), tal que Ap ⊂ A. b. Subgrafo de G é um Gs (Xs, Γ s), com Xs ⊂ X, e para cada xi ∈ Xs, Γ s(xi) = Γ (xi) ∩ Xs. Outra notação para Gs é: < Xs >. c. Subgrafo parcial de G é um grafo parcial de subgrafo de G. Ex 5. Graus de conexidade de um grafo: Um grafo G (X, A) é dito: a. Fortemente conexo , se para cada par xi, xj ∈ X, existe um caminho ligando xi a xj e um caminho ligando xj a xi. b.Unilateralmente conexo , se para cada par xi, xj ∈ X, existe um caminho ligando xi a xj e/ou um caminho ligando xj a xi. c. Conexo, se para cada par xi, xj ∈ X, existe pelo menos uma cadeia ligando xi a xj. d. Desconexo, se pelo menos para um par xi, xj ∈ X, não existir uma cadeia conectando xi a xj. Ex. 6:
Representação Matricial de um grafo: Q. Matriz de adjacência: dado um grafo
G (X, A), sua matriz de adjacência, denotada por A = [aij], é uma matriz n x n, definida como: aij = 1, se o arco (xi, xj) ∈ em G; aij = 0, se o arco (xi, xj) ∉ em G.
Ex. 7: R. Matriz de incidência : dado um grafo G (X, A), sua matriz de incidência,
denotada por B = [bij], é uma matriz n x m, definida como: bij = 1, se xi é o vértice inicial de aj; bij = -1, se xi é o vértice final de aj; bij = 0, se xi não é um vértice terminal de aj, ou se aj é um laço.
Ex. 8: Obs.: Se G (X, A) for um grafo não direcionado, a matriz de incidência é definida como anteriomente, exceto trocando os "-1" por "1".
2. PROBLEMAS REDES:
QUE
ENVOLVEM
OTIMIZAÇÃO
EM
Vimos que a PL pode ser usada para avaliar uma grande variedade de decisões. Agora vamos ver aplicações especiais que podem ser representadas em termos de uma rede. Aplicações dos modelos de redes: Problemas de Roteamento de Veículos; Problemas de entrega e coleta de mercadorias (correio, leiteiro, leituristas da Sanepar, da COPEL, etc); Projeto de Scheduling ; Planejamento de Produção; Decisões de layout ; dentre outros. Vamos analisar situações em rede que envolvem tomadas de decisão tais como: qual rota tomar; como enviar cargas para minimizar tempo ou custo; etc.
Estes problemas envolvem determinação de fluxo. Eles podem ser expressos como programas lineares envolvendo uma variável de fluxo para cada arco.
Os seguintes problemas, dentre outros, serão estudados: *Problema de rota mínima: rota que minimiza a distância de uma cidade inicial a qualquer cidade da rede, por exemplo. *Problema da minimal spanning tree, ou problema da mínima arborescência: procura o conjunto de arcos conectando todos os nós com o mínimo possível de distâncias combinadas. *Problema do fluxo máximo: determina, por exemplo, o fluxo máximo de chamadas telefônicas através de uma rede. *Problema de fluxo máximo a um mínimo custo: É muito parecido com o problema de transporte; otimiza o transporte para um sistema de distribuição com arcos tendo tanto limites inferiores como superiores.
2.1 Problema da Rota Mínima ou Busca de Caminhos Mínimos É conceitualmente o modelo mais simples de rede.
Exemplo 1: (Lapin) Para ilustrar este tipo de problema, consideraremos o problema de um despachante de longas distâncias, que é responsável pela rota de caminhões sobre a seguinte rede: ... Os arcos são não-direcionados, ou seja, o movimento nos dois sentidos é possível entre todos os centros de distribuição. Os números sobre os arcos indicam as distâncias em centenas de km. O despachante quer determinar a rota mínima, representada por uma seqüência de arcos, de A até O. S. O Modelo Matemático para o Problema da Rota Mínima:
A rede contém nós de 0 a n. As variáveis xij representam a quantidade de fluxo ao longo do arco não-direcionado (i, j). Cada arco (i, j) tem um comprimento ou distância cij entre os nós i e j. Min C = Σi=0,n Σ j=0,n cij xij s.a : Σi=0,n xik = Σ j=0,n xkj , para os nós intermediários k = 1, 2, ..., n-1 (conservação de fluxo) Σ j=0,n x0j = 1 (exigência de percurso) Σi=0,n xin = 1 (exigência de percurso) xij = 0 ou 1 (binárias) A solução será: xij = 1, se o arco (i, j) está na rota mínima de 0 até n 0, se " " " O problema do despachante possui: 28 variáveis de fluxo (são os arcos); 14 restrições de igualdade; 14 variáveis artificiais. Agora, consideraremos um algoritmo mais eficiente para resolver este tipo de problema.
B. Algoritmo de Dijkstra: 1. Designe para o nó inicial o valor zero, sendo que desta forma ele fica avaliado; 2. Identifique todos os nós não avaliados conectados a um nó avaliado; 3. Selecione o nó que fornece a mínima soma e faça com que ele fique avaliado. Este nó terá um "ponteiro" para indicar de onde a mínima soma foi obtida. Se o nó terminal ainda não está avaliado, retorne ao passo 2; 4. A mínima distância do início ao final é o valor do nó final. Podemos determinar a rota mínima traçando o percurso backward do término ao início, seguindo os ponteiros.
Resolução do Ex. 1. ...
Exemplo 2: (Schaum) Uma pessoa que vive em Ridgewood, NJ, e trabalha em Whippany, NJ, procura um itinerário que minimizará o tempo de viagem matinal. Esta pessoa registrou o tempo de viagem (em minutos) ao longo das principais auto-estradas entre diferentes cidades intermediárias. Estes dados estão mostrados na tabela a seguir. Uma célula em branco significa a inexistência de auto-estradas interligando diretamente as localidades assinaladas. Determinar o melhor itinerário de viagem diária. Ridgewood Clifton Orange Troy Hills Parsippany Whippany
Ridgewood --18 --32 -----
Clifton 18 --12 28 -----
Orange Troy Hills --32 12 28 --17 17 ----4 32 17
Parsippany Whippany ----------32 4 17 --11 11 ---
Exemplo 3: (Schaum) Uma empresa industrial ganhou um contrato para produzir embalagens. O contrato é de 4 anos e não se espera que seja renovado. O processo de produção requer uma máquina especializada com que a empresa não conta. A empresa pode : comprar a máquina; fazer sua manutenção durante os 4 anos de contrato e em seguida vendê-la como sucata ou substitui-la ao final de um determinado ano por um modelo novo. Os novos modelos requerem menos manutenção que os antigos. O custo de operação líquido estimado (preço de compra da máquina + mais manutenção - valor de revenda) para se comprar uma máquina no começo do ano i e dála como pagamento parcial ao início do ano j é fornecido pela tabela a seguir, com todos os números expressos em unidades de milhares de $. Determinar a política de substituição que minimizará o custo total de operação referente a máquina durante a vigência do contrato. (Obs.: Este problema pode ser resolvido por Programação Dinâmica ou, pode ser modelado como um problema de percurso mínimo sobre uma rede orientada). i\j
1
2
3
4
5
1 2 3 4
---------
12 -------
19 14 -----
33 23 16 ---
49 38 26 13
Exemplo 4. ... C. Algoritmo de Floyd: Fornece os caminhos de mínimo custo para todos os pares de vértices. Seja C = [cij] a matriz de custos associada a um grafo G(X,A), e definida como:
custo associado ao arco (xi, x j) ∈ A cij = 0, ∀ (xi, xi) ∈ A ∞ , se (xi, x j) ∉ A
1. Faça k = 0 2. k = k + 1 3. Para todo i ≠ k tal que cik ≠ ∞ e todo j ≠ k tal que ckj ≠ ∞ faça a operação: cij = min [cij, (cik + ckj)]. 4. a. Se k = n, pare. A solução foi alcançada e [c ij] fornece os custos mínimos para cada par de vértices. b. Se k < n, volte a 2. O algoritmo pode ser complementado a fim de apresentar, além dos custos mínimos, os caminhos nos quais estes custos foram obtidos. Para tanto, T.C. Hu (1969) sugere o armazenamento de uma segunda matriz θ = [θij], onde θij é o vértice predecessor do vértice x j no caminho mínimo entre os vértices x i e x j. Inicialmente, θij = xi, ∀ j. A atualização desta matriz será feita da seguinte forma:
θ ij = θkj, se (cik + ckj) < cij