AULA 9 - Programação Inteira

download AULA 9 - Programação Inteira

of 51

Transcript of AULA 9 - Programação Inteira

  • 8/18/2019 AULA 9 - Programação Inteira

    1/51

    PESQUISA OPERACIONAL IIProfa. Vanessa Batista Schramm

  • 8/18/2019 AULA 9 - Programação Inteira

    2/51

    PROGRAMAÇÃO INTEIRA

  • 8/18/2019 AULA 9 - Programação Inteira

    3/51

    Introdução

    •  É uma ferramenta para resolver Problemas de ProgramaçãoLinear onde a hipótese da divisibilidade não é atendida, isto é, a valores não inteiros não são permitidos para as variáveis dedecisão.

    • 

    Programação Linear Inteira – Programação Inteira (PI).•  O modelo matemático para Problemas de Programação Inteira

    (PPI) é o mesmo modelo de PPL com uma restrição adicional deque as variáveis devem ser valores inteiros.

    •  Caso essa restrição adicional seja apenas associada a algumas

     variáveis, permanecendo a hipótese da divisibilidade válida para asdemais, trata-se de um modelo de Programação Inteira Mista(PIM).

  • 8/18/2019 AULA 9 - Programação Inteira

    4/51

    Programação Inteira Binária

    •  Uma importante área de aplicação da PI é problemas envolvendodecisões dicotômicas, do tipo sim  e não.

    •  Nestes casos, as variáveis do problema são binárias (0-1),

    implicando na denominação Programação Inteira Binária (PIB) ouProgramação Inteira 0-1.

    !!   !!  !" ! !"#$%!!  !  !"# !!"#!

    !  !" ! !"#$%!!  !  !"# !!!!! 

  • 8/18/2019 AULA 9 - Programação Inteira

    5/51

    Problema da Mochila (binário)

    •  O problema da mochila (knapsack problem) metaforicamenterepresenta o desafio de encher uma mochila sem ultrapassar umdeterminado limite de peso, otimizando o valor do produtocarregado.

    • 

    O modelo do Problema da Mochila pode ser aplicado a diferentescontextos:•  Problemas de investimento

    •  Problemas de corte e empacotamento

    •  Carregamento de veículos

     

    Orçamento

  • 8/18/2019 AULA 9 - Programação Inteira

    6/51

    Problema da Mochila (binário)

    •  xj é a variável binária que irá

    representar a decisão de levar ou

    não o objeto j:

    • 

    xj = 1 levar o objeto j

    •  xj = 0 não levar o objeto j

    •  cj é o valor (utilidade) do objeto j

    •  w j é o peso do objeto j

    •  b é a capacidade da mochila

     Max z   =   c j x

     j

     j=1

    n

    !

     sujeito a :

    w j x

     j

     j=1

    n

    !   " b

     x j  #{0,1}   $   j

  • 8/18/2019 AULA 9 - Programação Inteira

    7/51

    Exercício: Problema da Mochila

    •  Um estudante dispõe de uma mochila com capacidade para 14 kge tem quatro itens para colocar nela, com pesos e valores(utilidade) diferenciados:

    •  Deseja-se maximizar a soma dos valores dos itens colocados namochila. Determine o modelo matemático para este problema.

    Peso (Kg) Valor

    Item 1 5 8

    Item 2 7 11

    Item 3 4 6

    Item 4 3 4

  • 8/18/2019 AULA 9 - Programação Inteira

    8/51

    Exercício: Problema da Mochila

    Max Z = 8x1 + 11x2 + 6x3+ 4x4

    Sujeito a:

    5x1 + 7x2 + 4x3 + 3x4 ! 14

    xj " {0, 1}

  • 8/18/2019 AULA 9 - Programação Inteira

    9/51

     Aplicações: Problema de Investimento

    •  Suponha que uma empresa esteja planejando seus investimentospara os próximos T períodos. Existem n projetos prioritários, masque devem ser contabilizados com o orçamento disponível Gt noperíodo t (t = 1, 2, ..., T). Se o projeto j é realizado, ele exige um

    investimento atj no período t. Suponha ainda que cada projeto jseja conhecido o seu valor presente bj. O problema de orçamentode capital consiste em selecionar projetos a realizar de forma amaximizar o valor presente total, respeitada a limitaçãoorçamentária.

  • 8/18/2019 AULA 9 - Programação Inteira

    10/51

     Aplicações: Problema de Investimento

    •  Seja xj a variável binária que indica a aprovação ou não do projetoj (j = 1, 2, ..., n).

    •  O modelo consiste em determinar os valores de xj.

    Max Z = b1x1 + b2x2 + ... + bnxns/a:

    a11x1 + a12x2 + ... + a1nxn! G1a21x1 + a22x2 + ... + a2nxn! G2

    .

    ..

    a T1x1 + a T2x2 + ... + a Tnxn! G Txj " {0, 1}, para j = 1, 2, 3, 4.

  • 8/18/2019 AULA 9 - Programação Inteira

    11/51

     Aplicações: Problema de Investimento•  Caso 1: Projetos mutuamente exclusivos. Suponha que os

    projetos p, q e r sejam mutuamente exclusivos, ou seja, se um delefor aprovado, os demais têm que ser rejeitados. Para tal situaçãobasta acrescentar ao modelo a restrição:

    xp

    + xq

    + ... 

    + xr

    ! 1

    •  Caso 2: Projetos contingenciais. Suponha que o projeto xf sópossa ser realizado caso o projeto xg também seja. Para talsituação, basta acrescentar ao modelo a restrição:

    xf ! xq

    •  Note que esta restrição permite três alternativas: i) xf = xq = 0; ii) xf = xq = 1;e iii) xf = 0 e xq = 1, ficando excluída a situação xf = 1 e xq = 0.

  • 8/18/2019 AULA 9 - Programação Inteira

    12/51

     Aplicações: Problema de Investimento

    •  Caso 3: Restrições de caixa. Se o modelo desejar incorporar ofluxo de caixa associado ao projeto, há que convencionar que atj >0 ou atj < 0, conforme sejam entradas ou saídas de caixa noperíodo t decorrentes do projeto j.

  • 8/18/2019 AULA 9 - Programação Inteira

    13/51

    Exemplo: Problema de Investimento

    •  A CALIFORNIA MANUFACTURING COMPANY estáconsiderando a possibilidade de se expandir com a construção deuma nova fábrica em Los Angeles ou então em São Francisco, ouquem sabe, até mesmo em ambas as cidades. Ela também está

    considerando a possibilidade de construir um novo depósito, masa escolha do local está restrita a uma cidade na qual a fábrica seráconstruída.

    •  A tabela a seguir mostra os dados do problema. O objetivo é

    encontrar a combinação de alternativas que maximize o valorpresente líquido total (rentabilidade total considerando o valortemporal do dinheiro).

  • 8/18/2019 AULA 9 - Programação Inteira

    14/51

    Exemplo: Problema de Investimento

    •  Formule o modelo PI, sabendo que todas as variáveis de decisãosão binárias.

    Decisão

    Número

    Pergunta

    Sim-ou-Não

    Variável de

    Decisão

    Valor Presente

    Líquido (U$$)

    Capital

    Exigido (U$$)

    1 Construir a fábrica em Los Angeles?  x1 9 milhões 6milhões

    2 Construir a fábrica em São Francisco?  x2 5 milhões 3 milhões

    3 Construir o depósito em Los Angeles?  x3 6 milhões 5 milhões

    4 Construir o depósito em São Francisco?  x4 4 milhões 2 milhões

    Capital disponível: U$$ 10 milhões

    !!   !!

     

    !" 

    !"#$%!! 

     ! 

     !"# 

    !!"#!

    !  !" ! !"#$%!!  !  !"# !!!!! 

  • 8/18/2019 AULA 9 - Programação Inteira

    15/51

    Exemplo: Problema de Investimento

    •  Façamos Z = valor presente líquido total.

    •  Observe as seguintes recomendações:•  “um novo depósito” significa que só deverá ser construído 1 um único

    depósito: x3 e x4 são decisões mutuamente exclusivas. 

    •  “a escolha do local está restrita a uma cidade na qual a fábrica seráconstruída” significa que a empresa irá construir um depósito em umadeterminada cidade somente se também fosse construir uma nova fábrica lá:x3 e x1 são decisões contingentes, assim como x4 e x2.

  • 8/18/2019 AULA 9 - Programação Inteira

    16/51

    Exemplo: Problema de Investimento

    •  Façamos Z = valor presente líquido total.

    •  Observe as seguintes recomendações:•  “um novo depósito” significa que só deverá ser construído no máximo um

    depósito.

    x3 + x4! 1

    •  “a escolha do local está restrita a uma cidade na qual a fábrica seráconstruída” significa que a empresa irá construir um depósito em umadeterminada cidade somente se também fosse construir uma nova fábrica lá.•  É necessário que x3 = 0 se x1 = 0

    • 

    Similarmente, x4 = 0 se x2 = 0x3 !  x1x4 !  x2

  • 8/18/2019 AULA 9 - Programação Inteira

    17/51

    Exemplo: Problema de Investimento

    Max Z = 9x1 + 5x2 + 6x3 + 4x4Sujeito a:

    6x1 + 3x2 + 5x3 + 2x4!

     10x3 + x4! 1

    − x1 + x3! 0 − x2 + x4! 0 

    xj " {0, 1}, para j = 1, 2, 3, 4

  • 8/18/2019 AULA 9 - Programação Inteira

    18/51

     Aplicações: Modelo com Custo Fixo

    •  Para um modelo básico de um PPL no qual modelo as variáveisrepresentam níveis de determinada atividade.

     Min custo =   c j

     x j j=1

    n

    ! sujeito a :

    aij x

     j

     j=1

    n

    !   " bi   para i   =1,2,...,m

     x j " 0   #   j

  • 8/18/2019 AULA 9 - Programação Inteira

    19/51

     Aplicações: Modelo com Custo Fixo

    •  Suponha que haja uma atividade j com custo fixo K j e custooperacional unitário cj. Assim:

    Se xj = 0, então custo = 0

    Se xj > 0, então custo = K j + cjxj

    •  Neste caso, o PPL deve ser alterado para um modelo de PIB, deforma a levar em conta o custo fixo.

    •  Acrescentar à função objetivo K jy j• 

     Acrescentar às restrições: xj!

     M.y j e y j binária•  M é uma constante arbitrariamente grande: essa restrição é usada para forçar

    que xj seja maior que zero apenas quanto y j for igual a 1 (0 ! xj ! M); casocontrário, xj = 0.

  • 8/18/2019 AULA 9 - Programação Inteira

    20/51

     Aplicações: Modelo com Custo Fixo

     Min custo =   c j x

     j

     j=1

    n

    !   +   K  j y j j=1

    n

    !

     sujeito a :

    aij x

     j

     j=1

    n

    !   " bi   para i  =1,2,...,m

     x j # M . y

     j  para j  =1,2,...,n,

     x j

     " 0   $   j

     y j

     binária   $   j

  • 8/18/2019 AULA 9 - Programação Inteira

    21/51

     Aplicações: Problema de Localização

    •  Sejam m localizações potenciais onde se produz um único bem.Este bem deve ser distribuído a n depósitos, cada um com umdemanda dj (j = 1, 2, ..., n). Se a localização potencial i for ativadae passar a produzir, ela terá um custo fixo Ki e uma capacidade de

    produção Mi. O custo de transportar uma unidade da fonte i aodepósito j é g ij.

    •  O modelo linear misto a seguir responde as duas indagações: i)quais fontes devem ser ativadas?; e ii) que quantidades devem ir da

    fonte i ao depósito j?

  • 8/18/2019 AULA 9 - Programação Inteira

    22/51

     Aplicações: Problema de Localização

     Min g ij z 

    ij

     j=1

    n

    !i=1

    m

    !   +   K i yii=1

    m

    !

     sujeito a :

     z ij

    i=1

    m

    !   = d  j   para j  =1,2,...,n

     z ij

     j=1

    n

    !   " M i yi   para i  =1,2,...,m,

     z ij # 0   $ i e j

     yi binária   $ i

    • 

    y i = 1 significa a decisão deativar a localização i

    •  zij é volume transportado dalocalização i para o depósitoj.

    • 

     A primeira restrição indicaque o volume recebido pelodepósito j, vindo de todas aslocalizações, é igual ademanda dj.

    • 

     A segunda restrição indicaque só há transporte a partirda localização i se y i = 1.

  • 8/18/2019 AULA 9 - Programação Inteira

    23/51

     Algumas Aplicações

    •  Análise de investimento

    •  Escolha de um local

    •  Desenhando uma rede de distribuição

    •  Despacho de mercadorias

    • 

    Programação de atividades

    •  Programação de venda de ativos

    •  Aplicações em linhas aéreas

    Fonte: Hillier FS e Lieberman GJ. Introdução à PesquisaOperacional, 8ª Ed., Porto Alegre: AMGH, 2010.

  • 8/18/2019 AULA 9 - Programação Inteira

    24/51

     Algumas Aplicações1.

     

    O problema de alocação de pessoal2.  O problema do jantar de Nero3.

     

    O problema da otimização de padrões de corte4.

      O problema da câmara de segurança5.  O problema do carregamento de aviões6.

     

    O problema da auditoria bancária7.

     

    O problema do incêndio florestal – ataque massivo8.

     

    O problema do sistema de defesa antiaérea9.

      O problema de anúncios na rede de TV10.  O problema das equipes de natação11.

     

    O problema da expedição de pesquisa a Marte12.

      O problema das lagoas de estabilização

    Fonte: Goldarg, MC. Otimização Combinatória eProgramação Linear, 8ª Ed., Rio de Janeiro: Elsevier, 2000.

  • 8/18/2019 AULA 9 - Programação Inteira

    25/51

    Considerações sobre a Resolução de PPI

    •  Considere um problema de PIB com 2 variáveis x1 e x2. Há 4soluções possíveis para este problema: (0, 0), (0,1), (1,0) e (1,1).•  Algumas dessas soluções podem não ser viáveis.

    •  Se o problema apresenta 1 variável a mais, o número de soluções

    possíveis passa a ser 8.•  Com n variáveis passa a ser 2n. Isto significa que o número de

    soluções possíveis cresce exponencialmente, assim como adificuldade do problema.•

     

    Problemas relativamente pequenos, com 30, variáveis podem ter mais de

    1bilhão de soluções possíveis.•  Para problemas de PI genéricos a complexidade é ainda maior.

  • 8/18/2019 AULA 9 - Programação Inteira

    26/51

    Considerações sobre a Resolução de PPI

    Em PPLs há infinitas soluções possíveis dentro da região desoluções viáveis, mesmo para problemas muito pequenos, com 2duas variáveis. Portanto, é correto afirmar que a resolução de PPLsé mais complexa que a resolução de problemas de PI?

    Não. PPLs são mais simples de resolver!Por que?

    •  Na Programação Linear há um teorema que diz que,necessariamente, a solução ótima será em um dos pontosextremos do conjuntos de soluções viáveis, reduzindo,

    significativamente, o número de possibilidades.•  Esta garantia é o segredo da eficiência do Método Simplex.

  • 8/18/2019 AULA 9 - Programação Inteira

    27/51

    Considerações sobre a Resolução de PPI

    •  Mesmo computadores muito rápidos são incapazes de realizar asenumerações exaustivas de problemas de PI (verificar se cada umadas soluções é viável ou não e, em caso positivo, calcular o valorda função objetivo).

     

    Os três aspectos determinantes para a complexidade de umproblema de PI são:•  Número de variáveis.

    •  Se estas variáveis são binárias (menos complexo) ou genéricas (maiscomplexo)

    •  Se há ou não alguma estrutura especial para o problema

    •  O número de restrições também é importante, porém menos que os trêsaspectos acima.

  • 8/18/2019 AULA 9 - Programação Inteira

    28/51

    Relaxamento do PPI

    •  Alguns algoritmos foram desenvolvidos para resolução de algunsproblemas de PI.

    •  A maioria destes algoritmos incorpora o método simplex (ou o

    método simplex dual) o máximo possível, relacionando oproblema de PI considerado ao PPL correspondente, denominadode relaxamento do PI (que é o próprio PI sem a restriçãointeira).

  • 8/18/2019 AULA 9 - Programação Inteira

    29/51

    Relaxamento do PPI

     Max z  =  x2

     s / a :

    ! x1+  x

    2 "1 / 2

     x1+  x

    2  " 7 / 2

     x1 # 0, x

    2 # 0

     x1 e  x2  inteiros

    PI Relaxamento do PI

    Max z  =  x 2

    s / a :

    ! x 1+  x 

    2  "1/ 2

     x 1+  x 

    2  " 7 / 2

     x 1 # 0,  x 

    2  # 0

  • 8/18/2019 AULA 9 - Programação Inteira

    30/51

    Relaxamento do PPI

    •  Uma alternativa é resolver o relaxamento do PI; se a soluçãoencontrada satisfizer a restrição inteira do problema, o problemade PI está resolvido – CASO FORTUITO!

    • 

    Cuidado ao resolver o relaxamento do PI e depois arredondar os valores não inteiros, forçando a solução a satisfazer a restriçãointeira.•

     

     A solução arredondada pode não ser viável.

    • 

     A solução arredondada pode não ser ótima.

  • 8/18/2019 AULA 9 - Programação Inteira

    31/51

    Relaxamento do PPI

    •  Há diversos tipos especiais de problemas de PI para os quais asolução encontrada sempre satisfaz a restrição inteira doproblema:•  Problema de transporte;

    • 

    Problema da designação;•  Problema do caminho mais curto; e

    •  Problema do fluxo máximo.

  • 8/18/2019 AULA 9 - Programação Inteira

    32/51

    Exercício: Relaxamento do PPI

    •  Resolva os seguintes relaxamentos de PI graficamente, caso asolução contenha algum valor não inteiro, arredonde-os e verifique se a nova solução ainda é uma solução ótima.

    Max z  =  x 2

    s /  a :

    ! x 1+  x 

    2  "1/ 2

     x 1+  x 

    2  " 7 / 2

     x 1 # 0, x 

    2  # 0

     x 1

     e  x 2

     inteiros

    Max z  =  x 1+5 x 

    2

    s /  a :

     x 1+10 x 

    2  ! 20

     x 1 ! 2

     x 1 " 0, x 

    2  " 0

     x 1 e  x 

    2 inteiros

  • 8/18/2019 AULA 9 - Programação Inteira

    33/51

     Algoritmos para a Resolução de PPI

    •  Técnicas de Enumeração•  Separação e avaliação progressiva – Branch-and-Bound

    •  Enumeração implícita

    •  Restrições surrogate

     

     Técnicas de Corte•  Cortes inteiros (primais e duais)

    •  Cortes combinatórios

    •  Cortes de interseção

    •  Método de decomposição de Benders

     

     Técnicas Híbridas•  Branch-and-Cut

    • 

     Teoria de Grupo

  • 8/18/2019 AULA 9 - Programação Inteira

    34/51

     Algoritmos para a Resolução de PPI

    •  Dada e explosão combinatorial de alguns problemas de otimizaçãoem alguns casos é necessário recorrer a técnicas heurísticas visando à busca de boas soluções. 

    • 

    Heurística. São técnicas, baseadas em alguma experiência, pararesolver computacionalmente problemas de otimização; estastécnicas não garantem encontrar exatamente a solução ótima, masse aproximam dela de forma satisfatória (soluções boas).

    • 

     A heurística mais básica que existe é técnica de tentativa-e-erro.

  • 8/18/2019 AULA 9 - Programação Inteira

    35/51

     Algoritmos para a Resolução de PPI•

     

    Existem algoritmos heurísticos que são bastante eficientes na resoluçãode PPI específicos.

    •  Apesar de não garantirem uma solução ótima, eles tendem a ser maiseficientes na resolução de um PI que a estratégia de arredondar oresultado encontrado para o correspondente problema relaxado.

    • 

    Dentre as heurísticas utilizadas para resolve PPI, destacam-se:•   Algoritmos Genéticos

    •  Colônia de Formigas

    •  Simulated Anneling

    •  Estratégia MuliStart

    • 

    Busca de Tabus•  Busca em Vizinhança Variável

    •  Heurística Gulosa

  • 8/18/2019 AULA 9 - Programação Inteira

    36/51

     Algoritmos para a Resolução de PPI

    •  Para problemas de PI que são suficientemente pequenos para seencontrar a solução ótima, há um número considerável dealgoritmos disponíveis atualmente. Entretanto, nenhum delespossui a eficiência computacional do Método Simplex.

    •  Portanto, o desenvolvimento de novos algoritmos para problemasde PI é uma área de estudo ativa na Pesquisa Operacional.

  • 8/18/2019 AULA 9 - Programação Inteira

    37/51

    Branch-and-Bound

    •  Branch-and-Bound - Ramificação e Avaliação Progressiva.

    •  A ideia geral do algoritmo Branch-and-Bound é dividir o conjunto desoluções viáveis em subconjuntos, sem interseções entre si,

    calculando os limites superior e inferior para cada subconjunto eeliminar certos subconjuntos de acordo com alguma regras pré-estabelecidas.

  • 8/18/2019 AULA 9 - Programação Inteira

    38/51

    Branch-and-Bound  

    Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+

    4 x 

    2  !

    126 x 

    1+ 4 x 

    2  ! 24

     x 1 " 0,  x 

    2  " 0

     x 1 e  x 

    2 inteiros

    Solução Ótima dorelaxamento do PI

    ( x 1 = 2,4; x 2 = 2,4)z* = 14,4

    Problema 1 (original)

    x1 

    x2 

    (4,0)

    (0,3)(2,4, 2,4)

    6 x 1+ 4 x 

    2  ! 24

     x 1+ 4 x 

    2  !12

  • 8/18/2019 AULA 9 - Programação Inteira

    39/51

    Branch-and-Bound  

    •  Escolhemos um dos dois valores para tentar torna-lo inteiro.Escolhendo x1, temos que:

    •  Com isso, dividimos o problema em dois subproblemas:

     x 1 ! 2,  x 

    1 " 3

    Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2  !12

    6 x 1+ 4 x 

    2  ! 24

     x 1  ! 2

     x 1 " 0,  x 

    2  " 0

     x 1 e  x 

    2 inteiros

    Problema 2

    Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2  !12

    6 x 1+ 4 x 

    2  ! 24

     x 1  " 3

     x 1 " 0,  x 

    2  " 0

     x 1 e  x 

    2 inteiros

    Problema 3

  • 8/18/2019 AULA 9 - Programação Inteira

    40/51

    Branch-and-Bound  

    x1 

    x2 

    4

    3

    32

    6 x 1+ 4 x 

    2  ! 24

     x 1+ 4 x 

    2  !12

    (2, 2,5)

    (3, 1,5)

    Parte eliminada doconjunto desoluções viáveis

  • 8/18/2019 AULA 9 - Programação Inteira

    41/51

    Branch-and-Bound  

    •  Calcula-se a solução ótima para os dois problemas relaxados.

    x1 

    x2 

    4

    3

    32

    6 x 1+ 4 x 

    2  ! 24

     x 1+ 4 x 2   !12

    (2, 2,5)

    (3, 1,5)

    Solução Ótima Problema 2 (relaxado)( x 1 = 2; x 2 = 2,5)

    z* = 13,5

    Solução Ótima Problema 3 (relaxado)( x 1 = 3; x 2 = 1,5)

    z* = 13,5

  • 8/18/2019 AULA 9 - Programação Inteira

    42/51

    Branch-and-Bound  

    •  Tornando o valor de x2, que atualmente é 2,5 inteiro, os problemas2 e 3 serão divididos em dois subproblemas cada.

    •  O problema 2 será divididos nos problemas 4 e 5, adicionando,respectivamente, as seguintes restrições:  x 2   ! 2 e  x 2   " 3

    Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2  !12

    6 x 1+ 4 x 

    2  ! 24

     x 1

     ! 2

     x 2  ! 2

     x 1 " 0, x 

    2  " 0

     x 1 e  x 

    2 inteiros

    Problema 4Max z  = 3 x 

    1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2  !12

    6 x 1+ 4 x 

    2  ! 24

     x 1

     ! 2

     x 2  " 3

     x 1 " 0, x 

    2  " 0

     x 1 e  x 

    2 inteiros

    Problema 5

  • 8/18/2019 AULA 9 - Programação Inteira

    43/51

    Branch-and-Bound  

    •  O problema 3 será dividido nos problemas 6 e 7, adicionando,respectivamente, as seguintes restrições de modoa tornar inteiro o valor de x2, que é igual a 1,5 para este problema.

     x 2  ! 2 e  x 

    2  " 3

    Problema 6Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2 !12

    6 x 1+ 4 x 

    2  ! 24

     x 1 " 3

     x 2  !1

     x 1 " 0,  x 

    2  " 0

     x 1 e  x 

    2 inteiros

    Problema 7Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2  !12

    6 x 1+ 4 x 

    2  ! 24

     x 1 " 3

     x 2 " 2

     x 1 " 0,  x 

    2  " 0

     x 1 e  x 

    2  inteiros

  • 8/18/2019 AULA 9 - Programação Inteira

    44/51

    Branch-and-Bound  

    •  Solução do Problema 4

    x1 

    x2 

    4

    3

    2

    6 x 1+ 4 x 

    2  ! 24

     x 1+ 4 x 

    2  !12

    2 (2, 2)

    Solução Ótima Problema 4 (relaxado)( x 1 = 2; x 2 = 2)

    z* = 12

  • 8/18/2019 AULA 9 - Programação Inteira

    45/51

    Branch-and-Bound  

    •  Solução do Problema 5

    Solução Ótima Problema 5 (relaxado)( x 1 =0; x 2 = 3)

    z* = 9

    x1 

    x2 

    4

    3

    2

    6 x 1+ 4 x 

    2  ! 24

     x 1+ 4 x 2   !12

    Só o ponto (0,3)é viável

  • 8/18/2019 AULA 9 - Programação Inteira

    46/51

    Branch-and-Bound  

    •  Solução do Problema 6

    x1 

    x2 

    4

    3

    3

    6 x 1+ 4 x 

    2  ! 24

     x 1+4 x 2

      !12

    (10/3, 1)1

    Solução Ótima Problema 6 (relaxado)( x 1 =10/3; x 2 = 1)

    z* = 13

  • 8/18/2019 AULA 9 - Programação Inteira

    47/51

    Branch-and-Bound  

    •  Solução do Problema 7 (relaxado)

    x1 

    x2 

    4

    3

    3

    6 x 1+ 4 x 

    2  ! 24

     x 1

    + 4 x 2

      !12

    (3, 1,5)

    Não há solução viável

  • 8/18/2019 AULA 9 - Programação Inteira

    48/51

    Branch-and-Bound  

    •  Os problemas 4 e 5 têm soluções inteiras e o Problema 7 éinviável. Já o Problema 6 apresenta solução não inteira e, portanto,ainda pode ser dividido em dois subproblemas, adicionando asrestrições  x 

    1 ! 3 e  x 

    1 "  4

    Problema 8Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2  !12

    6 x 1+ 4 x 

    2  ! 24

     x 1 " 3

     x 2   !1

     x 1 ! 3

     x 1 " 0,  x 

    2  " 0

     x 1 e  x 

    2 inteiros

    Problema 9Max z  = 3 x 1+3 x 

    2

    s / a :

     x 1+ 4 x 

    2  !12

    6 x 1+ 4 x 

    2 ! 24

     x 1 " 3

     x 2   !1

     x 1 " 4

     x 1 " 0,  x 

    2 " 0

     x 1 e  x 

    2  inteiros

  • 8/18/2019 AULA 9 - Programação Inteira

    49/51

  • 8/18/2019 AULA 9 - Programação Inteira

    50/51

    Branch-and-Bound  

    •  Solução do Problema 9

    x1 

    x2 

    (4,0)

    3

    3

    6 x 1+ 4 x 

    2  ! 24

     x 1+ 4 x 

    2  !12

    1

    Só o ponto (4,0)é viável

    Solução Ótima Problema 9 (relaxado)( x 1 =4; x 2 = 0)

    z* = 12

  • 8/18/2019 AULA 9 - Programação Inteira

    51/51

    Branch-and-Bound  

    •  Árvore de solução

    X 1 = 2,4X 2 = 2,4Z = 14,4

    X 1 = 2X 2 = 2,5

    Z = 13,5

    X 1 = 3X 2 = 1,5Z = 13,5

     x 1 !  2

     x 1 ! 3

    X 1 = 2X 2 = 2Z = 12

    X 1 = 0X 2 = 3Z = 9

    X 1 = 10/3X 2 = 1Z = 13

    inviável

     x 2  ! 2  x 

    2  ! 3   x 2   !1

      x 2  ! 2

    X 1 = 3X 2 = 1Z = 12

    X 1 = 4X 2 = 0Z = 12

     x 1 ! 3   x 

    1 ! 4