Programac¸˜ao Linear com o Microsoft Excel R
3. O Comando Solver do Microsoft Excel
Otima. E o objetivo da programac¸˜ao linear consiste na determinac¸˜ao da soluc¸˜ao ´otima [ANDRADE, 2000].
Em problemas de programac¸˜ao linear (PPL) ´e necess´ario fazer a modelagem do problema, que consiste em equacion´a-lo em termos de equac¸˜oes e inequac¸˜oes lineares. Essa fase ´e importante pois o desenvolvimento de um m´etodo (ou algoritmo) que deter-mine a soluc¸˜ao de um PPL torna necess´ario a reduc¸˜ao do problema a uma forma que permita a aplicac¸˜ao direta deste algoritmo. No caso de programac¸˜ao linear, algoritmos como o M´etodo Simplex e o m´etodo de Pontos Interiores est˜ao entre os mais utilizados. Para maiores detalhes veja [BOLDRINI, COSTA, FIGUEIREDO & WETZLER, 1986].
O objetivo deste artigo ´e resolver problemas de programac¸˜ao linear utilizando o Microsoft Office Excel, um programa de planilha eletrˆonica escrito e produzido pela Mi-crosoft para computadores usando o sistema operacional MiMi-crosoft Windows e computa-dores Macintosh da Apple. A vers˜ao para Windows tamb´em roda em ambientes Linux, via software Wine. Seus recursos incluem uma interface intuitiva e capacitadas ferramen-tas de c´alculo e de construc¸˜ao de gr´aficos que, juntamente com um marketing agressivo, tornaram o Excel um dos mais populares aplicativos de computador at´e hoje.
2. O Suplemento Solver do Microsoft Excel
O Microsoft Excel, possui um suplemento chamado “Solver”. A opc¸˜ao Solver no Ex-cel pode ser utilizada para resolver problemas de otimizac¸˜ao lineares e n˜ao lineares. E tamb´em problemas de Programac¸˜ao Inteira, onde as restric¸˜oes de inteiros podem ser co-locadas nas vari´aveis de decis˜ao.
A ferramenta Solver do Microsoft Office Excel usa o c´odigo de otimizac¸˜ao n˜ao li-near de Gradiente Reduzido Gen´erico (GRG2), que foi desenvolvido por Leon Lasdon, da Universidade do Texas em Austin, e Alan Waren, da Universidade Estadual de Cleveland. Problemas lineares e de inteiros usam o M´etodo Simplex com limites nas vari´aveis e o M´etodo Desvio e Limite, implementados por John Watson e Daniel Fylstra, da Fron-tline Systems. Algumas partes do c´odigo do programa Solver do Microsoft Office Excel tiveram seus direitos autorais registrados em 1990, 1991, 1992 e 1995 pela Frontline Sys-tems. Outras partes foram registradas em 1989 pela Optimal Methods.
O Solver possui algumas limitac¸˜oes computacionais, ele pode ser utilizado para resolver problemas com at´e 200 vari´aveis de decis˜ao, 100 restric¸˜oes impl´ıcitas e 400 restric¸˜oes simples, ou seja, com limites inferior e superior ou restric¸˜oes de inteiros nas vari´aveis de decis˜ao) [AJUDA DO MICROSOFT OFFICE EXCEL 2007].
3. O Comando Solver do Microsoft Excel
Primeiramente vamos conhecer um pouco sobre o comando Solver e sua opc¸˜oes. A ativac¸˜ao do Solver depender´a da vers˜ao utilizada do Excel, na vers˜ao de 2003 e ante-riores basta ir ao menu Ferramentas e escolher a opc¸˜ao Solver. Caso n˜ao esteja instalado,
no menu Ferramentas escolha a opc¸˜ao Suplementos e na caixa Suplementos Dispon´ıveis escolha o Solver e clique em Ok.
J´a na vers˜ao 2007, houveram algumas modificac¸˜oes. Para instal´a-lo ´e necess´ario clicar no Bot˜ao Microsoft Excel e em seguida Opc¸˜oes do Excel. Ap´os isso clique em Suplementose na caixa Gerenciar, selecione Suplementos do Excel. Clique em Ir... e na caixa Suplementos Dispon´ıveis, marque a caixa de selec¸˜ao Solver e clique em OK. Depois de carreg´a-lo o comando Solver torna-se dispon´ıvel no grupo An´alise, na guia Dados.
Abaixo a caixa de di´alogo Parˆametros do Solver:
Figura 1: Caixa de Di ´alogo Par ˆametros do Solver
´
E aqui que faremos a resoluc¸˜ao do problema de programac¸˜ao linear, mas primei-ramente vamos conhecer um pouco sobre suas func¸˜oes:
• A caixa Definir c´elula de destino deve conter a localizac¸˜ao da c´elula onde est´a a func¸˜ao objetivo para o problema em considerac¸˜ao.
• M´ax, M´ın ou Valor de podem ser selecionados para encontrar o m´aximo, o m´ınimo ou valor definido logo a direita dessa opc¸˜ao para a c´elula alvo.
• A caixa C´elulas vari´aveis precisa conter a localizac¸˜ao das vari´aveis de decis˜ao para o problema.
• O bot˜ao Adicionar deve ser selecionado para incluir as restric¸˜oes que ficar˜ao espe-cificadas na caixa Submeter `as restric¸˜oes. O bot˜ao Alterar permite a modificac¸˜ao de uma restric¸˜ao j´a inserida e Excluir permite a exclus˜ao de uma restric¸˜ao previa-mente inserida.
• O bot˜ao Redefinir tudo limpa o problema atual e reinicializa todos os parˆametros aos seus valores padr˜ao.
• O bot˜ao Opc¸˜oes ativa a caixa de di´alogo Opc¸˜oes do Solver que cont´em parˆametros referente aos m´etodos de soluc¸˜ao para o problema.
• O bot˜ao Resolver ´e utilizado para a soluc¸˜ao do problema depois de todas as opc¸˜oes serem especificadas.
Ao clicar no bot˜ao Adicionar, a seguinte caixa de di´alogo ser´a exibida: Onde,
• A caixa Referˆencia de c´elula dever´a conter `as c´elulas de restric¸˜oes, geralmente em Programac¸˜ao Linear ser˜ao as c´elulas contendo as vari´aveis de decis˜ao que sofrem restric¸˜oes.
Figura 2: Caixa de Di ´alogo Adicionar Restric¸ ˜ao
• O tipo de restric¸˜ao pode ser escolhida clicando na seta da caixa entre as caixas Re-ferˆencia de c´elulae Restric¸˜ao, com as seguintes opc¸˜oes: <=, >=, =, num e bin. Onde num deve ser escolhido para n´umeros inteiros e bin para bin´arios.
• A caixa Restric¸˜ao conter´a os valores que as c´elulas de restric¸˜oes dever˜ao respeitar conforme o tipo de restric¸˜ao.
Ao clicar no bot˜ao Opc¸˜oes, a seguinte caixa de di´alogo ser´a exibida:
Figura 3: Caixa de Di ´alogo Opc¸ ˜oes do Solver
Onde,
• Em Tempo m´aximo, definimos o tempo m´aximo para a soluc¸˜ao do problema, problemas menores levam menos tempo que problemas maiores (com muitas vari´aveis de decis˜ao).
• Em Iterac¸˜oes, escolhemos a quantidade de iterac¸˜oes feitas para a resoluc¸˜ao do problema.
• Em Precis˜ao, escolhemos o tamanho do erro.
• Em Tolerˆancia, especifica uma porcentagem dentro a qual a soluc¸˜ao encontrada ´e ´otima. Utilizada para problemas inteiros, caso queira a soluc¸˜ao ideal esse valor deve ser zero.
• A opc¸˜ao Presumir modelo linear deve ser selecionada para problemas de programac¸˜ao linear, ela informa para o Excel para utilizar o Algoritmo Simplex
em vez do um algoritmo n˜ao linear (M´etodo do Gradiente Reduzido Gen´erico) que consumir´a um tempo maior.
• A opc¸˜ao Presumir n˜ao negativos deve ser selecionada para problemas de programac¸˜ao linear em que as vari´aveis n˜ao poder˜ao assumir valores negativos. De um modo geral, os valores padr˜oes desses parˆametros funcionam bem. Um fato importante ´e indicar ao Solver que o problema a ser otimizado ´e linear ou inteiro, escolhendo a opc¸˜ao Presumir modelo linear.