Pesquisa Operacional Aplicada à Mineração

Pesquisa Operacional Aplicada à Mineração

(Parte 1 de 9)

Notas de aula de Pesquisa Operacional Aplicada a Mineracao. c© Universidade Federal de Ouro Preto.

Marcone Jamilson Freitas Souza

Alexandre Xavier Martins

Tatiana Alves Costa

Frederico Augusto C. Guimaraes Jose Maria do Carmo Bento Alves

Departamento de Computacao

Instituto de Ciencias Exatas e Biologicas Universidade Federal de Ouro Preto

2 Pesquisa Operacional Aplicada a Mineracao Sumario

I OTIMIZADOR LINGO 5 1 Introducao 5 2 Restricoes Lineares 5

3.1 Funcao Objetivo6
3.2 Restricoes7

3 Introducao a Linguagem de Modelagem do LINGO 6

4.1 Rotulando as Restricoes7
4.2 Intitulando o Modelo7
4.3 Inserindo comentarios8

4 Adicionando Caracterısticas a Linguagem de Modelagem 7

5.1 Operadores Aritmeticos8
5.2 Operadores Logicos8
5.3 Operadores Relacionais9
5.4 Nıvel de prioridade dos operadores9
5.5 Funcoes matematicas9
5.6 Funcoes de probabilidade10
5.7 Funcoes de domınio10

5 Operadores e Funcoes do LINGO 8 6 O modelo LINGO do Problema de Transporte 10

7.1 Porque SETS?1
7.2 O que sao SETS?1
7.3 Secao SETS12
7.4 Definindo Conjuntos Primitivos12
7.5 Definindo conjuntos derivados13
7.6 Funcoes sobre conjuntos15
7.7 Funcoes de manipulacao de conjuntos15
8.1 Introducao a secao DATA17
8.2 Parametros18
8.3 Analise “E se” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.4 Inicializando um atributo com um simples valor19
8.5 Omitindo valores na secao DATA20

8 Secao DATA 17

9.1 Importando dados de um arquivo texto com @FILE20

Modelagem de PPL’s 3

10.1 Funcao @OLE23
10.2 Importando dados do EXCEL com @OLE23
10.3 Definindo nomes no EXCEL25
10.4 Excluindo um nome definido no EXCEL27
10.5 Exportando dados para EXCEL com @OLE27
10.6 Algumas consideracoes sobre @OLE29

10 Utilizando planilhas do EXCEL 23 1 Embutindo planilhas do EXCEL no LINGO 30 12 Embutindo Modelos LINGO no EXCEL 32

13.1 Comando SET38

13 Utilizando links OLE automatizados no EXCEL 34

I Modelagem de Problemas de Programacao Linear 39

Problema 139

Carteira de Investimentos 39

Problema 241
Problema 345

Mistura de Minerios com Custos 41

Problema 447

Mistura de Minerios com Metas 47

Problema 551

Problema das Usinas 51

Problema 654
Problema 757

Planejamento da Producao 54

Problema 860
Problema 962

Alocacao de Pessoal 60

Problema 1064

Formacao de Ligas 64

Problema 165
Problema 1267
Problema 1369

Corte de Estoque Unidimensional (Cutting Stock Problem) 65

4 Pesquisa Operacional Aplicada a Mineracao

Problema 1573
Problema 1675

Mochila 0-1 Multipla 75

Problema 177

Mochila Inteira 7

Problema 1879

Mochila Inteira Multipla 79

Problema 1981

Localizacao 81

Problema 2082

Caixeiro Viajante 82

Parte I OTIMIZADOR LINGO

1 Introducao

O LINGO e uma ferramenta computacional para modelagem e resolucao de problemas lineares e nao-lineares de otimizacao. O processo de otimizacao consiste em tentar encontrar a melhor solucao possıvel para um dado problema, usando tecnicas de programacao matematica, de forma a atingir o maior benefıcio/lucro ou gerar o menor custo/desperdıcio. Problemas de otimizacao sao classificados como lineares ou nao-lineares, dependendo se os relacionamentos entre as variaveis do problema sao lineares ou nao, respectivamente.

2 Restricoes Lineares

Se todos os termos das variaveis sao de primeira ordem, a restricao e dita linear. Isto significa que a restricao nao contem uma variavel quadratica, cubica, ou elevada a qualquer potencia, um termo dividido por uma variavel, ou uma variavel multiplicada por outra. Alem disso, deve existir proporcionalidade, ou seja, para cada unidade adicionada ou retirada de uma variavel, o valor da restricao aumentara ou reduzira em uma quantidade fixada.

Formulas lineares sao relacoes que podem ser graficamente representadas por uma linha reta. Sua forma basica pode ser escrita como:

onde m e b sao constantes.

Suponha, por exemplo, que um quilo de tomate custe R$ 1,50. A expressao ou funcao usada para calcular o custo (c) em termos da quantidade de tomate comprada (t) e:

c = 1.5 ∗ t Como esperado, o grafico da funcao de custo e uma linha reta:

Expressoes lineares podem ter multiplos valores, como por exemplo, se forem acrescentados a funcao acima o custo de batatas (b) a R$ 0,75 e macas (m) a R$ 1,25, terıamos:

Esta nova expressao de custo formada continua sendo linear. Pode-se dizer que ela e a soma de tres expressoes lineares simples.

Como os modelos lineares podem ser resolvidos de forma mais rapida em ordens de magnitude e com maior precisao do que os modelos nao-lineares, e preferıvel que os modelos sejam formulados usando expressoes lineares sempre que possıvel.

Para problemas representados por modelos lineares, quando completamente resolvidos pelo

LINGO (sem serem interrompidos), tem-se a garantia que o valor da funcao objetivo encontrado e otimo, ou seja, e o melhor valor possıvel para o problema em questao. Tal garantia nao ocorre no caso de modelos nao-lineares, ja que os mesmos podem ficar presos em otimos locais, como mostra a figura abaixo, que ilustra o caso de uma funcao objetivo nao-linear.

Algumas expressoes nao-lineares podem ser facilmente convertidas em lineares. Considere a restricao abaixo:

Da forma como esta escrita, essa restricao e nao-linear porque x esta sendo dividido por y. Simplesmente multiplicando ambos os lados por y, temos a restricao linear equivalente:

3 Introducao a Linguagem de Modelagem do LINGO

3.1 Funcao Objetivo

A linguagem de modelagem do LINGO permite representar a funcao objetivo de forma bastante simples e intuitiva. Para exemplificar, considere dois conjuntos, fabricas e armazens, e uma matriz rotas de ele- mentos (i,j), com i ∈ fabricas e j ∈ armazens. As funcoes objetivo a seguir:minimizar ∑ i∈fabricas ∑ j∈armazens custoij ∗ qtdEnviadaij maximizar ∑ i∈fabricas ∑ j∈armazens lucroij ∗ qtdEnviadaij sao assim representadas no LINGO:

(Parte 1 de 9)

Comentários