• Nenhum resultado encontrado

Desenvolvido em 1947 por George Dantzig, o método simplex é um

procedimento algébrico baseado em conceitos geométricos. É usado com frequência

para solucionar problemas de grande porte, demonstrando ser um método de

extrema eficiência. Sua aplicação é feita através de pacotes de softwares

sofisticados, exceto para pequenos problemas e aplicações acadêmicas. Suas

extensões e variações também possibilitam realizar análise de sensibilidade

(HILLIER e LIEBERMAN, 2013).

Para o entendimento do método Simplex é importante fixar que a PL busca

encontrar valores para n variáveis de decisão (x

1

, x

2

, ..., x

n

), não negativos, para

maximizar ou minimizar uma expressão linear (Z = c

1

x

1

+ c

2

x

2

+ ... + c

n

x

n

),

atendendo a um conjunto de restrições lineares, na forma de igualdades ou

desigualdades, com a representação na forma matricial expressa por Ax {≤, =, ≥} b,

onde (PIZZOLATO e GANDOLPHO, 2012):

- A é a matriz dos coeficientes tecnológicos;

- x é um vetor coluna com dimensão n reunindo as variáveis de decisão;

- b ≥ 0 é o vetor dos recursos ou insumos disponíveis para a produção.

Assim sendo, a forma padrão da PL representada por matrizes fica (PIZZOLATO

e GANDOLPHO, 2012):

Max (ou Min)

sujeito a

𝑍 = 𝑐𝑥

𝐴𝑥 = 𝑏

𝑥 ≥ 0

FIG. 3.2 – Matrizes da forma padrão da Programação Linear (PIZZOLATO e

GANDOLPHO, 2012)

Onde:

- A matriz m x n dos coeficientes tecnológicos;

- b vetor coluna m x 1 das constantes do lado direito;

- x vetor coluna n x 1 das variáveis de decisão;

- c vetor linha 1 x n dos coeficientes da função objetivo.

todas as restrições se transformam em equações com a inclusão de variáveis de

excesso. Esta variável, de folga ou de excesso, adicionada a desigualdade tem valor

igual ao inverso da desigualdade, desta forma o sinal de desigualdade desaparece e

dá lugar ao sinal de igualdade, conforme cada caso inicialmente considerado

(PIZZOLATO e GANDOLPHO, 2012).

A solução gráfica da PL que introduz o conceito e ampara o procedimento

algébrico de solução do simplex e pode ser demonstrada com facilidade em

problemas de duas variáveis de decisão (x

1

e x

2

), onde cada uma delas é

posicionada sobre cada um os eixos de um plano cartesiano, respectivamente.

Considerando a premissa de não negatividade, toda a análise deverá acontecer no

primeiro quadrante. As restrições aparecem sobre este plano cartesiano na forma de

retas onde as inclinações são determinadas por seus parâmetros. O polígono

delimitado a partir dos eixos do primeiro quadrante e pelo cruzamento das restrições

é denominado como espaço das soluções viáveis. Os vértices desta figura são

determinados como pontos extremos factíveis (PEF) da solução e a melhor solução

ponto extremo factível será a solução ótima para o problema. Neste momento,

traça-se o vetor gradiente com os coeficientes da função objetivo (FO), que é exatamente

normal a FO e que indica à direção de crescimento da FO. A solução ótima é

encontrada deslocando a FO até atingir o ponto que resultará no maior valor de Z

quando o problema for de maximização e, no menor valor de Z quando o problema

for de minimização (HILLIER e LIEBERMAN, 2013).

A solução ótima poderá resultar em uma solução única, quando existir apenas

um PEF ótimo; em soluções múltiplas quando existir dois PEFs ótimos; em uma

solução ilimitada quando o espaço de soluções viáveis for aberto na direção de

crescimento da FO; e, em uma solução infactível quando não existir um espaço de

soluções viáveis delimitado pelas restrições do problema (PIZZOLATO e

GANDOLPHO, 2012).

Imaginando um polígono formado inicialmente pelas restrições de não

negatividade, deduz-se que o espaço das soluções factíveis estará no primeiro

quadrante de um plano cartesiano. As restrições, na forma de retas delimitarão um

polígono. Sobre esta figura, o procedimento algébrico resolve o problema de PL

através de iterações onde parte da origem como valores para a FO (x

1

= 0, x

2

= 0);

em seguida testa a taxa de crescimento de cada parâmetro da FO e direciona o

teste para um dos dois PEFs mais próximos da origem com melhor resultado de Z. A

partir da escolha do primeiro PEF com melhor resultado de Z, da segunda iteração

em diante, o próximo PEF é testado e verificado se melhora ou piora o resultado da

FO. Se o resultado do teste piorar a FO, a solução ótima foi encontrada, pois a partir

dali não haverá mais nenhum PEF que possa melhorar a FO (HILLIER e

LIEBERMAN, 2013).

Ainda existem outras formas para a resolução do simplex, a forma algébrica, a

tabular e a matricial. A forma algébrica é a mais recomendada para o entendimento

da lógica do algoritmo, entretanto a forma tabular é a mais conveniente para resolver

o problema manualmente, enquanto que a forma matricial é a mais conveniente para

ser executada automaticamente em computador (HILLIER e LIEBERMAN, 2013).

As formas de resolução do simplex citadas acima visam realizar o pivotamento.

Este consiste na aplicação do método de eliminação de Gauss-Jordan, para que o

sistema de equações se converta para a forma canônica, em que a matriz dos

coeficientes seja uma matriz identidade (PIZZOLATO e GANDOLPHO, 2012).

Na forma algébrica, inicialmente as variáveis de decisão tem seu valor atribuído

à zero, são definidas nulas e chamadas de variáveis não básicas. As demais

variáveis, de folga ou de excesso, tem seu valor atribuído pela equação da restrição,

são chamadas de variáveis básicas e formam a base do sistema linear. A partir daí,

com a realização de cada iteração do pivotamento, uma variável não básica deverá

entrar na base, onde seu valor deixará de ser nulo e crescerá até o maior valor

possível dentro das restrições, podendo ser positiva ou eventualmente nula;

enquanto que deverá ser visto qual variável básica deverá sair da base e se tornar

nula (PIZZOLATO e GANDOLPHO, 2012).

Quando o problema é de maximização, a escolha da variável que entra é feita

pelo maior coeficiente positivo da função objetivo, pois, ele proporcionará o maior

crescimento da FO. Para escolher a variável que sai, deverá ter o cuidado de manter

as variáveis básicas não negativas, escolhendo a que tenha a maior taxa de

decrescimento e igualando-a a zero (PIZZOLATO e GANDOLPHO, 2012).

A forma tabular torna-se simples para organizar os cálculos analíticos descritos

sucintamente acima utilizando de quadros onde os números envolvidos em cálculos

matemáticos ficam destacados e registrados de forma compacta. A TAB. 3.2,

da PL (forma algébrica) com a forma tabular. No formato tabular a direita, na

primeira linha do quadro, a FO toma a forma de uma restrição igualada a 0 (b

0

= 0),

tem o sinal de seus coeficientes invertidos ao passarem do lado direito para o lado

esquerdo da equação, e Z passa a compor a base do sistema como uma variável de

valor 1. Nas linhas seguintes, são apresentadas as equações das restrições

acrescidas das variáveis de folga (PIZZOLATO e GANDOLPHO, 2012).

Esta tabela mostra um exemplo tabular de estrutura inicial de um problema de

maximização com duas variáveis de decisão ou duas variáveis não básicas (x

1

e x

2

)

e três restrições que resultaram, neste caso, em três variáveis de folga (x

3

, x

4

e x

5

).

O cabeçalho destaca quais elementos serão apresentados nas colunas; na linha da

equação 0, Z recebe o valor de 1, as variáveis não básicas recebem os respectivos

coeficientes da FO com sinal invertido, os coeficientes das variáveis básicas

recebem o valor zero e, b também é zero. Da linha da equação 1 a da equação 3

são apresentadas os coeficientes originais das restrições (a

ij

) seguidos do valor 1

para a respectiva variável de folga e valor 0 para as demais. Os coeficientes são os

dados originais do problema quando se trata da primeira iteração, onde os valores

das variáveis não básicas são estabelecidos em zero resultando nos valores das

variáveis básicas iguais aos valores de contidos no vetor b, conforme demonstrado

na igualdade de vetores (x

1

, x

2

, x

3

, x

4

, x

5

) = (0, 0, b

1

, b

2

, b

3

) que é a primeira solução

básica viável. Da segunda iteração em diante, com a aplicação dos pivotamentos, os

coeficientes vão se modificando (HILLIER e LIEBERMAN, 2013).

TAB. 3.2 – Comparação da forma padrão com a forma tabular, adaptado de

(HILLIER e LIEBERMAN, 2013)

Forma algébrica Forma tabular

Variável básica Eq.

Coeficientes de: Lado direito

Z 𝑥

1

𝑥

2

𝑥

3

𝑥

4

𝑥

5 (0)

Z −c

1

x

1

−c

2

x

2

= b

0

Z

(0) 1

−c

1

−c

2 0 0 0 0 (1)

a

11

x

1

+a

12

x

2

+x

3

= b

1

x

1 (1) 0

a

11

a

12 1 0 0

b

1 (2)

a

21

x

1

+a

22

x

2

+x

4

= b

2

x

2 (2) 0

a

21

a

22 0 1 0

b

2 (3)

a

31

x

1

+a

32

x

2

+x

5

= b

3

x

3 (3) 0

a

31

a

32 0 0 1

b

3

A partir do preenchimento do quadro com os valores da FO e das restrições

iniciam-se as sucessivas iterações até atingir a solução do problema. O primeiro

passo da iteração é identificar qual variável não básica deve entrar na base. Para

isto, na linha da equação 0, deve ser identificado qual o valor mais negativo para

problemas de maximização, sendo este a maior taxa de crescimento da FO

(PIZZOLATO e GANDOLPHO, 2012). Na primeira linha, a coluna deste valor

indicará qual é a variável que entra na base (x

1

ou x

2

).

O próximo passo é identificar qual a variável que sai da base (x

3

, x

4

ou x

5

– na

primeira coluna da forma tabular). A identificação é feita testando os quocientes dos

elementos da coluna b (equações 1 a 3) e os elementos positivos da coluna da

variável que entra. A escolha será pela variável em que o resultado da divisão de b

pelo elemento positivo da coluna da variável que entra der o menor resultado

(PIZZOLATO e GANDOLPHO, 2012). Este teste também é conhecido como teste da

razão mínima (HILLIER e LIEBERMAN, 2013).

Depois de identificar a variável que entra e a variável que sai, atribui como

elemento pivô o valor da célula na interseção da coluna da variável que entra com a

linha da variável que sai. Em seguida deve-se criar um vetor unitário, onde o

elemento pivô resultará no valor e dos demais valores da coluna da variável que

entra resultarão em zero, aplicando o método de eliminação de Gauss-Jordan

através de operações elementares. Os resultados irão compor um próximo quadro

com os valores do pivotamento para uma próxima iteração. Neste novo quadro, a

variável que entrou na base (x

1

ou x

2

) tomará o lugar da variável que saiu da base

(x

3

, x

4

ou x

5

) na primeira coluna da forma tabular, identificada como coluna das

variáveis básicas (PIZZOLATO e GANDOLPHO, 2012).

As operações elementares que podem ser realizadas são a multiplicação ou

divisão de uma equação por uma constante diferente de zero ou, a soma ou

subtração de um múltiplo de uma equação a outra equação (HILLIER e

LIEBERMAN, 2013).

As iterações seguintes devem acontecer enquanto houver coeficientes negativos

na equação 0. Para o problema de maximização, a partir do momento em que no

exame da equação 0 for constatado que todos os elementos são não negativos, terá

chegado a solução ótima. Os resultados da otimização são apresentados na coluna

b, onde na equação 0 está a solução ótima da FO e nas demais linhas o valor das

variáveis básicas (PIZZOLATO e GANDOLPHO, 2012).

Alguns casos devem ser observados na resolução do Simplex pelos quadros

(forma tabular), como por exemplo:

- Soluções múltiplas são observadas quando a análise da Linha 0 indica que a

solução ótima foi encontrada e uma das variáveis não básicas apresenta

valor igual a 0 na Linha 0. O pivotamento para esta variável entrar na base

resultará em um mesmo valor ótimo para a FO (PIZZOLATO e

GANDOLPHO, 2012);

- Solução ilimitada acontece quando a variável básica que entra puder ser

aumentada indefinidamente sem chegar a nenhuma valor negativo para a

qualquer uma das atuais variáveis básicas. Isto acontece quando alguma

variável da Linha 0 possuir um coeficiente que indique melhoria da função

objetivo e todos os elementos da sua respectiva coluna são ≤ 0,

impossibilitando a realização do teste da razão mínima. Na maximização de

um problema, é impossível que o lucro gerado seja ilimitado, portanto, deve

haver algum erro de formulação ou, alguma restrição relevante foi omitida ou

mal declarada ou, pode ser algum erro computacional (HILLIER e

LIEBERMAN, 2013);

- Solução infactível acontece quando não for possível identificar nenhuma

solução viável na aplicação do método, pois o conjunto de restrições não é

compatível com a FO (PIZZOLATO e GANDOLPHO, 2012);

- O empate na entrada acontece quando mais de uma variável é candidata

entrar na base apresentando mesmo coeficiente, sejam eles ≤ 0 para

problemas de maximização ou ≥ 0 para problemas de minimização. Neste

caso, adota-se arbitrariamente qualquer uma as variáveis (PIZZOLATO e

GANDOLPHO, 2012);

- O empate na saída acontece quando o teste da razão mínima apresenta

mais de uma variável candidata a sair da base, com mesmo resultado. Neste

caso, adota-se arbitrariamente qualquer uma as variáveis, onde a variável

que ficar após o pivotamento será igual 0 e a solução básica é tida como

degenerada. Este caso conduz a um loop de iterações e já foi alvo de

estudos, havendo raros registros de casos reais em que isto tenha

acontecido. Os softwares atuais são capazes de se proteger deste fenômeno

(PIZZOLATO e GANDOLPHO, 2012) e (HILLIER e LIEBERMAN, 2013).

A forma de solucionar o simplex apresentada até o momento considerou as

restrições funcionais ≤ b

i

, para todo i = 1, 2, ..., m. Quando alguma das restrições

funcionais é uma igualdade (b

i

= 0), ≥ b

i

ou o lado direito é negativo, a identificação

da solução básica viável inicial fica comprometida, complicando a aplicação do

método (HILLIER e LIEBERMAN, 2013).

Diante do exposto, para quando alguma restrição funcional for uma igualdade,

será necessário criar uma base artificial de partida, através da introdução de m

variáveis artificiais, uma para cada restrição de igualdade, que serão substituídas

após algumas iterações por uma base real criada a partir das variáveis reais do

modelo. Este tipo de modelo pode ser solucionado pelo Método do M Grande ou

pelo Método das Duas Fases (PIZZOLATO e GANDOLPHO, 2012).

Para quando o lado direito de alguma restrição funcional for negativo, basta

multiplicar ambos os lados por -1 satisfazendo as restrições de não negatividade

(HILLIER e LIEBERMAN, 2013).

E, para quando alguma das restrições funcionais ≥ b

i

, cria-se a variável de

excesso e uma variável artificial de folga, onde a variável de excesso subtrai o

excedente do lado esquerdo no lado direito, realizando a conversão da restrição de

desigualdade em uma restrição de igualdade equivalente (HILLIER e LIEBERMAN,

2013).

O Método do M Grande consiste em introduzir variáveis artificiais na FO com

coeficientes muito grandes, negativos no caso de maximização e positivos no caso

de minimização, onde estas variáveis artificiais devem ter seus valores reduzidos a

zero e sair da base com a otimização do problema. Caso alguma variável artificial

possua um valor diferente de 0 o problema será infactível. Como não é fácil definir

um valor relativamente muito grande, este método não é utilizado, porém, não deixa

de ser uma importante contribuição acadêmica (PIZZOLATO e GANDOLPHO,

2012).

O Método das Duas Fases consiste inicialmente, na primeira fase, em eliminar

as variáveis artificiais, onde todas estas devem ser eliminadas ou ter seu valor

reduzido à zero, identificando a solução básica somente com variáveis reais do

modelo. Após a conclusão da primeira fase, a segunda fase se inicia substituindo a

Linha 0 da 1ª Fase pela FO do problema original (PIZZOLATO e GANDOLPHO,

2012).