382 Apostila Pesquisa Operacional Parte 2

Download 382 Apostila Pesquisa Operacional Parte 2

Post on 03-Jan-2016

93 views

Category:

Documents

13 download

TRANSCRIPT

  • Pesquisa Operacional

    Parte 2

    Graduao em Engenharia de Produo

    DEPROT / UFRGS Prof. Flavio Fogliatto, Ph.D.

    Prof. Fogliatto PO - Graduao 2

    O Problema do TransporteDescrio Geral de um problema de transporte:

    1. Um conjunto de m pontos de fornecimento a partir dos quais uminsumo embarcado ou remetido.O ponto de fornecimento i pode fornecer no mximo si unidades.

    2. Um conjunto de n pontos de demanda para os quais o insumo remetido.O ponto de demanda j deve receber pelo menos dj unidades do insumo.

    Prof. Fogliatto PO - Graduao 3

    Descrio Geral de um problema de transporte

    3. Cada unidade produzida no ponto de fornecimento i e remetida ao ponto de demanda j incorre num custo de cij.

    Prof. Fogliatto PO - Graduao 4

    Formulao do ProblemaSeja xij = no de unidades despachadas do ponto de fornecimento i para

    o ponto de demanda j.

    A formulao genrica do problema do transporte ser:

    Restries de fornecimento

    Restries de demanda

  • Prof. Fogliatto PO - Graduao 5

    Problema Balanceado

    Um problema de transporte considerado balanceado se:

    Ou seja, o fornecimento supre toda a demanda.

    Num problema balanceado, as restries so todas igualdades.

    Prof. Fogliatto PO - Graduao 6

    Como balancear um problema de transporte quando a capacidade de fornecimento excede a

    demandaCria-se um ponto fictcio de demanda. A demanda nesse ponto ser igualao excedente da capacidade.

    Como balancear o problema quando a demanda maior que a capacidadede fornecimento?

    Neste caso, o problema no possui solues viveis.

    Como alternativa, pode-se adicionar um ponto fictcio de fornecimento.O custo de fornecimento daquele ponto ser igual penalizao incorridapelo no fornecimento do insumo.

    Prof. Fogliatto PO - Graduao 7

    O Tableau de Transporte

    c11 c12 c1n

    c21 c22 c2n

    cm1 cm2 cmn

    Demanda d1 d2 dn

    Fornecimento

    s1

    s2

    sm

    Prof. Fogliatto PO - Graduao 8

    ExemploDois reservatrios de gua abastecem trs cidades. Cada reservatrio pode abastecer at 50 milhes de litros de gua por dia. Cada cidade necessita receber 40 milhes de litros de gua por dia.

    Associado a cada milho de litros de gua no fornecido por dia existe uma multa. A multa na cidade 1 de $20; na cidade 2 de $18; na cidade 3 de $23.

    Os custos do transporte entre reservatrios e cidades vemdado ao lado...

    Reserv. 1

    Reserv. 2

    Cid.1 Cid.2 Cid.3

    $7 $8 $8

    $9 $7 $8

  • Prof. Fogliatto PO - Graduao 9

    Tableau do Simplex

    7 8 8

    9 7 8

    Cid. 1 Cid. 2 Cid. 3

    20 18 23

    Res. 1

    Res. 2

    Res. Artif.

    Demanda 40 40 40

    Capacidade

    50

    50

    20

    Prof. Fogliatto PO - Graduao 10

    Prtica:

    Prof. Fogliatto PO - Graduao 11

    Mtodo do Extremo Noroeste para Determinao da Soluo Vivel Inicial de um

    problema de TransporteInicie o mtodo considerando a clula (1,1) do tableau. Faa com quex11 seja o maior valor possvel.

    Obviamente, x11 = Min (d1, s1).

    Se x11 = s1, desconsidere as demais clulas na primeira linha do tableau,j que nenhuma outra varivel bsica vir desta linha. Atualize o valorde d1 para d1 - s1.

    Se x11 = d1, desconsidere as demais clulas na primeira coluna do tableau,j que nenhuma outra varivel bsica vir desta coluna. Atualize o valorde s1 para s1 - d1.

    Prof. Fogliatto PO - Graduao 12

    Mtodo do Extremo Noroeste para Determinao da Soluo Vivel Inicial de um

    problema de Transporte

    Se x11 = s1 = d1, desconsidere as demais clulas na primeira linha ouna primeira coluna do tableau (mas no ambas). Se voc escolher descon-siderar a linha 1, mude d1 para 0. Se voc escolher desconsiderar acoluna 1, mude s1 para 0.

    Repita o procedimento, sempre escolhendo a clula posicionada noextremo noroeste do tableau (desde que ela no esteja em uma linhaou coluna eliminada anteriormente).

    Ao cabo de (m + n - 1) iteraes chega-se a uma base vivel inicialpara o problema.

  • Prof. Fogliatto PO - Graduao 13

    ExemploO mtodo do extremo noroeste no utiliza os custos, omitidos nos tableausabaixo:

    6

    5

    10

    15

    4812

    x11 = Min {12, 5} = 5

    5

    7

    0

    Prof. Fogliatto PO - Graduao 14

    Exemplo

    6

    0

    10

    15

    48

    7

    x21 = Min {10, 7} = 7

    5

    0

    7

    3

    Prof. Fogliatto PO - Graduao 15

    Exemplo

    6

    0

    3

    15

    48

    7

    x22 = Min {8, 3} = 3

    5

    0

    0

    5

    3

    Prof. Fogliatto PO - Graduao 16

    Exemplo

    6

    0

    0

    15

    45

    7

    x32 = Min {15, 5} = 5

    5

    0

    10

    0

    3

    5

  • Prof. Fogliatto PO - Graduao 17

    Exemplo

    6

    0

    0

    10

    40

    7

    x33 = Min {10, 4} = 4

    5

    0

    6

    0

    3

    5 4

    Prof. Fogliatto PO - Graduao 18

    Exemplo

    6

    0

    0

    6

    40

    7

    x34 = Min {6, 6} = 6

    5

    00

    3

    5 4 06

    BaseInicialVivel

    Prof. Fogliatto PO - Graduao 19

    Prtica:Determine uma base inicial para o problema anterior.

    Prof. Fogliatto PO - Graduao 20

    O Mtodo Simplex para problemas de transporte

    Precisamos calcular os valores correspondentes a linha z do tableau do simplex.

    Decidindo qual varivel no-bsica deve entrar na base

    O clculo desses valores envolve determinar um menor circuito ou loopcontendo algumas variveis bsicas e a varivel no-bsica em questo.

    Existe um loop nico possvel para cada varivel no-bsica.

  • Prof. Fogliatto PO - Graduao 21

    Exemplo

    2 3 4

    14 12 5

    12 15 9

    10 10

    0 20 10

    9

    1

    3

    10 10 20 50

    20

    30

    4040

    Capacidd

    Demanda

    Base inicial determinada pelo mtodo do extremo noroeste.

    Prof. Fogliatto PO - Graduao 22

    Determine a varivel no-bsica a entrar na base

    Calcule os valores correspondentes linha z para cada varivel no-bsica:

    2 3 4

    14 12 5

    12 15 9

    10 10

    0 20 10

    9

    1

    340

    1. Determine um loopde var. bsicas quecontenha a var. no-bsica.

    Iniciando com x14:

    2. Alterne sinais pos. e neg. nas var. bs.extremas.+-

    +

    3. Some os cij de acordo com os sinais.

    (+1-12+3) = -8

    4. Subtraia o coef. de custo da var. no-bs. em questo do resultado(-8) - 9 = -17

    -17

    Prof. Fogliatto PO - Graduao 23

    Clculo para x13

    2 3 4

    14 12 5

    12 15 9

    10 10

    0 20 10

    9

    1

    340

    +-

    +

    (+5-12+3) = -4 (-4) - 4 = -8

    -17-8

    Prof. Fogliatto PO - Graduao 24

    Repetindo o clculo p/ as demais var. no-bsicas

    2 3 4

    14 12 5

    12 15 9

    10 10

    0 20 10

    9

    1

    340

    -17-8

    -2-1+1

    -3

    Num problema de minimizao a varivel mais positiva entra na base.

  • Prof. Fogliatto PO - Graduao 25

    Para verificar qual varivel deve sair da base, determine um loop contendo a var. entrante e

    algumas variveis bsicas

    2 3 4

    14 12 5

    12 15 9

    10 10

    0 20 10

    9

    1

    340

    -17-8

    -2-1+1

    -3

    Prof. Fogliatto PO - Graduao 26

    A primeira clula bsica do loop recebe um sinal positivo, a segunda um sinal negativo, e

    assim por diante...Dentre as clulaspositivas, selecioneaquela de menorvalor: esta a var.que sair da base. 2 3 4

    14 12 5

    12 15 9

    10 10

    0 20 10

    9

    1

    340

    -17-8

    -2-1+1

    -3

    + -

    +-

    +A varivel entranteassumir o valorda varivel que saida base.

    Prof. Fogliatto PO - Graduao 27

    Atualize o valor das demais clulas do loop: clulas com sinal + tm seu valor decrescido em ; clulas

    com sinal -, tm seu valor acrescido de . A varivel entrante entra na base com valor .

    2 3 4

    14 12 5

    12 15 9

    10 10

    20 10

    9

    1

    340

    + -

    +-

    +0

    Prof. Fogliatto PO - Graduao 28

    Novo tableau

    2 3 4

    14 12 5

    12 15 9

    10 10

    20 10

    9

    1

    3400

    -4

    -7 -16

    -1

    -2 -2

    Nenhuma var. no-bs. com zij - cij > 0 tableau timo!

  • Prof. Fogliatto PO - Graduao 29

    Prtica:

    Resolva o problema proposto no Slide 9. Resolva o problema do ao.

    Prof. Fogliatto PO - Graduao 30

    O Problema do Transbordo

    Ponto de fornecimento - pode remeter insumos para outros pontosmas no pode receber.

    Ponto de demanda - pode receber insumos de outros pontosmas no pode remeter.

    Ponto de transbordo - remete e recebe insumos de outros pontos.

    Prof. Fogliatto PO - Graduao 31

    Exemplo

    A BITCO monta PCs em Manaus (150 PCs/dia) e Assuncin do Paraguai (200 PCs/dia) e remete para suas lojas em So Paulo e Recife, totalizando 130 PCs por loja.

    Os PCs so remetidos via area. A BITCO suspeita que devido promoes e uso de outras empresas areas, seja mais econmico usar Braslia e Curitiba como pontos de transbordo.

    Os custos de transporte por PC vm dados a seguir.

    Prof. Fogliatto PO - Graduao 32

    Custos

  • Prof. Fogliatto PO - Graduao 33

    ExemploDeseja-se minimizar o custo do frete:

    Manaus

    Assuncin

    Braslia

    Curitiba

    SPaulo

    Recife

    Prof. Fogliatto PO - Graduao 34

    O problema do transbordo resolvido como um problema balanceado de transportes

    PASSO 1 - Balanceie o problema, se necessrio.

    Por exemplo:

    Capacidade > Demanda

    Acrescente pto de demanda artificial

    Capacidade = 0

    Demanda = excedente capacidd.

    Cargas so remetidas p/ ponto artificial a custo zero.

    Prof. Fogliatto PO - Graduao 35

    Passo 2 - Construa o tableau do transporte

    Uma linha p/ cada ponto de fornecimento e transbordo.

    Uma coluna p/ cada ponto de demanda e transbordo.

    Cada ponto de fornecimento ter capacidade de fornecimento igual a sua capacidade original de fornecimento.

    Cada ponto de demanda ter demanda igual a sua demanda original.

    Prof. Fogliatto PO - Graduao 36

    Passo 2 - Cont.

    Seja s = capacidade total de fornecimento.

    Cada ponto de transbordo ter:

    ; capacidade = (capacidade do ponto original) + s

    ; demanda = (demanda do ponto original) + s

  • Prof. Fogliatto PO - Graduao 37

    Passo 3 - Resolva o problema resultante como um problema de transporte

    Ao interpretar a soluo tima:

    ; ignore remessas aos pontos artificiais;

    ; ignore remessas de um ponto para ele mesmo.

    Prof. Fogliatto PO - Graduao 38

    No exemplo

    8

    15

    0

    13

    6

    12

    6

    0 14 16 0

    16 17

    0

    0

    2526

    25 28 0Manaus

    Assuncion

    Braslia

    Curitiba

    Braslia Curitiba SPaulo Recife Artificial Capacidade

    150

    200

    350

    350

    350 350 130 130 90Demanda

    Prof. Fogliatto PO - Graduao 39

    Resultado

    Manaus

    Assuncin

    Braslia

    Curitiba

    SPaulo

    Recife

    130 130

    130

    Prof. Fogliatto PO - Graduao 40

    Prtica A GM produz carros em SP e POA e tem um depsito (transbordo) em Foz do Iguau; a companhia fornece carros para Assuncin e Buenos Aires. O custo do frete de um carro entre os pontos de fabricao e venda vem dado abaixo:

    Minimize os custos de transporte.

    1100 2900 2400 1500Capacidade

    Demanda

  • Prof. Fogliatto PO - Graduao 41

    O Problema da Alocao

    So problemas balanceados de transporte nos quais todas as demandas e todas as capacidades so iguais a 1.

    As variveis do problema so booleanas:

    xij = 1; se o ponto de abastecimento i for utilizado para suprir a demandano ponto de demanda j.

    xij = 0; caso contrrio.

    Prof. Fogliatto PO - Graduao 42

    Exemplo: Aloque trabalhos nas mquinas tal que tempo de setup seja mnimo

    Trab. 1

    Trab. 2

    Trab. 3

    Trab. 4

    Maq. 1

    Maq. 2

    Maq. 3

    Maq. 4

    14 min

    5 min

    8 min

    7 min

    Prof. Fogliatto PO - Graduao 43

    FormulaoVariveis de deciso:xij = mquina i executando trabalho j; i = 1,...,4 e j = 1,...,4.

    Funo objetivo:Min z = 14 x11 + 5 x12 + 8 x13 + 7 x14 + 2 x21 + 12 x22 + 6 x23 + 5 x24 +

    7 x31 + 8 x32 + 3 x33 + 9 x34 + 2 x41 + 4 x42 + 6 x43 + 10 x44

    Restries de mquina:

    x11+x12+x13+x14 = 1

    x21+x22+x23+x24 = 1

    x31+x32+x33+x34 = 1x41+x42+x43+x44 = 1

    Restries de trabalho:

    x11+x21+x31+x41 = 1

    x12+x22+x32+x42 = 1

    x13+x23+x33+x43 = 1x14+x24+x34+x44 = 1

    xij = 1 ou 0

    Prof. Fogliatto PO - Graduao 44

    Para resolver problemas de alocao, usaremos o Algoritmo Hngaro

    Passo 1 - determine o elemento de custo mnimo em cada linha do tableau dos transportes. Construa um novo tableau subtraindo de cada custo o custo mnimo da linha correspondente. Determine ento o custo mnimo em cada coluna. Construa um novo tableau subtraindo de cada custo o custo mnimo da coluna correspondente.

    Passo 2 - determine o no mnimo de linhas (horizontais e/ou verticais) necessrias para cobrir todos os zeros no tableau de custos reduzidos. Se forem necessrias m linhas, a resposta tima dada pelos zeros cobertos por linhas no tableau. Se menos de m linhas forem necessrias, siga para o passo 3.

  • Prof. Fogliatto PO - Graduao 45

    Algoritmo Hngaro

    Passo 3 - determine o menor elemento 0 dentre os elementos no cobertos por linhas no tableau; seja k o valor deste elemento. Subtraia kde cada elemento no-coberto do tableau e adicione k a cada elemento coberto por duas linhas no tableau. Volte ao passo 2.

    Nota - somente problemas balanceados podem ser resolvidos pelo algoritmo hngaro. Se um problema for no balanceado, adicione pontos artificiais de demanda ou capacidade.

    Exemplo...

    Prof. Fogliatto PO - Graduao 46

    Exemplo

    2

    14

    8

    4

    7

    2

    5

    12 6

    8

    3

    6

    5

    7

    9

    10

    Mnimo da linha

    5

    2

    3

    2

    Prof. Fogliatto PO - Graduao 47

    Novo tableau aps subtrao dos mnimos de linha

    0

    9

    5

    2

    4

    0

    0

    10 4

    3

    0

    4

    3

    2

    6

    8

    Mn. da coluna 0 0 0 2

    Prof. Fogliatto PO - Graduao 48

    Novo tableau aps subtrao dos mn. das colunas

    0

    9

    5

    2

    4

    0

    0

    10 4

    3

    0

    4

    1

    0

    4

    6

    3 linhas. m = 4, logo proce-demos c/ passo 3.

    k = 1

  • Prof. Fogliatto PO - Graduao 49

    Subtraindo e somando k nas devidas clulas...

    0

    10

    5

    1

    5

    0

    0

    9 3

    3

    0

    3

    0

    0

    4

    5

    Note que o mnimodas linhas e colunas 0!

    4 linhas. Como m = 4,temos uma soluo tima.

    Prof. Fogliatto PO - Graduao 50

    Como identificar a soluo tima

    0

    10

    5

    1

    5

    0

    0

    9 3

    3

    0

    3

    0

    0

    4

    5

    O nico zero coberto na col. 3 x33. Logo, x33 = 1, e a col. 3e linha 3 no podem mais ser usadas.

    O nico zero coberto na col. 2 x12. Logo, x12 = 1, e a col. 2e linha 1 no podem mais ser usadas.

    Sendo assim, x24 = 1, e alinha 2 no pode mais ser usada. Logo, x41 = 1.

    Prof. Fogliatto PO - Graduao 51

    PrticaUm treinador necessita formar um time de nadadoras para competir em uma prova olmpica de 400 metros medley. As nadadoras apresentam as seguintes mdias de tempo em cada estilo:

    Qual nadadora deve nadar qual estilo?

    Prof. Fogliatto PO - Graduao 52

    O PROBLEMA DUAL

    Todo o problema de programao linear possui um problemadual correspondente.

    Chamaremos o problema original de primal e o problema dual de dual.

    Variveis do problema primal z, x1, x2,,xn. Variveis do problema dual w, y1, y2,,ym.

  • Prof. Fogliatto PO - Graduao 53

    Escrevendo o dual de um problema de progr. linear

    Max z = c1x1 + c2x2 + + cnxns.a: a11x1 + a12x2 + + a1nxn b1

    a21x1 + a22x2 + + a2nxn b2

    am1x1 + am2x2 + + amnxn bm

    Min w = b1y1 + b2y2 + + bmyms.a: a11y1 + a21y2 + + am1ym c1

    a12y1 + a22x2 + + am2ym c2

    a1ny1 + a2ny2 + + amnym cn

    Prof. Fogliatto PO - Graduao 54

    EXEMPLO

    Max z = 60x1 + 30x2 + 20x3s.a: 8x1 + 6x2 + 1x3 48

    4x1 + 2x2 + 1.5x3 202x1 + 1.5x2 + 0.5x3 8

    x1, x2, x3 0

    P r i ma l

    Du a l

    Min w = 48y1 + 20y2 + 8y3s.a: 8y1 + 4y2 + 2y3 60

    6y1 + 2y2 + 1.5y3 301y1 + 1.5y2 + 0.5y3 20

    y1, y2, y3 0

    Prof. Fogliatto PO - Graduao 55

    A isima restrio do dual corresponde isima varivel do primal

    Usando a tabela abaixo, pode-se achar o dual de qualquer primal:

    Variveis

    Variveis

    Restries

    Restries

    Prof. Fogliatto PO - Graduao 56

    OUTRO EXEMPLO

    Max z = 2x1 + x2s.a: 2x1 + x2 = 2

    2x1 - x2 3x1 - x2 1x1 0, x2 irrestr.

    P r i ma l

    Min w = 2y1 + 3y2 + 1y3s.a: 2y1 + 2y2 + y3 2

    y1 - y2 - y3 = 1y1 irrestr., y2 0, y3 0

    Du a l

  • Prof. Fogliatto PO - Graduao 57

    INTERPRETAO ECONMICA DO PROBLEMA DUAL

    Max z = 60x1 + 30x2 + 20x3s.a: 8x1 + 6x2 + 1x3 48

    4x1 + 2x2 + 1.5x3 202x1 + 1.5x2 + 0.5x3 8

    x1, x2, x3 0

    Considere o exemplo:

    Correspondente modelagem matemtica do seguinte problema:

    Prof. Fogliatto PO - Graduao 58

    O DUAL DESTE PROBLEMA :

    Min w = 48y1 + 20y2 + 8y3s.a: 8y1 + 4y2 + 2y3 60

    6y1 + 2y2 + 1.5y3 301y1 + 1.5y2 + 0.5y3 20

    y1, y2, y3 0

    Escrivaninha

    Mesa

    Cadeira

    Restries associadas com escrivaninhas, mesas e cadeiras, respectiv. y1 associado com tbuas; y2 com acabamto; y3 com carpintaria.

    Suponha uma situao onde exista escassez de insumos. Um outro fabricante de mveis deseja comprar os insumos disponveis na fbrica de escrivaninhas, mesas e cadeiras.

    A pergunta-chave : qual o gio mximo a ser cobrado pelos insumos?

    Prof. Fogliatto PO - Graduao 59

    Definindo as variveis do problema dual

    y1 = gio mximo cobrado por uma tbua de madeira; y2 = gio mximo cobrado por 1 hora de acabamento; y3 = gio mximo cobrado por 1 hora de carpintaria

    O gio total a ser cobrado por estes insumos corresponder funo objetivo:

    Min w = 48y1 + 20y2 + 8y3

    Note que a funo objetivo busca minimizar o custo de compra:este o ponto de vista do comprador.

    Prof. Fogliatto PO - Graduao 60

    O comprador deseja o menor preo, mas o preo deve ser atraente o suficiente para induzir o fabricante de

    escrivaninhas a vender seus insumos

    Assim:

    8y1 + 4y2 + 2y3 60

    Ou seja, se comprarmos todos os insumos nas quantidades necessrias para produzir uma escrivaninha, o gio a ser pago deve ser, no mnimo, o que o fabricante lucraria com a venda daquele produto.

    Restrio dasescrivaninhas

    O mesmo ocorre com as outros produtos:

    6y1 + 2y2 + 1.5y3 301y1 + 1.5y2 + 0.5y3 20

    Restr. das mesas

    Restr. das cadeiras

  • Prof. Fogliatto PO - Graduao 61

    Para determinarmos o menor gio de compra dos insumos que mantenha a venda desses insumos

    interessantes para o fabricante, devemos resolver o problema dual

    As variveis y1, y2, y3 so normalmente denominadas preos-sombra dos insumos.

    Por definio, o preo-sombra da isima restrio corresponde

    melhoria no valor z da funo objetivo ocasionada peloincremento de uma unidade no lado direito da restrio [ouseja, de bi para (bi + 1)].

    Prof. Fogliatto PO - Graduao 62

    PRTICA:

    Prof. Fogliatto PO - Graduao 63

    Como ler a soluo tima do dual a partir da linha 0 (ou linha z) do tableau timo do primal

    Caso 1 - Primal = Max

    Para resolver o problema abaixo:

    Max z = 3x1 + 2x2 + 5x3s.a: 1x1 + 3x2 + 2x3 15

    2x2 - x3 52x1 + x2 - 5x3 = 10x1, x2, x3 0

    Adicionar var. folga f1Adicionar var. excesso e2 e art. a2Adicionar var. artificial a3

    A base inicial ser formada por B = { f1, a2, a3}. Usaremos o Mtodo do M-Grande para solucionar este problema. O tableau timo vem dado a seguir...

    Prof. Fogliatto PO - Graduao 64

    Tableau timo

  • Prof. Fogliatto PO - Graduao 65

    Regras para identificao da soluo tima dual na linha 0 (ou z) do tableau timo do primal (Max)

    Valor timo da var. dual yiqdo restrio i do tipo

    Valor timo da var. dual yiqdo restrio i do tipo

    Valor timo da var. dual yiqdo restrio i do tipo =

    Coeficiente de fi na linha 0 do tableau timo

    -(Coeficiente de ei) na linha 0 do tableau timo

    (Coeficiente de ai na linha 0 do tableau timo) - M

    Prof. Fogliatto PO - Graduao 66

    No tableau timo do exemplo anterior:

    y1 -y2 y3-M

    Ou seja, o problema dual possui a seguinte soluo tima:

    y1 = 51/23; y2 = -58/23; y3 = 9/23

    Prof. Fogliatto PO - Graduao 67

    Conferindo o resultado na funo objetivo do problema dual

    Min w = 15y1 + 5y2 + 10y3

    w = 565/23

    y1 = 51/23; y2 = -58/23; y3 = 9/23

    Prof. Fogliatto PO - Graduao 68

    Regras para identificao da soluo tima dual na linha 0 (ou z) do tableau timo do primal (Min)

    Valor timo da var. dual yiqdo restrio i do tipo

    Valor timo da var. dual yiqdo restrio i do tipo

    Valor timo da var. dual yiqdo restrio i do tipo =

    Coeficiente de fi na linha 0 do tableau timo

    -(Coeficiente de ei) na linha 0 do tableau timo

    (Coeficiente de ai na linha 0 do tableau timo) + M

  • Prof. Fogliatto PO - Graduao 69

    PRTICA:

    Prof. Fogliatto PO - Graduao 70

    Modelos de Redes

    Definies bsicas:

    Grafos ou RedesDefnido por Ns (ou vrtices)

    Arcos

    Arco - par ordenado de vrtices; representa uma possvel direode movimento entre vrtices

    (j, k) = arco representando o movimento do n j (n inicial) para o nk (n final).

    Prof. Fogliatto PO - Graduao 71

    Exemplo de Rede

    1

    2 3

    4Ns = {1, 2, 3, 4}

    Arcos = {(1,2), (2,3), (3,4)(4,3), (4,1)}

    Prof. Fogliatto PO - Graduao 72

    Correntes, Trilhas e Circuitos

    CORRENTE = sequncia de arcos tal que cada arco apresenta exatamente um vrtice em comum com o arco anterior.

    TRILHA = sequncia de arcos tal que o n terminal de cada arco idntico ao n inicial do arco seguinte.

    CIRCUITO = trilha finita em que o n terminal coincide com o n inicial.

  • Prof. Fogliatto PO - Graduao 73

    No exemplo...

    1

    2 3

    4Ex. de corrente = (1,2) - (2,3) - (4,3)

    Ex. de trilha = (1,2) - (2,3) - (3,4)

    Ex. de circuito = (1,2) - (2,3) - (3,4) - (4,1)

    Prof. Fogliatto PO - Graduao 74

    Problemas de determinao da trilha mais curta entre dois ns

    Exemplo 1 Desejamos remeter energia eltrica da planta 1 cidade 1. A rede abaixo apresenta as distncias entre pares de pontos conectados (incluindo subestaes). Desejamos determinar a trilha mais curta entre a planta e a cidade.

    1

    2

    3

    4

    53

    4

    3

    2

    2

    3

    6

    2

    Planta 1 Cidade 1

    Prof. Fogliatto PO - Graduao 75

    Problemas de determinao da trilha mais curta entre dois nsExemplo 2

    Eu comprei um carro novo por $12000. Os custos de manuteno e ovalor na troca do carro em um determinado ano dependem da idade docarro no comeo daquele ano.

    Prof. Fogliatto PO - Graduao 76

    Exemplo 2 O preo do carro novo em qualquer instante no tempo ser $12000.

    Meu objetivo minimizar o custo lquido:

    (custo de compra) + (custos manuteno) - (valor recebido na troca)

    durante os prximos cinco anos.

    Formule este problema como um problema de determinao da trilhamais curta.

  • Prof. Fogliatto PO - Graduao 77

    Soluo

    O problema ter 6 ns (i = 1, 2, , 6).

    Arco (i, j) = comprar o carro novo no incio do ano i e mant-lo at o incio do ano j.

    Custo cij = (custo de manuteno incorrido durante os anos i, i+1,,j-1)+

    (custo de compra do carro no incio do ano i)-

    (valor do carro na troca no incio do ano j)

    Prof. Fogliatto PO - Graduao 78

    Soluo

    c12 = 2 + 12 - 7 = 7c13 = 2 + 4 + 12 - 6 = 12c14 = 2 + 4 + 5 + 12 - 2 = 21c15 = 2 + 4 + 5 + 9 + 12 - 1 = 31c16 = 2 + 4 + 5 + 9 + 12 + 12 - 0 = 44

    e assim por diante...

    Prof. Fogliatto PO - Graduao 79

    Rede

    1 2 3 4 5 67 7 7 7 7

    12

    21

    31

    44 31

    21

    12

    21

    12

    12

    Prof. Fogliatto PO - Graduao 80

    Algoritmo de Dijkstra Todas as distncias diretas entre dois ns da rede so conhecidas e

    no-negativas.

    Todos os ns da rede recebem um rtulo permanente outemporrio.

    Um rtulo temporrio representa o limite superior da menordistncia entre o n 1 e aquele n.

    Um rtulo permanente corresponde menor distncia entre o n 1e aquele n.

  • Prof. Fogliatto PO - Graduao 81

    Passos do AlgoritmoPasso Inicial:

    O n inicial recebe um rtulo permanente com valor zero.

    Todos os demais ns tm rtulos temporrios com valor igual distncia direta entre o n inicial e o n em questo.

    Ns com rtulos temporrios e no conectados diretamente com o n inicial recebem valor . Selecione, dentre os ns c/ rtulo temporrio, aquele que apresentar o menor valor; esse n passar a ter rtulo permanente.

    Em caso de empate, escolha aleatoriamente um dos ns de menor valor.

    Prof. Fogliatto PO - Graduao 82

    Passo 1

    Seja k o n mais recente cujo rtulo foi transformado em permanente. Considere os demais ns (com rtulos temporrios).

    Compare o valor de cada n temporrio com a soma (valor do n + distncia direta entre o n k e o n em questo). O mnimo entre esses valores ser o novo valor do n em questo.

    Prof. Fogliatto PO - Graduao 83

    Passo 2

    Selecione o n com menor valor dentre aqueles com rtulo temporrio; transforme seu rtulo em permanente.

    Se o n escolhido acima for o n final, pare. Caso contrrio, retorne ao passo 1.

    Prof. Fogliatto PO - Graduao 84

    Exemplo

    1

    2

    3

    4

    6

    5

    3

    7

    4

    2

    1

    3

    6

    33

    9

    Todos os arcos so

    Deseja-se encontrar a trilhamais curta entre os ns 1 e 6.

  • Prof. Fogliatto PO - Graduao 85

    Comece fazendo com que o n 1 tenha um rtulo permanente = 0

    Todos os demais ns recebem rtulos provisrios iguais a distnciadireta entre o n em questo e o n 1.

    Assim:

    L (0) = [0*, 3, 7, 4, , ]* indica rtulo permanente.

    Prof. Fogliatto PO - Graduao 86

    O menor dos rtulos temporrios vira permanente (n 2).

    A menor distncia entre ns 1 e 2 = 3.

    Os novos rtulos so:

    L (0) = [0*, 3*, 7, 4, , ]

    Prof. Fogliatto PO - Graduao 87

    Para todos os demais ns (j = 3,4,5,6), calcule o nmero dado pela soma do valor no n 2 (=3) e a distncia direta entre o n 2 e o n j em questo

    Compare o nmero obtido com o rtulo temporrio do n j; o menordentre esses valores passa a ser o novo rtulo temporrio de j.

    Para j = 3 min (3+2, 7) = 5 Para j = 4 min (3+, 4) = 4 Para j = 5 min (3+, ) = Para j = 6 min (3+9, ) = 12

    Os novos rtulos so:

    L (2) = [0*, 3*, 5, 4, , 12]

    Prof. Fogliatto PO - Graduao 88

    O menor dos rtulos temporrios vira permanente (n 4).

    Os novos rtulos so:

    L (2) = [0*, 3*, 5, 4*, , 12]

    A menor distncia entre ns 1 e 4 = 4.

  • Prof. Fogliatto PO - Graduao 89

    Para todos os demais ns (j = 3,5,6), calcule o nmero dado pela soma do valor no n 4 (=4) e a distncia direta entre o n 4 e o n j em questo

    Compare o nmero obtido com o rtulo temporrio do n j; o menordentre esses valores passa a ser o novo rtulo temporrio de j.

    Para j = 3 min (4+1, 5) = 5 Para j = 5 min (4+3, ) = 7 Para j = 6 min (4+, 12) = 12

    Os novos rtulos so:

    L (3) = [0*, 3*, 5, 4*, 7, 12]

    Prof. Fogliatto PO - Graduao 90

    O menor dos rtulos temporrios vira permanente (n 3).

    Os novos rtulos so:

    L (3) = [0*, 3*, 5*, 4*, 7, 12]

    A menor distncia entre ns 1 e 3 = 5.

    Prof. Fogliatto PO - Graduao 91

    Para todos os demais ns (j = 5,6), calcule o nmero dado pela soma do valor no n 3 (=5) e a distncia

    direta entre o n 3 e o n j em questo

    Compare o nmero obtido com o rtulo temporrio do n j; o menordentre esses valores passa a ser o novo rtulo temporrio de j.

    Para j = 5 min (5+3, 7) = 7

    Para j = 6 min (5+6, 12) = 11

    Os novos rtulos so:

    L (4) = [0*, 3*, 5*, 4*, 7, 11]

    Prof. Fogliatto PO - Graduao 92

    O menor dos rtulos temporrios vira permanente (n 5).

    Os novos rtulos so:

    L (4) = [0*, 3*, 5*, 4*, 7*, 11]

    A menor distncia entre ns 1 e 5 = 7.

  • Prof. Fogliatto PO - Graduao 93

    Para todos os demais ns (j =6), calcule o nmero dado pela soma do valor no n 5 (=7) e a distncia

    direta entre o n 5 e o n j em questo

    Compare o nmero obtido com o rtulo temporrio do n j; o menordentre esses valores passa a ser o novo rtulo temporrio de j.

    Para j = 6 min (7+3, 11) = 10 Os novos rtulos so:

    L (4) = [0*, 3*, 5*, 4*, 7*, 10]

    Prof. Fogliatto PO - Graduao 94

    O menor dos rtulos temporrios vira permanente (n 6).

    Os novos rtulos so:

    L (5) = [0*, 3*, 5*, 4*, 7*, 10*]

    A menor distncia entre ns 1 e 6 = 10.

    O algoritmo termina e a menor trilha entre 1 e 6 pode ser determinada.

    Prof. Fogliatto PO - Graduao 95

    Determinando a trilha mais curta Comece do n de destino (6). Calcule a diferena entre o rtulo

    permanente do n 6 e os demais ns diretamente ligados a ele.

    1

    2

    3

    4

    6

    5

    3

    7

    4

    2

    1

    3

    6

    33

    9 L (5) = [0*, 3*, 5*, 4*, 7*, 10*]

    Ns 2,3 e 5 esto diretamente ligados a 6.

    Assim:

    (65): 10 - 7 = 3 (63): 10 - 5 = 4 (62): 10 - 3 = 7

    Prof. Fogliatto PO - Graduao 96

    Se a diferena (6j) for igual ao comprimento real do arco (j, 6), escolha j como ponto

    intermedirio

    1

    2

    3

    4

    6

    5

    3

    7

    4

    2

    1

    3

    6

    33

    9Diferenas / Arcos:

    (65) = 3 / (5,6) = 3 (63) = 4 / (3,6) = 6 (62) = 7 / (2,6) = 9

    Assim, o primeiro n intermediriono caminho entre 6 e 1 o n 5.

  • Prof. Fogliatto PO - Graduao 97

    Repita o procedimento para o n 5

    Ns 3 e 4 esto diretamente ligados a 5.

    1

    2

    3

    4

    6

    5

    3

    7

    4

    2

    1

    3

    6

    33

    9L (5) = [0*, 3*, 5*, 4*, 7*, 10*]

    Diferenas:

    (54): 7 - 4 = 3 (53): 7 - 5 = 3

    Prof. Fogliatto PO - Graduao 98

    Se a diferena (5j) for igual ao comprimento real do arco (j, 5), escolha j como ponto

    intermedirio

    1

    2

    3

    4

    6

    5

    3

    7

    4

    2

    1

    3

    6

    33

    9Diferenas / Arcos:

    (54) = 3 / (4,5) = 3 (53) = 2 / (3,5) = 3

    Assim, o segundo n intermediriono caminho entre 6 e 1 o n 4.

    Caminho parcial: 6 5 4

    Prof. Fogliatto PO - Graduao 99

    Repita o procedimento para o n 4

    Ns 3 e 1 esto diretamente ligados a 4.

    1

    2

    3

    4

    6

    5

    3

    7

    4

    2

    1

    3

    6

    33

    9L (5) = [0*, 3*, 5*, 4*, 7*, 10*]

    Diferenas:

    (43): 4 - 5 = -1 (41): 4 - 0 = 4

    Prof. Fogliatto PO - Graduao 100

    Se a diferena (4j) for igual ao comprimento real do arco (j, 4), escolha j

    como ponto intermedirio

    1

    2

    3

    4

    6

    5

    3

    7

    4

    2

    1

    3

    6

    33

    9Diferenas / Arcos:

    (43) = -1 / (3,4) = 1 (41) = 4 / (1,4) = 4

    Como o n 1 o n de destino, determinamos a trilha mais curtaentre os ns 1 e 6.

    Trilha Mais Curta: 6 5 4 1

  • Prof. Fogliatto PO - Graduao 101

    Prtica

    Use o algoritmo de Dijkstra para resolver os problemas nosslides 79 e 84.