Manual do Solver do Excel

21
Universidade do Minho Escola de Engenharia Departamento Campus de Gualtar de Produção 4710-057 Braga 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

Transcript of Manual do Solver do Excel

Universidade do Minho Escola de Engenharia DepartamentoCampus de Gualtar de Produção4710-057 Braga e Sistemas

Microsoft Excel na resolução de problemas deoptimização

Manual da disciplina de Métodos Numéricos II

A. Ismael F. VazM. Teresa T. Monteiro

Universidade do Minho - Escola de Engenharia - Departamento de Produção e Sistemas - Campus de Gualtar - 4710-057 BragaTel.: +351 253 604740 Fax: +351 253 604741 Email: {aivaz,mtm}@dps.uminho.pt

Conteúdo

Lista de Figuras ii

Resumo iii

1 Introdução 11.1 Conceitos básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Instalação do solver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Problema exemplo de optimização não linear 32.1 O problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Formulação do problema em Excel . . . . . . . . . . . . . . . . . . . . . . 3

3 Resolução do problema exemplo 6

4 Opções para o Solver 14

i

Lista de Figuras

1.1 Entrada de referência a células. . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Navegação para entrada de referência a células. . . . . . . . . . . . . . . . 11.3 Janela de instalação do Solver. . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Problema exemplo inserido no Excel. . . . . . . . . . . . . . . . . . . . . . 5

3.1 Janela inicial do solver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2 Janela do solver parcialmente preenchida. . . . . . . . . . . . . . . . . . . 73.3 Janela de adição de restrições. . . . . . . . . . . . . . . . . . . . . . . . . . 83.4 Janela de adição de restrições preenchida. . . . . . . . . . . . . . . . . . . 83.5 Janela do solver preenchida. . . . . . . . . . . . . . . . . . . . . . . . . . . 93.6 Janela com a solução. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.7 Janela com o relatório da solução. . . . . . . . . . . . . . . . . . . . . . . . 113.8 Janela com o relatório de sensibilidade da solução. . . . . . . . . . . . . . . 123.9 Janela com o relatório de limites da solução. . . . . . . . . . . . . . . . . . 13

4.1 Janela de opções. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 Gravação do modelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3 Leitura do modelo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

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 deEngenharia Biológica da Universidade do Minho.

O manual não se destina a descrever o funcionamento completo, nem todo o potencialdo Excel, mas sim como se pode usar o solver para resolver problemas de optimização.

A versão usada neste manual corresponde ao Microsoft c©Excel 2000.

iii

Capítulo 1

Introdução

Serão apresentados de seguida alguns conceitos básicos necessários ao uso do Excel. Apresenta-se de seguida o procedimento de instalação do solver.

1.1 Conceitos básicosO Excel é uma aplicação que implementa o conceito de Folha de Cálculo. Um documentoExcel é constituído por uma conjunto de folhas (sheets) de cálculo, que por sua vez sãoconstituídas por células (cells). Uma célula é identificada pela intersecção de uma colunacom uma linha. Por exemplo a célula A2 corresponde à célula de intersecção da coluna Acom a linha 2. A2 corresponde a uma referência relativa enquanto que $A$2 correspondea uma referência absoluta. Quando a aplicação necessita de uma referência, a uma ouvá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. Nanavegaçã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 aoponto de partida, antes da navegação.

1

CAPÍTULO 1. INTRODUÇÃO 2

1.2 Instalação do solverO solver é utilizado através da selecção, no menu das ferramentas (Tools), do sub-menuSolver.

Se o sub-menu Solver não existir significa que não tem este Add-In instalado. Para asua instalação seleccione o sub-menu Add-Ins... dentro do menu Tools. Aparece no monitora 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-menuSolver 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ãolinear

2.1 O problemaPara ilustrar o uso do Excel na resolução de problemas de optimização usar-se-á o seguinteproblema

minx1,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, x

02, x

03)

T = (0, 1.05, 2.9)T .

2.2 Formulação do problema em ExcelO primeiro passo consiste na identificação das variáveis do problema, neste caso x1, x2 ex3. As variáveis correspondem a células na folha de cálculo. A aproximação inicial deveser colocada nas respectivas células. Por exemplo considere-se a correspondência indicadana seguinte tabela.

Variável Célula Conteúdox1 A3 0x2 B3 1.05x3 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 referidasfó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órmulaem Excel inicia-se sempre pelo sinal =.

As fórmulas neste caso foram inseridas nas células D3 (função objectivo), A6 (funçãoh1(x)) e B6 (função h2(x)).

As restrições x ∈ D não necessitam, neste momento, de atenção especial, uma vez quesão restrições do tipo limite simples.

Introduzindo alguns comentários, juntamente com os dados do problema resulta numafolha 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 domenu Tools.

Figura 3.1: Janela inicial do solver.

Os botões apresentados, na Figura 3.1, à direita são Solve, Close, Options, Reset all eHelp e servem, respectivamente, para resolver o problema com os dados fornecidos, fechar ajanela, modificar as opções do algoritmo usado, limpar todos os campos da janela e chamaro 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. Opreenchimento 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 umproblema em que a função objectivo é maximizada e a opção Value of: quando se pretendeque 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ãoGuess tenta adivinhar quais são as variáveis do problema, através da análise das célulascuja referência é feita na fórmula da função objectivo. Neste caso o botão Guess nãoproduz um resultado satisfatório, uma vez que a variável x2 (célula B3 ) não é usada nafunção objectivo. Neste caso o preenchimento pode ser feito através da selecção das célulasA3, 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-sepreenchida 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 doproblema (neste momento vazia) e à direita três botões. Os botões Change e Delete têmde ser precedidos da selecção de uma restrição na lista de restrições. O botão Delete removeessa restrição da lista, enquanto que o botão Change abre uma nova janela que permitemodificar 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-seintroduzir uma referência à célula que contém o valor a ser restrito. No caso da primeirarestrição, será a célula A6. O tipo de restrição é seleccionado na lista de relações. Nestecaso é 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 namesma 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çõesde desigualdade mais as restrições x ∈ D) a janela do Solver fica como se mostra na Figura3.5.

Finalmente para resolver o problema prima-se o botão Solve. Após resolvido o problemaaparece a janela indicada na Figura 3.6. As células referentes às variáveis encontram-sealteradas para reflectir a solução encontrada pelo solver.

O utilizador tem a opção de aceitar os valores encontrados para o problema (KeepSolver 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 doprocesso de optimização.

A folha de cálculo com o relatório da solução encontrada (Answer) é apresentado naFigura 3.7.

Este relatório merece alguns comentários. A tabela Target Cell refere-se à funçãoobjectivo. São apresentados os valores anteriores e posteriores à optimização. A tabelaAdjustable Cells refere-se às variáveis do problema, mais uma vez com os valores antes edepois da optimização. A tabela Constraints refere-se às restrições. As duas primeiras res-triçõ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 Figura3.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 naFigura limits.

Este relatório apresenta valores para os limites das variáveis. O limite inferior é o valormais pequeno que a variável pode tomar, mantendo as restantes fixas e satisfazendo asrestrições. O limite superior diz respeito ao maior valor.

O botão Save Scenario permite guardar vários cenários que corresponde a diferentesconteúdos das células em instantes diferentes. Esta é uma facilidade fornecida pelo Excelque 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 oSolver. 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 en-tretanto efectuadas, Cancel para terminar sem alterar as opções anteriores e Help paraobter 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 auto-maticamente 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çãode um conjunto de células onde guarda a informação acerca do modelo. Na Figura 4.2apresenta-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 áreaonde 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 progra-maçã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 podemser negativas (é equivalente à restrição A3:C3>=0 ).

A opção Use Automatic Scaling faz um escalonamento automático, quando as variáveisenvolvidas são muito diferentes em magnitude.

A opção Show Iteration Results faz com que o procedimento apresente, iteração aiteração, a evolução nas respectivas células. Esta opção permite que se gravem várioscená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 MaxTime: 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 sucessivasaproximações da função objectivo. O Solver pára quando o erro relativo é inferior ao valorda convergência nas últimas cinco iterações.

A opção Tolerance: refere-se à percentagem entre a função objectivo na solução, quesatisfaz as restrições inteiras, e o verdadeiro valor. Apenas é usada para nas restriçõesinteiras.

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) oucentrais (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 Gradientesconjugados (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