Manual do Solver do Excel - norg
Transcrição
Manual do Solver do Excel - norg
Universidade do Minho Campus de Gualtar 4710-057 Braga Escola de Engenharia Departamento de Produção e Sistemas Microsoft Excel na resolução de problemas de optimização Manual da disciplina de Métodos Numéricos II A. Ismael F. Vaz M. Teresa T. Monteiro Universidade do Minho - Escola de Engenharia - Departamento de Produção e Sistemas - Campus de Gualtar - 4710-057 Braga Tel.: +351 253 604740 Fax: +351 253 604741 Email: {aivaz,mtm}@dps.uminho.pt Conteúdo Lista de Figuras ii Resumo iii 1 Introdução 1.1 Conceitos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Instalação do solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 Problema exemplo de optimização não linear 2.1 O problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Formulação do problema em Excel . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 Resolução do problema exemplo 6 4 Opções para o Solver 14 i Lista de Figuras 1.1 1.2 1.3 Entrada de referência a células. . . . . . . . . . . . . . . . . . . . . . . . . Navegação para entrada de referência a células. . . . . . . . . . . . . . . . Janela de instalação do Solver. . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2.1 Problema exemplo inserido no Excel. . . . . . . . . . . . . . . . . . . . . . 5 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Janela Janela Janela Janela Janela Janela Janela Janela Janela . . . . . . . . . 6 7 8 8 9 10 11 12 13 4.1 4.2 4.3 Janela de opções. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gravação do modelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Leitura do modelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 16 17 inicial do solver. . . . . . . . . . . . . . . . do solver parcialmente preenchida. . . . . de adição de restrições. . . . . . . . . . . . de adição de restrições preenchida. . . . . do solver preenchida. . . . . . . . . . . . . com a solução. . . . . . . . . . . . . . . . . com o relatório da solução. . . . . . . . . . com o relatório de sensibilidade da solução. com o relatório de limites da solução. . . . ii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resumo Este relatório tem como objectivo servir de manual de apoio às aulas práticas de utilização do solver do Excel, da disciplina de Métodos Numéricos II, leccionada ao curso de Engenharia Biológica da Universidade do Minho. O manual não se destina a descrever o funcionamento completo, nem todo o potencial do Excel, mas sim como se pode usar o solver para resolver problemas de optimização. c A versão usada neste manual corresponde ao Microsoft°Excel 2000. iii Capítulo 1 Introdução Serão apresentados de seguida alguns conceitos básicos necessários ao uso do Excel. Apresentase de seguida o procedimento de instalação do solver. 1.1 Conceitos básicos O Excel é uma aplicação que implementa o conceito de Folha de Cálculo. Um documento Excel é constituído por uma conjunto de folhas (sheets) de cálculo, que por sua vez são constituídas por células (cells). Uma célula é identificada pela intersecção de uma coluna com uma linha. Por exemplo a célula A2 corresponde à célula de intersecção da coluna A com a linha 2. A2 corresponde a uma referência relativa enquanto que $A$2 corresponde a uma referência absoluta. Quando a aplicação necessita de uma referência, a uma ou várias células, aparece o gráfico da Figura 1.1. O utilizador pode simplesmente escrever Figura 1.1: Entrada de referência a células. a referência da célula ou clicar no botão da direita para navegar pelo documento. Na navegação pelo documento aparece o gráfico apresentado na Figura 1.2. Neste caso o Figura 1.2: Navegação para entrada de referência a células. utilizador deve seleccionar as células em questão e clicar no botão da direita, voltando ao ponto de partida, antes da navegação. 1 CAPÍTULO 1. INTRODUÇÃO 1.2 2 Instalação do solver O solver é utilizado através da selecção, no menu das ferramentas (Tools), do sub-menu Solver. Se o sub-menu Solver não existir significa que não tem este Add-In instalado. Para a sua instalação seleccione o sub-menu Add-Ins... dentro do menu Tools. Aparece no monitor a janela apresentada na Figura 1.3. Figura 1.3: Janela de instalação do Solver. Certifique-se que a opção Solver Add-In está seleccionada e prima OK. O sub-menu Solver passará a constar no menu Tools. Nota 1 Poderá ser necessário a instalação de ficheiros no seu computador. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 Capítulo 2 Problema exemplo de optimização não linear 2.1 O problema Para ilustrar o uso do Excel na resolução de problemas de optimização usar-se-á o seguinte problema min x1 ,x2 ,x3 ∈D f (x) ≡ 0.2x3 − 0.8x1 s.a h1 (x) ≡ x2 − ex1 ≥ 0 h2 (x) ≡ x3 − ex2 ≥ 0 D = [0, 100] × [0, 100] × [0, 10]. (1) Usando a aproximação inicial x0 = (x01 , x02 , x03 )T = (0, 1.05, 2.9)T . 2.2 Formulação do problema em Excel O primeiro passo consiste na identificação das variáveis do problema, neste caso x1 , x2 e x3 . As variáveis correspondem a células na folha de cálculo. A aproximação inicial deve ser colocada nas respectivas células. Por exemplo considere-se a correspondência indicada na seguinte tabela. Variável Célula Conteúdo x1 A3 0 x2 B3 1.05 x3 C3 2.9 O segundo passo consiste na descrição da função objectivo e das funções das restrições. A fórmula correspondente à função objectivo é 3 CAPÍTULO 2. PROBLEMA EXEMPLO DE OPTIMIZAÇÃO NÃO LINEAR 4 0.2*C3-0.8*A3 e as restrições B3-exp(A3) C3-exp(B3). Estas fórmulas devem também ser inseridas em células. Nota 2 Pode-se usar qualquer procedimento permitido pelo Excel para inserir as referidas fórmulas. Neste caso, uma vez que as fórmulas são simples, o procedimento mais rápido é o de escrever directamente o texto na respectiva célula, não esquecendo que uma fórmula em Excel inicia-se sempre pelo sinal =. As fórmulas neste caso foram inseridas nas células D3 (função objectivo), A6 (função h1 (x)) e B6 (função h2 (x)). As restrições x ∈ D não necessitam, neste momento, de atenção especial, uma vez que são restrições do tipo limite simples. Introduzindo alguns comentários, juntamente com os dados do problema resulta numa folha de cálculo como se mostra na Figura 2.1. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 2. PROBLEMA EXEMPLO DE OPTIMIZAÇÃO NÃO LINEAR 5 Figura 2.1: Problema exemplo inserido no Excel. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 Capítulo 3 Resolução do problema exemplo A janela apresentada na Figura 3.1 aparece quando se selecciona o sub-menu Solver do menu Tools. Figura 3.1: Janela inicial do solver. Os botões apresentados, na Figura 3.1, à direita são Solve, Close, Options, Reset all e Help e servem, respectivamente, para resolver o problema com os dados fornecidos, fechar a janela, modificar as opções do algoritmo usado, limpar todos os campos da janela e chamar o sistema de ajuda do Excel. A janela apresentada após seleccionar o botão Options será descrita no próximo capítulo. O botão Solve resolve o problema com os dados indicados. O preenchimento desses dados será descrito de seguida, para já não se farão mais comentários 6 CAPÍTULO 3. RESOLUÇÃO DO PROBLEMA EXEMPLO 7 acerca dos restantes botões. Começa-se por indicar qual a função objectivo do problema através do preenchimento do campo Set Target Cell:. Este pode ser feito através de um simples click na célula D3. O problema em questão é um problema de minimização da função objectivo, pelo que deve ser seleccionado, no campo Equal to: a opção Min. A opção Max refere-se a um problema em que a função objectivo é maximizada e a opção Value of: quando se pretende que a função objectivo, na solução, seja igual ao valor indicado. O campo By Changing Cells: indica as células que são variáveis do problema. O botão Guess tenta adivinhar quais são as variáveis do problema, através da análise das células cuja referência é feita na fórmula da função objectivo. Neste caso o botão Guess não produz um resultado satisfatório, uma vez que a variável x2 (célula B3 ) não é usada na função objectivo. Neste caso o preenchimento pode ser feito através da selecção das células A3, B3 e C3 (clicar na célula A3 e arrastar até à célula C3 ). Nesta altura, e antes de se proceder à descrição das restrições, a janela encontra-se preenchida como se mostra na Figura 3.2. Figura 3.2: Janela do solver parcialmente preenchida. O campo Subject to the Constraints: possui à esquerda uma lista de restrições do problema (neste momento vazia) e à direita três botões. Os botões Change e Delete têm de ser precedidos da selecção de uma restrição na lista de restrições. O botão Delete remove essa restrição da lista, enquanto que o botão Change abre uma nova janela que permite modificar a restrição seleccionada. A janela para modificar uma restrição é semelhante à janela que adiciona uma restrição, pelo que não será descrita em detalhe. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 3. RESOLUÇÃO DO PROBLEMA EXEMPLO 8 Premindo o botão Add aparece a janela da Figura 3.3. Figura 3.3: Janela de adição de restrições. A introdução das restrições é feita da seguinte forma. No campo Cell Reference deve-se introduzir uma referência à célula que contém o valor a ser restrito. No caso da primeira restrição, será a célula A6. O tipo de restrição é seleccionado na lista de relações. Neste caso é uma restrição de ≥, pelo que este sinal deve ser seleccionado. O campo Constraint: deve conter um valor ou uma referência a outra célula. Neste caso será indicado o valor 0. Após o preenchimento, a janela fica como indicada na Figura 3.4. Figura 3.4: Janela de adição de restrições preenchida. Se usar o botão Add é adicionada a restrição à lista de restrições e continua-se na mesma janela, para permitir adicionar mais restrições. Se usar o botão OK a restrição é adicionada e retorna-se à janela anterior. Após adicionar todas as restrições (duas restrições de desigualdade mais as restrições x ∈ D) a janela do Solver fica como se mostra na Figura 3.5. Finalmente para resolver o problema prima-se o botão Solve. Após resolvido o problema aparece a janela indicada na Figura 3.6. As células referentes às variáveis encontram-se alteradas para reflectir a solução encontrada pelo solver. O utilizador tem a opção de aceitar os valores encontrados para o problema (Keep Solver Solution) ou de anular a alteração (Restore Original Values). O utilizador pode UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 3. RESOLUÇÃO DO PROBLEMA EXEMPLO 9 Figura 3.5: Janela do solver preenchida. ainda pedir a inclusão no documento de trabalho de folha(s) com relatório(s) acerca do processo de optimização. A folha de cálculo com o relatório da solução encontrada (Answer ) é apresentado na Figura 3.7. Este relatório merece alguns comentários. A tabela Target Cell refere-se à função objectivo. São apresentados os valores anteriores e posteriores à optimização. A tabela Adjustable Cells refere-se às variáveis do problema, mais uma vez com os valores antes e depois da optimização. A tabela Constraints refere-se às restrições. As duas primeiras restrições encontram-se activas na solução encontrada, enquanto as restantes estão inactivas. Slack representa a diferença para o respectivo limite. A folha de cálculo com a análise de sensibilidade (Sensitivity) é apresentada na Figura 3.8. Este relatório apresenta as variáveis na solução e o respectivo gradiente reduzido. Apresenta ainda os multiplicadores de Lagrange na solução encontrada. A folha de cálculo com a análise dos limites das variáveis (Limits) é apresentada na Figura limits. Este relatório apresenta valores para os limites das variáveis. O limite inferior é o valor mais pequeno que a variável pode tomar, mantendo as restantes fixas e satisfazendo as restrições. O limite superior diz respeito ao maior valor. O botão Save Scenario permite guardar vários cenários que corresponde a diferentes conteúdos das células em instantes diferentes. Esta é uma facilidade fornecida pelo Excel que não é particular do Solver e como tal não será descrita com mais detalhe. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 3. RESOLUÇÃO DO PROBLEMA EXEMPLO 10 Figura 3.6: Janela com a solução. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 3. RESOLUÇÃO DO PROBLEMA EXEMPLO 11 Figura 3.7: Janela com o relatório da solução. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 3. RESOLUÇÃO DO PROBLEMA EXEMPLO 12 Figura 3.8: Janela com o relatório de sensibilidade da solução. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 3. RESOLUÇÃO DO PROBLEMA EXEMPLO 13 Figura 3.9: Janela com o relatório de limites da solução. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 Capítulo 4 Opções para o Solver Usando o botão Options na janela do Solver aparece uma nova janela de opções para o Solver. A Figura 4.1 apresenta a referida janela. Figura 4.1: Janela de opções. Os botões da direita são: OK para terminar aceitando as modificações das opções entretanto efectuadas, Cancel para terminar sem alterar as opções anteriores e Help para obter ajuda do Excel. Os botões Load Model e Save Model merecem uma descrição mais 14 CAPÍTULO 4. OPÇÕES PARA O SOLVER 15 pormenorizada. O modelo do problema descrito na janela do Solver não é guardado automaticamente com o documento. Assim se se pretende guardar o modelo (função objectivo, restrições e opções) deve-se usar o botão Save Model. Esta opção espera por uma selecção de um conjunto de células onde guarda a informação acerca do modelo. Na Figura 4.2 apresenta-se a selecção da área para guardar o modelo. Quando se pretender ler o modelo deve-se usar o botão Load Model e seleccionar a área onde o modelo foi previamente guardado, como se indica na Figura 4.3. A opção Assume Linear Model deve ser seleccionada quando o problema é de programação linear (função objectivo e restrições do tipo linear). A opção Assume Non-Negative deve ser seleccionada quando as variáveis não podem ser negativas (é equivalente à restrição A3:C3>=0 ). A opção Use Automatic Scaling faz um escalonamento automático, quando as variáveis envolvidas são muito diferentes em magnitude. A opção Show Iteration Results faz com que o procedimento apresente, iteração a iteração, a evolução nas respectivas células. Esta opção permite que se gravem vários cenários, correspondendo a iterações do algoritmo. O tempo máximo e o número de iterações pode ser controlado através das opções Max Time: e Iterations:, respectivamente. A precisão da solução pode ser controlada através das opções Precision: e Convergence: que se referem à violação máxima permitida das restrições e ao erro relativo entre sucessivas aproximações da função objectivo. O Solver pára quando o erro relativo é inferior ao valor da convergência nas últimas cinco iterações. A opção Tolerance: refere-se à percentagem entre a função objectivo na solução, que satisfaz as restrições inteiras, e o verdadeiro valor. Apenas é usada para nas restrições inteiras. A opção Estimates refere-se ao uso de uma extrapolação linear de um vector tangente (Tangent) ou ao uso da extrapolação quadrática (Quadratic) na procura uni-dimensional. A opção Derivatives especifica se se deve usar diferenças ascendentes (Forward ) ou centrais (Center ) no cálculo de estimativas para as primeiras derivadas. A opção Search refere-se ao uso do algoritmo quasi-Newton (Newton) ou dos Gradientes conjugados (Conjugate). UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 4. OPÇÕES PARA O SOLVER 16 Figura 4.2: Gravação do modelo. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003 CAPÍTULO 4. OPÇÕES PARA O SOLVER 17 Figura 4.3: Leitura do modelo. UM - EE - DPS - Subgrupo de Métodos Numéricos e Estatísticos Fevereiro 2003