otimizaÇÃo combinatÓria

Download OTIMIZAÇÃO COMBINATÓRIA

Post on 07-Jan-2017

219 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Otimizao Combinatria, Notas de aula, 2009/2

    c Departamento de Computao, Universidade Federal de Ouro Preto.

    OTIMIZAO COMBINATRIA

    Marcone Jamilson Freitas Souza

    Departamento de Computao

    Instituto de Cincias Exatas e Biolgicas

    Universidade Federal de Ouro Preto

    Homepage: http://www.decom.ufop.br/prof/marcone

    E-mail: marcone.freitas@yahoo.com.br

  • 2 Otimizao Combinatria

    Sumrio

    I Programao Inteira 4

    1 Introduo 41.1 Caractersticas dos modelos lineares de programao inteira . . . . . . . . . . . . . 4

    2 Modelagem de Programao Matemtica Inteira 62.1 Alocao de recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Problema da Mochila 0-1 (Knapsack Problem) . . . . . . . . . . . . . . . . . . . . 82.3 Problema da Mochila Inteira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Problema da Mochila 0-1 Mltipla . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5 Problema da Mochila Inteira Mltipla . . . . . . . . . . . . . . . . . . . . . . . . . 102.6 Problema de Corte de Estoque (Cutting Stock Problem) . . . . . . . . . . . . . . . 122.7 Problema de Corte de Estoque Unidimensional . . . . . . . . . . . . . . . . . . . . 132.8 Alocao de pessoal (Sta Scheduling) . . . . . . . . . . . . . . . . . . . . . . . . 152.9 Problema da Fbrica de Prateleiras . . . . . . . . . . . . . . . . . . . . . . . . . . 202.10 Fluxo Mximo em Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.11 Caminho Mnimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.12 Programao da produo - exemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . 242.13 Sequenciamento em processadores paralelos e idnticos . . . . . . . . . . . . . . . 262.14 Planejamento da Produo - Problema da Fbrica de Motores . . . . . . . . . . . 272.15 Problema de empacotamento (Bin Packing) . . . . . . . . . . . . . . . . . . . . . 302.16 Open Dimensional Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.17 Programao de horrios em escolas (School timetabling) . . . . . . . . . . . . . . 322.18 Localizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    2.18.1 p-Medianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.18.2 p-Centros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.18.3 p-Medianas capacitado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.19 Mistura de Minrios com Metas de Qualidade . . . . . . . . . . . . . . . . . . . . 352.20 Problema das Usinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.21 Dimensionamento de lotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.22 Planejamento da produo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    2.22.1 Um item sem restrio de capacidade . . . . . . . . . . . . . . . . . . . . . 432.22.2 Mltiplos itens e restrio de capacidade . . . . . . . . . . . . . . . . . . . 44

    2.23 Representao de restries disjuntivas . . . . . . . . . . . . . . . . . . . . . . . . 442.24 Sequenciamento em uma mquina . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    2.24.1 Minimizao do tempo de uxo total . . . . . . . . . . . . . . . . . . . . . 472.24.2 Minimizao do atraso mximo . . . . . . . . . . . . . . . . . . . . . . . . 482.24.3 Minimizao da soma dos atrasos . . . . . . . . . . . . . . . . . . . . . . . 482.24.4 Minimizao da soma dos atrasos e adiantamentos . . . . . . . . . . . . . . 482.24.5 Minimizao do nmero de tarefas atrasadas . . . . . . . . . . . . . . . . . 492.24.6 Minimizao do lateness mximo . . . . . . . . . . . . . . . . . . . . . . . 492.24.7 Sequenciamento com tempo de preparao de mquina . . . . . . . . . . . 492.24.8 Sequenciamento em uma mquina com penalidades por antecipao e atraso

    da produo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502.25 Mquinas Paralelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.26 Job Shop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

  • Modelagem de PPL's 3

    2.27 Planejamento de lavra com Alocao Dinmica de Caminhes . . . . . . . . . . . 552.28 Linearizao do produto de variveis binrias . . . . . . . . . . . . . . . . . . . . . 58

    3 Branch-and-Bound 60

    4 Integrao do LINGO em planilhas Excel 624.1 Problema de Transporte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.2 Algumas consideraes sobre @OLE . . . . . . . . . . . . . . . . . . . . . . . . . . 644.3 Embutindo planilhas do EXCEL no LINGO . . . . . . . . . . . . . . . . . . . . . 654.4 Embutindo Modelos LINGO no EXCEL . . . . . . . . . . . . . . . . . . . . . . . 674.5 Utilizando links OLE automatizados no EXCEL . . . . . . . . . . . . . . . . . . . 694.6 Comando SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

    5 Problema do Caixeiro Viajante 745.1 Denio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.2 Modelagem de Programao Matemtica . . . . . . . . . . . . . . . . . . . . . . . 745.3 Modelagem Heurstica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

    5.3.1 Heursticas Construtivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.3.2 Heursticas de Renamento . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    5.4 Variantes do PCV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825.4.1 Problema dos m-Caixeiros Viajantes . . . . . . . . . . . . . . . . . . . . . 825.4.2 Problema do Caixeiro Viajante com Coleta Seletiva de Prmios . . . . . . 82

    6 Problema de Roteamento de Veculos 846.1 Denio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846.2 Modelagem de Programao Matemtica . . . . . . . . . . . . . . . . . . . . . . . 846.3 Gerao de colunas para o PRV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886.4 Modelos Heursticos para o PRV . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    6.4.1 Heursticas Construtivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896.4.2 Heursticas de renamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

    7 Enumerao Implcita em Programao Inteira 0-1 93

    8 Exerccios propostos 98

  • 4

    Parte I

    Programao Inteira

    1 Introduo

    1.1 Caractersticas dos modelos lineares de programao inteira

    [Retirado de Goldbarg e Luna (2005), vide [3]] Uma confeitaria pode produzir dois tipos de sorveteem lata: chocolate e creme. Cada lata do sorvete de chocolate vendido com um lucro de $3 e aslatas de creme com um lucro de $1. Contratos com vrias lojas impem que sejam produzidas nomnimo 10 latas de sorvete de chocolate por dia e que o total de latas fabricadas por dia nuncaseja menor que 20. O mercado s capaz de consumir at 40 latas de sorvete de creme e 60 dechocolate. As mquinas de preparao do sorvete disponibilizam 180 horas de operao por dia,sendo que cada lata de sorvete de chocolate consome 2 horas de trabalho e cada lata de creme, 3horas. Determine o esquema de produo que maximiza os lucros com a venda de latas de sorvete.

    Soluo:

    (a) Variveis de deciso:xj = nmero de latas de sorvete do tipo j a serem produzidas por dia, sendo j = 1 (chocolate)e j = 2 (creme)

    (b) Funo objetivo:max f(x) = 3

    $(lata de chocolate)

    x1(latas de chocolate)

    + 1$

    (lata de creme)

    x2(latas de creme)

    (c) Restries:

    c.1) Demanda do mercado:x1 60 (O mercado no absorve mais do que 60 latas de sorvete de chocolate por dia)x2 40 (No h demanda para mais do que 40 latas de sorvete de creme por dia)

    c.2) Contrato com as lojas:x1 10 (Exige-se uma produo mnima diria de 10 latas de sorvete de chocolate)x1 + x2 20 (Exige-se uma produo mnima diria de 20 latas de sorvete)

    c.3) Disponibilidade das mquinas:2x1 + 3x2 180 (H apenas 180 horas de operao disponveis nas mquinas por dia)

    c.4) Integralidade e no-negatividade:x1, x2 Z+

    Para resolver esse Problema de Programao Linear Inteira (PLI), construamos gracamentea regio vivel:

  • 5

    Propriedade de um PPL: O timo de um problema de programao linear (PPL), se existir,estar em um vrtice do politopo denido pela regio vivel.

    Do Clculo Diferencial e Integral sabemos que a direo e sentido de mximo crescimento de

    uma funo f determinada pelo seu gradiente f(x) =(

    f(x)x1

    , f(x)x2

    , , f(x)xn

    ).

    Sendo a funo f(x) = 3x1 + x2, resulta que f(x) = (3, 1). Para conhecermos a direo esentido do gradiente, da origem caminhamos 3 unidades no sentido Ox1 e uma unidade no sentidoOx2. Pela regra de composio de foras (regra do paralelograma), tem-se o sentido e direo dogradiente. Traa-se, a seguir, uma reta perpendicular direo do gradiente. Caminhando-se comessa reta no sentido apontado pelo gradiente at tangenciar a regio vivel tem-se, no ponto detangncia, a soluo tima. Logo, o timo do PPL em questo ocorre no vrtice de coordenadas(60, 20), com valor timo dado por f(x) = 200, isto , no esquema timo de produo, devem serproduzidas diariamente 60 latas de sorvete de chocolate e 20 de creme, com um retorno de $ 200.

    No exemplo dado, a soluo tima ocorreu em um ponto de coordenadas inteiras. No entanto,nem sempre isso ocorre, conforme mostra o exemplo a seguir:

    max f(x) = x1 + 19x2x1 + 20x2 50x1 + x2 20x1, x2 Z+

    Fazendo-se a relaxao linear desse problema, isto , desprezando-se as restries de integra-lidade das variveis e assumindo que as mesmas so no-negativas (x1 0 e x2 0), a soluotima desse PPI relaxado :

    x1 = 18, 89

    x2 = 1, 58

    f(x) = 48, 42

    Vamos supor que seja uma boa estratgia determinar os inteiros mais prximos do entornodessa

Recommended

View more >