Você está na página 1de 9

Programação Linear: Métodos de solução

Objetivo:
Preparar ao estudante para que possa resolver os problemas de Programação Linear, incluindo a aplicação dos
métodos gráfico, algorítmico manual e por computador, assim como realizar a análise da solução encontrada no
contexto do problema resolvido.

 Recomendações prévias ao início do estudo deste capítulo


• É necessário ter estudado o capítulo dedicado a colocações de problemas.

 Deve ter conhecimentos sobre as operações com matrizes, investimento de


matrizes, operações elementares com as filas e colunas das matrizes e
procedimento de mudança de base.

No capítulo anterior se realizou uma exposição a respeito de diferentes formulações de problemas do PL e os


correspondentes modelos econômicos matemáticos aplicados em diferentes situações econômicas correntes no
âmbito empresarial. Para resolver estes problemas e outros que podem ser mais singelos ou muito mais complexos
se empregam diferentes procedimentos de solução:

 Procedimento gráfico
 Procedimento algorítmico manual.
 Procedimento por computadores eletrônicas.

Neste capitulo se dará uma visão a respeito destes três procedimentos de solução, alguns dos quais implicam a
possibilidade de empregar diferentes métodos.

Na atualidade os problemas do PL resolvem fundamentalmente por meio de programas de computadores, vários dos
quais têm a possibilidade de resolver modelos com uma grande quantidade de variáveis e restrições. Entretanto, o
estudo de alguns dos métodos compreendidos nos procedimentos gráfico e algorítmico manual, é imprescindível
para poder compreender os aspectos básicos da PL, seu fundamentación matemática e inclusive para poder realizar
a interpretação econômica de quão resultados brindam os programas de computadores.

antes de começar o estudo dos procedimentos de solução do problema do PL é conveniente explicar vários
conceitos e definições que serão úteis para compreendê-los.

O problema geral da Programação Linear

Tal como se observou nas colocações de problemas expostos no capítulo anterior, um problema do PL consta de
três partes importantes:

1. Um conjunto de variáveis de decisão


2. Um conjunto de restrições
3. Uma função objetivo ou função critério.

Em forma algébrica desenvolvida este problema se pode descrever como: Encontrar o conjunto de valores das
variáveis x1, x2, x3,... , xn que maximiza ou minimiza a função

Z  c1 x 1  c 2 x 2  c 3 x 3  . . .  c n x n 1

a 11 x 1  a 12 x 2  a 13 x 3  . . .  a 1n x n , ,  b1 

a 21 x 1  a 22 x 2  a 23 x 3  . . .  a x n , ,  b 2 
2n
 (2)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 
a m1 x 1  a m2 x 2  a 13 x 3  . . .  a mn x n , ,  b m  

x1, x2, x3, . . . , xn  0 (3)


Observe-se que (1) é a função objetivo e pode ser de maximizar ou minimizar. Cada uma das restrições que compõe
o conjunto (2) pode ser de maior ou igual, de igual a ou de menor ou igual, podendo ter sozinho um de tais signos.

Os coeficientes das variáveis na função objetivo se denominam como coeficientes econômicos. Os coeficientes das
variáveis nas restrições se denominam como coeficientes tecnológicos e são as normas de insumo (consumo
produtivo) unitárias de cada um dos recursos, em outras palavras, quanto se consome de um recurso dado, para a
elaboração de uma unidade de produto. Os términos da direita se conhecem como términos independentes e
constituem em geral, a disponibilidade de recursos ou as limitações existentes em capacidade de produção, de
demanda, de armazenamento, etc. tal como se viu nos problemas cuja formulação se estudou no capitulo anterior.

Quão variáveis compõem o problema se denominam como variáveis de decisão ou variáveis essenciais e de
acordo com (3) estão sujeitas a ser não negativas. A expressão (3) denomina-se
habitualmente como condição de não negatividad.

O problema geral da PL pode ser escrito também de maneira mais sintética da seguinte forma:

n
max ó min Z =  c x
j1 j j

sujeto a

n
 a ij x j (, , )b i ; i 1 : m
j1

xj  0; j  1: n

também se pode expressar em forma matricial como segue:

max ó min Z = CX/ AX (,=,) b; X  0

Agora é necessário ter em conta um conjunto de definições importantes.

Solução: denomina-se solução a qualquer conjunto de valores das variáveis de


decisão X que satisfaça o conjunto de restrições (2).
Solução possível: É qualquer solução que satisfaça simultaneamente os conjuntos
de restrições (2) e (3).
Solução possível ótima: É uma solução possível que maximiza ou minimiza a (1),
ou seja que ao ser substituída em (1) proporciona o valor

Solução básica não degenerada: É uma solução que tem exatamente m componentes positivos.

Solução degenerada: É uma solução básica que tem menos de m componentes positivos.

Em um problema do PL, o conjunto de soluções possíveis conforma um conjunto convexo. denomina-se como ponto
extremo ou vértices do conjunto convexo aos pontos em que se interceptam os lados do conjunto.

A solução ótima de um problema do PL se encontra sempre em ao menos um, dos pontos extremos do
conjunto convexo formado pelas soluções possíveis do problema.

Procedimento gráfico de solução

Resolver por métodos gráficos um problema do PL é relativamente fácil. O inconveniente que tem este método é que
solo é aplicável em problemas de duas variáveis essenciais. Só se se é um bom desenhista, poderia aplicar-se à
solução de um problema de três variáveis, pois já com este número de variáveis o método é extremamente
complexo e é obvio, não é possível aplicá-lo no caso de mais de três variáveis essenciais.
A importância deste método é mas bem metodológica, já que permite compreender o mecanismo de solução que
desenvolvem os algoritmos que se empregam no processo de solução de problemas maiores, dando uma idéia além
disso, das possíveis situações de tipo especial que podem ocorrer e que se verão mais adiante, tais como a
existência de soluções alternas, soluções não demarcadas, etc. Vejamos o método através de um exemplo.
Exemplo 1
Seja el seguiente problema de PL

max Z = 4x1 + 5x2

Sujeto a

1) 8x1 + 3x2  24

2) 2x1 + 6x2  12

3) x1 + x 2  6
4) x1  0, x2  0

Observe-se que todas as soluções possíveis deste problema deverão estar no primeiro quadrante devido a
que as duas variáveis estão sujeitas a ser não negativas.

O primeiro passo para resolver um problema do PL mediante este método é considerar as inecuaciones como
equações. Isto se deve a que cada uma das inecuaciones que compõem o conjunto de restrições deste
problema tem um conjunto de soluções possíveis situado entre os eixos de
coordenadas x1 e x2 e quão reta resulta ao considerar a inecuación como equação.

1) 8x1 + 3x2 = 24

2) 2x1 + 6x2 = 12

3) x1 + x2 = 6

O segundo passo será achar o gráfico destas retas e determinar a região de soluções possíveis para todas as
inecuaciones que compõem o sistema de restrições do problema. Quer dizer, estabelece-se um sistema de
coordenadas onde as abscissas estão dadas no eixo x1 e as ordenadas no eixo x2. Para achar o gráfico destas
retas simplesmente é necessário achar suas intercessões com os eixos coordenados. Por exemplo, na equação 1)
se se supuser a x1= 0, então x2 = 8; se se supuser a x2 = 0, então x1 = 3. Logo a reta curta aos eixos coordenados
nos pontos (0,8) e (3,0). A partir destes dois pontos se risca o segmento de reta que os une e se obtém a reta 1)
do gráfico. Da mesma forma se procede com as retas 2) e 3).

Para procurar a região de soluções simultâneas para todas as restrições, será necessário procurar qual é a região
de solução de cada uma delas. No caso da primeira restrição se toma um ponto situado a um dos lados da reta 1) e
se substitui na inecuación 1). Se o resultado satisfizer a inecuación então a região de solução estará constituída por
todos os pontos que se encontrem ao mesmo lado que o ponto selecionado. Se o resultado da substituição não
satisfaz a inecuación então, a região de solução será o conjunto de todos os pontos que se encontram no lado
contrário da reta. Por comodidade geralmente se escolhe o ponto (0,0). Substituindo (0,0) em 1):

1) 8x1 + 3x2  24

8(0) + 3(0)  24

0  24
o qual não é certo, ou seja que o ponto (0,0) não satisfaz a inecuación. Isso indica que a região de solução está no
lado contrário da reta. Isto se indica mediante uma flecha como aparece no gráfico 1. Um procedimento similar se
realiza com as demais inecuaciones. Por exemplo, com a inecuación 3), se se substituir nela o ponto (0,0), chega-
se a

3) x 1 + x2  6

(0) + (0)  6
(1)
o qual é certo. Neste caso a região de solução está ao mesmo lado que o ponto (0,0), como o indica a flecha no
gráfico 1. Recordando que todos os pontos da região de solução deverão estar no primeiro quadrante pela condição
de não negatividad, então a região de solução R do sistema de restrições deste problema estará constituído pelos
pontos dentro do triângulo ABC.

X2

(1)

(3)
(2) R
A
C
X1
Gráfico 1

Para procurar a solução do problema será necessário graficar a função objetivo. Para isso, lhe adjudica

a Gráfico 2

Z un valor arbitrario conveniente. Generalmente se busca un valor que sea mínimo común múltiplo de los

coeficientes de las variables. Podemos trazar entonces dos rectas: una para Z1 = 20 y Z2 = 40.
X2

(1)

B
Z2 = 40
(3)
(2)

A
C X1

Z1 = 20

 sea graficando las rectas

Z = 4x1 + 5x2

Z1= 4x1 + 5x2 = 20

y Z2 = 4x1 + 5x2 = 40

Procurando as intercessões com os eixos destas dois retas, chega-se ao gráfico 2.

Recordando que se trata de um problema de maximizar, observa-se que o valor de Z aumenta à medida que a reta
se desagrade na direção indicada pelas flechas perpendiculares às retas Z1 e Z2. Agora bem, deslocando Z1
paralela a se mesma, o último ponto da região de solução que touca é o ponto B.

Se a reta se continua deslocando, deixará de ter contato com o conjunto de soluções possíveis. E é precisamente
nesse ponto onde se encontram as coordenadas do valor máximo do Z. Para encontrar as coordenadas deste ponto,
resolve o sistema de equações formado pelas duas retas que se cortam nele. A solução será portanto (x1, x2) = (
1.2, 4.8).

Sustituyendo en Z, se llega a

max Z = 4x1 + 5x2

max Z = 4(1.2) + 5(4.8) = 28.8

max Z = Z* = 28.8
Exemplo 2

Resolva o seguinte problema do PL pelo método gráfico


Max Z = 3x1 + 2x2

Sujeto a

4x1 + 5x2  20

6x1 + 3x2  24

-3x1 + x2  0

x1, x2  0

O processo de solução deste exemplo é similar ao anterior. L única diferença é com a restrição 3, devido a que a
mesma passa pela origem de coordenadas e para riscá-la é necessário limpar uma das variáveis em términos da
outra

x2 = 3x1

Avaliando a variável x1 = 1, terá-se x2 = 3. obtém-se assim o ponto (1, 3) e se pode riscar a reta que
passa por este ponto e pela origem.

Uma vez que se riscaram as retas, para conhecer qual é o conjunto de soluções possíveis da terceira restrição, não
é possível utilizar, como nas demais, o ponto (0, 0). Neste caso, tomam as coordenadas de um ponto qualquer e se
substituem em dita restrição. Se a desigualdade ou igualdade se satisfaz, então a região de solução de inecuación
estará formado por todos os pontos que se encontram no mesmo lado em que se encontra o ponto tomado como
referência. Se não se satisfizer, então a região de solução será a do lado contrário.

Por exemplo, se se substituir o ponto (2, 1) na terceiras restrição, terá-se


-3(2) + (1)  0

-5 < 0

então, a região de solução desta inecuación estará formada por todos os pontos que se encontram na região da
direita. A situação se representa pelo gráfico (3).

X* = (1.6, 4,8)

X1
Z1 = 6
Z1 = 24
O resto dos passos para a determinação do ótimo é similar a do exemplo 1.

Procedimentos algorítmicos de solução

devido a que o procedimento de solução gráfico solo é facilmente aplicável em caso de que o problema contenha
até duas variáveis essenciais, necessita-se um procedimento eficaz mediante o qual se
possa dar solução a problemas de majores dimensione.

Embora em 1938, Kantorovich resolveu um modelo utilizando uma variante do método dos multiplicadores do
Lagrange, em realidade o primeiro algoritmo que resolveu com êxito o problema do PL foi o denominado Método
Simplex elaborado pelo Dantzig (1947/48) e a partir do qual se elaboraram diferentes algoritmos com mais ou
menos complexidade tais como: método Simplex Revisado, Simplex modificado, Simplex-Dual, método de entrada
e saída da base de dois vetores simultaneamente, etc.

Estes métodos de solução estão fora do objetivo deste livro, não dedicado a especialistas em Investigação de
Operações, a não ser a estudantes das carreiras econômicas e empresários interessados nos métodos
quantitativos. Dado que na atualidade os modelos do PL resolvem facilmente mediante pacotes de programas para
computadores eletrônicas, tanto o procedimento gráfico, como o procedimento algorítmico manual, explicam-se para
poder realizar a análise do problema e de sua solução, de maneira que se possam fazer as correções necessárias,
tanto no primeiro como na segunda.

Tendo em conta os fins declarados acima, neste capitulo se estudará somente o chamado método Simplex padrão
ou clássico. O método Simplex é um procedimento iterativo que em um número finito de passos, permite chegar à
solução ótima do problema do PL. Começa o processo a partir de uma solução básica, ou seja a partir de uma
solução de ponto extremo e vai movendo-se de solução básica em solução básica, aumentando (diminuindo) o valor
da função objetivo em cada passo, até chegar à solução que proporciona o máximo (mínimo) valor do Z.

Do ponto de vista do procedimento de cálculo, este método se apóia na construção e modificação, passo a passo,
dos componentes de uma tabela que tem a seguinte forma:

Cj  C1 C2 ... Ck ... Cn

CB i XBi XB * P1 P2 ... Pk ... Pn

CB1 XB2 XB1* p11 p12 ... P1 k ... p1n

CB2 XB2 XB2* p21 p22 ... p2k ... p2n

. . . . . . .

. . . . . . .

. . . . . . .

CBm XBm XBm* pm1 pm2 ... pmk ... pmn

Zj  Z0 Z1 Z2 ... Zk ... Zn

Zj  Cj  Zj  Cj Zj  Cj Zj  Cj Zj  Cj

A composição dos elementos da tabela é a seguinte:

Na primeira fila se encontram os coeficientes econômicos (cj) das variáveis, tal como aparecem na função objetivo.

A primeira coluna está encabeçada pelo CBi, quer dizer, os elementos que a compõem são os coeficientes
econômicos das variáveis básicas. Recorde-se que se tem uma variável básica por cada restrição do problema. Na
segunda coluna se escrevem quão variáveis são básicas no problema concreto que vai se resolver, e na terceira
coluna se escrevem os valores dessas variáveis básicas.

As colunas encabeçadas por P1, P2,Pn, . . . estão compostas pelos coeficientes de quão variáveis compõem a
matriz A do conjunto de restrições do problema. A terceira coluna em ocasiões se denomina como P0.
A penúltima fila desta tabela formada pelos Zj. Estes valores se obtêm multiplicando os elementos da coluna dos CBi
pelos elementos da coluna Pj e somando os resultados destes produtos.

Uma vez calculados os elementos da fila dos Zj, subtrai a cada um deles o elemento Cj correspondente que se
encontra na primeira fila da tabela e se obterão os elementos da última fila.

antes de aplicar o método simplex se necessita que o conjunto de inecuaciones que compõem as restrições se
escrevam como equações. Para explicar os diferentes aspectos do algoritmo Simplex padrão, tomaremos como
exemplo o problema exposto no exemplo 1.

Exemplo 2 Converter em igualdades as inecuaciones presentes no seguinte problema

max Z = 4x1 + 5x2

sujeto a

8x1 + 3x2  24

2x1 + 6x2  12

x1 + x 2  6

x1  0, x2  0
Para converter o conjunto de restrições em igualdades, note-se que na primeira restrição o membro esquerdo é
maior ou igual ao membro direito. Para obter que sejam iguais é possível subtrair do membro esquerdo uma variável
não negativa, denominada como variável de folga cujo valor será igual a possível diferencia entre o membro
esquerdo e o direito da restrição. Essa mesma operação se poderá realizar com a segunda restrição.

No caso da terceira restrição, o membro da esquerda é menor que o da direita, nesse caso será necessário somar
uma variável de folga cujo valor será a diferença entre os dois membros originais da restrição. Desse modo o
conjunto de restrições ficaria como segue:
8x1 + 3x2  x3  24

2x1 + 6x2 x4  12

x1 + x 2 + x5  6

x1  0, x2  0, x3  0, x4  0, x5  0

As variáveis de folga deverão formar parte da função objetivo e podem aparecer com um valor positivo na solução
ótima. Por isso para que seu valor não afete o valor de Z ótimo, lhe imporá um coeficiente zero. Deste modo a
função objetivo ficaria como:

max Z = 4x1 + 5x2 + 0x3 + 0x4 + 0x5


Exemplo 3: Converter em igualdades as restrições do seguinte problema

Min Z = 6x1 + 12x2

sujeto a

2x1 + 4x2  12

4x1 + 3x2  24

x1, x2  0

Se se acrescentarem as variáveis de folga se terá que o problema ficaria como segue:

min Z = 6x1 + 12x2 + 0x3 + 0x4

sujeto a

2x1 + 4x2 + x3 = 12

4x1 + 3x2 + x4 = 24

x1, x2, x3, x4  0

Entre os problemas dos exemplos 2 e 3 existe uma diferença quando se convertem os sistemas de restrições em
igualdades. No segundo, quando se realiza esta operação, as variáveis de folga que se acrescentam, aparecem
somando e os coeficientes destas variáveis formam uma matriz identidade , quer dizer formam uma base. Isto se
pode observar na matriz do sistema A cujas duas últimas filas e colunas formam uma matriz unitária.

2 4 1 0
A= 
4 3 0 1

Neste caso, se se supuser às variáveis essenciais com valor zero, então os valores das variáveis de folga estão
determinados, são os términos independentes. O sistema de restrições ficaria como segue:

2(0) + 4(0) + x3 = 12

4(0) + 3(0) + x4 = 24

Neste caso se diz que estas variáveis constituem uma solução básica.

No primeiro caso, quando se acrescentam as variáveis de folga, os coeficientes destas variáveis não conformam
uma matriz identidade, pois alguns deles são iguais a ?1. portanto as variáveis de folga não conformam uma solução
básica.

Ao aplicar o método Simplex para resolver estes dois problemas, observam-se algumas diferencia derivadas do fato
de que exista ou não uma solução básica ao acrescentar as variáveis de folga.

Por conseguinte, para aplicar o procedimento Simplex padrão à solução de um problema do PL, terá que distinguir
duas situações:

? Caso I: o problema contém uma base ao acrescentar as variáveis de folga


? Caso II: o problema não contém uma base ao acrescentar as variáveis de folga.

Você também pode gostar