Você está na página 1de 11

Capítulo I – Introdução e problemas de programação linear

1.Os modelos de programação linear e a Investigação Operacional

A Investigação Operacional traduz o estudo e desenvolvimento de modelos de


optimização que servem de apoio à tomada de decisão. Dentro do grande grupo de
modelos de optimização, existe um grupo específico de modelos de gestão, designados
por modelos de Programação Matemática, que permitem determinar em que condições
se pode maximizar ou minimizar um dado objectivo dada a existência de um conjunto
de limitações.

Os modelos de Programação Matemática, incluem por sua vez quer os modelos


de Programação Linear, quer outros. No âmbito da nossa disciplina, só os modelos
lineares nos interessam. Estes modelos são simples e os mais utilizados em matérias de
gestão. No âmbito da disciplina, iremos estudar modelos relacionados com Produção,
Logística e Recursos Humanos.
A simplicidade dos modelos de Programação Linear deve-se ao facto de:

 Qualquer expressão matemática utilizada nestes modelos ser linear;


 Serem modelos que traduzem uma realidade clara e única, não deixando
margem para aproximações, estimativas, valores esperados ou
probabilidades de ocorrência.

1.1 O problema de Programação Linear

Em muitas situações da actividade profissional, quer seja empresarial ou não,


somos deparados com a necessidade de atingir objectivos bem definidos. No entanto,
estes objectivos encontram-se condicionados a certas limitações, nomeadamente a
disponibilidades de recursos que estão ao nosso dispor para serem utilizados.

1
A maior parte dos problemas que surgem em ambientes de gestão tendem a ser
resolvidos de modo intuitivo. Contudo, se perante situações simples a intuição pode
funcionar bastante bem, ela tende a falhar quando a organização é de grande dimensão e
o problema se apresenta mais complexo.

1.2 Aspectos a serem considerados na análise, resolução e implementação de um


processo de decisão

A escolha de um determinado modelo pode ditar o sucesso ou insucesso de uma


análise considerando que um modelo matemático traduz sempre uma representação
simplificada da realidade, e que quanto mais esse modelo se aproximar dessa realidade
maior a sua aplicabilidade prática e real.

Numa tentativa de sistematização dos aspectos a considerar na selecção da


abordagem mais adequada de uma determinada situação, conclui-se que se deve ter em
atenção:

 A adequabilidade da situação ao algoritmo a utilizar, ou seja, o nível de


simplificação ou de alteração das informações recolhidas que o algoritmo exigir
para que possa ser aplicado;

 A adequabilidade do algoritmo a utilizar em termos da sua eficiência, ou seja, o


nível de esforço ou trabalho que este exigirá face à precisão ou rigor dos
resultados obtidos;

 A adequabilidade do algoritmo a utilizar em termos da sua eficácia, ou seja, a


sua maior ou menor aproximação à solução ou informação que realmente se
pretende obter;

 A aplicabilidade dos resultados obtidos à realidade estudada, nomeadamente em


termos de descodificação da solução óptima e forma como esta deverá ser
interpretada e posteriormente implementada.

1.3 A formulação do problema

Quando nos encontramos perante um problema de decisão é necessário


descrevê-lo através de expressões matemáticas, de forma tão exaustiva e fidedigna

2
quanto possível. Assim, formular um problema não é mais do que representar em
termos matemáticos os aspectos que traduzem a situação real que se pretende estudar:

 A especificação do objectivo com base no qual se pretende tomar a decisão;

 A definição clara do critério de decisão ou medidas de avaliação da grandeza em


que o objectivo é definido;

 A descrição de todas as limitações, regras e/ou condições que definem a


realidade em causa.

Uma mesma realidade pode ser codificada de diferentes formas, começando na


definição do objectivo e posteriormente das variáveis de decisão, ou seja aquelas que
são controláveis ou manipuláveis pelo decisor no sentido da obtenção de um
determinado resultado.

Dois exemplos em que a situação real poderá ser tratada de forma diversa:

A definição do objectivo

Num problema de optimização dos resultados de exploração de uma unidade


produtiva, podemos considerar alternativamente quer o objectivo de
minimização dos custos das operações quer o objectivo de maximização dos
lucros. Esta segunda grandeza é muito mais abrangente que a primeira mas
poderá ser equivalente à primeira, em determinadas situações.

 Se o decisor optar por uma abordagem de maximização dos lucros, ele


poderá querer garantir um limite máximo de custos de produção, bem
como, que a produção, e consequentemente, as vendas estejam a ser
devidamente limitadas pela garantia da utilização restrita dos recursos
produtivos existentes.

 Se o decisor considerar como seu objectivo a minimização dos custos,


ele poderá exigir como condição que as margens de exploração tenham
um valor mínimo garantido. Adicionalmente, neste contexto de
minimização de custos de produção, o decisor deve partir do principio
que está perante uma situação de produção óptima, garantindo assim que
atingiu aquele nível de produção e vendas máximo, em que as receitas
marginais de produção de uma unidade adicional já não compensariam
os custos marginais dessa mesma unidade adicional de cada produto.

 De notar que, não havendo este tipo de limitações em qualquer dos


casos, poderíamos de forma irrealista, minimizar os custos produtivos até

3
zero (deixando de produzir) ou maximizar os lucros até infinito
(produzindo quantidades infinitas).

A definição das variáveis

Num problema de minimização de custos de armazenagem de uma empresa de


comercialização de mercadorias, as variáveis de decisão podem traduzir as quantidades
de mercadoria armazenadas ou, por exemplo, o espaço utilizado por essas mercadorias.
A definição das variáveis dependerá:
 Do tipo de informação que se conseguiu recolher sobre a situação em
causa;

 Da possibilidade de definição matemática do critério de decisão


(minimização de custos de armazenagem) em função de uma ou de outra
grandeza;

 Da possibilidade de definição das limitações do problema, em termos da


quantidade armazenada ou do espaço utilizado.

Depois de definido o objectivo e as variáveis de decisão, poder-se-á então


descrever o problema em termos matemáticos, construindo para isso dois tipos de
expressões: a função objectivo e as restrições.

1.4 A resolução do problema

Os algoritmos de resolução de problemas de programação linear não são mais do


que “receitas matemáticas” que permitem a aplicação generalizada de sequências de
procedimentos e raciocínios estandardizados com vista à obtenção de um determinado
resultado específico que apresenta um formato também ele estandardizado. Os
algoritmos mais utilizados são o do Simplex, o de transportes (problemas de logística) e
o de afectação (problemas de recursos humanos) que serão abordados ao longo da
disciplina.
Após aplicação destes algoritmos será encontrada a solução mais favorável do
problema apresentado, à qual se dá o nome de solução óptima.

4
1.5 Tomada de decisão

A solução óptima que se encontrar permitirá, após análise do seu conteúdo,


efectuar uma escolha e actuar sobre o conjunto de variáveis controláveis. Deve-se
garantir que os resultados sejam os que melhor servem os objectivos do decisor, tendo
sempre em consideração as seguintes questões:

 O modelo de programação linear criado traduz apenas uma parte simplificada e


limitada da situação real, incluindo apenas parte das variáveis que o decisor
pode controlar, as variáveis controláveis da situação estudada.

 O modelo de programação linear não inclui nenhuma das variáveis não


controláveis pelo decisor.

 O modelo de programação linear não explora relações de causalidade entre


variáveis controláveis, não prevendo portanto que a actuação sobre uma delas
possa afectar quer as variáveis controláveis quer as não controláveis.

 O modelo de programação linear traduz uma situação estática, definida num


determinado momento do tempo.

 O modelo de programação linear dá resposta a uma situação cujo âmbito deve


ser claramente identificado.

1.6 O modelo geral de programação linear

1.6.1 A representação matemática de um problema de programação linear

Perante um problema em concreto, é necessário formulá-lo em termos


matemáticos para que este possa ser resolvido através do algoritmo apropriado que nos
levará a tomar uma decisão. Isto implica reconhecer o objectivo do decisor e a partir
daí, identificar as variáveis de decisão, a função objectivo, as restrições e os parâmetros
do modelo.

Vejamos um exemplo de formulação de um problema:

5
Exemplo 1:

Uma empresa produz dois artigos, tipo I e tipo II. A produção destes artigos
requer três tipos diferentes de recursos (material, tempo máquina e mão de obra). O
nível de recursos disponíveis, o consumo de recursos por cada unidade de cada artigo
produzido, bem como o lucro unitário líquido a obter pela venda de cada artigo estão
sintetizados na tabela seguinte:

Tipo I Tipo II Disponibilidades


Material 5 4 200
Tempo-máquina 4 6 240
Mão-de-obra (horas) 2 1 70
Lucro unitário 10 9

Formule o problema, como um problema de programação linear, de tal modo


que a empresa possa determinar a quantidade de cada artigo que deverá produzir para
obter o máximo lucro com essa produção.

Formulação:

1º) Definir as variáveis de decisão


As variáveis de decisão são as quantidades a produzir de cada artigo de cada
tipo. Logo,

x1 – quantidade de artigo tipo I a produzir


x2 - quantidade de artigo tipo II a produzir

2º) Definir a função objectivo


O que se pretende é maximizar o lucro com a produção de cada artigo de cada
tipo. Logo, sendo Z= lucro total com a produção dos dois artigos, vamos

Maximizar Z= 10x1 + 9 x2

3º) Restrições
As restrições são construídas de acordo com as disponibilidades dos recursos.
Assim, não podemos usar mais do que aquilo de que dispomos em material, tempo-
máquina e tempo-homem, atendendo às necessidades de cada um dos recursos em cada
tipo de artigo.

6
5 x1  4 x 2  200 ( Material )
4 x1  6 x 2  240 (tempo  máquina)
2 x1  x 2  70 (tempo  hom em)

4º) Restrição de não negatividade


Esta restrição obriga a que as variáveis sejam no mínimo nulas: x1, x 2  0 .

Destes quatro pontos, resulta a formulação final do problema:

Maximizar Z= 10x1 + 9 x2
Sujeito a:
5 x1  4 x 2  200 ( Material )
4 x1  6 x 2  240 (tempo  máquina)
2 x1  x 2  70 (tempo  hom em)
x1 , x2  0

Genericamente, um problema standard do tipo máximo pode ser representado,


considerando n variáveis e m restrições, do seguinte modo:

M aximizar Z  c1 x 1  c 2 x 2  ...  c n x n
sujeito a :
a 11x 1  a 12 x 2  ...  a 1jx j  ...  a 1n x n  b1
a 21x 1  a 22 x 2  ...  a 2jx j  ...  a 2n x n  b 2

a i1 x 1  a i2 x 2  ...  a ij x j  ...  a in x n  b i

a m1 x 1  a m2 x 2  ...  a mj x j  ...  a mn x n  b m
x 1 , x 2 ,..., x n  0

Podemos, contudo, formular um problema típico de minimização. Este problema


difere do anterior em termos de objectivo e restrições:

7
M inimizar Z  c1 x 1  c 2 x 2  ...  c n x n
sujeito a :
a 11x 1  a 12 x 2  ...  a 1jx j  ...  a 1n x n  b1
a 21x 1  a 22 x 2  ...  a 2jx j  ...  a 2n x n  b 2

a i1 x 1  a i2 x 2  ...  a ij x j  ...  a in x n  b i

a m1 x 1  a m2 x 2  ...  a mj x j  ...  a mn x n  b m
x 1 , x 2 ,..., x n  0

Note-se contudo, que a maioria das situações reais traduzem problemas híbridos,
isto é, problemas em que sendo o objectivo um e um só, de maximização ou
minimização, apresentam restrições dos diversos tipos e variáveis não negativas, não
positivas ou livres. No entanto, através de operações algébricas simples, podemos
converter qualquer problema de programação linear na forma típica de um problema de
maximização.

As regras de redução, de um problema de programação linear, à forma típica de


um problema de maximização são:

1ª) Qualquer problema de minimização pode ser convertido num problema de


maximização: mínimo Z = – máximo (-Z)

2ª) Uma restrição do tipo  pode sempre ser convertida numa restrição do tipo
 multiplicando por (-1) ambos os membros da restrição.

3ª) Uma restrição de igualdade pode sempre ser convertida em duas restrições de
desigualdade do tipo  equivalentes conjuntamente à primeira.

4ª) Uma variável livre (sem restrição de sinal) pode ser sempre convertida na
diferença de duas variáveis não negativas.

1.6.2 A representação dos modelos na forma matricial

Em termos matriciais, o problema standard do tipo máximo apresentado pode-se


traduzir da seguinte forma:

8
 x1 
x 
 2
Max Z  c1 c2 c3 cn  x3 
 

 xn 
 a11 a12 a13  a1n   x1   b1 
a    
 21 a22 a23  a2 n   x2   b2 
Sujeito a:  a31 a32 a33  a3n   x3    b3 
    
           
am1 am 2 am3  amn   xn  bm 
 x1  0
 x  0 
 2  
 x 3   0 
   
   
 x n  0

Para o exemplo apresentado anteriormente, a sua representação matricial é dada por:

x 
Max Z  10 9 1 
 x2 
5 4 200
 x1  
Sujeito a: 4 6    240
 
2 1  2   70 
x

 x1  0
 x   0 
 2  

1.6.3 As hipóteses que assistem ao modelo geral de programação linear

A formulação de um problema de programação linear exige um conjunto de


condições que devem ser verificadas para que possa ser aplicado, as quais nem sempre
são compatíveis coma a situação real a estudar. Essas condições traduzem-se em termos
gerais por cinco propriedades que se passam a apresentar:

9
1.6.3.1 Proporcionalidade

A hipótese de proporcionalidade traduz a regra de que se deve verificar uma


proporção directa constante entre todos os parâmetros do problema em estudo,
qualquer que seja o nível de actividade considerado.

Isto significa que, por exemplo no caso apresentado, as quantidades de recursos


utilizados e as quantidades produzidas se mantêm proporcionais, qualquer que seja o
nível de actividade produtiva. O lucro unitário dos tipos de artigos mantém-se 10 e 9
qualquer que seja o nível de produção escolhido. Também o material, o tempo-máquina
e tempo-homem utilizados se mantêm os mesmos quer se produzam muitos ou poucos
artigos de cada tipo.

1.6.3.2 Divisibilidade

A consideração desta regra de divisibilidade, pressupões que qualquer actividade


considerada num problema de programação linear possa ser uma grandeza divisível,
embora isto nem sempre aconteça.

1.6.3.3 Não negatividade

Às variáveis de decisão de um problema de programação linear é exigida a não


negatividade dos valores que podem assumir.
Esta regra é imposta pelos algoritmos de resolução a aplicar, nomeadamente o algoritmo
do simplex, podendo portanto não vigorar logo de inicio na formulação do problema.

1.6.3.4 Aditividade

A hipótese de aditividade impõe uma contribuição independente de cada


actividade, processo ou produto, quer para o valor da função objectivo, quer no que diz
respeito ao consumo de recursos ou à definição de qualquer outro tipo de condição.
Existem contudo casos em que a hipótese se não verifica, nomeadamente em
casos de processos produtivos em que a produção de um produto afecta de forma muito
concreta a produção de outro.

10
1.6.3.5 Linearidade da função objectivo

A linearidade da função objectivo, pressupõe que a contribuição marginal de


cada actividade para o seu valor, é constante.

11

Você também pode gostar