Problemas de Afectação Problema de afectação Caso particular de programação liear Caso particular do problema de trasportes Permite uma solução particular mais simples que os dois casos ateriores
Aplicações de problemas de afectação Atribuição de pessoas ou máquias a tarefas Exemplos: Numa escritório de advogados, atribuir casos aos diversos advogados, cosoate a experiêcia e gosto de cada um deles Numa empresa de trasportes, atribuir as diversas viaturas aos serviços ecessários Numa obra grade atribuir tarefas aos subempreiteiros Exemplo Afectação de empreiteiros a obras Para ser mais rápido, cada obra deve ser feita por um empreiteiro diferete Bloco A Bloco B Acessos Garages Catia J.Martis. 59.5 5. 8.. Sousa P. 5. 5.. 5. 5. S.C.A. 85. 9.. 9.. A.C.Pito 58.5 58.. 85. 95.5 R. e Filhos...5 9.. Que obra recebe cada empreiteiro?
Formulação geral (em rede) Mi custo Recursos Tarefas X ij = ou Recruso s Recurso s Tarefa d Tarefa d X ij = Recurso i executa a tarefa j Recurso s m m X ij Tarefa d X ij = Recurso i NÃO executa a tarefa j Custos c ij (= custo de realizar a tarefa j com o recurso i) Formulação como PL Miimizar custo Mi c x +c x + c x Sujeito a x +x + +x = x +x + +x = Restrições devido aos recursos x +x + +x = x +x + +x = Restrições devido às tarefas
Formulação como PL Simplificado: Miimizar z = j= i= i= j= xij = i =,, K, c ij x ij xij = j =,, K, (recursos) (tarefas) Não é ecessário impor x= ou Nesta caso, há um teorema que prova que se os coeficietes são iteiros, etão as variáveis também são iteiras. Como as restrições ão permitem valores superiores a, x ij tem que ser ou Exemplo: Trabalho de NTI O, a Aa, e o têm que fazer o trabalho prático da cadeira de Novas Tecologias de Iformação (NTI), do ºao do ISEGI. O trabalho cosiste em resolver o problema do caixeiro viajate para 8 cidades portuguesas, usado uma rede euroal SOM. Nesse trabalho é preciso: Fazer uma pesquisa bibliográfica () para ver como é que outras pessoas resolveram este problema, e para descobrir as distâcias etre as cidades pretedidas Programar () uma rede euroal SOM, usado o software SAS Eterprise Mier Escrever () o relatório do trabalho
Exemplo: Trabalho de NTI Os três elemetos do grupo demoram tempos diferetes a fazer cada uma das tarefas (us são melhores uma coisa, outros outra). Os três cocordam que o mais importate é que, o cojuto, percam o meos tempo possível, mas todos façam pelo meos uma tarefa. Todos escrevem um papel o tempo que estimam demorar a fazer cada tarefa Exemplo: Trabalho de NTI Matriz de custos: Aa 9 Vamos etão usar método húgaro para determiar a solução óptima Uma solução possível Aa 9 Custo = +9+ =8 Outra solução possível Aa 9 Custo = ++ = 5
Método húgaro Resolve de forma rápida problemas de afectação Ideias base Se à matriz de custos somarmos ou subtrairmos costates, a afectação óptima cotiua a ser a mesma Dada uma matriz com é óbvio que essa afectação é óptima, pois tem custo Resolução pelo método Húgaro() º Subtrair a todas as lihas o meor elemeto dessa liha Todas as lihas passam a ter um º Subtrair a todas as coluas o meor elemeto dessa colua Todas as coluas passam a ter um º SE fôr possível escolher s de modo a que todas as lihas e coluas estejam cobertas.. temos uma solução óptima O que é cobrir? Quato escolhemos um zero estamos a atribuir um recurso a uma tarefa, logo essa tarefa fica coberta (há alguém que a faz), e o recurso também fica coberto
Trabalho de NTI, método húgaro Matriz de custos: Aa 9 Aa O faz a pesquisa O programa A Aa escreve o relatório Aa (A)+(R)+(M)=5 horas Exemplo: Trabalho de NTI revisto Matriz de custos (revisto): Aa 9 Aa 8 8 Ao fim do ºpasso, ão temos uma solução óptima. Vamos ter que iterar os passos seguites até o ecotrarmos
Resolução pelo método Húgaro() º (revisto) Começado com as lihas/coluas com mais zeros, ir riscado lihas/coluas até ão restarem mais zeros Se o úmero de lihas/coluas riscadas fôr igual ao o úmero de lihas etão temos uma solução óptima, e podemos fazer as afectações Se o úmero de lihas/coluas riscadas fôr meor que o úmero de lihas etão passar ao passo seguite º Etre os úmeros que sobram (ão cortados), escolher o úmero mais pequeo 5º Subtrair esse úmero às quadrículas ão cobertas e somá-lo as itercepções das lihas e coluas cobertas. º Voltar ao passo Exemplo: Trabalho de NTI revisto Cotiuação a partir do º passo Aa Aa 8
Problemas Nº de recursos Nº de tarefas Acrescetar recursos ou tarefas fatasmas Custos destas atribuições podem ser Tarefas que ecessitam de vários recursos (ou vice versa) Desdobrar em duas tarefas (ou desdobrar recursos) Afectações impossíveis Usar custos grades ( M ) Exemplo mais complexo A fábrica Job Shop comprou máquias ovas. Há locais ode podem ser colacadas, mas deve-se colocá-las de modo a miimizar os custos em trasportar os materiais para as máquias. Loc. Loc. Loc. Loc. Máq. Máq. 5 - Máq. 5 9
Outros problemas e algoritmos para PL Outros algoritmos Simplex Dual Programação liear paramétrica Método do poto iterior Método do limite superior Programação liear por objectivos..
Programação (liear) Iteira Restrição adicioal variáveis de decisão iteiras Dificuldade acrescida Podia parecer mais simples que PL pois Há um úmero FINITO de soluções A relaxação para PL resolve-se muito depressa No etato Há MUITAS soluções Solução relaxada só por (muita) sorte será óptima Várias soluções Uma delas, chamada Brach-ad-boud (ou A*) será estudada mais tarde