Usando Programação Linear na Contabilidade Decisorial Valcemiro Nossa Professor da Universidade Federal do Espírito Santo (UFES) Mestre e Doutorando em Controladoria e Contabilidade (FEA/USP) Diretor Presidente, Professor e Pesquisador da FUCAPE Email:
[email protected]
José Ferreira Chagas Mestre em Contabilidade e Controladoria (FEA/USP)
Artigo apresentado no V CONGRESSO INTERNACIONAL DE CUSTOS, em Acapulco, México, em julho/97, publicado na Revista Brasileira de Contabilidade (RBC) nº 107, de set/out de 1997 e na Revista COSTOS Y GESTION nº 27, março/1998, editada pelo Instituto Argentino de Professores Universitarios de Costos (IAPUCO);
Resumo O
estudo
focaliza
a
utilidade,
eficiência
e
eficácia
da
técnica de programação linear no cotidiano dos profissionais que utilizam
a
Contabilidade
para
fins
decisoriais.
Os
autores
demonstram, com exemplos práticos do dia-a-dia, como os contadores podem
se
valer
dessa
técnica
para
a
produção
de
informações
relevantes e dinâmicas e como devem interpretar essas informações. Ressaltam a facilidade de uso linear
e a aplicabilidade da programação
em qualquer tipo de empresa ou instituição, especialmente
após o surgimento das planilhas eletrônicas. Palavras-Chave: Contabilidade Gerencial. Programação Linear. Uso de Planilha Eletrônica.
Margem
de
Produção
Otimizada.
Função-objetivo.
Restrição. Contribuição Marginal. SOLVER. Grau de Sensibilidade. Custo de Oportunidade.
1
1. INTRODUÇÃO Uma
das
mais
nobres
funções
do
profissional
de
Contabilidade
é
o
suprimento de informações de controle para suporte a decisões econômicas. Essa função cresce ainda mais em importância à medida que, neste final de século, são aceleradas as mudanças no meio ambiente empresarial, decorrentes, em sua
maioria,
do
internacional,
avanço
marcada
tecnológico
pela
e
maior
da
nova
configuração
desregulamentação,
da
exposição
economia
a
riscos,
agilidade e competitividade dos mercados. O cenário exige novas competências. Não basta uma resposta correta para uma
questão
complicada.
Em
geral,
um
problema
exige
várias soluções,
todas
fornecidas com informações ágeis e consistentes. Definitivamente não há mais lugar para a improvisação e para decisões intuitivas. Tornou-se quantitativos
imprescindível
na
prestação
para
de
os
contadores
soluções
para
os
a
utilização
problemas
do
de
métodos
dia-a-dia
das
empresas e instituições. Uma das ferramentas com maior potencial de uso é a programação linear. Este tornou-se
artigo essa
procura
técnica
demonstrar
para
os
quão
útil,
profissionais
eficiente
contábeis,
e
indispensável
notadamente
com
o
surgimento das planilhas eletrônicas, as quais propiciam amplas facilidades para o manuseio dessa e de outras técnicas matemáticas e estatísticas. A questões
interpretação do
cotidiano
enriquecedores
da
dos
resultados
empresarial
formação
do
da
e
aplicação
da
institucional
contador.
Nos
é
últimos
programação um
dos
anos,
linear
aspectos
em
mais
felizmente,
os
microcomputadores e as planilhas eletrônicas tornaram-se os grandes parceiros dos profissionais, pois agregaram rapidez, eficiência e eficácia no emprego dessa ferramenta, conforme será mostrado neste trabalho. Os
aspectos
conceituais
mais
relevantes
mostrados no primeiro tópico do artigo.
da
programação
linear
serão
A seguir, os autores procuram ressaltar
a praticidade da operacionalização da técnica, especialmente quando se usa uma planilha eletrônica1. Será desenvolvido um exemplo aplicativo, com o uso do recurso “SOLVER” disponível na planilha Microsoft Excel para Windows 952, versão 7.03.
Após
a
evidenciação
de
como
determinar
e
interpretar
as
informações
fornecidas, os autores manifestam suas conclusões sobre o tema.
1
A programação linear é aplicada em diversos softwares. Neste artigo será utilizado um deles: a planilha eletrônica Microsoft Excel. 2 O software Microsoft Excel para Windows 95 é uma marca registrada de propriedade da Microsoft Corporation. 3 A versão 5.0 do Microsoft Excel também torna disponível o recurso “SOLVER”. Em português, no entanto, a versão 5.0 não gera o “Relatório Grau de Sensibilidade”, o qual, conforme será adiante explanado, é essencial aos propósitos deste artigo.
2
2. USOS DA PROGRAMAÇÃO LINEAR 2.1. Conceitos A
programação
linear
é
uma
técnica
matemática
que
tem
por
objetivo
“encontrar a melhor solução para problemas que tenham seus modelos representados por expressões lineares”.4 Assim, o âmbito da programação linear se restringe aos problemas cuja representação simbólica possa ser feita por uma linha reta em um gráfico. São aqueles problemas que usam operações aritméticas simples como, por exemplo: adição e subtração, e funções predefinidas tais como SOMA, TENDÊNCIA e PREVISÃO. Problemas
não-lineares
são
os
que
apresentam
um
ou
mais
elementos
desproporcionais entre si e cuja representação em um gráfico se dá através de uma linha curva. Isso pode ocorrer quando: a) as variáveis estiverem divididas ou multiplicadas umas pelas outras; b) uma exponencial for usada no problema; c) funções
predefinidas como CRESCIMENTO e RAIZ, ou quaisquer funções
logarítmicas forem usadas. Existem outras técnicas, fora do escopo deste trabalho, para a solução de problemas de modelos não-lineares. Um modelo, segundo STEVENSON5 “é uma versão simplificada de algum problema ou situação da vida real destinada a ilustrar certos aspectos do problema sem levar em conta todos os detalhes.”. Portanto, pode-se formalizar e quantificar os
aspectos
de
um
problema
através
de
representações.
Há
modelos
verbais
(palavras e sentenças), modelos gráficos, modelos numéricos (números e equações) e modelos físicos (tridimensionais). Para tratados
fins
os
deste
modelos
artigo,
numéricos
conforme
foi
representados
mencionado por
acima,
expressões
apenas
lineares
serão
(linhas
retas). A programação linear consiste na maximização ou minimização de uma função linear,
denominada
igualdades
ou
função-objetivo,
desigualdades
que
respeitando-se
recebem
o
nome
um
de
sistema
restrições
linear do
de
modelo.
Restrição é aquilo que impede um melhor desempenho de um sistema e representa normalmente limitações de recursos disponíveis (capital, mão-de-obra, recursos minerais 4
ou
fatores
de
produção)
ou
exigências
e
condições
que
devem
ser
BREGALDA, Paulo Fábio, OLIVEIRA, Antonio A . F. de, BORNSTEIN, Cláudio T. Introdução à Programação Linear. 3. ed. Rio de Janeiro: Campus, 1988, p. 61.
3
cumpridas no problema. As restrições delimitam uma região de um plano na qual se insere o conjunto das soluções viáveis. A melhor dessas soluções, ou seja, aquela que maximiza ou minimiza a função-objetivo é chamada solução ótima. A programação linear visa determinar essa solução ótima. Esses conceitos de função-objetivo, restrição e solução ótima podem ser melhor compreendidos quando inseridos em situações da vida real das empresas, conforme será demonstrado no caso prático a seguir.
2.2. Exemplo Imaginemos que seja solicitada ao contador de uma indústria de lingerie
a
determinação de um mix ideal de produção para a empresa. O contador obtém as seguintes informações: 1. Margens de contribuição dos produtos, por unidade:
PRODUTO
MARGEM DE CONTRIBUIÇÃO UNITÁRIA
Anágua
R$ 3,00
Baby-doll
R$ 5,00
Camisola
R$ 8,00
2. Restrições à produção:
A produtos
QUANTIDADE REQUERIDA PELOS PRODUTOS
ITEM
QUANTIDADE
RESTRITIVO
MÁXIMA
ANÁGUA
BABY-DOLL
CAMISOLA
DISPONÍVEL
( a )
( b )
( c )
Espaço Físico (m2)
5.000
8
2
3
Tecido (m)
8.000
2
8
3
Horas-máquina (hm)
7.000
2
3
8
solução que
ótima,
neste
maximizasse
a
caso,
seria
a
melhor
função-objetivo,
aqui
combinação denominada
possível
de
Margem
de
Contribuição Total (MCT), ou seja:
Maximizar MCT = 3 a 5
+
5 b
+
8 c
STEVENSON, William J. Estatística Aplicada à Administração. Tradução de Alfredo Alves de Farias. São Paulo:
4
a
qual
está
sujeita
às
seguintes
restrições
(limitações
de
recursos):
8 a
+ 2 b
+ 3 c
=0) e passaria para maior ou igual a 10 ($B$2>=10). Definidos os parâmetros,
o passo seguinte é definir as opções do “SOLVER”
(clicar o botão “Opções”).
Passo 4: Definição das Opções do “SOLVER”
Nesta fase são indicadas opções que permitem administrar a forma como o programa
irá
resolver
o
problema.
Possibilitam
a
melhoria
da
precisão
do
resultado obtido e o tempo consumido na solução do problema. Dependendo da escolha, a solução poderá ser encontrada com maior ou menor rapidez, com maior ou menor precisão. Opções mais avançadas (Estimativas, Derivadas, Localizar) também estão disponíveis. O “SOLVER” normalmente apresenta uma pré-definição padronizada, devendo ser
alterada
unidimensional,
somente
nos
extrapolação
casos linear
de de
problemas um
vetor
mais
complexos
tangencial,
(pesquisa
extrapolação
quadrática etc.). Em qualquer caso, a consulta à função “Ajuda” será bastante útil.
10
Após certificar-se de que as opções estão preenchidas corretamente, clicar “OK” e, em seguida, “Resolver”.
Passo 5: Avaliação dos Resultados Parciais
Na
hipótese
resultados interrompido
de e
de,
no
iteração”, o
“SOLVER”
Passo a
4,
cada
exibirá
haver
solução uma
sido
assinalada
parcial
janela,
a
encontrada
como
a
opção o
mostrada
“Exibir
sistema abaixo.
é Os
resultados parciais deverão ser analisados e escolhida a opção de “Continuar” ou “Parar”. No caso de não ser pedida a exibição de tentativas de solução, o “SOLVER” apresentará o resultado que encontrar.
11
Passo 6: Resolução do Problema
Tendo prosseguirá
sido
escolhida
buscando
a
a
solução
opção
“Continuar”
ótima
para
o
no
Passo
problema.
5,
Quando
o
“SOLVER”
encontrado
o
resultado, pode-se então “salvar” a solução, retornar aos valores originais, ou então solicitar a geração dos relatórios (“Relatório de Resultado”, “Relatório Grau de Sensibilidade” e “Relatório de Limites”), conforme as opções oferecidas. A interpretação do “Relatório Grau de Sensibilidade” somente será tratada no tópico 2.4.
12
Para obtenção de relatórios, deve-se assinalar aquele(s) desejado(s) ou, se desejar todos, manter pressionada a tecla “CTRL” e clicar sobre todos os tipos de relatório. No final, clicar “OK”.
Passo 7: Interpretação da Planilha Final
Na planilha final é indicada qual a quantidade de cada produto deve ser produzida para maximizar a margem de contribuição total, otimizando os recursos. Qualquer outra combinação que se fizer entre as quantidades não conseguirá atingir a margem de contribuição total calculada como solução ótima. Também
nesta
planilha
são
informados
os
totais
de
recursos
escassos
(espaço físico, tecido e horas-máquina) que serão necessários para a fabricação do mix de produtos.
Passo 8: Interpretação do “Relatório de Resultados”
• “Relatório de Resultados” espelha os dados da planilha inicial e dos resultados obtidos.
13
Microsoft Excel 7.0c Relatório de resultados Planilha: [TESTES.XLS]DADOS1 Relatório criado: 21/1/97 15:23 Célula de destino (Máximo) Célula Nome Valor Valor final original $E$4 Margem Total 0 8715 Células ajustáveis (variáveis) Célula Nome Valor Valor final original $B$2 Quantidade Anágua 0,0 238,5 $C$2 Quantidade Baby-doll 0,0 738,5 $D$2 Quantidade Camisola 0,0 538,5 Restrições Célula Nome Valor da Fórmula célula $E$10 Total espaço físico (m2) 5000 $E$10=0
Status
Diferencial
Obrigatório Obrigatório Obrigatório Não obrigatório Não obrigatório Não obrigatório
0 0 0 238,5 738,5 538,5
✔ Valor Original - valor(es) informado(s) na planilha inicial, a partir do(s) qual(is) o software iniciou as iterações. ✔ Valor Final - valor da célula que otimizará a solução e das variáveis básicas.
No
exemplo,
a
margem
de
contribuição
total
(MCT)
e
as
quantidades de produtos a fabricar. ✔ Valor da célula - valor de cada restrição, de acordo com a solução encontrada. ✔ Fórmula
-
cada
uma
das
expressões
lineares
representativas
das
restrições, as quais foram informadas no Passo 3. ✔ Status - Obrigatório - significa que não houve diferença entre o valor da restrição inicial e o valor do recurso necessário calculado para a solução ótima. A restrição, neste caso, está justa, não existe folga; - Não Obrigatório - significa que houve diferença entre o valor da restrição original e o valor do recurso calculado. Havendo diferença há folga do recurso.
14
✔ Diferencial
-
valor
da
diferença
(folga)
existente
entre
o
recurso
necessário calculado e o valor original da restrição. Este valor será diferente de zero quando o Status for do tipo “Não Obrigatório”, ou seja, quando existir folga de recurso.
Passo 9: Interpretação do “Relatório de Limites”
Microsoft Excel 7.0c Relatório de limites Planilha: [TESTES.XLS]DADOS1 Relatório criado: 21/1/97 15:23 Destino Célula Nome $E$4 Margem Total
Valor 8715
Ajustável Célula Nome $B$2 Quantidade Naágua $C$2 Quantidade Baby-doll $D$2 Quantidade Camisola
Valor 238,5 738,5 538,5
✔ Limite
mínimo
-
é
o
mínimo Resultado Limite de destino 0,0 8000,0 0,0 5023,1 0,0 4407,7
menor
valor
que
uma
máximo Resultado Limite de destino 238,5 8715,4 738,5 8715,4 538,5 8715,4
variável
básica
(célula
ajustável: quantidade de anáguas, quantidade de baby-dolls, quantidade de camisolas) pode assumir enquanto todas as demais células variáveis são mantidas fixas e ainda satisfazem todas as restrições. ✔ Limite
máximo
-
é
o
maior
valor
que
uma
variável
básica
(célula
ajustável: quantidade de anáguas, quantidade de baby-dolls, quantidade de camisolas) pode assumir enquanto todas as demais células variáveis são mantidas fixas e ainda satisfazem todas as restrições. ✔ Resultado de destino - corresponde ao valor da célula-meta (aquela que se
pretende
maximizar/minimizar)
da
quando
função-objetivo,
a
célula
variável analisada está em seu limite mínimo ou máximo. Na indústria de lingerie em análise, a solução ótima é produzir 238,5 anáguas, 738,5 baby-dolls e 538,5 camisolas. Não sendo produzida nenhuma anágua e
prevalecesse
a
quantidade
dos
outros
produtos,
todas
as
restrições
continuariam sendo satisfeitas. Ocorreria, no entanto, uma redução da margem de contribuição
total
de
$
8.715
para
$
8.000
concomitante
com
uma
sobra
de
recursos. Neste caso, o Status das restrições no “Relatório de Resultados” seria
15
do tipo “Não Obrigatório”. Por outro lado, se fossem produzidas 240 anáguas e fossem
mantidas
as
quantidades
fabricadas
dos
outros
produtos,
faltariam
recursos e seria necessário aumentar o valor de algumas restrições. Ou seja: o limite máximo de produção de anáguas é de 238,5 unidades. Ultrapassado esse limite,
faz-se
necessária
a
alteração
no
valor
das
restrições.
No
caso
específico, a fabricação do produto anágua pode oscilar entre 0 e 238,5 unidades sem afetar nenhuma das restrições. Esse raciocínio é valido para os demais produtos. 2.4. Uso da programação linear como instrumento de controle gerencial Chama-se Análise de Sensibilidade o estudo realizado após a identificação de um resultado otimizado de um problema através da técnica de programação linear. Ao se encontrar a denominada solução ótima, deve-se proceder uma crítica ao modelo diante de possíveis alterações nas variáveis que possam afetar o resultado. Isso corresponde à etapa de pós-otimização. A planilha eletrônica oferece, além do “Relatório de Resultados” e do “Relatório
de
Limites”
e
das
amplas
possibilidades
de
simulações dos dados
originais, o “Relatório Grau de Sensibilidade”, com informações preciosas para a etapa de pós-otimização. Microsoft Excel 7.0c Relat. grau de sensibilidade Planilha: [TESTES.XLS]DADOS1 Relatório criado: 21/1/97 15:23 Células variáveis Valor Custo Coeficiente Célula Nome final reduzido objetivo $B$2 Quantidade Anágua 238,5 0,0 3 $C$2 Quantidade Baby-doll 738,5 0,0 5 $D$2 Quantidade Camisola 538,5 0,0 8 Restrições Valor Diferença Valor de Célula Nome final de preço restrição $E$10 Total espaço físico (m2) 5000 0,090 5000 $E$11 Total tecido (m) 8000 0,279 8000 $E$12 Total horas-máquina (hm) 7000 0,862 7000
Aumento Redução permitido permitida 15,57 0,64 3,50 1,88 3,50 5,60 Aumento Redução permitido permitida 21000 1690,91 10500 4965,52 5166,67 3500
2.4.1. Conceitos importantes Convém destacar duas das informações fornecidas pelo Relatório que são consideradas
importantíssimas
para
o
julgamento
de
quem
toma
decisões:
os
conceitos de custo de oportunidade (no relatório denominado “Custo Reduzido”) e de Shadow Price (chamado “Diferença de Preço” no relatório).
16
Custo de Oportunidade e Shadow Price se equivalem em significado e estão intimamente relacionados. No Relatório designam elementos diferentes: ✔ “Custo
reduzido”
(de
oportunidade)
-
informa
o
montante
que
será
incorrido, em termos de custos, se determinado produto (célula variável) for fabricado. ✔ “Diferença de preço” (Shadow Price) designa quanto se deixa de ganhar por não se dispor de uma unidade a mais da variável restritiva. Outras informações: ✔ Valor Final - valor da solução ótima para as células variáveis e para as restrições. ✔ Coeficiente Objetivo - coeficiente da célula ajustável (variável básica) na função objetivo. ✔ Aumento/Redução permitida • Nas
células
coeficiente qualquer
variáveis:
objetivo
uma
das
sem
refere-se que
células
haja
ao uma
limite
de
alteração
variáveis.
Por
aumento/redução
do
no
de
valor
exemplo:
a
final margem
de
contribuição do produto anágua, que é de $ 3, poderá ser diminuída em até $ 0,64 ($ 3 - $ 0,64 = $ 2,36) ou aumentada em até $ 15,57 ($ 3 + $ 15,57 = $ 18,57), que em nada alterará a composição das quantidades (Valor
Final).
A
margem
de
contribuição
do
produto
“b”
(baby-doll)
poderá variar entre $ 3,12 e $ 8,50, enquanto que a do produto “c” poderá ir de $ 2,40 a $ 11,50; • Nas restrições: refere-se ao limite de aumento/redução do valor da restrição sem que haja uma alteração no valor da “Diferença de Preço”.
Interpretando
cuidadosamente
esses
dados,
o
contador
disporá
de
informações fora do convencional, muito mais dinâmicas e relevantes para fins de controle, como serão vistas adiante.
2.4.2.Questões não convencionais respondidas pela técnica de programação linear
17
Na dinâmica do dia-a-dia, são muitas as questões de natureza econômica para as quais o contador deve apresentar soluções, na maioria das vezes com muita rapidez. Mais uma vez o uso da programação linear e dos microcomputadores vêm em seu auxílio. 2.4.2.1.Questão 1: Montante perdido se 1 unidade a mais fosse produzida Suponhamos que fosse solicitada ao contador da indústria de lingerie a informação sobre o montante que seria perdido se 1 unidade a mais do produto “a” (anágua) fosse fabricada e se o produto “b” (baby-doll) mantivesse a mesma quantidade da solução ótima. Neste caso a planilha original deveria ser recomposta, incluindo-se uma restrição para que a quantidade de anáguas fosse igual a 239,5 (238,5 apurados na solução ótima mais 1 unidade = 239,5) e outra restrição para que a quantidade de baby-dolls seja igual a 738,5 (mesma quantidade encontrada na solução ótima). Com
as
alterações
o
“Relatório
Grau
de
Sensibilidade”
passa
a
ser
o
seguinte: Microsoft Excel 7.0c Relat. grau de sensibilidade Planilha: [TESTES.XLS]DADOS3 Relatório criado: 21/1/97 15:32 Células variáveis Valor final 239,5 738,5 535,7
Célula Nome $B$2 Quantidade Anágua $C$2 Quantidade Baby-doll $D$2 Quantidade Camisola
Custo reduzido -18,3 -0,3 0,0
Coeficiente Aumento objetivo permitido 3 18,3333333 5 0,33333333 8 1E+30
Redução permitida 1E+30 1E+30 0,5
Restrições Célula Nome $E$10 Total espaço físico (m2) $E$11 Total tecido (m) $E$12 Total horas=máquina (hm)
Valor Diferença final de preço 5000 2,667 7994 0,000 6980 0,000
Valor de restrição 5000 8000 7000
Aumento permitido 6 1E+30 1E+30
Redução permitida 1607 6 20,1666667
O fato de se ter aumentado 1 unidade do produto “a” fez com que fosse diminuída a quantidade
do produto “c” (camisola) e, com isso, a margem de
contribuição total passasse para $ 8.696. Na situação anterior, que considerava a solução ótima, a margem de contribuição total era de $ 8.715. Percebe-se, então, que a produção adicional de 1 unidade de anágua, mantendo-se a mesma quantidade de baby-dolls, provoca uma diminuição na margem de contribuição total de $ 19.
18
Essa
diminuição
de
$
19
pode
ser
notada
no
“Relatório
Grau
de
Sensibilidade”, no campo “Custo Reduzido” (ou custo de oportunidade). Na coluna “Custo Reduzido” aparecem três valores ($ 18,3; 0,3; 0) que, somados, totalizam $ 18,6 ≅ $ 19. Isso indica que, a cada unidade fabricada acima da quantidade calculada na solução ótima, a margem de contribuição total estará sendo reduzida em $ 19. 2.4.2.2.Questão 2: Quantia ganha com o relaxamento de uma restrição No caso de ser pedida ao mesmo contador a informação de quanto seria ganho se uma restrição particular (hora-máquina, por exemplo) fosse relaxada em 10 unidades e as demais restrições permanecessem constantes, o quadro de restrições deveria ser alterado para que o total de horas-máquina passasse a ser menor ou igual (