6. Programação Inteira



Documentos relacionados
AULA 08 PROGRAMAÇÃO LINEAR INTEIRA. Eduardo Camargo de Siqueira PESQUISA OPERACIONAL TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

A otimização é o processo de

UTILIZAÇÃO DE SOFTWARES NA RESOLUÇÃO DE UM PROBLEMA DE PROGRAMAÇÃO LINEAR. Cintia da Silva Araújo, Tiago de Souza Marçal, Magda Aparecida Nogueira

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

Metodologia para seleção de amostras de contratos de obras públicas (jurisdicionados) utilizando a programação linear aplicativo Solver

Aula 4 Estatística Conceitos básicos

2. A FERRAMENTA SOLVER (EXCEL)

Pesquisa Operacional na Tomada de Decisões. Conteúdos do Capítulo. Programação Linear. Lindo. s.t. Resolvendo Programação Linear Em um Microcomputador

PRO Pesquisa Operacional II. 5. Análise econômica e análise de sensibilidade

Tecnologia da Informação Prof. Mário Henrique de Souza Pardo Resumo Aula 4

Utilização do Solver na solução de problemas de PL

Pesquisa Operacional. Análise de Sensibilidade. Evanivaldo Castro Silva Júnior

1. Introdução. Avaliação de Usabilidade Página 1

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura Exemplo de um grafo linear.

Potenciação no Conjunto dos Números Inteiros - Z

INVESTIMENTO A LONGO PRAZO 1. Princípios de Fluxo de Caixa para Orçamento de Capital

Investigação Operacional

PESQUISA OPERACIONAL

Guia de utilização da notação BPMN

Programação Matemática - Otimização Linear

b) a 0 e 0 d) a 0 e 0

Álgebra. SeM MiSTéRio

Cotagem de dimensões básicas

A Torre de Hanói e o Princípio da Indução Matemática

Identificação e análise de gargalos produtivos: impactos potenciais sobre a rentabilidade empresarial

Sumário. 1 Introdução. Demonstrações Contábeis Decifradas. Aprendendo Teoria

Exercícios Adicionais

Cálculo Numérico Faculdade de Engenharia, Arquiteturas e Urbanismo FEAU

O comportamento conjunto de duas variáveis quantitativas pode ser observado por meio de um gráfico, denominado diagrama de dispersão.

Resolução de sistemas lineares

Programação Inteira. Fernando Nogueira Programação Inteira 1

SEI Superintendência de Estudos Econômicos e Sociais da Bahia Av Luiz Viana Filho, 435-4ª avenida, 2º andar CAB CEP Salvador - Bahia Tel.

Prof. Daniela Barreiro Claro

4 Estudo de caso: Problema de seqüenciamento de carros

9 Comandos condicionais

Exercícios Teóricos Resolvidos

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06

Curvas em coordenadas polares

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

SISTEMAS DE INFORMAÇÃO GERENCIAIS

COMO CALCULAR O PRINCIPAL INDICADOR PARA MEDIR A EFICIÊNCIA FINANCEIRA DE UMA

Análise de Arredondamento em Ponto Flutuante

Roteiro SENAC. Análise de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos. Análise Quantitativa de Riscos

FAQ: Parametrização para Contabilização

PREVISÃO DE DEMANDA - O QUE PREVISÃO DE DEMANDA - TIPOS E TÉCNICAS DE PREVISÃO DE DEMANDA - MÉTODOS DE PREVISÃO - EXERCÍCIOS

Lista 1 para a P2. Operações com subespaços

Módulo 9 A Avaliação de Desempenho faz parte do subsistema de aplicação de recursos humanos.

Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP

4. Metodologia. Capítulo 4 - Metodologia

Programação Inteira Conteúdos da Seção Programação Inteira Problema Relaxado Solução Gráfica Solução por Enumeração Algoritmo de Branch-And-Bound

Universidade da Beira Interior Departamento de Matemática. Fábrica 1 Fábrica 2 Fábrica 3 Mina Mina

Linear Solver Program - Manual do Usuário

MD Sequências e Indução Matemática 1

Processos de Gerenciamento de Projetos. Planejamento e Controle de Projetos 5 TADS FSR. Processos

Boletim. Contabilidade Internacional. Manual de Procedimentos

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE II): ATINGIR META E SOLVER

LISTA DE VERIFICAÇAO DO SISTEMA DE GESTAO DA QUALIDADE

Pesquisa Operacional. Componentes de um modelo de PL

Pedro Ribeiro 2014/2015

A GESTÃO E AVALIAÇÃO DE DESEMPENHO NA INCUBADORA TÉCNOLÓGICA UNIVAP

9º ENTEC Encontro de Tecnologia: 23 a 28 de novembro de 2015

Problema de Otimização Combinatória

1. Os métodos Não-Paramétricos podem ser aplicados a uma ampla diversidade de situações, porque não exigem populações distribuídas normalmente.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

4.1. UML Diagramas de casos de uso

Bem-vindo ao tópico sobre administração de listas de preços.

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

Probabilidade - aula I

MÉDIA ARITMÉTICA MÉDIA PONDERADA MODA MEDIANA

Eventos independentes

O princípio multiplicativo

FINANÇAS EM PROJETOS DE TI


APLICAÇÃO DOS MÉTODOS DE CUSTEIO: VARIÁVEL E POR ABSORÇÃO, PARA O PROCESSO DECISÓRIO GERENCIAL DOS CUSTOS

Soluções via.net para otimização de processos paramétricos com Autodesk Inventor.

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Fundamentos da Aprendizagem Digital. Profº Luiz André

Manual MQS. Logo após colocar essas informações abrirá a página inicial do sistema:

Gráficos de funções em calculadoras e com lápis e papel (*)

Base Nacional Comum Curricular Lemann Center at Stanford University

Unidade 5: Sistemas de Representação

Cadernos do CNLF, Vol. XVI, Nº 04, t. 3, pág. 2451

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

Medindo a Produtividade do Desenvolvimento de Aplicativos

TÉCNICAS DE PROGRAMAÇÃO

Pesquisador em Saúde Pública. Prova Discursiva INSTRUÇÕES

Laboratório de Física I - EAD- UESC 2011

TEXTO DE REVISÃO: Uso da calculadora científica e potências de 10.

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

6. Pronunciamento Técnico CPC 23 Políticas Contábeis, Mudança de Estimativa e Retificação de Erro

Ambos têm os algarismos 7854 seguidos, a potência de dez apenas moverá a vírgula, que não afeta a quantidade de algarismos significativos.

A presente seção apresenta e especifica as hipótese que se buscou testar com o experimento. A seção 5 vai detalhar o desenho do experimento.

Jogos vs. Problemas de Procura

Unidade 3 Função Logarítmica. Definição de logaritmos de um número Propriedades operatórias Mudança de base Logaritmos decimais Função Logarítmica

Programação Linear. SOLVER EXCEL Prof. José Luiz. Solução via Excel

Satisfação dos consumidores: estudo de caso em um supermercado de Bambuí/MG

Unidade II - Sistemas de Equações Lineares

Simulação e Gerenciamento de Manufatura. Quadro comparativo entre o Max-Prod e seu principal concorrente (Software importado)

Transcrição:

Pesquisa Operacional II 6. Programação Inteira Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção Programação Inteira São problemas de programação matemática em que a função objetivo, bem como as restrições, são lineares, porém uma ou mais variáveis de decisão podem apenas assumir valores inteiros. Esse problema pode apresentar dois tipos básicos: Programação Inteira Total - onde todas as variáveis de decisão são do tipo inteiro. Programação Inteira Mista - onde apenas uma parte das variáveis são do tipo inteiro, enquanto outras são do tipo real.

Programação Inteira A primeira idéia que pode vir à mente é resolver o problema como se fosse um problema de programação linear e arredondar os valores ótimos encontrados para cada uma das variáveis de decisão inteiras. Para problemas de grande porte, isto geralmente gerará uma solução aceitável (próxima do ótimo real) sem a violação de nenhuma das restrições. Para problemas menores, esse tipo de procedimento poderá nos levar a soluções inviáveis ou não ótimas. onde: Programação Inteira (,,..., n ) (,,..., n ) ( n ) Otimizar: z = f x, x,..., x sujeito a: g x x x b g x x x b 2 2 = M M g ( x, x,..., x m n) bm x, x,..., x são inteiros (,,..., ) = + +... + n 2 n n (,,..., ) = + +... + ( =,..., n i i2 2 in n ) f x x x cx cx cx g x x x a x a x a x i n n 2

Programação Inteira Problema Relaxado A todo problema de programação inteira está associado um problema com a mesma função-objetivo e as mesmas restrições, com exceção da condição de variáveis inteiras. A esse problema se dá o nome de Problema Relaxado. Programação Inteira Solução Gráfica Ma8x + 6x s.a. x + x 5 42.8x + 00x 800 20x + 6x 42 30x + 0x 35 x 3x 0 x, x 0 e inteiros () (2) (3) (4) (5) (2) () (4) (3) (5) 3

Programação Inteira Solução Gráfica Ma8x + 6x s.a. x + x 5 42.8x + 00x 800 20x + 6x 42 30x + 0x 35 x 3x 0 x, x 0 e inteiros Solução Ótima para PL Relaxado (5,28 ; 5,74) Programação Inteira Solução Gráfica Solução Aproximada do PL Relaxado Ótimo (5 ; 5) (5,28 ; 5,74) Solução Ótima para PL Relaxado (5,28 ; 5,74) Solução Ótima para Problema Inteiro (6 ; 3) 4

Programação Inteira PL Relaxado Em um problema de MAXIMIZAÇÃO, o valor ótimo da função-objetivo, do Problema Relaxado, sempre representa um limite superior ao respectivo Problema Inteiro. Em um problema de MINIMIZAÇÃO, o valor ótimo da função-objetivo, do Problema Relaxado, sempre representa um limite inferior ao respectivo Problema Inteiro. Programação Inteira PL Relaxado Nenhum ponto inteiro vizinho ao ponto ótimo do problema relaxado é necessariamente viável. Mesmo que um dos vizinhos seja viável. Não é necessariamente o ponto ótimo inteiro. Não é obrigatoriamente uma solução aceitável. Solução Ótima para PL Relaxado Solução Ótima para Prog.Inteira 5

Programação Inteira Solução por Enumeração Uma idéia que pode resultar em uma solução para um problema de programação inteira é a de se enumerar todas as possíveis soluções. De forma exaustiva, o valor da função-objetivo é calculado para todas as soluções viáveis e é escolhido aquele que apresente o maior valor (no caso de maximização) ou o menor valor (no caso de minimização). Programação Inteira Solução por Enumeração O problema com essa tática de solução está no fato de que ela só consegue ser aplicada a problemas pequenos. O número de combinações possíveis de soluções cresce de forma exponencial, isto é, de forma muito rápida: Ex.: Um PLI com 00 variáveis de decisão do tipo binárias (assumem 0 ou ) terá até 2 00 soluções viáveis, isto é,,27 0 30 soluções possíveis. 6

Programação Inteira é mais utilizado atualmente para resolução de problemas do tipo PLI ou PLI misto. É uma metodologia geral para solução de PLI e PLI misto, e existem diversas variantes para tratar diversos tipos de problemas específicos. A idéia geral é a de se dividir o conjunto de soluções viáveis em subconjuntos sem interseções entre si, calculando-se os limites superior e inferior para cada subconjunto, e então eliminando certos subconjuntos de acordo com regras pré-estabelecidas. Programação Inteira Algoritmo de Branch-and-Bound Comparativamente ao PL correspondente, o PI levará muito mais tempo para obter um valor ótimo. Isso está ligado ao fato que diversos problemas de PL são resolvidos sucessivamente para se obter a solução de um PI. Se o problema for interrompido no meio do processo uma solução aproximada do problema inteiro pode ser gerada. 7

A divisão do problema é interrompida quando uma das condições a seguir é satisfeita. Essas condições são chamadas de testes de sondagem (TS): (TS ) (TS 2) Programação Inteira Algoritmo de Branch-and-Bound O problema relaxado é infactível. A solução ótima do problema relaxado é inteira. (TS 3) O valor de qualquer solução factível do problema relaxado é pior que o valor da melhor solução factível atual (solução incumbente). Quando uma dessas três condições ocorre, o subproblema pode ser descartado (sondado), pois todas as suas soluções factíveis estão implicitamente enumeradas. Exemplo Max + x sa.. 7x + 4x 3 x, x 0 x, x inteiros Na Figura (a) têm-se os pontos que representam as soluções factíveis do problema (todos os pontos inteiros que satisfazem as restrições). O problema de programação linear (PPL) obtido ao desconsiderarmos as restrições de integralidade das variáveis inteiras é conhecido como a relaxação linear do PPI (ver Figura (b)). PPI Ótimo = 39 PPL (a) Ótimo = 33 (b) 8

Exemplo Resolvendo o problema relaxado tem-se que: Valor ótimo da solução: 39 Valores das variáveis =.86 e =0 Z=39 =.86 =0 Logo o valor de não é inteiro, então dividimos o problema em dois subproblemas: um onde consideramos o valor de 2, que vamos chamar de subproblema A; outro consideramos, chamado de subproblema B. Exemplo Suproblema A Max + x sa.. 7x + 4x 3 x 2 x, x 0 Subproblema B Max + x sa.. 7x + 4x 3 x x, x 0 Infactível A Ótimo = 37.5 B 9

Exemplo Não encontramos solução factível ao resolver o problema A, então aplicando o TS podemos eliminá-lo. Resolvendo o subproblema B temos Z = 37.5, = e =.5: Agora não é inteiro, logo particionamos o problema em dois considerando o subproblema C com a variável e o subproblema D com 2. Z=39 =.86 =0 2 A TS Z=37.5 = =.5 B Exemplo Suproblema C Max + x 2 sa.. 7x + 4x 3 x x x, x 0 Subproblema D Max + x 2 sa.. 7x + 4x 3 x x 2 x, x 0 Ótimo = 32 C D Ótimo = 37 0

Exemplo Z=39 =.86 =0 2 A TS Z=37.5 = =.5 B C TS2 Z=32 = = Z=37 =0.7 =2 D 2 Exemplo A solução do subproblema C é igual a 32, = e =, as duas variáveis são inteiras, logo considerando o TS2 este problema pode ser sondado. Resolvendo o subproblema D temos Z=37, =0.7 e =2: note que a variável novamente não é inteira, então particionamos o subproblema gerando dois novos subproblemas como mostramos a seguir.

Exemplo Suproblema E Max + x 2 sa.. 7x + 4x 3 x x 2 x 0 x, x 0 Subproblema F Max + x 2 sa.. 7x + 4x 3 x x 2 x x, x 0 F Infactível E Ótimo =35.75 Exemplo Z=39 =.86 =0 2 A TS Z=37.5 = =.5 B C TS2 Z=32 = = Z=37 =0.7 =2 D 2 0 E Z=35.75 =0 =3.25 F TS 2

Exemplo O problema F é infactível, logo podemos usar TS e eliminá-lo. O subproblema E tem solução igual a 35.75 e =0 e =3.25. Suproblema G Max + x 2 2 sa.. 7x + 4x 3 x x 2 x 0 x 3 x, x 0 Subproblema H Max + x 2 2 sa.. 7x + 4x 3 x x 2 x 0 x 4 x, x 0 Exemplo Z=39 =.86 =0 2 A TS Z=37.5 = =.5 B C TS2 Z=32 = = Z=37 =0.7 =2 D 2 0 E Z=35.75 =0 =3.25 F TS 3 G Z=33 =0 TS2 =3 H TS 4 3

Exemplo Resolvendo o subproblema G obtemos Z=33, =0 e =3, logo a solução é inteira, portanto aplicando o TS2 este problema pode ser sondado. O subproblema H não tem solução factível e também pode ser sondado por TS. Temos que nenhum nó pode ser ramificado, logo, a melhor solução inteira encontrada é dada pelo problema G e éa solução ótima do problema. Na resolução do exemplo através do método B&B podemos observar que muitas soluções não precisaram ser avaliadas explicitamente. Isso fica mais claro quando se resolve problemas maiores. Programação Inteira Algoritmo de Branch-and-Bound A solução obtida num problema PLI ou PLI misto contém menos informações que o PL correspondente. Algumas diferenças são: Inexistência de análise de sensibilidade. Esta análise deve ser efetuada alterando-se o problema e obtendo-se nova solução. Não provê informação similar ao preço de sombra. Muitos softwares que realizam programação inteira são parte integrante de pacotes de PL e produzem análise de sensibilidade, independente desta não ter valor no âmbito de programação inteira. Nestes casos devemos desconsiderar estas análises. 4

Usando Solver do Excel Definindo Variáveis Inteiras e Binárias Lindo Variáveis Inteiras e Binárias Os comandos adicionais abaixo são colocados após o comando END ao final das restrições: FREE <Variável> - Remove os limites de não negatividade imposta a todas as variáveis por default. GIN <Variável> inteira geral. INT <Variável> inteira binária. - Faz a <Variável> uma variável - Faz a <Variável> uma variável 5

Problema de Orçamento de Capital Caso LCL Tecnologia S/A A LCL Tecnologia S/A tem que planejar seus gastos em P&D. A empresa pré-selecionou 4 projetos e deve escolher dentre esses quais deve priorizar em função de restrições orçamentárias. Os dados relevantes encontram-se na tabela abaixo. Proj. 2 3 4 NPV(8%) (mil R$) $05.99 $28.90 $36.4 $7.38 Capital Disponível Ano 70 80 90 50 200 Capital Requerido em mil R$ Ano 2 Ano 3 Ano 4 Ano 5 5 0 20 20 20 25 5 0 20 0 30 20 30 40 0 20 70 70 70 70 Variáveis de Decisão Caso LCL Tecnologia S/A, se o projeto i for selecionado x = i =,2,3, 4. i 0, se o projeto i não for selecionado Função Objetivo = Maximizar o somatório NPV. Ma05.99x + 28.90x + 36.4x + 7.38x 3 4 6

Caso LCL Tecnologia S/A Restrições Orçamentárias: 70x + 80x + 90x + 50x 200 - Ano 3 4 5x + 20x + 20x + 30x 70 - Ano 2 3 4 25x + 40x 70 - Ano 3 2 4 20x + 5x + 30x 70 - Ano 4 3 20x + 0x + 20x + 20x 70 - Ano 5 3 4 Caso LCL Tecnologia S/A O Modelo Ma05.99x + 28.90x + 36.4x + 7.38x 3 4 s.a. 70x + 80x + 90x + 50x 200 3 4 5x + 20x + 20x + 30x 70 3 4 25x + 40x 70 2 4 20x + 5x + 30x 70 3 20x + 0x + 20x + 20x 70 3 4 x 0,, i =,2,3, 4 i { } 7

Caso LCL Tecnologia S/A Solver do Excel Caso LCL Tecnologia S/A Solver do Excel 8

Caso LCL Tecnologia S/A Solver do Excel Variáveis Binárias e Condições Lógicas As variáveis binárias também se prestam a selecionar alternativas que sejam condicionais. No exemplo anterior imagine que não mais de um dos projetos, 3 e 4 pudesse ser selecionado. Deveríamos então adicionar:. x x x + 3 + 4 Se apenas um dos projetos e apenas um dos projetos, 2 e 4 tivesse que ser escolhido obrigatoriamente, deveríamos incluir:. x x x + 2 + 4 = 9

Variáveis Binárias e Condições Lógicas Imagine agora que o projeto dependa de uma tecnologia que deve ser desenvolvida pelo projeto 2, isto é, o projeto só pode ser aprovado se e somente se o projeto 2 for aceito. Deveríamos então incluir: x = 0, x2 = 0 nenhum dos projetos aceitos x =, x2 = ambos os projetos aceitos x x2 0 x = 0, x2 = apenas o projeto 2 foi aceito x =, x2 = 0 inviável Caso LCL Equipamentos S.A. A LCL Equipamentos S.A. produz três tipos de furadeiras que necessitam de tempos diferentes na linha de montagem. Para que cada tipo de furadeira seja fabricada, um custo de preparação da fabrica é incorrido. Suponha que todas as furadeiras do mesmo tipo serão produzidas de uma só vez (apenas uma preparação por tipo). Abaixo os dados relevantes à análise do problema. Tipo Tipo 2 Tipo 3 Total Disponível Montagem Pintura Lucro Unitário Preparação 2h/unid 3h/unid R$50 R$5.000 3h/unid 2h/unid R$60 R$4.000 2,5h/unid 2,5h/unid R$65 R$3.000 600h 500h 20

Caso LCL Equipamentos S.A. Variáveis Binárias Variáveis de Decisão x = Quantidade a ser produzida do produto i ( i =,2,3) i, se x > 0 i y = i =,2,3 i 0, se x = 0 i Função Objetivo Max 50x + 60x + 65x 5000y 4000y 3000y 3 3 Caso LCL Equipamentos S.A. Variáveis Binárias Restrições de Produção 2x + 3x2 + 2,5x3 600 3x + 2x + 2,5x 500 3 Restrições de ligação de Variáveis x 600y x 600y 2 2 x 600y 3 3 Obs : 600 é um nº que é grande o suficiente. 2

Caso LCL Equipamentos S.A. { } O Modelo Max 50x + 60x + 65x 5000y 4000y 3000y sujeito a: 2x + 3x + 2,5x 600 3x + 2x + 2,5x 500 x 600y x 600y x 600y x 0, i =,2,3 y 0, i =,2,3 3 3 3 3 2 2 3 3 i i Caso LCL Equipamentos S.A. Variáveis Binárias =B7*B0 22

Caso LCL Equipamentos S.A. Variáveis Binárias Caso LCL Equipamentos S.A. Variáveis Binárias 23

Exercício Resolver o problema abaixo utilizando o algoritmo Branch-and-Bound: Max 3x + 3x s.a. x + 4x 2 6x + 4x 24 x, x 0 e inteiros Referências Bibliográficas LACHTERMACHER, G., Pesquisa operacional na tomada de decisão (modelagem em Excel). 2ª edição, revista e atualizada, Editora Campus, 2004. HILLIER, F. S. Introdução à pesquisa operacional. Rio de Janeiro, Editora Campus, 988. GOLDBARG, M. C. e LUNA, H. P., Otimização combinatória e programação linear: modelos e algoritmos. 2ª edição, Editora Campus, Rio de Janeiro, 2005. 24