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.
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
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 (addins) 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.
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élulaalvo. 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.
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-deobra, 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élulaalvo. 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...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.