intro duca o a program a cao linear

98
Prof. José Elias C. Arroyo Departamento de Informática – DPI Sala: CCE 415-B INF 682 Introdução à Programação Linear

Upload: alba-assis

Post on 02-Oct-2015

15 views

Category:

Documents


3 download

DESCRIPTION

programação linear

TRANSCRIPT

  • Prof. Jos Elias C. Arroyo

    Departamento de Informtica DPI

    Sala: CCE 415-B

    INF 682 Introduo Programao Linear

  • Programao Linear (PL)Programao Linear (PL)Programao Linear (PL)Programao Linear (PL) O termo programao significa planejamento O termo Linear relativo a funes, equaes ou

    inequaes lineares. A PL (ou Otimizao Linear) consiste na otimizao

    (minimizao ou maximizao) de uma funo linear(funo objetivo) satisfazendo um conjunto derestries tcnicas representadas por um sistema deequaes/inequaes lineares.

    As restries representam, geralmente, limitaes de recursos disponveis (capital, mo de obra, matria prima, etc.) ou exigncias que devem ser cumpridas (ex. satisfazer demandas).

  • Problema de PLProblema de PLProblema de PLProblema de PL Uma fbrica produz 4 tipos de cadeiras.

    So usados 2 tipos de materiais: lminas de madeira para revestimento e tecido (recursos escassos).

    50 lminas/semana 75 metros/semana

  • Problema de PLProblema de PLProblema de PLProblema de PL

    A fbrica precisa decidir quais modelos de cadeira deve produzir e quantas unidades de cada um de tal maneira que o lucro seja o mximo?

    R$150 R$300 R$200

    1 4 1

    1 1 2

    R$300

    3

    1

    50

    75

  • Programao Linear (PL)Programao Linear (PL)Programao Linear (PL)Programao Linear (PL)

    Passos fundamentais para resolver um problema de PL

    Modelagem do problema

    Utilizao de um Mtodo de soluo

  • Componentes de um Modelo de PLComponentes de um Modelo de PLComponentes de um Modelo de PLComponentes de um Modelo de PL

    Variveis de deciso: So as variveis cujos valores devem ser calculados.So as quantidades de atividades/itens/produtos a serem realizadas/alocadas/produzidas.O conjunto das variveis de deciso forma uma soluo do problema.

    Funo objetivo: a meta ou critrio a ser otimizado.Por exemplo:

    Minimizar os custosMinimizar o tempo de produo,Maximizar o lucro da produo, etc.

  • Componentes de um Modelo de PLComponentes de um Modelo de PLComponentes de um Modelo de PLComponentes de um Modelo de PL

    Restries:So as condies do problema a serem satisfeitas pelas solues.Por exemplo:

    Produtos devem ser produzidos utilizando somente os recursos disponveis (capital).

    O produto fabricado deve atender alguns requisitos mnimos, (segurana, necessidade nutricional, etc.)

    A funo objetivo e as restries so expresses lineares (funes) definidas em termos das variveis de deciso.

  • Modelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PL

    Variveis de decisoxi = quantidade de cadeiras do modelo i (i=1,2,3,4)Estas variveis devem ser no negativas (xi 0).Proporcionalidade

    Para produzir uma cadeira modelo2 precisa de 4 laminas de madeira, x2 cadeiras, precisa 4x2 laminas de madeira

    Uma cadeira modelo2 gera um lucro de R$300, x2 cadeiras, gera um lucro R$ 300x2.

    R$150 R$300 R$200

    1 4 1

    1 1 2

    R$300

    3

    1

    50

    75

  • Modelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PL

    Funo objetivoMaximizar o lucro total gerado pela fabricao de todas as cadeiras.

    Lucro total =lucro gerado pelo modelo1 +. . .+lucro gerado pelo modelo4

    Lucro total = 150x1 + 300x2 + 300x3 + 200x4

    R$150 R$300 R$200

    1 4 1

    1 1 2

    R$300

    3

    1

    50

    75

  • Modelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PL

    RestriesDisponibilidade de matria prima (Recursos Disponveis)

    O total de madeira utilizado na fabricao de todos os modelos de cadeira no deve ultrapassar 50 laminas.

    O total de Tecido utilizado na fabricao de todos os modelos de cadeira no deve ultrapassar 75 m.

    R$150 R$300 R$200

    1 4 1

    1 1 2

    R$300

    3

    1

    50

    75

    501x1 + 4x2 + 3x3 + 1x4

    751x1 + 1x2 + 1x3 + 2x4

  • Modelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PL

    Modelo de PL

    x1 x2 x4150 + 300 + 200

    x1 x2 x41 + 4 + 1 50

    x1 x2 x41 + 1 + 2 75

    Max x3+ 300

    x3+ 3

    x3+ 1x1 0x2 0x3 0x4 0

  • Modelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PLModelagem de um Problema de PL

    Modelo de PL

    x1 x2 x4150 + 300 + 200

    x1 x2 x41 + 4 + 1 50

    x1 x2 x41 + 1 + 2 75

    Max x3+ 300

    x3+ 3

    x3+ 1

    Sujeito a:

    Funo objetivoFuno lucro

    Variveis de deciso

    Restries

    Restries de domnio ou No-negatividade

    xi : quantidade de cadeiras do modelo i (i =1...,4)

    x1 0x2 0x3 0x4 0

  • Tipos de soluesTipos de soluesTipos de soluesTipos de soluesUma soluo do modelo o vetor formado pelos valores das variveis de deciso: x = (x1, x2,...,xn).Soluo factvel ou vivel:

    uma soluo x = (x1, x2,...,xn) que satisfaze todas as restries do modelo, inclusive as condies de no-negatividade.Soluo infactvel ou invivel:

    uma soluo x = (x1, x2,...,xn) que no satisfaz (ou viola) uma das restries do modelo.Soluo tima:

    uma soluo vivel x* = (x*1, x*2,...,x*n) que determina o valor mximo ou mnimo da funo objetivo.

    Para um problema de minimizao, uma soluo x* soluo tima se: f(x*) f(x), para toda soluo x vivel.

  • Tipos de soluesTipos de soluesTipos de soluesTipos de solues

    Uma soluo vivel:x1 = 6, x2 = 3, x3 = 5, x4 = 4. Lucro = R$4.100

    Outra soluo vivel:x1 = 8, x2 = 4, x3 = 5, x4 = 10. Lucro = R$5.900

    Uma soluo invivel:x1 = 6, x2 = 8, x3 = 5, x4 = 5.

    Qual a soluo tima?

    x1 x2 x4150 + 300 + 200

    x1 x2 x41 + 4 + 1 50

    x1 x2 x41 + 1 + 2 75

    max x3+ 300

    x3+ 3

    x3+ 1

  • Problema de PLProblema de PLProblema de PLProblema de PLA refinaria de petrleo Recap destila leo cru proveniente deduas fontes, Arbia e Venezuela e produz trs produtos:gasolina, querosene e lubrificantes. Os leos tm diferentescomposies qumicas e fornecem diferentes quantidades dedestilados por barril processado. Cada barril de leo cru daArbia d 0,3 barril de gasolina, 0,4 de querosene e 0,2 delubrificante. Para o leo da Venezuela estas quantidades sorespectivamente: 0,4, 0,2 e 0,3. H 10% de resduos. Os leosdiferem em custo e disponibilidade. A Recap pode comprarat 9000 barris da Arbia a $20 o barril e at 6000 barris daVenezuela a $15 o barril. Contratos da Recap comdistribuidores exigem que ela produza 2000 barris de gasolinapor dia, 1500 barris de querosene e 500 de lubrificantes.Como cumprir os contratos gastando o mnimo? (qual o mixde compra dos leos).

  • Modelagem do problemaModelagem do problemaModelagem do problemaModelagem do problema

    Produtos Arbia(barril)

    Venezuela(barril)

    Demanda(barris)

    Gasolina 0,3 0,4 2.000Querosene 0,4 0,2 1.500Lubrificante 0,2 0,3 500Custo p/barril $20 $15Oferta (barris) 9.000 6.000

  • Modelagem do problemaModelagem do problemaModelagem do problemaModelagem do problema Variveis de deciso:x1 = quantidade de barris de leo /dia vindos da Arbiax2 = quantidade de barris de leo /dia vindos da Venezuela Tipo das Variveis de Deciso:x1, x2 >= 0 (reais no-negativos) Funo Objetivo: 20x1 + 15 x2 (custo total) Conjunto de Restries Principais:0,3 x1 + 0,4 x2 >= 2000 barris (Demanda gasolina)0,4 x1 + 0,2 x2 >= 1500 barris (Demanda querosene)0,2 x1 + 0,3 x2 >= 500 barris (Demanda lubrificantes)x1
  • Modelo matemtico de PLModelo matemtico de PLModelo matemtico de PLModelo matemtico de PLMinimizar f(x1, x2) = 20x1 + 15 x2 (custo total)Sujeito a:

    0,3 x1 + 0,4 x2 20000,4 x1 + 0,2 x2 15000,2 x1 + 0,3 x2 500x1 9000x2 6000x1 0, x2 0 (condies de no-negatividade)

  • Problema da DietaProblema da DietaProblema da DietaProblema da Dieta O objetivo do problema determinar a quantidade de

    determinados alimentos a serem usados numa dieta (ourao).

    A dieta deve conter as quantidades mnimas(necessrias) de determinados nutrientes.

    O custo total dos alimentos utilizados na dieta deve serminimizado.

  • Problema da DietaProblema da DietaProblema da DietaProblema da DietaExemplo: Na tabela abaixo, esto os alimentos que podemser utilizados numa dieta, o preo dos alimentos, aquantidade de nutrientes contidos 100g de cada alimento ea necessidade mnima de cada nutriente na dieta.

    Necessidademnima

  • Problema da DietaProblema da DietaProblema da DietaProblema da DietaNecessidade

    mnima

    xi = quantidade do alimento i a ser inserida na dieta, (i = carne, ...., laranja).Min f = 0,5x1 + 0,18 x2 + 0,2 x3 + 0,16 x4 + 0,30 x5 + 0,18x6S.a: 225 x1 + 364 x2 + 337 x3 + 385 x4 + 15 x5 + 42 x6 3200 (energtico)

    7 x1 + 0 x2 + 2 x3 + 0 x4 + 87 x5 + 13 x6 750 (Vit. A)0 x1 + 0 x2 + 3 x3 + 0 x4 + 12 x5 + 59 x6 70 (Vit. C)

    2,9 x1 + 1,3 x2 + 7,6 x3 + 0,1 x4 + 1,3 x5 + 0,7 x6 10 (Ferro)11x1 + 9 x2 + 86 x3 + 0 x4 + 43x5 + 34 x6 650 (Clcio)

    xi 0, i=1,...,6.

  • Problema de TransporteProblema de TransporteProblema de TransporteProblema de TransporteConsidere uma companhia distribuidora de bebidas que tem 2 centrosde produo: Araraquara e So Jos dos Campos e 3 mercadosconsumidores principais: So Paulo, Belo Horizonte e Rio deJaneiro. Na tabela abaixo so mostrados os custos unitrios de setransportar uma caixa de bebida de cada centro de produo para cadamercado consumidor, as demandas dirias de cada mercado e anmero de caixas disponveis diariamente em cada centro deproduo. Deseja-se minimizar o custo total de transporte debebidas dos diversos centros de produo em quantia suficiente parasuprir as demandas dos mercados.

    Centros deproduo

    Mercados DisponibilidadeEm cada centroSP BH RJ

    Araraquara 4 2 5 800S.J. Campos 11 7 4 1000

    Demanda SP500

    Demanda BH400

    Demanda RJ900

  • Problema de TransporteProblema de TransporteProblema de TransporteProblema de Transporte

    xij = quantidade de caixas a ser enviada do centro de produo i para omercado j .i=1(Araraquara), i=2( S.J.Campos), j=1(SP), j=2( BH), j=3( RJ).Minimizar f(x11,..., x23) = 4x11 + 2x12 + 5x13 + 11x21 + 7x22 + 4x23s.a. x11 + x12 + x13 800 (oferta Araraquara)

    x21 + x22 + x23 1000 (oferta S.J.C)x11 + x21 500 (demanda SP)x12 + x22 400 (demanda BH)x13 + x23 900 (demanda RJ)x11 0, x12 0, x13 0, x21 0, x22 0, x23 0.

    Centros deproduo

    Mercados DisponibilidadeEm cada centroSP BH RJ

    Araraquara 4 2 5 800S.J. Campos 11 7 4 1000

    Demanda SP500

    Demanda BH400

    Demanda RJ900

  • Problema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosUm gerente est executando o planejamento da produo de 3produtos em 4 mquinas. Todos os produtos podem ser fabricadospor todas as mquinas. Os custos unitrios de produo de cadaproduto em cada mquina so apresentados na seguinte tabela:

  • Problema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosH uma demanda (pedidos) de 4000, 5000 e 3000 unidades paraos produtos 1, 2 e 3, respectivamente.As mquinas esto disponveis por uma quantidade determinadade horas e cada unidade de um produto requer uma quantidadefixa de horas em cada mquina de acordo com a seguinte tabela:

    Deseja-se minimizar o custo total de produo.

  • Problema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de Recursos.

  • Problema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosVariveis de deciso:xij = quantidade do produto i produzido na mquina j (unidades)(i = 1,2,3; j = 1,2,3,4) 12 variveis.xij 0 inteiros

    Custo total de Produo (Minimizar)

    f = 4 x11 + 4 x12 + 5 x13 + 7 x14 +6 x21 + 7 x22 + 5 x23 + 6 x24 +

    12 x31 + 10 x32 + 8 x33 + 11 x34

  • Problema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosProblema de Alocao de RecursosDemanda de produtos: Produto1) x11 + x12 + x13 + x14 4000 Produto2) x21 + x22 + x23 + x24 5000 Produto3) x31 + x32 + x33 + x34 3000

    Capacidade de produo das mquinas: Mquina1) 0.3 x11 + 0.2 x21 + 0.8x31 1500 Mquina2) 0.25x12 + 0.3 x22 + 0.6x32 1200 Mquina3) 0.2 x13 + 0.2 x23 + 0.6x33 1500 Mquina4) 0.2 x14 + 0.25x24 + 0.5x34 2000

  • Forma geral de um modelo PLForma geral de um modelo PLForma geral de um modelo PLForma geral de um modelo PL

    Min ou Max f(x1, ...,xn) = c1x1 + c2x2 + . . . + cnxnS.a: a11x1 + a12x2 + . . . + a1nxn b1

    a21x1 + a22x2 + . . . + a2nxn b2. . . . . . . . . . . . . . . . . . . . . .

    am1x1 + am2x2 + . . . + amnxn bmx1 0; x2 0; . . . ; xn 0

    Min ou Max f(x1, ...,xn) =S. a:

    ; j = 1,2, ... , m.

    xi 0; i = 1,2, ... , n.

    =

    n

    iii xc

    1

    jn

    iiji bxa =

    =

    ,,

    1

    =

    Modelo evolvendo n variveis de deciso e m restries:

  • Modelo geral do problema da DietaModelo geral do problema da DietaModelo geral do problema da DietaModelo geral do problema da Dieta

    .,...,1;0

    .,...,1;

    ),...,(min

    1

    11

    nix

    mjbxa

    xcxxf

    i

    jn

    iiji

    n

    iiin

    =

    =

    =

    =

    =

    s.a.

    n = nmero de alimentos.m = nmero de nutrientes.ci = custo de uma unidade do alimento i.aij = quantidade do nutriente j no alimento i.bj = quantidade mnima do nutriente j que a dieta deve conter.Varivel de deciso:xi = quantidade do alimento i a ser usada na dieta (valor real).

  • Modelo geral de TransporteModelo geral de TransporteModelo geral de TransporteModelo geral de Transporte

    .,...,1;,...,1;0

    .,...,1 ;

    .,...,1 ; s.a.

    ),...,(min

    1

    1

    1 111

    mjnixmjdx

    nisx

    xcxxf

    ij

    jn

    iij

    i

    m

    jij

    n

    i

    m

    jijijnm

    ==

    =

    =

    =

    =

    =

    = =

    n = nmero de fornecedores.m = nmero de clientes.si = oferta do fornecedor i (quantidade disponvel).dj = demanda do cliente j (quantidade requerida). cij = custo unitrio de transporte do fornecedor i para o clientes j.Varivel de deciso:xij = quantidade a ser enviada do fornecedor i para o cliente j.

  • Modelo de PL Forma MatricialModelo de PL Forma MatricialModelo de PL Forma MatricialModelo de PL Forma MatricialMin ou Max f(x) = cxS. a: Ax b

    x 0

    =

    mnmm

    n

    n

    aaa

    aaa

    aaa

    ...

    ............

    ...

    ...

    21

    22221

    11211

    A

    =

    nx

    x

    x

    ...

    2

    1

    x

    =

    mb

    bb

    ...

    2

    1

    b

    =

    nc

    c

    c

    ...

    2

    1

    Tc

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PL Vlida para problemas com 2 variveis A soluo grfica nos ajudar a entender os princpios bsicos

    do mtodo Simplex.

    3

    2

    x1

    x2

    2x1 + 3x2 = 6

    2x1 + 3x2 6

    2x1 + 3x2 6

    A representao grfica de uma equao linear com 2 variveis uma reta.

    A representao grfica de uma inequao linear com 2 variveis um dos semiplanos definidos pela reta correspondente equao.

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLResolver :

    Max 2x1 + 6x2S.a.

    8x1 + 9x2

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLResolver :

    Max 2x1 + 6x2S.a.

    8x1 + 9x2

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLResolver :

    Max 2x1 + 6x2S.a.

    8x1 + 9x2

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLResolver :

    Max 2x1 + 6x2S.a.

    8x1 + 9x2

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLResolver :

    Max 2x1 + 6x2S.a.

    8x1 + 9x2

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLResolver :

    Max 2x1 + 6x2S.a.

    8x1 + 9x2

  • Soluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLSoluo Grfica de um Modelo de PLResolver o seguinte problema graficamente: Uma empresa fabrica 2 produtos. Na fabricao destes produtos, sousados dos tipos de matria prima e dois tipos de mo de obra.

    Produto 1111 Produto 2222 DisponibilidadeDisponibilidadeDisponibilidadeDisponibilidade

    Matria Prima A 70 kg/unidade 70 kg/unidade 4900 kg

    Matria Prima B 90 kg/unidade 50 kg/unidade 4500 kg

    Mo de Obra Especializada P1 2 H-h/unidade - 80 H-h

    Mo de Obra Especializada P2 - 3 H-h/unidade 180 H-h

    Lucro por unidade de produto: 20 R$/unidade 60 R$/unidade

    Dada a grande procura, estima-se que todas as unidades a seremproduzidas, dos 2 produtos, podero ser vendidas. O objetivo dafbrica obter o maior lucro possvel com a produo e a vendados produtos 1 e 2.

  • Modelo de PL e Grfico da Regio VivelModelo de PL e Grfico da Regio VivelModelo de PL e Grfico da Regio VivelModelo de PL e Grfico da Regio VivelMax f = 20x1 + 60x2s.a.

    70x1 + 70x2 4900 (R1)90x1 + 50x2 4500 (R2)2x1 80 (R3)3x2 180 (R4)x1 ,x2 0

    Regio Vivel

  • Soluo GrficaSoluo GrficaSoluo GrficaSoluo Grfica

    Sendo a funof (x) = 20x1 + 60x2,

    f(x) = (20, 60).

    f f

    f

    Ponto timo(10,60)

    Para x1 = 10 e x2 = 60, f(x1, x2) = 3800 (lucro mximo).

  • Soluo GrficaSoluo GrficaSoluo GrficaSoluo Grfica

    Regio Vivel

    Valores de f para os diferentes pontos extremos da regio vivel:f (x) = 20x1 + 60x2x = (0,0) f(x)= 0x = (40,0) f(x)= 800x = (40,18) f(x)= 1880x = (25,45) f(x)= 3200x = (10,60) f(x)= 3800x = (0,60) f(x) = 3600

    (10,60)

    (25,45)

    (40,18)

  • Soluo GrficaSoluo GrficaSoluo GrficaSoluo GrficaMin f(x1, x2) = 3x1 + 5x2s.a.

    x1 4 R12x2 12 R23x1 + 2x2 18 R3x10, x20

    4

    6

    9

    6

    (4,3)

    (4,6)(2,6)

    R3R1

    R2

    f = 42

    f = 27f

  • Soluo GrficaSoluo GrficaSoluo GrficaSoluo Grfica

    Max f(x1, x2) = x1+ 2x2s.a.

    -3x1 + x2 2 R1x2 3 R2x1 + 2x2 9 R3

    3x1 + x2 18 R4x1 0, x2 0.

    Quando o problema tiver mltiplas solues timas, estas solues estaro em um segmento de reta tangente regio vivel.

    6

    4,5

    x1

    x2R4

    9

    3 R2

    f = x1 + 2x2 = 9

    2

    R1R3Mltiplas solues timas

    0

    (3; 3)(5.4; 1.8)Regio

    vivelPara os pontos:x = (3;3), (4, 2.5) e (5.4; 1.8)f(x) = 9 (valor mximo)

  • Soluo GrficaSoluo GrficaSoluo GrficaSoluo Grfica

    Max f(x1, x2) = x1+ 2x2s.a. x1 x2 10

    2x1 40x1, x20

    Soluo Ilimitada: o valor da funo objetivo pode crescer ou decrescer indefinidamente.

    x1

    x2

    10

    x1 - x2 = 10

    x1 = 20

    20

    Regio vivel ilimitada

    f

    f

  • Forma padro de um modeloForma padro de um modeloForma padro de um modeloForma padro de um modeloMax f(x) = cxs. a: Ax = b

    x 0Transformao de problemas na forma padro

    Problemas de minimizaoMin f(x) Max f(x).

    Problemas com restries de desigualdade ou As restries do tipo (ou ) so transformadas em restries do tipo = adicionando (ou subtraindo) uma nova varivel no-negativa no lado esquerdo da inequao. Estas variveis so chamadas de variveis de folga (ou excesso).

    Problemas com variveis livres ou irrestritas

    b 0

  • Forma padro de um modeloForma padro de um modeloForma padro de um modeloForma padro de um modeloMin f(x1, x2) = 3x1 + 5x2s.a.

    x1 4 R12x2 12 R23x1 + 2x2 18 R3x10, x20

    4

    6

    9

    6

    (4,3)

    (4,6)(2,6)

    R3R1

    R2

    f = 42

    f = 27f = 36f

  • Forma padro de um modeloForma padro de um modeloForma padro de um modeloForma padro de um modeloMax -f(x1, x2) = -3x1 - 5x2s.a.

    x1 4 R12x2 12 R23x1 + 2x2 18 R3x10, x20

    4

    6

    9

    6

    (4,3)

    (4,6)(2,6)

    R3R1

    R2

    f = -42

    f = -27f = -36f

  • Forma padro de um modeloForma padro de um modeloForma padro de um modeloForma padro de um modeloMax -f(x1, x2) = -3x1 - 5x2s.a.

    x1 4 2x2 12 3x1 + 2x2 18x10, x20

    Max -f(x1, x2) = -3x1 - 5x2s.a.

    x1 + x3 = 4 2x2 + x4 = 12

    3x1 + 2x2 x5 =18x10, x20x30, x40, x50

  • Resolver o ModeloResolver o ModeloResolver o ModeloResolver o Modelo

    Deve-se determinar uma soluo do sistema de equaes que determine o valor mximo da funo objetivo. Note que temos 3 equaes e 5 variveis. O sistema possui infinitas solues. Como determinar uma soluo do sistema?

    Max -f(x1, x2) = -3x1 - 5x2s.a.

    x1 + x3 = 4 2x2 + x4 = 12

    3x1 + 2x2 x5 =18x10, x20, x30, x40, x50

  • Resolver o ModeloResolver o ModeloResolver o ModeloResolver o Modelo

    Fixar (anular) 5-3 = 2 variveis. Quais variveis devem ser anuladas? Possveis maneiras de anular 2 variveis:

    Max -f(x1, x2) = -3x1 - 5x2s.a.

    x1 + x3 = 4 2x2 + x4 = 12

    3x1 + 2x2 x5 =18x10, x20, x30, x40, x50

    10)!25(!2!5

    25

    =

    =

  • Resolver o ModeloResolver o ModeloResolver o ModeloResolver o Modelo

    Se anulamos x4 e x5 (x4 = 0, x5 = 0 ):x1 + x3 = 4

    2x2 = 12 3x1 + 2x2 = 18

    x1 = 2, x2 = 6, x3 = 2. Esta soluo vivel. f = -36

    Max -f(x1, x2) = -3x1 - 5x2s.a.

    x1 + x3 = 4 2x2 + x4 = 12

    3x1 + 2x2 x5 =18x10, x20, x30, x40, x50

  • Resolver o ModeloResolver o ModeloResolver o ModeloResolver o Modelo

    Uma maneira de determinar a soluo tima do modelo: Determinar todas as solues viveis anulando 2 variveis. Escolher a soluo que gera o maior valor de f.

    Max -f(x1, x2) = -3x1 - 5x2s.a.

    x1 + x3 = 4 2x2 + x4 = 12

    3x1 + 2x2 x5 =18x10, x20, x30, x40, x50

  • Solues BsicasSolues BsicasSolues BsicasSolues BsicasConsidere o seguinte modelo na forma padro: Max f(x) = cxS. a: Ax = b

    x 0

    Note que no sistema Ax = b tem-se m equaes e nvariveis (m

  • Solues BsicasSolues BsicasSolues BsicasSolues Bsicas Ax = b pode ser escrito como BxB + NxN = b xN = vetor de variveis a serem fixadas (variveis

    no-bsicas). xB = vetor de variveis a serem determinadas

    (variveis bsicas). O sistema possui uma soluo se existe uma matriz B

    no singular, isto , uma base para o Rm. Soluo bsica: xB = B1b; xN = 0. Se xB 0, ento x = [xB xN] uma soluo bsica

    vivel. Nmero mximo de parties:

    )!(!!

    mnm

    n

    m

    n

    =

    Nmero mximo de solues bsicas

  • Solues Bsicas Solues Bsicas Solues Bsicas Solues Bsicas ---- Exemplo:Exemplo:Exemplo:Exemplo:Max f = x1 + 2x2s.a.

    x1 + x2 6x2 3x1, x2 0

    Max f = x1 + 2x2s.a.

    x1 + x2 + x3 = 6x2 + x4 = 3

    x1, x2, x3, x4 0

    ==

    10100111][ 4321 a a a aA

    =

    36

    b

    Nmero mximo de solues bsicas (ou nmero mximo de possveis parties): 6

    24

    =

    x2

    x1

    (0,6)

    (3,3)(0,3)

    (0,0) (6,0)O P

    QR

    S

    =

    36

    10100111

    4

    3

    2

    1

    x

    x

    x

    x

  • Solues Bsicas Solues Bsicas Solues Bsicas Solues Bsicas ---- Exemplo:Exemplo:Exemplo:Exemplo:Determinando todas as parties A = [B N] e x = [xB xN]e resolvendo, Ax = b, com xN = 0:

    1) B = [a1 a2], N = [a3 a4]

    xB = (x1,x2)T =(3, 3), xN = (x3, x4)T = (0,0) soluo bsica vivel (ponto Q)

    =

    36

    10100111

    4

    3

    2

    1

    x

    x

    x

    x

    =

    +

    =+

    36

    1001

    1011

    4

    3

    2

    1

    x

    x

    x

    x bNxBx NB

    =

    +

    36

    2

    21

    x

    xx

    0

    1x1 + 1x2 + 1x3 + 0x4 = 60x1 + 1x2 + 0x3 + 1x4 = 3

    = bBxB

  • Solues Bsicas Solues Bsicas Solues Bsicas Solues Bsicas ---- Exemplo:Exemplo:Exemplo:Exemplo:

    2) B = [a1 a3], N = [a2 a4]

    xB = (x1,x3)T, xN = (x2, x4)T

    As colunas a1 e a3 so linearmente dependentes, no formam uma base de R2.

    3) B = [a1 a4], N = [a2 a3]

    xB = (x1,x4)T, xN = (x2, x3)T

    xB = (x1,x4)T = (6, 3), xN = (x2, x3)T = (0,0) soluo bsica vivel (ponto P)

    =

    =

    1101

    N 0011

    B

    1x1 + 1x2 + 1x3 + 0x4 = 60x1 + 1x2 + 0x3 + 1x4 = 3

    =

    =

    0111

    N 1001

    B

    bBxB =

  • Solues Bsicas Solues Bsicas Solues Bsicas Solues Bsicas ---- Exemplo:Exemplo:Exemplo:Exemplo:

    4) B = [a2 a3], N = [a1 a4]

    xB = (x2,x3)T, xN = (x1, x4)T

    xB = (x2,x3)T= (3, 3), xN = (x1, x4)T = (0,0) soluo bsica vivel (ponto R)5) B = [a2 a4], N = [a1 a3]

    xB = (x2,x4)T, xN = (x1, x3)T

    xB = (x2,x4)T= (6, -3), xN = (x1, x3)T = (0,0) soluo bsica invivel (ponto S)

    =

    =

    1001

    N 0111

    B

    1x1 + 1x2 + 1x3 + 0x4 = 60x1 + 1x2 + 0x3 + 1x4 = 3

    =

    =

    0011

    N 1101

    B

  • Solues Bsicas Solues Bsicas Solues Bsicas Solues Bsicas ---- Exemplo:Exemplo:Exemplo:Exemplo:

    6) B = [a3 a4], N = [a1 a2]xB = (x3,x4)T = (6, 3), xN = (x1, x2)T = (0,0) soluo bsica vivel (ponto O)

    1x1 + 1x2 + 1x3 + 0x4 = 60x1 + 1x2 + 0x3 + 1x4 = 3

  • Solues BsicasSolues BsicasSolues BsicasSolues BsicasNote que: Cada ponto extremo da regio vivel (polgono ou

    poliedro) corresponde a uma soluo bsica vivel Cada soluo bsica obtida pela interseo n-m retas,

    planos ou hiperplanos (n-m variveis so anuladas).

    x2

    x1

    (0,6)

    (3,3)(0,3)

    (0,0) (6,0)O P

    QR

    S

  • Solues BsicasSolues BsicasSolues BsicasSolues Bsicas

    Teoremas:x um ponto extremo do poliedro X = {x : Ax = b, x 0} sss x uma soluo bsica vivel.

    Toda soluo x do poliedro pode ser escrito como uma combinao linear convexa dos seus pontos extremos.

    Tj

    p

    j

    T

    jj

    T

    jjj

    ,...,1 ,0

    1

    x

    1

    1

    =

    =

    =

    =

    =

    T = no de pontos extremospj = pontos extremos

  • Solues Bsicas Solues Bsicas Solues Bsicas Solues Bsicas Exemplo 2:Exemplo 2:Exemplo 2:Exemplo 2:Max f = 2x1 + 3x2s.a.

    x1 42x2 123x1 + 2x2 18x1, x2 0

    Max f = 2x1 + 3x2s.a.

    x1 + x3 = 42x2 + x4 = 12

    3x1 + 2x2 + x5 = 18x1, x2, x3, x4, x5 0

    ==

    100230102000101

    ]a a a a a[A 54321

    =

    18124

    b

    Determine todas as solues bsicas.

  • Solues Bsicas Solues Bsicas Solues Bsicas Solues Bsicas Exemplo 2:Exemplo 2:Exemplo 2:Exemplo 2:Max f = 2x1 + 3x2s.a.

    x1 42x2 123x1 + 2x2 18x1, x2 0

    (0,0) (4,0) (6,0)

    (0,6)

    (4,6) (2,6)

    (0,9)

    (4,3)

    2.2 : 2 12eq x

    2.5 : 0eq x

    1.4 : 0eq x

    1.1 : 4eq x

    (0,0) 1x

    2x

    1 2.3 : 3 2 18eq x x+

    (1,6)

    Regio vivel

    Max f = 2x1 + 3x2s.a.

    x1 + x3 = 42x2 + x4 = 12

    3x1 + 2x2 + x5 = 18x1, x2, x3, x4, x5 0

  • Solues BsicasSolues BsicasSolues BsicasSolues BsicasMtodo De Busca Exaustiva para Resolver um Problema de PL1) Transformar o problema na forma padro;2) Determinar todas as solues bsicas do sistema (agrupando m

    variveis bsicas e n-m variveis no bsicas ). Para cada soluo bsica vivel calcular o valor da funo objetivo.

    3) Retornar a soluo com maior valor da funo objetivo.

    m

    n

    m

    n

    Apesar do nmero ser finito,

    ele pode ser muito grande para problemas prticos em que n da ordem de centenas ou milhares, e muito maior que m.

    Suponha n = 100 e m = 10. = 17.310.309.456.440 solues bsicas.

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo Simplex um mtodo mais eficiente. Inicia com uma soluo bsica vivel e procura apenas outras solues bsicas viveis melhores que as anteriores.

    Este mtodo reduz consideravelmente o nmero de solues bsicas a serem calculadas.

    Max f = 5x1 + 2x2s.a:

    x1 + 2x2 8x1 4x2 3x1 0, x2 0.

    Max f = 5x1 + 2x2s.a.

    x1 + 2x2 + x3 = 8x1 + x4 = 4

    x2 + x5 = 3x1, x2, x3, x4, x5 0

    Exemplo:

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo SimplexMax f = 5x1 + 2x2s.a.

    x1 + 2x2 + x3 = 8x1 + x4 = 4

    x2 + x5 = 3x1, x2, x3, x4, x5 0

    ==

    100100100100121

    ][ 54321 a a a a aA

    =

    348

    b

    Soluo bsica vivel inicial:

    =

    25

    c

    x3 = 8 x1 2x2x4 = 4 x1x5 = 3 x2

    Fazer x1 = x2 = 0x3 = 8x4 = 4x5 = 3

    Base inicial

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo SimplexMax f = 5x1 + 2x2s.a.

    x1 + 2x2 + x3 = 8x1 + x4 = 4

    x2 + x5 = 3x1, x2, x3, x4, x5 0

    ==

    100100100100121

    ][ 54321 a a a a aA

    =

    348

    b

    Soluo bsica vivel inicial: Na forma matricial: Considerar a base :

    ==

    100010001

    ][ 543 a a aB

    =

    ==+=

    348

    100010001

    bBx bNx Bx bAx

    5

    4

    3

    BNB

    x

    x

    x

    =

    25

    c

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo Simplex

    ;

    348

    5

    4

    3

    =

    x

    x

    x Valor da funo objetivo:

    =

    00

    2

    1

    x

    x

    Esta soluo bsica vivel corresponde ao ponto extremo O = (0,0)Para determinar outra soluo bsica vivel (outro ponto extremo), devemos determinar outra BASE a partir da base anterior.Ou seja, Vamos determinar um ponto extremo adjacente ao ponto anterior.

    Na soluo anterior, trocar uma varivel no-bsica com uma bsica.Em outras palavras, uma varivel no-bsica deve passar ser bsica(Varivel que entrar na base). Temos duas possibilidades:1) x1 entra na base ou2) x2 entra na bse

    Escolher a varivel com maior coeficiente em f, ou seja, x1.

    0)0,0,0()2,5(255

    4

    3

    2

    121 =

    +

    =+=

    x

    x

    x

    x

    xxxf

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo SimplexQual varivel bsica deve passar a ser no-bsica (i.e. sair da base)?

    Temos trs possibilidades: x3, x4 ou x5.

    Como x1 vai entrar na base, Qual deve ser o maior valor de x1 de tal maneira que as restries de no-negatividade no sejam violadas?

    ;

    348

    5

    4

    3

    =

    x

    x

    x

    =

    00

    2

    1

    x

    x

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo SimplexQual varivel bsica deve passar a ser no-bsica (i.e. sair da base)?

    Temos trs possibilidades: x3, x4 ou x5.

    Como x1 vai entrar na base, Qual deve ser o maior valor de x1 de tal maneira que as restries de no-negatividade no sejam violadas?

    ;

    348

    5

    4

    3

    =

    x

    x

    x

    =

    00

    2

    1

    x

    x

    0348

    1

    1

    x

    xx3 = 8 x1 2x2x4 = 4 x1x5 = 3 x2

    x3 = 8 x1 0x4 = 4 x1 0x5 = 3 0

    Ento, x1 pode ser no mximo 4.x1 = 4 x4

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo SimplexPor tanto,x1 entra na base (x1 = 4)x4 sai da base (x4 = 0)Nova soluo bsica:

    ==

    100010011

    ][ 513 a a aB

    ==

    110020

    ][ 24 a aN

    =

    348

    100010011

    5

    1

    3

    3

    2

    1

    x

    x

    x

    LLL

    =

    00

    2

    4

    x

    x

    ==

    100100100100121

    ][ 54321 a a a a aA

    =

    348

    b

    Transformando B em Identidade (i.e. multiplicando ambos lados por B-1):Operaes: L1 L1 L2

    Resolvendo BxB + NxN = b com xN = 0:

    x1 = 4 x4

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo Simplex

    Nova soluo bsica:

    =

    344

    100010001

    5

    1

    3

    3

    2

    1

    x

    x

    x

    LLL

    =

    344

    5

    1

    3

    x

    x

    x

    =

    00

    2

    4

    x

    x 21 25 xxf +=

    x4 = 4 x1 24 2)4(5 xxf += 24 25 xxf += 20

    Ponto extremo: (4, 0). f = 20

    Como x4 foi trocada com x1, x1 escrito em termos de x4 :

    A funo objetivo f definida em termos das variveis no-bsicas.A soluo obtida tima (o valor de f mximo)?NO, pois ela pode melhorar fazendo com que x2 passe ser bsica. O mtodo simplex continua at obter uma soluo bsica vivel com o valor mximo de f (ou seja, at que no seja possvel melhorar f ).

  • Mtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasOs clculos realizados acima so sintetizados nas tabelas.

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 5 2 0 0 0 0L2 x3 1 2 1 0 0 8L3 x4 1 0 0 1 0 4L4 x5 0 1 0 0 1 3

    Max f = 5x1 + 2x2s.a.

    x1 + 2x2 + x3 = 8x1 + x4 = 4

    x2 + x5 = 3x1, x2, x3, x4, x5 0

    Determinando uma nova soluo bsica vivel (iterao 1):Varivel que entra na base: x1 (varivel com maior coeficiente > 0 em f ).

    ;

    348

    5

    4

    3

    =

    =

    x

    x

    x

    xB

    =

    =

    00

    2

    1

    x

    xxN

    Soluo bsica vivel inicial:

    f = 0

  • Mtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em Tabelas

    Varivel que sai:

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 5 2 0 0 0 0L2 x3 1 2 1 0 0 8L3 x4 1 0 0 1 0 4L4 x5 0 1 0 0 1 3

    x3: x1 8/1 = 8x4: x1 4/1 = 4x5: 3/0 = indeterminado

    Menor valor 0. x4 sai da base.

  • Mtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em Tabelas

    Varivel que sai:

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 5 2 0 0 0 0L2 x3 1 2 1 0 0 8L3 x4 1 0 0 1 0 4L4 x5 0 1 0 0 1 3

    x3: x1 8/1 = 8x4: x1 4/1 = 4x5: 3/0 = indeterminado

    Menor valor 0. x4 sai da base.

    Se xk a varivel que entra, o valor mximo de xk :

    >=

    0 onde ,0min ikik

    iBik

    aa

    bx

    A varivel que sai da base xi , onde kik

    i xa

    b=

    , B conjunto de ndices das variveis bsicas

  • Mtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasVariveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 5 2 0 0 0 0L2 x3 1 2 1 0 0 8L3 x4 1 0 0 1 0 4L4 x5 0 1 0 0 1 3

    A nova soluo determinada fazendo operaes de pivteamento. Note na tabela anterior, x3, x4 e x5 so VB. Na linha de f, estas variveis possuem coeficiente zero e suas colunas formam uma matriz identidade.

    Coluna de pivteamento

  • Mtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em Tabelas

    Operaes para transformar a tabela (pivteamento):L3 L3/piv = L3/1 = L3L1 L1 5L3; L2 L2 1L3; L4 L4 0L3

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 5 2 0 0 0 0L2 x3 1 2 1 0 0 8L3 x1 1 0 0 1 0 4L4 x5 0 1 0 0 1 3

    piv

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 0 2 0 -5 0 -20L2 x3 0 2 1 -1 0 4L3 x1 1 0 0 1 0 4L4 x5 0 1 0 0 1 3

    ;

    344

    5

    1

    3

    =

    x

    x

    x

    =

    00

    2

    4

    x

    xNova soluobsica vivel: ; f = 20 tima?NO. f pode aumentar.

  • Mtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasDeterminando a prxima soluo bsica (iterao 2):

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 0 2 0 -5 0 -20L2 x3 0 2 1 -1 0 4L3 x1 1 0 0 1 0 4L4 x5 0 1 0 0 1 3

    Operaes de Pivteamento:L2 L2/piv = L2/2L1 L1 2L2;L3 L3 0L2; L4 L4 1L2

    Varivel que entra na base: x2 (varivel com maior coeficiente >0 em f ).Varivel que sai:x3 : 4/2 = 2x1 : 4/0 = indeterminadox5 : 3/1 = 3

    Menor valor 0. x3 sai da base.

    x3 0 2 1 -1 0 4piv

  • Mtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasMtodo Simplex em TabelasNova tabela:

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 0 0 -1 -4 0 -24L2 x2 0 1 1/2 -1/2 0 2L3 x1 1 0 0 1 0 4L4 x5 0 0 -1/2 1/2 1 1

    Esta soluo tima? SIM, pois f no pode aumentar mais (os coeficientes so todos negativos).

    Fim do mtodo.

    ;

    142

    5

    1

    2

    =

    x

    x

    x

    =

    00

    3

    4

    x

    xNova soluo bsica vivel: f = 24

  • Mtodo SimplexMtodo SimplexMtodo SimplexMtodo SimplexBusca da soluo tima pelo mtodo simplex:

    Max f = 5x1 + 2x2s.a:

    x1 + 2x2 8x1 4x2 3x1 0, x2 0.

    x2

    x1

    (0,3)(2,3)

    (0,4)

    (0,0) (8,0)(4,0)

    (4,2)

    x1 + 2x2 =8

    x2 =3

    x1 = 4

  • Algoritmo do Mtodo SimplexAlgoritmo do Mtodo SimplexAlgoritmo do Mtodo SimplexAlgoritmo do Mtodo Simplex

    Incio

    Determine uma soluo bsica vivel

    Determine outra soluo bsicavivel melhor que a anterior

    No

    FimSimA soluo tima?

    Teste de otimalidade

  • Tabela tima:Tabela tima:Tabela tima:Tabela tima:

    Tabela da soluo tima:Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 0 0 -1 -4 0 -24L2 x2 0 1 1/2 -1/2 0 2L3 x1 1 0 0 1 0 4L4 x5 0 0 -1/2 1/2 1 1

    B-1

    Variveis de folga

    Max f = 5x1 + 2x2s.a. x1 + 2x2 + x3 = 8

    x1 + x4 = 4x2 + x5 = 3

    x1, x2, x3, x4, x5 0

    =

    100100100100121

    A

    ==

    101010012

    ][ 512 a a aB

    a1 a2 a3 a4 a5

  • Tabela tima:Tabela tima:Tabela tima:Tabela tima:Forma cannica da tabela simplex:

    xB xN

    -f 0 cj cBB-1aj cBB-1bxB I B-1N B-1b

    Max f = 5x1 + 2x2 + 0x3 + 0x4 + 0x5x1 + 2x2 + x3 = 8x1 + x4 = 4

    x2 + x5 = 3x1, x2, x3, x4, x5 0

    ;142

    348

    12/12/101002/12/1

    bBx 1B

    =

    ==

    =

    4

    3

    x

    xNx

    ;052

    5

    1

    2

    cB

    =

    =

    c

    c

    c

    ;

    5

    1

    2

    xB

    =

    x

    x

    x

    24 =

    =

    142

    052

    f

    Custos reduzidos

  • Tabela tima:Tabela tima:Tabela tima:Tabela tima:Forma cannica da tabela simplex:

    xB xN

    -f 0 cj cBB-1aj cBB-1bxB I B-1N B-1b

    Max f = 5x1 + 2x2 + 0x3 + 0x4 + 0x5x1 + 2x2 + x3 = 8x1 + x4 = 4

    x2 + x5 = 3x1, x2, x3, x4, x5 0

    ;1001

    12/12/101002/12/1

    052

    03 =

    =

    aBc 31

    Bc aBc 41

    B 44 =

    c

    Na linha de f, coeficientes das varives nao-bsicas x3 e x4:

    =

    4

    3

    x

    xNx;

    5

    1

    2

    xB

    =

    x

    x

    x

  • Tabela tima:Tabela tima:Tabela tima:Tabela tima:Forma cannica da tabela simplex:

    xB xN

    -f 0 cj cBB-1aj cBB-1bxB I B-1N B-1b

    BxB + NxN = b B-1BxB + B-1NxN = B-1b IxB + B-1NxN = B-1b.

    xB = B-1b B-1 NxNN = [aj] jR e xN = (xj)jR Rj jj

    xa xB = B-1b B-1

    f = cx f = cBxB + cNxN

    Provando que f est em termos das Variveis No Bsicas (VNBs), ou seja:; R conjunto de ndices das VNBs.

    Condio para que a soluo bsica seja vivel: B-1b 0.

  • Tabela tima:Tabela tima:Tabela tima:Tabela tima:

    Substituindo (1) e (2) em f = cBxB + cNxN :

    Rj

    jj xaxB = B-1b B-1 ......(1) cNxN = ......(2)Rj

    jj xc

    A condio para que a tabela seja tima: cj cBB-1aj 0, jR

  • Tabela tima:Tabela tima:Tabela tima:Tabela tima:Tabela da soluo tima:

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 0 0 -1 -4 0 -24L2 x2 0 1 1/2 -1/2 0 2L3 x1 1 0 0 1 0 4L4 x5 0 0 -1/2 1/2 1 1

    Variveis de folga

    (1): Preos Duais dos recursos

    Preo Dual de um Recurso: o preo de uma unidade de recurso (ex. custo de 1 m de tecido).No modelo, bi a quantidade do recurso i. Se o recurso i aumentado ou diminudo em 1 unidade, o valor do lucro (funo objetivo) aumentar ou diminuir no seu preo dual.A quantidade do recurso pode ser variada numa certa faixa (intervalo).

  • Tabela tima:Tabela tima:Tabela tima:Tabela tima:Tabela da soluo tima:

    Variveis Bsicas x1 x2 x3 x4 x5

    Valores de f e xB

    L1 -f 0 0 -1 -4 0 -24L2 x2 0 1 1/2 -1/2 0 2L3 x1 1 0 0 1 0 4L4 x5 0 0 -1/2 1/2 1 1

    Custos reduzidos dos

    Custo reduzido: a reduo da funo objetivo quando uma varivel no-bsicaentrar na base (passar ser bsica). Caso um produto no seja produzido, por cada unidade produzida deste produto, a funo objetivo diminuir no custo reduzido do produto. Se o produto est sendo produzido, seu custo reduzido zero.

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale DualPrimalMax f(x) = cTxs.a Ax = b

    x 0

    DualMin g(y)= bT ys.a ATy c

    y irrestrito

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale DualPrimalMax f(x) = 2x1 + 3x2 + x3s.a.

    3x1 + 4x2 + 2x3 = 102x1 + 6x2 + x3 = 20x1 x2 x3 = 30x1 0, x2 0, x3 0

    DualMin g(y) = 10y1 + 20y2 + 30y3s.a. 3y1 + 2y2 + y3 2

    4y1 + 6y2 y3 32y1 + y2 y3 1

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale DualPrimalMax f = 5x1 + 2x2s. a: x1 3

    x2 4 x1 + 2x2 9 x1 0, x2 0

    DualMin g = 3y1 + 4y2 + 9y3S.a. y1 + y3 5

    y2 + 2y3 2y1 0y2 0y3 0

    Max f = 5x1 + 2x2 + 0x3+ 0x4+ 0x5S.a. x1 + x3 = 3

    x2 + x4 = 4x1 + 2x2 + x5 = 9x1 0, x2 0, x3 0, x4 0, x5 0.

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale DualPropriedade

    1) Se x e y so solues viveis do problema primale dual respectivamente, entof(x) g(y).

    1) Se x* o y* e so solues viveis do problemaprimal e dual respectivamente,

    tal que f(x*) = g(y*), ento ambas so soluestimas dos correspondentes problemas.

    * *

    F.O.DualF.O. Primal

    j j i ij i

    c x b y= 123123

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale DualPropriedade

    Suponha que x e y sejam solues timas dos modelos primal e do dual, respectivamente.g(y) = by = yTb

    f(x) = cx = cBxB + cNxN , xN = 0, f(x) = cBxBf(x) = cBB-1b

    Se g(y) = f(x) ento, yTb = cBB-1b

    yT = cBB-1 Preos Duais

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale DualTabela simplex do primal:

    xB xN-f 0 cj cBB-1aj cBB-1bxB I B-1N B-1b

    Custos reduzidos:zj = cj cBB-1aj, j ndice das variveis no-bsicaszj = cj yajonde y o vetor de Preos Duais

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale DualPrimal:Max f = 5x1 + 2x2s.a. x1 3

    x2 4x1 + 2x2 9x1, x2 0.

    Max f = 5x1 + 2x2s.a. x1 + 0x2 + x3 +0x4 + 0x5 = 3

    0x1 + x2 + 0x3 + x4 +0x5 = 4x1 + 2x2 + 0x3 +0x4 + x5 = 9xi 0, i =1,5.

    Dual:Min g = 3y1 + 4y2 + 9y3s.a. y1 + y3 5

    y2 + 2y3 2y1, y2, y3 0

    Min g = 3y1 + 4y2 + 9y3s.a.

    y1 + y3 y4 = 5y2 + 2y3 y5 = 2

    y1, y2 , y3, y4, y5 0

    Preos Duais: Vetor das variveis originais do Dual (y1 , y2 , y3)

  • Problema Problema Problema Problema PrimalPrimalPrimalPrimal e Duale Duale Duale Dual

    xB x1 x2 x3 x4 x5-f 0 0 -4 0 -1 -21x1 1 0 1 0 0 3x4 0 0 1/2 1 -1/2 1x2 0 1 -1/2 0 1/2 3

    y4 y5 y1 y2 y3

    Tabela tima do primal

    Solues do Primal e do Dual:xB = (x1, x4, x2) = (3, 1,3). xN = (x3, x5)yB = (y1, y3) = (4, 1). yN = (y4, y2, y5)g = f = 21