OPTlinear Opt

119
Otimização Aplicada a Engenharia Profa. Dra. Maíra Martins da Silva Programação Linear I: o Método Simplex Setembro, 2010

Transcript of OPTlinear Opt

  • Otimizao Aplicada a Engenharia

    Profa. Dra. Mara Martins da SilvaProgramao Linear I: o Mtodo Simplex

    Setembro, 2010

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    1 IntroduoIntroduo programao linear

    2 Definies e TeoremasDefinies e Teoremas

    3 Sistema linearSoluo de um sistema linear

    4 MotivaoMotivao Mtodo Simplex

    5 Algoritmo SimplexAlgoritmo Simplex

    6 Mtodo SimplexMtodo Simplex

    7 MatlabResolvendo LP no Matlab

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Introduo

    Programao Linear (LP) um mtodo de otimizao aplicvelpara a soluo de problemas cuja a funo objetivo e as

    restries aparecem como funes lineares nas variveis dedeciso.

    Esse mtodo foi desenvolvido em 1930 por economistaspara a alocao de recursos durante a guerra.

    Vrios mtodos foram desenvolvidos para resolver LP, maso mtodo SIMPLEX o mais popular e eficiente mtodo.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Introduo

    Programao Linear (LP) um mtodo de otimizao aplicvelpara a soluo de problemas cuja a funo objetivo e as

    restries aparecem como funes lineares nas variveis dedeciso.

    Esse mtodo foi desenvolvido em 1930 por economistaspara a alocao de recursos durante a guerra.Vrios mtodos foram desenvolvidos para resolver LP, maso mtodo SIMPLEX o mais popular e eficiente mtodo.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Introduo

    Entre as aplicaes de LP podemos destacar:

    Na indstria de alimentos, LP usado para determinar oplano timo de distribuio de produtos para diferentesetapas do processo.

    Roteamento timo de mensagens numa rede decomunicao.Organizao da rota de avies e barcos.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Introduo

    Entre as aplicaes de LP podemos destacar:

    Na indstria de alimentos, LP usado para determinar oplano timo de distribuio de produtos para diferentesetapas do processo.Roteamento timo de mensagens numa rede decomunicao.

    Organizao da rota de avies e barcos.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Introduo

    Entre as aplicaes de LP podemos destacar:

    Na indstria de alimentos, LP usado para determinar oplano timo de distribuio de produtos para diferentesetapas do processo.Roteamento timo de mensagens numa rede decomunicao.Organizao da rota de avies e barcos.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Formulao do programa linear

    Minimizar f (x1, x2, . . . , xn) = c1x1 + c2x2 + . . .+ cnxn

    sujeito as restries

    a11x1 + a12x2 + . . .+ a1nxn = b1a21x1 + a22x2 + . . .+ a2nxn = b2

    ...am1x1 + am2x2 + . . .+ amnxn = bm

    x1 0x2 0

    ...xn 0

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Formulao do programa linear

    Forma matricial.

    min f (X ) = cTX

    s.a.aX = bX 0

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Formulao do programa linear

    A forma padro de expressar um LP:

    1 A funo objetivo do tipo minimizao2 Todas as restries so do tipo equaes3 Todas as variveis so no-negativas

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Formulao do programa linear

    Transformao para expressar na forma padro.

    1 max f equivalente a min f2 Uma varivel que pode ter qualquer sinal pode ser descrita

    pela diferena de duas variveis no-negativasxj = x j x j , onde x j 0 e x j 0

    3 Uma desiqualdade (inequao) pode ser escrita comouma igualdade atravs da varivel de folga xn+1,a1x1 + a2x2 + . . .+ anxn + xn+1 = b

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Exemplo

    Uma firma produz dois componentes usando tornos,fresadoras e retificadoras. Os tempos de produo para cadacomponentes, a disponibilidade das mquinas-ferramentas eos lucros obtidos com cada componentes esto ilustrados na

    tabela.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Exemplo

    Determine qual ser a produo de cada componente (x e y)para maximizar os lucros de uma semana.

    Resp. As restries so:10x + 5y 25004x + 10y 2000x + 1.5y 450

    x 0y 0

    O lucro f (x , y) = 50x + 100y .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Exemplo

    Regio possvel (feasible region)

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Exemplo

    Linhas de contorno: 50x + 100y = k

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Formulao do programa linear

    Um programa linear pode ter:

    1 uma soluo nica (ou finita)2 um nmero infinitos de solues3 uma soluo sem restries4 no ter soluo5 ter um nico ponto possvel (devido s restries)

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Introduo programao linear

    Formulao do programa linear

    Um programa linear tem as seguintes caractersticasgeomtricas:

    1 A regio possvel (espao das variveis) um polgonoconvexo

    2 O valor timo ocorre em um ponto extremo ou um vrticedo polgono

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Definies

    Ponto no espao n Um ponto X caracterizado pelascomponentes (coordenadas) (x1, x2, . . . , xn)

    Segmento de linha no espao n (L) A linha ligando dois pontosA (X (1)) e B (X (2)) a coleo de pontos X (), osquais as coordenadas so xj = x

    (1)j + (1 )x (2)j ,

    j = 1,2, . . . ,n, com 0 1.

    L = {XX = X (1) + (1 )X (2) }

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Definies

    Hiperplano Um espao n-dimensional, cujo o conjunto depontos satisfaz aTX = b denominadohiperplano.H(a,b) = {X aTX = b}H+ = {X aTX b}H = {X aTX b}

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Definies

    Conjunto convexo Um conjunto convexo uma coleo depontos cuja a linha conectando quaisquer pontosda coleo X (1) e X (2) tambm pertence acoleo. Se X (1) S e X (2) S entoX = X (1) + (1 )X (2), 0 1, tambmpertence.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Definies

    Polihedro convexo e politopo convexo Um polihedro convexo(c,d) um conjunto de pontos comum para um oumais semi-espaos. Um polihedro convexo que restringindo chamado de politopo convexo (a,b).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Definies

    Vrtice ou ponto extremo Esse o ponto que no est entreoutros dois pontos (em uma linha) do conjuntoconvexo. Exemplo: todo ponto de umacircunferncia.

    Soluo possvel qualquer soluo que satisfaz asrestries.

    Soluo bsica a soluo que n-m variveis (n variveis e mrestries) so igualadas a zero. Ela pode serencontrada zerando n-m variveis e resolvendo asrestries aTX = b.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Definies

    Base A coleo de variveis que no foram zeradas naobteno da soluo bsica.

    Soluo bsica possvel a soluo bsica que satisfaz ascondies de no-negatividade.

    Soluo tima a soluo possvel que minimiza a funoobjetivo.

    Soluo tima bsica a soluo bsica para qual a funoobjetivo tima.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Teoremas

    Teorema 1 A interseco de qualquer nmero de conjuntosconvexos tambm convexo.

    Teorema 2 A regio possvel de um programa linear convexo.

    Teorema 3 Qualquer soluo mnima local GLOBAL em umprograma linear (convexo).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Definies e Teoremas

    Teoremas

    Teorema 4 Toda soluo possvel bsica um ponto extremodo conjunto convexo de solues possveis.

    Teorema 5 Sendo S um polihedro fechado, restrito com X ei ,i=1 at p, ser o conjunto de pontos extremos.Ento qualquer vetor X S pode ser descritocomo X =

    pi=1 iX

    ei , i 0 e

    pi=1 i = 1.

    Teorema 6 Sendo S um polihedro convexo fechado, ento omnimo de uma funo linear dentro de S umponto extremo de S.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Supondo que a soluo seja nica, o mtodo resolver essasequaes consiste em reescrev-las na forma cannica

    (atravs de operaes elementares da lgebra).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Esse sistema no ser alterado se1 multiplicarmos uma equao por k2 substituirmos a Eq. Er por Er + kEs.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Operao pivoteamento: Vamos selecionar uma varivel xi etentar elimin-la de todas as equaes menos uma (aij 6= 0).

    Isso pode ser realizado:1 dividindo a equao j por aji2 subtraindo aki vezes o resultado da operao anterior da

    equao k

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Exemplo:2x y = 0x + 3y = 7

    1 Multiplicando a segunda equao por 1/3, temos:x/3 + y = 7/3

    2 aki = 1 x/3 + y = 7/3 igual a x/3 y = 7/33 subtrai da primeira equao: 7x/3 = 7/3

    O exemplo fica:7x/3 + 0y = 7/3x/3 + y = 7/3

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Exemplo:2x y = 0x + 3y = 7

    1 Multiplicando a segunda equao por 1/3, temos:x/3 + y = 7/3

    2 aki = 1 x/3 + y = 7/3 igual a x/3 y = 7/33 subtrai da primeira equao: 7x/3 = 7/3

    O exemplo fica:7x/3 + 0y = 7/3x/3 + y = 7/3

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Exemplo:2x y = 0x + 3y = 7

    1 Multiplicando a segunda equao por 1/3, temos:x/3 + y = 7/3

    2 aki = 1 x/3 + y = 7/3 igual a x/3 y = 7/33 subtrai da primeira equao: 7x/3 = 7/3

    O exemplo fica:7x/3 + 0y = 7/3x/3 + y = 7/3

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Operao pivoteamento:

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    O pivoteamento pode ser repetido at que os sistema possaser descrito da seguinte forma cannica:

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Considerando um sistema com n variveis e m equaes(n )m:

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    As operaes de pivoteamento resultam em:

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    Uma soluo especial dada por:

    Essa soluo chamada de soluo bsica. As variveispivotadas (pivotal variables) so chamadas de variveis

    bsicas e as outras de no-bsicas.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear

    claro que essa no a nica soluo bsica do sistema.podemos encontrar outras solues fazendo outrasoperaes de pivoteamento.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear/Exemplo

    Encontrar as solues bsicas para o seguinte sistemas deequao:

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear/Exemplo

    Soluo bsica 1:

    Soluo bsica 2:

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Soluo de um sistema linear

    Reviso: soluo de um sistema linear/Exemplo

    Soluo bsica 3:

    Soluo bsica 4:

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Motivao Mtodo Simplex

    Motivao para mtodo Simplex

    Ns sabemos como encontrar vrias solues bsicas atravsdo pivoteamento. Ento uma maneira de encontrar a soluotima de um programa linear gerar todas as solues bsicase escolher a que satisfaz as restries e que corresponde aovalor timo.

    Isso pode ser feito porque a soluo tima sempre ocorre emum ponto extremo ou em um vrtice do espao possvel.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Motivao Mtodo Simplex

    Motivao para mtodo Simplex

    O mtodo Simplex de Dantzig um esquema poderoso paraencontrarmos a soluo bsica possvel, e se essa soluono for a tima, o mtodo tenta encontrar uma soluo bsicapossvel vizinha que tem um valor menor ou igual de f .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Motivao Mtodo Simplex

    Motivao para mtodo Simplex

    O primeiro passo do algoritmo Simplex construir umproblema auxiliar introduzindo variveis artificiais no problemalinear, com o objetivo de transformar o problema na formacannica.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Motivao Mtodo Simplex

    Motivao para mtodo Simplex

    Comeando da forma cannica, o segundo passo a soluotima do problema original que realizada em duas fases:

    1 A fase 1 consiste em encontrar uma soluo bsicapossvel do problema original. realizada atravs de umasequncia de pivoteamentos do problema auxiliar.

    2 A fase 2 consiste em encontrar a soluo tima doproblema linear original. realizada atravs de operaesde pivoteamento passando de uma soluo bsica paraoutra.

    A sequncia de formas cannicas necessrias nas duas fases realizada pelo algoritmo simplex (a principal subrotina domtodo simplex).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Motivao Mtodo Simplex

    Motivao para mtodo Simplex

    Comeando da forma cannica, o segundo passo a soluotima do problema original que realizada em duas fases:

    1 A fase 1 consiste em encontrar uma soluo bsicapossvel do problema original. realizada atravs de umasequncia de pivoteamentos do problema auxiliar.

    2 A fase 2 consiste em encontrar a soluo tima doproblema linear original. realizada atravs de operaesde pivoteamento passando de uma soluo bsica paraoutra.

    A sequncia de formas cannicas necessrias nas duas fases realizada pelo algoritmo simplex (a principal subrotina domtodo simplex).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Motivao Mtodo Simplex

    Motivao para mtodo Simplex

    Comeando da forma cannica, o segundo passo a soluotima do problema original que realizada em duas fases:

    1 A fase 1 consiste em encontrar uma soluo bsicapossvel do problema original. realizada atravs de umasequncia de pivoteamentos do problema auxiliar.

    2 A fase 2 consiste em encontrar a soluo tima doproblema linear original. realizada atravs de operaesde pivoteamento passando de uma soluo bsica paraoutra.

    A sequncia de formas cannicas necessrias nas duas fases realizada pelo algoritmo simplex (a principal subrotina domtodo simplex).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Motivao Mtodo Simplex

    Motivao para mtodo Simplex

    Comeando da forma cannica, o segundo passo a soluotima do problema original que realizada em duas fases:

    1 A fase 1 consiste em encontrar uma soluo bsicapossvel do problema original. realizada atravs de umasequncia de pivoteamentos do problema auxiliar.

    2 A fase 2 consiste em encontrar a soluo tima doproblema linear original. realizada atravs de operaesde pivoteamento passando de uma soluo bsica paraoutra.

    A sequncia de formas cannicas necessrias nas duas fases realizada pelo algoritmo simplex (a principal subrotina domtodo simplex).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Algoritmo Simplex

    O ponto de partida sempre o conjunto de equaes, queincluem a funo obejtivo e as igualdades. O objetivo

    encontrar X 0 que minimiza f (X ) e satisfaa:

    onde aij , bi , c

    j e f

    0 so constantes.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Algoritmo Simplex

    O ponto de partida sempre o conjunto de equaes, queincluem a funo obejtivo e as igualdades. O objetivo

    encontrar X 0 que minimiza f (X ) e satisfaa:

    onde aij , bi , c

    j e f

    0 so constantes.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Algoritmo Simplex

    O ponto de partida sempre o conjunto de equaes, queincluem a funo obejtivo e as igualdades. O objetivo

    encontrar X 0 que minimiza f (X ) e satisfaa:

    onde aij , bi , c

    j e f

    0 so constantes.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Algoritmo Simplex

    f tratada como uma varivel bsica! A soluo bsica ento:

    xi = bi , i = 1,2, . . . ,mf = f 0

    xi = 0, i = m + 1,m + 2, . . . ,n

    Se a soluo bsica tambm possvel,bi 0 para i = 1,2, . . . ,m.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Algoritmo Simplex

    f tratada como uma varivel bsica! A soluo bsica ento:

    xi = bi , i = 1,2, . . . ,mf = f 0

    xi = 0, i = m + 1,m + 2, . . . ,n

    Se a soluo bsica tambm possvel,bi 0 para i = 1,2, . . . ,m.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Algoritmo Simplex

    f tratada como uma varivel bsica! A soluo bsica ento:

    xi = bi , i = 1,2, . . . ,mf = f 0

    xi = 0, i = m + 1,m + 2, . . . ,n

    Se a soluo bsica tambm possvel,bi 0 para i = 1,2, . . . ,m.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Identificando um ponto timo

    Teorema 7 Uma soluo bsica possvel a soluo timacom a funo objetivo mnima de f 0 se todos oscoeficientes cj de i = m + 1,m + 2, . . . ,n foremno negativos.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Identificando um ponto timo

    Resumindo:

    Para a soluo bsica possvel,bi 0 para i = 1,2, . . . ,m.

    Para uma soluo bsica possvel ser a soluo timacom a funo objetivo mnima de f 0 , todos os coeficientescj de i = m + 1,m + 2, . . . ,n devem ser no negativos.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Identificando um ponto timo

    Resumindo:

    Para a soluo bsica possvel,bi 0 para i = 1,2, . . . ,m.

    Para uma soluo bsica possvel ser a soluo timacom a funo objetivo mnima de f 0 , todos os coeficientescj de i = m + 1,m + 2, . . . ,n devem ser no negativos.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Identificando um ponto timo

    Resumindo:

    Para a soluo bsica possvel,bi 0 para i = 1,2, . . . ,m.

    Para uma soluo bsica possvel ser a soluo timacom a funo objetivo mnima de f 0 , todos os coeficientescj de i = m + 1,m + 2, . . . ,n devem ser no negativos.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Melhorando uma soluo bsica no-tima:Da ltima coluna do sistema de equaes temos:

    f = f 0 +m

    i=1 ci xi +

    nj=m+1 c

    j xj

    Se pelo menos um cj negativo, o valor de f pode serreduzido fazendo o correspondente xj > 0. Em outras palavras,a varivel no bsica xj tem que ser transformada em bsica

    para reduzir o valor de f .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Melhorando uma soluo bsica no-tima:Da ltima coluna do sistema de equaes temos:

    f = f 0 +m

    i=1 ci xi +

    nj=m+1 c

    j xj

    Se pelo menos um cj negativo, o valor de f pode serreduzido fazendo o correspondente xj > 0. Em outras palavras,a varivel no bsica xj tem que ser transformada em bsica

    para reduzir o valor de f .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Melhorando uma soluo bsica no-tima:Da ltima coluna do sistema de equaes temos:

    f = f 0 +m

    i=1 ci xi +

    nj=m+1 c

    j xj

    Se pelo menos um cj negativo, o valor de f pode serreduzido fazendo o correspondente xj > 0.

    Em outras palavras,a varivel no bsica xj tem que ser transformada em bsica

    para reduzir o valor de f .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Melhorando uma soluo bsica no-tima:Da ltima coluna do sistema de equaes temos:

    f = f 0 +m

    i=1 ci xi +

    nj=m+1 c

    j xj

    Se pelo menos um cj negativo, o valor de f pode serreduzido fazendo o correspondente xj > 0. Em outras palavras,a varivel no bsica xj tem que ser transformada em bsica

    para reduzir o valor de f .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Se houver mais de um cj < 0, devemos escolher o

    cs = min cj < 0

    Dessa maneira escolhemos que xs deve ser tornar umavarivel bsica.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Se houver mais de um cj < 0, devemos escolher o

    cs = min cj < 0

    Dessa maneira escolhemos que xs deve ser tornar umavarivel bsica.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Se houver mais de um cj < 0, devemos escolher o

    cs = min cj < 0

    Dessa maneira escolhemos que xs deve ser tornar umavarivel bsica.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Se houver mais de um cj < 0, devemos escolher o

    cs = min cj < 0

    Dessa maneira escolhemos que xs deve ser tornar umavarivel bsica.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Transformando xs em uma varivel bsica:

    Aumentando-a a partir do zero e segurando as outrasno-bsicas em zero.Dessa maneira, as solues bsicas se modificam:x1 = b1 a1sxs, b1 0x2 = b2 a2sxs, b2 0...xm = bm amsxs, bm 0f = f 0 + c

    s xs, cs < 0

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Transformando xs em uma varivel bsica:

    Aumentando-a a partir do zero e segurando as outrasno-bsicas em zero.

    Dessa maneira, as solues bsicas se modificam:x1 = b1 a1sxs, b1 0x2 = b2 a2sxs, b2 0...xm = bm amsxs, bm 0f = f 0 + c

    s xs, cs < 0

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Transformando xs em uma varivel bsica:

    Aumentando-a a partir do zero e segurando as outrasno-bsicas em zero.Dessa maneira, as solues bsicas se modificam:x1 = b1 a1sxs, b1 0x2 = b2 a2sxs, b2 0...xm = bm amsxs, bm 0f = f 0 + c

    s xs, cs < 0

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Durante o processo, algumas das variveis xi (parai = 1,2, . . . ,m) podem se tornar negativas.

    Se todos ais 0, xs pode ser feito infinitamente grande semque nenhum xi < 0 (obedecendo as restries em qualquersituao). Assim, o valor minmo de f menos infinito e a

    otimizao tem uma soluo sem frontreiras.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Durante o processo, algumas das variveis xi (parai = 1,2, . . . ,m) podem se tornar negativas.

    Se todos ais 0, xs pode ser feito infinitamente grande semque nenhum xi < 0 (obedecendo as restries em qualquersituao). Assim, o valor minmo de f menos infinito e a

    otimizao tem uma soluo sem frontreiras.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Durante o processo, se houver pelo menos um ais positivo, omximo valor de xs pode ter sem se tornar negativo bis/a

    is.

    Se houver vrios ais > 0, o valor mximo de xs

    xs =brars

    = minais>0biais

    Se qualquer bi = 0 (quando ais > 0), xs no pode ser

    aumentado de nenhuma maneira. Nesse ponto temos umasoluo degenerada.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Durante o processo, se houver pelo menos um ais positivo, omximo valor de xs pode ter sem se tornar negativo bis/a

    is.

    Se houver vrios ais > 0, o valor mximo de xs

    xs =brars

    = minais>0biais

    Se qualquer bi = 0 (quando ais > 0), xs no pode ser

    aumentado de nenhuma maneira. Nesse ponto temos umasoluo degenerada.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Durante o processo, se houver pelo menos um ais positivo, omximo valor de xs pode ter sem se tornar negativo bis/a

    is.

    Se houver vrios ais > 0, o valor mximo de xs

    xs =brars

    = minais>0biais

    Se qualquer bi = 0 (quando ais > 0), xs no pode ser

    aumentado de nenhuma maneira. Nesse ponto temos umasoluo degenerada.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Durante o processo, se houver pelo menos um ais positivo, omximo valor de xs pode ter sem se tornar negativo bis/a

    is.

    Se houver vrios ais > 0, o valor mximo de xs

    xs =brars

    = minais>0biais

    Se qualquer bi = 0 (quando ais > 0), xs no pode ser

    aumentado de nenhuma maneira. Nesse ponto temos umasoluo degenerada.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Quando no temos uma soluo degenerada, a nova soluobsica possvel pode ser contruda utilizando o maior valor de

    xs:

    xs = xsxi = bi aisxs , i = 1, . . . ,m e i 6= rxr = 0xj = 0, j = m + 1, . . . ,n e j 6= sf = f 0 + c

    s xs f 0

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Essa nova soluo bsica possvel pode ser testada paraotimalidade (ci > 0).Se a soluo no tima, o processo recomeacomo o nmero de solues bsicas possveis limitado,o termina em um nmero limitado de iteraes.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Essa nova soluo bsica possvel pode ser testada paraotimalidade (ci > 0).

    Se a soluo no tima, o processo recomeacomo o nmero de solues bsicas possveis limitado,o termina em um nmero limitado de iteraes.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Essa nova soluo bsica possvel pode ser testada paraotimalidade (ci > 0).Se a soluo no tima, o processo recomea

    como o nmero de solues bsicas possveis limitado,o termina em um nmero limitado de iteraes.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Essa nova soluo bsica possvel pode ser testada paraotimalidade (ci > 0).Se a soluo no tima, o processo recomeacomo o nmero de solues bsicas possveis limitado,o termina em um nmero limitado de iteraes.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Exemplo.

    min f = x1 2x2 x3s.a.

    2x1 + x2 x3 22x1 x2 + 5x3 64x1 + x2 + x3 6xi 0, i = 1,2,3

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Introduzindo as variveis de folga x4 0, x5 0 e x6 0, osistema de equaes para ser transformada em forma

    cannica fica como:

    2x1 + x2 x3 + x4 = 22x1 x2 + 5x3 + x5 = 64x1 + x2 + x3 + x6 = 6x1 2x2 x3 f = 0

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Tratando x4, x5, x6 e f como variveis bsicas temos aseguinte soluo possvel (bi > 0):

    x4 = 2, x5 = 6, x6 = 6x1 = x2 = x3 = 0

    f = 0

    Como c1 = 1, c2 = 2, c1 = 1 (< 0), essa soluo no tima.

    Escolher cs = min(ci < 0) = c2 = 2. Ento x2 entrar para o

    conjunto bsico.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Tratando x4, x5, x6 e f como variveis bsicas temos aseguinte soluo possvel (bi > 0):

    x4 = 2, x5 = 6, x6 = 6x1 = x2 = x3 = 0

    f = 0

    Como c1 = 1, c2 = 2, c1 = 1 (< 0), essa soluo no tima.

    Escolher cs = min(ci < 0) = c2 = 2. Ento x2 entrar para o

    conjunto bsico.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Tratando x4, x5, x6 e f como variveis bsicas temos aseguinte soluo possvel (bi > 0):

    x4 = 2, x5 = 6, x6 = 6x1 = x2 = x3 = 0

    f = 0

    Como c1 = 1, c2 = 2, c1 = 1 (< 0), essa soluo no tima.

    Escolher cs = min(ci < 0) = c2 = 2. Ento x2 entrar para o

    conjunto bsico.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Para obter a nova forma cannica, temos que pivotar noelemento ars, tal que:

    brars

    = minais>0biais

    No caso s = 2, temosb1a12

    = 2/1, b3

    a32= 6/1

    Ento vamos pivotar em a12

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Para obter a nova forma cannica, temos que pivotar noelemento ars, tal que:

    brars

    = minais>0biais

    No caso s = 2, temosb1a12

    = 2/1, b3

    a32= 6/1

    Ento vamos pivotar em a12

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    O novo sistemas de equao fica:

    2x1 + 1x2 x3 + x4 = 24x1 + 0x2 + 4x3 + x4 + x5 = 82x1 + 0x2 + 2x3 x4 + x6 = 43x1 + 0x2 3x3 + 2x4 f = 4

    A soluo bsica possvel x2 = 2, x5 = 8, x6 = 4x1 = x3 = x4 = 0

    f = 4Como c3 = 3, essa soluo no tima. Escolher

    cs = min(ci < 0) = c3 . Ento x3 entrar para o conjunto

    bsico.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    O novo sistemas de equao fica:

    2x1 + 1x2 x3 + x4 = 24x1 + 0x2 + 4x3 + x4 + x5 = 82x1 + 0x2 + 2x3 x4 + x6 = 43x1 + 0x2 3x3 + 2x4 f = 4

    A soluo bsica possvel x2 = 2, x5 = 8, x6 = 4x1 = x3 = x4 = 0

    f = 4

    Como c3 = 3, essa soluo no tima. Escolhercs = min(ci < 0) = c

    3 . Ento x3 entrar para o conjunto

    bsico.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    O novo sistemas de equao fica:

    2x1 + 1x2 x3 + x4 = 24x1 + 0x2 + 4x3 + x4 + x5 = 82x1 + 0x2 + 2x3 x4 + x6 = 43x1 + 0x2 3x3 + 2x4 f = 4

    A soluo bsica possvel x2 = 2, x5 = 8, x6 = 4x1 = x3 = x4 = 0

    f = 4Como c3 = 3, essa soluo no tima. Escolher

    cs = min(ci < 0) = c3 . Ento x3 entrar para o conjunto

    bsico.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Para obter a nova forma cannica, temos que pivotar noelemento ars, tal que:

    brars

    = minais>0biais

    No caso s = 3, temosb2a23

    = 8/4, b3

    a33= 4/2

    Ento vamos pivotar em a23 (escolha arbitrria).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Para obter a nova forma cannica, temos que pivotar noelemento ars, tal que:

    brars

    = minais>0biais

    No caso s = 3, temosb2a23

    = 8/4, b3

    a33= 4/2

    Ento vamos pivotar em a23 (escolha arbitrria).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    O novo sistemas de equao fica:

    3x1 + 1x2 + 0x3 + (5/4)x4 + (1/4)x5 = 41x1 + 0x2 + 1x3 + (1/4)x4 + (1/4)x5 = 2

    0x1 + 0x2 + 0x3 (3/2)x4 (1/5)x5 + x6 = 06x1 + 0x2 + 0x3 + (11/4)x4 + (3/4)x5 f = 10

    A soluo bsica possvel x2 = 4, x3 = 2, x6 = 0x1 = x4 = x5 = 0

    f = 10Como ci 0, essa soluo tima.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    O novo sistemas de equao fica:

    3x1 + 1x2 + 0x3 + (5/4)x4 + (1/4)x5 = 41x1 + 0x2 + 1x3 + (1/4)x4 + (1/4)x5 = 2

    0x1 + 0x2 + 0x3 (3/2)x4 (1/5)x5 + x6 = 06x1 + 0x2 + 0x3 + (11/4)x4 + (3/4)x5 f = 10

    A soluo bsica possvel x2 = 4, x3 = 2, x6 = 0x1 = x4 = x5 = 0

    f = 10

    Como ci 0, essa soluo tima.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    O novo sistemas de equao fica:

    3x1 + 1x2 + 0x3 + (5/4)x4 + (1/4)x5 = 41x1 + 0x2 + 1x3 + (1/4)x4 + (1/4)x5 = 2

    0x1 + 0x2 + 0x3 (3/2)x4 (1/5)x5 + x6 = 06x1 + 0x2 + 0x3 + (11/4)x4 + (3/4)x5 f = 10

    A soluo bsica possvel x2 = 4, x3 = 2, x6 = 0x1 = x4 = x5 = 0

    f = 10Como ci 0, essa soluo tima.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Algoritmo Simplex

    Melhorando uma soluo bsica no-tima

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    O mtodo simplex envolve duas fases:

    Fase I usa o algoritmo simplex para saber se o problematem uma soluo possvel. Se a soluo possvelexiste, o mtodo resulta na soluo bsicapossvel na forma cannica que ser utilizada nafase II.

    Fase II usa o algoritmo simplex para encontrar se oproblema tem uma soluo restrita (bounded). Seela existir, ele encontra a soluo bsica possvlque timo.

    Podemos descrever o mtodo nos prximos passos ...

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    O mtodo simplex envolve duas fases:

    Fase I usa o algoritmo simplex para saber se o problematem uma soluo possvel. Se a soluo possvelexiste, o mtodo resulta na soluo bsicapossvel na forma cannica que ser utilizada nafase II.

    Fase II usa o algoritmo simplex para encontrar se oproblema tem uma soluo restrita (bounded). Seela existir, ele encontra a soluo bsica possvlque timo.

    Podemos descrever o mtodo nos prximos passos ...

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    O mtodo simplex envolve duas fases:

    Fase I usa o algoritmo simplex para saber se o problematem uma soluo possvel. Se a soluo possvelexiste, o mtodo resulta na soluo bsicapossvel na forma cannica que ser utilizada nafase II.

    Fase II usa o algoritmo simplex para encontrar se oproblema tem uma soluo restrita (bounded). Seela existir, ele encontra a soluo bsica possvlque timo.

    Podemos descrever o mtodo nos prximos passos ...

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    O mtodo simplex envolve duas fases:

    Fase I usa o algoritmo simplex para saber se o problematem uma soluo possvel. Se a soluo possvelexiste, o mtodo resulta na soluo bsicapossvel na forma cannica que ser utilizada nafase II.

    Fase II usa o algoritmo simplex para encontrar se oproblema tem uma soluo restrita (bounded). Seela existir, ele encontra a soluo bsica possvlque timo.

    Podemos descrever o mtodo nos prximos passos ...

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    1. Rearranjar o sistema original para que todos ostermos bi sejam positivos ou zero (trocando osinal de ambos os lados da igualdade quandonecessrio).

    2. Introduzir as variveis artificiais (yi 0)

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    3. Defina a quantidade w que a soma das variveisartificiais (w = y1 + y2 + . . .+ ym) e use oalgoritmo Simplex para encontrar xi 0(i = 1 . . . n) e yi 0 (i = 1 . . .m) que minimiza w

    Essa equao no cannica e deve serreescrita (subtraindo a soma das m primeirasequaes da ltima) .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    3. (Fase I) Essas equaes fornecem a soluo inicial bsicapossvel que necessria para comear a fase I

    onde

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    4. Analizando o resultado da fase I, podemos inferirsobre a existncia de uma soluo:

    min w > 0 o problema original no tem soluoe o procedimento pode ser finalizado

    min w =0 a matrix resultante cannica e afase II pode ser iniciada eliminando aequao w e as variveis artificiais yida matrix.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Introduzindo o Mtodo Simplex

    5. (Fase II) Utilizar o algoritmo Simplex para ajustar o sistemaconnico e obter uma soluo.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    min f = 2x1 + 3x2 + 2x3 x4 + x5s.a.

    3x1 3x2 + 4x3 + 2x4 x5 = 0x1 + x2 + x3 + 3x4 + x5 = 2

    xi 0, i = 1,2,3,4,5

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    SoluoPasso 1 bi so positivos, ento as equaes esto ok.Passo 2 Introduzir as variveis artificiais y1 e y2Passo 3 Definir w = y1 + y2

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    SoluoPasso 3 Reescrever na forma cannica subtraindo a soma

    das duas primeira equaes da ltima:

    Essas equaes forneceram a soluo inicialbsica possvel. Utilizando o algoritmo Simplex(fase I).

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    SoluoPasso 3 Utilizando o algoritmo Simplex.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    SoluoPasso 3 Utilizando o algoritmo Simplex.

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    SoluoPasso 4 A soluo bsica possvel no contm y1 e y2 e

    w = 0. Isso significa que podemos seguir para afase II.

    Passo 5 Na fase II, os clculos continuam sem aconsiderao de w .

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    SoluoPasso 5 Fase II ...

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Mtodo Simplex

    Mtodo Simplex: exemplo

    SoluoPasso 5 Fase II ...

    x1 = x2 = x3 = 0 (variveis no-bsicas)x4 = 2/5 e x5 = 4/5 (variveis bsicas)

    fmin = 2/5

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Resolvendo LP no Matlab

    Resolvendo LP no Matlab

    min f = x1 2x2 x3s.a.

    2x1 + x2 x3 22x1 x2 + 5x3 64x1 + x2 + x3 6xi 0, i = 1,2,3

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Resolvendo LP no Matlab

    Resolvendo LP no Matlab

    Otimizao Aplicada a Engenharia

  • Outline Introduo Definies e Teoremas Sistema linear Motivao Algoritmo Simplex Mtodo Simplex Matlab

    Resolvendo LP no Matlab

    Resolvendo LP no Matlab

    Otimizao Aplicada a Engenharia

    OutlineIntroduoIntroduo programao linear

    Definies e TeoremasDefinies e Teoremas

    Sistema linearSoluo de um sistema linear

    MotivaoMotivao Mtodo Simplex

    Algoritmo SimplexAlgoritmo Simplex

    Mtodo SimplexMtodo Simplex

    MatlabResolvendo LP no Matlab