Você está na página 1de 22

UNIVERSIDADE ZAMBEZE

FACULDADE DE CIÊNCIAS E TECNOLOGIA


Departamento De Ciências Actuariais e Cadeiras Gerais

TEMA 4: PROGRAMAÇÃO LINEAR PELO


MÉTODO SIMPLEX
Cursos: Eng. Eléctrica PL
Docentes: Dinis Simbe
INTRODUÇÃO

Em todos os problemas anteriores, usamos os sinais


() e (), nas inequações das restrições e depois
resolvemos o problema assumindo que todas
variáveis eram não negativas.
Nesta secção vamos definir dois tipos especiais de
variáveis: As variáveis de folga e de excesso,
associadas com as restrições da forma  e  ,
respectivamente, também faz-se uma introdução do
conceito de variáveis não restritas, cujo valor pode
ser positivo, zero ou negativo.
DEFINIÇÕES
Variável de Folga
 Introduz-se uma variável de folga, para cada
restrição do tipo , no primeiro membro da
inequação e transforma-se esta em equação.
 Uma variável de folga representa a diferença
entre o limite máximo de um determinado
recurso e as quantidades do mesmo recurso que
forem usadas pelas diferentes actividades.
 Por exemplo, a restrição 6x1 + 4x2  24 é
equivalente a 6x1 + 4x2 + x3 = 24 e x3  0, a
variável de folga x3 representa a quantidade do
recurso que não foi utilizada: x3 = 24 - 6x1 - 4x2.
 Variável de Excesso
 Restrições do tipo  referem-se a quantidade
mínima necessária que deve ser utilizada na
combinação de diferentes actividades;
 A introdução de uma variável de excesso numa
inequação transforma esta em equação;
 As variáveis de excesso representam o excesso da
quantidade do recurso obtido pela combinação
das actividades em relação ao recurso mínimo
necessário. Por exemplo, a restrição x1 + x2  80, é
equivalente a x1+x2 – x3 = 80 e x3  0.
 A condição de não negatividade de x3, significa que
a quantidade atribuída a variável de excesso foi
produzida na combinação das actividades x1 e x2.
(x3 = x1+ x2 – 80).
 Variável não Restrita
Nos modelos passados assumimos a condição de não
negatividade para todas variáveis. Suponhamos que
num dado problema uma variável possa assumir
qualquer valor real. Exemplo:

A variável x3 pode ser de excesso ou folga. A variável


não restrita é substituída por duas variáveis não
negativas: x3 = x3+ - x3- onde x3+ ; x3-  0.
 Se x3+ > 0 e x3- = 0 então x3+ é variável de folga;
 Se x3- > 0 e x3+ = 0 então x3- é variável de excesso;
 Se x3+ > 0 e x3- > 0, o problema de PL não tem
solução.
RESUMO:

1. Uma inequação do tipo  () Converte-se em uma


equação se for adicionada a variável de folga
(excesso) no primeiro membro.
2. Um modelo de programação linear está na forma
padrão (standard) se:
 Todas as restrições (com excepção das restrições
de não negatividade) forem equações, com os
valores do segundo membro não negativos;
 Todas as variáveis são não negativas;
 A função objectiva é do tipo de maximização ou
minimização.
CONT.

3. Para tornar o valor do segundo membro de


uma inequação não negativo, multiplica-se
ambos os membros desta por (-1);
4. Se existe uma variável não restrita, ao
passar o problema da PL para a forma padrão,
esta variável deverá ser substituída por duas
variáveis não negativas
5. A maximização de z = f(x1,x2,...,xm) é
equivalente a minimizar –z = -f(x1,x2,...,xm).
EXEMPLO
Escrever os seguintes problemas de programação linear na
forma padrão.
MÉTODO SIMPLEX
Até agora, foi apresentado o método gráfico para a
resolução dos problemas de programação linear nos
quais só tínhamos duas variáveis de decisão.
Quando o número das variáveis aumenta, este
método ainda que seja correto torna a procura de
solução muito trabalhosa. Uma alternativa deste
método é a utilização do método simplex.
O Método Simplex foi apresentado pelo G.Danztig
(1947), como um método prático para a resolução dos
problemas de programação linear. O Simplex pode ser
descrito como um processo matricial para resolver
problemas de programação linear na forma padrão.
CONT.
Actualmente o método simplex é uma das
ferramentas fundamentais de resolução dos
problemas de programação linear nos diversos casos
em que eles se apresentam.
Nesta abordagem serão apresentados em separado
os algorítmos de resolução para cada um dos casos.
Deve-se salientar que em todos casos existem 4
etapas fundamentais para resolução de
problemas de programação linear, dentre elas a
destacara.
TABELA SIMPLEX INICIAL
A tabela simplex inicial para um problema de maximização de
programação linear é como se segue.

 Da tabela inicial, nota-se que as variáveis básicas (base)


são todas variáveis de folga ou de excesso;
 Os coeficientes – ci, são opostos da função objectivo e
são importantes na indicação da coluna pivô, por isso
são chamados indicadores da coluna pivô;
 O elemento no canto inferior direito é zero, ele
corresponde ao valor da função objectivo inicial.
DETERMINAÇÃO DO ELEMENTO PIVÔ
Um elemento pivô de uma tabela simplex é obtido da
seguinte forma:
 Escolhe-se na linha dos coeficientes da função
objectivo, o maior elemento negativo (max) ou o
maior elemento positivo (min), e a coluna que
contém este elemento chama-se coluna pivô;
 Divide-se cada termo independente pelo
correspondente elemento positivo da coluna pivô. A
linha que apresentar o menor quociente positivo é
chamada linha pivô;
 O elemento que situa-se no cruzamento entre a linha
pivô e a coluna pivô é chamado elemento pivô.

Se a tabela não tem nenhum indicador negativo (max)


ou positivo (min), esta é uma tabela terminal e não
tem pivô.
Cálculo da nova tabela simplex.
Seja T1 a tabela simplex com n linhas e m+n colunas,
cujo o elemento pivô é aij da matrix A. Uma nova
tabela T2 é calculada a partir da tabela T1, usando
operações elementares sobre as linhas da matriz A de
tal forma que apareça um “1” na posição pivô e zeros
“0” nas outras posições da coluna pivô, i.é:
 Divide-se cada elemento da linha pivô li da tabela T1
pelo elemento pivô aij, obtendo-se a correspondente
linha na tabela T2 (li’);
 Se a coluna pivô de T1 é denotada por xi, então a
correspondente coluna de T2, será denotada
também por xi;
 Cada uma das outras linhas lk’ da tabela T2 é obtida
subtraindo o múltiplo conveniente da linha li’ à linha
lk, onde k = 1,n.
MAXIMIZAÇÃO COM RESTRIÇÕES DA FORMA 
 Passo 1. Escrever o problema na forma
canónica ou na forma padrão;
 Passo 2. Introduzir as variáveis de folga (+xm+n)
e rescrever o sistema inicial na forma padrão;
 Passo 3. Apresentar a tabela simplex inicial;
 Passo 4. Se a tabela simplex inicial tiver algum
valor negativo na linha da função objectivo e na
coluna correspondente haver algum valor
positivo, determinar o elemento pivô e realizar as
operações necessárias para obter a nova tabela;
 Passo 5. Repetir o processo do passo 4 até que
todos os indicadores da linha z sejam positivos.
Assim chega-se à tabela terminal e deve-se
interpretar a solução obtida.
Exemplo.
Resolver o seguinte problema de programação linear pelo
método simplex, Maximizar Z = x1 + 9x2 + x3

Resolução
O problema já está na forma canónica, portanto, vai-se
introduzir as variáveis de folga.
Maximizar Z = x1 + 9x2 + x3 + 0x4 + 0x5
Tabela simplex inicial

Tabela simplex
Minimização com restrições da forma 
O processo iterativo do método simplex sempre exige uma
solução básica inicial a partir da qual se busca uma solução
óptima. Quando as restrições são do tipo () ou (=), não existe
essa solução básica inicial.

Como devem ser introduzidas variáveis de excesso a forma


padrão do problema de minimização é:
MÉTODO DE DUAS FASES
 Passo 1. Introduzir as variáveis de excesso (-
xm+n) e artificiais (+ai) para cada restrição.
 Passo 2. Criar uma nova função objectivo
formada pela:
• soma dos coeficientes das equações para a
mesma variável tomados com o sinal negativo d
= -(a11+21+...+an1);
• soma dos coeficientes das variáveis artificiais
que é igual a zero;
• nova função objectivo que é igual a soma dos
termos intependentes tomados com o sinal
negativo (Za = -(b1+ b2 +...+ bn)
CONT.
 Passo 3. Escreve-se a tabela inicial do simplex
para a 1a fase do processo de resolução do
problema.
 Passo 4. Aplica-se normalmente o procedimento
do método simplex, tomando-se como função
objectivo a última linha. Quando a solução óptima
for atingida dois casos podem ocorrer:
• Za = 0: neste caso foi obtida uma solução básica
do problema original e o processo de solução deve
continuar, desprezando-se as variáveis artificiais e
os elementos da última linha. É o início da fase 2
do processo.
• Za  0: neste caso o problema original não tem
solução viável.
EXEMPLO
Resolva o seguinte problema pelo método de duas
fases
Cont.
Tabela inicial simpelx
CONT.
Como na última linha o valor da função objectivo artificial é
igual a zero, a fase 1 termina e a solução encontrada é
solução básica inicial para a fase 2

Você também pode gostar