You are on page 1of 84

UNIVERSIDADE DE SO PAULO

ESCOLA DE ENGENHARIA DE LORENA

GUILHERME ARANTES PEDRO

DESENVOLVIMENTO DE UMA INTERFACE VBA PARA A PROGRAMO MATEMTICA DA PRODUO UTILIZANDO PROGRAMAO LINEAR

Lorena
2012

GUILHERME ARANTES PEDRO

Desenvolvimento de uma interface VBA para a programao matemtica de produo utilizando programao linear

Trabalho de concluso de curso apresentado


Escola de Engenharia de Lorena - USP, como
requisito parcial para obteno do ttulo de Engenheiro Qumico.

Orientador: Prof. Dr. Domingos Svio Giordani

Lorena
2012

Autorizo a reproduo e divulgao total ou parcial deste trabalho, por


qualquer meio convencional ou eletrnico, para fins de estudo e pesquisa, desde
que citada a fonte.

AGRADECIMENTOS

Primeiramente a Deus, por me conceder sade, sabedoria, f e perseverana para a concluso do meu curso.
Aos meus pais, Edna e lcio, por toda pacincia, amor, apoio e suporte
para a concluso da graduao.
Dayane, por todo seu amor, carinho e companheirismo durante esses
quatro anos inesquecveis ao seu lado.
Ao meu orientador Prof. Dr. Domingos Svio Giordani, pela confiana,
exemplo de profissional, e por acreditar neste trabalho.
Aos meus familiares e amigos, por todo apoio e reconhecimento, em especial minha irm Gabriela e meu cunhado Diego que sempre me apoiaram e me
serviram de exemplo de f e amor.
Aos grandes amigos da banda LHopital: Tlio, Taynara, Dayane, Martini
e Tales pela grande amizade e momentos nicos que ficaro eternamente gravados na memria.
Aos atuais e antigos companheiros e amigos de repblica, pelo convvio e
momentos de descontrao inigualveis ao longo destes anos de graduao.
Escola de Engenharia de Lorena, pela oportunidade de realizao do
Curso de Engenharia Qumica.
A todos os colegas e professores de graduao, pelo convvio e aprendizado.

EPGRAFE

"Feliz aquele que transfere o que


sabe e aprende o que ensina"

Cora Coralina

Pedro, G. A. Desenvolvimento de uma interface VBA para a programao matemtica da produo utilizando programao linear. 2012. 63f. Trabalho de
Concluso de Curso (Graduao em Engenharia Qumica), Universidade de So
Paulo, Lorena, 2012.

RESUMO

Este trabalho dedica-se ao desenvolvimento de uma interface computacional para a resoluo de problemas envolvidos com a programao da produo
em sistemas produtivos, com o objetivo de auxiliar o processo de tomada de deciso dentro de pequenas empresas. Visto a dificuldade das pequenas empresas
em permanecer no mercado, o uso de ferramentas de auxlio na produo um
diferencial para seu estabelecimento no mercado atual. Um mtodo para a abordagem de problemas de programao da produo trata-los como um problema
de Programao Linear e resolv-los usando programao matemtica. Para
atender proposta do trabalho, foi feito um estudo na literatura no qual se notou o
grande crescimento no uso de softwares para o planejamento de produo, em
especial o Solver. Tambm, foi elabora uma estrutura lgica para o desenvolvimento do modelo por parte do usurio do aplicativo construdo. Por fim, foi desenvolvida uma planilha eletrnica no Microsoft Excel com interface amigvel feita em
Visual Basic for Applications para a realizao das macros nas quais a resoluo
do problema feita pelo suplemento Solver do Excel. O desempenho das interfaces foi satisfatrio, suas rotinas e execues agiram como o esperado, alm de
fornecer dados comparveis aos da literatura. O aplicativo desenvolvido neste
trabalho atende s expectativas das pequenas empresas, por ser um aplicativo
eficaz ao auxlio na tomada de deciso e sem custos de aquisio e implantao.

Palavras-chave: Planilhas do Excel, Programao da Produo, Programao


Linear, Sistemas de apoio deciso.

Pedro, G. A. Desenvolvimento de uma interface VBA para a programao matemtica da produo utilizando programao linear. 2012. 63f. Trabalho de
Concluso de Curso (Graduao em Engenharia Qumica), Universidade de So
Paulo, Lorena, 2012.

ABSTRACT

This work is dedicated to the development of an interface for solving computational problems involved on the production scheduling in production systems,
in order to aid the process of decision in small businesses. Because of the difficulty of the small businesses to maintain themselves in the market, the use of tools to
aid in the production can make the difference for their establishment in the current
market. One method for addressing problems of production scheduling is to treat
them as a Linear Programming problem and solving them using mathematical
programming. To reach the proposed work, it was done a study in the literature in
which it could be noted the increasing use of software for production planning, in
particular Solver. It was also developed a logical framework for the development of
the model by the user of the application. Finally, It was developed a user-friendly
interface to the spreadsheet in Microsoft Excel, it was done in Visual Basic for Applications. The performance of the interface was satisfactory, their routines and
plays acted as expected, and provided data comparable with those in the literature. The application developed in this work meets the expectations of small businesses, being an effective application to aid in decision making with no cost of acquisition and deployment.

Keywords: Excel spreadsheets, Production Scheduling, Linear Programming, Decision Support Systems.

LISTA DE FIGURAS

Figura 1 Definio da Programao Linear (Imagem adaptada de Paulo, et al.,


2003) ............................................................................................................ 23
Figura 2- Esquema lgico para a elaborao do modelo geral ............................ 31
Figura 3 Esquema da funcionalidade para a criao das interfaces e macros ..... 31
Figura 3 - Arquitetura da funcionalidade das interfaces e macros adotadas. ....... 32
Figura 4 - Interface inicial construda no Visual Basic for Applications ................. 33
Figura 5 - Interface para a insero dos parmetros necessrios para a Funo
Objetivo ........................................................................................................ 33
Figura 6 - Interface das Restries do problema .................................................. 34
Figura 7 - Interface na qual o usurio insere uma restrio por vez ..................... 34
Figura 8 - Interface dos resultados da otimizao com os valores das variveis e o
total da otimizao ........................................................................................ 35
Figura 9 - Planilha padro com os arranjos de linhas e colunas para a
generalizao do modelo .............................................................................. 36
Figura 10 Interface de resultados da anlise de desempenho 1 ....................... 39
Figura 11 - Interface de resultados da anlise de desempenho 2 ........................ 41
Figura 12 - Interface de resultados da anlise de desempenho 3 ........................ 43
Figura 13 - Interface de resultados da anlise de desempenho 4 ........................ 46
Figura 14 - Interface de resultados da primeira maximizao da anlise 5 .......... 48
Figura 15 - Interface de resultados da segunda maximizao da anlise 5 ......... 49

LISTA DE TABELAS

Tabela 1 - Coeficientes das funes para os parmetros utilizados no Solver ..... 48


Tabela 2 - Resultados da simulao na Interface proposta utilizando-se o solver
como ferramenta de resoluo. .................................................................... 49
Tabela 3 - Resultados obtidos por MARETH (2012) utilizando o software pago
LINDO ........................................................................................................ 50
Tabela 4 - Quantidade disponvel do Petrleo .........Erro! Indicador no definido.
Tabela 5 - Percentuais para Limites de Qualidade das Gasolinas . Erro! Indicador
no definido.

LISTA DE QUADROS

Quadro 1 - Sumrio das Influncias nos aspectos administrativos. Erro! Indicador


no definido.
Quadro 2 - Influencia do tipo de indstria sobre o planejamento e controle da
produo. ..........................................................Erro! Indicador no definido.
Quadro 3 - Restries comuns em sistemas de produo ...... Erro! Indicador no
definido.

SUMRIO

1.

INTRODUO ............................................................................................. 13

1.1. Justificativa ................................................................................................... 13


1.2. Objetivo Geral ............................................................................................... 15
1.3. Objetivos Especficos .................................................................................... 15
2.

REVISO DA LITERATURA ........................................................................ 16

2.1. Programao da Produo ........................................................................... 16


2.2. Sistemas de Produo .................................................................................. 18
2.3. Programao Linear...................................................................................... 20
2.4. Planilhas Eletrnicas e o suplemento SOLVER ............................................ 24
2.5. A Pequena Empresa e o Processo Decisrio ................................................ 26
3.

DESENVOLVIMENTO .................................................................................. 28

3.1. Estudo das aplicaes de Programao Linear ............................................ 28


3.2. Desenvolvimento de modelos matemticos .................................................. 30
3.3. Preparao das interfaces VBA .................................................................... 31
3.4. Preparao das macros e planilhas eletrnicas ............................................ 35
3.5. Teste de desempenho da interface ............................................................... 37
3.5.1. Anlise de desempenho 1 (JNIOR; SOUZA, 2004) ....................... 37
3.5.2. Anlise de desempenho 2 Notaes da Disciplina Mtodos de Apoio
a Deciso, Grupo de Controle e Gesto. ...................................................... 39
3.5.3. Anlise de desempenho 3 (ECKER; KUPFERSCHMID, 1988) ........ 41
3.5.4. Anlise de desempenho 4 Problema 1.2.5. (JNIOR; SOUZA, 2004)
..................................................................................................................... 43
3.5.5. Anlise de desempenho 5 ................................................................... 47
4.

CONCLUSES ............................................................................................ 51

REFERNCIAS BIBLIOGRFICAS .................................................................... 52

APNDICE A Manual de utilizao da Interface de Programao da


Produo por Programao Linear Interface PPPL ..................................... 57
APNDICE B Macros: Cdigo VBA................................................................ 63
Macro 1 Interface Inicial .................................................................................... 63
Macro 2 Interface da Funo Objetivo .............................................................. 65
Macro 3 Interface das Restries ...................................................................... 67
Macro 4 Interface de adio de restries ........................................................ 69
Macro 5 Interface dos resultados ...................................................................... 75
Macro 6 Aplicao Solver ................................................................................. 76
ANEXO Artigo de referncia para teste de desempenho ............................. 78
Anlise de desempenho 5 - (MARETH, et al., 2012) ............................................ 78

13

1.INTRODUO

Hoje as pequenas empresas passam por dificuldades em permanecer no


mercado muitas vezes por no conseguirem gerir sua produo de modo efetivo.
Vrios trabalhos propem utilizar a programao linear como ferramenta de auxlio s decises. Contudo, os gerentes responsveis pela tomada de deciso, muitas vezes, tm dificuldade em organizar e arranjar mtodos para a resoluo de
problemas de decises.

1.1. Justificativa
Nos dias atuais a competitividade define a permanncia de uma empresa
no mercado. Na busca por diferenciais competitivos, uma produo de qualidade
e de baixo custo um grande diferencial entre empresas, para as quais a programao da produo se torna uma ferramenta essencial. Para isto as empresas
necessitam adotar estratgias com relao metodologia de planejamento e controle da programao (VIEIRA, et al., 2011). Sendo assim, a programao da produo promove melhorias quanto ao uso de matrias primas e produtividade de
uma empresa, portanto, mantendo-a competitiva no mercado atual.
Muitos so os fatores que podem influenciar a tomada de deciso dos gerentes. Esses tomadores de decises vm se deparando com problemas de decises conflitantes: minimizar custos de produo frente escassez de recursos
produtivos e o crescimento das exigncias do mercado (JNIOR; SILVA, 2005).
A soluo de um problema de programao da produo possvel se ele
reunir todas as limitaes de recursos, restries de fabricao e necessidades
impostas do produto (POLON, 2010). A programao linear pode ser aplicada
com resultados satisfatrios otimizando os recursos disponveis, maximizando
resultados ou minimizando custos.
O processo de tomada de deciso de quando, onde, o que e como
produzir de modo efetivo pode ser demorado visto o grande volume de informaes necessrias. Assim, a programao linear uma ferramenta usada para encontrar a melhor alternativa que atenda os vrios objetivos da tomada de deciso
(PEKNY,1998). BISPO (1998) afirma que, quando o tomador de decises possui

14

informaes precisas e confiveis, melhor ser a identificao do problema e das


alternativas, favorecendo a escolha da melhor soluo. Deste modo, as empresas
podem fazer uso da programao linear para resolver seus problemas de otimizao de recursos, seja com o objetivo de reduo de custos, otimizao de resultados, ou qualquer outro processo de tomada de deciso gerencial. (KLANN, et
al., 2010)
A utilizao de planilhas eletrnicas, juntamente com o suplemento SOLVER do Microsoft Excel, uma ferramenta poderosa no apoio ao processo decisrio quando se trata de equacionamentos lineares. Como afirma ROCHA (2011),
planilhas eletrnicas so de uso comum e acessvel grande parte da populao
de um modo geral, em especfico o Excel, sendo assim, uma alternativa importante para auxiliar a tomada de deciso.
OLISZESKI (2010) ressalta que os modelos propostos servem apenas
como auxlio no processo decisrio, no descartando a interpretao ou conhecimento tcito do empreendedor. Assim, frente aos resultados propostos pelo modelo, os tomadores de decises devem ter a capacidade de compreender tais resultados de modo a minimizar a incerteza das decises.
Embora seja uma ferramenta de auxlio, resultados convincentes foram
obtidos como no estudo de caso feito por VIEIRA (2011) que constatou, com o
uso do modelo da programao linear, um aumento em 6,21% no ganho do processo comparado ao processo sem o uso do modelo proposto. FEY e SANTOS
(2000) concluem que o plano proposto ao seu estudo teve um incremento de
8,8% na renda lquida. JNIOR (2009) afirma um ganho na faixa de 4% a 8,5%
em seu sistema de produo. NETO e ZANELLA (2007) demostram um ganho no
faturamento de 6,31 %. Um aumento significativo no lucro foi alcanado por
BELLIS, PINHO e PAMPLONA (2004) de aproximadamente 26,4% e de 40,68%
por NETO, DEIMLING e TOSATI (2006). Para OLIVEIRA (2011) os resultados
mostram que a abordagem utilizada capaz de tratar com sucesso um problema
real. ROCHA (2011), no entanto, conclui que possvel utilizar planilhas eletrnicas com interface amigvel em problemas de pequeno porte. E segundo ALVES
(2007) o uso das planilhas contribui para a diminuio drstica do tempo de
tomada de deciso, alm de disponibilizar ao usurio a possibilidade de simular
diversos cenrios, tarefa impossvel de ser feita em tempo hbil de forma manual.

15

A motivao para este trabalho surgiu da simplicidade de programao,


da facilidade de acesso ao software por pequenas empresas, do menor grau de
complexidade dos processos envolvidos na pequena empresa e, tambm, dos
bons resultados obtidos com a programao linear em trabalhos anteriores. Assim, busca-se neste trabalho a criao de uma interface amigvel que atenda s
necessidades das pequenas empresas no que diz respeito ao apoio gerencial.

1.2. Objetivo Geral


Desenvolver uma Interface em VBA para o apoio ao processo de tomada
de deciso em sistemas de produo de pequenas empresas, utilizando planilhas
do Excel, juntamente com o suplemento Solver, e a programao linear, como
recurso de resoluo dos problemas de programao de produo.

1.3. Objetivos Especficos

Estudar as atividades de planejamento dos sistemas de produo mais


comumente encontrados;

Estabelecer o modelo matemtico que seja ajustvel aos interesses do tomador de deciso baseado em programao linear;

Elaborar uma arquitetura da funcionalidade das interfaces e as rotinas das


macros necessrias para se trabalhar com o Solver;

Criar uma interface intuitiva e amigvel utilizando o Microsoft Visual Basic;

Desenvolver macros para a operao automtica das planilhas;

Teste da interface em simulaes e problemas de lgica pouco detalhada;

Validao da modelagem e metodologia.

16

2.REVISO DA LITERATURA

2.1. Programao da Produo


FROSSARD (2009) afirma que uma administrao dos recursos disponveis na empresa feita com eficincia, atravs do planejamento, controle e execuo das atividades relacionadas utilizao destes, um fator fundamental na
busca da otimizao dos resultados.
Assim, a programao da produo visa otimizar o uso de recursos para
satisfazer objetivos predefinidos, sujeito s restries do processo considerado
(GIROTTI; NISHIMURA; MESQUITA, 2011). A programao da produo usada quando se procura encontrar as quantidades de cada tipo de produto que devem ser fabricados em perodos sucessivos (COSTA, 2009).
Segundo JNIOR e SILVA (2005) o planejamento, ou programao, da
produo possui uma gama enorme de informaes essenciais para uma
execuo eficiente, que dificilmente pode ser sumarizada pela mente humana.
Para tanto, o planejamento da produo busca transformar informaes de
estoque, pedidos, equipamento e processos em ordem de fabricao (COSTA,
2009).
BRITO (2000) resume os objetivos da programao produo em:
Cumprimento dos prazos de entrega;
Controle de nvel de estoque em processo;
Reduo constante dos leads times de produo;
Controle das filas de espera nos estoques de produo;
Preveno dos gargalos de produo;
Minimizao do tempo ocioso dos recursos de produo.

Portanto a programao da produo uma funo que consiste em planejar as operaes que necessitam ser predeterminadas e executadas. Para
GITOTTI; NISHIMURA e MESQUITA (2011) tais atividades podem ser divididas
em: (i) Programao: consiste no sequenciamento e programao das operaes,
e a elaborao da carga dos centros de trabalho; (ii) Execuo: envolve a liberao das ordens, tambm chamada despacho, e (iii) Controle: inclui o apontamento
da produo e o controle de seu status.

17

Em especfico, os problemas de programao da produo tratam de situaes em que certo nmero de recursos, tais como homens, materiais e mquinas, esto disponveis e podem ser combinados para produzir um ou mais produtos.
A atividade de programao, segundo SEVERO (2007), uma das mais
complexas no gerenciamento da produo. Primeiramente, por lidar com diversos
tipos de recursos simultaneamente. As mquinas tero diferentes capacidades e
capacitao; o pessoal ter diferentes habilidades. Sendo assim, o nmero possvel de programaes da produo aumenta medida que o nmero de atividades
e processos torna-se maior. Deste modo, a programao computacional fornece a
ajuda para a tomada de deciso nos problemas de programao industrial.
Ainda, SEVERO (2007) afirma que, nas ltimas dcadas, observou-se um
destacado desenvolvimento cientfico na rea de programao de produo para
processos em batelada. Isto se deve tendncia de construo de plantas flexveis e pequenas, para que possam atender s necessidades do mercado.
Devido grande variedade de produtos da indstria qumica para atender
s necessidades do mercado, POLON (2010) define que no fluxograma de um
sistema de produo em batelada no existe uma estrutura e receita fsica fixa no
tempo. E, ainda, afirma que a complexidade das atividades de programao de
produo em processos em batelada consequncia de um sistema com equipamentos e armazenagens compartilhados, com necessidade de sincronizar a
produo de produtos no horrio especificado e por fim, a existncia de opes
diferentes de produo com custos diferentes.
SEVERO (2007) assegura que diversas reas na indstria qumica utilizam plantas que operam em batelada, como por exemplo, a indstria farmacutica, de alimentos e, em geral, o setor de qumica fina. SEVERO (2007) ainda coloca que desta forma, torna-se importante implantao de sistemas de gesto de
produo e de tcnicas que visem produo otimizada dos diferentes produtos;
incluindo o uso de equipamentos, produtos e utilidades de forma eficiente. Portanto, as previses de produo em processos batelada geram um problema de programao.
Em geral, a resoluo dos problemas envolvidos com a programao da
produo de vrios tipos de processo feita tornando tais problemas um caso de

18

programao linear como encontrados em pequenas empresas que possuem falta


de instrumentos para tratar tais problemas.

2.2. Sistemas de Produo


Seja a empresa de grande ou pequeno porte, de suma importncia ressaltar a diferena entre suas fbricas e seus respectivos sistemas de programao e controle de produo. Como afirma ROCHA (2011), Sistema de Produo
pode ser visto de diversas maneiras, o que lhe confere caractersticas especficas,
e resultam em arranjos particulares de programao de produo.
Existe uma grande dificuldade em encontrar uma soluo geral para a
programao de produo segundo ZACCARELLI (1982). Isso porque cada fbrica tem suas particularidades. O autor salienta trs particularidades importantes
desta diferenciao:

O tipo de indstria;

O tamanho da empresa;

As diferenas entre estruturas administrativas.

Sendo assim, mesmo empresas semelhantes em produo possuem estruturas administrativas diferentes que geram sistemas de programao de produo diferentes.
Assim, ZACCARELLI (1982) classifica e subdivide as industrias conforme
sua influencia nos processos administrativos conforme os Quadros 1 e 2:

19

Quadro 1 - Sumrio das Influncias nos aspectos administrativos (Fonte: ZACCARELLI


(1982))
Tipo Contnuo
Tipo Intermitente
Produz relativamente grande
volume e pequena variedade de
Produz grande variedade de
Caracteristicas
produtos.
produtos em pequenos volumes.
Regimes de produo pouco
Regime de produo muito flexvel.
flexvel.
Indstrias qumicas, usina de ao,
Mquinas pesadas, grandes
Exemplos
linhas de montagem.
transmissores de rdio, navios
Relativamente fcil para um
Previso de vendas
Em geral, para poucos meses.
perodo de um ano ou mais
frequentemente alterado durante
Estudado com grande detalhe
a produo.
antes de iniciar a produo.
Projeto do produto
O produto projetado de forma a
Alteraes pouco frequentes no
poder ser executado com o
projeto do produto.
equipamento disponvel.
Especialmente projetado.
Poucas ajustagens das mquinas.
Do tipo universal.
Necessita de grande manuteno
Ajustagens muito frequntes.
Equipamento
preventiva.
Carga de trabalho das mquinas
A carga de trabalho das mquinas
sujeita a variaes.
uniforme.
Feito com equipamento flexvel,
Altamente mecanizado, distncias
geralmente com pouca repetio;
pequenas, equipamento com
Movimentao dos
necessita de corredores e
propsito nico, material movido
materiais
passagens entre o quipamento.
continuamente de uma operao
necessrio instruir sobre o que e
para outra.
para onde mover.
Consumo pouco varivel de
Materiais de grande variedade se
material, mnimo de material em
acumulam, geralmente, em cada
Material
processamento, sem bancos entre
operao; estoque relativamente
operaes.
grande.
Operrios pouco especializados
Operrios especializados tem
executam sempre a mesma
trabalho variado.
Pessoal
operao; pessoal altamente
H necessidade de determinar a
qualificado planeja o processo
cada dia que trabalhos o pessoal
produtivo e estuda o produto.
dever executar.
Frequentes as operaes
Operaes muito variadas
Operaes
altamente repetitivas.
requerem instrues frequentes.

20

Quadro 2 - Influencia do tipo de indstria sobre o planejamento e controle da produo


(Fonte: ZACCARELLI (1982)).
Sistema de PCP para produo
Sistema de PCP para
Altamente Repetitiva
produo por Encomenda
Relativamente simples, mas
Relativamente complexo, as
Complexidade
pequenas falhas tem grandes
falhas tem pequena
repercusses no lucro.
repercursso no custo.
Feito quase todo aps a venda
Planejamento do
do produto.
Feito antes da venda do produto.
processo produtivo
Como o produto varia muito,
Deve dispor de informaes
(preparao de
deve dispor de elementos para
precisas sobre os tempos de
informaes tcnicas
calcular com rapidez os
processamento, velocidade de
para a execuo,
tempos de processamento,
transporte, custo de operao,
programao e controle
estimativa de custos e para
caractersticas dos materiais etc.
das operaes)
determinar o melhor roteiro
para as operaes.
Feita, principalmente, com base
Feita com base nos pedidos
Programao (agenda de
na previso de vendas.
recebidos.
produo)
Programa o nvel geral de
Programa cada operao.
atividade.
Ordens de produo
Para cada operao com
(documentos para
Poucas e simples.
respectivas requisies de
instruir, autorizar e
Pequeno nmero de impressos.
material e ferramentas,
controlar as operaes)
instrues para inspeo etc.
Apenas parte dos materiais
mantida em estoque, os
Planejados em funo da
Estoques
demais so adquiridos para
programao.
atender aos pedidos
especficos.
Liberao da produo
Complexa e de grande
(distribuio das ordens
Muito simples.
importncia
de produo)
Controle de custos
Pouco trabalhoso.
Muito trabalhoso.

Pela anlise dos quadros se nota a necessidade de programaes de


produo especficos para cada indstria evidenciando a necessidade de um bom
planejamento e controle da produo por parte do tomador de decises. Portanto,
a busca pelo melhor desempenho do sistema de produo, acarreta em um
processo de modelagem matemtica, como por exemplo a aplicao do mtodo
da Programao Linear (ROCHA, 2011).

2.3. Programao Linear


MIRANDA; MARTINS e FARIA (2007) relatam que a tcnica de programao linear foi consolidada por George Dantzig, em 1.947, quando desenvolvia
tcnicas de otimizao para problemas militares, e tambm do desenvolvimento
do mtodo simplex, capaz de resolver qualquer problema linear.

21

POLON (2010) expe que problemas de planejamento e programao da


produo so geralmente estudados como parte da Pesquisa Operacional, que,
segundo o autor, um ramo da engenharia relacionada aplicao de mtodos
cientficos para problemas de tomada de deciso que por fim se estabelece solues timas.
BELLIS; PINHO e PAMPLONA (2004) explicam que a pesquisa
operacional trabalha da seguinte forma:
Formulao do problema: em que sero definidos os objetivos do estudo
e estabelecidas as restries do sistema em estudo;
Construo do modelo: nesta fase construdo um modelo matemtico
constitudo por equaes e inequaes, as quais formaram a funo objetivo e as restries, sendo estas representadas por variveis de deciso e
variveis no controladas;
Soluo atravs do modelo: realizado atravs de tcnicas matemticas
especficas;
Teste do modelo e da soluo: pode ser realizado com dados histricos
do sistema. Na ausncia destes dados, o sistema deve operar sem mudanas e em seguida existe o confronto dos dados com o desempenho do
modelo. Nesta fase ser decidido se o modelo dever continuar em uso
ou ser reformulado;
Estabelecimento de controles da soluo: a partir do momento em que o
modelo aceito, seus parmetros devem ser continuamente controlados
para garantir a validade da soluo adotada;
Implementao e acompanhamento: a implantao deve ser acompanhada de perto para se observar o comportamento do sistema e possveis
adequaes que se fizerem necessrias.

COSTA (2009) complementa afirmando que a Programao Linear uma


ferramenta da Pesquisa Operacional que usa um modelo matemtico composto
por funes necessariamente lineares para minimizar ou maximizar parmetros.
OLIVEIRA (2009) define a funo da programao linear como sendo uma
ferramenta aplicada a solues de problemas que objetivam a otimizao de um

22

sistema em estudo. Portanto a Programao Linear fornece uma ferramenta ao


processo de tomada de deciso visando alcanar os melhores resultados.
Na programao linear, o tratamento destes problemas feito a partir de
modelagens representadas por expresses lineares. Cabe ressaltar, que existe a
dificuldade em se modelar estudos reais, mas que tais tratamentos apresentam
confiabilidade satisfatria.
ALVES (2007) define que a programao linear tem como tarefa bsica a
maximizao ou minimizao de uma funo linear, definida como Funo Objetivo, que respeita um sistema linear de igualdades ou desigualdades, as quais so
chamadas Restries do Modelo.
Para COSTA (2009), um modelo de programao linear constitudo por
uma equao, que descreve a funo objetivo com parmetros a serem maximizados ou minimizados, e um conjunto de equaes ou inequaes que descrevem as restries do problema real.
MIRANDA; MARTINS e FARIA (2007) estabelecem premissas para a
criao de modelo matemtico. So elas:
1) Definir as variveis do problema;
2) Definir a funo-objetivo: expresso matemtica linear para a qual se
deseja otimizar por meio da melhor combinao das variveis bsicas
(maximizao ou minimizao);
3) Definir o conjunto de restries: uma inequao ou igualdade que deve ser satisfeita pelas variveis de um modelo matemtico.

Para PAULO, et al., (2003) a modelagem da Programao Linear uma


programao matemtica em que a funo-objetivo e as restries assumem caractersticas lineares observando-se limitaes impostas pelo processo produtivo
ou pelo mercado.

23

De modo geral, segundo PAULO, et al., (2003), a Programao Linear


pode ser descrita conforme ilustra a Figura 1:
Figura 1 Definio da Programao Linear (Imagem adaptada de Paulo, et al., 2003)

ROCHA (2011) afirma que a programao linear uma tcnica de resoluo de equaes lineares, considerada como uma tcnica de otimizao para resolver problemas de maximizao ou minimizao de um determinado objetivo.
OLIVEIRA (2009) estabelece que a otimizao se refere: (i) a maximizao de
parmetros tais como: lucro, vendas, uso efetivo de uma rea, nvel de produo
e uso de um determinado recurso; ou (ii) a minimizao de parmetros tais como:
custo de produo, uso de um determinado recurso de alto valor monetrio e emprego de mo de obra.
ALVES (2007) denota que para a resoluo de problemas de programao linear, so necessrios dois passos fundamentais: primeiramente deve-se
fazer a modelagem do problema, e posteriormente aplicar uma tcnica para resolv-lo.
Para este trabalho, o mtodo de resoluo proposto a aplicao do suplemento SOLVER do Microsoft Excel.

24

2.4. Planilhas Eletrnicas e o suplemento SOLVER


JUNIOR e SILVA (2005) ressaltam a importncia de se ter o conhecimento apurado dos custos de produo e margens de lucros dos produtos, pois estes
so fatores de importncia na tomada de deciso de se produzir maiores ou menores quantidades de um determinado produto. Assim, um modelo matemtico
para um sistema de produo pode ser trabalhado em planilhas eletrnicas com
facilidade.
Planilhas eletrnicas so ferramentas comumente usadas para analisar
dados e modelar problemas quantitativos gerenciais, como sustentam LEON;
PRZASNYSKI e SEAL (1996). Os autores, ainda, afirmam que razovel assumir
que a maior parte da modelagem feita no mundo dos negcios, em que se tem
aspecto temporal, realizada utilizando planilhas eletrnicas. Isto se d, principalmente, devido ao custo acessvel do software e tambm por serem ferramentas de fcil uso. Para CEZARINO; FILHO e RATTO (2009), o grande atrativo destas planilhas a facilidade de criar interfaces flexveis para o usurio com um custo baixo, e assim, permitir que ele possa tomar decises dentro de um ambiente
customizado.
NETO e ZANELLA (2007) sustentam que o Excel uma poderosa ferramenta capaz de realizar clculos e sistematizar dados, e vai alm de construir
planilhas de controle de despesas domsticas ou relatrios sobre um projeto, e de
possibilitar a integrao e automatizao de sistemas inteiros de gerenciamento
de empresas e indstrias. Os autores ainda ressaltam: Muitas das maiores empresas do mundo usam o Excel para criar aplicaes personalizadas..
CEZARINO, FILHO e RATTO (2009) discorrem que, devido ao alto custo
de software de sistemas de gerenciamento e sua ausncia em pequenas empresas, abre-se uma oportunidade para o desenvolvimento de ambientes de apoio
deciso de baixo custo e que, ambientes computacionais baseados em planilhas
eletrnicas, juntamente com suplementos adicionais de modelagem e soluo de
problemas, so uma tima alternativa. Os autores ainda acrescentam que o uso
da planilha eletrnica mais simples que tais softwares e permite gravao de
modelos sem necessidade das montagens das planilhas pelo usurio, possibilitando que tcnicos, sem conhecimento aprofundado em informtica, possam se
beneficiar desta ferramenta.

25

Dentre as varias ferramentas disponveis no mercado, ROCHA (2011) diz


que, para auxiliar os gestores na tomada de deciso, pode-se utilizar o Solver para resoluo de problemas de produo. O Solver uma ferramenta disponvel no
Excel que visa a encontrar uma soluo tima para os problemas de programao
linear. Para NETO e ZANELLA (2007) o Solver possibilita a realizao de
simulaes em um modelo criado, para, depois de testado e aprovado, ser
usado no ambiente real, ou seja, a empresa tem a possibilidade de simular
diferentes cenrios e optar por aquele que apresentar maior lucro financeiro.
E, ainda, ROCHA (2011) ressalta que as planilhas eletrnicas do Excel
vm conquistando um timo espao no mercado, principalmente, em grandes indstrias, pois o Excel permite o desenvolvimento de aplicaes personalizadas,
alm de possibilitar a automatizao de sistemas de gerenciamento.
JNIOR e SOUZA (2004) explicam que o Solver faz parte de um conjunto
de programas algumas vezes chamado de ferramentas de anlise hipottica. Os
autores ainda explicam que o Solver trabalha com um grupo de clulas relacionadas direta ou indiretamente com a frmula na clula de destino. Assim, o Solver
ajusta os valores nestas clulas variveis especificadas, chamadas de clulas
ajustveis, para produzir o resultado especificado na frmula da clula de destino.
ROCHA (2011) completa afirmando que possvel aplicar restries a clulas ajustveis, clulas de destino ou a outras clulas direta ou indiretamente relacionadas clula de destino para restringir os valores que o Solver poder usar.
NETO e ZANELLA (2007) explicam que esta ferramenta pode ser utilizada para determinar solues de problemas envolvendo mltiplas variveis e restries determinando a melhor soluo e pode representar economia de capital e
recursos ao determinar as melhores e mais eficientes maneiras de aloc-los. E
completam afirmando que se pode economizar o tempo que se levaria buscando
solues por tentativas e erro.
Ainda, ROCHA (2011) destaca que a linguagem Visual Basic for Applications (VBA) uma importante alternativa para automatizao do uso da planilha
do Excel. O autor ainda ressalta que a linguagem permite a criao de macros
para a realizao de tarefas repetidas e ainda permite integrao com os produtos
da Microsoft Office, tais como: Word, Excel, Access, Outlook, PowerPoint,
FrontPage e tambm em produtos como o AutoCAD.

26

CEZARINO, FILHO e RATTO (2009) lembra que a ferramenta Solver,


presente na verso padro comercial do Excel, resolve apenas problemas de pequena dimenso (i.e. at duzentas variveis), porm possvel, com um pequeno
investimento, obter uma licena para uso desta mesma ferramenta para problemas com mais de 8000 variveis. Em todo caso, para a proposta deste trabalho a
verso padro atende ao esperado.

2.5. A Pequena Empresa e o Processo Decisrio


O planejamento da produo fundamental para a otimizao da produo e, consequentemente, para a maximizao dos resultados financeiros das
empresas. No entanto, apesar dos avanos nas tecnologias de informao,
MIGLIOLI; OSTANEL e TACHIBANA (2004) observam que existe nas pequenas
empresas uma grande dificuldade com relao gerao de conhecimento e
crescimento, o que leva concluso que muitas das pequenas empresas brasileiras perdem espaos e oportunidades de mercado devido ao improviso na tomada
de decises e na formulao de estratgias.
Assim, necessrio que pequenas empresas desenvolvam planos de
produo que permitam melhorar suas aes. Para isso a programao linear e o
solver so ferramentas de grande potencial para diminuir a incerteza e o improviso nas tomadas de decises.
De fato, como afirmam CEZARINO; FILHO e RATTO (2009), empresas
menores convivem com problemas de menor escala e, ferramentas sofisticadas,
por certo, no seriam de grande valia. Neste caso, ento, o uso de planilhas eletrnicas, associado ao solver, apresenta-se como alternativa de baixo custo e baixa complexidade para soluo de problemas gerenciais em pequenas empresas.
MIGLIOLI, OSTANEL e TACHIBANA (2004) enfatizam que deve-se criar
ambientes de aprendizagem, atravs de cursos e treinamentos internos, dirigidos
sua realidade, em que o gestor da pequena empresa possa adquirir
conhecimentos necessrios para manipular as planilhas eletrnicas como
ferramenta de apoio deciso.
A ideia deste trabalho que a construo de uma interface que utiliza
recursos de planilha Excel e o suplemento Solver que permita aos tomadores de

27

deciso, pouco familiarizados com modelos matemticos e ferramentas computacionais, tomar decises gerenciais dirias.

28

3.DESENVOLVIMENTO

3.1. Estudo das aplicaes de Programao Linear


Inicialmente, fez-se um estudo na literatura buscando as aplicaes da
programao linear. Nesta pesquisa, focou-se nas aplicaes em processos produtivos industriais para constatar em quais, os problemas de programao foram
representados em modelos lineares, alm de suas restries para a otimizao.
Na explorao de problemas de produo, variadas aplicaes foram encontradas tais como as listadas abaixo:

Maximizao de lucros;

Minimizao de custos de produo;

Minimizao de tempo em estoques;

Melhor rota de transporte;

Melhor nmero de frotas;

Melhor rota de processamento a custo mnimo;

Minimizao de produo em excesso;

Reduo no nmero de lotes;

Determinao do melhor mix de produo;

Determinao de misturas ideais de matrias-primas;

Minimizao de alocao de mquinas;

Minimizao do desperdcio de matria-prima;

Melhor uso das linhas de produo;

Melhor rotao de culturas;

Notou-se a abrangncia de reas nas quais a programao linear pode


ser aplicada para a sua otimizao, podendo ser aplicada em Processos de Produo, Investimento em aes, Finanas Corporativas, Distribuio, Aquisitivos e
Recursos Humanos.

Embora a rea de aplicao seja grande, verificou-se, tambm, uma a


grande aplicao de modelos lineares em Indstrias de Processos, ou seja, aque-

29

las que agregam valor a materiais por meio de processos de mistura, separao,
conformao ou reaes qumicas visando validar a proposta do trabalho.
Tambm, buscou-se nos estudos da literatura as restries aplicadas nas
otimizaes. A partir das restries observadas, listou-se (QUADRO 3) alguma
das restries mais comumente encontradas:
Quadro 3 - Restries comuns em sistemas de produo

Sistemas de produo

Restries
Capacidade produtiva
Volume de processadores
Nmero de processadores disponveis
Tempo de processamento
Tempo de folga de equipamentos
Tempo de trabalho de equipamentos
Limite de estocagem
Manuteno de estoque
Meios de transportes disponveis
Tempo de transporte
Tempo para entrega
Quantidades de cada componente
Matria-Prima disponvel
Gerao de subprodutos
Consumo de subprodutos
Mo de obra disponvel (tempo)
Subcontrataes
Demanda mxima ou mnima de vendas
Recursos financeiros

Pela anlise do Quadro 3, notou-se que as restries podem ser classificadas e resumidas da seguinte forma:

Produtivas - Quantidades de produtos a serem feitos;

Operacionais Equipamentos e mo de obras disponveis;

Mercadolgicas - Limites de vendas (mxima ou mnima).

O Quadro 3 pode ser usado para o auxlio ao usurio a estabelecer as


restries de seu modelo. Lembrando que estas so algumas das restries possveis de serem encontradas e, cabe ao usurio analisar seu sistema produtivo e
determinar quais restries so aplicveis.

30

3.2. Desenvolvimento de modelos matemticos


Aps os estudos feitos no levantamento de aplicaes de programao linear, foi observado que existe um padro ao se construir os modelos e as suas
restries. Por se tratar de equacionamento linear as variaes de um modelo
para outro ocorrem somente nos nmeros de variveis trabalhadas.
A maior complexidade ocorre na elaborao das restries, pois estas limitaes so impostas pelo processo produtivo ou pelo mercado, ou ainda, trabalham com muitas restries, que so combinaes de etapas de processo sendo
necessria uma anlise combinatria.
Para este trabalho, foi estabelecida a funo objetivo como sendo a definio da programao linear que descrita da seguinte forma:
(

Sujeito a
{

Restries

...
(

Condio de No-Negatividade

Em que:
(

) Funo objetivo

xi varivel de deciso
ci coeficiente da funo objetivo
aii coeficiente da restrio
n nmero de variveis
m nmero de restries

Para a determinao do modelo geral pelo usurio, foi elaborada a seguinte estrutura lgica (FIGURA 2): (i) primeiramente definir as variveis que pretende controlar no problema e represent-la de modo algbrico, (ii) criar uma fun-

31

o linear em termos das variveis de deciso, (iii) definir o objetivo central do


problema: maximizar ou minimizar a funo objetivo, (iv) e, por ltimo, identificar
as limitaes impostas pelo problema e express-las como equaes ou inequaes lineares em funo das variveis de deciso. Portanto, a definio do processo que se vai modelar determinado pela gerncia e deve ser focado em uma
rea ou um processo chave em especfico.

Figura 2- Esquema lgico para a elaborao do modelo geral

Para um melhor entendimento da construo do modelo e sua utilizao,


por parte da pequena empresa, foi tambm elaborado um manual de utilizao da
interface, o qual se encontra disponvel no APNDICE A.

3.3. Preparao das interfaces VBA


Para criao da interface levou-se em considerao a estrutura lgica para a construo do modelo geral apresentado na seo 3.2. Assim, elaborou-se a
arquitetura da funcionalidade das interfaces e as rotinas das macros necessrias
para se trabalha com o Solver. A Figura 3 mostra o esquema elaborado.
Para a criao das interfaces e para controle e personalizao do ambiente proposto foi utilizado o Visual Basic for Applications (VBA).
A interface inicial (Figura 4) foi criada para que o usurio fornea o nmero de variveis a serem analisadas e, ao avanar, toda a estrutura das planilhas
criada.

32

Figura 3 - Arquitetura da funcionalidade das interfaces e macros adotadas.

A interface seguinte (Figura 5) trata da funo objetivo em que o usurio


dever escolher a opo de maximizar ou minimizar sua funo objetivo, bem
como fornecer os coeficientes da funo objetivo. Para tanto, foi criada a interface
com uma caixa de texto na qual o usurio fornece o valor do coeficiente e clica
em um boto de comando que insere o valor do coeficiente. Uma lista de visualizao foi adicionada para o usurio acompanhar os dados j inseridos.
A interface seguinte mostra as restries inseridas (Figura 6). Para a insero das restries foi construda outra interface que chamada por um boto
de comando. Essa interface (Figura 7) de insero de restrio foi construda de
modo semelhante interface da funo objetivo. Nela o usurio pode inserir vrias restries seguidas, clicando no boto de comando Nova Restrio, sem a
necessidade de sair da interface de insero de restries.
Por fim, a macro de execuo do Solver chamada e uma ltima interface apresentada com os valores da otimizao (Figura 8).

33

Figura 4 - Interface inicial construda no Visual Basic for Applications

Figura 5 - Interface para a insero dos parmetros necessrios para a Funo Objetivo

34

Figura 6 - Interface das Restries do problema

Figura 7 - Interface na qual o usurio insere uma restrio por vez

35

Figura 8 - Interface dos resultados da otimizao com os valores das variveis e o total da
otimizao

3.4. Preparao das macros e planilhas eletrnicas


A programao das rotinas das macros foi estruturada para que, a cada
avano nas interfaces, a planilha fosse construda e organizada em um modelo
padro. Este modelo padro significa colocar cada valor e equaes em arranjos
organizados de linhas e colunas para que fiquem disponveis para realizar a generalizao do modelo.
A Figura 9 mostra como foi organizada e construda a planilha para execuo do Solver.

36

Figura 9 - Planilha padro com os arranjos de linhas e colunas para a generalizao do modelo

O primeiro procedimento para a preparao das planilhas foi determinar


um espao para o intervalo das constantes da funo objetivo, denominas por Ci,
e seus respectivos valores. Da mesma maneira, foi determinado um espao para
as variveis de deciso, denominadas Xi, sem valores, pois o Solver ir determinar valores timos para elas. A planilha tambm inclui uma tabela com os valores
das restries do sistema trabalhado.
A partir da planilha organizada, foi implementado o cdigo VBA para possibilitar a criao automtica da planilha e interligao das macros, planilhas e
interface para a utilizao generalizada do suplemento Solver. O cdigo VBA encontra-se disponvel no APNDICE B.

37

3.5. Teste de desempenho da interface


O teste de desempenho da interface foi feito por meio da aplicao de casos de programao linear encontrados na literatura. Com a proposta de se trabalhar com casos rotineiros e de baixo grau de complexidade.

3.5.1. Anlise de desempenho 1 (JNIOR; SOUZA, 2004)


1.2.3 Problema da Fbrica de Motores
A LCL Motores Ltda., uma fbrica de motores especiais, recebeu recentemente R$90.000,00 em pedidos de seus trs tipos de motores. Cada motor necessita de um determinado nmero de horas de trabalho no setor de montagem e
de acabamento.
A LCL pode terceirizar parte da sua produo. A tabela a seguir resume
estes dados.
Modelo
1
2
3
Total
Demanda
3000 un. 2500 un. 500 un. 6000 un.
Montagem
1 h/un. 2 h/un. 0,5 h/un. 6000 h
Acabamento 2,5 h/un. 1 h/un. 4 h/un. 10000 h
Custo Produo R$ 50
R$ 90
R$ 120
Terceirizado
R$ 65
R$ 92
R$ 140

A LCL Motores deseja determinar quantos motores devem ser produzidos


em sua fbrica e quantos devem ser produzidos de forma terceirizada para atender demanda de pedidos.

3.5.1.1. Soluo esperada por programao linear.


Sendo Fi o nmero de motores dos modelos i (i = 1, 2, 3). E T i o nmero
de motores terceirizados dos modelos i (i = 1, 2, 3).
A funo-objetivo em funo dos custos de cada motor, ento se escreve como funo objetivo o custo total:

Sujeito a;
(Tempo de Montagem)
(Tempo do Acabamento)
(Demanda modelo 1)

38

(Demanda modelo 2)
(Demanda modelo 3)

3.5.1.2. Utilizao da Interface


Neste caso tem-se uma fbrica que produz trs modelos de motores e tambm
terceiriza a fabricao dos mesmos modelos de motores. O que se deseja minimizao do custo total. Ento a funo-objetivo, em funo dos custos individuais :

Sujeito a;
(Tempo de Montagem)
(Tempo do Acabamento)

Assim, os parmetros para o Solver so:


Coeficientes da funo objetivo = 50; 90; 120; 65; 92 e140
Coeficientes das restries
Restrio 1 1; 2; 0,5; 0; 0 e 0 | menor igual | 6000
Restrio 2 2,5; 1; 4; 0; 0 e 0 | menor igual | 10000
Restrio 3 1; 0; 0; 1; 0 e 0 | igual | 3000
Restrio 4 0; 1; 0; 0; 1 e 0 | igual | 2500
Restrio 5 0; 0; 1; 0; 0 e 1 | igual | 500

O resultado da otimizao pela interface mostrada na Figura 10. Pela


otimizao recomendvel a terceirizao de 2000 motores do modelo 2. A fabrica dever fazer 3000, 500 e 500 dos modelos 1, 2 e 3, respectivamente.

39

Figura 10 Interface de resultados da anlise de desempenho 1

3.5.2. Anlise de desempenho 2 Notaes da Disciplina Mtodos de


Apoio a Deciso, Grupo de Controle e Gesto.
Uma empresa propriedade de dois scios. A empresa em questo produz bicicletas de dois modelos, uma mais sofisticada para todo-o-terreno (modelo
TT) e outra mais simples para passeio (modelo PP). Dada a qualidade dos seus
produtos e com a primavera a chegar, os dois scios sabem que iro vender todas as bicicletas que conseguirem, estando apenas limitado pelo processo produtivo.
Para definir o melhor plano de produo para o prximo ms fizeram uma
anlise ao seu sistema produtivo, tendo chegado s seguintes concluses:
- Cada bicicleta TT requer 3 horas de soldagem e cada PP requer 3 de
soldagem
- As bicicletas TT necessitam de 6 horas de maquinao e as PP apenas 4 horas
- As bicicletas TT consomem 9 horas de trabalho no departamento de
montagem e as PP apenas 4

40

O nmero de horas de trabalho disponveis no prximo ms nos departamentos de maquinagem, soldagem e montagem so respectivamente
2400, 1500 e 2700
Sabendo que as bicicletas PP originam um lucro de R$40 e as TT R$80,
ajude os dois scios a encontrarem o melhor plano de produo para o prximo
ms.

3.5.2.1. Soluo esperada por programao linear.


Sendo x1 a quantidade de bicicletas PP e x2 a quantidade de bicicletas
TT, se tem como funo objetivo o lucro total:
Sujeito a;
(Maquinagem)
(Soldagem)
(Montagem)

3.5.2.2. Utilizao da Interface


A elaborao do modelo seguiu a expectativa de maximizar o lucro, tendo
como funo objetivo o lucro total descrito por:
E sujeito a;
(Maquinagem)
(Soldagem)
(Montagem)
Assim, os parmetros para o Solver so:
Coeficientes da funo objetivo = 80 e 40
Coeficientes das restries
Restrio 1 6 e 4 | menor igual | 2400
Restrio 2 3 e 3 | menor igual | 1500
Restrio 3 9 e 4 | menor igual | 2700

Aps a insero dos dados na interface trabalhada obteve-se como resultado de maximizao de lucros, uma produo de 140 bicicletas do modelo TT e
360 bicicletas do modelo PP com lucro total de R$25600,00. Os resultados da
interface so mostrados na Figura 11.

41

Figura 11 - Interface de resultados da anlise de desempenho 2

3.5.3. Anlise de desempenho 3 (ECKER; KUPFERSCHMID, 1988)


Exercise 2.14
The Wood Products Company uses three machines to produce two products. The following technology table gives the hours on each machine required to
produce one unit of each product, and the total time available on each machine
during the production period.
Time Used in Making
Machine
Lathe
Sander
Polisher

Product 1
1,1
3
2,5

Product 2
2
4,5
1,3

Total Machine Time


Availible in Production Period
1000
2000
1500

The problem faced by the company is that it wants to maximize the total
number of products made, but it wants to be sure that the amount of product 1 is
at least one third the total number produced.
(a) Formulate a linear programming model for this problem.
(b) Suppose that instead of 3 machines and 2 products, 300 machines are
used to produce 200 products. Let

42

rij = number of hours on machine j required to produce one unit of product i


cj = available machine time on machine j
Formulate a linear programming model for this enlarged version of the problem.

3.5.3.1. Soluo esperada por programao linear.


Sendo x1 e x2 a quantidade de produtos 1 e 2, respectivamente temos
que:

Sujeito a;
(lathe)
(sander)
(polisher)

) (proporcionalidade)

Para nosso caso somente a questo (a) nos interessa.

3.5.3.2. Utilizao da Interface


Pela utilizao da lgica para construo do modelo teve-se as seguintes
condies:

Sujeito a;
(lathe)
(sander)
(polisher)
(

) (proporcionalidade)

Para este caso tem-se:


Coeficientes da funo objetivo = 1 e 1
Coeficientes das restries
Restrio 1 1,1 e 2 | menor igual | 1000
Restrio 2 3 e 4,5 | menor igual | 2000
Restrio 3 2,5 e 1,3 | menor igual | 1500
Restrio 4 0,67 e - 0,33 | menor igual | 0

43

A Figura 12 mostra a interface de resultados com os valores otimizados.

Figura 12 - Interface de resultados da anlise de desempenho 3

Para este caso os valores timos seriam produzir 165 unidades do produto 1 e 335 unidades do produto 2.

3.5.4. Anlise de desempenho 4 Problema 1.2.5. (JNIOR; SOUZA,


2004)
Uma refinaria processa vrios tipos de petrleo. Cada tipo de petrleo
possui uma planilha de custos diferente, expressando, condies de transporte e
preos na origem. Por outro lado, cada tipo de petrleo representa uma configurao diferente de subprodutos para a gasolina. Na medida em que certo tipo de
petrleo utilizado na produo da gasolina, possvel a programao das condies de octanagem e outros requisitos. Esses requisitos implicam na classificao do tipo de gasolina obtida.
Supondo que a refinaria trabalhe com uma linha de quatro tipos diferentes
de petrleo e deseje produzir as gasolinas amarela, azul e superazul, programar a
mistura dos tipos de petrleo atendendo s condies que se seguem nas tabelas
a seguir:

44

Tabela 1 - Quantidade disponvel do Petrleo

Tipo de Petrleo

Quantidade Mxima Disponvel (barril/dia)

1
2
3
4

3500
2200
4200
1800

Custos por Barril/dia (R$)


19
24
20
17

Tabela 2 - Percentuais para Limites de Qualidade das Gasolinas

Tipo de Gasolina
Superazul
Azul
Amarela

Preo de Venda
(R$/Barril)

Especificao
No mais que 30% de 1
No mais que 40% de 2
No mais que 50% de 3
No mais que 30% de 1
No mais que 10% de 2
No mais que 70% de 1

35
28
22

3.5.4.1. Soluo esperada por programao linear.


Sendo xij = nmero de barris de petrleo de tipo j (j = 1, 2, 3, 4) que sero
destinados produo da gasolina i (i = A-gasolina amarela, Z-gasolina azul e Sgasolina superazul).
O modelo para a funo-objetivo de maximizao de vendas fica:

Sujeito a;
(Quantidade disponvel do petrleo tipo 1)
(Quantidade disponvel do petrleo tipo 2 )

(Quantidade disponvel do petrleo tipo 3)


(Quantidade disponvel do petrleo tipo 4)
(Especificaes para gasolina do tipo S)

(...)
(...)
(Especificaes para gasolina do tipo Z)

(...)
(Especificaes para gasolina do tipo A)

45

3.5.4.2. Utilizao da Interface


O sistema de produo em questo deseja otimizar a mistura de petrleo
4 tipos de petrleo para a fabricao de trs tipos de gasolina relacionando seus
preos. O modelo proposto de 12 variveis :

Sujeito a;
(Quantidade disponvel do petrleo tipo 1)
(Quantidade disponvel do petrleo tipo 2 )

(Quantidade disponvel do petrleo tipo 3)


(Quantidade disponvel do petrleo tipo 4)

Especificaes da mistura de petrleo:


(gasolina do tipo S)

(...)
(...)
(gasolina do tipo Z)

(...)
(gasolina do tipo A)

Para este caso temos:


Coeficientes da funo objetivo = 3; -2; 2; -5; 9; 5; 8; 1; 16; 11; 15 e 8
Coeficientes das restries
Restrio 1 1; 0; 0; 0; 1; 0; 0; 0; 1; 0; 0 e 0 | menor igual | 3500
Restrio 2 0; 1; 0; 0; 0; 1; 0; 0; 0; 1; 0 e 0 | menor igual | 2200
Restrio 3 0; 0; 1; 0; 0; 0; 1; 0; 0; 0; 1 e 0 | menor igual | 4200
Restrio 4 0; 0; 0; 1; 0; 0; 0; 1; 0; 0; 0 e 1 | menor igual | 1800
Restrio 5 0; 0; 0; 0; 0; 0; 0; 0; 0,7; -0,3; -0,3; -0,3 | menor igual | 0
Restrio 6 0; 0; 0; 0; 0; 0; 0; 0; -0,4; 0,6; -0,4; -0,4 | maior igual | 0
Restrio 7 0; 0; 0; 0; 0; 0; 0; 0; -0,5; -0,5 0,5; -0,5 | menor igual | 0
Restrio 8 0; 0; 0; 0; 0,7; -0,3; -0,3; -0,3, 0; 0; 0; 0 |menor igual | 0
Restrio 9 0; 0; 0; 0; 0,9; -0,1; -0,1; -0,1, 0; 0; 0; 0 |maior igual | 0
Restrio 10 0,3; -0,7; -0,7; -0,7; 0; 0; 0; 0; 0; 0; 0; 0; | menor igual | 0

46

A janela de resultados deste problema mostrada na Figura 13. Portanto


tm-se os barris destinados a apenas algumas gasolinas: Z1, Z3, Z4,S1, S2 e S3.

Figura 13 - Interface de resultados da anlise de desempenho 4

47

3.5.5. Anlise de desempenho 5


Este teste foi realizado a partir da modelagem feita por MARETH, et al.,
(2012) para a gesto de produo de uma indstria de usinagem. O modelo foi
construdo a partir do clculo da margem de contribuio e lucro lquido utilizando
como ferramenta de resoluo de programao linear o software pago LINDO .
O artigo apresentou dois modelos a partir da gesto de custos da empresa. Um modelo para a Margem de Contribuio e outro modelo para o Lucro Lquido.

Modelo para Margem de Contribuio:

Modelo para Lucro Lquido:

Sujeito as seguintes restries:


(Tempo
de mquina);
(Custo
de Mo de Obra);
(Custo de
Matria Prima);
(Demanda Mnima produto 1);
(Demanda Mnima produto 2);
(Demanda Mnima produto 3);
(Demanda Mnima produto 4);
(Demanda Mnima produto 5);
(Demanda produto 6);
(Demanda Mxima produto 1);
(Demanda Mxima produto 2);

(Demanda Mxima produto 3);


(Demanda Mxima produto 4);
(Demanda Mxima produto 5);

(Custos e Despesas Fixas).

48

Para este caso, construiu-se a Tabela 1 com os coeficientes das funes


do processo.
Tabela 3 - Coeficientes das funes para os parmetros utilizados no Solver

Maximizar Z1
Maximizar Z2
Restrio 1
Restrio 2
Restrio 3
Restrio 4
Restrio 5
Restrio 6
Restrio 7
Restrio 8
Restrio 9
Restrio 10
Restrio 11
Restrio 12
Restrio 13
Restrio 14
Restrio 15

3,21
0,96

6,17
2,08

15,33
0,91

5,36
0,15

13,05
7,24

419,32
267,35

4,89
0,41
2,4
1
0
0
0
0
0
1
0
0
0
0
2,25

2
0,18
5,5
0
1
0
0
0
0
0
1
0
0
0
4,09

1,5
0,15
7,38
0
0
1
0
0
0
0
0
1
0
0
16,24

2,5
0,92
2,9
0
0
0
1
0
0
0
0
0
1
0
5,51

3,75
5,33
9,73
0
0
0
0
1
0
0
0
0
0
1
5,81

35,73
12,95
241,7
0
0
0
0
0
1
0
0
0
0
0
151,97

<=
<=
>=
>=
>=
>=
>=
>=
=
<=
<=
<=
<=
<=
<=

218887
6997,8
2770
50
50
50
50
50
25
2774
1050
302
1084
2649
25328

Assim, os valores dos coeficientes foram inseridos na interface e finalizouse a aplicao. A janela de resultados apresentada na Figura 14 e Figura 15.

Figura 14 - Interface de resultados da primeira maximizao da anlise 5

49

Figura 15 - Interface de resultados da segunda maximizao da anlise 5

Os resultados da interface so apresentados conforme a Tabela 2:


Tabela 4 - Resultados da simulao na Interface proposta utilizando-se o solver como ferramenta de resoluo.

Margem de Contribuio

Lucro Lquido

Z maximizado =

43690,84

Z maximizado =

18953,09

Varivel
c1
c2
c3
c4
c5
c6

Valor
2774,00
1050,00
302,00
68,48
983,00
25,00

Varivel
c1
c2
c3
c4
c5
c6

Valor
2774,00
1050,00
302,00
50,00
986,19
25,00

De modo comparativo, os resultados obtidos por MARETH, et al. (2012)


so apresentados na Tabela 3:

50

Tabela 5 - Resultados obtidos por MARETH (2012) utilizando o software pago LINDO

Margem de Contribuio

Lucro Lquido

Total funo obj.


(Z maximizado) =

46042,93

Total funo obj.


(Z maximizado) =

18050,33

Varivel
x1
x2
x3
x4
x5
x6

Valor
2774,00
1050,00
302,00
1084,00
746,13
25,00

Varivel
x1
x2
x3
x4
x5
x6

Valor
2774,00
1050,00
199,83
50,00
925,60
25,00

Nota-se que nas duas otimizaes, tanto pelo Solver quanto pelo LINDO,
tem-se um valor prximo de maximizao, apresentando um desvio na diferena
de valores de 5,1 % para a Margem de Contribuio e de 5% para o Lucro Lquido. No entanto, visvel que na Maximizao 1 os produtos 4 e 5 possuem valores significativamente diferentes. O mesmo acontece na Maximizao 2 em que
os produtos 3 e 5 tambm apresentam uma diferena significante. Acredita-se
que a fonte desta variao seja o mtodo de resoluo utilizado pelo SOLVER e
do LINDO.

51

4. CONCLUSES

No estudo de busca por aplicaes da programao linear pde-se concluir que, notavelmente, o uso de ferramentas computacionais para planejamento
cresceu muito nos ltimos anos. E tambm, devido facilidade e preo acessvel,
o Excel vem despontando entre os softwares de otimizao para o uso da programao linear. Isso se deve, em grande parte, ao fato dele possuir um ambiente
customizado e, muitas vezes, sem custo de implantao.
Ainda, pde-se confirmar a larga aplicao da Programao Linear em diversas reas, desde Recursos Humanos at Sistemas de Produo.
plausvel afirmar que se deve estimular a utilizao destes ambientes,
devido aos timos resultados de trabalhos envolvendo esses aplicativos.
Todos os trabalhos encontrados mostram que os modelos aplicados em
programao linear so eficazes ao produzir solues otimizadas e muitos deles
com um ganho significativo.
Com a utilizao do Visual Basic for Applications pde-se desenvolver
uma interface amigvel para a fcil utilizao do suplemento Solver , restando ao
usurio somente a insero das constantes sem se preocupar com a organizao
e layout das tabelas. Nas anlises de desempenho as interfaces agiram como
esperado, fornecendo e integrando a planilha interface. O resultados obtidos
nas otimizaes comparvel aos da literatura evidenciando a correta programao das rotinas e interao com o recurso Solver. Ainda, o Solver mostra-se uma
poderosa ferramenta comparvel a softwares pagos como o LINDO.
Assim pode-se afirmar que o aplicativo desenvolvido neste trabalho atende s expectativas das pequenas empresas, por ser um aplicativo auxiliar na tomada de deciso sem custos de aquisio e implantao.

52

REFERNCIAS BIBLIOGRFICAS
ABREU, J. D. O estudo da pesquisa operacional no campo da programao
de
produo
em
sistemas
agroindustriais.
Disponvel
em:
<http://www.administradores.com.br/informe-se/producao-academica/o-estudo-dapesquisa-operacional-no-campo-da-programacao-de-producao-em-sistemasagroindustriais/2240/>.

ALVES, J. M. C. B. Um sistema para o planejamento de produo e vendas


de uma empresa mineradora. Dissertao de Mestrado em Engenharia Mineral,
Universidade Federal de Ouro Preto, Ouro Preto, 2007.

BELLIS, P. M. D.; PINHO, A. F.; PAMPLONA, E. D. O. Definio de mix de


produo com uso de programao linear e custos empresariais. p. 14 XI
Congresso Brasileiro de Custos, Porto Seguro , 2004.

BISPO, C. A. F. Uma anlise da nova gerao de sistemas de apoio


deciso. Dissertao de Mestrado, Escola de Engenharia de So Carlos,
Universidade de So Paulo, So Carlos, 1998.

BRITO, R. G. F. A. Planejamento Programao e Controle da Produo. 2


Ediao. So Paulo: Editora Imam, 2000. 108 p. p.

CEZARINO, W.; FILHO, O. S. S.; RATTO, J. R. Planejamento agregado da


produo: Modelagem e soluo via planilha Excel & Solver. Revista
Produo. ABEPRO, v. IX, n. N III, p. 28, 2009.

COSTA, A. R. N. Programao da produo otimizada em indstrias de


panificao. 2009. 119f. Dissertao (Mestrado em Mtodos Numricos em
Engenharia), Universidade Federal do Paran, Curitiba, 2009.

ECKER, J. G.; KUPFERSCHMID, M. Introdution to operations research. New


York: John Wiley & Sons, v. Vol. 1, 1988. 509 p. p.

53

FEY, E.; SANTOS, S. R. Planejamento de um sistema agrcola utilizando


programao linear.. Congresso e Mostra de AgroInformtica, Ponta Grossa,
2000.

FROSSARD, A. C. P. Programao linear: Maximizao de lucros e


minimizao de custos. Revista Cientfica da Faculdade Loureno Filho. v. Vol.
6 , n. 1, p. 19-48, 2009.

GITOTTI, L. J.; NISHIMURA, V. S.; MESQUITA, M. A. Simulao em planilhas


para programo de ordens de produo em sistemas Job Shop. XXXI
Encontro NAcional de Engenharia de Produo , Belo Horizonte, 2011.

GRANDI, B. Uso da programao linear, atravs de planilha eletrnica


(Excel), como auxlio no planejamento de sistemas de produo agrcola. p.
5 Congresso e Mostra de AgroInformtica, Ponta Grossa, 2000.

JNIOR, A. D. C. G.; SOUZA, M. J. F. Solver (excel): Manual de Referncia.


Apostila, Universidade Federal de Ouro Preto, Ouro Preto, 2004.

JNIOR, J. C. M. Programao linear no planejamento agregado de


produo e vendas de uma indstria siderrgica. 2009. 77 f. Dissertao
(Mestrado em Engenharia de Produo), Universidade Federal de MInas Gerais,
Belo Horizonte, 2009.

JNIOR, J. F. D. A.; SILVA, A. B. D. Um sistema de apoio deciso baseado


em planilhas eletrnicas para o planejamento da produo na indstria de
laticnios. Revista Brasileira de Agroinformtica. v. Vol. 7, n. n. 2, p. 17-31, 2005.

KLANN, R. et al. Utilizao da programao linear na otimizao de


resultados de uma empresa do ramo de transporte rodovirio de cargas. Vol.
1, ABCustos Associao Brasileira de Custos, [S.l.], 2010.

LEON, L.; PRZASNYSKI, Z.; SEAL, K. C. Spreadsheets and OR/MS models: an


enduser perspective. Interfaces. p. 92-104, 1996.

54

MARETH, T. et al. Programao linear como ferramenta de apoio a gesto de


custos: Um estudo de caso em uma indstria de usinagem. Revista Eletrnica
Pesquisa Operacional para o Desenvolvimento. v. Vol.4, n. 2 Edio, Rio de
Janeiro, p. p. 125-138, 2012.

MIGLIOLI, M.; OSTANEL, L. H.; TACHIBANA, W. K. Planilhas eletrnicas como


ferramentas para apoio deciso e gerao de conhecimento na pequena
empresa. p. 8 XXIV Encontro Nacional de Engeneharia de Produo ,
Florianpolis, 2004.

MIRANDA, J.; MARTINS, V. F.; FARIA, A. F. D. O uso da programao linear


num contexto de laticnios com vrias restries na capacidade produtiva.
Revista Custos e @gronegcio. v. Vol. 3, n. Edio Especial, p. 40 - 58, 2007.

MUNHOZ, J. R.; MORABITO, R. Um modelo baseado em programao linear


e programao de metas para anlise de um sistema de produo e
distribuio de suco concentrado congelado de laranja. Revista Gesto &
Produo. v. Vol. 8, n. n.2, p. 139-159, ago. 2001.

NETO , A. R.; ZANELLA, C. Planejamento da produo com a utilizao do


solver-excel na empresa Bondio Alimentos S.A. XXVII Encontro NAcional de
Engenharia de Produo , Foz do Iguau, 2007.

NETO, A. R.; DEIMLING, M. F.; TOSATI, M. C. Aplicao da programao


linear no planejamento e controle de produo: Definio do mix de
produo de uma indstria de bebidas. p. 10 XIII SIMPEP, Bauru, 2006.

OENNING, V. et al. Teoria das restries e programao linear. Uma anlise


sobre o enfoque de otimizao da produo. p. 8 XXIV Encontro Nacional de
Engenharia de Produo , Florianpolis, 2004.

OLISZESKI, C. A. N. Modelos de planejamento agrcola: Um cenrio para


otimizao de processos agroindustriais. Dissertao
(Mestrado em
Engenharia de Produo - Programa de de Ps-Graduao em Tenologia),
Universidade Tecnolgica Federal do Paran, Ponta Grossa, 2010.

55

OLIVEIRA, L. V. Utilizao da programao linear para produo de sopa


desidratada em leito de jorro. VII Congresso Brasileiro de Engenharia Qumica
em Iniciao Cientfica, Uberlndia, 2009.

OLIVEIRA, V. A. D. Programao da produo de um estaleiro nutico. 2011.


126 f. Dissertao (Mestrado em Engenharia Mecnica e de Materiais),
Universidade Tecnolgica Federal do Paran, Curitiba, 2011.

PAULO, E. et al. Aplicao da programao linear para reduo de custos de


produo: Enfoque sobre o planejamento de produo e do quadro
funcional. p. 17 Fundao Visconde de Cairu, Salvador, 2003.

PEKNY, J. F.; REKLAITIS, G. V. Towards the Convergence of theory and


practice: A technoloy guide for scheduling/planning methodology in
proceedings of the foundations of computer aided process operations. p. 120 Conference - FOCAPO, Snowbird. Utah, 1998.

POLON, P. E. Otimizao da produo da indstria de embutidos. Tese


(Doutorado em Engenharia Qumica), Universidade Estadual de Maring,
Maring, 2010.

ROCHA, P. T. Programao matemtica da produo em processos batelada


utilizando planilhas do Excel com interface amigvel. Dissertao de
Mestrado em Engenharia Qumica, Universidade Estadual de Maring, Maring,
2011.

SEVERO, L. S. Aplicao de modelo de programao da produo na


indstria de couros. Dissertao de Mestrado em Engenharia Qumica,
Universidade Federal do Rio Grande do Sul, Porto Alegre, 2007.

VIEIRA, C. et al. Otimizao de um processo produtivo por meio do uso


conjunto da teoria das restries com programao linear: Estudo de caso
no segmento de plsticos descartveis. p. 13 XXXI Encontro Nacional de
Engenharia de Produo, Belo Horizonte, 2011.

56

ZACCARELLI, S. B. Programao e controle da produo. 6 Edio. So


Paulo: Pioneira, 1982. 292 p. p.

57

APNDICE A Manual de utilizao da Interface de Programao


da Produo por Programao Linear Interface PPPL

58

59

60

61

62

63

APNDICE B Macros: Cdigo VBA

Macro 1 Interface Inicial


Private Sub CommandButton1_Click()
'Testar se alguma opo de aplicao foi selecionada
Dim Checar As Boolean
Dim C As Object
Checar = False
For Each C In Controls
If TypeName(C) = "OptionButton" Then
If C.Value = True Then
Checar = True
End If
End If
Next C
'Caso no encontre nenhuma opo seleciona mostrar mensagem de erro
If Checar = False Then
MsgBox "Selecione uma opo de Aplicao"
Exit Sub
End If

'Caso tudo estaja selecionado seguir em frente

'Este calcula o caso de Aplicao Geral


'Primeiramente testa se o nmero de variveis foi fornecido
If TextBox3 = "" Then
MsgBox "Informe o nmero de variveis"
Exit Sub
End If

Var = TextBox3.Value
UserForm1.Hide
'
'Macro 1
'Cria a planilha na forma correta de aplicao Solver
'
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "Planejamento de Produo por Programao Linear"
With Selection.Font
.Name = "Calibri"
.Size = 18
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone

64

.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontMinor
End With
Selection.Font.Italic = True
Range("D2").Select
ActiveCell.FormulaR1C1 = "N de variveis="
Columns("D:D").Select
Columns("D:D").EntireColumn.AutoFit
Range("A4").Select
ActiveCell.FormulaR1C1 = "Funo Objetivo"
Range("D5").Select
ActiveCell.FormulaR1C1 = "Total funo Otimizada"
Columns("D:D").Select
Columns("D:D").EntireColumn.AutoFit
Range("D5").Select
ActiveCell.FormulaR1C1 = "Total funo obj."
Range("D7").Select
ActiveCell.FormulaR1C1 = "Varivel Otimizada"
Columns("D:D").Select
Columns("D:D").EntireColumn.AutoFit
Range("E7").Select
ActiveCell.FormulaR1C1 = "Valor"
Range("A7").Select
ActiveCell.FormulaR1C1 = "Coeficientes"
Columns("B:B").Select
Columns("A:A").ColumnWidth = 11.86
Range("B7").Select
ActiveCell.FormulaR1C1 = "Valor"
Range("A4:E4").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Dim z_obj As Integer

'Cria as colunas das n variveis

For z_obj = 1 To Var

65

Range("A" & z_obj + 7).Select


ActiveCell.FormulaR1C1 = "x" & z_obj
Next z_obj
Dim w As Integer

'Cria as colunas das n variveis a ser otimizada

For w = 1 To Var
Range("D" & w + 7).Select
ActiveCell.FormulaR1C1 = "c" & w
Next w
Range("E2").Select
ActiveCell.FormulaR1C1 = "" & Var
UserForm2.Show
End Sub
Private Sub CommandButton2_Click()
UserForm1.Hide
End Sub

Macro 2 Interface da Funo Objetivo


Option Explicit
Private Sub CommandButton1_Click()
'
'Checa se todos os parmetros fora preenchidos
Dim Checar As Boolean
Dim C As Object
Checar = False
For Each C In Controls
If TypeName(C) = "OptionButton" Then
If C.Value = True Then
Checar = True
End If
End If
Next C
If Checar = False Then 'Caso no encontre nenhuma opo seleciona mostrar mensagem de erro
MsgBox "Selecione uma opo de Otimizao"
Exit Sub
End If
'
'Insere o somatrio da funo objetivo
Call SomatorioObjetivo

66

'
'Marcada a opo, seguir em frente
UserForm2.Hide
UserForm3.Show
End Sub
Private Sub CommandButton2_Click()
UserForm2.Hide
UserForm1.Show
End Sub

Private Sub CommandButton3_Click()


Dim w
w = Plan1.Range("T5").Value
If w < Range("E2") Then
Dim q
q = Plan1.Range("B65000").End(xlUp).Row
Range("B" & q + 1).Select
ActiveCell.FormulaR1C1 = TextBox1.Text
Range("T5").Select
ActiveCell.FormulaR1C1 = w + 1
TextBox1 = ""
Call PreencherListBox
Else
MsgBox "Todas as variveis j foram preenchidas!"
TextBox1 = ""
End If
End Sub
Private Sub OptionButton1_Click()
'MMV usado para se referir ao MaxMinVal do parametro SolverOk
'
'Caso deseja-se Maximizar a funo objetivo
'
If OptionButton1.Value = True Then
Range("T4").Value = 1
End If
End Sub
Private Sub OptionButton2_Click()
'
'Caso deseja-se Minimizar a funo objetivo
'
If OptionButton2.Value = True Then
Range("T4").Value = 2
End If
End Sub
Private Sub UserForm_Initialize()
'ao inicializar o form preenche o controle
Call PreencherListBox

67

End Sub
Sub PreencherListBox()
Dim lastRow As Long
Dim i As Integer
ListBox1.Clear
With ListBox1
'define n colunas
.ColumnCount = 2
End With
' Verifica qual a ultima linha preenchida
lastRow = Plan1.Range("A65000").End(xlUp).Row
'adiciona dados
For i = 8 To lastRow
Me.ListBox1.AddItem Plan1.Range("A" & i)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Plan1.Range("B" & i)
Next
End Sub
Sub SomatorioObjetivo()
'
'Adiciona a somatria da funo objetivo
Dim f As String
Dim y As String
Dim m As Long

'Salva o somatrio
'Intermedirio para o somatrio
'Contador para percorrer todos os coeficientes

f = "="
For m = 1 To Plan1.Range("E2").Value
y = "B" & m + 7 & "*E" & m + 7
f = f & "+" & y
Next m
Range("E5").Select
'Insere o somatrio na clula correspondente
ActiveCell.Formula = f

End Sub

Macro 3 Interface das Restries


Option Explicit
Private Sub CommandButton1_Click()
Mdulo1.Solver
UserForm3.Hide
UserForm5.Show
End Sub
Private Sub CommandButton3_Click()

68

UserForm4.Show
End Sub
Private Sub UserForm_Activate()
'
'Preenche ListBox com o nmero de restries inseridas
Call PreencherListBoxRestricoes

End Sub
Private Sub UserForm_Initialize()
'
'Cria o cabealho das Restries
'
Range("H4:I4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
ActiveWindow.SmallScroll ToRight:=2
ActiveCell.FormulaR1C1 = "Restries"

Range("G4:I4").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With

69

Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
'
'Cria um contador para construo da planilha de restrio
'
Range("T7").Select
ActiveCell.FormulaR1C1 = 7
'
'Cria um contador de restries
'
Range("T8").Select
ActiveCell.FormulaR1C1 = 1
End Sub
Sub PreencherListBoxRestricoes()
Dim sa
ListBox1.Clear
With ListBox1
.ColumnCount = 1
End With
sa = Plan1.Range("T8")
Me.ListBox1.AddItem sa
End Sub

Macro 4 Interface de adio de restries


Option Explicit
Private Sub CommandButton1_Click()
'################################
'Checar se tudo foi preenchido
'################################
'Checa se foi fornecido valores dos coeficientes
If Range("T6") = 0 Then
MsgBox "Nenhum valor dos coeficientes foram Digitados"
Exit Sub
End If
If Range("T6") < Range("E2") Then
MsgBox "Ainda falta valores dos coeficientes"
Exit Sub
End If

'Checa se foi selecionado o igualador


Dim Checar As Boolean
Dim C As Object
Checar = False
For Each C In Controls
If TypeName(C) = "OptionButton" Then
If C.Value = True Then

70

Checar = True
End If
End If
Next C
'Caso no encontre nenhuma opo seleciona mostrar mensagem de erro
If Checar = False Then
MsgBox "Selecione o igualador: <=, =, >= !"
Exit Sub
End If

'Checa se foi dado valor a igualdade


If TextBox2 = "" Then
MsgBox "Fornea o valor da igualdade ou desigualdade"
Exit Sub
End If

'#################################
'Caso tudo OK, prosseguir
'#################################
'Inserir somatrio das multiplicaes LHS
Call Somatorio

'
'Conta para a prxima restrio
Dim d As Integer
d = Plan1.Range("T7")
d = d + Range("E2") + 5
Range("T7").Select
ActiveCell.FormulaR1C1 = "" & d
'
'Conta o nmero de restries
Dim h As Integer
h = Plan1.Range("T8")
h = h + 1
Range("T8").Select
ActiveCell.FormulaR1C1 = "" & h

'
'Controle para manter o valor de t
Range("T6").Select
ActiveCell.FormulaR1C1 = 0

UserForm4.Hide

End Sub
Private Sub CommandButton3_Click()
'
'Checagem se foi digitado o valor da varivel
If TextBox1 = "" Then

71

MsgBox "Nenhum valor foi digitado!"


Else
'
'Caso digitado, armazena valor na clula correspondente
Dim w
w = Plan1.Range("T6").Value 'Controla o nmero de variveis digitadas
If w < Range("E2") Then
Dim q
q = Plan1.Range("I65000").End(xlUp).Row
Range("I" & q + 1).Select
ActiveCell.FormulaR1C1 = TextBox1.Text
Range("T6").Select

'Controle do nmero de variveis adiciona-

das
ActiveCell.FormulaR1C1 = w + 1
TextBox1 = ""
Call PreencherListBox
Else
MsgBox "Todas as variveis j foram preenchidas!"
TextBox1 = ""
End If
End If
End Sub
Private Sub CommandButton4_Click()
UserForm4.Hide
End Sub
Private Sub CommandButton5_Click()
'################################
'Checar se tudo foi preenchido
'################################

'Checa se foi fornecido valores dos coeficientes


If Range("T6") = 0 Then
MsgBox "Nenhum valor dos coeficientes foram Digitados"
Exit Sub
End If
If Range("T6") < Range("E2") Then
MsgBox "Ainda falta valores dos coeficientes"
Exit Sub
End If

'Checa se foi selecionado o igualador


Dim Checar As Boolean
Dim C As Object
Checar = False

72

For Each C In Controls


If TypeName(C) = "OptionButton" Then
If C.Value = True Then
Checar = True
End If
End If
Next C
'Caso no encontre nenhuma opo seleciona mostrar mensagem de erro
If Checar = False Then
MsgBox "Selecione o igualador: <=, =, >= !"
Exit Sub
End If
'Checa se foi dado valor a igualdade
If TextBox2 = "" Then
MsgBox "Fornea o valor da igualdade ou desigualdade"
Exit Sub
End If
'#################################
'Caso tudo OK, prosseguir
'#################################

'Inserir somatrio das multiplicaes LHS


Call Somatorio

'
'Conta para a prxima restrio
Dim d As Integer
d = Plan1.Range("T7")
d = d + Range("E2") + 5
Range("T7").Select
ActiveCell.FormulaR1C1 = "" & d
'
'Conta o nmero de restries
Dim h As Integer
h = Plan1.Range("T8")
h = h + 1
Range("T8").Select
ActiveCell.FormulaR1C1 = "" & h

'
'Controle para manter o valor de t
Range("T6").Select
ActiveCell.FormulaR1C1 = 0
'Limpa a list box
ListBox1.Clear
'Limpa Textbox2
TextBox2 = ""

73

'Preenche a listbox com as novas restries


Call PreencherRestricoes
End Sub
Private Sub OptionButton1_Click()
'
'Escolha do igualador
'
Dim g As Integer
If OptionButton1.Value = True Then
g = Plan1.Range("T7") + Plan1.Range("E2") + 1
Range("I" & g).Value = 1
End If
End Sub
Private Sub OptionButton2_Click()
'
'Escolha do igualador
'
Dim g As Integer
If OptionButton2.Value = True Then
g = Plan1.Range("T7") + Plan1.Range("E2") + 1
Range("I" & g).Value = 2
End If
End Sub
Private Sub OptionButton3_Click()
'
'Escolha do igualador
'
Dim g As Integer
If OptionButton3.Value = True Then
g = Plan1.Range("T7") + Plan1.Range("E2") + 1
Range("I" & g).Value = 3
End If
End Sub
Private Sub TextBox2_Change()
'
'Adiciona o valor RHS a clula
Dim j As Integer
j = Plan1.Range("T7") + Plan1.Range("E2") + 2
Range("I" & j).Value = TextBox2.Value
'
End Sub
Private Sub UserForm_Initialize()
'
'Cria os espaos para as restries e seus coeficientes
'
Call PreencherRestricoes
Range("T6").Select

74

ActiveCell.FormulaR1C1 = 0
ListBox1.Clear
End Sub
Sub PreencherListBox()
Dim lastRow As Long
Dim i As Integer
Dim S As Integer
S = Plan1.Range("T7").Value
ListBox1.Clear
With ListBox1
'define n colunas
.ColumnCount = 2
End With
' Verifica qual a ultima linha preenchida
lastRow = Plan1.Range("H65000").End(xlUp).Row
'adiciona dados
For i = S To lastRow - 3
Me.ListBox1.AddItem Plan1.Range("H" & i)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Plan1.Range("I" & i)
Next

End Sub
Sub
Dim
Dim
Dim

PreencherRestricoes()
r As Integer 'Cria as colunas das n variveis das restries
t As Integer
p As Integer
r = Plan1.Range("H65000").End(xlUp).Row
Range("G" & r + 2).Select
ActiveCell.FormulaR1C1 = "n" & Range("T8")
Range("H" & r + 2).Select
ActiveCell.FormulaR1C1 = "Coeficiente"
Range("I" & r + 2).Select
ActiveCell.FormulaR1C1 = "Valor"

For t = 1 To Range("E2").Value
Range("H" & r + 3).Select
ActiveCell.FormulaR1C1 = "x" & t
r = r + 1
Next t
p = Plan1.Range("H65000").End(xlUp).Row
Range("H" & p + 1).Select
ActiveCell.FormulaR1C1 = "LHS="
Range("H" & p + 2).Select
ActiveCell.FormulaR1C1 = "Igualador="
Range("H" & p + 3).Select
ActiveCell.FormulaR1C1 = "RHS="
End Sub
Sub Somatorio()

75

'
'Adiciona o somatrio do LHS
'
Dim z As Integer 'Contador para definir o local da somatria
Dim f As String 'Salva o somatrio
Dim y As String 'Intermedirio para o somatrio
Dim m As Long
'Contador para percorrer todos os coeficientes
Dim n
'Intermedirio para o valor de "m"
z = Plan1.Range("T7") + Plan1.Range("E2")
f = "="
For m =
n =
y =
f =
Next m

1 To Plan1.Range("T6").Value
Range("T7") - 1
"I" & m + n & "*E" & m + 7
f & "+" & y

Range("I" & z).Select


ActiveCell.Formula = f
End Sub

Macro 5 Interface dos resultados


Option Explicit
Private Sub CommandButton1_Click()
UserForm5.Hide
End Sub

Sub PreencherListBox()
Dim lastRow As Long
Dim i As Integer
ListBox1.Clear
With ListBox1
'define n colunas
.ColumnCount = 2
End With
' Verifica qual a ultima linha preenchida
lastRow = Plan1.Range("D65000").End(xlUp).Row
'adiciona dados
For i = 8 To lastRow
Me.ListBox1.AddItem Plan1.Range("D" & i)
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Plan1.Range("E" & i)
Next
End Sub
Private Sub UserForm_Click()
End Sub

76

Private Sub UserForm_Initialize()


Dim r As Long
Call PreencherListBox
r = Plan1.Range("E5").Value
TextBox1.Text = r
End Sub

Macro 6 Aplicao Solver


Linhas de programao para utilizao automtica do Solver.
Option Explicit
Sub Solver()
'
' MACRO para utilizar o solver
'

'##############################################################################
###########
'
' Parmetros iniciais do solver: Clula destino, Otimizao, Intervalo de
variveis, etc..
Dim ChangeAddr As String, MaxMinVal As Long
Dim n As Integer
' Procura a ltima linha preenchida das variveis

n = Plan1.Range("B65000").End(xlUp).Row
ChangeAddr = "$E$8:$E$" & n
MaxMinVal = Range("T4").Value

'Seta os parmetros iniciais


SolverOk SetCell:="$E$5", MaxMinVal:="" & MaxMinVal, ValueOf:=0, ByChange:="" & ChangeAddr, _
Engine:=2, EngineDesc:="Simplex LP"

'##############################################################################
###########
'
'Adio das Restries
Dim
Dim
Dim
Dim

h
w
q
r

As
As
As
As

Integer
Integer
String
Long

'Nmero de restries
'Referncia para o Loop
'Referncia para localizar clula que deve ser lida

77

h = Plan1.Range("T8") - 1
q = 7 + Plan1.Range("E2")
For w = 1 To h
r = Range("$I$" & q + 1).Value
SolverAdd CellRef:="$I$" & q,
laText:="$I$" & q + 2
q = q + 5 + Plan1.Range("E2")
Next w

Relation:=""

&

r,

Formu-

'##############################################################################
############
'
' Finaliza o Solver
SolverSolve True
'
' Define ao e tipo de relatrios
SolverFinish KeepFinal:=1, ReportArray:=1, OutlineReports:=1

End Sub

78

ANEXO Artigo de referncia para teste de desempenho


Anlise de desempenho 5 - (MARETH, et al., 2012)

79

80

81

82

83

84

You might also like