Palisade EVOLVER 5.5 User Manual [pt]

Manual do Usuário
Evolver
Solver de Algoritmo Genético para o Microsoft Excel
Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 EUA + 1-607-277-8000 + 1-607-277-8001 (fax) http://www.palisade.com (website) sales@palisade.com (e-mail)
Versão 5.5
Direitos autorais
Copyright © 2010, Palisade Corporation.
Reconhecimento de marcas comerciais
Microsoft, Excel e Windows são marcas registradas da Microsoft Corporation. IBM é marca registrada da International Business Machines, Inc. Palisade, Evolver, TopRank, BestFit e RISKview são marcas registradas da Palisade Corporation. RISK é marca comercial da Parker Brothers, divisão da Tonka Corporation, e é usada sob licença.

Índice

Capítulo 1: Introdução 1
Introdução ...........................................................................................3
Instruções de instalação....................................................................7
Capítulo 2: Noções Gerais 11
O que é o Evolver?...........................................................................13
Capítulo 3: Evolver: Passo a Passo 21
Introdução .........................................................................................23
Tour do Evolver ................................................................................25
Capítulo 4: Exemplos de Aplicações 45
Introdução .........................................................................................47
Seleção de publicidade....................................................................49
Ordenação alfabética .......................................................................51
Distribuição de tarefas.....................................................................53
Padaria...............................................................................................55
Distribuição orçamentária ...............................................................57
Equilíbrio químico ............................................................................59
Programador de horários de aulas.................................................61
Segmentador de código...................................................................65
Dakota: definição de rotas com restrições....................................69
Programador de tarefas de oficina .................................................73
Localização de torres de rádio........................................................75
Balanceamento de portfólio ............................................................77
Mix de portfólio.................................................................................81
Índice i
Estações de energia.........................................................................83
Compras............................................................................................85
Problema de vendedor.....................................................................87
Navegador espacial..........................................................................89
Negociante........................................................................................ 91
Transformador..................................................................................93
Transporte......................................................................................... 95
Capítulo 5: Guia de Referência do Evolver 97
Comando Definição do modelo......................................................99
Comando Configurações de otimização......................................123
Comando Iniciar otimização ......................................................... 129
Comandos Utilidades.....................................................................131
Observador do Evolver.................................................................. 135
Capítulo 6: Otimização 147
Métodos de otimização.................................................................. 149
Solver do Excel...............................................................................155
Tipos de problemas .......................................................................159
Capítulo 7: Algoritmos Genéticos 163
Introdução.......................................................................................165
História............................................................................................ 167
Exemplo na biologia ......................................................................171
Exemplo digital...............................................................................173
Capítulo 8: Recursos Adicionais do Evolver 177
Como inserir restrições.................................................................179
Como aumentar a velocidade.......................................................189
Como o Evolver efetua a otimização............................................191
Anexo A: Automatização do Evolver 195 Anexo B: Perguntas e Respostas 197
Perguntas e Respostas ................................................................. 197
ii
Anexo C: Recursos Adicionais 201
Recursos adicionais de aprendizagem........................................201
Glossário 207 Índice remissivo 215
Índice iii
iv

Capítulo 1: Introdução

Introdução...........................................................................................3
Antes de começar..................................................................................... 3
O que está incluído no pacote............................................................... 3
Sobre esta versão ..................................................................................... 3
Funcionamento com o seu ambiente operacional............................. 4
Se necessitar de ajuda............................................................................. 4
Antes de nos contatar.................................................................... 4
Requisitos de sistema do Evolver......................................................... 6
Instruções de instalação ...................................................................7
Instruções gerais de instalação.............................................................. 7
Remoção do Evolver do computador......................................... 7
DecisionTools Suite................................................................................ 8
Instalação de ícones ou atalhos do Evolver ........................................ 8
Mensagem de advertência sobre segurança de macros ao
iniciar ..................................................................................................... 9
Mais informações sobre o Evolver..................................................... 10
Arquivo LeiaMe do Evolver...................................................... 10
Tutorial do Evolver ..................................................................... 10
Como aprender a usar o Evolver......................................................... 10
Capítulo 1: Introdução 1
2

Introdução

O Evolver é o otimizador baseado em algoritmos genéticos mais avançado e veloz disponível no mercado até hoje. Por meio da aplicação de técnicas avançadas de otimização à base de algoritmos genéticos, o Evolver fornece as melhores soluções de problemas que são “insolúveis” para os otimizadores lineares e não-lineares padrão. O Evolver está disponível em duas versões – profissional e industrial – para que você possa escolher o otimizador mais adequado para as suas necessidades.
Este Manual do Usuário do Evolver Evolver e aos princípios nos quais é baseado, além de vários exemplos de como aplicar a tecnologia de algoritmo genético exclusiva do Evolver. Este manual completo também pode ser usado como guia de referência, pois é totalmente indexado e contém descrições e ilustrações de todos os recursos do Evolver.
apresenta uma introdução ao

Antes de começar

Antes de instalar o Evolver e começar a usá-lo, confira se a embalagem do produto contém todos os itens necessários, e se o seu computador atende os requisitos mínimos para usar o software sem problemas.

O que está incluído no pacote

O Evolver pode ser adquirido individualmente ou com a versão Profissional ou Industrial do DecisionTools Suite. O CD-ROM do Evolver contém o add-in (suplemento) Evolver para o Excel, vários exemplos para o Evolver e um sistema de ajuda eletrônica totalmente indexado. As versões Professional e Industrial do DecisionTools Suite contêm todos os componentes mencionados acima, além de aplicações adicionais.

Sobre esta versão

Esta versão do Evolver pode ser instalada como programa de 32 bits para o Microsoft Excel 2000 ou versão mais recente.
Capítulo 1: Introdução 3
Antes de nos contatar

Funcionamento com o seu ambiente operacional

Este Manual do Usuário pressupõe que o usuário saiba, de modo geral, usar o sistema operacional Windows e o Excel. Especificamente:
O usuário sabe usar o computador e o mouse. O usuário conhece termos como: ícones, clique, duplo-clique ou
clicar duas vezes, menu, janela, comando, objeto.
O usuário tem uma compreensão de conceitos básicos como:
estrutura de diretórios, atribuição de nomes a arquivos.

Se necessitar de ajuda

Fornecemos suporte técnico gratuito a todos os usuários registrados do Evolver com plano de manutenção vigente; também oferecemos suporte técnico mediante pagamento por incidente individual. Para ter certeza de estar registrado como usuário do Evolver, faça seu
registro online, no site http://www.palisade.com/support/register.asp.
Ao nos contatar por telefone, tenha à mão o número de série do seu produto e o Manual do Usuário. Podemos prestar melhor suporte técnico se você estiver em frente ao seu computador, pronto para trabalhar.
Antes de contatar o suporte técnico, confira o seguinte:
Você consultou a Ajuda online?
Você consultou este Manual do Usuário e assistiu ao tutorial multimídia
online?
Você leu o arquivo LEIAME.WRI? Ele contém informações atualizadas
sobre o Evolver, que podem não estar incluídas no manual.
O problema que está ocorrendo pode ser reproduzido sempre da mesma
forma? É possível reproduzir o problema em outro computador, ou outro modelo de computador?
Você consultou nosso site na internet? O endereço é:
http://www.palisade.com. O site também contém respostas a perguntas frequentes recentes (FAQ, na forma de um banco de dados pesquisável de perguntas com as respostas do suporte técnico, assim como patches para o Evolver, na seção Suporte Técnico. Recomendamos acessar nosso site regularmente para ver as últimas informações sobre o Evolver e outros programas da Palisade.
4 Introdução
Como contatar a Palisade
A Palisade Corporation recebe com satisfação perguntas, comentários e
sugestões relacionadas ao Evolver. Entre em contato com a nossa equipe de suporte técnico pelos seguintes meios:
E-mail: support@palisade.com
Telefone: +1-607-277-8000, dias úteis, das 9h às 17h (horário de Nova
York). Siga as instruções telefônicas para ser conectado ao suporte técnico.
Fax: +1-607-277-8001.
Correspondência:
Technical Support Palisade Corporation 798 Cascadilla St. Ithaca, NY 14850 EUA
Se quiser contatar a Palisade Europe:
E-mail: support@palisade-europe.com.
Telefone: +44 1895425050 (RU).
Fax:: +44 1895425051
(RU).
Correspondência:
Palisade Europe 31 The Green West Drayton Middlesex UB7 7PN
Reino UnidoPara contatar a Palisade Asia-Pacific:
E-mail: support@palisade-europe.com.
Telefone: +61 2 9929 9799 (Austrália).
Fax: +61 2 9954 3882 (Austrália).
Correspondência:
Palisade Asia-Pacific Pty Limited Suite 101, Level 1 8 Cliff Street Milsons Point NSW 2061 Austrália
Ao nos contatar, pedimos que sempre inclua o nome do produto, a versão e o número de série. O número exato da versão pode ser encontrado no comando Sobre, da Ajuda, no menu do Evolver no Excel.
Capítulo 1: Introdução 5
Versão Student
Não oferecemos suporte técnico para a versão de estudante do Evolver. Se necessitar de ajuda, recomendamos as seguintes alternativas:
Consulte o um professor ou colega Acesse http://www.palisade.com e veja as respostas às perguntas
mais comuns.
Contate nosso departamento de suporte técnico por e-mail ou fax.

Requisitos de sistema do Evolver

Os requisitos de sistema do Evolver incluem:
Pentium PC ou processador mais veloz, com disco rígido.
Microsoft Windows 2000 SP4 ou versão superior.
Microsoft Excel 2000 ou versão superior.
6 Introdução

Instruções de instalação

O Evolver é um suplemento (add-in) para o Microsoft Excel. O Evolver acrescenta comandos adicionais às barras de menu do Excel, otimizando a funcionalidade desse programa de planilha eletrônica.

Instruções gerais de instalação

O programa de instalação copia os arquivos de sistema do Evolver no diretório do disco rígido que você especifica. Para executar o programa de instalação no Windows 2000 ou versão superior:
Insira o CD-ROM do Evolver ou do DecisionTools Suite Professional ou Industrial na unidade de CD-ROM do seu computador
Clique no botão Iniciar; em seguida, clique em Configurações, e em Painel de Controle
Clique duas vezes no ícone Adicionar/Remover Programas Na guia Instalar/Desinstalar, clique no botão Instalar Siga as instruções do programa de instalação apresentadas na tela
Se tiver algum problema durante a instalação do Evolver, verifique se a unidade de disco na qual a instalação está sendo feita tem espaço suficiente. Após liberar espaço suficiente, tente executar a instalação novamente.
Remoção do Evolver do computador
Se quiser remover o Evolver (e as versões do Evolver ou do DecisionTools Suite Profissional ou Industrial) do seu computador, use o utilitário Adicionar/Remover Programas, no Painel de Controle, e selecione o item correspondente ao @RISK ou ao DecisionTools Suite.
Capítulo 1: Introdução 7

DecisionTools Suite

O Evolver pode ser usado com o DecisionTools Suite, um conjunto de produtos para análise de risco e decisões que pode ser adquirido da Palisade Corporation. O procedimento padrão de instalação do Evolver coloca o programa em um subdiretório do diretório principal “Arquivos de Programas\Palisade”. Isso é semelhante ao que ocorre com o Excel, que geralmente é instalado em um subdiretório do diretório principal do “Microsoft Office”.
Um dos subdiretórios de Arquivos de Programas\Palisade será o diretório do Evolver (por padrão, denominado Evolver5). Este diretório contém o arquivo do suplemento Evolver (EVOLVER.XLA), além de exemplos de modelos e outros arquivos necessários para executar o Evolver. Um outro subdiretório de Arquivos de Programas\Palisade é o diretório SISTEMA (ou SYSTEM), que contém os arquivos necessários para cada programa do DecisionTools Suite, inclusive as bibliotecas dos programas e arquivos de ajuda comuns.

Instalação de ícones ou atalhos do Evolver

No Windows, o programa de instalação cria automaticamente um comando do Evolver no menu Programas da barra de tarefas. Contudo, se houver algum problema durante a instalação, ou se quiser fazer isso manualmente em outra ocasião, siga estas instruções;
1) Clique no botão Iniciar e, em seguida, aponte para Configurações.
2) Clique na barra de tarefas e, em seguida, na guia de programas do
menu Iniciar.
3) Clique em Adicionar e, em seguida, em Procurar.
4) Localize o arquivo EVOLVER.EXE e clique duas vezes nele.
5) Clique em Avançar e, em seguida, clique duas vezes no menu em
que deseja apresentar o programa.
6) Digite o nome “Evolver” e, em seguida, em Concluir.
8 Instruções de instalação

Mensagem de advertência sobre segurança de macros ao iniciar

O Microsoft Office permite definir várias configurações de segurança para impedir que macros nocivas ou indesejáveis sejam executadas nos aplicativos do Office. Uma mensagem de advertência aparece sempre que se tentar carregar um arquivo que contém macros, a menos que se tenha definido o nível de segurança como mínimo. Para que essa mensagem não apareça toda vez que se executar o add-in, a Palisade inseriu assinaturas digitais nos arquivos do add-in. Assim, após o usuário especificar Palisade Corporation como fonte confiável, todos os add-ins da Palisade poderão ser abertos sem que sejam apresentadas mensagens de advertência. Para fazer isso:
Ao iniciar o Evolver, se aparecer uma caixa de diálogo de Aviso de Segurança (semelhante à mostrada abaixo), clique em Confiar em todos os documentos deste editor.
Capítulo 1: Introdução 9
Arquivo LeiaMe do Evolver
Tutorial do Evolver

Mais informações sobre o Evolver

Mais informações sobre o Evolver podem ser encontradas nas seguintes fontes:
Este arquivo contém um resumo conciso do Evolver, além de informações atualizadas e últimas notícias sobre a versão mais recente do software. Para visualizar o arquivo LeiaMe selecione, no Windows, o menu Iniciar / Programas / Palisade DecisionTools/ LeiaMe e, em seguida, clique em Evolver 5.0 – LeiaMe. Sugerimos ler o arquivo antes de usar o Evolver. Tutorial do Evolver
O tutorial online do Evolver apresenta uma introdução rápida do Evolver e dos algoritmos genéticos a usuários principiantes. O tutorial leva apenas alguns minutos para ser assistido. Para saber como acessar o tutorial, consulte a seção Como aprender a usar o Evolver, a seguir.

Como aprender a usar o Evolver

A maneira mais rápida de aprender a usar o Evolver é com o tutorial online, em formato de filme, no qual especialistas apresentam modelos e exemplos passo a passo explicando como usar o programa. O tutorial é uma apresentação multimídia sobre os principais recursos do Evolver.
O tutorial pode ser executado selecionando-se o comando Tutorial Primeiros Passos, do menu Ajuda do Evolver.
10 Instruções de instalação

Capítulo 2: Noções Gerais

O que é o Evolver?........................................................................... 13
Como o Evolver funciona?................................................................... 14
Algoritmos genéticos.................................................................. 14
O que é o otimização?........................................................................... 15
Por que criar modelos no Excel?......................................................... 16
Por que usar o Evolver?........................................................................ 17
Não é mais necessário adivinhar.............................................. 17
Mais flexibilidade....................................................................... 18
Maior capacidade ........................................................................ 18
Custo-benefício............................................................................ 19
Capítulo 2: Noções Gerais 11
12

O que é o Evolver?

O pacote de software Evolver fornece ao usuário uma maneira fácil de encontrar a melhor solução para praticamente qualquer tipo de problema. Em poucas palavras: o Evolver encontra os melhores inputs (entradas de dados) para produzir o output (resultado) desejado. Pode-se usar o Evolver para encontrar a combinação, a ordem ou o agrupamento correto de variáveis que produzem o maior lucro, o menor risco ou o maior número de mercadorias com a menor quantidade de materiais. Geralmente, o Evolver é usado como suplemento (add-in) do programa de planilha eletrônica Microsoft Excel; o usuário configura um modelo do seu problema no Excel e, em seguida, chama o Evolver para solucioná-lo.
É necessário primeiro criar um modelo do problema no Excel e, em seguida,
O Excel fornece todas as fórmulas, funções, recursos gráficos e macros que a maioria dos usuários necessita para criar modelos realísticos de seus problemas. O Evolver incerteza do modelo e o que o usuário quer encontrar, e fornece os mecanismos para fazê-lo. Juntos, eles possibilitam encontrar as melhores soluções para praticamente qualquer problema que possa ser modelado.
Capítulo 2: Noções Gerais 13
descrevê-lo para o add-in Evolver.
fornece a interface para descrever a
Algoritmos genéticos

Como o Evolver funciona?

O Evolver usa um conjunto proprietário de algoritmos genéticos para procurar soluções ótimas para determinado problema, em conjunto com distribuições de probabilidade e simulações que levam em conta a incerteza presente no modelo.
Os algoritmos genéticos do Evolver são usados para encontrar a melhor solução possível para o modelo específico. Algoritmos genéticos funcionam como os princípios darwinianos de seleção natural, criando um ambiente em que centenas de soluções possíveis para um problema competem entre sim, e apenas a mais apta sobrevive. Da mesma forma que na evolução biológica, cada solução pode transmitir seus “bons” genes a soluções “descendentes”, a fim de que toda a população de soluções continue a evoluir no sentido de criar melhores soluções.
Como você já deve ter notado, a terminologia usada ao se trabalhar com algoritmos genéticos é muito semelhante à usada no campo que inspirou essa tecnologia. Falamos sobre como funções de “crossover” ajudam a concentrar a busca de soluções, como as taxas de “mutação” ajudam a diversificar o “pool genético”, e como avaliamos toda a “população” de soluções ou “organismos”. Para saber mais sobre como os algoritmos genéticos do Evolver funcionam, consulte o Capítulo 7 – Algoritmos Genéticos
.
14 O que é o Evolver?

O que é o otimização?

Otimização é o processo de tentar encontrar a melhor solução possível para um problema específico que pode ter muitas soluções. A maioria dos problemas envolve muitas variáveis que interagem de acordo com determinadas fórmulas e restrições. Por exemplo, uma empresa pode ter três fábricas que fabricam diferentes quantidades de diversos produtos. Dado o custo de produção de cada produto para cada fábrica, o custo de remessa a cada loja e as limitações de cada fábrica, qual seria a melhor maneira de atender adequadamente a demanda das lojas locais e, ao mesmo tempo, minimizar os custos de transporte? As ferramentas de otimização são projetadas para responder esse tipo de pergunta.
Frequentemente, o objetivo da otimização é encontrar a combinação
que rende o máximo dados determinados recursos.
No exemplo acima, cada solução proposta apresentaria uma lista completa de quais mercadorias específicas, produzidas por quais fábricas específicas, devem ser transportadas por qual caminhão para qual loja de varejo. Outros exemplos de problemas de otimização são relacionados a como produzir o maior lucro, o menor custo, salvar o maior número de vidas, produzir a menor quantidade de ruído em um circuito, encontrar a rota mais curta entre várias cidades ou a mescla mais eficaz de veículos publicitários. Outro tipo importante de problema de otimização diz respeito à programação de horários ou agendamento de pessoal com o objetivo de maximizar a eficiência durante cada turno ou minimizar conflitos de agendamento entre reuniões de grupos em diferentes horários. Para saber mais sobre otimização, consulte o Capítulo 6 – Otimização
Capítulo 2: Noções Gerais 15
.

Por que criar modelos no Excel?

Para aumentar a eficiência de qualquer sistema, é necessário, primeiro, entender como ele funciona. É para isso que construímos um modelo funcional do sistema. Modelos são abstrações necessárias para estudar sistemas complexos; contudo, para que os resultados sejam aplicáveis ao “mundo real”, não podemos simplificar excessivamente as relações de causa e efeito entre as variáveis do modelo. Softwares e computadores cada vez mais avançados possibilitam que economistas construam modelos mais realísticos da economia, que cientistas melhorem as previsões de reações químicas, e que executivos aumentem a sensibilidade de seus modelos empresariais.
Nos últimos anos, equipamentos de informática e programas como o Microsoft Excel avançaram tanto que hoje praticamente qualquer pessoa com um computador pode criar modelos realísticos de sistemas complexos. As funções integradas no Excel, os recursos de macros e a interface intuitiva e agilizada permitem que até mesmo usuários principiantes modelem e analisem problemas sofisticados. Para saber mais sobre como construir um modelo, consulte o Capítulo 8 – Recursos Adicionais do Evolver.
16 O que é o Evolver?
Não é mais necessário adivinhar
Maior exatidão, maior significância

Por que usar o Evolver?

Com a tecnologia exclusiva do Evolver, qualquer pessoa que tenha um computador e o Excel para Windows pode aproveitar os benefícios da otimização. Antes do Evolver, existiam três alternativas para quem quisesse aumentar a eficiência ou encontrar soluções otimizadas: adivinhar, usar um software de baixa capacidade para solucionar os problemas ou contratar consultores especializados em otimização para criar e programar um software personalizado. A seguir, apresentamos algumas das principais vantagens de se usar o Evolver:
Ao se lidar com um grande número de variáveis que interagem entre si, na tentativa de encontrar a melhor combinação, ordem e grupo dessas variáveis, pode ser tentador simplesmente “dar um bom chute”. Um número surpreendente de pessoas pressupões que qualquer tipo de modelagem e análise que vá além do chute ou adivinhação requer programação complicada, estatísticas ou algoritmos matemáticos complexos. Uma boa solução otimizada pode economizar milhões de reais, milhares de litros de combustível, meses de trabalho perdido etc. Agora que computadores de alta capacidade estão disponíveis a preços cada vez mais acessíveis, e que existem softwares como o Excel e o Evolver facilmente à disposição, não há motivo para adivinhar as soluções ou perder tempo precioso experimentando manualmente inúmeros cenários.
O Evolver possibilita usar toda a gama de fórmulas do Excel, e até mesmo macros, para construir modelos mais realísticos de qualquer sistema. Com o Evolver, não é necessário comprometer a exatidão do modelo devido à capacidade insuficiente do algoritmo de lidar com as complexidades do mundo real. Os Solvers básicos convencionais (ferramentas de programação lineares e estatísticas) forçam o usuário a fazer pressuposições sobre como as variáveis do problema interagem, obrigando-os a construir modelos super-simplificados e irrealísticos dos problemas. Depois de simplificar um sistema o suficiente para poder usá-lo em um solver desse tipo, a solução resultante em geral é abstrata demais para poder ser colocada em prática. Nenhum problema que envolva um grande número de variáveis, funções não-lineares, tabelas de referência, condições hipotéticas (“If... Then”), consultas a bancos de dados ou elementos estocásticos (aleatórios) pode ser solucionado por esses métodos, não importa o quanto se simplifique o modelo.
Capítulo 2: Noções Gerais 17
Mais flexibilidade
Existem muitos algoritmos de resolução que funcionam bem para solucionar problemas lineares e não-lineares simples e de pequeno porte, inclusive algoritmos hill-climbing, baby-solvers e outros métodos matemáticos. Mesmo quando disponíveis como suplementos (add­ins) de planilhas eletrônicas, essas ferramentas de otimização para uso geral só efetuam a otimização numérica. Para problemas mais complexos ou de grande porte, às vezes é possível programar algoritmos personalizados específicos e obter bons resultados, mas isso exige muita pesquisa e desenvolvimento. Mesmo assim, o programa resultante necessitaria ser modificado cada vez que houvesse alguma mudança no modelo.
O Evolver, além de ter capacidade para lidar com problemas numéricos, é o único programa à venda no mundo inteiro que soluciona a maioria dos problemas combinatórios. Referimo-nos aos tipos de problemas em que as variáveis precisam ser embaralhadas (permutadas) ou combinadas entre si. Por exemplo, escolher a ordem de entrada em campo dos jogadores de um time de beisebol pode ser um problema combinatório; trata-se de mudar as posições dos jogadores na lista de entrada. Problemas mais complexos de agendamento também são problemas combinatórios. Um mesmo software – o Evolver – pode solucionar todos esses tipos de problemas e muitos outros que outras ferramentas tipo solver não conseguem solucionar. A tecnologia exclusiva de algoritmo genético do Evolver possibilita que ele otimize praticamente qualquer tipo de modelo, de qualquer porte e complexidade.
Maior capacidade
O Evolver encontra melhores soluções. A maioria dos softwares emprega uma derivação matemática e sistemática para chegar a soluções otimizadas. Frequentemente, esses métodos se limitam a pegar uma solução existente e procurar a resposta mais próxima que seja melhor. Essa solução “local” obtida pode estar muito longe de ser a melhor solução. O Evolver, por outro lado, coleta amostras de modo inteligente, de todo o universo de possibilidades, produzindo uma solução “global” muito melhor.
18 O que é o Evolver?
Mais fácil de usar
Custo-benefício
Apesar de todas as vantagens que o Evolver oferece em termos de capacidade e flexibilidade, ele é um programa fácil de usar, porque é absolutamente desnecessário entender as técnicas complexas de algoritmo genético em que ele se baseia. Para o Evolver, os elementos básicos do problema não são importantes; ele só precisa de um modelo em planilha eletrônica para poder avaliar os diversos cenários. Você só precisa selecionar as células da planilha que contêm as variáveis e informar ao Evolver o que está procurando. O Evolver inteligentemente oculta a tecnologia difícil subjacente e automatiza o processo de variações hipotéticas (what-if) na análise do problema.
Embora muitos programas comerciais tenham sido desenvolvidos para programação matemática e construção de modelos, os programas de planilhas eletrônicas ainda são, sem dúvida, os preferidos dos usuários, e milhões desses programas são vendidos todos os meses. Com um formato intuitivo de linhas e colunas, as planilhas eletrônicas são mais fáceis de configurar e manter do que outros pacotes especializados. Elas também são mais compatíveis com outros programas, como processadores de texto e bancos de dados, e oferecem um maior número de fórmulas predefinidas, opções de formatação, recursos para elaboração de gráficos e macros do que qualquer outro pacote autônomo. Como o Evolver é um suplemento ou add-in para o Microsoft Excel, o usuário tem acesso à gama completa de funções e ferramentas de desenvolvimento deste, o que lhe permite construir facilmente modelos mais realísticos do seu sistema.
Muitas empresas contratam consultores treinados para criar sistemas de otimização personalizados. Esses sistemas geralmente funcionam bem, mas requerem muitos meses de trabalho e investimento para serem desenvolvidos e implantados. Esses sistemas também são difíceis de aprender e, portanto, incorrem custos de treinamento e manutenção constantes. Se o sistema precisar ser alterado, poderá ser necessário desenvolver um algoritmo totalmente novo para encontrar as soluções ótimas. Com um investimento consideravelmente menor, o Evolver fornece os algoritmos genéticos mais possantes disponíveis, e possibilita obter soluções rápidas e exatas para uma grande variedade de problemas. Como ele funciona em um ambiente intuitivo e já conhecido, não há necessidade de treinamento e manutenção dispendiosos.
A capacidade de otimização do Evolver pode até ser acrescentada aos programas personalizados do próprio usuário. Em apenas alguns dias, você pode usar o Visual Basic para desenvolver o seu próprio sistema de agendamento, distribuição, produção ou gerenciamento
Capítulo 2: Noções Gerais 19
financeiro. Veja mais detalhes de como desenvolver aplicativos baseados no Evolver no Kit de Desenvolvedor.
20 O que é o Evolver?

Capítulo 3: Evolver: Passo a Passo

Introdução.........................................................................................23
Tour do Evolver................................................................................25
Como iniciar o Evolver......................................................................... 25
Barra de ferramentas do Evolver.............................................. 25
Como abrir um exemplo de modelo ........................................ 25
Caixa de diálogo Modelo do Evolver................................................. 26
Seleção da célula-alvo........................................................................... 27
Como especificar os intervalos de células ajustáveis ..................... 28
Restrições................................................................................................ 31
Intervalo de valores simples e restrições de fórmulas.......... 32
Outras opções do Evolver .................................................................... 35
Condições de parada................................................................... 35
Opções de exibição...................................................................... 36
Execução da otimização........................................................................ 38
Capítulo 3: Evolver: Passo a Passo 21
22

Introdução

Neste capítulo, vamos guiá-lo passo a passo por todo o processo de otimização do Evolver. Se o Evolver ainda não está instalado no seu disco rígido, consulte a seção referente à instalação, no Capítulo 1 Introdução
Vamos começar abrindo um modelo de planilha eletrônica predefinido; em seguida, vamos definir o problema para o Evolver usando distribuições de probabilidade e as caixas de diálogo do Evolver. Finalmente, vamos ver todo o processo de busca de soluções do Evolver e explorar algumas das várias opções fornecidas pelo Observador do Evolver. Para obter mais informações sobre um tópico específico, veja o índice remissivo no final deste manual ou consulte o Capítulo 5: Referência do Evolver.
NOTA: As telas a seguir são baseadas no Excel 2007. Se forem usadas outras versões do Excel, as janelas poderão ser um pouco diferentes das que apresentamos aqui.
O processo de solução de problemas começa com um modelo que representa com exatidão o problema que você quer resolver. É necessário que o modelo possa avaliar uma série específica de valores de input (células ajustáveis) e produzir uma classificação numérica de como esse inputs solucionaram o problema (função de avaliação ou “aptidão”, referida como função objetivo). À medida que o Evolver procura as soluções, a função de aptidão ou função objetivo fornece feedback, informando o Evolver sobre o grau de adequação de cada solução, a fim de possibilitar que ele chegue gradualmente a melhores soluções. Ao criar um modelo do seu problema, é necessário prestar muita atenção à função objetivo, porque o Evolver fará tudo que for possível para maximizar (ou minimizar) essa célula.
, e instale o Evolver antes de começar este tutorial.
:
Capítulo 3: Evolver: Passo a Passo 23
24

Tour do Evolver

Como iniciar o Evolver

Para iniciar o Evolver faça o seguinte: 1) clique no ícone do Evolver na área de trabalho do Windows; ou 2) selecione Palisade DecisionTools e, em seguida, Evolver 5.0 na lista de programas do menu Iniciar do Windows. Esses dois métodos iniciam o Microsoft Excel e o Evolver.
Barra de ferramentas do Evolver
Como abrir um exemplo de modelo
Quando o Evolver é carregado, uma nova barra de ferramentas aparece no Excel. Essa barra de ferramentas contém botões que podem ser usados para definir configurações do Evolver e iniciar, pausar e parar otimizações.
Para conhecer os recursos do Evolver, vamos examinar um exemplo de modelo que foi instalado durante a instalação do Evolver. Para fazer isso:
1) Abra a planilha Padaria–Tutorialpassoapasso.XLS, usando o
comando Planilhas exemplo, no menu Ajuda.
Capítulo 3: Evolver: Passo a Passo 25
Esta planilha de exemplo contém um problema simples de maximização de lucros para uma padaria. A padaria produz 6 tipos de pães. Suponhamos que você é o gerente da padaria, encarregado de controlar a renda, os custos e os lucros da produção. Você precisa determinar o número de caixas de cada tipo de pão que maximizará o lucro total, sem deixar de atender as diretrizes de limites de produção. As diretrizes a serem obedecidas são: 1) cumprir a quota de produção de pães de baixo teor calórico; 2) manter uma relação aceitável fibra/caloria;
3) manter uma relação aceitável entre pães de 5 grãos e baixo teor calórico; e
4) manter o ciclo de produção dentro dos limites de horas de mão-de-obra.

Caixa de diálogo Modelo do Evolver

Para definir as opções do Evolver para a planilha em questão, faça o seguinte:
1) Clique no ícone Modelo do Evolver, na barra de ferramentas do
Evolver (na extrema esquerda).
Isso abre a caixa de diálogo Modelo do Evolver, mostrada a seguir:
A caixa de diálogo Modelo do Evolver foi criada para que o usuário possa descrever o problema específico de forma simples e direta. No exemplo do tutorial fornecido, estamos tentando encontrar o número de caixas de cada tipo de pão que devem ser produzidas para maximizar o lucro total.
26 Tour do Evolver

Seleção da célula-alvo

O “lucro total” do modelo do exemplo é o que chamamos de célula­alvo. Esta é a célula cujo valor você está tentando minimizar ou maximizar, ou a célula cujo valor você está tentando aproximar o máximo possível de um valor predefinido. Para especificar a célula-alvo
1) Defina a opção “Objetivo da otimização“ como “Máximo”.
2) No campo “Célula”, digite $I$11, que é a célula-alvo.
As referências de células podem ser inseridas nos campos de diálogos do Evolver de duas formas: 1) você pode clicar no campo com o cursor e digitar a referência diretamente no campo; ou 2) com o cursor no campo selecionado, você pode clicar no ícone de entrada de referência e selecionar diretamente a célula ou células da planilha com o mouse.
Capítulo 3: Evolver: Passo a Passo 27

Como especificar os intervalos de células ajustáveis

Agora é necessário especificar o local das células que contêm valores que o Evolver pode ajustar para procurar soluções. Essas variáveis são acrescentadas e editadas um bloco por vez na seção Intervalos de células ajustáveis da caixa de diálogo Modelo. O número de células que se pode inserir nos intervalos de células ajustáveis depende da versão do Evolver que está sendo usada.
1) Clique “no botão “Adicionar”, na seção “Intervalos de células
ajustáveis”.
2) Selecione $C$4:$G$4 como as células do Excel que deseja
especificar como intervalo de células ajustáveis.
Definição de mínimo e máximo do intervalo de células ajustáveis
Na maioria das vezes, convém restringir os valores possíveis para o intervalo de células ajustáveis a um intervalo específico, com valor mínimo e valor máximo. No Evolver, nos referimos a isso como uma restrição de intervalo. Os valores mínimo e máximo do intervalo podem ser inseridos rapidamente selecionando-se o conjunto de células a serem ajustadas. No caso da Padaria, por exemplo, o valor mínimo possível de caixas produzidas de cada tipo de pão neste intervalo é 0 e o máximo é 100.000. Para definir essa restrição de intervalo:
1) Digite 0 na célula Mínimo e 100.000 na célula Máximo.
2) Na lista suspensa da célula Valores, selecione Inteiro.
28 Tour do Evolver
Agora, insira um segundo intervalo de células a ser ajustado:
1) Clique em Adicionar para inserir o segundo intervalo de células.
2) Selecione a célula B4.
3) Insira 20.000 como Mínimo e 100.000 como Máximo.
Isso especifica a última célula ajustável, B4, correspondente ao nível de produção de pão de baixo valor calórico.
Se houvesse mais alguma variável neste problema, continuaríamos a acrescentar intervalos de células ajustáveis. No Evolver, pode-se criar um número ilimitado de grupos de células ajustáveis. Para acrescentar mais células, clique outra vez no botão “Adicionar”.
Pode ser que mais tarde você queira conferir as células ajustáveis ou mudar alguma definição. Para fazer isso, é só editar o intervalo de mínimo-máximo na tabela. Você também pode selecionar um conjunto de células e apagá-lo, clicando no botão “Excluir”.
Capítulo 3: Evolver: Passo a Passo 29
Seleção do método de solução
Ao definir células ajustáveis, você pode especificar o método de solução a ser usado. Diversos tipos de células ajustáveis podem ser processados usando diferentes métodos de solução. O método de solução é definido para um grupo específico de células ajustáveis, e é alterado clicando-se no botão “Grupo”, que abre a caixa de diálogo Configurações de grupos de células ajustáveis. Muitas vezes, é usado o método de solução “receita”, em que o valor de cada célula pode ser alterado independentemente dos valores das outras. Como este é o método de solução padrão, não há necessidade de mudá-lo.
Os métodos de solução “receita” e “ordem” são os mais usados; eles também podem ser usados juntos para solucionar problemas combinatórios complexos. Mais especificamente, o método de solução “receita” trata cada variável como um dos ingredientes de uma receita e tenta encontrar a “melhor combinação de ingredientes” mudando o valor de cada variável independentemente. O método de solução “ordem”, por sua vez, troca os valores das variáveis, embaralhando os valores originais até encontrar “a melhor ordem”.
Neste modelo, deixe o método de solução como Receita e simplesmente faça o seguinte:
No campo Descrição, use o rótulo “Caixas produzidas”.
30 Tour do Evolver

Restrições

O Evolver permite definir restrições, que são condições que precisam ser satisfeitas para que a solução seja válida. No modelo do exemplo, há três restrições adicionais que precisam ser atendidas para que o possível conjunto de níveis de produção de cada tipo de pão seja válido. Essas condições são adicionais, em relação às restrições de intervalo que já foram definidas para as células ajustáveis. Elas são as seguintes:
1) Manter uma relação aceitável entre pão com alto teor de fibra e
pão com baixo teor calórico (o número de caixas de pão com alto teor de fibra produzido deve ser > = 1,5* em relação ao número de caixas de pão de baixo teor calórico).
2) Manter uma relação aceitável entre pão de 5 grãos e pão com
baixo teor calórico (o número de caixas de pão 5 grãos produzido deve ser > = 1,5* em relação ao número de caixas de pão de baixo teor calórico).
3) Manter o ciclo de produção dentro dos limites de horas de mão-
de-obra (o total de horas de mão-de-obra usadas deve ser <
50.000)
Cada vez que o Evolver gera uma solução possível para o seu modelo, ele verifica se as restrições definidas são válidas.
As restrições são mostradas na parte inferior da seção Restrições da caixa de diálogo Modelo do Evolver. Podem ser definidos dois tipos de restrições no Evolver:
Hard (rígida). São condições que precisam obrigatoriamente ser
atendidas para que a solução seja válida (ex.: uma restrição rígida de iteração poderia ser C10<=A4; nesse caso, se a solução gerar um valor maior que o da célula A4 para a célula C10, a solução será descartada).
Soft (flexível) São condições que, de preferência, devem ser
atendidas da máxima maneira possível, mas podem ser ajustadas em troca de uma melhoria substancial de adequação ou resultado da célula-alvo. (ex.: uma restrição flexível poderia ser C10<100. Nesse caso, C10 poderia conter um valor acima de 100, mas se isso ocorresse, o valor calculado para a célula-alvo seria diminuído de acordo com a função de penalidade definida pelo usuário).
Capítulo 3: Evolver: Passo a Passo 31
Adição de restrição
Intervalo de valores simples e restrições de fórmulas
Para especificar uma restrição:
1) Clique no botão Adicionar, na seção de Restrições da caixa de
diálogo principal do Evolver.
Isso abre a caixa de diálogo Configurações de restrições, na qual podem ser definidas as restrições para o modelo.
As restrições podem ser definidas em dois formatos: Simples e Fórmula. O formato de intervalo de valores simples permite inserir restrições usando relações simples como: <, <=, >, >= ou =. Uma restrição típica de um intervalo de valores simples seria 0<valor de A1<10, onde A1 é inserido na caixa Intervalo de células, 0 é inserido na caixa Mín e 10 é inserido na caixa Máx. O operador desejado é selecionado nas caixas de lista suspensa. Ao usar uma restrição em formato de intervalo de valores simples, você pode inserir apenas o valor Mín., apenas o Máx. ou ambos.
Uma restrição de fórmula, por outro lado, permite inserir qualquer fórmula válida do Excel como restrição; por exemplo: A19<(1,2*E7)+E8. Para cada solução possível, o Evolver confere se a fórmula inserida é avaliada como VERDADEIRO ou FALSO, para verificar se a restrição foi atendida. Se quiser usar uma fórmula booleana como restrição em uma planilha, basta referenciar a célula específica no campo Fórmula da caixa de diálogo Configurações de restrições.
32 Tour do Evolver
Para inserir restrições no modelo Padaria, vamos especificar três novas restrições rígidas. Essas restrições são rígidas porque as condições definidas precisam ser atendidas, caso contrário a solução será descartada pelo Evolver. Primeiro, insira as restrições rígidas no formato de intervalo de valores simples:
1) Insira o “Total aceitável de horas de trabalho” na caixa de
descrição.
2) Na caixa Intervalo a restringir, digite I8.
3) Selecione o operador<= à direita do Intervalo a restringir.
4) Na caixa Máximo, insira 50.000
5) Na caixa Mínimo, limpe o valor padrão 0.
6) À esquerda de Intervalo a restringir, limpe o operador
selecionando o espaço em branco na lista suspensa.
7) Clique em OK para confirmar esta restrição.
Capítulo 3: Evolver: Passo a Passo 33
Agora, insira as restrições rígidas em formato de fórmula.
1) Clique em Adicionar para exibir novamente a caixa de diálogo
Configurações de restrições.
2) Na caixa de descrição, insira “Relação aceitável alta fibra –
baixa caloria”
.
3) Na caixa Estilo de entrada, selecione Fórmula.
4) Na caixa Fórmula de restrição, digite C4>= 1,5*B4.
5) Clique em OK.
6) Clique em Adicionar para exibir novamente a caixa de diálogo
Configurações de restrições.
7) Na caixa de descrição, insira “Relação aceitável na proporção de
pães 5 grãos – baixa caloria”
.
8) Na caixa Estilo de entrada, selecione Fórmula.
9) Na caixa Fórmula de restrição, digite D4>= 1,5*B4.
10) Clique em OK.
Agora a caixa de diálogo Modelo com a seção de restrições preenchida será semelhante a esta:
34 Tour do Evolver
Condições de parada

Outras opções do Evolver

Opções como Atualizar exibição, Gerador de números aleatórios e Condições de parada podem ser usadas para especificar como o Evolver
deve funcionar durante uma otimização. Vamos especificar algumas condições de parada e exibir as configurações de atualização.
O Evolver roda durante quanto tempo você quiser. As condições de parada possibilitam especificar que o Evolver pare automaticamente em uma das seguintes situações: a) após um certo número de cenários ou
tentativas terem sido examinados; b) após decorrido determinado intervalo de tempo; c) quando não tiver ocorrido nenhuma melhoria nos últimos n cenários; d) quando a fórmula de Excel fornecida é avaliada como VERDADEIRO. Para exibir e editar as condições de parada:
1) Clique no ícone Configurações de otimização, na barra de
ferramentas do Evolver.
2) Selecione a guia Tempo de execução.
Na caixa de diálogo Configurações de otimização, você pode selecionar qualquer combinação das condições de parada ou nenhuma
. Se você selecionar mais de uma condição de parada, o Evolver parará quando uma delas ocorrer. Se você não selecionar nenhuma condição de parada, o Evolver rodará indefinidamente, até você pará-lo manualmente pressionando o botão “parar” da barra de ferramentas do Evolver.
Capítulo 3: Evolver: Passo a Passo 35
Tentativas Minutos Mudança no(s)
último(s)
Fórmula é
verdadeira
Opções de exibição
Esta opção define o número de “tentativas” que o Evolver deve fazer. Em cada tentativa, o Evolver avalia um conjunto completo de variáveis ou uma única solução possível para o problema.
O Evolver pára após o intervalo de tempo especificado ter se esgotado. Esse número pode ser uma fração (4,25).
Esta condição de parada é a mais usada, porque acompanha o grau de melhoria e deixa o Evolver rodar até ele começar a diminuir. Por exemplo, o Evolver poderia parar se depois de 100 tentativas não ocorresse mais nenhuma mudança no melhor cenário encontrado até então.
O Evolver pára se a fórmula de Excel fornecida retornar VERDADEIRO no recálculo de um modelo.
Se quiser deixar o Evolver rodar indefinidamente, desative
todas as condições de parada.
Enquanto o Evolver roda, um conjunto de opções da guia Visualizar pode ser usado para especificar o que você quer que seja apresentado na tela.
36 Tour do Evolver
As opções de Durante a otimização são:
A cada tentativa A cada nova melhor
Esta opção refaz a tela após cada cálculo, possibilitando ver como o Evolver ajusta as variáveis e calcula o output. Sugerimos usar esta opção enquanto você ainda estiver aprendendo a usar o Evolver, e também cada vez que usar o Evolver em um novo modelo, para verificar se o modelo está sendo calculado corretamente.
Esta opção refaz a tela cada vez que o Evolver gera uma nova resposta melhor, o que permite que você veja a melhor solução atual a qualquer momento durante a otimização.
tentativa
Ative A cada tentativa.
Nunca
Esta opção nunca refaz a tela durante a otimização. Isso produz a otimização mais rápida possível, mas fornece pouca informação sobre os resultados calculados durante a execução.
Capítulo 3: Evolver: Passo a Passo 37

Execução da otimização

Agora, só falta otimizar o modelo para maximizar o lucro total e obedecer as diretrizes de limite de produção. Para fazer isso:
1) Clique em OK para sair da caixa de diálogo Configurações de
otimização.
2) Clique no ícone Iniciar otimização.
Conforme o Evolver começa a trabalhar no seu problema, você verá na planilha os melhores valores atuais para as células ajustáveis – Caixas produzidas. O melhor valor para Lucro total é apresentado na célula realçada.
Durante a execução, a janela Progresso indica o seguinte: 1) a melhor solução encontrada até o momento; 2) o valor original da célula-alvo no início da otimização; 3) o número de tentativas executadas no modelo e o número de tentativas válidas entre as que foram executadas, isto é, que atenderam todas as restrições; 4) o tempo decorrido da otimização.
A qualquer momento durante a execução, você pode clicar no ícone Opções de atualizações do Excel para atualizar instantaneamente a tela a cada tentativa.
38 Tour do Evolver
Observador do Evolver
O Evolver também pode exibir um registro contínuo das simulações executadas de cada solução tentada. Esse registro é exibido no Observador do Evolver enquanto o Evolver está sendo executado. O Observador do Evolver permite explorar e modificar vários aspectos do problema durante a execução. Para ver o registro contínuo das simulações executadas:
1) Clique no ícone do Observador (lente de aumento) na janela
Progresso para exibir o Observador do Evolver.
2) Selecione a guia Registro.
Neste relatório, são apresentados os resultados da simulação de cada solução tentada. A coluna Resultado contém o valor da célula-alvo que você está tentando maximizar ou minimizar, por tentativa; neste caso, o Lucro Total em $I$11. As colunas de C4 a G4 contêm os valores usados nas células ajustáveis.
Capítulo 3: Evolver: Passo a Passo 39
Como parar a otimização
Após 5 minutos, o Evolver pára a otimização. Você também pode parar a otimização das seguintes formas:
1) Clicando no ícone Parar do Observador do Evolver ou nas janelas
de progresso.
Quando o processo do Evolver pára, é exibida a guia Condições de parada, onde podem ser feitas as seguintes escolhas:
Estas mesmas opções também aparecem automaticamente sempre que as condições de parada definidas na caixa de diálogo Configurações de otimização do Evolver são atendidas.
40 Tour do Evolver
Relatório resumido
O Evolver pode criar um relatório resumido da otimização, com informações como data e hora da execução, configurações usadas, valor calculado da célula-alvo e valor de cada célula ajustável.
Este relatório é útil para comparar os resultados de otimizações sucessivas.
Capítulo 3: Evolver: Passo a Passo 41
Colocação dos resultados no modelo
Para colocar na planilha a nova combinação otimizada dos níveis de produção de cada um dos seis tipos de pães da padaria:
1) Clique no botão Parar.
2) Verifique se a opção Atualizar valores de células ajustáveis
exibidas na pasta de trabalho para está definida como Melhor.
Será apresentada a planilha Padaria – tutorial passo a passo.xls com todos os novos valores de variáveis que produzem a melhor solução.
NOTA IMPORTANTE: Embora neste exemplo o Evolver tenha encontrado uma solução que produziu um lucro total de 3.940.486, o resultado que você obterá poderá ser mais alto ou mais baixo do que esse. Essas diferenças se devem a uma distinção importante entre o
Evolver e os demais algoritmos de solução de problemas, a saber: o caráter aleatório do mecanismo de algoritmo genético do Evolver permite que ele solucione uma grande variedade de problemas e encontre as melhores soluções.
42 Tour do Evolver
Ao salvar uma planilha após ela ser executada pelo Evolver (mesmo se você restabelecer os valores originais da planilha após a execução do Evolver), todas as configurações das caixas de diálogo do Evolver são salvas com a planilha específica. Na próxima vez em que a planilha for aberta, todas as configurações mais recentes do Evolver serão automaticamente carregadas. As configurações do Evolver são preenchidas automaticamente em todas as demais planilhas de exemplo, deixando-as prontas para as execuções do Evolver.
NOTA: Se quiser dar uma olhada no modelo Padaria com todas as configurações preenchidas automaticamente, abra o arquivo de exemplo do modelo PADARIA.xls.
Capítulo 3: Evolver: Passo a Passo 43
44

Capítulo 4: Exemplos de Aplicações

Introdução.........................................................................................47
Seleção de publicidade ................................................................... 49
Ordenação alfabética.......................................................................51
Distribuição de tarefas.....................................................................53
Padaria .............................................................................................. 55
Distribuição orçamentária...............................................................57
Equilíbrio químico............................................................................59
Programador de horários de aulas.................................................61
Segmentador de código ..................................................................65
Dakota: definição de rotas com restrições ................................... 69
Programador de tarefas de oficina.................................................73
Localização de torres de rádio ....................................................... 75
Balanceamento de portfólio............................................................77
Mix de portfólio.................................................................................81
Estações de energia.........................................................................83
Compras............................................................................................85
Problema de vendedor.....................................................................87
Navegador espacial..........................................................................89
Negociante........................................................................................ 91
Transformador..................................................................................93
Transporte......................................................................................... 95
Capítulo 4: Exemplos de Aplicações 45
46

Introdução

Este capítulo explica como o Evolver pode ser utilizado em aplicações variadas. Estes exemplos de aplicações talvez não contenham todos os recursos que você gostaria de ter em seus próprios modelos, mas a finalidade é que sirvam para gerar idéias e modelos. Todos os exemplos ilustram como o Evolver encontra soluções com base nas relações já existentes em sua planilha, portanto, é importante que seu modelo de planilha retrate precisamente o problema a ser solucionado.
Todos os exemplos de planilha de Excel encontram-se na pasta EVOLVE32, na subpasta “EXEMPLOS”. Eles estão relacionados alfabeticamente neste capítulo. Os exemplos utilizam a seguinte convenção de código de cores:
células realçadas em azul. . . . . . células ajustáveis que o Evolver
ajustará.
células realçadas em vermelho . . . . . . a célula-alvo ou meta.
Cada exemplo vem com todas as configurações pré-selecionadas do Evolver, incluindo célula-alvo, células ajustáveis, métodos de solução e restrições. Recomendamos examinar as configurações das caixas de diálogo antes de iniciar a otimização. Você entenderá melhor como o Evolver funciona se examinar as fórmulas e experimentar diferentes configurações do Evolver. Os modelos também permitem substituir os dados do exemplo por seus próprios dados de “usuário”. Se você resolver modificar ou adaptar essas planilhas de exemplo, sugerimos salvá-las com outro nome, para conservar os exemplos originais como referência.
Capítulo 4: Exemplos de Aplicações 47
48

Seleção de publicidade

Uma agência de publicidade precisa descobrir a maneira mais eficaz de usar seu orçamento publicitário para alcançar seu público-alvo. Ela não pode gastar mais do que orçamento estabelecido, e a quantia gasta com TV deve ser maior do que a gasta com rádio.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Seleção de publicidade.xls
Distribuir verbas para veiculação em diversos meios publicitários com várias faixas de preço. Maximizar o público alcançado.
orçamento
Problemas de tipo orçamentário, com restrições adicionais.
Capítulo 4: Exemplos de Aplicações 49

Como o modelo funciona

Como encontrar a solução
A primeira coisa a fazer é escolher um método de solução que diga ao Evolver o que fazer com as variáveis. Consulte o Capítulo 5: Guia de Referência para ver explicações sobre os vários métodos de solução.
Este problema é, essencialmente, um tipo de orçamento com restrições adicionais em que o gasto com TV precisa ser maior que o gasto com rádio.
As variáveis a serem ajustadas pelo Evolver estão nas células C5:C9. Vamos instruir o Evolver a efetuar variações nos dados utilizando o método “orçamento”, atribuindo a cada variável um valor independente. O público-alvo total é calculado com a função SOMA na célula G13; essa é a célula que pediremos para o Evolver maximizar. As restrições rígidas especificam que o gasto com TV precisa ser superior ao gasto com rádio.
50 Seleção de publicidade

Ordenação alfabética

Neste exemplo, temos uma lista de sete nomes que queremos que o Evolver coloque em ordem alfabética. Embora este exemplo seja simples, o Evolver tem capacidade para lidar com ordenações complexas em que os dados são interdependentes, ou em que os nomes são ponderados com base em outras informações contidas no modelo.
Arquivo de exemplo: Meta: Método de solução: Problemas similares:
Alfabetizar.xls Ordenar alfabeticamente a lista de nomes. Ordem
Qualquer problema de ordenação que requer capacidade maior que a do Excel.
Capítulo 4: Exemplos de Aplicações 51

Como o modelo funciona

Como solucionar o problema
O arquivo “Alfabetizar.xls” é um modelo bem simples que ilustra as possibilidades de ordenação do Evolver. A coluna B contém nomes de sete pessoas, e a coluna A contém o número de identificação correspondente a cada nome. A coluna D usa a função PROCV do Excel para traduzir qualquer número escolhido na coluna C no nome correspondente. As células E4:E9 usam uma função simples de penalidade para atribuir o valor 1 cada vez que um nome anterior é apresentado na lista após um nome posterior. A soma de todos estes erros encontra-se na célula E11, nossa célula-alvo.
Neste modelo, as variáveis a serem ajustadas encontram-se na coluna C (C3:C9). Instruiremos o Evolver a efetuar variações nas células C3:C9 utilizando o método de solução “ordem”. O método de solução “ordem” instrui o Evolver a mudar a ordem dos valores selecionados e experimentar várias permutações das variáveis, em vez de experimentar novos valores. Vamos pedir ao Evolver que descubra o valor mais próximo de 0 do erro total na célula E11, pois quando esta célula-alvo for 0, significa que todos os nomes estão na ordem correta.
Se nenhum critério de parada for selecionado na caixa de diálogo Opções do Evolver, ele continuará a rodar indefinidamente até você pará-lo manualmente por meio do botão “parar” da barra de ferramentas do Evolver. Mas neste modelo selecionamos a opção “valor mais próximo a”, instruindo o Evolver a parar automaticamente quando encontrar uma solução com o valor 0 como “valor mais próximo a”.
Estamos utilizando uma população pequena porque, embora não haja regras estritas quanto ao tamanho ótimo da população, de modo geral podemos selecionar uma população menor ao tratar de problemas que têm um número total menor de soluções possíveis, a fim de focar mais rapidamente a produção das melhores soluções possíveis. Neste problema, existem apenas 5040 ordens possíveis para os 7 nomes.
52 Ordenação alfabética

Distribuição de tarefas

Este exemplo apresenta um modelo de um problema comum relacionado à distribuição de recursos. Neste problema, um gerente tem 16 funcionários que realizam 16 tarefas. A capacidade de cada funcionário realizar cada tarefa foi classificada numa escala de 1 a 10 (1 = incapaz de realizar a tarefa, 10 = perfeito para a tarefa). O desafio aqui é correlacionar cada funcionário a uma tarefa, de modo a maximizar a produtividade total dos funcionários.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Distribuição de tarefas.xls
Designar 16 funcionários para 16 tarefas de modo a maximizar a eficiência geral.
ordem
Problemas de distribuição de tarefas, agendamento de reuniões em horários preferidos dos funcionários, descobrir quais são os melhores equipamentos para
uma série de tarefas
.
Capítulo 4: Exemplos de Aplicações 53

Como o modelo funciona

Como encontrar a solução
O modelo fornece uma grade de 16 por 16 nas células B4:Q19, em que os funcionários foram classificados com respeito a cada tarefa. A coluna da “tarefa escolhida” (coluna S) à direita da grade designa arbitrariamente cada funcionário a uma tarefa. A próxima coluna (coluna U) indica a atribuição da tarefa e a classificação de cada funcionário na tarefa específica. Finalmente, o total de pontos da solução inteira (na célula U21) correspondente à soma de todas as classificações individuais.
Há somente uma pessoa para cada tarefa, portanto, nenhum número pode ser repetido, e cada número deve ser usado apenas uma vez. A classificação de proficiência de cada funcionário na tarefa é registrada na coluna U usando-se a função ÍNDICE(). Esses pontos são somados – o total é indicado na célula U21 – e usados para encontrar o resultado total para o conjunto de tarefas em questão.
O Evolver recebe é instruído a manipular as variáveis da “tarefa escolhida”, localizadas na coluna S (S4:S19). Vamos instruir o Evolver a manipular essas células pelo método de solução “ordem”. Este método “embaralha” os valores existentes nas células ao redor, portanto, certifique-se que haja apenas uma ocorrência de cada valor antes de iniciar a otimização. Vamos instruir o Evolver a encontrar o valor máximo para a célula U21, a célula-alvo, pois quanto maior for o seu valor, melhor será a distribuição geral.
54 Distribuição de tarefas

Padaria

Este exemplo apresenta um problema comum em situações de decisão de produção, nas quais é muito difícil encontrar a quantidade correta de cada produto a ser produzido, mesmo com poucos itens. Um proprietário de padaria precisa determinar o número de caixas a serem produzidas para cada tipo de pão, de forma a maximizar o lucro total da padaria. Certifique-se de considerar as limitações delineadas, tais como o número total de horas/empregado, e a proporção correta de produtos a produzir. (Nota: Este modelo é tratado em detalhe no Capítulo 3: Evolver: Passo a Passo)
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Padaria.xls
Encontrar a quantidade ideal de produção de cada tipo de pão, de modo a satisfazer todas as quotas e maximizar os lucros.
receita
Desenvolvimento de carteiras de produtos, planejamento de produção
Capítulo 4: Exemplos de Aplicações 55

Como o modelo funciona

Este problema apresenta uma lista com a quantidade de cada produto de panificação a ser produzido, na parte superior do gráfico na linha
4. Quando ajustamos essas variáveis de quantidade (B4:G4), o modelo calcula as horas e o custo necessários, assim como o lucro que seria gerado pela produção dessas quantidades. O lucro (nas células B11:G11) é somado e o total é colocado na célula I11, que se torna a célula-alvo a ser maximizada.
Este modelo tem três restrições. Todas elas são restrições rígidas. A primeira é uma restrição que define o formato do intervalo de valores como Simples; as outras duas são restrições inseridas como fórmulas de Excel.
Como encontrar a solução
O Evolver é instruído a encontrar os valores das células B4:G4 (quantidades a serem produzidas) que maximizarão o valor na célula I11 (lucro total). Como cada valor encontrado pode ser independente dos demais, utilizaremos o método de solução “receita”. Também vamos instruir o Evolver a observar as restrições nas células C4, D4, e I8.
56 Padaria

Distribuição orçamentária

Um executivo sênior deseja encontrar a forma mais eficaz de distribuir fundos entre os vários departamentos da empresa visando a maximizar os lucros. Abaixo, apresentamos um modelo da empresa e o lucro projetado para o próximo ano. Este modelo estima o lucro do próximo ano com base no orçamento anual e em pressupostos sobre, por exemplo, como a publicidade influencia as vendas. Este modelo é simples, mas mostra como você pode configurar qualquer modelo e efetuar a entrada de dados (inputs) no Evolver para que ele possa encontrar o melhor output.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Distribuição orçamentária.xls
Distribuir o orçamento anual entre cinco departamentos de modo a maximizar os lucros no próximo ano.
Orçamento
Distribuição de recursos escassos (como mão-de­obra, capital, combustível, tempo) a entidades que os utilizam de diversas formas ou com graus diferentes de eficiência.
Capítulo 4: Exemplos de Aplicações 57

Como o modelo funciona

Como encontrar a solução
O arquivo “Distribuição orçamentária.xls” apresenta um modelo dos efeitos do orçamento de uma empresa em suas futuras vendas e lucros. As células C4:C8 (variáveis) contêm as quantias a serem gastas com cada um dos cinco departamentos. O total destes valores é indicado na célula C10, o orçamento anual total da empresa. Este orçamento é prefixado pela companhia e é imutável.
As células F6:F10 efetuam uma estimativa da demanda dos produtos da empresa para o próximo ano, com base nos orçamentos de publicidade e marketing. O montante das vendas efetivas corresponde ao mínimo da demanda e do suprimento calculados. O suprimento depende do capital distribuído aos departamentos de produção e operações.
Maximize o lucro na célula I16 usando o método de solução “orçamento” para ajustar os valores nas células C4:C8. Defina intervalos independentes para cada célula ajustável do orçamento de cada departamento, de modo a impedir o Evolver de tentar usar números negativos ou números que não seriam soluções adequadas (ex.: tudo para publicidade e nada para produção) para os orçamentos departamentais.
O método de solução “orçamento” funciona como o método de solução “receita”, no sentido de que tenta encontrar a combinação certa das variáveis escolhidas. Contudo, ao usar o método de orçamento, é acrescentada a seguinte restrição: a soma total das variáveis precisa ser a mesma que antes de o Evolver iniciar a otimização.
58 Distribuição orçamentária

Equilíbrio químico

Qualquer processo que pode ser modelado para produzir um resultado, dadas certas condições iniciais, pode ser otimizado pelo Evolver. Este exemplo mostra como o Evolver pode encontrar níveis de produtos químicos diferentes (produtos e reagentes) que minimizam a energia livre após uma reação ter alcançado o estado de equilíbrio. Em processos químicos complexos, os ingredientes (reagentes) e os produtos interagem continuamente uns com os outros até que a concentração dos compostos se torne constante, isto é, até ser alcançado o “equilíbrio”. Em qualquer momento após ser alcançado o equilíbrio, uma porcentagem constante das substâncias químicas em equilíbrio poderia ser constituída de reagentes (ex.: 5%), e uma porcentagem constante seria de produtos (95%).
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Equilíbrio químico.xls
Calcular a energia livre do ambiente de reação e encontrar os níveis dos produtos químicos, obedecendo as restrições flexíveis (alguns níveis químicos são proporcionais a outros).
Receita
Determinar as condições de equilíbrio do mercado mais estável.
Capítulo 4: Exemplos de Aplicações 59

Como o modelo funciona

As variáveis deste problema, nas células B4:B13, são os níveis de produtos químicos a serem mesclados. A célula B15 calcula a quantidade total que precisa ser mantida dentro de certo intervalo, de acordo com as penalidades.
As restrições em F20:F22 são restrições flexíveis, o que significa que não forçaremos o Evolver a aceitar apenas soluções válidas, mas em vez disso, calcularemos as penalidades caso certos produtos químicos estejam fora das proporções desejadas em relação a outros produtos químicos. Essas restrições flexíveis utilizam funções de penalidades criadas diretamente no modelo da planilha. As penalidades são acrescentadas ao total de energia livre na célula F17, de forma que quando o Evolver for minimizar o alvo, ele buscará soluções que não produzam penalidades.
Como encontrar a solução
60 Equilíbrio químico
Use o método de solução “receita” para as células B4:B13. Minimize a célula F17.

Programador de horários de aulas

Uma universidade precisa distribuir 25 cursos em 6 blocos horários pré-definidos. Cada aula dura exatamente um bloco. Normalmente, poderíamos tratar do problema usando o método de solução “agrupamento”. Entretanto, uma série de restrições precisam ser satisfeitas ao agendar os cursos. Por exemplo: Biologia e Química não podem ocorrer no mesmo horário, para que os alunos do curso de Medicina possam cursar as duas matérias no mesmo semestre. Para satisfazer essas restrições, vamos usar o método de solução “agendamento”. O método de solução “agendamento” é semelhante ao método “agrupamento”, mas com a restrição de que certas tarefas devem (ou não devem) obrigatoriamente ocorrer antes de outras tarefas (ou depois, ou durante).
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Programador de horários de aulas.xls
Agendar 25 cursos em 6 períodos de modo a manter em um número mínimo os alunos que seriam excluídos desses cursos. Obedecer certo número de restrições quanto a quais cursos podem ocorrer em qual período.
Agendamento
Todos os problemas de agendamento em que as tarefas têm uma mesma duração e podem ser designadas a vários blocos de tempo específicos. Além disso, qualquer problema de agrupamento em que houver restrições relacionadas a que grupos certos itens podem ser designados.
Capítulo 4: Exemplos de Aplicações 61

Como o modelo funciona

O arquivo “Programador de horários de aulas.xls” contém um modelo de um problema típico de agendamento no qual várias restrições precisam ser atendidas. As células C5:C29 atribuem os 25 cursos a 6 blocos de horários. Há apenas cinco salas de aula disponíveis, portanto, agendar mais de cinco cursos em um horário significa que pelo menos um dos cursos não poderá ser realizado.
As células K17:M25 contêm as restrições; à esquerda das restrições encontram-se as descrições das mesmas. É possível usar tanto o código numérico quanto a descrição como restrição. A lista de códigos de restrições para problemas de agendamento pode ser encontrada na seção “Métodos de solução” do Capítulo 5:
Guia de Referência do
Evolver. Cada agendamento possível é avaliado calculando-se: a) o número de
cursos que não podem realizados; b) o número de alunos que não podem assistir os cursos porque a sala de aula está lotada. A última restrição impede que o Evolver agende todos os cursos com maior número de alunos ao mesmo tempo. Se um ou dois cursos com mais alunos coincidirem durante um bloco horário, as salas de aula maiores poderão ser usadas.
62 Programador de horários de aulas
Como encontrar a solução
As células I8:N8 usam a função BDCONTAR do Excel para contar quantos cursos estão agendados em cada bloco horário. Logo abaixo, as células I9:N9 calculam quantos cursos não receberam uma sala de aula para aquele bloco horário. O número total de cursos sem salas de aula é indicado na célula K10.
Se o número de assentos exigido por uma matéria exceder o número de assentos disponíveis, as células I12:N12 calculam essa diferença, e o total de alunos sem assento é calculado na célula K13. Na célula F6, esse total de alunos sem assentos é somado à média de tamanho da classe, e multiplicado pelo número de cursos sem salas de aula. Desta forma, temos uma célula que une todas as penalidades, de modo que quanto menor o número contido nesta célula, melhor será o agendamento.
Minimize o valor das penalidades na célula F6 alterando as células C5:C29. Utilize o método de solução “agendamento”. Quando esse método de solução é escolhido, várias opções relacionadas aparecem na seção “opções” inferior da caixa de diálogo. Defina o número de blocos de horário como 6, e defina as células de restrição como K17:M25.
Capítulo 4: Exemplos de Aplicações 63
64

Segmentador de código

Um programador de Windows deseja fragmentar um programa em vários segmentos de código, para que o Windows possa usar a memória de maneira mais eficiente mantendo na memória apenas os segmentos de códigos que estão sendo usados.
Esse é um exemplo de coleta de itens semelhantes em grupos. Os itens podem interagir de maneira eficaz uns com os outros no mesmo grupo, mas é difícil isso acontecer com itens de grupos diferentes. Quando há obstáculos naturais que impedem a interação direta entre os itens (digamos, por exemplo, que todos os usuários de computador desejam conectar diretamente a uma impressora), é necessário fragmentar os itens em grupos. Um agrupamento eficaz pode ter um efeito significativo na produtividade total do sistema.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Segmentador de código.xls
Agrupar rotinas de programa em oito segmentos de códigos diferentes, para que o programa rode o mais rápido possível.
Agrupamento
Juntar estações de trabalho em blocos de LAN, ou circuitos em uma área de microchips, de modo que o custo da comunicação entre os grupos seja minimizado.
Capítulo 4: Exemplos de Aplicações 65

Como o modelo funciona

Os programadores do Windows normalmente fragmentam programas desta forma para aumentar a eficiência do programa. Quando uma rotina de outro segmento precisa rodar, o Windows ativa o segmento chamado e efetua a sua leitura a partir do disco. Se um programa de 2 MB for fragmentado em até 80 segmentos de 20 Kb cada, o programa poderá rodar mesmo se houver apenas 20 Kb de memória disponível. Entretanto, para funcionar com desempenho aceitável, os segmentos de código precisam ser cuidadosamente organizados. Acionar uma função em outro segmento demora mais tempo do que acioná-la no mesmo segmento onde foi feito o acionamento. Minimizar o número de chamadas de segmentos cruzados é chamado de problema de segmentação de código.
Como é possível otimizar algumas partes de uma aplicação por conta da aplicação completa, utilizaremos o Evolver para realizar uma otimização global.
O arquivo de exemplo “Segmentador de código.xls” pressupõe que uma aplicação foi compilada com uma certa segmentação. A aplicação foi rodada como qualquer usuário a rodaria, enquanto a rotina de desempenho de rastreamento mantém um registro do número de vezes que cada função acionou outra função. Consequentemente, esses resultados representam o tipo das chamadas no uso comum da aplicação. A partir desses resultados podemos fazer previsões sobre a velocidade da aplicação com diferentes estratégias de segmentação.
Esta planilha usa a função comum “SegCost”. A função SegCost calcula o tempo necessário para que um usuário rode o programa da mesma maneira como quando as estatísticas de uso comum foram adquiridas. Ela efetua esse cálculo contando o número de chamadas de funções dentro dos segmentos e fora dos segmentos, e multiplicando cada número pelo custo de cada tipo de chamada. Aqui, presumimos que uma chamada entre segmentos (ou chamada em segmento próximo) leva sete ciclos do relógio do sistema, e uma chamada entre segmentos (ou chamada distante) leva 34 ciclos, que é típico em qualquer computador 386.
66 Segmentador de código
A função SegCost é escrita como uma Macro VBA do Excel, conforme mostrado abaixo:
Function segCost(segs, calls, inP, outP) As Double
Dim inCost#, outCost#, total#, temp#, tempPtr# Dim i%, j%, wide%, funcNumber%, ThisSeg%, OtherSeg% Dim NumCalls%, NumInCall%, NumOutCall%, SegOrder$, CallOrder$
SegOrder = Application.Names(“segs”).RefersTo CallOrder = Application.Names(“calls”).RefersTo NumInCall = 0 NumOutCall = 0 inCost = Range(“k2”) outCost = Range(“k3”) total = 0 wide = Range(CallOrder).Columns.Count For i = 1 To Range(SegOrder).Rows.Count ThisSeg = Range(SegOrder).Rows(i) For j = 1 To wide temp = Range(CallOrder).Rows(i).Columns(j) If temp <> 0 Then funcNumber = Int(temp) OtherSeg = Range(SegOrder).Rows(funcNumber + 1) NumCalls = 10000 * (temp - funcNumber) If ThisSeg = OtherSeg Then temp = NumCalls * inCost NumInCall = NumInCall + 1 Else temp = NumCalls * outCost NumOutCall = NumOutCall + 1 End If total = total + temp End If Next Next segCost = total End Function
A aplicação do modelo tem 80 funções. O número de vezes que cada função aciona outra é armazenado no intervalo de “chamadas” (C5:I104). Poderíamos criar uma matriz de 80 por 80 para representar o padrão de chamadas, mas essa abordagem n por n se tornaria inviável depois de aproximadamente 250 funções, porque o Excel tem um limite de 256 colunas (e porque a abordagem requereria um montante exponencial de memória).
Capítulo 4: Exemplos de Aplicações 67
Como encontrar a solução
Em vez disso, usamos uma notação condensada para representar o padrão de chamadas. Pressupomos, inicialmente, que nenhuma função aciona mais do que um certo número de outras funções. Neste arquivo exemplo, pressupomos que sete é o limite máximo; por isso o intervalo de chamadas tem sete colunas de largura, mas esse limite é arbitrário. Pressupomos, também, que nenhuma função é chamada por qualquer outra função mais de 9999 vezes.
Agora vamos examinar a função 1, começando na célula C5. A função 1 aciona quatro funções: 3, 9, 81, e 41. C5:I5, a primeira linha das chamadas, contém um número real para cada função acionada (ex.: 3,0023). A porção inteira (ex.: 3) representa a função que é acionada, e a fração multiplicada por 10.000 (ex.: 0,0023 x 10.000 = 23) representa o número de vezes que a função 1 acionou a função 3 no uso comum da aplicação. Assim sendo, 9,1117 significa que a função acionou a função No. 9 1.117 vezes, e assim por diante. Este formato conciso economiza memória e aproveita melhor o número limitado de colunas disponível no Excel.
A célula A5:A104 (intervalo de “distribuição de segmentos”) contém o número do segmento ao qual cada função é atribuída. A célula K4 usa a função “SegCost” para calcular o desempenho geral da estratégia de segmentação atual.
Minimize o valor na célula K4 ajustando as células em A5:A104. Utilize o método “agrupamento”. O método de solução “agrupamento” instrui o Evolver a organizar as variáveis em x grupos, onde x é o número de valores distintos nas células ajustáveis no início de uma otimização.
68 Segmentador de código

Dakota: definição de rotas com restrições

Uma imobiliária precisa avaliar cada uma de suas propriedades em todo estado de Dakota do Norte, em uma ordem específica, de modo que certas propriedades sejam visitadas antes de outras. Este problema é semelhante ao conhecido problema do vendedor ambulante, em que o objetivo é encontrar a rota mais curta entre um grupo de cidades e garantir que cada cidade seja visitada uma vez. Contudo, neste acaso, acrescentamos a restrição de que certas cidades precisam ser visitadas antes de outras (ex.: a cidade 2 precisa ser visitada depois da cidade 4). Isso significa que, em vez de usar o método de solução “ordem”, devemos usar o método de solução “projeto”.
Um projeto consiste na ordenação de um grupo de tarefas em que certas tarefas devem ser realizadas antes de outras. Você pode usar o método de solução “projeto” em conjunto com as suas próprias funções personalizadas, para otimizar o cronograma de um projeto (com base na combinação de uma série de critérios como prazo final, utilização de recursos etc.).
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Dakota.xls
Planejar uma rota entre 41 cidades no estado da Dakota do Norte, que seja a rota mais curta entre todas as cidades e, ao mesmo tempo, garanta que certas cidades sejam visitadas antes de outras.
Projeto
Reprogramar o cronograma de um projeto de modo a equilibrar o consumo de recursos de tarefas numa oficina de máquinas para reduzir o tempo total e, ao mesmo tempo, garantir que certas tarefas sejam realizadas antes de outras.
. Agendar o fluxo
Capítulo 4: Exemplos de Aplicações 69

Como o modelo funciona

As células F3:F43 contêm a ordem em que as cidades serão visitadas. A célula H10 calcula a distância total do percurso, com base na ordem e na localização x, y das cidades (em C3:D43). A célula H10 usa a função personalizada “BigRouteLength” para acelerar o cálculo da distância total do percurso.
As células J3:L43 contêm as tarefas precedentes. Esta tabela mostra as cidades (tarefas) que devem ser precedidas por outras. Oito cidades (1,2,3,4,5,7, 11 e 13) devem ser precedidas pela visita a cidades específicas.
70 Dakota: definição de rotas com restrições
Como encontrar a solução
Minimize a distância do percurso em H10 alterando as células F3:F43. Utilize o método de solução “projeto” e defina as tarefas com precedência nas células J3:L43. Essas precedências são definidas no campo Tarefas precedentes, na caixa de diálogo Configurações de grupos de células ajustáveis:
Capítulo 4: Exemplos de Aplicações 71
72

Programador de tarefas de oficina

Uma oficina metalúrgica precisa encontrar a melhor maneira de programar vários serviços que podem ser fragmentados em etapas e realizados em diferentes máquinas. Cada serviço é composto de cinco tarefas, e as tarefas precisam ser executadas em certa ordem. Cada tarefa precisa ser realizada em uma máquina específica e requer um tempo específico para ser concluída. Há cinco serviços e cinco máquinas.
Clicar no botão Refazer programação, no alto da planilha, re-desenha o gráfico de barras para indicar para quando cada tarefa do serviço está programada.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Programador de tarefas de oficina.xls
Atribuir partes do serviço (tarefas) às máquinas de forma que o tempo total da execução de todos os serviços seja minimizado.
Ordem
Problemas de agendamento ou de gerenciamento de projeto.
Capítulo 4: Exemplos de Aplicações 73

Como o modelo funciona

Como encontrar a solução
A célula D5 calcula o tempo de execução, ou seja, quanto tempo decorre entre o início da primeira tarefa programada e o término da última tarefa programada. Esse tempo total é o que desejamos minimizar. As células G11:G35 contêm as variáveis (as tarefas) a serem variadas até encontrar a ordem ideal de execução. As equações na planilha calculam o momento de início de cada tarefa a ser executada na máquina necessária.
Selecione o conjunto de células ajustáveis G11:G35 e escolha o método de solução “ordem”. Minimize a célula D5.
74 Programador de tarefas de oficina

Localização de torres de rádio

Uma emissora de rádio deseja construir três torres de rádio numa região que tem 12 comunidades grandes. Cada comunidade tem um grupo populacional de tamanho diferente, e cada torre de rádio tem diferente alcance de transmissão. A meta é colocar as torres em pontos que possibilitem alcançar o maior número de ouvintes dentro do raio de alcance das torres.
11
xy
Um exemplo mais complicado de um problema de localização poderia ser o de localizar várias empresas de forma que se situem: a) nos arredores dos fornecedores e dos clientes; b) em um ambiente geograficamente aberto e financeiramente acessível; c) próximas a uma força de trabalho grande e tecnicamente treinada. Todas as influências adicionais que possam ser consideradas vantajosas em termo do local, como incentivos fiscais, também podem ser incluídas no modelo. O Evolver pode, então, encontrar a melhor localização em x,y ou mesmo nas coordenadas espaciais x,y,z.
Arquivo de exemplo:
Meta:
Método de solução: Problemas similares:
Localização de torres de rádios.xls
Encontrar as melhores coordenadas x,y para as três torres de rádio, de forma que o potencial máximo de audiência se encaixe dentro da faixa de transmissão.
Receita
Encontrar locais para depósitos que minimizem o frete necessário entre os depósitos e as lojas. Localizar guarnições de bombeiros de forma que as populações estejam mais bem cobertas com um número limitado de guarnições de bombeiros, incluindo fatores como densidade residencial.
Capítulo 4: Exemplos de Aplicações 75

Como o modelo funciona

O arquivo “Localização de torres de rádios.xls” contém um modelo de área bi-dimensional na qual a localização de cinco torres de rádio determina quantos ouvintes podem ser alcançados. As células C6:D8 contêm as coordenadas x,y das três torres. A ilustração contida no modelo consiste de dois elementos: um deles é uma figura bitmap da densidade populacional (em verde) colada do programa Windows Paintbrush; o outro é um gráfico de dispersão que é automaticamente recalculado para exibir as localizações das torres.
Dez comunidades estão representadas como localidades em pontos individuais da tela. O modelo do Excel calcula a distância entre as comunidades e as torres em K4:M15 para determinar se cada comunidade está coberta (sim) ou descoberta (não). A população total de todas as comunidades cobertas (o número que desejamos maximizar) é calculada na célula O17.
Como encontrar a solução
Maximize a população que se encontra dentro do alcance das torres, na célula O17, ajustando as células de localização das torres C6:D8. Utilize o método de solução “receita” e defina os intervalos para as variáveis entre 0 a 50 (limites da nossa área de localização).
O método de solução “receita” instrui o Evolver a ajustar as variáveis escolhidas da melhor maneira possível. Assim como em uma receita de bolo, estamos procurando encontrar a melhor mistura de “ingredientes” (coordenadas x,y) para gerar a solução ideal.
76 Localização de torres de rádio

Balanceamento de portfólio

Um corretor tem uma lista de 80 títulos com valores monetários diferentes. O corretor quer agrupar esses títulos em cinco pacotes (portfólios) com valores totais o mais equivalentes possíveis.
Este exemplo refere-se a uma classe geral de problemas conhecida como problemas de empacotamento em recipientes ou “bin-packing”. Por exemplo, acomodar a carga nos compartimentos de um navio cargueiro de modo que o peso de cada compartimento seja equivalente ao dos demais. Caso existam milhões de itens pequenos a serem acondicionados em pequenos grupos, como grãos de trigo nos compartimentos de um cargueiro, é possível estimar uma distribuição aproximadamente equivalente, sem muita diferença de peso. Contudo, se houver vários pacotes de pesos ou tamanhos diferentes, eles podem ser acondicionados de diversas maneiras, e a eficiência no empacotamento pode melhorar o equilíbrio que seria encontrado manualmente.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Balanceamento de portfólio.xls
Dividir uma lista de títulos em cinco portfólios, sendo que o valor total de cada um seja o mais próximo possível dos demais.
Agrupamento
Organizar equipes com habilidades coletivas relativamente equivalentes. Organizar os contêineres nos compartimentos de um navio cargueiro de modo que o peso seja igualmente distribuído.
Capítulo 4: Exemplos de Aplicações 77

Como o modelo funciona

O arquivo “Balanceamento de portfólio.xls” contém um modelo de agrupamento típico. A coluna A contém números de identificação dos títulos específicos, e a coluna B contém o valor em dólares de cada título. A coluna C designa cada título a um dos cinco portfólios. Ao definir um problema de agrupamento ou empacotamento e usar o método de solução “agrupamento”, é necessário ter certeza de que cada grupo (de 1 a 5) esteja representado no cenário atual pelo menos uma vez, antes de iniciar o Evolver.
As células F6:F10 calculam o valor total de cada um dos cinco portfólios. Isso é feito com os critérios fora da tela (na coluna I) do banco de dados e as fórmulas “BDSOMA()” nas células F6:F10. Consequentemente, a célula F6, por exemplo, calcula a função BDSOMA de todos os valores contidos na coluna B que foram atribuídos ao grupo 5 (na coluna C).
78 Balanceamento de portfólio
Como encontrar a solução
A célula F12 calcula o desvio padrão entre os valores totais dos portfólios utilizando a função “DESVPAD()”. Isso dá uma idéia da proximidade dos valores totais dos portfólios entre si. O gráfico mostra o valor total de cada portfólio, com uma linha de referência marcando o número-meta em que cada portfólio estaria se todos fossem iguais.
Minimize o valor na célula F12 ajustando as células em C5:C104. Utilize o método “agrupamento” e certifique-se de que os valores 1, 2, 3, 4 e 5 apareçam pelo menos uma vez na coluna C.
O método de solução “agrupamento” instrui o Evolver a organizar as variáveis em x grupos, onde x é o número de valores distintos nas células ajustáveis no início de uma otimização.
Capítulo 4: Exemplos de Aplicações 79
80

Mix de portfólio

Um jovem casal possui ativos em diversos tipos de investimentos, cada um com rendimento, potencial de crescimento e risco específicos. Combinando várias fórmulas que multiplicam diversos pesos, eles criaram um tipo de “pontuação” que indica como cada mix específico de investimento atende as suas necessidades.
Arquivo de exemplo:
Meta:
Método de solução:
Mix de portfólio.xls
Encontrar o mix ótimo de investimentos para maximizar o lucro do casal, considerando suas necessidades atuais de risco/retorno.
Orçamento
Capítulo 4: Exemplos de Aplicações 81

Como o modelo funciona

Como encontrar a solução
Este é um modelo financeiro clássico que procura equilibrar o risco de perda e o retorno do investimento. Para cada ação presente na coluna A, é atribuído um peso na coluna C. O modelo multiplica as porcentagens de retorno pelo peso de cada ação no portfólio e apresenta o retorno total na célula C18. Também é calculado o total do risco, na célula C19, que não deve ser maior do que o risco aceitável exibido na célula C20.
A “pontuação” total na célula C22 constitui o retorno total menos a penalidade por qualquer risco acima da porcentagem aceitável. Maximizamos essa pontuação.
82 Mix de portfólio

Estações de energia

Uma emissora de radio adquiriu três torres de rádio abandonadas que não estão funcionando, numa região em que há dez comunidades de grande porte. A emissora deseja comprar transmissores novos e instalá-los nas torres para retomar as transmissões com essas torres.
Em virtude de um orçamento limitado, a meta é gastar a quantia mínima de dinheiro nos transmissores, mas que seja suficiente para cobrir as 9 comunidades vizinhas. Vamos pressupor um modelo de preço linear, no qual o custo do transmissor é diretamente relacionado à sua potência, portanto o que queremos é comprar o transmissor com a potência mínima necessária; para esse fim, seria igualmente fácil criar um gráfico de consulta com os tipos e preços dos transmissores.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Estações de energia.xls
Encontrar o menor transmissor (o mais barato) para cada torre antiga, mas com potência suficiente para cobrir as dez comunidades vizinhas.
Receita
Problemas de definição de cobertura, em que uma série de elementos precisa ser descrita por um número pequeno de conjuntos bem definidos.
Capítulo 4: Exemplos de Aplicações 83

Como o modelo funciona

Como encontrar a solução
Este exemplo é muito parecido com o da localização das torres de rádio (Localização de torres de rádios.xls), exceto pelo fato de que aqui as localizações são fixas, e as variáveis a serem ajustadas são as faixas de potência das torres, nas células E5:E7. O total do custo de energia das três torres é indicado na célula E12, a célula-alvo a ser minimizada.
As células K4:M12 calculam a distância entre cada comunidade e uma das torres; a coluna N retorna o valor VERDADEIRO caso uma comunidade esteja próxima o suficiente de um dos transmissores para receber cobertura. Todas estas restrições são incluídas em uma única restrição rígida chamada de Todas as áreas estão cobertas? Essa restrição tem a fórmula E($N$4:$N$12) que retorna VERDADEIRO somente se todos os valores na coluna N forem VERDADEIRO.
Minimize a potência exigida, na célula E12, ajustando os raios das torres nas células E5:E7. Utilize o método de solução “receita” e defina os intervalos de variáveis de 0 a 100. Essa única restrição rígida inserida usando o formato de fórmula do Excel é descrita acima.
84 Estações de energia

Compras

Sempre que existem várias formas de efetuar pedidos de itens, os descontos por compras em grande volume dificulta saber qual é a melhor forma de comprar os itens. Este modelo contém uma tabela de preço simples, na qual constam os preços de desconto por compras em volume de um solvente específico. É necessário comprar pelo menos 155 litros desse solvente, que vem em embalagens pequenas, médias, grandes e extragrandes.
Tente comprar o número correto de cada embalagem para obter o preço mais baixo possível.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Compras.xls
Gastar o mínimo possível na compra de 155 litros de solvente.
Receita
O oposto: criar uma tabela de preços que sempre seja mais vantajosa para pedidos em grande quantidade.
Capítulo 4: Exemplos de Aplicações 85

Como o modelo funciona

Como encontrar a solução
Este solvente vem em embalagens de 3, 6, 10 e 14 litros A tabela de preços de cada tamanho de embalagem encontra-se nas células D6:H9. As células H13:H16 contêm as quantidades de cada tamanho a serem compradas. A coluna K calcula o custo de cada compra, e a célula K18 contém o custo total Este modelo permite mudar a quantidade necessária a ser comprada (célula I19), de 155 a qualquer quantidade desejada A célula I18 contém o total de litros que foram comprados, portanto, essa célula precisa conter, pelo menos, o número requerido na célula I19 (155). A única restrição rígida é que a quantidade comprada seja superior à quantidade necessária.
Como são necessários 155 litros, podemos pensar em adquirir 11 embalagens extragrandes (154 litros), mais uma embalagem pequena (3 litros), compondo o total de 157 litros. De acordo com a tabela de preço, o total seria de $1.200,00. Mas a execução da otimização fornecerá uma combinação ainda mais econômica.
Minimize o custo, na célula K18, ajustando as quantidades de compra nas células H13:H16. Utilize o método de solução “receita” para ajustar os valores, e definir os intervalos das variáveis entre 1 e 20. Não é possível comprar parte de uma embalagem, portanto, instruiremos o Evolver a procurar valores inteiros, assinalando a opção “inteiros” na caixa de diálogo Células ajustáveis. Como não podemos comprar menos de 155 litros, inclua uma restrição rígida especificando que I18>155.
86 Compras

Problema de vendedor

Um vendedor tem que visitar uma vez cada cidade de seu território. Qual é rota mais curta possível que passa por todas as cidades? Este é um problema clássico de otimização que é extremamente difícil de ser resolvido com técnicas convencionais quando o número de cidades é grande (>50).
Um problema semelhante poderia ser o de encontrar a melhor ordem para realizar tarefas em uma fábrica. Por exemplo: poderia ser mais fácil aplicar tinta preta depois de aplicar tinta branca, em vez de o oposto. No Evolver, esses tipos de problemas podem ser melhor resolvidos pelo método de solução ordem.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Problema de vendedor.xls Encontrar a rota mais curta entre n cidades,
incluindo uma visita por cidade. Ordem
Planejar a perfuração de orifícios em placas de circuito impresso da forma mais rápida possível.
Capítulo 4: Exemplos de Aplicações 87

Como o modelo funciona

Como encontrar a solução
O arquivo “Problema de vendedor.xls” calcula a distância do percurso de viagem às várias cidades, com base em uma tabela de referência. A coluna A contém números identificadores das cidades específicas. A coluna B contém os nomes correspondentes aos números (com uma função de consulta). A ordem em que as cidades (e seus números) aparecem, de cima para baixo, é a ordem em que as cidades serão visitadas. Por exemplo: se você digitou “9” na célula A3, significa que Ottawa seria a primeira cidade a ser visitada. Se A4 contivesse “6” (Halifax), então Halifax seria a segunda cidade visitada.
As distâncias entre as cidades constam na tabela, começando em C25. As distâncias indicadas na tabela são simétricas (a distância de A a B é a mesma que de B a A). Entretanto, modelos mais realistas podem incluir distâncias não simétricas, a fim de representar uma dificuldade maior em se viajar numa única direção (devido a pedágios, meios de transporte disponíveis, vento contrário, subidas, etc.).
Agora, é necessário usar uma função para calcular a distância o percurso entre as cidades. A distância total do percurso será armazenada na célula G2, a célula que desejamos otimizar. Para fazer isso, utilizamos a função “RouteLength”. Essa é uma função VBA personalizada, na planilha Problema de vendedor.xls
.
Minimize o valor na célula G2 ajustando as células em A3:A22. Utilize o método “ordem” e, antes de iniciar a otimização, certifique-se de que os valores 1 a 20 estejam contidos nas células ajustáveis (A3:A22).
O método de solução “ordem” instrui o Evolver a reorganizar as variáveis escolhidas, experimentando diferentes permutações das variáveis existentes.
88 Problema de vendedor

Navegador espacial

Como parte da equipe do lançamento do ônibus espacial “Evolver III”, você precisa saber a quantidade e a direção de cada propulsor do foguete para alcançar seu destino usando o mínimo de combustível possível. As melhores soluções provavelmente aproveitarão o efeito gravitacional de “chicote” dos sóis próximos para economizar combustível.
Arquivo de exemplo: Método de solução: Problemas similares:
Navegador espacial.xls Receita Problemas de controle de processo
Capítulo 4: Exemplos de Aplicações 89

Como o modelo funciona

Como encontrar a solução
As células Q5:R13 contêm os valores de deslocamento de ar na partida e de mudança de direção de cada um dos dez passos de tempo. A célula Q16, que queremos minimizar, consiste simplesmente da soma de todo o combustível queimado nos dez passos de tempo (Q4:Q13).
As restrições rígidas são: a) que a posição final da espaçonave esteja dentro das 10 unidades horizontais de seu destino; b) que esteja dentro das 10 unidades verticais.
Minimize a célula Q16. Crie um grupo de células ajustáveis que usa o método de solução “receita” com base nas células Q5:R13. As células do tamanho do deslocamento de ar (Q5:Q13) devem se manter dentro do intervalo de 0 a 300, e as células de mudança de direção (R5:R13) entre -3 e 3, uma vez que utilizam radianos para representar a direção dos deslocamentos de ar. Um radiano corresponde a cerca de 57 graus.
90 Navegador espacial

Negociante

Você está negociando no mercado S&P 500, e determinou que a análise técnica fornece uma previsão da cotação de ações mais exata do que a análise fundamental tradicional, e que isso pode poupar tempo se for desenvolvido um sistema. Parece haver um número infinito de regras pelas quais você pode negociar, mas apenas algumas delas teriam produzido lucro apreciável se tivessem sido seguidas. Uma busca inteligente de computador poderia ajudá-lo a determinar quais regras teriam rendido mais lucro em um período histórico específico.
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Negociante.xls
Encontrar um conjunto de três regras que possibilite obter o maior lucro em um período específico.
Receita
Encontrar médias flutuantes ótimas que permitam produzir o melhor resultado; qualquer problema de descoberta de padrões e critérios.
Capítulo 4: Exemplos de Aplicações 91

Como o modelo funciona

Como encontrar a solução
Este modelo usa vários grupos de células ajustáveis para resolver o problema como um todo. Há três regras que são avaliadas para cada dia de negociação. Se as condições das três regras forem verdadeiras, então o computador fará a compra naquele dia, caso contrário ele efetuará a venda. (Um sistema de negociação mais realista não compraria ou venderia apenas, mas às vezes também reteria os valores mobiliários já possuídos.)
Cada regra é descrita por um conjunto de quatro números nas células C5:E8, que pode indicar várias coisas: 1) a fonte de dados a que a regra se refere; 2) se o valor dos dados deve estar acima ou abaixo de um valor limite; 3) o valor limite que determina se a regra é verdadeira; 4) um valor modificador que determina se o próprio valor deveria ser examinado, ou se o valor do dia anterior ou se a mudança desde o dia anterior deveria ser examinada.
O intervalo de valores limite varia entre 0 e 1, e representa o percentual do intervalo da fonte de dados. Por exemplo: se o volume varia de 5.000 a 10.000, então o valor limite de 0,0 corresponderia a um volume de 5.000; um valor limite de 1,0 corresponderia a um volume de 10.000; e um valor limite de 0,5 corresponderia a um volume de 7.500. Esse sistema permite que as regras se reportem a qualquer fonte de dados, independentemente dos valores atribuídos.
Crie grupos de células ajustáveis, todos eles usando o método de solução “receita”. Cada linha em C5:E5, C6:E6, C7:E7 e C8:E8 deve ser criada separadamente, de forma que cada grupo possa atribuir facilmente suas próprias opções, como número inteiro e intervalos. As configurações de cada conjunto de variáveis são exibidas em F5:F8. Maximize a célula E10, que executa uma macro para simular a negociação com aquelas regras. O lucro total realizado após a simulação da negociação diária no banco de dados histórico é inserido na célula E10.
92 Negociante

Transformador

O transformador com 2 enrolamentos precisa ter classificação nominal de 1080 VAC com perdas totais de carga de 28 watts e dissipação de calor superficial que não ultrapasse 0,16 watts/cm custos e observe os critérios de desempenho.
2
. Minimize os
Arquivo de exemplo: Meta:
Método de solução: Problemas similares:
Transformador.xls
Minimizar o custo inicial e operacional de um transformador.
Receita Projeto de circuito, projeto de ponte
Capítulo 4: Exemplos de Aplicações 93

Como o modelo funciona

Como resolve-lo
As restrições de potência nominal, perda de carga e dissipação de calor são catalogadas como restrições flexíveis. Criamos uma restrição flexível penalizando as soluções que não satisfazem nossas exigências, e que são, portanto, inválidas. Diferentemente de uma restrição rígida que precisa obrigatoriamente ser satisfeita, o Evolver tem permissão para experimentar algumas soluções inválidas, mas pelo fato dessas soluções inválidas serem penalizadas por uma função do modelo que marca as infrações, elas produzirão resultados inadequados na célula­alvo. Assim, com o passar do tempo, essas soluções inválidas serão descartadas do universo evolutivo de soluções possíveis.
Um modelo com restrição flexível pode funcionar melhor do que um com restrição rígida, se o problema tolerar menos restrições. Ele também permite que o Evolver aceite uma solução que pode ser excelente, mesmo se ela não atender as restrições, e isso pode vir a ser mais valioso do que uma solução não tão excelente que satisfaz todas as restrições.
Calcule o custo de material (custo inicial) e os custos operacionais (custo de eletricidade e eletricidade desperdiçada) nas células F11 e F12. Mescle-as com as funções de penalidades definidas em F18:F20 para produzir um custo final forçado na célula F22. Minimize essa célula-alvo usando o método de solução “receita”.
94 Transformador
Loading...