apostila de pesquisa operacional i - 57pg

57
 APOSTILA DO CURSO PESQUISA OPERACIONAL Prof. Erico Fagundes Anicet Lisboa, M. Sc. [email protected] Versão digital disponível na internet http://www.ericolisboa.eng.br RIO DE JANEIRO, RJ - BRASIL FEVEREIRO DE 2002

Upload: garcax

Post on 15-Oct-2015

16 views

Category:

Documents


0 download

TRANSCRIPT

  • APOSTILA DO CURSO

    PESQUISA OPERACIONAL

    Prof. Erico Fagundes Anicet Lisboa, M. Sc. [email protected]

    Verso digital disponvel na internet http://www.ericolisboa.eng.br

    RIO DE JANEIRO, RJ - BRASIL FEVEREIRO DE 2002

  • ii

    NDICE

    1. INTRODUO PESQUISA OPERACIONAL _________________________ 1 1.1 O Desenvolvimento da Pesquisa Operacional _________________________________________ 1

    1.2 Modelagem ___________________________________________________________________ 1

    1.3 Estrutura de Modelos Matemticos_________________________________________________ 2

    1.4 Tcnicas Matemticas em Pesquisa Operacional_______________________________________ 2

    1.5 Fases do Estudo de Pesquisa Operacional____________________________________________ 3

    1.5.1 Definio do problema ___________________________________________________________________3

    1.5.2 Construo do modelo ___________________________________________________________________3

    1.5.3 Soluo do modelo _____________________________________________________________________3

    1.5.4 Validao do modelo ____________________________________________________________________3

    1.5.5 Implementao da soluo________________________________________________________________4

    2. LGEBRA LINEAR ______________________________________________ 5 2.1 Vetores ______________________________________________________________________ 5

    2.1.1 Soma e subtrao de vetores ______________________________________________________________5

    2.1.2 Vetores LD e LI________________________________________________________________________5

    2.2 Matrizes _____________________________________________________________________ 6

    2.2.1 Soma e subtrao de matrizes _____________________________________________________________6

    2.2.2 Produto de matrizes _____________________________________________________________________7

    2.2.3 Matrizes especiais ______________________________________________________________________8

    2.2.4 A inversa de uma matriz _________________________________________________________________8

    2.3 Sistemas de Equaes Lineares____________________________________________________ 9

    2.3.1 Mtodo algbrico por adio _____________________________________________________________ 10

    2.3.2 Mtodo algbrico por substituio _________________________________________________________ 10

    2.3.3 Mtodo de Gauss-Jordan ________________________________________________________________ 11

    3. PROGRAMAO LINEAR________________________________________ 12 3.1 Definio____________________________________________________________________ 12

    3.2 Formulao de Modelos ________________________________________________________ 12

    3.3 Exemplo ____________________________________________________________________ 13

    3.4 Soluo Grfica_______________________________________________________________ 13

  • iii

    4. O MTODO SIMPLEX ___________________________________________ 15 4.1 Exemplo de um Problema_______________________________________________________ 15

    4.2 Desenvolvimento do Mtodo Simplex ______________________________________________ 18

    4.3 Procedimento do Mtodo Simplex (Problemas de Maximizao) _________________________ 21

    4.4 Outro Exemplo _______________________________________________________________ 21

    4.5 Aspectos Matemticos Singulares _________________________________________________ 23

    4.5.1 Minimizao de uma funo _____________________________________________________________ 23

    4.5.2 Restries de limite inferior () ___________________________________________________________ 23

    4.5.3 Restries de igualdade _________________________________________________________________ 23

    4.5.4 Varivel irrestrita em sinal_______________________________________________________________ 23

    4.5 Mtodo Simplex em Duas Fases __________________________________________________ 24

    5. A FERRAMENTA SOLVER (EXCEL) _______________________________ 27 5.1 Definindo e Resolvendo um Problema______________________________________________ 27

    5.2 Instalando o Solver____________________________________________________________ 30

    6. O PROBLEMA DE TRANSPORTE__________________________________ 31 6.1 Um Exemplo de Problema de Transporte ___________________________________________ 31

    6.2 Problema Clssico de Transporte _________________________________________________ 32

    6.3 Mtodo de Stepping-Stone ______________________________________________________ 33

    6.3.1 Soluo inicial________________________________________________________________________ 33

    6.3.2 Processo iterativo______________________________________________________________________ 33

    6.4 Dificuldades do Problema de Transporte ___________________________________________ 35

    6.4.1 No balanceamento entre oferta e demanda __________________________________________________ 35

    6.4.2 Solues mltiplas _____________________________________________________________________ 35

    7. ANLISE DE REDES____________________________________________ 36 7.1 Conceitos Bsicos em Teoria dos Grafos____________________________________________ 36

    7.2 Problema de Fluxo Mximo _____________________________________________________ 37

    7.3 Problema de Caminho Mnimo ___________________________________________________ 39

    8. TEORIA DOS JOGOS____________________________________________ 44 8.1 Introduo __________________________________________________________________ 44

    8.2 Jogos de Dois Jogadores e Soma Zero______________________________________________ 45

    8.3 Estratgias Mistas _____________________________________________________________ 46

    9. RISCO E INCERTEZA ___________________________________________ 48 9.1 Conceito de Risco _____________________________________________________________ 48

  • iv

    9.2 Critrios para Deciso sob Condies de Incerteza____________________________________ 48

    9.2.1 Critrio Maximin (ou Minimax) ___________________________________________________________ 49

    9.2.2 Critrio Maximax (ou Minimin)___________________________________________________________ 50

    9.2.3 Critrio de Hurwicz____________________________________________________________________ 50

    9.2.4 Critrio de Savage _____________________________________________________________________ 51

    9.2.5 Comparao Final _____________________________________________________________________ 52

    BIBLIOGRAFIA__________________________________________________ 53

  • 1 - Introduo pesquisa operacional Pesquisa Operacional

    Prof. Erico Lisboa 1 http://www.ericolisboa.eng.br

    CAPTULO 1

    INTRODUO PESQUISA OPERACIONAL 1

    1.1 O Desenvolvimento da Pesquisa Operacional Durante a Segunda Guerra Mundial, um grupo de cientistas foi convocado na Inglaterra para estudar problemas de estratgia e de ttica associados com a defesa do pas. O objetivo era decidir sobre a utilizao mais eficaz de recursos militares limitados. A convocao deste grupo marcou a primeira atividade formal de pesquisa operacional.

    Os resultados positivos conseguidos pela equipe de pesquisa operacional inglesa motivaram os Estados Unidos a iniciarem atividades semelhantes. Apesar de ser creditada Inglaterra a origem da Pesquisa Operacional, sua propagao deve-se principalmente equipe de cientistas liderada por George B. Dantzig, dos Estados Unidos, convocada durante a Segunda Guerra Mundial. Ao resultado deste esforo de pesquisa, concludo em 1947, deu-se o nome de Mtodo Simplex.

    Com o fim da guerra, a utilizao de tcnicas de pesquisa operacional atraiu o interesse de diversas outras reas. A natureza dos problemas encontrados bastante abrangente e complexa, exigindo portanto uma abordagem que permita reconhecer os mltiplos aspectos envolvidos. Uma caracterstica importante da pesquisa operacional e que facilita o processo de anlise e de deciso a utilizao de modelos. Eles permitem a experimentao da soluo proposta. Isto significa que uma deciso pode ser mais bem avaliada e testada antes de ser efetivamente implementada. A economia obtida e a experincia adquirida pela experimentao justificam a utilizao da Pesquisa Operacional.

    Com o aumento da velocidade de processamento e quantidade de memria dos computadores atuais, houve um grande progresso na Pesquisa Operacional. Este progresso devido tambm larga utilizao de microcomputadores, que se tornaram unidades isoladas dentro de empresas. Isso faz com que os modelos desenvolvido pelos profissionais de Pesquisa Operacional sejam mais rpidos e versteis, alm de serem tambm interativos, possibilitando a participao do usurio ao longo do processo de clculo.

    1.2 Modelagem Um modelo uma representao de um sistema real, que pode j existir ou ser um projeto aguardando execuo. No primeiro caso, o modelo pretende reproduzir o funcionamento do sistema, de modo a aumentar sua produtividade. No segundo caso, o modelo utilizado para definir a estrutura ideal do sistema.

    A confiabilidade da soluo obtida atravs do modelo depende da validao do modelo na representao do sistema real. A validao do modelo a confirmao de que ele realmente representa o sistema real. A diferena entre a soluo real e a soluo proposta pelo modelo depende diretamente da preciso do modelo em descrever o comportamento original do sistema.

    Um problema simples pode ser representado por modelos tambm simples e de fcil soluo. J problemas mais complexos requerem modelos mais elaborados, cuja soluo pode vir a ser bastante complicada.

  • 1 - Introduo pesquisa operacional Pesquisa Operacional

    Prof. Erico Lisboa 2 http://www.ericolisboa.eng.br

    1.3 Estrutura de Modelos Matemticos Em um modelo matemtico, so includos trs conjuntos principais de elementos:

    (1) variveis de deciso e parmetros: variveis de deciso so as incgnitas a serem determinadas pela soluo do modelo. Parmetros so valores fixos no problema;

    (2) restries: de modo a levar em conta as limitaes fsicas do sistema, o modelo deve incluir restries que limitam as variveis de deciso a seus valores possveis (ou viveis);

    (3) funo objetivo: uma funo matemtica que define a qualidade da soluo em funo das variveis de deciso.

    Para melhor ilustrar ao conjuntos acima, considere o seguinte exemplo:

    "Uma empresa de comida canina produz dois tipos de raes: Tobi e Rex. Para a manufatura das raes so utilizados cereais e carne. Sabe-se que:

    a rao Tobi utiliza 5 kg de cereais e 1 kg de carne, e a rao Rex utiliza 4 kg de carne e 2 kg de cereais;

    o pacote de rao Tobi custa $ 20 e o pacote de rao Rex custa $ 30;

    o kg de carne custa $ 4 e o kg de cereais custa $ 1;

    esto disponveis por ms 10 000 kg de carne e 30 000 kg de cereais.

    Deseja-se saber qual a quantidade de cada rao a produzir de modo a maximizar o lucro."

    Neste problema as variveis de deciso so as quantidades de rao de cada tipo a serem produzidas. Os parmetros fornecidos so os preos unitrios de compra e venda, alm das quantidades de carne e cereais utilizadas em cada tipo de rao. As restries so os limites de carne e cereais e a funo objetivo uma funo matemtica que determine o lucro em funo das variveis de deciso e que deve ser maximizada.

    1.4 Tcnicas Matemticas em Pesquisa Operacional A formulao do modelo depende diretamente do sistema a ser representado. A funo objetivo e as funes de restries podem ser lineares ou no- lineares. As variveis de deciso podem ser contnuas ou discretas (por exemplo, inteiras) e os parmetros podem ser determinsticos ou probabilsticos.

    O resultado dessa diversidade de representaes de sistemas o desenvolvimento de diversas tcnicas de otimizao, de modo a resolver cada tipo de modelo existente. Estas tcnicas incluem, principalmente: programao linear, programao inteira, programao dinmica, programao estocstica e programao no- linear. Programao linear utilizada para analisar modelos onde as restries e a funo objetivo so lineares; programao inteira se aplica a modelos que possuem variveis inteiras (ou discretas); programao dinmica utilizada em modelos onde o problema completo pode ser decomposto em subproblemas menores; programao estocstica aplicada a uma classe especial de modelos onde os parmetros so descritos por funes de probabilidade; finalmente, programao no-linear utilizada em modelos contendo funes no- lineares.

    Uma caracterstica presente em quase todas as tcnicas de programao matemtica que a soluo tima do problema no pode ser obtida em um nico passo, devendo ser obtida iterativamente. escolhida uma soluo inicial (que geralmente no a soluo tima). Um algoritmo especificado para determinar, a partir desta, uma nova soluo, que geralmente superior anterior. Este passo repetido at que a soluo tima seja alcanada (supondo que ela existe).

  • 1 - Introduo pesquisa operacional Pesquisa Operacional

    Prof. Erico Lisboa 3 http://www.ericolisboa.eng.br

    1.5 Fases do Estudo de Pesquisa Operacional Um estudo de pesquisa operacional geralmente envolve as seguintes fases:

    (1) definio do problema;

    (2) construo do modelo;

    (3) soluo do modelo;

    (4) validao do modelo;

    (5) implementao da soluo.

    Apesar da seqncia acima no ser rgida, ela indica as principais etapas a serem vencidas. A seguir, apresentado um resumo da cada uma das fases.

    1.5.1 Definio do problema A definio do problema baseia-se em trs aspectos principais:

    descrio exata dos objetivos do estudo;

    identificao das alternativas de deciso existentes;

    reconhecimento das limitaes, restries e exigncias do sistema.

    A descrio dos objetivos uma das atividades mais importantes em todo o processo do estudo, pois a partir dela que o modelo concebido. Da mesma forma, essencial que as alternativas de deciso e as limitaes existentes sejam todas explicitadas, para que as solues obtidas ao final do processo sejam vlidas e aceitveis.

    1.5.2 Construo do modelo A escolha apropriada do modelo fundamental para a qualidade da soluo fornecida. Se o modelo elaborado tem a forma de um modelo conhecido, a soluo pode ser obtida atravs de mtodos matemticos convencionais. Por outro lado, se as relaes matemticas so muito complexas, talvez se faa necessria a utilizao de combinaes de metodologias.

    1.5.3 Soluo do modelo O objetivo desta fase encontrar uma soluo para o modelo proposto. Ao contrrio das outras fases, que no possuem regras fixas, a soluo do modelo baseada geralmente em tcnicas matemticas existentes.

    No caso de um modelo matemtico, a soluo obtida pelo algoritmo mais adequado, em termos de rapidez de processamento e preciso da resposta. Isto exige um conhecimento profundo das principais tcnicas existentes. A soluo obtido, neste caso, dita "tima".

    1.5.4 Validao do modelo Nessa altura do processo de soluo do problema, necessrio verificar a validade do modelo. Um modelo vlido se, levando-se em conta sua inexatido em representar o sistema, ele for capaz de fornecer uma previso aceitvel do comportamento do sistema.

    Um mtodo comum para testar a validade do sistema analisar seu desempenho com dados passados do sistema e verificar se ele consegue reproduzir o comportamento que o sistema apresentou.

  • 1 - Introduo pesquisa operacional Pesquisa Operacional

    Prof. Erico Lisboa 4 http://www.ericolisboa.eng.br

    importante observar que este processo de validao no se aplica a sistemas inexistentes, ou seja, em projeto. Nesse caso, a validao feita pela verificao da correspondncia entre os resultados obtidos e algum comportamento esperado do novo sistema.

    1.5.5 Implementao da soluo Avaliadas as vantagens e a validao da soluo obtida, esta deve ser convertida em regras operacionais. A implementao, por ser uma atividade que altera uma situao existente, uma das etapas crticas do estudo. conveniente que seja controlada pela equipe responsvel, pois, eventualmente, os valores da nova soluo, quando levados prtica, podem demonstrar a necessidade de correes nas relaes funcionais do modelo conjunto dos possveis cursos de ao, exigindo a reformulao do modelo em algumas de suas partes.

  • 2 - lgebra linear Pesquisa Operacional

    Prof. Erico Lisboa 5 http://www.ericolisboa.eng.br

    CAPTULO 2

    LGEBRA LINEAR2

    Ao longo do curso de pesquisa operacional, conceitos matemticos como matrizes e vetores solargamente utilizados. Este captulo tem como objetivo apresentar uma reviso desses fundamentosmatemticos, de modo que o curso possa ser compreendido.

    2.1 VetoresUm vetor um conjunto de nmeros, que pode ser escrito como

    p = (p1, p2, ... , pn).

    O vetor p um vetor de dimenso n, ou seja, possui n elementos. Vetores so geralmenterepresentadas por letras minsculas em negrito, e seus elementos so geralmente representados porletras minsculas com um subscrito. A letra usada para os elementos normalmente a mesma letrautilizada para o vetor. O subscrito representa o ndice do elemento no vetor. Por exemplo, p2 osegundo elemento do vetor. A notao pi indica o i-simo elemento do vetor.

    2.1.1 Soma e subtrao de vetoresDois vetores podem ser adicionados se e somente se eles tiverem a mesma dimenso. Para somar doisvetores, basta somar individualmente cada elemento deles. O vetor resultante ser da mesma dimensodo vetores originais. Simbolicamente, temos que, se r = p + q, ento ri = pi + qi, para todo i.

    Dados os vetores

    p = (4, 5, 1, 7) q = (1, -2, 3, -4) r = (1, 5, 4)temos que:

    p + q = (5, 3, 4, 3);

    no possvel computar p + r, nem q + r, visto que p e q so de 4 dimenso e r de 3.

    Um vetor pode ser multiplicado por um escalar, multiplicando-se cada elemento do vetor por esteescalar. Por exemplo,

    2 (1, 3, -2) = (2, 6, -4)

    Subtrao entre dois vetores equivalente a somar o primeiro com o produto do segundo pelo escalar-1. Ento s - t = s + (-t). Por exemplo.

    (1, 4, 3) - (0, 2, -1) = (1, 4, 3) + (0, -2, 1) = (1, 2, 4)

    2.1.2 Vetores LD e LIUm conjunto de vetores p1, p2, ... , pn, dito linearmente independente (LI) se e somente se, para todoq j real,

    =

    =n

    jjj

    1

    0pq

  • 2 - lgebra linear Pesquisa Operacional

    Prof. Erico Lisboa 6 http://www.ericolisboa.eng.br

    implica que todo q j = 0, onde q j so quantidades escalares. Se

    =

    =n

    jjj

    1

    0pq

    para algum q j 0, os vetores so ditos linearmente dependentes (LD). Por exemplo, os vetores

    p1 = (1, 2) p2 = (2, 4)so linearmente dependentes, j que existe q 1 = 2 e q 2 = -1 para os quais

    q 1 p1 + q 2 p2 = 0.

    2.2 MatrizesUma matriz um conjunto retangular de nmeros, que pode ser escrito como

    =

    mnmnm

    n

    n

    aaa

    aaa

    aaa

    1

    22221

    11211

    ....

    ....

    ....

    ...

    ...

    A .

    A matriz A uma matriz de ordem m x n, ou seja, possui m linha e n colunas. Matrizes so geralmenterepresentadas por letras maisculas em negrito, e seus elementos so geralmente representados porletras minsculas com dois subscritos. A letra usada para os elementos normalmente a mesma letrautilizada para a matriz. Os subscritos representam respectivamente a linha e a coluna ocupadas peloelemento na matriz. Por exemplo, a23 o elemento localizado na segunda linha e na terceira coluna damatriz. A notao aij indica o elemento localizado na i-sima linha e na j-sima coluna da matriz.

    Duas matrizes A e B so iguais se aij = bij para qualquer i e j. Para isso, necessrio que as matrizes Ae B sejam de mesma ordem, ou seja, tenham o mesmo nmero de linhas e o mesmo nmero decolunas.

    2.2.1 Soma e subtrao de matrizesDuas matrizes podem ser adicionadas se e somente se elas forem da mesma ordem. Para somar duasmatrizes, basta somar individualmente cada elemento delas. A matriz resultante ser da mesma ordemdas matrizes originais. Simbolicamente, temos que, se C = A + B, ento cij = aij + bij, para todo i e j.

    Dadas as matrizes

    -=

    4231

    1025

    7154

    A

    -

    --=

    5104

    0212

    4321

    B

    -=

    4231

    1025

    7154

    C

    -=

    312

    072

    451

    D

  • 2 - lgebra linear Pesquisa Operacional

    Prof. Erico Lisboa 7 http://www.ericolisboa.eng.br

    temos que:

    as matrizes A e C so iguais;

    -=+

    1333

    1237

    3435

    BA ;

    no possvel computar A + D, nem B + D, visto que A e B so 3 x 4 e D 3 x 3.

    Uma matriz pode ser multiplicada por um escalar, multiplicando-se cada elemento da matriz por esteescalar. Por exemplo,

    -

    =

    - 04

    62

    02

    312 .

    Subtrao entre duas matrizes equivalente a somar a primeira com o produto da segunda pelo escalar-1. Ento E - F = E + (-F). Por exemplo.

    -

    =

    -

    -+

    -

    =

    -

    -

    - 13

    21

    11

    20

    02

    41

    11

    20

    02

    41.

    2.2.2 Produto de matrizesO produto de duas matrizes somente pode ser efetuado se o nmero de colunas da matriz esquerdafor igual ao nmero de linhas da matriz direita. O produto de matrizes , em geral, no comutativo,ou seja, dadas duas matrizes A e B e seu produto, AB, o produto BA pode no existir e, se existe, podeno ser igual a AB. O produto de duas matrizes tem o nmero de linhas da matriz esquerda e onmero de colunas da matriz direita. Ou seja, sendo C = AB, se A m x n e B n x p, C m x p.

    Os elementos da matriz resultante so calculados atravs do somatrio dos produtos de elementos dasduas matrizes. Especificamente, cij calculado por ai1 b1j + ai2 b2j + ... + ain bnj, onde n o nmero decolunas de A e de linhas de B.

    Exemplos:

    1.

    -=

    312

    121A

    -=

    321

    112

    011

    B

    --=

    1077

    134AB (BA no existe)

    2.

    -=

    312

    121A

    -

    -=

    31

    11

    21

    B

    --=

    64

    32AB

    -

    --=

    857

    411

    703

    BA

  • 2 - lgebra linear Pesquisa Operacional

    Prof. Erico Lisboa 8 http://www.ericolisboa.eng.br

    Note que no primeiro exemplo existe apenas o produto AB, no sendo possvel efetuar o produto BA.No segundo exemplo, apesar de ser possvel efetuar os dois produtos, as matrizes resultantes no soiguais, no sendo sequer do mesmo tipo.

    2.2.3 Matrizes especiais

    Matriz quadrada

    Uma matriz quadrada tem o mesmo nmero de linhas e de colunas. A ordem de uma matriz quadrada o seu nmero de linhas (ou de colunas).

    Exemplos: matrizes 2 x 2 (2 ordem), 3 x 3 (3 ordem), n x n (n-sima ordem).

    Matriz nula

    Uma matriz nula possui zeros em todos os seus elementos.

    Exemplos:

    000

    000,

    00

    00

    00

    00

    A matriz nula equivalente ao zero para adio em lgebra escalar, ou seja, se B uma matriz nula demesmo tipo de A, ento A + B = B + A = A.

    Matriz identidade

    Uma matriz identidade, denotada por I, uma matriz quadrada onde sua diagonal principal compostade 1's e todos os outros elementos so zero.

    Exemplos:

    100

    010

    001

    ,

    1000

    0100

    0010

    0001

    A matriz identidade equivalente ao um para produto em lgebra escalar, ou seja, AI = A.

    Matriz transposta

    A transposta de uma matriz a matriz obtida pela troca das linhas pelas colunas da matriz original, demodo que a coluna j da matriz original passe a ser a linha j da matriz transposta e a linha i da matrizoriginal passe a ser a coluna i da matriz transposta. A transposta de uma matriz A indicada pelanotao AT ou A'.

    Exemplos:

    -=

    312

    121A ,

    -=

    31

    12

    21TA

    A transposta de uma matriz m x n ser sempre uma matriz n x m.

  • 2 - lgebra linear Pesquisa Operacional

    Prof. Erico Lisboa 9 http://www.ericolisboa.eng.br

    Matriz simtrica

    Uma matriz dita simtrica se ela for igual sua transposta. Ou seja, uma matriz A, simtrica, necessariamente quadrada e aij = aji.

    Exemplos:

    -

    -==

    21

    11TAA ,

    -==

    301

    075

    154TBB

    Matriz anti-simtrica

    Uma matriz dita anti-simtrica se ela for simtrica sua transposta, isto , A = - AT. Ou seja, umamatriz A, simtrica, necessariamente quadrada e aij = - aji. Os elementos da diagonal principal deuma matriz anti-simtrica so necessariamente nulos.

    Exemplos:

    -

    =-=01

    10TAA ,

    -

    -=-=

    001

    005

    150TBB

    2.2.4 A inversa de uma matrizA operao de diviso no definida em lgebra matricial. Entretanto, para certas matrizes quadradasexiste outra (nica) matriz quadrada de mesma ordem que o produto das duas matrizes a matrizidentidade. Esta matriz chamada de matriz inversa da primeira matriz. A inversa de uma matriz designada pelo expoente -1.

    Exemplo:

    =

    21

    32A ,

    -

    -=-

    21

    321A , A A-1 = A-1 A = I

    2.3 Sistemas de Equaes LinearesTanto as linhas quanto as colunas de uma matriz podem ser tratadas por vetores. Um vetor pode serconsiderado uma matriz de uma nica linha, ou uma nica coluna. Quando um vetor consideradouma matriz com uma nica linha, chamado vetor linha. Quando uma matriz de uma nica coluna, chamado de vetor coluna. Um vetor coluna ser representado da mesma forma que um vetorconvencional, ou seja, uma letra minscula em negrito (p, q, r). Quando for o caso de um vetor linha,ele ser representado como um vetor transposto (pT, qT, rT).

    Suponha o seguinte sistema de equaes lineares:

    2 x1 - x2 = 7

    - x1 + 4 x2 = 0

    Este sistema pode ser representado na forma matricial por

    =

    -

    -0

    7

    41

    12

    2

    1

    x

    x

    ou

    Ax = b

  • 2 - lgebra linear Pesquisa Operacional

    Prof. Erico Lisboa 10 http://www.ericolisboa.eng.br

    onde A =

    -

    -41

    12, b =

    0

    7 e x =

    2

    1

    x

    x.

    O vetor coluna x o vetor soluo do sistema de equaes e pode ser calculado por

    x = A-1 b.

    Para a soluo de um sistema de equaes lineares, so propostos alguns mtodos.

    2.3.1 Mtodo algbrico por adioPelo menos uma das equaes deve ser multiplicada por um escalar real, de modo que, aps a somadas equaes, apenas uma das variveis seja efetivamente a incgnita do problema. Por exemplo,

    4 x1 + 8 x2 = 160

    6 x1 + 4 x2 = 120

    Multiplicando a segunda equao por (-2), temos

    4 x1 + 8 x2 = 160

    -12 x1 - 8 x2 = -240

    Somando as duas equaes, chega-se a:

    -8 x1 = -80

    Da, calcula-se facilmente o valor de x1 e, substituindo este valor em qualquer uma das equaesacima, calcula-se o valor de x2.

    x1 = 10

    x2 = 15

    2.3.2 Mtodo algbrico por substituioIsola-se uma das variveis em uma das equaes, substituindo-se a relao obtida na outra equao.Por exemplo,

    4 x1 + 8 x2 = 160

    6 x1 + 4 x2 = 120

    Manipulando a primeira equao, temos que

    22

    1 24048160

    xx

    x -=-

    =

    Substituindo x1 na segunda equao,

    6 (40 - 2 x2) + 4 x2 = 120

    Resolvendo a equao algebricamente, e aplicando o valor de x2 encontrado na primeira equao

    240 - 12 x2 + 4 x2 = 120

    -8 x2 = -120

    x2 = 15

    x1 = 10

  • 2 - lgebra linear Pesquisa Operacional

    Prof. Erico Lisboa 11 http://www.ericolisboa.eng.br

    2.3.3 Mtodo de Gauss-JordanConsiste da derivao de um sistema especfico de equaes lineares que tenha a mesma soluo que osistema original. Este novo sistema dever ter o formato de uma matriz identidade, o que pode serobtido atravs de combinaes lineares das equaes originais. Assim, pretende-se que

    4 x1 + 8 x2 = 160

    6 x1 + 4 x2 = 120

    1 x1 + 0 x2 = a

    0 x1 + 1 x2 = b

    So permitidas as seguintes transformaes lineares:

    Troca de linhasMultiplicao da linha por um escalarSoma de uma linha multiplicada por um escalar a uma outra linha

    Notao:

    L n L m troca das linhas n e m;L n k L n multiplicao da linha n pelo escalar k;L n L n+ k L m soma da linha m multiplicada pelo escalar k linha n.

    Para resolver o exemplo acima, so seguidos os seguintes passos:

    1. L1 L1 / 4 (diviso da linha 1 por 4) - transformao do coeficiente de x1 na equao 1 para 1.

    x1 + 2 x2 = 40

    6 x1 + 4 x2 = 120

    2. L2 L2 - 6 L1 (subtrao da linha 2 pela linha 1 multiplicada por 6) - transformao do coeficientede x1 na equao 2 para 0.

    x1 + 2 x2 = 40

    0 x1 - 8 x2 = -120

    3. L2 - L2 / 8 (diviso da linha 2 por (-8)) - transformao do coeficiente de x2 na equao 2 para 1.

    x1 + 2 x2 = 40

    0 x1 + 1 x2 = 15

    4. L1 L1 - 2 L2 (subtrao da linha 1 pela linha 2 multiplicada por 2) - transformao do coeficientede x2 na equao 1 para 0.

    x1 + 0 x2 = 10

    0 x1 + 1 x2 = 15

    Soluo

    x1 = 10

    x2 = 15

  • 3 - Programao linear Pesquisa Operacional

    Prof. Erico Lisboa 12 http://www.ericolisboa.eng.br

    CAPTULO 3

    PROGRAMAO LINEAR3

    3.1 DefinioO problema geral de programao linear utilizado para otimizar (maximizar ou minimizar) umafuno linear de variveis, chamada de "funo objetivo", sujeita a uma srie de equaes ouinequaes lineares, chamadas restries. A formulao do problema a ser resolvido por programaolinear segue alguns passos bsicos.

    deve ser definido o objetivo bsico do problema, ou seja, a otimizao a ser alcanada. Porexemplo, maximizao de lucros, ou de desempenhos, ou de bem-estar social; minimizaode custos, de perdas, de tempo. Tal objetivo ser representado por uma funo objetivo, a sermaximizada ou minimizada;

    para que esta funo objetivo seja matematicamente especificada, devem ser definidas asvariveis de deciso envolvidas. Por exemplo, nmero de mquinas, a rea a ser explorada,as classes de investimento disposio etc. Normalmente, assume-se que todas estasvariveis possam assumir somente valores positivos;

    estas variveis normalmente esto sujeitas a uma srie de restries, normalmenterepresentadas por inequaes. Por exemplo, quantidade de equipamento disponvel, tamanhoda rea a ser explorada, capacidade de um reservatrio, exigncias nutricionais paradeterminada dieta etc.

    Todas essas expresses, entretanto, devem estar de acordo com a hiptese principal da programaolinear, ou seja, todas as relaes entre as variveis deve ser lineares. Isto implica proporcionalidade dasquantidades envolvidas. Esta caracterstica de linearidade pode ser interessante no tocante simplificao da estrutura matemtica envolvida, mas prejudicial na representao de fenmenos nolineares (por exemplo, funes de custo tipicamente quadrticas).

    3.2 Formulao de ModelosO problema geral de programao linear pode ser definido por

    Maximizar (ou minimizar)

    nnxcxcxcZ +++= ...2211

    sujeito a

    11212111 ... bxaxaxa nn +++ (ou , ou =)

    22222121 ... bxaxaxa nn +++ (ou , ou =)

    ...

    mnmnmm bxaxaxa +++ ...2211 (ou , ou =)

    0,...,, 21 nxxx

  • 3 - Programao linear Pesquisa Operacional

    Prof. Erico Lisboa 13 http://www.ericolisboa.eng.br

    3.3 ExemploVamos rescrever aqui o exemplo da seo 1.3.

    "Uma empresa de comida canina produz dois tipos de raes: Tobi e Rex. Para a manufatura dasraes so utilizados cereais e carne. Sabe-se que:

    a rao Tobi utiliza 5 kg de cereais e 1 kg de carne, e a rao Rex utiliza 4 kg de carne e 2 kg decereais;

    o pacote de rao Tobi custa $ 20 e o pacote de rao Rex custa $ 30;

    o kg de carne custa $ 4 e o kg de cereais custa $ 1;

    esto disponveis por ms 10 000 kg de carne e 30 000 kg de cereais.

    Deseja-se saber qual a quantidade de cada rao a produzir de modo a maximizar o lucro."

    Nosso modelo deseja maximizar o lucro (Z) a partir da quantidade de rao Tobi (x1) e de rao Rex(x2). A Tabela 3.1 apresenta o clculo do lucro unitrio de cada rao.

    Tabela 3.1 - Clculo do lucro unitrio de cada rao

    Rao Tobi Rao RexCusto de carne 1 kg x $ 4 = $ 4 4 kg x $ 4 = $ 16Custo de cereais 5 kg x $ 1 = $ 5 2 kg x $ 1 = $ 2Custo total $ 9 $ 18

    Preo $ 20 $ 30

    Lucro $ 11 $ 12

    A funo objetivo pode ser escrita como

    maximizar Z = 11 x1 + 12 x2

    sujeito a: 1 x1 + 4 x2 10000 (restrio de carne)

    5 x1 + 2 x2 30000 (restrio de cereais)

    x1, x2 0 (positividade das variveis)

    3.4 Soluo GrficaEste problema com apenas duas variveis pode ser resolvido graficamente. Traa-se um grfico comos seus eixos sendo as duas variveis x1 e x2. A partir da, traam-se as retas referentes s restries doproblema e delimita-se a regio vivel (Figura 3.1).

    Encontrada a regio vivel, deve-se traar uma reta com a inclinao da funo objetivo. So entotraadas diversas paralelas a ela no sentido de Z crescente (maximizao da funo), como na Figura3.2. O ponto timo o ponto onde a reta de maior valor possvel corta a regio vivel (normalmentenum vrtice).

  • 3 - Programao linear Pesquisa Operacional

    Prof. Erico Lisboa 14 http://www.ericolisboa.eng.br

    x1

    x2

    5 x1 + 2 x2 30000

    1 x1 + 4 x2 10000

    Figura 3.1 - Regio vivel para o problema das raes.

    x1

    x2Z = 11 x1 + 12 x2

    Z = 11 x1 + 12 x2 = 74444,4 (soluo tima)

    Figura 3.2 - Busca da soluo tima para o problema das raes.

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 15 http://www.ericolisboa.eng.br

    CAPTULO 4

    O MTODO SIMPLEX4

    O Mtodo Simplex caminha pelos vrtices da regio vivel at encontrar uma soluo que no possuasolues vizinhas melhores que ela. Esta a soluo tima. A soluo tima pode no existir em doiscasos: quando no h nenhuma soluo vivel para o problema, devido a restries incompatveis; ouquando no h mximo (ou mnimo), isto , uma ou mais variveis podem tender a infinito e asrestries continuarem sendo satisfeitas, o que fornece um valor sem limites para a funo objetivo.

    4.1 Exemplo de um ProblemaO modelo de programao linear pode ser resolvido por um mtodo de soluo de sistema de equaeslineares. O processo que ser apresentado no exemplo a seguir, retirado de ANDRADE (2000), bastante intuitivo e tem por finalidade apresentar a metodologia utilizada pelo mtodo Simplex.

    a) Formulao do problema

    "Uma marcenaria deseja estabelecer uma programao diria de produo. Atualmente, a oficinafaz apenas dois produtos: mesa e armrio, ambos de um s modelo. Para efeito de simplificao,vamos considerar que a marcenaria tem limitaes em somente dois recursos: madeira emo-de-obra, cujas disponibilidades dirias so mostradas na tabela a seguir.

    Recurso DisponibilidadeMadeira 12m2

    Mo-de-obra 8 H.h

    O processo de produo tal que, para fazer uma mesa a fbrica gasta 2 m2 de madeira e 2 H.hde mo-de-obra. Para fazer um armrio, a fbrica gasta 3 m2 de madeira e 1 H.h de mo de obra.

    Alm disso, o fabricante sabe que cada mesa d uma margem de contribuio para o lucro de $ 4e cada armrio de $ 1. O problema encontrar o programa de produo que maximiza a margemde contribuio total para o lucro."

    b) Montagem do modelo

    As variveis de deciso envolvidas no problema so:

    x1: quantidade a produzir de mesas

    x2: quantidade a produzir de armrios

    A funo objetivo :

    Lucro: z = 4 x1 + x2

    Para as restries, a relao lgica existente :

    Utilizao de recurso Disponibilidade

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 16 http://www.ericolisboa.eng.br

    Assim temos

    Madeira: 2 x1 + 3 x2 12

    Mo-de-obra: 2 x1 + x2 8

    x1, x2 0

    O modelo completo :

    Maximizar: z = 4 x1 + x2Sujeito a 2 x1 + 3 x2 12

    2 x1 + x2 8x1, x2 0

    c) Soluo do modelo

    J conhecemos o mtodo de soluo grfica para problemas de programao linear de duasvariveis. Ser agora apresentada a soluo por sistemas de equaes lineares.

    De forma a transformar as restries do problema de programao linear de inequaes emequaes, so introduzidas as variveis de folga. Neste problema, as restries tm a seguinteestrutura lgica:

    Utilizao de recurso Disponibilidade.

    Ao se introduzir o conceito de folga de recurso, a inequao pode ser escrita como

    Utilizao de recurso + Folga = Disponibilidade.

    Isso significa que

    Utilizao de recurso < Disponibilidadeimplica Folga > 0;

    Utilizao de recurso = Disponibilidadeimplica Folga = 0.

    Deste modo, a folga de cada recurso pode ser representada por uma varivel de formaexatamente igual produo de cada produto. Desse modo, vamos chamar:

    f1: folga de madeira;

    f2: folga de mo-de-obra.

    Introduzindo as variveis de folga, o problema a ser resolvido passa a ser:

    Maximizar: z = 4 x1 + x2

    Sujeito a 2 x1 + 3 x2 + f1 = 12

    2 x1 + x2 + f2 = 8

    x1, x2, f1, f2 0

    O problema se transformou em encontrar a soluo do sistema de equaes lineares quemaximiza o lucro. Como neste caso o nmero de variveis (m = 4) superior ao nmero deequaes (n = 2), o sistema indeterminado, apresentando infinitas solues.

    No entanto, todas as variveis devem ser maiores ou iguais a zero. Atribuir zero a uma varivelsignifica no produzir um dos produtos (se a varivel for x1 ou x2) ou utilizar toda a

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 17 http://www.ericolisboa.eng.br

    disponibilidade de recursos (se a varivel for f1 ou f2). Desta forma, podemos encontrar soluespara o sistema de equaes zerando duas variveis (n - m = 2) e encontrando o valor para as duasvariveis restantes. Teremos que resolver ento

    24C = 4! / (2! 2!) = 6

    sistemas de equaes lineares.

    Uma vez resolvido um sistema, sero aplicados na funo objetivo os valores encontrados. Asvariveis zeradas so chamadas variveis no-bsicas. As variveis cujos valores so calculadospelo sistema de equaes so chamadas variveis bsicas.

    c.1) Variveis no-bsicas: x1 = 0

    x2 = 0

    temos as variveis bsicasf1 = 12

    f2 = 8

    dando o lucro z = 0

    c.2) Variveis no-bsicas: x1 = 0

    f1 = 0

    temos as variveis bsicasx2 = 4

    f2 = 4

    dando o lucro z = 4

    c.3) Variveis no-bsicas: x1 = 0

    f2 = 0

    temos as variveis bsicasx2 = 8

    f1 = -12

    como f1 < 0, a soluo obtida INVIVEL.

    c.4) Variveis no-bsicas: x2 = 0

    f1 = 0

    temos as variveis bsicasx1 = 6

    f2 = -4

    como f2 < 0, a soluo obtida INVIVEL.

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 18 http://www.ericolisboa.eng.br

    c.5) Variveis no-bsicas: x2 = 0

    f2 = 0

    temos as variveis bsicasx1 = 4

    f1 = 4

    dando o lucro z = 16

    c.6) Variveis no-bsicas: f1 = 0

    f2 = 0

    temos as variveis bsicasx1 = 3

    x2 = 2

    dando o lucro z = 14

    Comparando todas as solues encontradas por este processo, achamos a soluo tima, ou seja,x1 = 4, x2 = 0, f1 = 4, f2 = 0, dando um lucro z = 16.

    4.2 Desenvolvimento do Mtodo SimplexDa forma como foi resolvido o problema anteriormente, necessrio que muitos sistemas de equaessejam resolvidos e suas solues comparadas. Para problemas reais de programao linear, estasoluo se torna invivel. Desta forma, para termos condies de resolver um problema deprogramao linear, precisamos de uma sistemtica que nos diga:

    qual o sistema de equaes que deve ser resolvido;

    que o prximo sistema a ser resolvido fornecer uma soluo melhor que os anteriores;

    como identificar um soluo tima, uma vez que a tenhamos encontrado.

    Essa sistemtica o mtodo Simplex, e as regras que o mtodo utiliza para atender s trs questesacima so, basicamente, os critrios que desenvolvemos nos itens anteriores. Vamos voltar ao nossopequeno problema, j com as variveis de folga:

    maximizar z = 4 x1 + x2

    sujeito a 2 x1 + 3 x2 + f1 = 12

    2 x1 + x2 + f2 = 8

    x1, x2, f1, f2 0

    Vamos montar um quadro para ordenarmos as operaes, colocando nele apenas os coeficientes dasvariveis. No caso da funo objetivo, vamos realizar a seguinte transformao:

    de: z = 4 x1 + x2

    para: z - 4 x1 - x2 = 0

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 19 http://www.ericolisboa.eng.br

    Quadro 1

    Base x1 x2 f1 f2 bf1 2 3 1 0 12f2 2 1 0 1 8z -4 -1 0 0 0

    A ltima coluna corresponde aos termos independentes das equaes, e a ltima linha contm oscoeficientes das variveis na funo objetivo. Nessa ltima linha teremos sempre a contribuio quecada varivel d para o lucro total z, por unidade, em cada iterao do processo de soluo. Essa ltimalinha ser chamada de funo objetivo transformada, ou funo z-transformada.

    a) Soluo inicial

    A soluo inicial para o problema ser sempre obtida fazendo as variveis originais do modelo (nocaso x1 e x2) iguais a zero e achando o valor das demais.

    Assim, fazendo x1 = x2 = 0 (variveis no bsicas), obtemos do Quadro 1:

    f1 = 12

    f2 = 8 (variveis bsicas)

    z = 0

    As variveis bsicas esto indicadas no Quadro 1, para facilitar o acompanhamento das operaes.

    b) Segunda soluo

    Como a primeira soluo claramente no a melhor, vamos procurar outra que d um valor maior paraz. O problema descobrir:

    Das duas variveis no bsicas (nulas) na primeira soluo, qual deve se tornar positiva?

    Das duas variveis bsicas (positivas) na primeira soluo, qual dever ser anulada?

    Qual varivel dever se tornar positiva?

    Vamos observar que na ltima linha do Quadro 1 temos os coeficientes da funo objetivo quemostram a contribuio para o lucro z de cada unidade produzida de mesa (x1) e de armrio (x2).Assim, aplicando o critrio de que devemos produzir primeiro o produto que mais contribui para olucro, vamos comear a produo pela varivel x1, j que sua contribuio unitria para o lucro (4) maior que a contribuio de x2, igual a 1.

    Logo, a varivel que dever se tornar positiva x1.

    Qual varivel dever ser anulada?

    Nota-se pelo Quadro 1 que, na primeira equao, o maior valor possvel de x1 6, quando f1 for igual azero (note que x2 vale zero por ser varivel no bsica). Qualquer valor maior de x1 far com que ovalor de f1 fique negativo, o que no permitido. Na segunda equao, o maior valor permitido para x1 4, quando f2 for igual a zero. Analisando simultaneamente as duas equaes, percebe-se que o maiorvalor possvel para x1 4, j que atende s duas equaes.

    Observe que esta anlise pode ser feita diretamente do Quadro 1, atravs da diviso dos elementos dacoluna b pelos correspondentes elementos da coluna x1. O menor quociente indica, pela linha em queocorreu, qual a varivel bsica que deve ser anulada. Assim, como o menor quociente dado pela

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 20 http://www.ericolisboa.eng.br

    diviso 8 / 2 = 4, a varivel bsica a ser anulada f2, que a varivel positiva na atual soluo, cujovalor foi encontrado na segunda linha.

    Assim temos:

    x2 = 0

    f2 = 0

    e o sistema restante deve ser resolvido para acharmos o valor de x1 e f1. A soluo desse sistema serfeita usando o Quadro 1 com as equaes completas e usando as operaes vlidas com as linhas damatriz, como apresentado no Captulo 2.

    1 operao: Dividir a segunda linha por 2 (L2 L2 / 2)

    Quadro 1A

    Base x1 x2 f1 f2 bf1 2 3 1 0 12x1 1 1/2 0 1/2 4z -4 -1 0 0 0

    2 operao: Multiplicar a segunda linha do Quadro 1A por (-2) e somar com a primeira linha domesmo quadro, colocando o resultado na primeira linha (L1 L1 - 2 L2)

    Quadro 1B

    Base x1 x2 f1 f2 bf1 0 2 1 -1 4x1 1 1/2 0 1/2 4z -4 -1 0 0 0

    3 operao: Multiplicar a segunda linha do Quadro 1B por (4) e somar com a terceira linha do mesmoquadro, colocando o resultado na terceira linha (L3 L3 + 4 L2)

    Quadro 2

    Base x1 x2 f1 f2 bf1 0 2 1 -1 4x1 1 1/2 0 1/2 4z 0 1 0 2 16

    Como a ltima linha (funo z-transformada) mostra as contribuies lquidas para o lucro, caso asvariveis x1 e f2 venha a ter seus valores aumentados de 0 para 1 e como estas contribuies tm seusvalores trocados com relao ao quadro original, conclumos que a soluo encontrada tima.

    x1 = 4,

    x2 = 0,

    f1 = 4,

    f2 = 0 e

    z = 16

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 21 http://www.ericolisboa.eng.br

    4.3 Procedimento do Mtodo Simplex (Problemas de Maximizao)Passo 1: Introduzir as variveis de folga; uma para cada desigualdade.

    Passo 2: Montar um quadro para os clculos, colocando os coeficientes de todas as variveis com osrespectivos sinais e, na ltima linha, incluir os coeficientes da funo objetivo transformada.

    Passo 3: Estabelecer uma soluo bsica inicial, usualmente atribuindo valor zero s variveisoriginais e achando valores positivos para as variveis de folga.

    Passo 4: Como prxima varivel a entrar na base, escolher a varivel no bsica que oferece, naltima linha, a maior contribuio para o aumento da funo objetivo (ou seja, tem o maiorvalor negativo). Se todas as variveis que esto fora da base tiverem coeficientes nulos oupositivos nesta linha, a soluo atual tima. Se alguma dessas variveis tiver coeficientenulo, isto significa que ela pode ser introduzida na base sem aumentar o valor da funoobjetivo. Isso quer dizer que temos uma soluo tima, com o mesmo valor da funoobjetivo.

    Passo 5: Para escolher a varivel que deve deixar a base, deve-se realizar o seguinte procedimento:

    a) Dividir os elementos da ltima coluna pelos correspondentes elementos positivos dacoluna da varivel que vai entrar na base. caso no haja elemento algum positivo nestacoluna, o processo deve parar, j que a soluo seria ilimitada.

    b) O menor quociente indica a equao cuja respectiva varivel bsica dever ser anulada,tornando-se varivel no bsica.

    Passo 6: Usando operaes vlidas com as linhas da matriz, transformar o quadro de clculos deforma a encontrar a nova soluo bsica. A coluna da nova varivel bsica dever se tornarum vetor identidade, onde o elemento 1 aparece na linha correspondente varivel que estsendo anulada.

    Passo 7: Retornar ao passo 4 para iniciar outra iterao.

    4.4 Outro ExemploVamos resolver pelo mtodo Simplex o problema das raes proposto no Captulo 1, cujo modelo foiapresentado no Captulo 3.

    maximizar Z = 11 x1 + 12 x2

    sujeito a: x1 + 4 x2 10000

    5 x1 + 2 x2 30000

    x1, x2 0

    a) Incluso das variveis de folga

    Com a incluso das variveis de folga, o problema torna-se:

    maximizar Z = 11 x1 + 12 x2

    sujeito a: x1 + 4 x2 + f1 10000

    5 x1 + 2 x2 + f2 30000

    x1, x2, f1, f2 0

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 22 http://www.ericolisboa.eng.br

    b) Soluo inicial

    Base x1 x2 f1 f2 bf1 1 4 1 0 10000f2 5 2 0 1 30000z -11 -12 0 0 0

    c) Primeira iterao

    Varivel a entrar na base:x2 (coluna com maior valor negativo na ltima linha)

    Varivel a sair da base: f1 (o quociente 10000/4 o menor quociente entre a ltima coluna e acoluna da varivel x2, que vai entrar na base)

    L1 L1 / 4

    L2 L2 - 2 L1

    L3 L3 + 12 L1Base x1 x2 f1 f2 bx2 1/4 1 1/4 0 2500f 2 4,5 0 -1/2 1 25000z -8 0 3 0 30000

    d) Segunda iterao

    Varivel a entrar na base:x1 (coluna com maior valor negativo na ltima linha)

    Varivel a sair da base: f2 (o quociente 25000/ 4,5 o menor quociente entre a ltima coluna e acoluna da varivel x1, que vai entrar na base)

    L2 L2 / 4,5

    L1 L1 - L2 / 4

    L3 L3 + 8 L2

    Base x1 x2 f1 f2 bx2 0 1 0,2778 -0,0556 1111,11x1 1 0 -0,1111 0,2222 5555,56z 0 0 2,1111 1,7778 74444,44

    e) Soluo tima encontrada

    Como todos os valores da ltima linha (funo z-transformada) so positivos ou nulos, conclumos quea soluo encontrada tima, ou seja:

    x1 = 5555,55

    x2 = 1111,11

    z = 74444,44

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 23 http://www.ericolisboa.eng.br

    4.5 Aspectos Matemticos SingularesNa modelagem de um problema de programao linear, algumas situaes especficas podem ocorrer,o que pode levar a casos em uma forma matemtica diferente da apresentada at o momento.Entretanto, alguns artifcios matemticos ajudam a reduzir o modelo obtido forma padro estudada.Estes artifcios so mostrados a seguir.

    4.5.1 Minimizao de uma funoA minimizao de uma funo z(x) matematicamente anloga maximizao da negativa destafuno (-z(x)).

    Exemplo: minimizar z = c1 x1 + c2 x2 + ... + cn xn

    equivalente a

    maximizar z' = - c1 x1 - c2 x2 - ... - cn xn

    com z' = - z.

    Essa uma das formas de se resolver os problemas de minimizao utilizando o mesmo algoritmo.Caso que queira resolver diretamente, devemos alterar o critrio de entrada das variveis na base. Avarivel que entra na base passa a ser aquela que tem o maior valor positivo na linha z-transformada.Caso todas tenham coeficientes negativos ou nulos, a soluo obtida tima.

    4.5.2 Restries de limite inferior ()Uma desigualdade em uma direo ( ou ) pode ser mudada para uma desigualdade na direooposta, pela multiplicao de ambos os lados da desigualdade por (-1).

    Exemplo: a1 x1 + a2 x2 b

    equivalente a

    - a1 x1 - a2 x2 -b

    4.5.3 Restries de igualdadeUma equao pode ser substituda por duas desigualdades de direes opostas.

    Exemplo: a1 x1 + a2 x2 = b

    equivalente a duas desigualdades simultneas:

    a1 x1 + a2 x2 b

    a1 x1 + a2 x2 b

    4.5.4 Varivel irrestrita em sinalUma varivel irrestrita em sinal (ou seja, que pode ser positiva, nula ou negativa) pode ser substitudapela diferena de duas variveis no negativas.

    Exemplo: se a varivel x1 for irrestrita em sinal, pode ser substituda pela diferena (x'1 - x''1)

    com

    x'1 0 e x''1 0.

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 24 http://www.ericolisboa.eng.br

    4.6 Mtodo Simplex em Duas FasesO Mtodo Simplex utiliza uma soluo inicial vivel para comear o processo iterativo, trabalhandosempre dentro da regio vivel. Nos casos apresentados at o presente momento, a soluo xi = 0, parai = 1, ..., n era uma soluo vivel, j que todas as restries apresentadas foram do tipo (). Quando asrestries so do tipo (=) ou (), esta soluo no existe.

    Seja o exemplo abaixo:

    minimizar z = 10 x1 + 4 x2 + 5 x3

    sujeito a: 8 x1 + 3 x2 + 4 x3 10

    4 x1 + 3 x2 8

    x1, x2, x3 0

    Como temos uma restrio do tipo (), a varivel de folga deve ter coeficiente negativo, tendo osignificado de uma varivel de excesso. O problema transformado :

    minimizar z = 10 x1 + 4 x2 + 5 x3

    sujeito a: 8 x1 + 3 x2 + 4 x3 - f1 = 10

    4 x1 + 3 x2 + f2 = 8

    x1, x2, x3, f1, f2 0

    onde f1 uma varivel de excesso e f2 uma varivel de folga.

    Note que, pelo processo de soluo anterior, a varivel de excesso (f1) passaria a ter valor negativo nasoluo inicial (-10), o que no permitido. Assim, a soluo x1 = x2 = x3 = 0 invivel. necessrioento encontrar uma soluo vivel para que o mtodo Simplex possa ser iniciado.

    A forma de se resolver isto inventando novas variveis. Estas variveis so chamadas de variveisartificiais, e representadas por zi. Ser colocada uma varivel artificial em cada restrio do modelo, ouseja:

    8 x1 + 3 x2 + 4 x3 - f1 + z1 = 10

    4 x1 + 3 x2 + f2 + z2 = 8

    x1, x2, x3, f1, f2, z1, z2 0

    Como pode-se perceber, o problema com as restries acima no o mesmo problema, a no ser quetodas as variveis zi sejam iguais a zero.

    Desta forma, podemos resolver o problema em duas fases: na primeira fase, substitumos a funoobjetivo original por uma funo objetivo auxiliar:

    zaux = - z1 - z2 = 12 x1 + 6 x2 + 4 x3 - f1 + f2 - 18

    Nesse momento, aplicamos o mtodo Simplex de forma a maximizar a funo objetivo auxiliar, comas restries contendo as variveis auxiliares. A funo objetivo auxiliar ser maximizada quandotodas as variveis zi forem iguais a zero, j que no podem conter valores negativos.

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 25 http://www.ericolisboa.eng.br

    A primeira fase do problema, que consiste na maximizao da funo objetivo auxiliar, fornecer umasoluo vivel para o problema original. A segunda fase consiste em resolver o problema originaltomando como soluo inicial os valores obtidos pela primeira fase para as variveis xi e fi.

    a) Soluo inicial

    Para resolver o problema, monta-se o quadro de forma semelhante sistemtica, colocando-se afuno objetivo artificial na ltima linha. O quadro do exemplo fica:

    Base x1 x2 x3 f1 f2 z1 z2 bz1 8 3 4 -1 0 1 0 10z2 4 3 0 0 1 0 1 8

    z' = -z 10 4 5 0 0 0 0 0zaux -12 -6 -4 1 -1 0 0 -18

    Obs. Como a funo objetivo de minimizao, ele foi transformado em um problema demaximizao atravs da multiplicao de todos os coeficientes por (-1).

    A seguir, aplica-se o mtodo Simplex normalmente, usando como funo objetivo a ltima linha.Quando a soluo tima for atingida, dois casos podem ocorrer:

    zaux = 0: neste caso foi obtida uma soluo bsica do problema original e o processo desoluo deve continuar, desprezando-se as variveis artificiais e os elementos daltima linha. o incio da segunda fase do processo.

    zaux 0: neste caso o problema original no tem soluo vivel, o que significa que asrestries devem ser inconsistentes.

    b) Fase 1 - Primeira iterao

    Varivel a entrar na base:x1 (coluna com maior valor negativo na ltima linha)

    Varivel a sair da base: z1 (o quociente 10/8 o menor quociente entre a ltima coluna e a colunada varivel x1, que vai entrar na base)

    L1 L1 / 8

    L2 L2 - 4 L1

    L3 L3 - 10 L1

    L4 L4 + 12 L1Base x1 x2 x3 f1 f2 z1 z2 bx1 1 3/8 1/2 -1/8 0 1/8 0 5/4z2 0 3/2 -2 1/2 1 -1/2 1 3

    z' = -z 0 1/4 0 5/4 0 -5/4 0 -12,5zaux 0 -3/2 2 -1/2 -1 3/2 0 -3

    c) Fase 1 - Segunda iterao

    Varivel a entrar na base:x2 (coluna com maior valor negativo na ltima linha)

    Varivel a sair da base: z2 (o quociente 3/(3/2) o menor quociente entre a ltima coluna e acoluna da varivel x2, que vai entrar na base)

  • 4 - O Mtodo Simplex Pesquisa Operacional

    Prof. Erico Lisboa 26 http://www.ericolisboa.eng.br

    L2 2 L2 / 3

    L1 L1 - 3 L2 / 8

    L3 L3 - L2 / 4

    L4 L4 + 3 L2 / 2Base x1 x2 x3 f1 f2 z1 z2 bx1 1 0 1 -1/4 -1/4 1/4 -1/4 1/2x2 0 1 -4/3 1/3 2/3 -1/3 2/3 2

    z' = -z 0 0 1/3 7/6 -1/6 -7/6 1/6 -13zaux 0 0 0 0 0 1 1 0

    Como na ltima linha o valor da funo objetivo artificial zero, a primeira fase terminou e a soluoencontrada a soluo bsica inicial para a segunda fase.

    Removendo a ltima linha e as colunas referentes s variveis artificiais, o quadro se torna

    Base x1 x2 x3 f1 f2 bx1 1 0 1 -1/4 -1/4 1/2x2 0 1 -4/3 1/3 2/3 2

    z' = -z 0 0 1/3 7/6 -1/6 -13

    d) Fase 2 - Primeira iterao

    Varivel a entrar na base:f2 (coluna com maior valor negativo na ltima linha)

    Varivel a sair da base: x2 (o quociente 2/(2/3) o menor quociente entre a ltima coluna e acoluna da varivel x2, que vai entrar na base)

    L2 3 L2 / 2

    L1 L1 + L2 / 4

    L3 L3 + L2 / 6Base x1 x2 x3 f1 f2 bx1 1 3/8 1/2 -1/8 0 5/4x2 0 3/2 -2 1/2 1 3

    z' = -z 0 1/4 0 5/4 0 -12,5

    e) Soluo tima encontrada

    Como todos os valores da ltima linha (funo z-transformada) so positivos ou nulos, conclumos quea soluo encontrada tima, ou seja:

    x1 = 1,25

    x2 = 0

    z = -z' = 12,5

  • 5 - A ferramenta Solver (Excel) Pesquisa Operacional

    Prof. Erico Lisboa 27 http://www.ericolisboa.eng.br

    CAPTULO 5

    A FERRAMENTA SOLVER (EXCEL)5

    Diversas ferramentas para soluo de problemas de otimizao, comerciais ou acadmicos, sejam eleslineares ou no, foram desenvolvidas. Dentre as ferramentas disponveis, este curso se prope aapresentar a ferramenta Solver, que acompanha o Microsoft Excel.

    Apesar de a ferramenta Solver poder ser utilizada tambm para problemas de programao no-linear,neste curso ser apresentada apenas a sua utilizao para a soluo de problemas de programaolinear. A utilizao para outros tipos de problemas segue o mesmo padro, sendo por isso intuitivo aousurio o seu aprendizado.

    5.1 Definindo e Resolvendo um ProblemaInicialmente, devemos definir o problema na planilha do Excel. Vamos resolver como exemplo oproblema da raes, do Captulo 3. A formulao do problema a seguinte:

    maximizar z = 11 x1 + 12 x2

    sujeito a: 1 x1 + 4 x2 10000

    5 x1 + 2 x2 30000

    x1, x2 0

    Para definir o problema na planilha, devemos definir clulas para representar as variveis de deciso euma clula para representar o valor da funo objetivo. Alm disso, as restries tambm devem serdefinidas. Abra um novo arquivo no Microsoft Excel e siga os seguintes passos:

    na clula A1 digite "x1";

    na clula B1 digite "0";

    na clula A2 digite "x2";

    na clula B2 digite "0".

    As clulas A2 e B2 guardaro os valores das variveis de deciso x1 e x2, respectivamente.

    Vamos agora definir a funo objetivo. As equaes do Excel so sempre precedidas do sinal deigualdade (=), que indica que nesta clula ser efetuada uma conta. Preencha as clulas da planilhaconforme indicado a seguir:

    na clula A4 digite "Funo objetivo";

    na clula B4 digite "=11*B1+12*B2".

    Na clula B4 ser calculado automaticamente o valor da funo objetivo, a partir da funo fornecida.Qualquer alterao nos valores das clulas B1 ou B2 far com que o valor da funo objetivo sejarecalculado.

  • 5 - A ferramenta Solver (Excel) Pesquisa Operacional

    Prof. Erico Lisboa 28 http://www.ericolisboa.eng.br

    Sero definidas agora as restries do problema: As clulas de restrio devem ser preenchidas daseguinte forma:

    na clula A6 digite "Restries";

    na clula B6 digite "= B1+4*B2";

    na clula C6 digite "=";

    na clula D8 digite "0";

    na clula B9 digite "=B2";

    na clula C9 digite ">=";

    na clula D9 digite "0".

    Aps preenchidas as clulas, a planilha deve estar igual apresentada na Figura 5.1.

    Figura 5.1 - Planilha com as clulas preenchidas para utilizao da ferramenta Solver.

  • 5 - A ferramenta Solver (Excel) Pesquisa Operacional

    Prof. Erico Lisboa 29 http://www.ericolisboa.eng.br

    Para otimizar a funo objetivo, vamos utilizar a ferramenta Solver.

    No menu Ferramentas, clique em Solver. A janela apresentada na Figura 5.2 se abrir.

    Na caixa "Definir clula de destino", selecione a clula da funo objetivo (B4) clicando sobreela, ou simplesmente digiteB4.

    Logo abaixo, requerido que se escolha entre trs opes: Mx, para maximizar a funoobjetivo, Mn, para minimizar a funo objetivo, e Valor, que faz com que a funo objetivotenha determinado valor. No nosso exemplo, como queremos maximizar a funo objetivo,escolheremos a opo Mx.

    Na caixa "Clulas variveis", devem ser inseridas as clulas ajustveis, que contm os valoresdas variveis de deciso. Deve-se inserir um nome ou uma referncia para cada clulaajustvel, separando as clulas no-adjacentes por ponto-e-vrgula. As clulas ajustveis devemestar relacionadas direta ou indiretamente clula que contm o valor da funo objetivo.Podem ser especificadas at 200 clulas ajustveis. Para que o Solver proponhaautomaticamente as clulas ajustveis com base na clula de destino, clique em Estimar.

    Na caixa Submeter s restries, devem ser inseridas as restries do problema. Para inseriruma restrio, siga os seguintes passos:

    clique no boto "Adicionar". A janela apresentada na Figura 5.3 se abrir;

    na caixa "Referncia de clula", selecione a clula contendo a primeira restrio (B6);

    na caixa de seleo, escolha a opo que corresponde ao tipo de restrio, que pode sermenor ou igual (=), igual (=), valor inteiro (nm) ou valor binrio(bin). No nosso caso a opo a ser escolhida

  • 5 - A ferramenta Solver (Excel) Pesquisa Operacional

    Prof. Erico Lisboa 30 http://www.ericolisboa.eng.br

    Figura 5.3 - Janela para adicionar restries ao problema.

    Para resolver o problema, clique no boto "Resolver". Se tudo estiver correto, a janela daFigura 5.4 ser apresentada. Nesta janela, podemos escolher entre manter a soluo encontradapelo Solver ou restaurar os valores originais. Tambm podemos selecionar relatrios, quecontm informaes sobre o processo de soluo do problema.

    Figura 5.4 - Janela de resultados do Solver.

    O processo de soluo pode ser interrompido pressionando-se ESC. O Microsoft Excel recalcular aplanilha com os ltimos valores encontrados para as clulas ajustveis.

    5.2 Instalando o SolverCaso a opo Solver no esteja presente no menu Ferramentas, isto porque a ferramenta Solver nofoi instalada. Para instal-la, proceda da seguinte maneira:

    No menu Ferramentas, clique em Suplementos. Se o Solver no estiver listado na caixa dedilogo Suplementos, clique em Procurar e localize a unidade de disco, a pasta e o nome dearquivo para o suplemento Solver.xla (geralmente localizado na pasta Biblioteca\Solver) ouexecute o programa de instalao se no conseguir localizar o arquivo.

    Na caixa de dilogo Suplementos, marque a caixa de seleo Solver.

    Os suplementos que voc selecionar na caixa de dilogo Suplementos permanecero ativos at quevoc os remova.

  • 6 - O problema de transporte Pesquisa Operacional

    Prof. Erico Lisboa 31 http://www.ericolisboa.eng.br

    CAPTULO 6

    O PROBLEMA DE TRANSPORTE6

    Um problema bastante comum que muitas vezes pode ser modelado como um problema deprogramao linear o problema de transporte. Este problema envolve o transporte de alguma carga dediversas fontes a diversos pontos de destino. Dados o custo da distribuio entre cada fonte e destino,as produes das fontes e as capacidades dos destinos, pretende-se minimizar o custo total dotransporte.

    6.1 Um Exemplo de Problema de TransporteSeja o processo de produo, transporte e depsito apresentado na Figura 6.1,

    Fbrica Depsito

    1

    2

    3

    1

    2

    3

    x11x12

    x13x21

    x22x23

    x31 x32x33

    Capacidades

    D1 = 150

    D2 = 70

    D3 = 60

    Produes

    F1 = 120

    F2 = 80

    F3 = 80

    Total = 280 Total = 280O problema est balanceado

    Figura 6.1 - Exemplo de um problema de transporte, com 3 fontes e 3 destinos

    onde os custos de transporte cij, da fonte i para o destino j so apresentados na Tabela 6.1.

    Tabela 6.1 - Custos unitrios de transporte para o exemplo de problema de transporte

    Custos (cij) Destinos (j)Fontes (i) 1 2 3

    1 8 5 62 15 10 123 3 9 10

    Formulando o problema por programao linear, define-se como objetivo a minimizao do custo totalde transporte, ou seja:

    minimizar: z = 8 x11 + 5 x12 + 6 x13 + 15 x21 + 10 x22 + 12 x23 + 3 x31 + 9 x32 + 10 x32

    sujeito a x11 + x12 + x13 = 120

    x21 + x22 + x23 = 80

    x31 + x32 + x32 = 80

    restries de produo

  • 6 - O problema de transporte Pesquisa Operacional

    Prof. Erico Lisboa 32 http://www.ericolisboa.eng.br

    x11 + x21 + x31 = 150

    x12 + x22 + x32 = 70

    x13 + x23 + x33 = 60

    restries de capacidade

    xij 0 para i = 1,2,3 e j = 1,2,3 restries de positividade

    A soluo do problema se torna mais cmoda se os dados forem representados em um quadroconforme a Figura 6.2.

    Destino1 2 3

    8 5 61

    x11 x12 x13120

    15 10 122

    x21 x22 x2380

    3 9 10

    Fonte

    3x31 x32 x33

    80

    Forn

    ecim

    ento

    150 70 60Capacidade

    Figura 6.2 - Representao dos dados de um problema de transporte

    6.2 Problema Clssico de TransporteO problema de transporte pode ser apresentado de forma genrica da seguinte forma:

    minimizar: = =

    =m

    i

    n

    jijij xcz

    1 1

    sujeito a in

    jij Fx =

    =1

    j

    m

    iij Dx =

    =1

    xij 0 para i = 1, ..., m e j = 1, ..., n,

    onde: cij = custo de distribuio entre a fonte i e o destino j;

    xij = total a ser distribudo da fonte i at o destino j;

    Fi = Total produzido pela fonte i;

    Dj = total a ser armazenado pelo destino j.

    Para que o problema tenha soluo, ele deve estar balanceado, ou seja, devemos ter o total armazenadoigual ao total da produo. Isso pode ser definido pela equao

    ==

    =n

    jj

    m

    ii DF

    11

    .

    O fato de o problema estar balanceado, faz com que uma das restries seja redundante. Isto significaque o problema se reduzir a (m + n - 1) restries e (m x n) variveis de deciso.

  • 6 - O problema de transporte Pesquisa Operacional

    Prof. Erico Lisboa 33 http://www.ericolisboa.eng.br

    Como se trata de um problema tpico de programao linear, ele pode ser resolvido pelo mtodoSimplex. Entretanto, tcnicas especficas para este tipo de problema podem resolv-lo de forma maisrpida que o Simplex.

    6.3 Mtodo de Stepping-StoneO mtodo de stepping-stone chega soluo tima partindo se uma soluo inicial e pesquisando sealguma soluo melhor pode ser obtida. Como o mtodo parte de uma soluo inicial, devemosencontrar uma soluo vivel qualquer para poder utilizar o mtodo.

    6.3.1 Soluo inicialVamos utilizar como exemplo o problema apresentado na Seo 6.1. Para encontrar uma soluoinicial, ser utilizado o mtodo do mnimo custo. Este mtodo consiste nos seguintes passos:

    Atribuir o mximo possvel varivel com menor custo unitrio e preenche com zeros alinha ou coluna satisfeita. No exemplo, faz-se x31 = 80 j que c31 = 3, utilizandocompletamente o fornecimento da Fonte 3. Desta forma, x32 e x33 devem ser iguais a 0.

    Ajustar os elementos da linha ou coluna no ajustada a partir da varivel com menor custo.Assim, no exemplo, na primeira coluna temos que fazer x11 = 70 (menor custo unitrio), deforma a atender a capacidade do Destino 1. Logo, x21 deve ser igual a 0.

    O processo repetido para as variveis com outros custos, em ordem crescente. Dessaforma, devemos fazer x12 = 50, de forma a completar o fornecimento da Fonte 1, zerandoassim a varivel x13. Para completar o quadro, devemos definir x22 = 20 (capacidade doDestino 2) e x23 = 60.

    Destino1 2 3

    8 5 61

    70 50 0120

    15 10 122

    0 20 6080

    3 9 10

    Fonte

    380 0 0

    80

    Forn

    ecim

    ento

    150 70 60Capacidade

    6.3.2 Processo iterativoCada clula vazia representa uma varivel no bsica que poderia entra na base. Para entrar, acontribuio da varivel no bsica deve implicar a reduo do custo total. Calculando essascontribuies para a clula x13:

    Aloque 1 unidade a x13. Assim, no mais 60, mas 61 o total de unidades na coluna 3.

    Para no violar a restrio da coluna 3, uma unidade dever ser subtrada de x23, que passa ater 59 unidades, e a coluna 3 com um total de 60 novamente.

    Agora a linha 2 totaliza 79 e no 80, o que pode ser corrigido com a adio de uma unidadea x22 (20 21).

    A coluna 2 fica ento com um total de 71, o que pode ser corrigido com a subtrao de umaunidade de x12.

    A linha 1 automaticamente corrigida em funo do passo anterior.

  • 6 - O problema de transporte Pesquisa Operacional

    Prof. Erico Lisboa 34 http://www.ericolisboa.eng.br

    Para cada varivel zerada, devemos determinar um caminho fechado de forma a calcular a suacontribuio na funo objetivo. Estes caminhos so definidos por linhas verticais ou horizontais,delimitando um polgono fechado. Apenas em um vrtice deste polgono deve haver uma varivelzerada, que a prpria varivel no bsica que ser includa na base. S possvel formar um nicocaminho com essas caractersticas para cada varivel zerada.

    Encontrado o caminho mnimo da varivel, sua contribuio calculada alternando soma e subtraodos custos unitrios dos vrtices, comeando da varivel a ser includa na base.

    Vamos agora calcular a contribuio de cada varivel no bsica na funo objetivo.

    Varivel Caminho Contribuiox13 x13 x23 x22 x12 6 - 12 + 10 - 5 = -1x21 x21 x22 x12 x11 15 - 10 + 5 - 8 = 2x32 x32 x12 x11 x31 9 - 5 + 8 - 3 = 9x33 x33 x23 x22 x12 x11 x31 10 - 12 + 10 - 5 + 8 - 3 = 8

    Como um problema de minimizao, a varivel a entrar na base ser aquela que contribui com omaior reduo no valor da funo objetivo, que a varivel x13. O valor a ser alocado a esta cluladeve ser o mximo, de modo que nenhuma das variveis fique com valor negativo. Este valor omenor valor das variveis que esto nos vrtices do caminho mnimo com sinal negativo. No caso, asvariveis com sinal negativo so x12 e x23. Logo, o valor a ser alocado 50.

    As demais variveis vo adicionar ou subtrair 50, conforme o sinal do vrtice correspondente varivel seja positivo ou negativo. Ou seja, as variveis passaro a ter os seguintes valores:

    x13 = 0 + 50 = 50;

    x23 = 60 - 50 = 10;

    x22 = 20 + 50 = 70;

    x12 = 50 - 50 = 0.

    Logo, a varivel que sai da base x12. A seguir, apresentado o quadro aps a primeira iterao.

    Destino1 2 3

    8 5 61

    70 0 50120

    15 10 122

    0 70 1080

    3 9 10

    Fonte

    380 0 0

    80

    Forn

    ecim

    ento

    150 70 60Capacidade

    Recalculando as contribuies de cada varivel no bsica na funo objetivo, temos que

    Varivel Caminho Contribuiox12 x12 x13 x23 x22 5 - 6 + 12 - 10 = 1x21 x21 x23 x13 x11 15 - 12 + 6 - 8 = 1x32 x32 x22 x23 x13 x11 x31 9 - 10 + 12 - 6 + 8 - 3 = 10x33 x33 x13 x11 x31 10 - 6 + 8 - 3 = 9

  • 6 - O problema de transporte Pesquisa Operacional

    Prof. Erico Lisboa 35 http://www.ericolisboa.eng.br

    Como todas as variveis tm contribuio positiva, isto indica que a incluso de qualquer uma delasfar aumentar o valor da funo objetivo, portanto a soluo encontrada tima.

    6.4 Dificuldades do Problema de Transporte

    6.4.1 No balanceamento entre oferta e demandaCaso isso ocorra, o problema no pode ser resolvido da maneira apresentada. Deve-se ento criar umaorigem ou destino fictcio para que o problema esteja balanceado.

    Para o problema inicial, se a produo total for maior que a capacidade total, criar um depsito fictciocom capacidade = produo total - capacidade total, com custos de distribuio nulos. Se a produototal for menor que a capacidade total, criar uma fbrica fictcia.

    Outra maneira de se resolver o problema seria tratar as restries pertinentes no mais como equaese sim como inequaes.

    6.4.2 Solues mltiplasOcorrem quando, detectada a soluo tima, um dos valores das contribuies for zero. O caminhofechado para a varivel xij correspondente indicar a forma de obteno da soluo alternativa.

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 36 http://www.ericolisboa.eng.br

    CAPTULO 7

    ANLISE DE REDES7

    7.1 Conceitos Bsicos em Teoria dos GrafosDiversos problemas de programao linear, inclusive os problemas de transporte, podem sermodelados como problemas de fluxo de redes. Algoritmos especficos para determinados tipos deproblemas podem ser mais convenientes para a sua soluo do que algoritmos mais genricos.

    Antes de continuar, sero apresentadas algumas definies da teoria dos grafos.

    Definio 1

    Um grafo linear consiste em diversos ns, ou pontos, sendo que cada n deve estar conectadoa um ou mais ns por arcos.

    Um exemplo de um grafo linear apresentado na Figura 7.1.

    a

    b

    c

    d

    e

    f

    1

    2

    5

    3

    4

    6

    8

    9

    Ns: a, b, c, d, e, f Arcos: 1, 2, 3, 4, 5, 6, 7, 8, 9

    Figura 7.1 - Exemplo de um grafo linear.

    Definio 2

    Um grafo direto (ou rede direta) um grafo em que o fluxo ao longo de um arco pode serefetuado apenas em um sentido.

    Entretanto, pode-se substituir um arco com fluxo nos dois sentidos por dois arcos em sentidosopostos. Desta forma, podemos utilizar redes diretas sem que o modelo esteja perdendo a suageneralidade.

    Definio 3

    Um grafo bipartido um grafo direto onde os ns so divididos em dois subconjuntos, ondetodos os arcos do grafo ligam um n de um subconjunto a um n do outro.

    Um grafo representando um problema de transporte um exemplo de grafo bipartido, j quetodos os arcos ligam ns das origens a ns dos destinos.

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 37 http://www.ericolisboa.eng.br

    Definio 4

    Um caminho ou canal um conjunto ordenado de arcos que conectam dois ns atravs de nsintermedirios, cada um dos quais estando exatamente em dois arcos do canal.

    Um exemplo de canal no grafo da Figura 7.1 o conjunto dos arcos 1, 5 e 7, que conectam osns a e c atravs dos ns b e e.

    Definio 5

    Um grafo conectado um grafo um grafo no qual existe caminho entre qualquer par de ns.

    O grafo da Figura 7.1 um grafo conectado.

    Definio 6

    Um lao um canal que conecta um n a ele mesmo.

    Os arcos 1, 5, 7, 8, 9 e 2 formam um lao conectando o n a (ou qualquer outro n do canal) aele mesmo.

    Definio 7

    Uma rvore um grafo conectado que no contm laos.

    Exemplos de rvores no grafo da Figura 7.1 incluem os arcos 1, 3, 4, 6, 8 ou os arcos 2, 3, 4, 5,8. O conjunto de arcos 1, 2, 3, 4, 7, 8 contm um lao (1, 2, 3), portanto no uma rvore; oconjunto de arcos 1, 3, 7, 8, apesar de no conter laos, no forma uma rvore por no ser umgrafo conectado. Pode ser provado que uma rvore com n ns possui (n - 1) arcos e h pelomenos dois extremos (ns em apenas um arco) em uma rvore.

    7.2 Problema de Fluxo MximoUm problema de rede usual a determinao do fluxo mximo entre dois pontos em uma rede.Considere o seguinte exemplo, adaptado de ZIONTS (1974).

    "Um produtor de gs natural tem uma rede de tubulaes conforme apresentado na Figura 7.2. Ascapacidades de cada parte da rede esto representadas em bilhes de litros por dia. Um problemaocorreu no ponto t, de modo que deseja-se fornecer a maior quantidade de gs possvel da produo aoponto t. Portanto, o problema encontrar a mxima capacidade da rede entre s e t de modo que amxima quantidade seja fornecida de s para t."

    b

    t (destino)

    s (origem)

    a

    18

    10

    4

    15

    10

    Figura 7.2 - Rede de tubulao de gs.

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 38 http://www.ericolisboa.eng.br

    Mais formalmente, o problema a ser considerado a maximizao do escoamento de um n s(chamado de origem) a um n t (chamado de destino), sujeito s limitaes das capacidades dos arcos.

    Neste problema, podemos considerar que a quantidade de gs que chega no ponto t igual quantidade de gs que sai do ponto s. Isso pode ser representado por um arco ligando o ponto t aoponto s. Desta forma, o problema pode ser representado como um problema de programao linearonde deseja-se maximizar o fluxo do n t ao n s (que igual ao fluxo que sai do n s, ou ao fluxo quechega no n t). As restries deste problema, alm da capacidade de cada arco da rede, o fato de quea quantidade de gs que chega em qualquer n igual quantidade de gs que sai deste mesmo n.

    As variveis de deciso para este problema so:

    x0: fluxo do n t ao n s;

    x1: fluxo do n s ao n a;

    x2: fluxo do n s ao n b;

    x3: fluxo do n a ao n t;

    x4: fluxo do n b ao n a;

    x5: fluxo do n b ao n t.

    A funo objetivo, a ser maximizada, o fluxo que chega no n t, representado neste problema por x0.

    Para cada n, o fluxo de gs que chega igual ao fluxo de gs que sai. Convencionando sinal negativoao fluxo de gs que chega e positivo ao fluxo de gs que sai, temos as seguintes restries:

    n t: x0 - x3 - x5 = 0

    n s: - x0 + x1 + x2 = 0

    n a: - x1 + x3 - x4 = 0

    n b: - x2 + x4 + x5 = 0

    As restries de capacidade so x1 10, x2 18, x3 15, x4 4 e x5 10.

    O problema pode ser formulado ento como apresentado a seguir.

    maximizar z = x0

    sujeito a: x0 - x3 - x5 = 0

    + x0 + x1 + x2 = 0

    - x1 + x3 - x4 = 0

    - x2 + x4 + x5 = 0

    x1 10

    x2 18

    x3 15

    x4 4

    x5 10

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 39 http://www.ericolisboa.eng.br

    7.3 Problema de Caminho MnimoUm problema bastante comum envolvendo a teoria dos grafos o problema de rota mais curta, oucaminho mnimo. Para cada arco de um grafo, define-se a distncia que ele representa. O objetivodeste tipo de problema encontrar o caminho mais curto entre dois ns. O problema do caminhomnimo pode ser utilizado tambm para representar custos ou tempos mnimos, em vez de distncias.

    O algoritmo para a soluo de problemas de caminho mnimo que ser estudado o algoritmo deDijkstra. Este algoritmo determina a distncia mnima entre o vrtice de origem (s) e os demaisvrtices.

    Para melhor apresentar o algoritmo de Dijkstra, vamos analisar o grafo da Figura 7.3.

    b

    t (destino)s (origem)

    a

    8

    2

    12

    e

    d

    c

    5 4

    2

    12

    6

    4

    6

    3

    1

    Figura 7.3 - Exemplo de grafo para o problema de caminho mnimo.

    De forma a encontrar a rota mais curta, vamos montar duas tabelas. Na primeira (tabela de distnciasmnimas), so colocadas trs colunas: o nome do n, o n de onde vem o caminho mnimo at o n deorigem e a distncia do caminho mnimo. Na segunda (tabela auxiliar), so colocadas trs colunas: onome do n, o n de onde vem o caminho considerado (no necessariamente o mnimo) e a distnciadeste caminho.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.

    O primeiro n a ser analisado o n de origem. Sua distncia ao n de origem 0. Este n ser entoinserido na tabela de distncias mnimas. Como o caminho mnimo para este n no vem de nenhumoutro n, na segunda coluna ser colocado apenas um trao.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0

    Inserido um n na primeira tabela, colocaremos na segunda tabela todos os ns atingidos por este n.No nosso exemplo, os ns a serem inseridos so os ns a, b e c. Para estes ns, o n de onde vem ocaminho o prprio n s. A distncia do n de origem a distncia do arco percorrido somada com adistncia do n anterior at a origem. No caso, a distncia do n s 0. A tabela auxiliar fica ento daseguinte maneira.

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 40 http://www.ericolisboa.eng.br

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8

    b s 5c s 12

    O prximo n a entrar na primeira tabela ser o n de menor distncia at a origem. No caso, o n a serincludo o n b. Como na primeira tabela, o n b ainda no foi inserido, podemos inclu-lo.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8b s 5 b s 5 x

    c s 12

    Note que marcado um X ao lado do n na segunda tabela, indicando que este n no deve mais serconsiderado no teste de que n entra na primeira tabela.

    Os ns atingidos pelo n b so os ns c e e, que devem ser inseridos na tabela auxiliar. A distnciadestes ns at a origem encontrada somando-se a distncia do arco com a distncia mnima do n bat a origem (mostrada na tabela de distncias mnimas). Desta forma, as tabelas ficam da seguintemaneira.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8b s 5 b s 5 x

    c s 12c b 9e b 7

    O prximo n a entrar na primeira tabela o n e, vindo de b, com distncia at a origem 7.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8b s 5 b s 5 xe b 7 c s 12

    c b 9e b 7 x

    Os nico n atingido por ele o n t.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8b s 5 b s 5 xe b 7 c s 12

    c b 9e b 7 xt e 19

    O prximo n a entra o n a, vindo de s, com distncia at a origem de 8.

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 41 http://www.ericolisboa.eng.br

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8 xb s 5 b s 5 xe b 7 c s 12a s 8 c b 9

    e b 7 xt e 19

    Os ns atingidos pelo n a so os ns c e d.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8 xb s 5 b s 5 xe b 7 c s 12a s 8 c b 9

    e b 7 xt e 19c a 10d a 12

    O prximo n a entrar o n c, vindo de b.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8 xb s 5 b s 5 xe b 7 c s 12a s 8 c b 9 xc b 9 e b 7 x

    t e 19c a 10d a 12

    O n c atinge os ns d e e.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8 xb s 5 b s 5 xe b 7 c s 12a s 8 c b 9 xc b 9 e b 7 x

    t e 19c a 10d a 12d c 12e c 10

    O prximo n a entrar o n c, vindo de a. Como o n c j est includo, marcamos ele com um X epassamos para o prximo, que o n e (vindo de c) que tambm j est includo. O n c (vindo de s)tambm j est includo. O prximo n que ainda no est includo o n d, vindo de a ou de c, j queas duas distncias so iguais.

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 42 http://www.ericolisboa.eng.br

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8 xb s 5 b s 5 xe b 7 c s 12 xa s 8 c b 9 xc b 9 e b 7 xd a 12 t e 19

    c a 10 xd a 12 xd c 12 xe c 10 x

    Os ns atingidos pelo n d so os ns e e t.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8 xb s 5 b s 5 xe b 7 c s 12 xa s 8 c b 9 xc b 9 e b 7 xd a 12 t e 19

    c a 10 xd a 12 xd c 12 xe c 10 xe d 18t d 18

    O n e j est includo; ento o prximo n a ser includo o n t, vindo de d.

    Distncias mnimas Auxiliarn ant. dist. n ant. dist.s - 0 a s 8 xb s 5 b s 5 xe b 7 c s 12 xa s 8 c b 9 xc b 9 e b 7 xd a 12 t e 19t d 18 c a 10 x

    d a 12 xd c 12 xe c 10 xe d 18 xt d 18 x

    Como todos os ns j foram includos na tabela de distncias mnimas, o problema est resolvido. Atabela mostra, para cada n do grafo, a distncia mnima at o n de origem. O caminho mnimo vemdo n indicado na coluna de n anterior. Desta forma, pode-se determinar o caminho mnimorepetindo-se este passo sucessivamente at que o n de origem seja encontrado. Para encontrarmos ocaminho mnimo do n t, por exemplo, pegamos o n anterior a ele (d). O n anterior ao n d o n a,cujo n anterior o n de origem (s).

    Desta forma, o caminho mnimo da origem at o n t (s - a - d - t).

  • 7 - Anlise de redes Pesquisa Operacional

    Prof. Erico Lisboa 43 http://www.ericolisboa.eng.br

    O algoritmo pode ento ser definido da seguinte maneira:

    Passo 1. Inserir o n de origem na tabela de distncias mnimas. Sua distncia at o n de origem 0.

    Passo 2. Colocamos na tabela auxiliar todos os ns atingidos por este n. Para os ns includos natabela auxiliar, o n de onde vem o caminho o n recm inserido na tabela de distncias mnimas. Adistncia do n de origem a distncia do arco percorrido somada com a distncia do n recminserido na tabela de distncias mnimas at a origem.

    Passo 3. O prximo n a entrar na tabela de distncias mnimas ser o n, entre os ns no marcadoscom um X, de menor distncia at a origem. Marca-se este n com um X. Caso este n j estejainserido na tabela de distncias mnimas, devemos retornar ao passo 3.

    Passo 4. Aps inserir o n na tabela de distncias mnimas, volta-se ao passo 2 at que todos os ns dografo tenham sido inseridos na tabela de distncias mnimas.

    Passo 5. A tabela de distncias mnimas indica a distncia do caminho mnimo de cada n at o n deorigem, e o n de onde vem o caminho mnimo.

    Obs. 1: se todos os ns da tabela auxiliar j tiverem sido marcados e alguns ns ainda no tiverem sidoincludos na tabela de distncia mnima, isto indica que no h caminho do n de origem at os nsque no foram includos.

    Obs. 2: o algoritmo de Dijkstra no vlido caso existam arcos com valores negativos.

  • 8 - Teoria dos jogos Pesquisa Operacional

    Prof. Erico Lisboa 44 http://www.ericolisboa.eng.br

    CAPTULO 8

    TEORIA DOS JOGOS 8

    8.1 Introduo Um jogo representa uma situao de competio ou conflito entre dois ou mais oponentes. Estes oponentes so usualmente chamados de jogadores (um jogador pode ser um time composto de mais de uma pessoa, como num jogo de cartas de duplas - buraco por exemplo - onde apesar de haver quatro pessoas, h apenas dois jogadores). Alguns exemplos de jogos so:

    jogos de salo, como cara-e-coroa, jogo da velha, damas ou xadrez;

    competio econmica;

    conflitos militares ou guerras.

    Cada jogador tem um certo nmero de escolhas, finito ou infinito, chamadas de estratgias. Um jogador supostamente escolhe sua estratgia sem qualquer conhecimento prvio da estratgia escolhida pelos outros jogadores. A partir das escolhas dos jogadores, o jogo fornece o resultado, ou sada, definindo quanto cada jogador ganhou ou perdeu. Cada jogador faz sua escolha de modo a otimizar o resultado.

    Os jogos so categorizados da seguinte maneira:

    1. Tipos de sada

    a) Determinada - as sadas so precisamente definidas, dadas as estratgias tomadas.

    b) Probabilstica - as probabilidades das diferentes sadas so conhecidas, dadas as estratgias tomadas.

    c) Indeterminada - as sadas possveis so conhecidas dadas as estratgias tomadas, mas no suas probabilidades.

    2. Nmero de jogadores

    a) Um jogador - estes jogos so chamados de jogos contra a natureza. Se a estratgia da natureza determinada, o jogo trivial; se a estratgia da natureza probabilstica, estes jogos so chamados de problemas de deciso; se indeterminada, pode-se tratar o jogo como sendo de duas pessoas se for atribuda alguma perversidade natureza.

    b) Dois jogadores.

    c) n jogadores (n maior que 2).

    3. Natureza dos pagamentos

    a) Soma zero - a soma de todos os pagamentos zero.

    b) Soma constante - a soma de todos os pagamentos constante e diferente de zero.

    c) Soma varivel - no h nenhuma relao entre os pagamentos dos jogadores.

  • 8 - Teoria dos jogos Pesquisa Operacional

    Prof. Erico Lisboa 45 http://www.ericolisboa.eng.br

    4. Natureza da informao

    a) Informao perfeita - conhecimento total de todos os movimentos anteriores.

    b) Informao imperfeita.

    8.2 Jogos de Dois Jogadores e Soma Zero Dois jogadores e soma zero o tipo de jogo mais estudado pela teoria dos jogos. De modo simplificado, neste tipo de jogo cada um dos dois jogadores escolhe uma entre suas estratgias possveis. Uma vez que ambos os jogadores tenham tomado suas decises, elas so anunciadas e uma tabela de pagamentos (conhecida anteriormente pelos dois jogadores) utilizada para determinar o pagamento de um jogador ao outro.

    A matriz abaixo representa o jogo. Nesta notao, a matriz representa o pagamento do jogador Y para o jogador X. Se o valor for negativo, o pagamento se dar do jogador X para o jogador Y.

    YD E F G Mnimos

    A 8 2 9 5 2X B 6 5 7 8 5

    C 7 3 -4 7 -4Mximos 8 5 9 8

    O jogador X pode escolher entre as estratgias A, B e C. O jogador Y pode escolher entre D, E, F e G. O valor da matriz representa o valor a ser pago ao jogador X. Como um jogo de duas pessoas e soma zero, um ganho do jogador X implica uma igual perda do jogador Y. Isto significa que se o jogador X escolher a estratgia A e o jogador Y escolher a estratgia G, o jogador X ganhar 9, ao passo que o jogador Y perder os mesmos 9. Se o pagamento for negativo (por exemplo 4), o jogador X ganhar -4, ou seja, perder 4, ao passo que o jogador Y ganhar 4.

    Quando o jogador X escolhe a estratgia A, ele pode ganhar 8, 2, 9 ou 5, dependendo da estratgia escolhida pelo jogador Y. Ele pode garantir, entretanto, um ganho de pelo menos min{8, 2, 9, 5} = 2, independente da escolha do jogador Y. Da mesma maneira, se ele escolher a estratgia B, ele garante um ganho de min{6, 5, 7, 8} = 5 e se escolher a estratgia C, a pior hiptese min{7, 3, -4, 7} = -4. Estes valores esto indicados direita da matriz, chamados de mnimos. Se o jogador X selecionar a estratgia B, ele est maximizando seu menor ganho, dado por max{2, 5, -4} = 5. Esta seleo denominada maximin, j que maximiza o mnimo ganho de cada opo. O valor resultante desta estratgia chamado valor maximin.

    O jogador Y, do outro lado, deseja minimizar suas perdas. Ele percebe que, se usar a estratgia D, no pode perder mais do que max{8, 6, 7} = 8. Para as demais estratgias, as mximas perdas esto apresentadas na matriz, como sendo o valor mximo de cada coluna. O jogador Y ir ento escolher a alternativa que minimize sua mxima perda, que a estratgia E, uma vez que min{8, 5, 9, 8} = 5. Esta seleo denominada minimax, j que minimiza a mxima perda de cada opo. O valor resultante desta estratgia chamado valor minimax.

    Percebe-se que, para qualquer jogo de duas pessoas e soma zero, o valor minimax sempre maior ou igual ao valor maximin. No caso de igualdade, as estratgias so chamadas estratgias timas e o jogo tem um ponto de sela. Este ponto o ponto timo do jogo, e igual ao valor maximin e ao valor minimax. O ponto otimo, j que nenhum jogador mudar sua estratgia, uma vez que o resultado ser pior caso o outro jogador mantenha a estratgia.

  • 8 - Teoria dos jogos Pesquisa Operacional