Celso Carneiro Ribeiro Introdução aos Modelos e Métodos de Otimização em Pesquisa Operacional

Documentos relacionados
Pesquisa Operacional / Programação Matemática

Otimização discreta Modelagem com variáveis binárias: problemas clássicos

Celso Carneiro Ribeiro Introdução aos Modelos e Métodos de Otimização em Pesquisa Operacional

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Um grande número de problemas de otimização linear inteiro envolve a ocorrência ou não de um evento, e a decisão entre duas alternativas.

Otimização Combinatória - Parte 4

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Programação Linear (PL)

Quinta-feira, 11 de abril

Aula 12: Programação Inteira

Programação Linear/Inteira

Modelagem. Tecnologia da Decisão I TP065. Profª Mariana

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

Otimização Combinatória - Parte 3

Aula 19: Lifting e matrizes ideais

Métodos de Pesquisa Operacional I

Programação Linear/Inteira

PCC173 - Otimização em Redes

pontos: f(1)=2, f(2)=3, f(3)=5, f(5)=10 e f(6)=30.

Lorí Viali. Afiliação

Exemplos de modelos de PL ou PI

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita)

Programação Inteira. Prof. Ricardo Santos

Problema de designação

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Teoria da Computação. Complexidade computacional classes de problemas

Otimização de grande porte

Introdução. Otimização Multiobjetivo. Muitas aplicações de interesse prático podem ser representadas por meio de modelos matemáticos lineares.

Métodos Exatos para PI - Parte 1: Branch-and-Bound

Aula 13: Branch-and-bound

Planejamento e Análise de Sistemas de Produção

Algoritmo Simplex para Programação Linear I

Complexidade de Algoritmos

Programação Linear Binária. Prof. Fabrício Maciel Gomes Departamento de Engenharia Química Escola de Engenharia de Lorena EEL

Problemas de otimização

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2006/07

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 41

Introdução à Programação Linear

Referências: Notas de aulas do Prof. Silvio Alexandre de Araujo

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Lista de Exercícios - Modelagem de representação cromossômica e função fitness

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2007/08

Sistemas de Distribuição Localização de Bases Definição da Rede

Investigação Operacional

3 Decisões de Localização de Instalações

Métodos Quantitativos

Abordagens para Resolução de Problemas

Análise e Síntese de Algoritmos. Programação Linear CLRS, Cap. 29

Os Problemas de Optimização Combinatória e a Teoria da Complexidade

Introdução à Pesquisa Operacional - Otimização Linear

CAPÍTULO IV PROGRAMAÇÃO LINEAR INTEIRA (PLI)

Prática 00. Total 04. Pré-requisitos. No. De Créditos 04

Fábio Protti - UFF Loana T. Nogueira - UFF Sulamita Klein UFRJ

Projeto e Análise de Algoritmos

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

MÓDULO 3 - PROBLEMAS DE TRANSPORTE

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Departamento de Engenharia de Produção UFPR 22

a) Formule este problema em Programação Linear inteira. b) Considere os seguintes dados Matriz das distâncias (em Km) entre as comunidades

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

PCC173 - Otimização em Redes

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Professor: Rodrigo A. Scarpel

Probabilidade e Estatística

Localização de Instalações. Projeto de Redes Logísticas. Escola Politécnica. Prof. Dr. Claudio Barbieri da Cunha.

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

MODELO DE PROGRAMAÇÃO LINEAR INTEIRA MISTA PARA MINIMIZAÇÃO DOS ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM SETUP DEPENDENDE DA SEQUÊNCIA

Marina Andretta. 02 de agosto de 2010

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Cálculo Numérico Faculdade de Ciências Sociais Aplicadas e Comunicação FCSAC Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

Otimização de horários Seminário. Clarisse Resende 25/01/2013

Pesquisa Operacional

Grafos: algoritmos de busca

Busca e Decisão. Problemas de Otimização. Kakuro. P e NP. Pode-se resolver o Kakuro somente resolvendo problemas de decisão?

PEA 2522 MÉTODOS DE OTIMIZAÇÃO. Otimização

Lista de Exercícios 1 - Otimização Linear Prof. Silvio Alexandre de Araujo. Construção de Modelos e Solução Gráfica

Aula 10: Tratabilidade

Apostila 2: Matemática - Funções

3. Resolução de problemas por meio de busca

Projeto de Escalonamento Alocação de médicos

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Projeto e Análise de Algoritmos Aula 8: Algoritmos Gulosos (5)

Modelagem Matemática I

5COP096 TeoriadaComputação

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

Problema de seleção de atividades. Aula 14. Exemplo. Algoritmos Gulosos. Algoritmos Gulosos. Intervalo: par ordenado de números

Resolução Numérica de Equações Parte I

Pesquisa Operacional aplicada ao Planejamento e Controle da Produção e de Materiais Programação Linear

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

Resolvendo algebricamente um PPL

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos

Escalonamento em uma máquina

PROGRAMAÇÃO LINEAR E APLICAÇÕES

PESQUISA OPERACIONAL Definições e Teoremas Básicos. Professor Volmir Wilhelm Professora Mariana Kleina

CAP. 2 ZEROS REAIS DE FUNÇÕES REAIS

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Transcrição:

Celso Carneiro Ribeiro Introdução aos Modelos e Métodos de Otimização em Pesquisa Operacional Parte II Programação Inteira 004

Parte II Programação inteira Origens Motivação: PL vs. PI Solução gráfica Formulação de problemas Métodos de cortes (princípios básicos) Métodos de branch-and-bound Aplicação Teoria da compleidade Laboratório de programação inteira Abril-agosto 004 Modelos e métodos de otimização ONS

Origens Primeira tentativa de resolver o problema do caieiro viajante (Dantzig, 954): 49 cidades (Simple cortes) Gomory, anos 60: métodos de cortes Land, Doig e Roy, anos 60: métodos de branch-andbound Dificuldades numéricas e computacionais: desilusão Teoria da compleidade, anos 70-80: problemas NPcompletos, necessidade e progressos em heurísticas Ressurgimento, anos 80-90: métodos poliedrais Maior TSP resolvido atualmente: 5. cidades Abril-agosto 004 Modelos e métodos de otimização ONS 3

Bibliografia T. Hu, Integer Programming and Network Flows, 969 H. Salkin, Integer Programming, 975 C. Papadimitriou e K. Steiglitz, Combinatorial Optimization: Algorithms and Compleity, 98 G. Nemhauser e L. Wolsey, Integer and Combinatorial Optimization, 988 W. Cook, W. Cunningham, W. Pulleyblank e A. Schrijver, Combinatorial Optimization, 998 L. Wolsey, Integer Programming, 998 Abril-agosto 004 Modelos e métodos de otimização ONS 4

Motivação Problemas de programação linear: Função objetivo linear Restrições lineares igualdades desigualdades Variáveis contínuas (reais) Problemas de programação (linear) inteira: Variáveis assumem apenas valores inteiros Abril-agosto 004 Modelos e métodos de otimização ONS 5

Motivação Problema das ligas metálicas: Uma metalúrgica deseja maimizar sua receita bruta. A tabela a seguir ilustra a proporção de cada material na mistura para a obtenção das ligas passíveis de fabricação, assim como a disponibilidade de cada matéria prima (em toneladas) e os preços de venda por tonelada de cada liga. Qual deve ser a quantidade produzida de cada liga? Abril-agosto 004 Modelos e métodos de otimização ONS 6

Motivação Liga Liga Disponibilidade Cobre 0,5 0, 6 ton. Zinco 0,5 0,3 ton. Chumbo 0,5 0,5 5 ton. Preço 3.000 5.000 Abril-agosto 004 Modelos e métodos de otimização ONS 7

Variáveis de decisão: Motivação : quantidade produzida da liga (em toneladas) : quantidade produzida da liga (em toneladas) As variáveis de decisão representam quantidades contínuas. Abril-agosto 004 Modelos e métodos de otimização ONS 8

Motivação Função objetivo: maimizar 3.000 5.000 Disponibilidade das matérias primas: 0,5 0, 6 cobre 0,5 0,3 zinco 0,5 0,5 5 chumbo Todas as quantidades produzidas são não-negativas:, 0 Abril-agosto 004 Modelos e métodos de otimização ONS 9

Motivação Problema de produção de fósforos: Uma empresa produz dois tipos de fósforos. Esta empresa tem um lucro de 3 (00 u.m.) em cada caia de fósforos longos e de (00 u.m.) em cada caia de fósforos curtos. Fósforos dos dois tipos são feitos por uma única máquina, que pode produzir 9 (00.000) caias de fósforos por ano. Para produzir e vender os fósforos, a empresa precisa de madeira e de caias. São necessários 3 m 3 de madeira para cada caia de fósforos longos e m 3 de madeira para cada caia de fósforos curtos. Abril-agosto 004 Modelos e métodos de otimização ONS 0

Motivação A empresa possui 8 (00.000) m 3 de madeira para usar durante o próimo ano. Dispõe ainda de 7 (00.000) caias para fósforos longos e 6 (00.000) caias para fósforos curtos. A empresa deseja maimizar seus lucros com a venda de fósforos no próimo ano, sabendo que toda sua produção pode ser vendida. Variáveis de decisão: : número de caias (00.000) de fósforos longos : número de caias (00.000) de fósforos curtos Abril-agosto 004 Modelos e métodos de otimização ONS

Motivação Restrições: Capacidade máima anual de produção da máquina: 9 (00.000) Quantidade de madeira disponível: 3 8 (00.000) Número máimo de caias disponíveis: 7 (00.000) 6 Não-negatividade: 0 e 0 (00.000) Abril-agosto 004 Modelos e métodos de otimização ONS

Motivação Problema de programação linear: maimizar 3 sujeito a : 3, 7 6 9 8 0 Abril-agosto 004 Modelos e métodos de otimização ONS 3 As variáveis deste problema são realmente contínuas? Aproimação realista restrição () restrição () restrição (3) restrição (4)

Motivação Problema de escalonamento de horários: Um hospital deseja planejar os horários das enfermeiras de seu turno da noite. A demanda por enfermeiras no turno da noite no dia j=,...,7 da semana é um número inteiro d j. Cada enfermeira trabalha cinco dias consecutivos e descansa nos dois dias seguintes. O objetivo consiste em minimizar o número de enfermeiras contratadas. Variáveis de decisão: j : número de enfermeiras que começam seu horário no dia j=,...,7 Abril-agosto 004 Modelos e métodos de otimização ONS 4

Abril-agosto 004 Modelos e métodos de otimização ONS 5 Motivação Modelo: 0,,,,,, 7 6 5 4 3 7 7 6 5 4 3 6 6 5 4 3 5 5 4 3 4 7 4 3 3 7 6 3 7 6 5 7 6 5 4 7 6 5 4 3 d d d d d d d sujeito a : minimizar inteiros 7 6 5 4 3,,,,,, Problema de programação linear inteira: seu valor ótimo é superior ao do problema linear associado, pois contém restrições adicionais (todas as variáveis devem assumir valores inteiros). O número de enfermeiras nunca pode ser fracionário!

Motivação Problema da mochila: Um viajante dispõe de n itens que deve selecionar para colocar em uma mochila que está sendo preparada para uma viagem. O peso do item j é igual a j e o lucro obtido caso ele seja selecionado e colocado na mochila é igual a c j, para j=,,n. Quais itens devem ser selecionados, sabendo-se que o peso máimo que o viajante pode carregar na mochila é igual a b? Variáveis de decisão: j : quantidade selecionada do item j Abril-agosto 004 Modelos e métodos de otimização ONS 6

Motivação Caso (): os itens podem ser fracionados e não há limite n na quantidade selecionada Problema de programação linear maimizar sujeito a : j 0, j= n j= j a c j j j j =,..., n Solução trivial: selecionar o item j* cuja razão c j /a j é máima e fazer j* =b/a j*, j = 0 para os demais. b Abril-agosto 004 Modelos e métodos de otimização ONS 7

Motivação Caso (): os itens não podem ser fracionados e não há n limite na quantidade selecionada maimizar c Problema de programação inteira Solução não trivial! sujeito a : =,..., n Abril-agosto 004 Modelos e métodos de otimização ONS 8 j j= j= a j j 0 e inteiro, Neste caso, as variáveis inteiras indicam o número de objetos de cada tipo que serão selecionados. n j j j b

Motivação Caso (3): os itens podem ser fracionados e no máimo uma unidade de cada item pode ser selecionada Problema de programação linear maimizar sujeito a : =,..., n Solução trivial: ordenar os itens pela razão c j /a j e fazer j = enquanto couber, fracionar o objeto seguinte e fazer j = 0 para os demais. Abril-agosto 004 Modelos e métodos de otimização ONS 9 j 0, n j= n j= a c j j j j j b

Motivação Eemplo: maimizar 6 sujeito a : j 0, 8 4 3 j =,,3,4 3 4 4 4 Maior razão: c /a = 6/= 6 = Segunda maior razão: c /a = 8/ = 4 = Terceira maior razão: c 3 /a 3 = 4/ = 3 =0,5 4 = 0 Abril-agosto 004 Modelos e métodos de otimização ONS 0

Motivação Caso (4): os itens não podem ser fracionados e no máimo uma unidade de cada item pode ser selecionada Problema de programação inteira Solução não trivial! maimizar sujeito a : { 0, }, j =,..., n Neste caso, as variáveis inteiras (binárias ou 0-) representam a decisão de selecionar um objeto ou não. Abril-agosto 004 Modelos e métodos de otimização ONS j n j= n j= a c j j j j b

Motivação Eemplo: maimizar sujeito a : 3 { 0, }, j =,,3 Maior razão: c /a = /3 = 4 = = 3 = 0 Esta solução é ótima? j Abril-agosto 004 Modelos e métodos de otimização ONS 7 6 Não, o problema de programação inteira é mais difícil!!! (lucro = ) Solução ótima: = 0, =, 3 = (lucro = 3) 3 3 4

Motivação Uma empresa de laticínios produz queijos e leite. Parte do transporte da produção é feito pela própria empresa, enquanto o restante é terceirizado. O atual parque de veículos da empresa está obsoleto e será modernizado. Dois tipos de novos veículos são considerados para a substituição dos atuais. Apenas queijos podem ser transportados através de veículos do tipo A, em um total de no máimo 00 (00 kg) por mês. Queijos e leite podem ser transportados por veículos do tipo B, em um total mensal de no máimo 50 (00 kg) de queijo e 0 ( 00 l) de leite. Abril-agosto 004 Modelos e métodos de otimização ONS 3

Motivação A compra de um veículo do tipo A proporciona uma economia mensal de 000 ( $) em relação à contratação eterna da distribuição. Para um veículo do tipo B, a economia mensal é de 700 ( $). A empresa deseja maimizar suas economias mensais. A demanda diária mínima a ser transportada é de 45 (00 kg) de queijo e de 50 (00 l) de leite. De modo a evitar investimentos em capacidade ociosa, foi determinado que a capacidade da frota não deve eceder a demanda diária mínima. Determinar o número de veículos de cada tipo que devem ser adquiridos. Abril-agosto 004 Modelos e métodos de otimização ONS 4

Motivação Variáveis de decisão: : número de veículos do tipo A adquiridos : número de veículos do tipo B adquiridos Como o número de veículos não pode ser fracionário: 0 e inteiro 0 e inteiro Abril-agosto 004 Modelos e métodos de otimização ONS 5

Motivação Restrições sobre o número máimo de veículos adquiridos: 00 50 45 0 50 Função objetivo: maimização das economias maimizar 000 700 Abril-agosto 004 Modelos e métodos de otimização ONS 6

Motivação maimizar 000 700 sujeito a : 0 50 00, 50 45 0 e inteiros Abril-agosto 004 Modelos e métodos de otimização ONS 7

Solução gráfica Caso : * Solução ótima contínua é inteira também é ótima inteira Abril-agosto 004 Modelos e métodos de otimização ONS 8

Solução gráfica Caso : * Solução ótima contínua não é inteira, mas está próima. O ótimo inteiro pode ser obtido por arredondamento. Abril-agosto 004 Modelos e métodos de otimização ONS 9

Solução gráfica Caso 3: * O arredondamento nem sempre faz sentido, a solução obtida por arredondamento pode nem ser viável. Abril-agosto 004 Modelos e métodos de otimização ONS 30

Abril-agosto 004 Modelos e métodos de otimização ONS 3 Solução gráfica Caso 4: * Solução ótima contínua está muito afastada da solução ótima inteira.

Solução gráfica Caso 5: * O valor do ótimo contínuo é muito diferente do valor do ótimo inteiro. Abril-agosto 004 Modelos e métodos de otimização ONS 3

Solução gráfica Caso 6: O problema linear admite solução viável, mas o inteiro não. Abril-agosto 004 Modelos e métodos de otimização ONS 33

Formulação de problemas (I) Problema de corte linear (revisitado): Uma fábrica necessita cortar uma fita de aço de cm de largura em tiras de,4 cm, 3,4 cm e 4,5 cm de largura. As necessidades globais de tiras de cada comprimento são as seguintes: Tipo 3 Largura (cm),4 3,4 4,5 Demanda (m) 500 4500 8000 Abril-agosto 004 Modelos e métodos de otimização ONS 34

Formulação de problemas Formule um modelo que permita otimizar o consumo da fita a ser cortada, minimizando a perda de material. Padrão 3 4 5 6 7 Tiras 5 3 3 0 0 Tiras 0 0 0 3 Tiras 3 Perda (cm),4 0,3 0,4 0,6,8 0,7 Abril-agosto 004 Modelos e métodos de otimização ONS 35 0 0 0 0 0

Formulação de problemas Observe entretanto que, nesta nova versão do problema, a fita não tem comprimento infinito, estando disponível em bobinas de comprimento igual a 400 metros. Cada bobina deve ser cortada segundo um único padrão de corte. Deseja-se minimizar o número de bobinas cortadas. Abril-agosto 004 Modelos e métodos de otimização ONS 36

Formulação de problemas Comprimento cortado de tiras de cada tipo segundo cada padrão: Padrão Tiras Tiras Tiras 3 000 0 0 00 400 0 3 00 0 400 4 800 800 0 5 400 0 800 6 0 00 0 7 0 800 400 Abril-agosto 004 Modelos e métodos de otimização ONS 37

Formulação de problemas Variáveis de decisão: i : número de bobinas cortadas pelo padrão i=,...,7 Restrições de demanda por tipo de fita: 000 00 00 3 800 4 400 5 500 tipo 400 800 4 00 6 800 7 4500 tipo 400 3 800 5 400 7 8000 tipo 3 Função objetivo: minimizar 3 4 5 6 7 Abril-agosto 004 Modelos e métodos de otimização ONS 38

Formulação de problemas (II) Problema de localização de facilidades: São dadas n potenciais localizações para a instalação de facilidades e m clientes que devem ser atendidos por estas facilidades. O custo fio de instalar uma facilidade no local j é igual a c j. Eiste ainda um custo d ij para atender um cliente i a partir da facilidade j. Cada cliente deve ser alocado a uma única facilidade. Determinar os locais onde devem ser instaladas as facilidades, de modo a minimizar o custo total. Situação comum, onde duas decisões são dependentes: um cliente só pode ser alocado a uma facilidade se ela tiver sido instalada. Abril-agosto 004 Modelos e métodos de otimização ONS 39

Formulação de problemas Variáveis de decisão:, y j = 0, se é instalada uma facilidade no local caso contrário, se o cliente i é atendido pela facilidade ij = 0, caso contrário j j Restrições: Todo cliente tem que ser atendido por uma única facilidade. Um cliente só pode ser atendido por uma facilidade instalada. Abril-agosto 004 Modelos e métodos de otimização ONS 40

Formulação de problemas minimizar sujeito a : ij ij n j= c y =, i y j, i, y j ij n j= j j =,..., m =,..., m; j =,..., n { 0, }, i =,..., m; j =,..., n m n i= j= d ij ij Abril-agosto 004 Modelos e métodos de otimização ONS 4

Formulação de problemas (III) Problema de localização capacitado (aplicação típica em localização de serviços urbanos): São dadas n potenciais localizações para a instalação de facilidades e m clientes que devem ser atendidos por estas facilidades. O custo fio de instalar uma facilidade no local j é igual a c j. Eiste ainda um custo d ij para atender um cliente i a partir da facilidade j. Cada cliente i tem uma demanda f i e deve ser alocado a uma única facilidade, conhecendo-se ainda a capacidade e j de atendimento de cada facilidade j. Determinar os locais onde devem ser instaladas as facilidades, de modo a minimizar o custo total. Abril-agosto 004 Modelos e métodos de otimização ONS 4

Formulação de problemas Variáveis de decisão:, y j = 0, se é instalada uma facilidade no local caso contrário, se o cliente i é atendido pela facilidade ij = 0, caso contrário j j Restrições: Todo cliente tem que ser atendido por uma única facilidade. Um cliente só pode ser atendido por uma facilidade instalada. Deve ser respeitada a capacidade máima de cada facilidade. Abril-agosto 004 Modelos e métodos de otimização ONS 43

Formulação de problemas minimizar sujeito a : ij ij n j= y m i=, y j f i ij j, i =, i ij n e j= j y c j j y j =,..., m =,..., m; j =,..., n, j =,..., n { 0, }, i =,..., m; j =,..., n m n i= j= d ij ij Abril-agosto 004 Modelos e métodos de otimização ONS 44

Formulação de problemas (IV) Transformação de variáveis: Como modelar uma situação onde uma variável só pode assumir valores dentro de um conjunto de valores {a, a,..., a m }? Definir as variáveis binárias y j {0,}, j=,...,m. Fazer uma substituição de variáveis e criar novas restrições: = m j= a j y j m j= y j = Abril-agosto 004 Modelos e métodos de otimização ONS 45

Formulação de problemas (V) Transformação de variáveis: Como modelar com variáveis binárias 0- uma situação onde uma variável pode assumir qualquer valor inteiro? Supõe-se que a variável seja limitada, por eemplo A com A = k -. Definir as variáveis binárias y j {0,}, j=,...,k. Fazer uma substituição de variáveis: k = j = j y j Abril-agosto 004 Modelos e métodos de otimização ONS 46

Formulação de problemas Sempre é possível transformar um problema de programação inteira com variáveis inteiras limitadas superiormente em um problema apenas com variáveis binárias 0-. Abril-agosto 004 Modelos e métodos de otimização ONS 47

Formulação de problemas (VI) Problema das p-medianas (aplicações típicas em estatística, em problemas de classificação e agrupamento de dados): Seja uma amostragem formada por n objetos. Para dada par de objetos i e j, seja d ij uma medida de sua dissimilaridade. Agrupar os objetos em p classes representativas, de modo que a soma das dissimilaridades de cada objeto ao representante de sua classe seja minimizada. Abril-agosto 004 Modelos e métodos de otimização ONS 48

Formulação de problemas Abril-agosto 004 Modelos e métodos de otimização ONS 49

Formulação de problemas p=4 Abril-agosto 004 Modelos e métodos de otimização ONS 50

Formulação de problemas p=4 Abril-agosto 004 Modelos e métodos de otimização ONS 5

Formulação de problemas Variáveis de decisão:, y j = 0,, ij = 0, se o objeto j se o objeto i é escolhido como representante caso contrário é associado à classe representada pelo objeto j caso contrário Restrições: Todo objeto está associado a um único representante. Um objeto só pode estar associado a um objeto selecionado. Há p objetos escolhidos como representantes. Abril-agosto 004 Modelos e métodos de otimização ONS 5

Formulação de problemas minimizar sujeito a : ij ij n j= y n j=, y j y ij j =,, = p j m n i= j= i i d ij ij =,..., m =,..., m; j =,..., n { 0, }, i =,..., m; j =,..., n Abril-agosto 004 Modelos e métodos de otimização ONS 53

Formulação de problemas (VII) Problema da clique de peso máimo (aplicações em data mining, tarifação telefônica): Dado um grafo G = [V,A] onde V = {,...,n} é o conjunto de vértices e A é o conjunto de arestas, diz-se que o subconjunto de nós X V é uma clique se para qualquer nós i X, j X, então a aresta (i,j) A. Atribui-se a cada nó i V um peso w i. Descrever um modelo para determinar os nós de uma clique de peso máimo. Variáveis de decisão: i = se e somente se o nó i é selecionado Abril-agosto 004 Modelos e métodos de otimização ONS 54

Formulação de problemas Seja um par de nós (i,j) que não está conectado por uma aresta. Então, apenas um destes nós poderá ser selecionado para pertencer a uma clique: i j (i,j) A maimizar sujeito a : n i = i i w. j i {0,}, i, ( i, j) i V A Abril-agosto 004 Modelos e métodos de otimização ONS 55

Formulação de problemas (VIII) Problema do conjunto independente de peso máimo (aplicações em data mining, construção de portfolios): Dado um grafo G = [V,A] onde V = {,...,n} é o conjunto de vértices e A é o conjunto de arestas, diz-se que o subconjunto de nós X V é um conjunto independente se para qualquer nós i X, j X, então a aresta (i,j) A. Atribui-se a cada nó i V um peso w i. Descrever um modelo para determinar os nós de um conjunto independente de peso máimo. Variáveis de decisão: i = se e somente se o nó i é selecionado Abril-agosto 004 Modelos e métodos de otimização ONS 56

Formulação de problemas Seja um par de nós (i,j) conectado por uma aresta. Então, apenas um destes nós poderá ser selecionado para pertencer a um conjunto estável: i j (i,j) A maimizar sujeito a : n i = i i w. j i {0,}, i, ( i, j) i V A Abril-agosto 004 Modelos e métodos de otimização ONS 57

Formulação de problemas (IX) Problemas de recobrimento, particionamento e empacotamento de conjuntos: Sejam M = {,..., m} e N = {,..., n}. Seja ainda M, M,..., M n uma coleção de subconjuntos de M. Associa-se a cada subconjunto M j um custo c j, j=,...,n. Seja F N. Então: F F F é uma cobertura de M se U é um empacotamento de M é uma partição de M j F se M M j j = M. I M k = {}, j, k F, j k. se for uma cobertura e um empacotamento de M. Abril-agosto 004 Modelos e métodos de otimização ONS 58

Formulação de problemas Peso do subconjunto F N é definido como Problema de: recobrimento: encontrar uma cobertura de peso mínimo empacotamento: encontrar um empacotamento de peso máimo particionamento: encontrar uma partição de peso mínimo (ou máimo), se i M j aij = 0, caso contrário Formulação: definir os coeficientes j F c j Abril-agosto 004 Modelos e métodos de otimização ONS 59

Formulação de problemas Problema de recobrimento: minimizar n j= c j j sujeito a : Problema de empacotamento: maimizar j n j= a ij j {0,}, n j= c j j, i =,..., m i =,..., n sujeito a : j n j= a ij j {0,},, i =,..., m i =,..., n Abril-agosto 004 Modelos e métodos de otimização ONS 60

Formulação de problemas Problema de particionamento: minimizar n j= c j j sujeito a : j n j= a ij j {0,}, =, i =,..., m i =,..., n Abril-agosto 004 Modelos e métodos de otimização ONS 6

Formulação de problemas (X) Localização de serviços por recobrimento: Uma empresa de atendimento médico deseja determinar os locais onde deve instalar veículos para atendimento médico em uma cidade. Esta cidade está dividida em 0 distritos. Veículos podem ser instalados em 0 locais previamente selecionados, de modo que possam responder rapidamente a chamadas provenientes de qualquer distrito. Um veículo pode atender a chamadas de qualquer distrito adjacente à sua localização. Deseja-se minimizar o número de veículos a serem adquiridos para instalação nesses locais. Abril-agosto 004 Modelos e métodos de otimização ONS 6

Formulação de problemas Abril-agosto 004 Modelos e métodos de otimização ONS 63

Formulação de problemas Variáveis de decisão: j = se e somente se um veículo é instalado no local j Abril-agosto 004 Modelos e métodos de otimização ONS 64

Abril-agosto 004 Modelos e métodos de otimização ONS 65 Formulação de problemas 4 3 3 3 0 = sujeito a: j j minimizar 9 8 7 5 4 6 5 4 5 4 6 4 8 4 3 {0,},..., 0 0 0 9 9 8 0 7 5 6 5 9 6

Formulação de problemas Problema de recobrimento: todas as restrições do tipo e todos os coeficientes das restrições iguais a 0 ou Como construir uma solução viável? Heurística: Determinar a variável que cobre o maior número de linhas descobertas. Fiá-la em um. Eliminar as linhas cobertas do modelo. Repetir os passos acima até que todas as linhas estejam cobertas. = 3 = 4 = 6 = 8 = 0 = Solução ótima: = 3 = 4 = 6 = 8 = 0 = Abril-agosto 004 Modelos e métodos de otimização ONS 66

Formulação de problemas Supõe-se agora que: Há recursos para instalar veículos em no máimo quatro locais. Para cada distrito j=,,0 eiste uma medida da demanda ou da importância d j de atendê-lo. Deseja-se minimizar a importância dos distritos não atendidos. Variáveis de decisão: j = se e somente se um veículo é instalado no local j y i = se e somente se o distrito i não está coberto Abril-agosto 004 Modelos e métodos de otimização ONS 67

Abril-agosto 004 Modelos e métodos de otimização ONS 68 Formulação de problemas. 7 4 6 5 3 4 3 3 3 0 = y y y y y y y sujeito a: y d i i i minimizar 4 9 8 3 7 5 4 6 5 4 5 4 0 6 4 9 8 8 4 3 y y y y y y y {0,},...,,,..., 4 0 0 0 0 0 9 0 9 8 9 8 7 0 7 5 6 6 5 5 9 6 = y y y y y y y y j j

Formulação de problemas (XI) Problema de alocação de tripulações: Uma empresa aérea deseja alocar tripulações a um conjunto de vôos, representados como no diagrama a seguir. Cada rotação é uma seqüência de vôos cobertos pela mesma tripulação durante um certo período de tempo estipulado por leis trabalhistas e acordos sindicais, originando-se e terminando na cidade onde esta tripulação está baseada. A lista de rotações possíveis, estabelecida por outro modelo baseado em métodos enumerativos, também é fornecida como dado de entrada. O cálculo do custo de cada Abril-agosto 004 Modelos e métodos de otimização ONS 69

Formulação de problemas rotação também é compleo, envolvendo o salário das tripulações, horas-etras, despesas de hotel e transporte, etc. Deseja-se atribuir tripulações aos vôos, de modo a minimizar os custos com as tripulações. Área etremamente fértil em aplicações de programação inteira: alocação de tripulações, alocação de aeronaves, alocação de portões de embarque, etc. Variáveis de decisão: j = se e somente se a rotação j é escolhida Abril-agosto 004 Modelos e métodos de otimização ONS 70

Formulação de problemas MIA (0) (09) CHI CHR DFW (40) (04) (305) (03) (406) (407) (308) (30) () () Abril-agosto 004 Modelos e métodos de otimização ONS 7

Formulação de problemas j vôos custo j vôos custo 0-03-406-308 900 9 305-407-09-600 0-03-407 700 0 308-09- 050 3 0-04-305-407 600 40-04-305 400 4 0-04-308 3000 40-04-30-3600 5 03-406-30 600 3 406-308-09-550 6 03-407-09 350 4 406-30- 650 7 04-305-407-09 550 5 407-09- 350 8 04-308-09 500 - - - Abril-agosto 004 Modelos e métodos de otimização ONS 7

Abril-agosto 004 Modelos e métodos de otimização ONS 73 Formulação de problemas 350 650 550 3600 400 050 600 500 550 350 600 3000 600 700 900 0 9 5 4 3 8 7 4 3 6 5 5 3 0 9 8 7 6 4 3 5 4 3 0 9 8 7 6 5 4 3 = = = = = = sujeito a : minimizar {0,},..., 5 5 9 7 6 3 4 3 5 4 5 3 0 8 4 9 7 3 = = = = = =

Formulação de problemas Problema de particionamento: todas as restrições do tipo = e todos os coeficientes das restrições iguais a 0 ou Como construir uma solução viável? Heurística: Fiar uma variável em um. Fiar em zero todas as demais variáveis que aparecem nas mesmas linhas que a anterior. Repetir os passos acima até que todas as variáveis estejam fiadas. Pode não dar certo: por eemplo, fiar = e em seguida 7 = 9 = 0 = 0 a seta igualdade não pode ser satisfeita. Solução ótima: = 9 = = Abril-agosto 004 Modelos e métodos de otimização ONS 74

Formulação de problemas (XII) Problema do caieiro viajante: Considere um conjunto de n cidades N = {,,..., n}. Seja c ij a distância entre a cidade i e a cidade j. Um vendedor encontra-se inicialmente em uma cidade qualquer. Ele deve visitar todas as cidades uma e eatamente uma única vez, efetuar uma operação comercial em cada uma delas e retornar à cidade inicial, percorrendo a menor distância possível. Formular como um problema de programação inteira. Variáveis de decisão: ij =, se a cidade j é visitada imediatamente após a cidade i 0, caso contrário Abril-agosto 004 Modelos e métodos de otimização ONS 75

Formulação de problemas Função objetivo: minimizar n n i = j = c ij ij Cada cidade deve ser precedida por outra: n = =, j =,..., i ij n Cada cidade deve ser sucedida por outra: n = =, i =,..., j ij n Abril-agosto 004 Modelos e métodos de otimização ONS 76

Formulação de problemas As restrições anteriores garantem que um único ciclo será formado e que todas as cidades serão visitadas? Não! Abril-agosto 004 Modelos e métodos de otimização ONS 77

Formulação de problemas Cada cidade tem que ser atingida: S N -S Para que as cidades do lado direito sejam atingidas, é necessário que pelo menos uma variável correspondente a um deslocamento da esquerda para a direita seja igual a um. Abril-agosto 004 Modelos e métodos de otimização ONS 78

Formulação de problemas restrições de eliminação de subtours minimizar sujeito a : ij n i= n j= i S ij ij =, =, {0,}, n j N S i= j= S =,..., n; =,..., n Abril-agosto 004 Modelos e métodos de otimização ONS 79 ij n, c ij j ij i i =,..., n =,..., n N, S {}, S Problema: número elevado (eponencial) de restrições! j N

Formulação de problemas As restrições de eliminação de subtours não precisam ser todas incluídas no modelo de uma única vez, mas sim apenas a medida em que forem necessárias para eliminar uma solução que viole uma delas. Abril-agosto 004 Modelos e métodos de otimização ONS 80

Formulação de problemas Aplicação: Uma máquina deve realizar n tarefas com tempos de eecução conhecidos. Seja c ij o tempo de preparação (pouso de aviões, pinturas em oficinas) da tarefa j caso ela seja eecutada imediatamente após a tarefa i. Determinar a ordem em que as tarefas devem ser eecutadas de modo a minimizar o tempo total de eecução (constante) e de preparação (dependente da ordem) corresponde a resolver um problema do caieiro viajante). Abril-agosto 004 Modelos e métodos de otimização ONS 8

Formulação de problemas (XIII) Problema de escalonamento (seqüenciamento) com tempos de preparação ( setup ): Uma máquina pode eecutar m operações, numeradas de a m. Cada operação j eige uma única ferramenta j. A máquina pode guardar B ferramentas em sua caia de ferramentas, com B < m. Montar ou desmontar a ferramenta j na caia de ferramentas eige s j unidades de tempo de preparação. A cada instante, apenas uma ferramenta pode ser montada ou desmontada. No início do dia, n tarefas aguardam processamenro nesta máquina. Cada tarefa i eige Abril-agosto 004 Modelos e métodos de otimização ONS 8

Formulação de problemas múltiplas operações. Seja J i o conjunto de operações eigidas pela tarefa i e assuma, como hipótese simplificadora, que para cada tarefa i o número de operações J i não é maior do que a capacidade B da caia de ferramentas da máquina. Antes da máquina começar o processamento da tarefa i, todas as ferramentas pertencentes ao conjunto J i precisam ser montadas na máquina. Se uma ferramenta j J i já está carregada na máquina, evita-se seu tempo de preparação. Se a ferramenta j J i ainda não está carregada, então é Abril-agosto 004 Modelos e métodos de otimização ONS 83

Formulação de problemas necessário carregá-la, possivelmente (caso a caia de ferramentas esteja cheia neste instante) depois de desinstalar alguma ferramenta que a tarefa i não eija. Uma vez que todas as ferramentas estejam preparadas, então as J i operações da tarefa i são processadas. Observe que, em razão de diversas tarefas eigirem ferramentas em comum e devido à capacidade máima da caia de ferramentas, os tempos de preparação antes de cada tarefa dependem da ordem em que estas são eecutadas. Desejase formular um modelo de programação inteira Abril-agosto 004 Modelos e métodos de otimização ONS 84

Formulação de problemas para determinar a ordem ótima de eecução das tarefas, minimizando o tempo total de preparação para completar todas as n tarefas. Assume-se ainda que no início do dia a caia de ferramentas está completamente vazia. Variáveis de decisão: ir y jr, se a tarefa i é a r - ésima a ser processada = 0, caso contrário, se a ferramenta j está na caia de ferramentas = quando a r - ésima tarefa é processada 0, caso contrário Abril-agosto 004 Modelos e métodos de otimização ONS 85

Formulação de problemas A caia de ferramentas está vazia no início do dia: y j = 0, j,..., 0 = n Todas as tarefas devem ser processadas: n = =, i =,..., r ir n A cada instante uma única tarefa pode ser processada: n = =, r =,..., i ir n Abril-agosto 004 Modelos e métodos de otimização ONS 86

Formulação de problemas Para que a tarefa i seja processada, todas as ferramentas no conjunto J i devem estar instaladas na caia: ir y, r =,..., n; i =,..., n; j jr J i Capacidade máima da caia de ferramentas: m = y B, r =,..., j jr n Abril-agosto 004 Modelos e métodos de otimização ONS 87

Formulação de problemas Incorre-se em custos de preparação sempre que uma ferramenta é carregada ou descarregada: minimizar m j = r = j jr j, r Definir uma nova variável inteira z jr e substituí-la na função objetivo: m n minimizar s j. z n s. y j = r = y jr Abril-agosto 004 Modelos e métodos de otimização ONS 88

Formulação de problemas Para isto, é necessário adicionar novas restrições: z jr y jr y j, r, j =,..., m; r =,..., n z jr y j, r y jr, j =,..., m; r =,..., n Abril-agosto 004 Modelos e métodos de otimização ONS 89

minimizar sujeito a : z z jr jr y y jr Formulação de problemas j, r ir y m j= r= y j, r y jr jr, n s j. z jr, j J ; r j =,..., m; r, j =,..., m; r i =,..., n; i = =,..., n =,..., n,..., n n r= n i= m j= y ir ir jr =, =, B, i r r =,..., n =,..., n =,..., n, y, z {0,} jr jr Abril-agosto 004 Modelos e métodos de otimização ONS 90 ir

Formulação de problemas (XIV) Escalonamento de uma máquina com datas de liberação e prazos de eecução: São conhecidas n tarefas que devem ser eecutadas em uma única máquina. Não se admite preempção, isto é, uma vez que uma tarefa começou a ser eecutada ela deve ser concluída sem interrupção nesta máquina. Apenas uma tarefa pode ser eecutada de cada vez. Para cada tarefa j=,...,n, são conhecidas sua duração p j, o instante (data) r j em que a tarefa estará disponível para ser eecutada e o instante (data) d j em que deverá estar pronta. Todas as datas são relativas ao momento presente (t = 0), algumas delas Abril-agosto 004 Modelos e métodos de otimização ONS 9

Formulação de problemas podendo ser negativas. Formular um modelo para determinar a ordem em que as tarefas devem ser eecutadas. Variáveis de decisão: como o escalonamento se dá ao longo do tempo, é natural usar como variáveis de decisão em problemas de escalonamento o instante de início ou de término de uma tarefa. j : instante de início da eecução da tarefa j, em relação a t = 0 que é o instante inicial (agora). Abril-agosto 004 Modelos e métodos de otimização ONS 9

Formulação de problemas Uma tarefa só pode ser eecutada depois que tiver sido liberada para processamento: j ma{0,r j } Sejam duas tarefas i e j quaisquer. Então, uma das duas restrições abaio deve ser verificada, para que não eistam conflitos de tempo de eecução (uma deve terminar antes da outra começar): ou (início de i duração de i início de j) ou (início de j duração de j início de i) Como modelar este tipo de situação? Abril-agosto 004 Modelos e métodos de otimização ONS 93

Formulação de problemas Variáveis de decisão: y ij = se e somente se a tarefa i começa antes da tarefa j Um par de restrições disjuntivas pode ser utilizado para representar que uma tarefa começa após a outra: i p i j M.(-y ij ) j p j i M.y ij Para cada par de tarefas (i,j), só é necessário escrever este par de restrições para j > i (de modo a evitar repetições desnecessárias). Abril-agosto 004 Modelos e métodos de otimização ONS 94

Formulação de problemas Término de cada tarefa: j p j d j Freqüentemente estas condições não são incluídas como restrições, mas sim penalizadas na função objetivo. Função objetivo? Abril-agosto 004 Modelos e métodos de otimização ONS 95

Formulação de problemas Diversas funções objetivo são empregadas em problemas de escalonamento: tempo máimo de término: minimizar ma j=,,n { j p j } tempo médio de término: minimizar (/n). j=,,n { j p j } tempo máimo de permanência: minimizar ma j=,,n { j p j -r j } tempo médio de permanência: minimizar (/n). j=,,n { j p j -r j } atraso máimo: minimizar ma j=,,n { j p j -d j } atraso médio: minimizar (/n). j=,,n { j p j -d j } Abril-agosto 004 Modelos e métodos de otimização ONS 96

Formulação de problemas Como se trata uma função objetivo do tipo abaio? minimizar ma j=,,n { j p j } Transformar o problema em: minimizar z sujeito a: z p z p z n p n Abril-agosto 004 Modelos e métodos de otimização ONS 97

Formulação de problemas (XV) Problema de coloração de grafos (aplicação em problemas de seqüenciamento de tarefas): Dado um grafo G = [V,A] onde V = {,...,n} é o conjunto de vértices e A é o conjunto de arestas, colorir os nós de G com um número mínimo de cores de modo que nós adjacentes sejam coloridos com cores diferentes. Abril-agosto 004 Modelos e métodos de otimização ONS 98

Formulação de problemas Aplicação: Deseja-se marcar as datas dos eames das disciplinas em uma escola no menor número possível de dias, de modo que cada aluno faça uma única prova no mesmo dia. Disciplinas envolvidas em conflitos (isto é, cursadas por pelo menos um aluno em comum) devem ter suas provas marcadas em dias diferentes. Variáveis binárias de decisão: y j = se e somente se a cor j é utilizada ij = se e somente se o nó i é colorido com a cor j Abril-agosto 004 Modelos e métodos de otimização ONS 99

Formulação de problemas Minimizar o número de cores: n = minimizar y j j Um nó só pode ser colorido com uma cor se ela for usada: ij y j, i =,..., n; j =,..., n Um nó tem que ser colorido com alguma cor: n = =, i =,..., j ij n Nós adjacentes devem ser coloridos com cores diferentes: ij, j =,..., n; ( i, k) A kj Abril-agosto 004 Modelos e métodos de otimização ONS 00

Formulação de problemas (XVI) Um problema de decentralização: Uma cadeia de supermercados deseja decentralizar sua distribuição de provisões. A administração considera abrir dois centros de distribuição, um grande (CD ) e um pequeno (CD ), em duas cidades diferentes. As cidades A, B e C são candidatas para a instalação de um centro de distribuição. Com relação à situação atual, as economias passíveis de serem alcançadas (subsídios locais, por eemplo) com a instalação de um destes centros em uma destas cidades são dadas por: Abril-agosto 004 Modelos e métodos de otimização ONS 0

Formulação de problemas A B C CD grande 000 00 500 CD pequeno 400 700 800 Há tráfego entre os dois CDs devido a serviços em comum (por eemplo, compartilham o mesmo serviço de manutenção). Os custos de transporte entre as três cidades devido a serviços em comum são dados pela tabela que se segue: Abril-agosto 004 Modelos e métodos de otimização ONS 0

Formulação de problemas A B C A - 00 500 B 00-600 C 500 600 - Decidir os melhores locais para a instalação dos dois centros de distribuição, considerando as economias e os custos de transporte. Abril-agosto 004 Modelos e métodos de otimização ONS 03

Formulação de problemas Notação: A =, B =, C = 3 E ij = economias quando o CD i está localizado na cidade j T jl = custo de transporte entre as cidades j e l Variáveis de decisão: ij, se o centro i é instalado na cidade j = 0, caso contrário Abril-agosto 004 Modelos e métodos de otimização ONS 04

Formulação de problemas Cada centro de distribuição tem que ser instalado: 3 = =, =, j ij i Cada cidade recebe no máimo um centro de distribuição: =, =,,3 i ij j Restrições de integralidade: ij { 0,}, i =,; j =,,3 Abril-agosto 004 Modelos e métodos de otimização ONS 05

Formulação de problemas Economias: i = j = ij Custo de transporte: Função objetivo: minimizar 3 E ij. 3 i= k= j= l= jl ij kl 3 T.. E. i= j= ij ij = = = = 3 3 i k j l jl ij kl 3 T.. Abril-agosto 004 Modelos e métodos de otimização ONS 06

Formulação de problemas Termo quadrático na função objetivo: minimizar E. i= j= ij ij = = = = 3 3 i k j l jl ij kl 3 T.. Linearização do termo quadrático através de variáveis binárias: z ijkl =, se ij = e kl = 0, caso contrário O termo quadrático pode ser reescrito como: ij ij kl. zijkl kl. Abril-agosto 004 Modelos e métodos de otimização ONS 07 z ijkl 0

Formulação de problemas minimizar sujeito a : ij ij ij, 3 j= i= z ijkl ij ij kl kl =,,. z z ijkl 3 E. i= j= ij ij ijkl j =,,3 0, i =,; k 0, i i =, =,; j =,,3; l =,; k =,; j =,,3; l =,,3 =,,3 Abril-agosto 004 Modelos e métodos de otimização ONS 08 3. v i= k= j= l= jl ijkl {0,}, i =,; k =,; j =,,3; l =,,3 3 T

Formulação de problemas A substituição de variáveis binárias freqüentemente permite linearizar e tratar de forma eata modelos quadráticos! Abril-agosto 004 Modelos e métodos de otimização ONS 09

Eercício (XVII) Problema de planejamento da capacidade (revisitado): Um estado deseja fazer seu planejamento de capacidade instalada. A previsão de demanda de capacidade é igual a d t MW para cada ano t=,...,t. A capacidade eistente em usinas a óleo e que estará disponível em cada ano t=,...,t é igual a e t. Há duas alternativas possíveis para a epansão de capacidade: usinas nucleares e usinas a carvão. Há um custo de capital igual a c t por MW de usinas a carvão que tornam-se disponíveis no ano t. O custo de capital correspondente para usinas nucleares é n t. A capacidade em usinas Abril-agosto 004 Modelos e métodos de otimização ONS 0

Eercício nucleares não pode ser superior a 0% da capacidade total instalada. Usinas a carvão têm vida útil de 0 anos, enquanto usinas nucleares têm vida útl de 5 anos. Deseja-se planejar a epansão de custo mínimo. Procurem criar e modelar uma versão mais realista deste problema, usando variáveis de decisão. Abril-agosto 004 Modelos e métodos de otimização ONS

Formulação de problemas Boa formulação em PL: pequeno número de variáveis e de restrições Disponibilidade de bons algoritmos para PL: a escolha de uma formulação, embora importante, não afeta criticamente nossa capacidade de resolver um problema. Situação diferente em programação inteira! Conceito importante: relaação linear de um problema de programação inteira Abril-agosto 004 Modelos e métodos de otimização ONS

Formulação de problemas Modelo de programação linear inteira mista: c.* d.y* = mínimo sujeito a : A. By = b, y 0 inteiro Relaação linear: c. d. y c. d. y = mínimo c. sujeito a : A. By = b, y 0 d. y Abril-agosto 004 Modelos e métodos de otimização ONS 3

Formulação de problemas Problema de localização de facilidades (revisitado): minimizar sujeito a : ij ij n j= c y =, i y j, i, y j ij n j= j j =,..., m =,..., m; j =,..., n { 0, }, i =,..., m; j =,..., n m n i= j= d ij ij () Abril-agosto 004 Modelos e métodos de otimização ONS 4

Formulação de problemas Formulação agregada alternativa: minimizar sujeito a : ij n j= m i=, y j ij ij n j= =, i =,..., m m. y j c j y j, j =,..., n { 0, }, i =,..., m; j =,..., n m n i= j= d ij ij () Abril-agosto 004 Modelos e métodos de otimização ONS 5

Formulação de problemas Poliedros das soluções viáveis das relaações lineares das duas formulações: P P Com a restrição : n {(, y) : =, i; y, i, j;0, 0 y, i j} = j = ij ij j ij j, Com a restrição : { n m (, y) : ij =, i; ij m. y j, j;0 ij, 0 y j, i j} =, j= i= Abril-agosto 004 Modelos e métodos de otimização ONS 6

Formulação de problemas Observa-se que P P : o conjunto de soluções da relaação linear de P é mais próimo do conjunto de soluções inteiras do que o conjunto de soluções da relaação linear de P. Sejam z* o valor da solução ótima do problema de programação inteira original e z e z os valores ótimos das duas relaações: z z z* Abril-agosto 004 Modelos e métodos de otimização ONS 7

Formulação de problemas minimizar c B P A P Abril-agosto 004 Modelos e métodos de otimização ONS 8

Formulação de problemas Muitos métodos para a solução de problemas de programação inteira dependem de bons limites inferiores para z*, tais como z ou z. Quanto mais próimo este limite inferior estiver de z*, melhor será a formulação. Neste caso, a primeira formulação é melhor mesmo tendo um maior número de restrições. Qual seria a melhor (ideal) formulação possível para um problema de programação inteira? Abril-agosto 004 Modelos e métodos de otimização ONS 9

Formulação de problemas Seja T = {,,..., k } o conjunto de soluções inteiras de um problema de programação linear inteira. Supõe-se que este conjunto seja finito, já que por hipótese o poliedro P definido pelas restrições lineares é limitado. Seja ainda EC(T) a envoltória convea de T, isto é, o menor conjunto conveo tal que T EC(T). Todos os pontos etremos de EC(T) são inteiros. Ademais, EC(T) P. Suponha que EC(T) possa ser conhecido eplicitamente: EC( T ) { : D d} =. Abril-agosto 004 Modelos e métodos de otimização ONS 0

Formulação de problemas P EC(T) P T Abril-agosto 004 Modelos e métodos de otimização ONS

Formulação de problemas Então, o problema de programação inteira minimizar c. sujeito a : P, inteiro é equivalente a minimizar c. sujeito a : T, que também é equivalente ao problema de programação linear minimizar c. sujeito a : EC( T ). Abril-agosto 004 Modelos e métodos de otimização ONS

Formulação de problemas Considerando-se nossa habilidade para resolver problemas de programação linear, seria interessante conseguir sempre uma formulação cujo conjunto de soluções viáveis de sua relaação linear fosse igual à envoltória convea das soluções inteiras. Difícil, para poucos problemas isto é possível! Procurar obter uma formulação cujo conjunto de soluções viáveis de sua relaação linear seja o mais próimo possível da envoltória convea das soluções inteiras. Abril-agosto 004 Modelos e métodos de otimização ONS 3

Formulação de problemas Conclusão: A qualidade de uma formulação de um problema de programação inteira cujo conjunto de soluções viáveis é T pode ser avaliada pela proimidade do conjunto de soluções viáveis de sua relaação linear com a envoltória convea de T. Dadas duas formulações A e B para um problema de programação inteira, cujas relaações lineares possuem P A e P B, respectivamente, como seus conjuntos de soluções viáveis, dizse que a formulação A é pelo menos tão forte quanto a formulação B se P A P B. Uma formulação mais forte freqüentemente tem um número muito maior de variáveis e de restrições. Abril-agosto 004 Modelos e métodos de otimização ONS 4

Métodos de solução Contrariamente à programação linear, problemas de programação inteira são difíceis de serem resolvidos. Não eiste um algoritmo geral eficiente para a solução de um problema de programação inteira qualquer. De forma simplificada, define-se como eficiente um algoritmo cujo número de iterações é polinomial em alguma medida que descreva o tamanho do problema a ser resolvido: n (soma de matrizes), n 3 (produto de matrizes), log n, (n log n) (ordenação), (mn), (m.n), etc. Abril-agosto 004 Modelos e métodos de otimização ONS 5

Métodos de solução Métodos eatos Métodos de planos de cortes Métodos poliedrais Branch-and-bound Programação dinâmica (parte IV) Métodos aproimados Algoritmos aproimativos Heurísticas construtivas (parte III) Busca local (parte III) Metaheurísticas (parte III) Abril-agosto 004 Modelos e métodos de otimização ONS 6

Métodos de solução Métodos de planos de corte Problema de programação inteira (PI): minimizar c. sujeito a : A. = b 0 e inteiro Relaação linear (RL): minimizar c. sujeito a : A. = b Abril-agosto 004 Modelos e métodos de otimização ONS 7 0

Métodos de solução Idéia básica: resolver o problema de programação inteira através da solução de uma seqüência de problemas de programação linear:. Resolva a relaação linear de PI e seja * sua solução ótima.. Se * é inteiro, então * é a solução ótima do problema PI. 3. Caso contrário, identificar uma desigualdade satisfeita por todas as soluções inteiras do problema PI, mas não por *. 4. Adicionar esta desigualdade à relaação linear de PI e retornar ao passo () acima. Abril-agosto 004 Modelos e métodos de otimização ONS 8

Métodos de solução Eemplo de um corte simples: Seja * a solução ótima da relaação linear, na qual pelo menos uma variável é fracionária. Seja N o conjunto dos índices das variáveis não-básicas. Como esta solução é fracionária, ela não pode ser solução de PI. Então, qualquer solução viável de PI deverá satisfazer à restrição adicional j N (que é satisfeita por todas as soluções inteiras de PI, mas não por *). j Abril-agosto 004 Modelos e métodos de otimização ONS 9

Métodos de solução Corte Abril-agosto 004 Modelos e métodos de otimização ONS 30

Métodos de solução Corte Abril-agosto 004 Modelos e métodos de otimização ONS 3

Métodos de solução 3 = * * é a solução ótima do problema de programação inteira. Abril-agosto 004 Modelos e métodos de otimização ONS 3

Abril-agosto 004 Modelos e métodos de otimização ONS 33 Métodos de solução Corte Corte Aproimação da envoltória convea na vizinhança do ótimo.

Métodos de solução Outros eemplos de cortes (derivação baseada nos resultados do algoritmo Simple): Cortes fracionários de Gomory Cortes inteiros de Gomory Cortes disjuntivos Cortes de Benders Dificuldade: cortes genéricos eliminam uma fração muito pequena do poliedro que representa a região viável da relaação linear e, por esta razão, seu desempenho é muito limitado (convergência muito lenta e problemas numéricos). Abril-agosto 004 Modelos e métodos de otimização ONS 34

Métodos de solução Métodos poliedrais Cortes baseados na estrutura algébrica de cada problema específico. Cortes mais profundos, que coincidem com as faces da envoltória convea do conjunto de soluções viáveis inteiras. Dificuldade: a caracterização dos cortes depende da estrutura de cada problema a ser resolvido e estes nem sempre podem ser obtidos, envolvendo um longo e compleo estudo algébrico. Abril-agosto 004 Modelos e métodos de otimização ONS 35

Métodos de solução Branch-and-bound Estratégia do tipo divisão-e-conquista para eplorar o conjunto de soluções viáveis inteiras, empregando limites inferiores (caso de minimização) para evitar a eploração de partes do conjunto de soluções viáveis inteiras. Problema de minimização: P = P P P p minimizar sujeito a : c. P, inteiro Abril-agosto 004 Modelos e métodos de otimização ONS 36

Métodos de solução Branch-and-bound Transformar o problema original em p subproblemas: minimizar c. sujeito a : Pi, inteiro, i =,..., p Resolvê-los e salvar a melhor solução encontrada. Cada subproblema pode ser tão difícil quanto o problema inicial. Proceder recursivamente por decomposição, gerando subproblemas progressivamente menores até que possam ser resolvidos de forma eata. Abril-agosto 004 Modelos e métodos de otimização ONS 37

Métodos de solução Assume-se a eistência de uma forma simples de calcular um limite inferior para o valor ótimo de cada subproblema: O limite inferior é usado para guiar a eploração dos subproblemas ainda em aberto. Estratégia simples para calcular um limite inferior? Resolver a relaação linear! Heurísticas ou resolução eata de algum subproblema: Limite superior UB para o custo da solução ótima = = custo da melhor solução viável inteira já encontrada Abril-agosto 004 Modelos e métodos de otimização ONS 38

Métodos de solução Essência do método: se o limite inferior correspondente a um subproblema S i é maior ou igual a UB, então este subproblema pode ser descartado. Sua solução ótima inteira nunca poderá ser melhor do que a melhor solução inteira já conhecida, pois seu custo será maior ou igual a UB. Manter em memória: Lista de subproblemas ativos ou abertos, ainda não resolvidos. Custo UB da melhor solução viável inteira conhecida. Abril-agosto 004 Modelos e métodos de otimização ONS 39

Métodos de solução. Inicializar a lista de subproblemas ativos com o original.. Selecionar um subproblema ativo S i e retirá-lo da lista. 3. Se S i é inviável, descartá-lo. Senão, resolver sua relaação e obter um limite inferior LB i para seu valor. 4. Se LB i UB, descartar S i. 5. Caso contrário (isto é, se LB i < UB): ou resolver S i de forma eata, ou decompor S i em subproblemas que são inseridos na lista. 6. Se a lista não estiver vazia, retornar ao passo () acima. Abril-agosto 004 Modelos e métodos de otimização ONS 40

Métodos de solução Estratégias em aberto no esquema anterior: Como escolher um dos problemas em aberto no passo? Busca em profundidade Busca em amplitude Busca pelo melhor limite inferior Como obter um limite inferior LB i no passo 3? Estratégia mais freqüente: resolver a relaação linear Quanto melhor o limite inferior (isto é, quanto mais próimo do valor eato), mais rápido o algoritmo esgota a lista de subproblemas. Como decompor um problema em subproblemas no passo 5? Estratégia mais freqüente: adicionar restrições i i * e i i * Abril-agosto 004 Modelos e métodos de otimização ONS 4