Capítulo 2 Mistura e Convecção. Mistura Mistura Isobária Mistura Adiabática.
PROBLEMA DE MISTURA DE MATÉRIAS-PRIMAS MINERAIS … · PROBLEMA DE MISTURA DE MATÉRIAS-PRIMAS...
Transcript of PROBLEMA DE MISTURA DE MATÉRIAS-PRIMAS MINERAIS … · PROBLEMA DE MISTURA DE MATÉRIAS-PRIMAS...
PROBLEMA DE MISTURA DE MATÉRIAS-PRIMAS MINERAIS (ARGILAS)
João Cabral Valentim
Dissertação para obtenção do Grau de Mestre em
Engenharia e Gestão Industrial
Júri
Presidente: Professor Acácio Manuel de Oliveira Porta Nova
Orientador: Professor Fernando de Oliveira Durão
Vogal: Professor João Carlos da Cruz Lourenço
Outubro 2012
i
AGRADECIMENTOS
A DEUS, que deu-me a vida e tudo mais.
Aos meus Pais, à Isabel Cabral e ao Augusto Valentim, que muito me apoiam.
Ao meu orientador científico, Professor Fernando de Oliveira Durão, o meu muito
obrigado, que sem a sua sábia orientação, disponibilidade e amizade, não poderia ter
levado a cabo a tarefa a que me propus.
A todos aqueles, como o vogal do júri e outros, que leram e deram a sua colaboração na fase
do projeto.
Agradeço-me também, pelo esforço pessoal e pelo empenho no âmbito do cumprimento dos
objetivos.
ii
iii
RESUMO
A satisfação das especificações físicas de produtos cerâmicos finais depende das
condições do processo de cozedura e das propriedades químicas e mineralógicas das
matérias-primas minerais. Para as empresas mineiras que exploram várias jazidas de argilas,
de qualidade muito variável, as propriedades químicas e mineralógicas da matéria-prima final é
assegurada através de fórmulas de mistura de vários tipos de argilas, cuidadosamente
elaboradas em laboratórios bem equipados, segundo demorados processos de tentativa e erro.
Com base num registo histórico das propriedades químicas e mineralógicas de pastas
cerâmicas e das correspondentes propriedades físicas e químicas dos produtos cerâmicos
finais, o objetivo desta dissertação de Mestrado é contribuir com novos desenvolvimentos e
implementação, sob a forma de aplicação informática, de metodologia de apoio à formulação
automática de misturas de matérias-primas minerais de pastas cerâmicas que assegurem a
realização de valores desejados das propriedades físicas/tecnológicas dos produtos finais,
realização esta sujeita à satisfação de restrições ao nível da composição química da pasta
cerâmica e ao cumprimento de requisitos tais como o número de matérias-primas minerais na
mistura dever estar compreendido entre um mínimo e um máximo. O desenvolvimento da
metodologia de apoio à formulação automática das misturas abrange as seguintes etapas:
- Modelação das relações entre propriedades físicas dos produtos e propriedades químicas das
pastas;
- Formulação do problema de mistura como um modelo de programação não linear mista, com
satisfação de múltiplos critérios;
- Avaliação de técnicas de resolução do modelo de otimização e implementação em aplicação
informática amigável da técnica de resolução selecionada.
. Palavras-chaves. Otimização, regressão, múltiplos objetivos, aplicação informática
iv
v
ABSTRACT
The satisfaction of physical, mechanical and chemical specifications of ceramic end
products depends on the conditions of the firing process, and fundamentally of chemical and
mineralogical properties of clays, mineral raw materials used in the production of the respective
ceramic pastes. For mining companies that explore various clay deposits, of very variable
quality, chemical and mineralogical properties of the raw material is ensured through final
mixing formulas of various types of clays, carefully prepared in well-equipped laboratories,
according to lengthy trial and error processes.
Based on a historical record of the chemical and mineralogical properties of ceramic pastes and
the corresponding physical, mechanical and chemical properties of the final ceramic products,
the aim of this Master's thesis is to contribute with new developments and implementation, in
the form of a friendly computer application, of the methodology supporting the automatic
formulation of mixtures of clays meeting all physical / chemical and technological specifications.
The development of the methodology to support the automatic formulation of mixtures
comprises the following steps:
- modeling the relationships between physical, mechanical properties of the final ceramic
products and chemical and mineralogical properties of the ceramic pastes (mixtures of
clays);
- Formulation of the mixing problem of mineral raw materials as a mixed-integer non
linear programming model satisfying multiple criteria;
- Evaluation of several approaches of solving the optimization model and implementation,
as a user friendly computer application, of the selected solution technique;
Key word: optimization, regression, multiple objectives, user friendly computer application
vi
vii
GLOSSÁRIO DE TERMOS
BB- algoritmo ou metodologia Branch and Bound.
OA – algoritmo ou metodologia de aproximações externas (outer-approximation decomposition
algorithm).
QG – algoritmo de Quesada e Grossmann.
Hyb - algoritmo de aproximação externa híbrida baseada no algoritmo de Branch & Cut (hybrid
outer-approximation based branch-and-cut algorithm).
iFP - algoritmo Bomba de Admissibilidade iterada (iterated Feasibility Pump) .
MINLP- Mixed-Integer Non Linear Programming
Absor- absorção
Cont- contração linear
CORRESPONDÊNCIAS DE TERMINOLOGIAS
Lógia vaga - lógica difusa
Constrangimentos - restrições
optmização multicritério - otimização multiobjectivo
viii
ix
ÍNDICE
AGRADECIMENTOS ............................................................................................................................ i
RESUMO ............................................................................................................................................. iii
ABSTRACT .......................................................................................................................................... v
GLOSSÁRIO DE TERMOS ................................................................................................................ vii
ÍNDICE DE TABELAS......................................................................................................................... xii
ÍNDICE DE FIGURAS ....................................................................................................................... xiiii
CAPITULO 1- INTRODUÇÃO ............................................................................................................. 1
1.1. Objetivo ..................................................................................................................................... 2
1.1.1.Objetivo geral ...................................................................................................................... 2
1.1.2.Objetivo específico .............................................................................................................. 2
1.2. Organização da dissertação de Mestrado ................................................................................ 3
CAPITULO 2 - REVISÃO BIBLIOGRÁFICA E CONTRIBUTO ........................................................... 5
2.1. Revisão bibliográfica ................................................................................................................. 5
2.1 Aplicações informáticas ............................................................................................................. 5
2.2. Contributo ................................................................................................................................ 10
CAPITULO 3 - DESENVOLVIMENTO DA METODOLOGIA DE APOIO À FORMULAÇÃO
AUTOMÁTICA DAS RECEITAS ................................................................................................. 11
3.1. Modelação das relações entre varáveis .................................................................................. 11
3.1.1. Descrição do registo histórico .......................................................................................... 11
3.1.2. Análise estatística dos dados ...................................................................................... 12
3.1.3. Modelos de regressão inspirados no sistema de inferência lógica difusa (neuro fuzzy)
15
3.1.4. Ajustamento dos Parâmetros no Modelo Takagi-Sugeno da primeira ordem e de ordem
zero ...................................................................................................................................... 18
3.1.5. Síntese do exercício da construção dos modelos de regressão Takagi-Sugeno de
primeira ordem ou de ordem zero ........................................................................................ 22
x
3.2. Modelo de otimização ............................................................................................................. 24
3.2.1. Formulação dos modelos de otimização .......................................................................... 24
3.3. Técnicas de resolução de problemas de Otimização Não Linear Mista (Mixed-Integer Non
Linear Programming – MINLP) ................................................................................................ 35
3.3.1. Resumo do método Branch & Bound ............................................................................... 36
3.4. Resumo da metodologia desenvolvida ................................................................................... 39
CAPITULO 4 – ESTRUTURA, EXPERIMENTAÇÃO E ANALISE DA APLICACÃO INFORMÁTICA
..................................................................................................................................................... 41
4.1. Estrutura de programação da aplicação informática .............................................................. 42
4.1.1. Introdução de informação ................................................................................................. 42
4.1.2.Preparação da formulação do modelo matemático .......................................................... 43
4.2. Avaliação e resolução do problema ........................................................................................ 45
4.2.1. Análise do espaço de soluções ........................................................................................ 45
4.2.2. Resolução do problema de otimização ............................................................................ 46
4.3. Experimentação das opções algorítmicas pospostas na resolução do problema do tipo
MINLP ...................................................................................................................................... 46
4.3.1. Avaliação do desempenho das opções algorítmicas de Bonmin ..................................... 46
5 CONCLUSÃO ................................................................................................................................. 63
Conclusões ..................................................................................................................................... 63
Limitações ...................................................................................................................................... 65
Recomendações sobre os objetos de investigação ....................................................................... 66
Apoios ............................................................................................................................................ 66
Bibliografia ............................................................................................ Erro! Marcador não definido.
Anexos ............................................................................................................................................... 71
xi
ÍNDICE DE TABELAS
Tabela 1 – Estatísticas básicas do histórico de dados ...................................................................... 13
Tabela 2 - Matriz dos coeficientes de correlação linear .................................................................... 14
Tabela 3- erros dos dados de teste associado a cada variável, para cada grupo ........................... 23
Tabela 4- modelos de regressão associado a cada uma das propriedades físicas/tecnológicas .... 23
Tabela 5 – Resumo da metodologia desenvolvida ............................................................................ 40
Tabela 6- Tempo CPU (segundos) –L1 ............................................................................................. 50
Tabela 7- Tempo CPU (segundos)-L2 .............................................................................................. 53
Tabela 8 - Tempo CPU (segundos)- L∞ ............................................................................................. 56
Tabela 9 - Tempo CPU (segundos)- Programação de metas........................................................... 59
xii
xiii
ÍNDICE DE FIGURAS
Figura 1- interface do aplicativo informático HiperGlaze. [3] ............................................................... 6
Figura 2- interface gráfico da aplicação informática Claymix (versão para MATLAB) ........................ 7
Figura 3 - interface gráfica de versão mais recente da aplicação informática Claymix (Interrogação
de base de dados) ......................................................................................................................... 8
Figura 4 - Interface gráfica da versão mais recente da aplicação informática Claymix ...................... 9
Figura 5 - Amostra de catálogo de cores em função dos parâmetros L, a e b. ................................. 13
Figura 6- Representação esquemática do modelo de regressão como uma rede neuronal, adaptada
de [10] .......................................................................................................................................... 17
Figura 7- Modelo de otimização: Formulação de Programação de Metas ........................................ 31
Figura 8- Modelo de otimização: Formulação Norma infinita (L∞) ..................................................... 32
Figura 9-Modelo de otimização: Formulação Norma Euclideana (L2) .............................................. 33
Figura 10- Modelo de otimização: Formulação Norma soma (L1) .................................................... 34
Figura 11- Algoritmo básico Branch and Bound ................................................................................ 37
Figura 12- Perfil de desempenho das opções algorítmicas para o tempo CPU de execução (métrica
L1) ................................................................................................................................................ 49
Figura 13- Gráfico associado ao valor optimal da função objetivo em função da coleção de
problemas .................................................................................................................................... 51
Figura 14 - Gráfico associado ao gap absoluto em função da coleção de problemas ..................... 51
Figura 15- Perfis de desempenho das opções algorítmicas para o tempo CPU de execução (métrica
L2) ................................................................................................................................................ 52
Figura 16- Gráfico associado ao valor optimal da função objetivo em função da coleção de
problemas .................................................................................................................................... 54
Figura 17- Gráfico associado ao gap absoluto em função da coleção de problemas ...................... 54
Figura 18 - Perfis de desempenho das opções algorítmicas para o tempo CPU de execução
(métrica L∞) .................................................................................................................................. 55
Figura 19 - Gráfico associado ao valor optimal da função objetivo em função da coleção de
problemas .................................................................................................................................... 57
xiv
Figura 20 - Gráfico associado ao gap absoluto em função da coleção de problemas ..................... 57
Figura 21 - Perfis de desempenho das opçoes algorítmicas para o tempo CPU de execução
(Programação de metas) ............................................................................................................. 58
Figura 22 - Gráfico associado ao Valor optimal da função objetivo em função da coleção de
problemas .................................................................................................................................... 60
Figura 23 - Gráfico associado ao gap absoluto em função da coleção de problemas ..................... 60
Figura 24- gráfico associado à métrica tempo CPU em função das variantes do modelo de
otimização ................................................................................................................................... 62
1
CAPITULO 1- INTRODUÇÃO
A abordagem ao problema da mistura pode ser feita à luz de duas questões
fundamentais:
- A necessidade da otimização de recursos (matérias-primas), centrada no
desenvolvimento sustentável (a utilização dos recursos naturais de modo a não
colocar em perigo as próximas gerações);
- A competitividade do mercado (alterações no preço induzidas pela escassez de
recursos ou matérias-primas) que, por sua vez, conduz as indústrias à
necessidade de uma maior eficiência no processo de produção.
O tema aqui proposto aborda a otimização e gestão da apropriação de matérias-
primas minerais não metálicos (em concreto as utilizadas na indústria cerâmicas), tendo
como referência ambas as questões enunciadas.
Os materiais cerâmicos domésticos (utensílios de uso doméstico como loiça,
copos, materiais de decoração), bem como os cerâmicos aplicados na construção civil
(mosaicos, azulejos, tijolos etc.) são exemplos de produtos cerâmicos obtidos segundo
diferentes processos de produção, mas que apresentam em comum o modo como são
preparadas as suas matérias-primas. A matéria-prima, que consiste na mistura de diversos
minerais, é designada por pasta cerâmica.
A pasta cerâmica é, normalmente, o produto final apresentado pela empresa que
efetua a exploração de jazidas de argilas e é produzida conforme as especificações dos
clientes. De um modo geral, as especificidades de uma pasta cerâmica são expressas nas
propriedades físicas/tecnológicas obtidas nas peças cerâmicas finais. Essas propriedades
dependem da composição química e mineralógica das matérias-primas minerais.
Deste modo, para o cliente final das pastas cerâmicas, a satisfação das
especificações físicas /tecnológicas do produto cerâmico final, depende das condições do
processo de cozedura, e fundamentalmente, das propriedades químicas e mineralógicas
das matérias-primas minerais utilizadas na produção dessas mesmas pastas cerâmicas.
Uma vez que as empresas mineiras exploram jazidas de argilas de qualidade muito
variável, as propriedades químicas e mineralógicas da matéria-prima final são asseguradas
através de fórmulas de mistura de vários tipos de argilas, cuidadosamente elaboradas com
base ensaios realizados em laboratórios bem equipados, segundo demorados processos
de tentativa e erro.
2
As argilas extraídas das jazidas podem ser de boa ou de má qualidade, variando
segundo os minerais que se encontram na sua composição. Os minerais (compostos químicos
naturais) presentes nas argilas podem tornar-se indesejáveis (impurezas) ou desejáveis
consoante a aplicação da argila. Quando os minerais são indesejados, pode ser necessário
proceder à sua remoção. Todavia, o processo tecnológico de separação entre os minerais
argilosos e os restantes num dado minério, pode não existir (dado que não foi encontrado na
pesquisa realizada). Por norma, as empresas deste sector ultrapassam esse problema a partir
da gestão de matérias-primas disponíveis nas jazidas. Ou seja, procede-se à gestão de
inventário (argila nas jazidas) com base na mistura das argilas desejadas com as argilas
indesejadas. Assim, busca-se corresponder à procura no mercado, às características exigidas
pelo cliente e à diminuição do armazenamento de matérias-primas indesejadas. Contudo, essa
mistura é efetuada segundo um processo empírico laboratorial não otimizado. Coloca-se então,
o problema de otimização das quantidades de argilas e de outras matérias-primas na mistura,
tendo-se em conta um conjunto de especificações ou constrangimentos/restrições.
O conjunto de especificações considerado é definido por 5 parâmetros
físicos/tecnológicos, que são: a luminosidade L, a cromaticidade a, a cromaticidade b, a
absorção e a contração linear. Cada um destes parâmetros depende, em parte, do conjunto
das propriedades químicas e mineralógicas da pasta cerâmica. O conjunto das propriedades
químicas e mineralógicas compreende os teores (concentrações mássicas) de quatro
elementos sob a forma de óxidos (alumina -Al2O3, sílica SiO2, óxido de ferro -Fe2O3 e óxido de
potássio K2O) e as perdas por ignição (Loss on Ignition – LOI), expressa em percentagem
mássica.
1.1. Objetivo
1.1.1.Objetivo geral
A questão central em investigação consiste no desenvolvimento e na implementação
de uma aplicação informática que apoie a formulação automática de matérias-primas minerais,
tendo em conta as especificações físicas/tecnológicas do produto final (peça cerâmica final),
fazendo uso de um registo histórico de composições químicas e mineralógicas das matérias-
primas e das correspondentes propriedades físicas/mecânicas/tecnológicas dos produtos finais
na indústria cerâmica.
1.1.2.Objetivo específico
Desenvolver uma metodologia subjacente à aplicação informática que apoie a
formulação e a resolução do problema de mistura de matérias-primas minerais a partir de um
histórico de dados disponíveis. Sugerir algoritmos alternativos aos aferidos como principais e
incorporá-los na mesma aplicação. Esta aplicação será desenvolvida dentro do ambiente de
3
programação proporcionado pelo programa MATLAB, num intervalo de tempo equivalente a um
semestre.
1.2. Organização da dissertação de Mestrado
Esta dissertação organiza-se da seguinte forma.
O primeiro capítulo introduz e enuncia o problema, numa base explicativa sobre a
necessidade da intervenção do método científico;
No segundo capítulo faz-se referência às diferentes aplicações informáticas
disponíveis, que têm como objetivo auxiliar/apoiar a resolução do problema da mistura
de matérias-primas minerais não metálicas tais como argilas.
O terceiro capítulo começa com uma análise de correlação no conjunto dos dados
históricos disponíveis, descreve e aplica uma metodologia de regressão não linear
baseada nos sistemas de inferência lógica vaga, de Takagi-Sugeno, para aproximar as
relações desconhecidas entre variáveis dependentes (propriedades físicas/mecânicas
do produto cerâmico final) e independentes ou explicativas (composição
química/mineralógica da mistura – pasta cerâmica), identifica as variáveis de
otimização, contínuas e binárias, e elabora variantes do modelo de
programação/otimização matemática de apoio à formulação automática do problema
da mistura e apresenta o método de otimização de problemas do tipo MINLP; ainda
neste capítulo, resumem-se os principais métodos numéricos de otimização não linear
inteira mista, envolvendo variáveis de otimização contínuas e discretas (binárias),
descrevem-se os algoritmos computacionais (solvers) selecionados a par da escolha
do ambiente de experimentação computacional (MATLAB) adotado.
No quarto capítulo descreve-se sucintamente a estrutura de programação da aplicação
informática; a metodologia de geração de coleção de problemas e faz-se a avaliação
dos vários algoritmos aplicados às diferentes variantes do modelo de programação
matemática, mediante a apresentação de gráficos de perfis de desempenho e de
tabelas para algumas métricas (tempo de execução e valor ótimo da função objetivo);
por fim, é feita uma análise sobre os resultados.
Finalmente, no quinto capítulo, tiram-se as conclusões e fazem-se algumas
recomendações para trabalhos futuros.
4
5
CAPITULO 2 - REVISÃO BIBLIOGRÁFICA E
CONTRIBUTO
2.1. Revisão bibliográfica
O problema de mistura de matérias-primas minerais ou, mais concretamente, o da
formulação de receitas de pastas cerâmicas é um tema que tem atraído a atenção contínua de
investigação de várias empresas e instituições de investigação. Pode verificar-se que o fruto
desta investigação é a existência de várias aplicações informáticas que têm como função
apoiar a resolução do mesmo problema. Entre essas aplicações as mais destacadas são:
INSIGHT, Glaze Calculation, HyperGlaze, Claymix, Glazechem, Ceramics Today Glaze
Database, CeramDat, Glaze Simulator, Glaze Workbook Aplicação informática, Materials
Analysis Page, Matrix Glaze Calculation.
Segundo a pesquisa realizada, já nos anos 2000 e 2002 que as aplicações informáticas
como INSIGHT, Matrix Glaze Calculation e o HyperGlaze se encontravam no mercado. De
salientar que a primeira versão da aplicação informática INSIGHT foi introduzida no mercado
em 1979, para os sistemas operativos Windows e Linux. A Digitalfire, instituição proprietária da
aplicação informática INSIGHT, continuou a lançar diversas atualizações da mesma aplicação
informática durante o período de 1979 a 2011, e atualmente este aplicativo é utilizado por
várias empresas. Para além da eliminação dos erros (bugs) nos aplicativos informáticos, na
medida em que se foi atualizando, a Digitalfire focou-se no aumento da informação disponível
na interface gráfica e no enriquecimento da base de dados associada à aplicação informática.
Observa-se também que a primeira versão do Claymix foi publicada em 2000; e a última, em
2005. As últimas modificações do Claymix contemplaram a integração da tecnologia de gestão
de bases de dados (DBMS) com a utilização da linguagem estruturada de interrogação (SQL)
de base de dados e acrescentando à descrição da composição química/mineralógica das
matérias-primas disponíveis a quantidade (tonelagem) das matérias-primas minerais de
diferentes tipos ou depósitos disponíveis [1]
2.1 Aplicações informáticas
Nesta secção, descrevem-se resumidamente as aplicações informáticas encontradas
na pesquisa realizada.
INSIGHT. É uma aplicação informática, disponível no mercado, que permite obter as
percentagens ponderadas ou as quantidades aproximadas de cada tipo de argilas na mistura
de forma iterativa e não automatizada (por via experimentos). Esse também permite ao
utilizador observar as características físico-químicas da mistura de forma iterativa, na medida
em que se adiciona ou se retiram as matérias-primas minerais. Essa aplicação informática
6
possui uma base de dados que contem diversos tipos de pasta cerâmica (receitas) e permite
armazenar as novas receitas obtidas no processo de mistura. Este aplicativo foi desenvolvido
pela Digitalfire. [1]
HyperGlaze. Consiste numa aplicação informática que tem como finalidade auxiliar o processo
da formulação das receitas das pastas cerâmicas. As matérias-primas são adicionadas
manualmente até que se obtenha uma pasta cerâmica com as características desejadas pelo
utilizador. Essa aplicação informática está direcionada aos artistas que utilizam materiais
cerâmicos. [2]
Figura 1- interface do aplicativo informático HiperGlaze. [3]
Claymix. É uma aplicação informática com uma interface gráfica intuitiva, capaz de auxiliar no
solucionamento do problema da ponderação do peso de cada tipo de argila na mistura tendo
em conta as propriedades físicas/tecnológicas desejadas no produto final ou na peça cerâmica.
O modelo matemático subjacente ao Claymix tem em conta a proporção mássica das argilas
na mistura, a não negatividade nas variáveis de decisão, o rácio máximo e mínimo entre as
concentrações mássicas e a concentração mássica máxima e mínima. A função objetivo é
constituída por quatro critérios ou subfunções e formula-se com o auxílio do método dos Pesos
Ponderados. A figura 2 ilustra à interface gráfica de uma primeira versão do programa. [4]
7
Figura 2- interface gráfico da aplicação informática Claymix (versão para MATLAB)
8
Figura 3 - interface gráfica de versão mais recente da aplicação informática Claymix (Interrogação de base de dados)
9
Figura 4 - Interface gráfica da versão mais recente da aplicação informática Claymix
10
Restantes aplicações informáticas no mercado. Existem ainda outras aplicações
informáticas no mercado, no qual não se dispõe a informação. Estes são: Glazechem,
Ceramics Today Glaze Database, CeramDat, Glaze Simulator, Glaze Workbook, Materials
Analysis Page, Matrix Glaze Calculation. [5]
2.2. Contributo
A busca de aplicações informáticas que auxiliam na resolução do problema de
formulação de misturas, realizada na seção anterior, mostra que, na sua maioria, as aplicações
informáticas existentes procuram simular o modo como as misturas são realizadas no
laboratório. O processo de formulação de receitas de mistura no laboratório é realizado por via
tentativa e erro. Ou seja, fazem-se tentativas de misturas de argilas ou de matérias-primas
minerais até que se alcance a mistura que assegura os valores desejados das propriedades
físicas/tecnológicas do produto final. Contudo, a aplicação informática que se pretende
desenvolver não tem como finalidade simular a forma como as misturas são realizadas no
laboratório, mas sim, a partir das propriedades físicas/tecnológicas do produto final, obter a
receita da mistura de forma automática. O Claymix é a única aplicação informática encontrada,
na pesquisa realizada, que resolve o problema de misturas de argilas ou de matérias - primas
minerais de forma automática.
A formulação de uma receita consiste em identificar as diferentes matérias-primas
minerais disponíveis incluídas na mistura e as respetivas proporções mássicas (ponderais). O
cálculo automático da formulação da receita é realizado através da resolução de modelo (s)
matemático(s) de otimização, os quais traduzem, com o recurso a variáveis de decisão
contínuas e binárias, as metas a atingir e as restrições a satisfazer. Então, o modelo de
otimização subjacente à aplicação informática desenvolvida nesta dissertação é uma extensão
do modelo matemático associado ao Claymix. Tendo em conta o conjunto de constrangimentos
associado ao Claymix, essa dissertação acresce contributos a partir da introdução de variáveis
inteiras (binárias) que, por sua vez, possibilitam a inclusão de novas restrições, tais como: o
número máximo e mínimo de argilas e/ou de outras matérias-primas minerais na mistura. Isto
implicará um acréscimo de complexidade na formulação e na resolução do problema, assim
como também, o enriquecimento da formulação do modelo de otimização. O carácter
multicritério ligado à definição da função objetivo do problema é aqui aprofundado com a
proposta de abordagens alternativas: Normas ponderadas da diferença , no espaço dos
critérios, dos vetores de valores alcançados e valores desejados e programação de metas com
a conceptualização dos critérios como metas a atingirem.
11
CAPITULO 3 - DESENVOLVIMENTO DA
METODOLOGIA DE APOIO À FORMULAÇÃO
AUTOMÁTICA DAS RECEITAS
O desenvolvimento da metodologia de apoio à formulação automática de misturas
abrange as seguintes etapas:
- Modelação matemática das relações entre propriedades físicas e mecânicas dos
produtos cerâmicos e propriedades químicas e mineralógicas das pastas cerâmicas
(misturas de argilas). É apresentado e utilizado o modelo de regressão inspirado no
sistema de inferência lógica vaga;
- Formulação do problema de mistura de matérias-primas minerais como um modelo de
programação/otimização não linear inteira mista. O modelo de otimização compreende
múltiplos critérios ou objetivos e vários constrangimentos/restrições. Os
constrangimentos traduzem leis de conservação de massa, composição química dos
produtos finais, condições lógicas (números mínimo e máximo de tipos de argilas na
mistura e implicações lógicas várias) e condições de não negatividade e tonelagens
disponíveis;
- Apresentação dos métodos de resolução de problemas do tipo MINLP: apresentam-se
o algoritmo BB (Branch and Bound), como principal, e outros algoritmos alternativos
com o objetivo de proceder a análise comparativa de desempenho.
3.1. Modelação das relações entre varáveis
Nesta secção, é realizado um estudo de estatística descritiva básica sobre o histórico
de dados disponíveis; apresentam-se, de seguida, os conceitos sobre as redes inspiradas nos
sistemas de inferência logica vaga ou difusa; desenvolve-se a metodologia de construção de
uma rede inspirada nos sistemas de inferência lógica vaga; e por fim, a partir do histórico de
dados, de propriedade químicas, mineralógicas e físicas/tecnológicas, constroem-se os
modelos de regressão que têm como finalidade estimar os valores das propriedades
físicas/tecnológicas a partir das propriedades químicas e mineralógicas.
3.1.1. Descrição do registo histórico
O registo histórico (histórico de dados) é um conjunto de dados obtidos em
experiências laboratoriais. O universo de dados utilizados no estudo é constituído por 67
12
amostras caracterizadas pelas propriedades físicas/tecnológicas, químicas e mineralógicas.
Este conjunto de dados encontra-se no anexo 1.
3.1.2. Análise estatística dos dados
A análise estatística é realizada sobre o registo histórico que pode ser visto no anexo 1.
O histórico de dados pode ser dividido em dois grupos de variáveis. E estas são: as variáveis
independentes e as variáveis dependentes.
3.1.2.1. Variáveis independentes
As variáveis explicativas ou independentes (composição química/mineralógica) podem
subdividir-se em dois grupos, sendo o primeiro grupo formado pelas percentagens mássicas ou
ponderais de óxidos de elementos químicos: óxido de alumínio - alumina (Al2O3), óxido de
silício – sílica (SiO2), óxido de ferro (Fe2O3) e óxido de potássio (K2O); e o segundo, pela perda
percentual de massa/peso por ignição (Loss on Ignition - LOI).
3.1.2.2. Variáveis dependentes
As variáveis dependentes expressam as propriedades físicas/tecnológicas da peça
cerâmica final, depois de cozida a uma temperatura de 1185 e arrefecida até à temperatura
ambiente [6]. As variáveis dependentes ou os parâmetros físicos/tecnológicos são:
Absorção – é o indicador que mede a capacidade de um material (pasta cerâmica,
peça cerâmica final) absorver a água ou um dado líquido;
Contração linear – é o indicador que mede a contração do material depois de seco ou
cozido;
L, a e b são parâmetros relacionados com a cor da peça cerâmica. Onde L é o
parâmetro da luminosidade; a e b são parâmetros relacionados com as coordenadas da
cromaticidade do sistema de cores (CIE- International Illumination Commission) que
representa com a maior precisão a sensibilidade do olho humano. [7]
A fim de se ter uma ideia do significado prático destes parâmetros de um espaço de
cor, apresenta-se na figura 5 uma amostra de catálogo de cores em função dos parâmetros L,
a e b.
13
Figura 5 - Amostra de catálogo de cores em função dos parâmetros L, a e b.
3.1.2.3. Estatísticas básicas
Na Tabela 1 apresentam-se os valores de algumas estatísticas básicas, que são: valor
máximo, valor mínimo, média e o desvio padrão de cada variável em estudo. As variáveis L, a,
b, LOI, absorção e contração são adimensionais e estão expressas em %; e as restantes
exprimem concentrações mássicas, também em %.
Tabela 1 – Estatísticas básicas do histórico de dados
L a b Absorção Contração LOI Al2O3 SiO2 Fe2O3 K2O
Média 73,99 3,98 15,03 6,39 4,61 6,69 21,21 63,00 2,33 2,05
Máximo 82,40 10,30 24,70 10,90 9,60 10,30 27,31 88,01 4,55 3,58
Mínimo 46,50 1,60 7,90 1,70 1,40 3,90 9,15 6,62 1,37 0,40
Desvio Padrão 6,64 1,84 3,61 2,44 1,90 1,19 3,55 9,35 0,77 0,68
3.1.2.4. Coeficiente de correlação linear
O coeficiente da correlação linear de Pearson é uma medida de associação linear entre
duas variáveis e que se encontra no intervalo entre -1 a +1. Este toma o valor: -1 quando a
relação é perfeita negativa (quando uma das variáveis cresce a outra decresce e vice-versa); 0
quando não há nenhuma relação; +1 quando a relação é perfeita positiva (ambas as varáveis
crescem ou decrescem simultaneamente).Dado um conjunto de pares de observações das
variáveis e 1, o coeficiente de correlação linear, , é dado pela seguinte fórmula:
1
2 2
1 1
( )( )
( ) ( )
n
i i
i
n n
i i
i i
Y Y g g
r
Y Y g g
(3.1)
Onde e são as médias associadas às variáveis e , respetivamente. é o i-ésimo
par de observação no conjunto de pares de observações, . A medida de 1 Modificou-se a notação tradicional para , isto porque, no capítulo modelo de otimização a
notação é reservada para as variáveis de decisão e para as concentrações mássicas.
14
associação linear entre duas variáveis pode ser classificada, qualitativamente, da seguinte
forma: Se , existência de uma fraca correlação linear; se ,
existência de uma moderada correlação linear; se , existência de uma forte
correlação linear; se , existência de uma correlação linear muito forte. [8]
Mostra-se na Tabela 2, a matriz dos coeficientes da correlação linear, calculados
para todos os pares possíveis de variáveis
Tabela 2 - Matriz dos coeficientes de correlação linear
L A b Absorção Contração LOI Al2O3 SiO2 Fe2O3 K2O
L 1.00 -0.75 -0.27 0.39 -0.13 -0.25 -0.06 0.06 -0.69 -0.21
a -0.75 1.00 0.53 -0.19 0.02 0.01 -0.08 0.05 0.56 0.15
b -0.27 0.53 1.00 -0.44 0.28 0.13 0.19 -0.23 0.22 0.28
Absorção 0.39 -0.19 -0.44 1.00 -0.88 -0.54 -0.70 0.58 -0.20 -0.62
Contração -0.13 0.0220 0.28 -0.88 1.00 0.59 0.76 -0.59 0.05 0.53
LOI -0.25 0.0095 0.13 -0.54 0.59 1.00 0.810 -0.53 0.25 0.54
Al2O3 -0.06 -0.08 0.19 -0.70 0.76 0.81 1.00 -0.66 0.02 0.69
SiO2 0.06 0.05 -0.23 0.58 -0.59 -0.53 -0.66 1.00 -0.07 -0.46
Fe2O3 -0.69 0.56 0.22 -0.20 0.05 0.25 0.02 -0.07 1.00 0.13
K2O -0.21 0.15 0.28 -0.62 0.53 0.54 0.69 -0.46 0.13 1.00
Da análise desta tabela, constata-se que:
As variáveis luminosidade L e cromaticidade a relacionam-se com todas as variáveis
independentes, sendo esta relação forte ( ; ) com o
óxido de ferro e fraca ( ) com as restantes;
A cromaticidade b relaciona-se fracamente ( ) com todas as variáveis
independentes;
A Absorção relaciona-se com todas as variáveis independentes, sendo esta relação
moderada com as variáveis da sílica e LOI; forte com as variáveis de alumina e óxido
de potássio;
A Contração relaciona-se fortemente com a alumina, moderadamente com o óxido de
potássio, sílica, LOI e fracamente com o óxido de ferro.
15
3.1.3. Modelos de regressão inspirados no sistema de inferência lógica
difusa (neuro fuzzy)
As relações entre as propriedades físicas e mecânicas dos produtos cerâmicos finais e
a composição química e mineralógica das pastas cerâmicas (mistura de matérias primas
minerais), são aproximadas, no âmbito deste trabalho, por modelos de regressão não linear
múltipla baseados nos paradigmas das Redes Neuronais Artificiais Multicamadas e da Teoria
de Sistemas de Inferência Lógica Vaga ou Difusa. Estes modelos são correntemente
designados por modelos fuzzy (vagos) ou neuro-fuzzy.
Concretamente, considerar-se-ão variantes de modelo de regressão não linear
múltipla, cuja estrutura pode ser vista como combinações lineares de transformações não
lineares das variáveis explicativas ou independentes ou, alternativamente, como combinações
lineares convexas de modelos de regressão linear múltipla.
As transformações não lineares são definidas por classes de funções com pelo menos
um parâmetro ajustável, conferindo ao modelo de regressão não linear um carácter híbrido. Isto
é, o modelo de regressão proposto é não linear nos parâmetros das funções de transformação
de variáveis e, para valores fixados daqueles, linear nos demais parâmetros. Este carácter
híbrido permite, na etapa de estimação ou ajustamento de parâmetros, decompor o
correspondente problema de otimização (mínimos quadrados não lineares) em dois ou mais
níveis hierárquicos. Num nível hierárquico superior, os parâmetros das transformações não
lineares são ajustados com recurso a algoritmos de otimização não linear. Os valores correntes
destes parâmetros são transmitidos ao nível hierárquico inferior, onde os valores optimais dos
restantes parâmetros são determinados resolvendo um problema de mínimos quadrados linear.
Com base nestes valores optimais, a função critério ou objetivo é avaliada. Os critérios de
convergência são então testados no nível superior, conduzindo ao término ou à atualização dos
valores dos parâmetros não lineares que são de novo transmitidos ao nível inferior, até que
aqueles critérios sejam satisfeitos.
A interpretação, tanto dos valores dos parâmetros como da própria estrutura é feita
fazendo uso de conceitos básicos da Teoria de Sistemas de Inferência Lógica Vaga, como
sejam os conceitos de conjunto vago e função de pertença associada e regras vagas.
O modelo de regressão inspirado nos sistemas de inferência lógica vaga foi
desenvolvido por Jang. A literatura apresenta vários modelos neuro fuzzy, mas os mais
utilizados são os do tipo de Mamdani e Takagi- Sugeno (TS). [9] [10]
As variantes principais consideradas do modelo de regressão são conhecidas por
modelos de Takagi-Sugeno de ordem zero (zero-order Takagi Sugeno Inference System) e de
primeira ordem (first-order Takagi Sugeno Inference System). A variante de ordem zero é
estrutural e funcionalmente equivalente a variante de Redes Neuronais Artificiais com funções
básicas radiais (Radial Basis Function Network- RBFN). Como a variante de ordem zero pode
16
ser vista como um caso particular da variante de primeira ordem, todos as referências
subsequentes cingir-se-ão à variante de primeira ordem como a principal e o de ordem zero,
secundário ou alternativo.
3.1.3.1. Modelos de Takagi-Sugeno de primeira ordem e de ordem zero
A seleção da classe de modelos de regressão não linear é o primeiro passo para, com
base num conjunto de valores observados das variáveis, descrever ou aproximar a relação
desconhecida entre um conjunto de variáveis ditas explicativas ou independentes, elementos
de um vetor , e a correspondente variável resposta ou variável dependente, .
Dado um conjunto de pares de valores observados ou medidos das variáveis
explicativas-respostas , a dependência de de é aproximada por f(g)
com a estrutura geral seguinte:
1
1
| |
|
r
r
N
j j j
j
N
j
j
j
j
g f g
f g
g
w
w
(3.2)
com em geral muito menor que .
Na expressão (3.2), |j jw g , , são funções não lineares de e do
conjunto de parâmetros ajustáveis j .
As funções |j jf g , , são combinações lineares dos elementos
do vetor com coeficientes ajustáveis elementos do vetor j ; essa função é variável nos
modelos de primeira ordem e constante, nos de ordem zero. As funções básicas
|j jw g , são usualmente definidas como:
| | ; 1, 2,..,kN
j
j k k j r
k
j g ww g j N (3.3)
No contexto dos sistemas de inferência lógica vaga, o valor previsto da variável
dependente, para valores dados das variáveis independentes, é interpretado como o resultado
de processo de inferência baseado num conjunto de proposições condicionais designadas por
regras ou implicações vagas.
Com o auxílio de uma rede simples e bem definida, representada na Figura 6, explica-
se o funcionamento do modelo de regressão inspirado no modelo de Takagi-Sugeno de
primeira ordem. Onde: kg é a k-ésima coordenada ( 1,2k ) de uma observação. O número
17
de regras é igual a 2. são rótulos linguísticos associados à primeira coordenada e
definidos cada por um conjunto vago, e os conjuntos vagos são subconjuntos do conjunto
universal. são rótulos linguísticos associados à segunda coordenada e definem-se
como os da primeira coordenada é a função linear que ocorre como consequência
de acontecimentos simultâneos dos rótulos e (primeira regra). é a função linear
que ocorre como consequência de acontecimentos simultâneos dos rótulos e (segunda
regra). A rede adaptativa possui cinco camadas. representa o grau de ativação de uma regra
associado a uma corrdenada e o resultado do modelo de previsão.
A1
A2
B1
B2
N
N
g1
g2
g1 g2
g1 g2
1w
2w
1w
2w
1 1w f
2 2w f
f
Camada 1
Camada 2 Camada 3
Camada 4
Camada 5
1w
2w
Figura 6- Representação esquemática do modelo de regressão como uma rede neuronal, adaptada de
[10]
Primeira camada. A primeira camada recebe uma observação e calcula o grau de
pertença das suas coordenadas em cada um dos subconjuntos do conjunto universal.
A primeira coordenada pode pertencer aos dois conjuntos vagos ‘ ’ e ‘ ’,mas com
diferentes ou iguais graus de pertença. De igual modo, se interpretam os termos ‘ ’ e
‘ ’ relacionados com a segunda coordenada. O grau de pertença, µ, de uma
coordenada ao j-ésimo conjunto vago é calculado da seguinte forma:
2
1 , 1,2,.., , 1,2( )
2
k
k
j
j
j
g cexp kg j Nµ
(3.4)
Onde é o desvio padrão (parâmetro que explica a dispersão dos valores) associado
ao j-ésimo conjunto vago e , o centro. é o número de subconjuntos do conjunto
universal ou de conjuntos vagos.
Segunda camada. Nesta camada, recebe-se o resultado proveniente da primeira
camada, que consiste nos graus de pertença de cada coordenada aos conjuntos
vagos, e calcula-se o grau de ativação de cada uma das regras. O grau de
ativação de uma regra associada a uma coordena em um dado subconjunto é
18
calculado pela multiplicação dos graus de pertença das coordenadas associadas a este
subconjunto.
1
| , ( ), 1 , 2,.., k
j k j
n
j j
k
w g c g jµ N
(3.5)
Terceira camada. Esta camada recebe os graus de ativação de uma regra associada
a uma observação e normaliza-os. O cálculo da normalização é realizado da seguinte
forma:
1 2
1 22 2
1 1
( ) ( )
j j
j j
w ww g w g
w w
(3.6)
Onde ( ) é o grau de ativação normalizado.
Quarta camada. Os nós na quarta camada recebem os graus de ativação de cada
regra, proveniente da terceira camada, e a observação. Estes têm como função
calcular o valor da previsão em cada conjunto vago com base na observação, a partir
das funções consequências e , e associá-los ao grau de ativação da regra do
mesmo conjunto vago.
j j jo w f (3.7)
Quinta camada. A quinta camada consiste em uma unidade processual somatório que
faz a soma de todos os resultados obtidos na quarta camada, . Este tem como
resultado o valor do modelo de previsão . [11]
1
g g| ;cj
j
N
j
j
gf f w
(3.8)
3.1.4. Ajustamento dos Parâmetros no Modelo Takagi-Sugeno da
primeira ordem e de ordem zero
No exercício do ajustamento dos parâmetros no modelo de Takagi-Sugeno de primeira
ordem é necessário primeiro preparar os conjuntos de dados, que serão utilizados na
construção e no teste do próprio modelo de regressão; e, só então, em seguida fazer o
ajustamento dos parâmetros no mesmo. O ajustamento dos parâmetros é feito em duas fases.
Na primeira fase procede-se a inicialização dos parâmetros no modelo de regressão e na
segunda, a otimização dos valores desses parâmetros.
19
3.1.4.1.Preparação dos dados
Numa primeira etapa, na construção dos modelos de regressão é necessário dividir os
dados em dois ou mais grupos, os de treino e os de teste. Os dados de treino são aqueles
utilizados na construção do modelo de regressão. Já os dados de teste são utilizados no
cálculo do coeficiente de correlação, na validação do modelo de regressão ou no calculo do
ponto em que se da o overfitting.
No entanto, surge a necessidade de saber se esse conjunto de dados teste é
apropriado. Deste modo, procura-se ter mais conjuntos de dados teste, e entre esses
selecionar apenas um. Segundo [12], dado um modelo de regressão, escolhe-se o conjunto de
dados teste que apresenta o menor valor do erro de previsão associado ao mesmo conjunto. A
escolha dos dados teste para uma certa variável é independente das restantes variáveis.
A análise da preparação de dados é feita para todas as variáveis dependentes, ou seja,
para cada uma das propriedades físicas /tecnológicas.
3.1.4.2. Inicialização dos parâmetros de modelo difuso (fuzzy) de ordem zero e de
primeira ordem de Takagi-Sugeno
Na inicialização dos parâmetros é utilizado o algoritmo de classificação não hierárquica
e não supervisionada denominada Substrative clustering. Segundo [13] e [14], esse algoritmo
foi desenvolvido por Chiu e é geralmente utilizado no processo de partição de dados. Cada
subconjunto obtido a partir desse algoritmo representa um comportamento específico do
sistema ou do conjunto universal e está associado a um centro ( ) e um desvio padrão ( ).
Esse comportamento característico quando modelado matematicamente origina a função
consequência associada a um dado subconjunto.
Descrição do algoritmo
O algoritmo Subtractive Clustering associa a todos os pontos no espaço um certo
potencial, e quanto maior for o potencial associado a um dado ponto, maior é a probabilidade
deste ponto em tornar-se o centro. O primeiro centro consiste no ponto que tiver o maior
potencial. Os restantes centros são calculados a partir do primeiro. O algoritmo termina quando
forem satisfeitos os critérios de paragem ou convergência.
Seja a j-ésima observação de um conjunto constituído por observações e
composta por kg coordenadas, 1,2,..., kk n , então o potencial associado a essa é calculada da
seguinte forma.
[
∑ (
)
] (3.9)
20
Onde: j-ésima observação candidata ao centro; i-ésima observação, ; é o
desvio padrão ou o raio do subconjunto; é o potencial associado à j-ésima observação.
Uma observação com muitas amostras vizinhas tem um potencial mais elevado do que
uma outra isolada. As amostras que se afastam para além do valor do raio de um centro têm
pouca influência no valor do potencial dessa amostra.
Depois de calculado o potencial associado a todas as observações, escolhe-se aquela
com o maior potencial como sendo o primeiro centro ( ) e passa a ser o primeiro elemento
no conjunto dos centros. No conjunto de dados, retira-se a observação associada ao centro
previamente encontrado e atualizam-se os restantes potenciais a partir da seguinte fórmula.
[(
)
‖ ‖ ] (3.10)
Onde:
Fator de esmagamento; geralmente é igual a 1.5; diferença entre dois centros; j-
ésimo potencial (potencial associado ao ultimo centro calculado); j-ésimo centro (ultimo
centro calculado); i-ésima observação; I-ésimo potencial atualizado.
Após a atualização de todos os restantes potenciais, seleciona-se a observação com o
maior potencial, , como sendo o candidato ao próximo centro e testam-se os seguintes
critérios de aceitação.
Primeiro critério: o rácio entre o valor do potencial associado à observação candidata e
o potencial do primeiro subconjunto deve ser superior ao raio de aceitação.
(3.11)
Segundo critério: caso o valor do potencial esteja entre o raio de rejeição e o raio de
aceitação (o raio de rejeição é menor que o raio de aceitação) ambos multiplicados do
valor do potencial do primeiro centro, então tem-se em conta a magnitude do potencial
e a diferença da observação candidata ao centro em relação a todos os centros
calculados previamente.
**
**
1 1
1
1mim i
i
a
d Praioderejeição P P raiodeaceitação P
r P (3.12)
Onde é a diferença mínima entre a observação candidata a centro e os restantes
centros previamente calculados; é o potencial associado ao primeiro centro; é o
potencial associado a observação selecionado anteriormente como candidato ao
próximo centro; raio de aceitação e rejeição são constantes que multiplicados pelo
valor do potencial associado ao primeiro centro proporcionam o limite inferior dos
potenciais a serem definidos como centro.
21
Caso satisfeito um dos critérios acima, a observação candidata passa a pertencer ao
conjunto dos centros e é retirada do conjunto das observações. Em seguida atualizam-se os
restantes potenciais; seleciona-se novamente um candidato e testa-se o critério de aceitação.
Em caso de não satisfação do critério de aceitação a observação é rejeitada como centro e o
seu potencial é reduzido a zero. A seguir, seleciona-se a observação com o maior potencial e
aplica-se o mesmo teste. O algoritmo termina quando o rácio entre o potencial associado a
observação candidata e o potencial associado ao primeiro centro for menor que o raio de
aceitação.
(3.13)
Segunda fase – Backpropagation e algoritmo hibrido
Depois de obtidos os valores iniciais dos parâmetros na primeira fase, o centro e o
raio (ra), passa-se para a segunda fase. Nessa fase são determinados os valores optimais
associados aos parâmetros calculados na primeira fase.
Backpropagation
O algoritmo Backpropagation é utilizado no problema de ajustamento dos parâmetros
nas redes neuronais, modelos de regressão inspirados na lógica vaga etc. Esse, em primeiro
lugar, calcula as derivadas parciais da função objetivo em ordem aos parâmetros na rede (de
modo a encontrar a direção de maior decréscimo), e em seguida atualiza os parâmetros com
base na nova direção encontrada. No âmbito desta dissertação, esse não é aprofundado, mas
sim aplicado. Esse algoritmo encontra-se explicado nas referências [15] e [10]. No âmbito desta
dissertação, o Backpropagation (Hibrido) é utilizado na otimização de modelos de regressão de
primeira ordem (ordem zero).
Algoritmo hibrido
O algoritmo hibrido é uma combinação entre a metodologia dos mínimos quadrados e o
Backpropagation. No âmbito desta dissertação, que é aplicada na construção dos modelos de
Takagi-Sugeno de ordem zero. Esse algoritmo encontra-se explicado na referência [15].
Critério de convergência
Na utilização do algoritmo Backpropagation ou hybrido é necessário definir o critério de
convergência. O processo de otimização dos parâmetros na rede é feito com base na
minimização do erro associado aos dados de treino. Contudo, é possível analisar o
comportamento do erro associado aos dados de teste na medida em que ocorre a otimização
dos parâmetros na rede. A partir do comportamento do erro associado aos dados de treino é
possível escolher o número de iterações que corresponde ao erro mínimo, mas este ponto não
deve ser superior ao número máximo de iterações. Sendo assim, é necessário determinar o
máximo número de iterações. O número máximo de iterações corresponde ao ponto
22
antecedente ao ponto em que se dá o overfitting2. Logo, o número de iterações escolhido, e
que correspondente ao erro mínimo, deve ser sempre menor ou igual que o numero máximo de
iterações. Desta forma, são definidos os seguintes critérios de convergência: o algoritmo
converge quando se alcança o erro mínimo ou quando o número de iterações é igual a 10000.
Segundo [12], o modo como se desenvolvem os modelos de regressão garante desde
já a validação dos meemos, à medida que são desenvolvidos.
3.1.5. Síntese do exercício da construção dos modelos de regressão
Takagi-Sugeno de primeira ordem ou de ordem zero
Nesta secção desenvolvem-se os modelos de regressão inspirados em neuro fuzzy. No
desenvolvimento de um modelo de regressão é necessário primeiro selecionar um bom
conjunto de dados de treino. Na seleção de um conjunto de dados de treino é necessário que
todos os parâmetros associados ao algoritmo substrative clustering estejam definidos. Todavia,
desconhece-se ainda o valor associado ao parâmetro .
3.1.5.1. Seleção do parâmetro
O parâmetro é estimado de modo a que se obtenha um número de regras igual a 3.
Caso contrário, procede-se que um número de regras igual a 4 corresponde a um número de
parâmetros na rede igual a 68, e esse número de parâmetros na rede não é admissível, isto
porque é superior ao número de observações (57) utilizado na construção dos modelos
regressão. Por outro lado, as redes construídas com o número de regras igual a 2 possuem
uma capacidade explicativa menor ou igual que a das redes com o número de regra igual a 3.
Deste modo, estimam-se os valores associados ao parâmetro ,que correspondem ao
número de regras igual a 3 para cada variável dependente, na medida em que se constroem os
modelos de regressão.
3.1.5.2. Seleção do grupo de dados de teste associado a cada variável dependente
Depois de encontrado o modo de estimar o parâmetro , que melhor se ajusta a cada
variável, então já é possível definir o conjunto de dados de teste e de treino para essas
mesmas variáveis. Para cada variável dependente é feita o seguinte: dado o número escasso
de observações, 67, a divisão dos dados é feita da seguinte forma. Reagrupam-se os dados de
forma aleatória e dividem-se os dados em 2 grupos. O primeiro possui 10 observações; e o
restante,57 observações;
2Segundo [12], overfitting no processo de otimização ocorre quando o erro associado aos
dados do conjunto de treino decresce e o erro associado aos dados do conjunto de teste cresce.
23
3.1.5.3.Concretização dos modelos de regressão e qualidade de ajustamento
A partir dos dados de treino e de teste escolhidos na secção anterior, são construídos
os modelos de regressão de primeira ordem utilizados na modelação do comportamento das
propriedades físicas/tecnologias das peças cerâmicas. Porém, reparou-se que na extrapolação,
há situações em que os valores dos parâmetros físicos /tecnológicos encontram-se fora dos
limites máximos e mínimos, apresentados nas estatísticas básicas. Por exemplo, o modelo de
regressão de Takagi-Sugeno de primeira ordem da variável L apresenta valores negativos, na
extrapolação de algumas observações. O que não é admissível para este parâmetro (verificar
no anexo 2).
Sendo assim, utiliza-se o modelo de Takagi-Sugeno de ordem zero na construção dos
modelos de regressão. Esse modelo possui uma característica especial: o valor extrapolado de
uma dada variável resposta nunca ultrapassa os limites, em geral.
A informação acerca do parâmetro ra e do número de iterações que se encontra na
Tabela 3, serve para o modelo de ordem zero.
Tabela 3- erros dos dados de teste associado a cada variável, para cada grupo
Iteração
L 0,6 22
a 0,6 55
b 0,7 80
Aabsor 0,7 25
Cont 0,8 5
Na Tabela 4, sintetiza-se a informação acerca dos modelos de regressão de Takagi-
Sugeno de ordem zero, que consiste na qualidade do ajustamento de cada modelo de
regressão, número de observações utilizado na construção do modelo de regressão, número
de parâmetros na rede, e as respetivas variáveis. Para medir a qualidade do ajuste utiliza-se o
coeficiente de determinação VAF (Variance Accounted For).
Tabela 4- modelos de regressão associado a cada uma das propriedades físicas/tecnológicas
Variáveis R2 R Regras Nº observações Nº parâmetros na rede
L 0,24 0,49 3 57 48
a 0,35 0,59 3 57 48
b 0,029 0,17 3 57 48
Absor 0,74 0,86 3 57 48
Cont 0,7 0,84 3 57 48
24
3.2. Modelo de otimização
Nesta secção é apresentado o modelo de otimização, as diferentes abordagens na
construção da função objetivo e o conjunto de constrangimentos associado ao problema de
mistura de argilas, em particular, ou de matérias primas-minerais, em geral.
3.2.1. Formulação dos modelos de otimização
O problema da mistura de argilas é definido como um problema de programação
matemática que consiste em encontrar as proporções mássicas , , dos tipos
de argilas na mistura de modo a se obter uma pasta cerâmica que, depois de cozida, garanta
um produto final com as propriedades físicas/tecnológicas definidas. A formulação do problema
contempla os passos habituais de identificação de parâmetros/constantes do problema, de
definição das variáveis de decisão ou otimização, de formulação da função objetivo e de
tradução algébrica das restrições ou constrangimentos.
3.2.1.1.Parâmetros
número de tipos/depósitos de matérias-primas minerais (minérios) disponíveis;
número de componentes químicos e/ou mineralógicos que caracterizam a composição de
cada tipo de depósito
número de razões (rácios) de concentrações mássicas
número de propriedades físicas/tecnológicas do produto final
concentração mássica da componente química/mineralógica j no depósito de matéria prima
mineral i ( , ).
quantidade de matéria- prima mineral do tipo/depósito i ( )
concentração mássica máxima da componente química/mineralógica j, , na
mistura
concentração mássica mínima da componente química/mineralógica j, , na
mistura
razão (rácio) de concentrações mássicas/mineralógicas s e t na mistura ( ;, );
limite superior da razão (rácio) de concentrações mássicas s e t na mistura ( ; );
limite inferior da razão (rácio) de concentrações mássicas s e t na mistura ( ;
, );
e são subconjuntos do conjunto
25
concentração mínima de matéria-prima mineral de um tipo/deposito na mistura;
concentração máxima de matéria prima mineral de um tipo/deposito na mistura;
quantidade requerida de mistura (lote encomendado);
número mínimo de matérias-primas minerais de diferentes tipos na mistura;
número máximo de matérias-primas minerais de diferentes tipos na mistura;
valor da propriedade física/tecnológica do produto de mistura como função da
composição do produto da mistura , .
valor desejado (nível de aspiração/metas) da propriedade física/tecnológica do produto de
mistura como função da composição do produto da mistura, .
3.2.1.2.Variáveis de decisão ou otimização
percentagem mássica de argila na mistura , (i = 1, 2, …, nc);
variável inteira binária que toma o valor igual a 1, se a argila i pertencer(integrar a) à
mistura, e 0 no caso contrario (i = 1, 2, …, nc).
3.2.1.3. Função objetivo
O cálculo das quantidades ou percentagens de matérias-primas na mistura é feito com
base na minimização da diferença entre o valor da propriedade física/tecnológica previsto pelo
modelo de regressão e o valor desejado. Ou seja, quando a propriedade física/ tecnológica
prevista pelo modelo regressão for igual (aceitável) ao valor desejável, então as percentagens
de matérias-primas na mistura, que servem de dados de entrada nos modelos de regressão
para prever as propriedades físicas/tecnológicas, são iguais para ambos os vetores.
Esta minimização pode ser feita elementarmente, ou seja, ponto a ponto, ou ainda a
partir da minimização de diferença s entre dois vetores.
3.2.1.3.1. Otimização Vetorial (Minimização elementar)
O problema de otimização vetorial, ou otimização segundo múltiplos objetivos
(otimização multiobjectivos), envolve um vetor de nf funções critério a minimizar e/ou
maximizar, e pode ser posto sucintamente como:
min. ; 1,2,...,, , , ,flf nl S x y x y (3.14)
com S o conjunto das soluções admissíveis ou possíveis. O caso de maximização é
convertido no caso equivalente de minimização max. , min. ,l lf f x y x y
26
É claro que, em geral, não existe solução admissível (x, y) que otimize (minimize) todos
os critérios simultaneamente, pelo que se torna necessário reinterpretar a noção de otimização,
introduzindo o conceito de solução optimal à Pareto como sinónimo de solução eficiente [16].
Uma solução admissível (x, y) diz-se eficiente se o correspondente vetor f dos valores dos
critérios 1 2, , , ,..., ,fnf f f
x y x y x y não é dominado pelo vetor dos valores dos critérios de
qualquer outra solução do conjunto das soluções admissíveis ou possíveis.
O vetor ,Zf com Z espaço dos vetores de valores dos critérios ou espaço dos
critérios, diz-se não dominado se e só se não existe nenhum outro vetor Zf tal que f f
e f f .
Segundo a teoria da otimização multiobjectivos [16], uma solução eficiente pode ser
obtida como a solução de um problema de otimização monocritério, cuja função objetivo é a
soma ponderada dos critérios. Os ponderadores são não negativos com soma igual a 1.
Método da Programação de Metas. Neste método, cada objetivo ou critério é conceptualizado
como uma meta. Sendo a l-ésima função objetivo e o valor desejado (nível de
aspiração) para a meta, os três tipos de metas considerados podem ser convertidos em
restrições soft.
Valor mínimo ou a meta mínima.
0, ; 1,2,..,l l ff f l n x y (3.15)
Valor máximo ou a meta máxima.
0, ; 1,2,..,l l ff f l n x y (3.16)
Objetivo igual a meta.
0, ; 1,2,..,l l ff f l n x y (3.17)
A escolha do tipo de constrangimento (meta) a utilizar fica ao critério do utilizador.
Estes constrangimentos são relaxados, tornados soft, mediante a adição e/ou subtração de
variáveis de desvios indesejáveis não negativas (para desvios para além do nível desejado)
e (para desvios aquém do nível desejado), às equações (3.15) a (3-17).
27
.
0
0
0
, ; 0, 0, 1, 2,..,
, ; 0, 0, 1, 2,..,
, ; , 0, 1, 2,..,
l l l l f
l l l l f
l l l l f
f d f d d l n
f d f d d l n
f d d f d d l n
x y
x y
x y
(3.18)
E a função objetivo consiste em minimizar a soma dos desvios indesejáveis associados às
restrições tornadas soft
1
min. ( , , ) = fn
l l l
l
F d d
x y d
Onde é a penalização associada ao desvio de cada meta.
3.2.1.3.2.Minimização de norma de diferença de vetores (diferença)
Nesta abordagem, minimiza-se a diferença entre o vetor dos valores das propriedades
físicas/tecnológicas previstas pelo modelo de regressão, , e o vetor dos valores
desejados, . A diferença entre os dois vetores, em álgebra linear, pode ser vista como o erro
absoluto e pode ser calculada a partir da diferença entre os mesmos vetores, relativamente a
uma certa norma. Existem várias normas, mas no âmbito desta dissertação cinge-se às mais
comuns: norma infinita ‖ ‖ , norma soma ou norma 1 ‖ ‖ e a norma euclidiana ou norma 2
‖ ‖ . [17]
A norma infinita é definida como a da diferença máxima entre os pontos dos vetores
incumbentes. Neste caso, sendo o problema de minimização, então tem-se a seguinte
expressão matemática associado a função objetivo:
00mim. ( ) min max ( ) ; 1,2,...,l l ffF P x P l nx f
(3.19)
Como a função módulo é não diferenciável na origem, então aplica-se a seguinte
transformação/reformulação equivalente.
, , min.
sujeita a:
, ; 1, 2... ,
, ; 1, 2... ,
x y z
l f
l f
z
F z l n
F z l n
x y
x y
A norma soma de um vetor, que é resultante da diferença entre outros dois, é calculada
a partir das somas das suas componentes.
∑| |
(3.20)
Como a função módulo é não diferenciável na origem, procede-se a reformulação equivalente
contínua, segundo [18].
28
,1
min.
sujeita a:
, ; 1, 2,...,
, ; 1, 2,...,
fn
l l
l
l l f
l l f
z
F z l n
F z l n
x y, z
x y
x y
onde é um fator de normalização ou escalamento de cada variável dependente.
A norma euclidiana de um vetor, resultante da diferença entre dois vetores, pode ser
calculada a partir da seguinte fórmula:
‖ ‖ [∑
]
(3.21)
Dado que o argumento que minimiza a norma 2 é o mesmo que minimiza o quadrado da norma
2, então tem-se:
2
0 2
1
min. ( ) ( ( ) )fn
o
l l l l
l
F P x P f x f
(3.22)
onde é um fator de normalização ou escalamento de cada variável dependente. [17]
.A normalização é feita devido ao facto das variáveis se encontrarem em escalas
diferentes. O fator de normalização associado a um dado parâmetro físico/tecnológico é
calculado a partir da seguinte fórmula:
[∑
]
Onde é a amplitude do intervalo de valores associado ao l-ésimo parâmetro. [18]
Dada a complexidade das funções objetivo aqui estudadas assume-se que essas são
convexas.
3.2.1.4.Constrangimentos
Na modelação matemática do problema da mistura repara-se que existem dois tipos de
constrangimentos, os estabelecidos pelo sistema/mistura e os propostos pelo utilizador. Os
constrangimentos impostos pelo utilizador consistem em um conjunto de regulamentações que
o processo de mistura deve possuir, no seu ponto de vista, com a finalidade de alcançar um
determinado objetivo (pasta cerâmica com as características desejadas). Já o conjunto de
constrangimentos do sistema é definido pelas características das argilas pretendidas na
mistura, ou seja, esse conjunto de constrangimento pode ser visto também como o espaço das
soluções.
29
É possível controlar, parcialmente, os parâmetros químicos e mineralógicos na
mistura. Este controlo é feito através do controlo dos limites estabelecidos pelo sistema, ou
seja, tenta-se comprimir ou expandir o espaço das soluções fazendo variar os limites
estabelecidos pelo sistema. E isto permite que um constrangimento do sistema se transforme
num constrangimento estabelecido pelo utilizador.
Na modelação matemática do problema de mistura de matérias-primas, propõe-se os
seguintes constrangimentos:
Composição química. É necessário que a composição química de uma determinada mistura
esteja dentro de um intervalo admissível. Dada a concentração mássica máxima e mínima do
componente químicos, ,
, respetivamente, então dá-se o seguinte:
Limite inferior
1
; 1, 2.. c
j
i
l
n
i ij ex g g j n
(3.23)
Limite superior
1
; 1,2.. c
u
j
n
i ij
i
ex g jg n
(3.24)
Razão (Rácio) de teores. Existem situações em que é desejável controlar o rácio em teor dos
minerais na mistura, ou seja, assegurar que esta esteja dentro de um intervalo admissível.
Dada a definição do rácio de teores.
∑
∑
(3.25)
Então, obtêm-se os seguintes limites:
Limite inferior. A mistura das argilas deve possuir um rácio em teor maior que um determinado
,desse modo obtém-se o seguinte:
1
1
, , ;
c
c
n
is imiin i
N Dn
i
s
t ii
t
g xr s J t J
g x
(3.26)
Aplicando-se algumas operações algébricas na equação (3.26) é obtida a seguinte expressão.
min
1
( ) 0 ; , cn
i is st it N D
i
x g r g s J t J
(3.27)
Limite superior. A mistura das argilas deve possuir um rácio em teor menor que um
determinado , deste modo obtém-se o seguinte:
30
1
1
; ,
c
c
n
is imax i
st n
it i
D
i
N
g xr s J t J
g x
(3.28)
Aplicando-se algumas operações algébricas na equação (3.28) é obtida a seguinte expressão.
max
1
( ) 0 ; , c
N
n
i is st it
i
Dx g r g s J k t J k
(3.29)
Não negatividade. As proporções mássicas das matérias-primas minerais são variáveis de
decisão contínuas e não negativas.
0 ; 1,2,..,i cx i n (3.30)
Proporções mássicas. O princípio da conservação da massa total e por componente químico
impõe que o somatório das proporções mássicas deve ser igual a 1 (100%) que se exprime
algebricamente pela restrição em igualdade seguinte:
1
1cn
i
i
x
(3.31)
Número de matérias-primas na mistura. Quando se fala do número de matérias-primas
minerais na mistura, fala-se dos diferentes tipos de matéria-prima mineral na mistura. Há casos
em que o utilizador deseja fixar o número de argilas na mistura. Mas, ao fixar a quantidade de
argilas na mistura, perde-se um leque de soluções alternativas. Deste modo, tendo em conta o
leque de soluções que podem ser alcançadas a partir de diferentes tipos de argilas na mistura,
propõe-se um intervalo de valores para o número de argilas na mistura. Sendo a i-ésima
variável inteira binária que toma o valor 1 caso a argila pertença ao conjunto das argilas na
mistura e 0 no caso contrario, o constrangimento associado ao número de argilas na mistura
pode ser expresso da seguinte forma:
1
c
mim max
n
c i c
i
n y n
(3.32)
Proporções mássicas mínimas e máximas de cada tipo de matéria-prima mineral na
mistura. Sendo a proporção mássica máxima (mínima) da argila i na mistura, então
pode escreve-se o seguinte:
; 1,2.. i i i cx iy m y M n (3.33)
Disponibilidade de matérias-primas minerais no inventário3. Na preparação de uma dada
receita ou fórmula, é necessário verificar se existe matéria-prima em quantidade desejada.
Dado ,a quantidade de argila i disponível na base de dados e , é o somatório de argilas na
mistura ou a quantidade total de matérias-primas encomendada.
3 Tendo em conta que já existe uma limitação na quantidade máxima de argila na mistura,
então é necessário assegurar que este máximo nunca é superior à quantidade disponível.
31
1
; 1,2,..., ; cn
i
i c i L
iL
Qx i n Q Q
Q
(3.34)
3.2.1.5. Síntese das variantes do modelo de otimização
0
0
0
(Modelo Arquimediano)
1. Objectivos conceptualizados como de 3 tipos diferentes:
) , , 0 0 ,
) , , 0 0 , 1, 2,...,
c) ,
l l l l l
l l l l k f
l l l l
metas
a f d f d d
b f d f d d l n
f d d f
Programação de Metas
x y
x y
x y , , 0.
2. Afectação de / às variáveis de desvio (medidas da realização das metas)
3. Minimização da soma penalizada/ponderada das variáveis de desvio para encontrar soluções
l l
k
d d
penalizações pesos w
1
0
0
0
que melhor satisfaçam as metas
min. ( , , ) =
sujeita a:
, , 0 0 ,
, , 0 0 , , 1,
, , , 0
fn
l l l
l
l l l l l
l l l l l
l l l l l l
F d d
f d f d d
f d f d d l
f d d f d d
x y d
x y
x y
x y
,
1
,
1
, , ,
1
,
2,...,
, 1, 2,...,
, 1, 2,...,
0, , ,
c
c
c
nu
i j i j e
i
nl
i j i j e
i
nu
i s s t i t i N D t N D
i
i s
nf
g x g j n
g x g j n
g r g x s J t J n J J
g
, ,
1
max
1
0, , ,
0, 1, 2,...,
0, 1, 2,...,
,
c
c
nu
s t i t i N D t N D
i
i i c
i i c
n
i c
i
r g x s J t J n J J
x My i n
x my i n
y n
max max
min min max min
1
, 1
, 2 , 1
0 min ,1
c
c c c
n
i c c c c
i
i
i
L
n n M n
y n n n m n
Qx
Q
1
1
, 1, 2,...,
0,1 , 1, 2,..., , 1c
cn
c i L
n
i
i
i
i c
i n Q Q
y i n x
Figura 7- Modelo de otimização: Formulação de Programação de Metas
32
Abordagem Norma infinita (L∞) de vetor diferença :
, ,
0
min. , ,
sujeita a:
, ; 1,2... , ; , ,
, ; 1,2... , ;
x y z
l l l l l
l l
F z z
F z l n F f f
F z l n
x y
x y x y x y
x y
0
,
1
,
1
, , ,
1
, ,
, 1,2,...,
, 1,2,...,
0, , ,
c
c
c
l l l
nu
i j i j e
i
nl
i j i j e
i
nu
i s s t i t i N D
i
F f f
g x g j n
g x g j n
g r g x s J t J
x y x y
, , ,
1
0, , ,
0, 1,2,...,
0, 1,2,...,
c
t N D
nl
i s s t i t i N D t N D
i
i i c
i i c
n J J
g r g x s J t J n J J
x My i n
x my i n
max max max
1
min min max min
1
, , 1
, 2 , 1
c
c
n
i c c c c
i
n
i c c c c
i
y n n n M n
y n n n m n
1
1
0 min , 1 ; 1,2,..., ;
0,1 , 1,2,... , , 1c
cn
ii c i
n
L
ic
i
L
i
i
Qx i n Q
x
y i n
Figura 8- Modelo de otimização: Formulação Norma infinita (L∞)
33
Abordagem Norma euclidiana (L2) de vetor diferença :
,
1
,
1
, , ,
1
20
1
sujeita a:
, 1,2,...,
, 1,2,...,
min. , (
0,
)f
c
c
c
n
nu
i j i j e
i
nl
i j i j e
i
n
l
u
i s s t
i
l l
l
i t i
g x g j n
g x g j
f
n
g r x
F
g
f
x y x
, , ,
1
, ,
0, , ,
0, 1,2,...,
0,
c
N D t N D
nl
i s s t i t i N D t N D
i
i i c
i i
s J t J n J J
g r g x s J t J n J J
x My i n
x my i
max max max
1
min mi
1
1,2,...,
, , 1
, 2
c
c
c
n
i c c c c
i
n
i c c
i
n
y n n n M n
y n n
n m i
1
1
ax m n, 1
0 min , 1 ; 1,2,..., ;
0,1 , 1,2,..., , 1
c
c
c c
n
ii c i
i
L
i
i i
L
n
c
n m n
Qx i n Q Q
y i n x
Q
Figura 9-Modelo de otimização: Formulação Norma Euclidiana (L2)
34
Abordagem Norma soma (L1) de vetor diferença :
,1
0
min. , ,
sujeita a:
, ; 1,2,..., ; , ,
, ; 1,2,..., ;
fn
l l
l
l l f l l l
l l f
F z
F z l n F f f
F z l n
x y, z
x y z
x y x y x y
x y
0
,
1
,
1
, , ,
1
, ,
, 1,2,...,
, 1,2,...,
0, , ,
c
c
c
l l l
nu
i j i j e
i
nl
i j i j e
i
nu
i s s t i t i N D
i
F f f
g x g j n
g x g j n
g r g x s J t J
x y x y
, , ,
1
0, , ,
0, 1,2,...,
0, 1,2,...,
c
t N D
nl
i s s t i t i N D t N D
i
i i c
i i c
n J J
g r g x s J t J n J J
x My i n
x my i n
max max max
1
min min max
1
, , 1
, 2 ,
c
c
n
i c c c c
i
n
i c c c
i
y n n n M n
y n n n m n
1
min
1
1
0 min , 1 ; 1,2,..., ;
0,1 , 1,2,..., , 1c
c
c
n
ii c i L
i
i
L
i
n
ic
Qx i n Q Q
Q
y i n x
Figura 10- Modelo de otimização: Formulação Norma soma (L1)
35
3.3. Técnicas de resolução de problemas de Otimização Não
Linear Mista (Mixed-Integer Non Linear Programming – MINLP)
Qualquer dos problemas de otimização formulados são problemas de
Programação/Otimização Não Linear Mista.
O conjunto das restrições define um conjunto convexo. Quando a função objetivo é uma
função convexa restringida a um conjunto convexo, o problema de otimização diz-se convexo.
Cabe, no âmbito desta dissertação, uma apresentação muito resumida da metodologia
proposta para resolver este problema, que consiste no algoritmo básico Branch & Bound (BB).
mas, para comparar o desempenho desse algoritmo utilizam-se alguns algoritmos alternativos
disponíveis no pacote (packge) Bonmin
O pacote ou package Bonmin (Basic Open-source Nonlinear Mixed INteger
programming) [32] consiste de código fonte em C++ para a resolução de problemas gerais de
Programação Não Linear Inteira Mista (MINLP-Mixed Integer NonLinear Programming) da
forma:
min. ( )
sujeita a :
( )
,
, .
l u
l u
i
j
f
x i I
x j I
x
c g x c
x x x
onde ( ) : nf x , ( ) : n mc x são funções da classe C2, isto é, funções
continuamente diferenciáveis até 2º ordem e I é um subconjunto do conjunto
Os algoritmos do package Bonmin são exatos (também conhecidos por algoritmos
determinísticos), garantindo a obtenção da solução optimal global quando as funções f(x)
and c(x) são convexas; nos casos em que as funções f ou c ou ambas são não convexas, os
algoritmos são aproximados fazendo uso de heurísticas.
Os algoritmos alternativos ao Branch & Bound são: B-OA é um algoritmo de
decomposição por aproximações externas (outer-approximation decomposition algorithm);B-
QG é uma implementação do algoritmo de Branch & Cut de Quesada e Grossmann; B-Hyb é
um algoritmo de aproximação externa híbrida baseada no algoritmo de Branch & Cut (hybrid
outer-approximation based branch-and-cut algorithm); B.Ecp é um algoritmo baseado no
algoritmo B-OA e no Branch & Cut que segue um conjunto de configurações descritas em [19];
B- iFP é um algoritmo utilizado na resolução de problemas do tipo MINLP. [20]
36
3.3.1. Resumo do método Branch & Bound
Nesta secção será apresentado um resumo do método Branch and Bound (BB),
método principal utilizado na resolução do problema de otimização proposto nesta dissertação.
Método Branch & Bound
Segundo [21], o método BB, desenvolvido por Land e Doig, é um algoritmo de enumeração
implícita, ou seja, é um método que, apesar de não testar explicitamente todas as soluções
possíveis, garante a otimalidade da solução obtida. Este método é explicado considerando o
problema de otimização formulado como um problema de minimização. Deste modo, começa-
se por resolver a versão relaxada, contínua, do problema de otimização original e analisar a
solução. Caso a solução viole os constrangimentos de integralidade, então aplica-se o método
BB.
Motivação
Seja dado o problema de otimização não linear inteira mista, IP, abaixo:
Problema IP
sujeito a:
Onde: x é um vetor de variáveis continuam; z um vetor de variáveis inteiras. S é um
espaço/conjunto convexo definido por um conjunto de constrangimentos lineares e/ou não
lineares convexos. A função objetivo é linear ou não linear, mas convexa, e é j-
ésima função linear ou não linear nos vetores de variáveis x e z.
A figura 11 resume o essencial do método básico BB.
37
0
, { }
, { }
+ , {
n
n
n
L IP Lista de subproblemas activos
Lb limite inferior do valor da função objetivo do subproblema n
U valor da função objetivo da melhor solução inteira mista enc
1 Inicialização.
}
Calcular entre e = ,
é
Repo
pequeno . ., 1 , com 0.1
rtar me lhor soluçã
j
j
ontrada
L fazer
gap U Lb min Lb gap U Lb
gap p ex Se gap tol Lb tol
2. Critério de paragem
Enquanto
Se então
o inteira m
Seleccionar subpro
ista , e correspondente valor optim
blema
al da função objectivo IP IP IPf
3. Selecção de subproblema e resolução de relaxação contínu
Termi
a
nar
Fim de se
x z
(Escolher um nó) da lista (segundo várias estratégias possíveis
. . Last In First Out -
iIP L
p ex Depth First S
)
Remover subproblema da lista
Resolver contínua de (resolver problema de optimização não linear contínua).
problema pos
sível
Seja , a solução
i
i
i
IR IR
earch
IP L
relaxação IP
IPSe
x z optimal e o valor da função objectivo ( - )
<
solução (conponente inteira) não é inteira { }
R
R
iR
f R problema relaxado
f U
então Partição / Ramificação
Se então
Se z
(segundo uma de várias regras) variável fraccionária para
novo subproblema (nó) 1 com nova restrição e limite inferior = ,
k
n R
k k
Escolher z ramificação
Criar n n z z Lb f
Actualizar lista de subproblemas activos:
novo subproblema (nó) 1 com nova restrição e limite inferior = ,
Act
n
n R
k k
L L IP
Criar n n z z Lb z
ualizar lista de subproblemas activos:
{ }
= {nova,
n
R
L L IP
U f
Fathoming and pruning / podaSenão
melhor solução inteira mista}, , , ,
{ / }
IP IP IR IR IP R
i
f f
declarar problema IP
Poda pruning da árvore de enumeração
sondado por optimalidade
x z x z
Remover da lista todos os subproblemas com > e declará-los
j
i
L Lb U
Declarar problema IP
sondados por limite
sondado por limite
Fim de se
Senão
Fim de
problema impossível
Proble
{ : ; }
ma origi
nal é impossível
R iSenão f declarar problema
IP
IP
U
sondado por impossibilidade
se
Fim de se
Fim de enquanto
Se
Fim de se
Figura 11- Algoritmo básico Branch and Bound
38
Resolução da versão relaxada do problema
Começa-se por resolver o problema IP, sem ter em consideração as restrições de
integralidade, a chamada versão relaxada, contínua, do problema IP, com um algoritmo de
otimização contínua apropriado.
Se a versão relaxada contínua do problema IP não tem soluções possíveis, então o
problema original IP é impossível terminando a resolução do problema.
Se a versão relaxada contínua do problema IP tem soluções possíveis, verifica-se se a
solução respeita as restrições de integralidade. Se sim, então o problema está resolvido.
Caso contrário, inicia-se um processo de ramificação (branching), limitação (bounding)
e poda (pruning) conforme figura acima.
Branching (ramificação)
Segundo [22], a seleção da variável inteira a ramificar, no conjunto das variáveis
inteiras que violam a restrição de integralidade, é feita segundo uma de entre as várias regras
possíveis (p.ex. maior valor fracionário). Estabelecida a regra, escolhe-se então um variável .
Em seguida, faz-se a ramificação introduzindo-se dois novos subproblemas. Cada
subproblema é obtido a partir do problema anterior acrescentado de um novo constrangimento.
Designando-se por o maior inteiro menor que o valor da variável , Introduzem-se as
seguintes novas restrições:
Primeira restrição:
Segunda restrição:
Após a ramificação da variável , é necessário escolher um nó não pesquisado ou
sondado (de uma lista de subproblemas activos ou pendentes) e resolver a relaxação contínua
do subproblema associado. A escolha deste nó é segundo várias estratégias tais como
Pesquisa em Profundidade Primeiro (Depth First Search), Pesquisa em Largura Primeiro
(Breath First Search), Melhor Limite Inferior (Best First). No caso do problema proposto na
motivação, a regra encontra-se na referência [23].
Bounding (Limitar)
Inicialmente, o limite superior U, valor optimal da função objetivo da melhor solução
inteira mista, diante solução incumbente, é igual a . Após a resolução de um dos
subproblemas, e caso exista solução, verifica-se se esta satisfaz os constrangimentos de
integralidade. Caso os constrangimentos de integralidade estejam satisfeitos, então o limite
superior e o inferior, ambos, tomam o valor da função objetivo. No caso contrário ao anterior, o
limite inferior toma o valor da função objetivo e o limite superior mantém-se.
39
Pruning (descartar/podar)
Depois da ramificação e da resolução de cada subproblema, aplicam-se os seguintes
testes.
Primeiro: caso a solução do subproblema for impossível, então descarta-se o ramo
incumbente;
Segundo: caso a solução do subproblema exista e o valor da função objetivo deste for
pior que o valor da função objetivo de um outro ramo (limite superior), então descarta-
se o ramo incumbente;
Terceiro: caso a solução do subproblema exista e o valor da função objetivo for melhor
que o limite superior, então o valor da função objetivo do subproblema em questão
torna-se o novo limite superior e descartam-se os ramos que tiverem o valor da função
objetivo pior que este, e o ramo é podado por otimalidade.
Término
O algoritmo termina quando já não houver nenhum nó a pesquisar (lista vazia), quando
se alcança o número de nós a pesquisar determinados. No caso do algoritmo a desenvolver, o
número proposto de nós a pesquisados é fixado em 100.
3.4. Resumo da metodologia desenvolvida
Na Tabela 5 resume-se a metodologia desenvolvida nessa dissertação, que consiste:
na construção do modelo de regressão utiliza-se o modelo de Takagi-Sugeno de primeira
ordem ou alternativamente a este, o de ordem zero; no desenvolvimento de 4 variantes do
modelo de otimização, consoante a abordagem utilizada na construção da função objetivo; na
resolução desse modelo de otimização, propor o algoritmo BB como principal e as restantes
opções algorítmicas disponíveis no Bonmin, como alternativas. No total são 24 formas,
disponíveis na aplicação informática, de resolver o problema da mistura de matérias-primas
minerais, como se apresenta na Tabela 5.
40
Tabela 5 – Resumo da metodologia desenvolvida
Modelo de regressão Variantes do modelo de otimização Algoritmos (MNILP)
Takagi- Sugeno
Norma 1
BB
OA
QG
iFP
HYB
Ecp
Norma 2
BB
OA
QG
iFP
HYB
Ecp
Norma infinita
BB
OA
QG
iFP
HYB
Ecp
Programação de metas
BB
OA
QG
iFP
HYB
Ecp
41
CAPITULO 4 – ESTRUTURA, EXPERIMENTAÇÃO E
ANALISE DA APLICACÃO INFORMÁTICA
Nessa secção, descrevem-se as experiências computacionais e resumem-se os
resultados obtidos. Explica-se também, resumidamente, a estrutura de programação da
aplicação informática. é feito o resumo da estratégia de programação do código que pode ser
visto nos ficheiros Benchmark_claymix_new.m e no CD e no anexo 4 (claymix_VersionXX.m).
Os cálculos foram realizados num computador pessoal equipado com uma unidade
central de processamento (CPU) com frequência do relógio interno de 2.2GHz, memória
instalada RAM de 8GB, correndo o sistema operativo Windows 7 (sistema operativo de 64 bits).
Foi imposto um tempo limite de 1000 segundos. A não resolução até à optimalidade por tempo
expirado é considerada um insucesso. Nas experiências computacionais, os tempos de cálculo
foram medidos em segundos de CPU.
Foram testados as seis opções algorítmicas implementadas na biblioteca de código
aberto Bonmin (Basic Open-source Nonlinear Mixed INteger programming) [24], versão 1.6.0,
os quais fazem uso do programa IPOPT (Interior Point OPTimization) [25], versão 3.10.2, para
resolver os problemas de otimização não linear (correspondentes às relaxações contínuas do
problema de otimização não linear mista) e do programa CBC, versão 2.7.7 para a resolução
dos problemas lineares mistos. A aplicação informática CBC tem como pré-requisitos o código
dos projetos CGL e CLP (1.14.7).
Bonmin é distribuído por COIN-OR (www.coin-or.org) sob a licença CPL (Common Public
License). A CPL é uma licença aprovada por OSI1 (Open Source Initiative), pelo que Bonmin
é aplicação informática código aberto (Open Source Aplicação informática) certificado pela
OSI.
As interfaces para ambiente MATLAB das opções algorítmicas de Bonmin, bem como de
outros programas relevantes para esta dissertação, nomeadamente NOMAD [26] , versão
3.5.1, e PSWARM [27] , versão 1.5, são as proporcionadas por OPTI Toolbox [28], na sua mais
recente versão 1.70. OPTI Toolbox (OPTimization Interface) é uma toolbox gratuita para ser
utilizada em MATLAB, sob o sistema operativo Windows (32 ou 64 bits), para formulação e
resolução de problemas de otimização linear, não linear, contínua e discreta. Inclui interfaces
compiladas, via ficheiros de extensão mexw32 ou mexw64, para código aberto escrito nas
linguagens de programação C/C++ e FORTRAN.
A experiência computacional faz também uso da aplicação informática GLPK (versão
4.47) no passo de verificação se o conjunto das restrições lineares (equações e inequações),
envolvendo as variáveis contínuas e binárias, tem ou não soluções possíveis.
42
4.1. Estrutura de programação da aplicação informática
O aplicativo informático é constituído de rotinas ou blocos de códigos que executam
tarefas que auxiliam na resolução do problema. As principais tarefas consistem na introdução
da informação relacionada com a matéria-prima mineral, na formulação matemática do
problema e na resolução do mesmo.
4.1.1. Introdução de informação
A introdução de informação acerca da matéria-prima disponível nas jazidas é feita a
partir do preenchimento de uma base de dados. A informação é disponibilizada em forma de
um ficheiro escrito no bloco de nota, onde segue a seguinte ordem. Na primeira coluna é
introduzido o nome ou tipo de matéria-prima mineral; na segunda coluna, a quantidade; nas
colunas que se seguem, são introduzidas as propriedades químicas e mineralógicas
associadas a esta matéria-prima mineral, e isto na ordem em que são citados: perda por
inguinação (LOI); alumina (Al2O3); sílica (SiO2); concentração do óxido de ferro (Fe2O3);
concentração do óxido de potássio (K2O).
A partir das matérias-primas minerais disponíveis na base de dados, o utilizador
seleciona aquelas que pretende na mistura, e o aplicativo informático calcula automaticamente
o limite superior e inferior associado a cada parâmetro químico, mineralógico e ao rácio de
teores ou concentrações. Dado que cada tipo de argila possui vários parâmetros químicos, e
que estes parâmetros se encontram, muitas vezes, em concentrações diferentes nos diferentes
tipos de argilas, então, tendo em conta esta variabilidade das concentrações nos parâmetros
químicos e mineralógicos em função do tipo de argila, é possível definir um conjunto de valores
de concentração associado a um parâmetro, e desse conjunto escolher o máximo e o mínimo
(limite superior e inferior da concentração de um parâmetro químico ou mineralógico). No que
concerne ao rácio de teores, os limites são calculados a partir de um conjunto de razões entre
os conjuntos de valores associados aos parâmetros químicos que definem o rácio. Essa razão
é efetuado entre os valores de parâmetros químicos de argilas do mesmo tipo, por exemplo,
suponha-se que o rácio de teores é definido entre a alumina e o óxido de potássio, então para
cada tipo de a argila existe um rácio entre os valores desses parâmetros. À medida que se
acrescenta mais uma argila na mistura, os limites são calculados e atualizados
automaticamente. Em seguida, o utilizador pode definir os valores dos parâmetros
físicos/tecnológico da peça cerâmica, químicos e mineralógicos da pasta cerâmica, dentro dos
limites já estabelecidos.
Para facilitar a introdução de informação na formulação do problema, à medida que se
introduz o valor do limite inferior e superior dos parâmetros químicos e mineralógicos das
matérias-primas minerais, o aplicativo informático avalia a não existência de soluções e informa
caso o problema definido for avaliado.
43
4.1.2.Preparação da formulação do modelo matemático A partir da informação introduzida na aplicação informática, constrói-se o modelo
matemático de modo a ser aplicado na plataforma de programação a utilizar.
Sejam dadas as seguintes matrizes: a matriz em que todos os elementos são iguais
a 1; a matriz composta por zeros em todas as entradas; a matriz onde todos os teores
químicos são iguais a 0, exceto os teores no numerador do rácio mássico, de dimensão ;
e a matriz onde todos os teores químicos são iguais a 0, exceto os teores no denominador
do rácio mássico, de dimensão ; o valor máximo associado a todas as percentagens
de argila na mistura; o valor mínimo associado a todas as percentagens de argila na
mistura; a matriz identidade; o vetor dos rácios máximos; o vetor dos rácio mínimos: o
vetor dos teores químicos máximos; o vetor dos teores químicos máximos; é a matriz das
composições químicas das argilas na mistura, de dimensão ; a matriz dos pesos;
a matriz das propriedades físicas/tecnológicas que se pretendem alcançar; a matriz das
propriedades físicas/tecnológicas observadas pelo modelo de previsão; e são as matrizes
associadas às variáveis de decisão; quantidade da argila disponível do tipo ; quantidade
total de argila na mistura. Então tem-se:
Conjunto de constrangimentos propostos.
Proporções mássicas
|
|
; ;
Rácio mássico
|
|
;
|
|
( )
( )
(
)
|
|
; ||
||
Percentagem mínima e máxima de cada tipo de argila na mistura
|
|
;
;
|
|
;
;
44
Número de argilas na mistura
|
|
; |
|; |
|
Disponibilidade de argilas no inventário
|
|
;
; (
)
Modelo de otimização 1: função objetivo é calculada a partir da norma soma.
, , 1
min. n
l lx y z
l
z
Sujeito a:
Conjunto de constrangimentos propostos
e aos constrangimentos associados a transformação da norma soma.
|
|
; ;
|
|
|
|
;
;
|
|
Modelo de otimização 2: função objetivo é calculada a partir da norma infinita.
, , min. zx y z
Sujeito a:
Conjunto de constrangimentos propostos
E aos constrangimentos associados a transformação da norma soma:
|
|
; ;
|
|
|
|
;
;
|
|
Modelo de otimização 3: função objetivo é calculada a partir da norma euclidiana.
Sujeito a:
Conjunto de constrangimentos propostos
45
Modelo de otimização 4: função objetivo é definida no contexto da programação de metas.
1
min. ( , , ) = ln
l l l
l
F d d
x y d
Sujeito a:
Conjunto de constrangimentos propostos
E aos constrangimentos associados às metas:
0
0
0
, , 0 0 ,
, , 0 0 , , 1, 2,...,
, , , 0
l l l l l
l l l l l
l l l l l l
f d f d d
f d f d d l nf
f d d f d d
x y
x y
x y
As funções objetivos se encontram programadas numa rotina a parte. Esta rotina
denomina-se de , recebe o vetor das percentagens mássicas na mistura (x) e tem
como resultado a expressão que avalia cada tipo de função objetivo.
4.2. Avaliação e resolução do problema
4.2.1. Análise do espaço de soluções
Sabe-se que quando o utilizador define as argilas pretendidas na mistura, os limites
associados aos parâmetros químicos e mineralógicos da mistura definem-se automaticamente.
Todavia, resta ainda definir as propriedades físicas/tecnológicas que a peça cerâmica deve
possuir e, por ordem de preferência, redefinir os limites dos parâmetros químicos e
mineralógicos já estabelecidos pelo sistema. Então, sempre que o utilizador definir um
parâmetro físico/tecnológico ou redefinir um parâmetro químico ou mineralógico, é avaliado a
não existência de soluções. Caso o problema definido tiver soluções, então resolve-se o
problema de otimização. Esta abordagem permite que o aplicativo informático seja utilizado
facilmente pelos utilizadores com pouca experiencia na matéria de misturas de matérias-primas
minerais.
Sendo a função objetivo não linear, a análise da existência de soluções no problema
formulado é muitas vezes demorada e existe casos em que não há soluções. Sabendo-se que
existem 5 parâmetros a definir e 7 a redefinir, tendo-se em conta que na definição de cada
parâmetro o aplicativo informático deve analisar a existência de soluções, então o exercício da
formulação do problema da mistura torna-se, muitas vezes, longo e cansativo. Logo, surge a
necessidade de investigar o espaço das soluções de uma forma rápida.
Sendo assim, na análise da existência de soluções, propõe-se o seguinte método:
primeiro, define-se um novo problema a partir do original. Esse problema possui o mesmo
conjunto de constrangimentos que o original, mas com a função objetivo constante. Em
seguida, investiga-se o espaço das soluções a partir da resolução do novo problema criado.
46
Sendo o problema do tipo programação linear, o tempo de resolução é muito inferior ao tempo
da resolução de um problema não linear, em geral.
Na resolução do novo problema é utilizada uma rotina associada ao algoritmo
. A resolve o problema de programação linear tendo como base o algoritmo
Simplex e B&B, para os problemas de programação inteira mista. Esse algoritmo foi
desenvolvido pelo Andrew Makhorin. [29]
4.2.2. Resolução do problema de otimização
Depois de sondado o espaço das soluções do problema proposto pelo utilizador, e
caso haja possíveis soluções, utiliza-se então a rotina associado ao algoritmo bonmin na
resolução do problema de otimização não linear. Essa rotina foi desenvolvida pelo Pierre
Bonami. De se observar que esse algoritmo utiliza varias metodologias na resolução de um
problema de otimização mista e entre elas encontra-se a metodologia BB [30].Na aplicação do
algoritmo bonmin modela-se o problema segundo [31]. As opções de funcionamento do
algoritmo BB, na rotina bonmin, foram mantidas por defeito [32].
4.3. Experimentação das opções algorítmicas pospostas na
resolução do problema do tipo MINLP
Nesta secção são experimentadas as opções algorítmicas propostas na resolução de
problema do tipo MINLP e avalia-se o desempenho do algoritmo principal em relação aos
alternativos. Esta avaliação realiza-se para cada uma das abordagens utilizadas na construção
da função objetivo. Os testes ou as experimentações são realizadas todos sobre o mesmo
conjunto de problemas. Em seguida, faz-se uma análise qualitativa sobre os resultados. O
código utilizado na experimentação e análise encontra-se no ficheiro
Benchmark_claymix_new.m, no CD.
4.3.1. Avaliação do desempenho das opções algorítmicas de Bonmin
Resultados de benchmark são gerados com a execução das diferentes opções
algorítmicas sobre um conjunto (coleção) P de problemas, geradas aleatoriamente, de teste e
respetivo registo de valores de várias medidas de desempenho (métricas). No âmbito desta
dissertação, propõem-se as seguintes métricas: o tempo CPU de computação, o valor ótimo da
função objetivo (F*) e o desvio absoluto (gap absoluto).
4.3.1.1.Coleção de problemas (P)
A coleção de problemas é gerada da seguinte forma. A partir de um registo histórico,
base de dados, de 30 diferentes tipos de matérias-primas minerais disponíveis, são
selecionadas aleatoriamente as pretendidas na mistura. Sabe-se que quando se definem as
matérias-primas na mistura, os limites associados às composições químicas na mistura são
47
definidas automaticamente. Logo, de forma aleatória, definem-se outros limites dentro dos
estabelecidos pela aplicação informática. E do mesmo modo se definem as propriedades
físicas/tecnológicas. E em seguida, esse processo é repetido 20 vezes. E isto, é feito dentro da
rotina benchmark. Para obter a mesma coleção de problemas que são utilizadas na
experimentação das opções algorítmicas do Bonmin, na rotina benchmark, utiliza-se uma
semente fixa (seed= 12345667), e o algoritmo de geração de números aleatórios deve ser igual
ao que se encontra implementado no Matlab R2011b.
4.3.1.2. Resultados computacionais
A partir de uma coleção de 20 problemas, geradas aleatoriamente na rotina
benchmarking, testam-se as 6 opções algorítmicas de Bonmin. Para cada problema, procura-
se também observar o desempenho dos mesmos algoritmos com base na abordagem utilizada
na construção da função objetivo. Os resultados são apresentados em função das
metodologias de construção das funções objetivos.
A métrica tempo CPU é apresentada em tabela, e todas as células vazias assinaladas
com a cor amarela nessa tabela representam situações em que ocorreu uma exceção (erro)
desconhecida. Estas situações não são representadas nas restantes métricas. As restantes
métricas são representadas graficamente para permitir uma fácil compreensão na leitura dos
dados. Os dados associados a estes gráficos encontram-se no anexo3.
Nesta secção, introduz-se a noção de um perfil de desempenho [33] como um meio de
avaliar e comparar o desempenho do conjunto S de opções algorítmicas solucionadoras sobre
um conjunto P de problemas de teste.
Se bem que as ideias que se seguem sejam explicadas usando o tempo CPU de
computação como medida de desempenho, elas são igualmente aplicáveis a qualquer outra
medida de desempenho, Seja ns, o número de opções algorítmicas do conjunto S e Np, o
número de problemas do conjunto P,
Seja tp,s o tempo de CPU necessário para resolver o problema p com a aplicação da
opção algorítmica s. A razão de desempenho (performance ratio), ,p sr , obtém-se comparando o
desempenho da opção algorítmica s no problema p com o melhor desempenho obtido pelo
conjunto S das opções na resolução deste problema, ou seja,
,
,
,min :
p s
p s
p s
tr
t s S
48
Assume-se que é escolhido um parâmetro rM ≥ rp,s para todo os pares (p,s) e rp,s = rM
se e só se a opção s não resolve o problema p. A escolha de rM não afecta a avaliação do
desempenho [33].
Ainda que o desempenho de uma opção algorítmica s num dado problema p possa ter,
em si, interesse, é desejável uma avaliação global do desempenho da opção algorítmica. Para
tal, introduz-se a função ρs(τ), definida como se segue.
,
1# : ,s p s
p
p P rn
que é a probabilidade, ρs(τ), da razão de desempenho, rp,s, da opção algorítmica s ∈ S
não ser pior que um factor τ ∈ R da melhor razão de desempenho possível. A função ρs é a
função de distribuição (cumulativa) da razão de desempenho.
Usa-se o termo perfil de desempenho para designar a função de distribuição duma
métrica de desempenho. Também é usado para se referir a representação gráfica da função de
distribuição.
Segundo [33], o perfil de desempenho revela todas as principais características do
desempenho. Em particular, se o conjunto P de problemas é suficientemente amplo e
representativo dos problemas que poderão ocorrer em aplicações, então são preferidas as
opções algorítmicas com maior probabilidade ρs(τ).
À semelhança das funções de distribuição de probabilidade de variáveis aleatórias
discretas, o perfil de desempenho ρs : R → [0, 1] de uma opção algorítmica s é uma função não
decrescente, constante por troços, e contínua à direita. O valor de ρs(1) é a probabilidade de a
razão de desempenho da opção algorítmica s superar a das restantes opções.
49
4.3.1.2.1. Norma L1
1. Perfil de desempenho das opções algorítmicas para o tempo CPU
Figura 12- Perfil de desempenho das opções algorítmicas para o tempo CPU de execução (métrica L1)
A partir do gráfico acima, repara-se que o algoritmo BB consegue resolver 100% dos
problemas. Também observa-se que para 20% de problemas resolvidos, esse é o algoritmo
ganhador, ou o algoritmo mais rápido. Mas quando a percentagem de problemas resolvidos
aumenta até 30%, o algoritmo Ecp passa a ser vencedor, apesar de não haver muita diferença
nos tempos de resolução entre esse e o BB. Verifica-se ainda que para 60% e 100% de
problemas resolvidos, o tempo é mais do que 3 e 16 vezes o tempo do melhor algoritmo,
respetivamente. De realçar que o algoritmo QG mostrou-se o mais rápido; iFP,o mais lento e o
que resolve a menor percentagem de problemas.
50
2. Tempo CPU (segundos)
Tabela 6- Tempo CPU (segundos) –L1
BB OA QG Hyb Ecp iFP
1 205,5946 367,9942 308,9473 446,782 505,6602 734,8224
2 538,2968 35,55215 33,10877 59,42828 34,6486 162,6876
3 32,15943 51,19771 37,14463 39,50135 38,19475 172,3157
4 839,5595 31,24034 54,91874 83,68165 38,53433 265,3511
5 94,29499 43,5202 35,42588 147,1117 38,26853 303,6553
6 392,8132 58,45267 33,36054 50,49081 39,21451
7 108,0287 38,32857 30,06597 57,13338 28,96195 209,8126
8 107,5471 83,28852 82,49819 113,3114 76,23626 337,5786
9 50,5525 64,64483 61,24277 99,44018 50,10495 149,628
10 42,72041 41,03847 29,75624 42,75386 29,51444 110,3877
11 70,65768 89,39837 67,99132 182,062 70,0518 710,1956
12 647,9481 252,4005 231,9935 500,0109 181,8696 1064,414
13 185,0723 28,82948 46,68375 69,77471 57,24064 185,3865
14 27,82413 66,38881 44,02974 67,76585 48,43639 189,525
15 51,93589 34,63575 33,58669 85,14246 45,46417 285,9751
16 33,26381 35,25984 27,14985 36,95964 27,87615 175,3971
17 450,9025 68,21325 77,54931 299,7147 297,3026 610,3701
18 35,25437 63,64672 44,07662 124,8576 46,53048 179,1886
19 132,7224 48,70338 36,61628 101,6173 45,45166 139,993
20 54,72117 63,08737 45,75003 77,21002 36,17579 228,5257
A partir da tabela acima, é possível reparar que o algoritmo QG apresenta, na maioria
dos problemas, o menor tempo. E o algoritmo iFP exibiu-se, como o mais lento na maioria dos
problemas. No entanto, o algoritmo B&B ou BB mostrou-se como o segundo algoritmo mais
lento.
51
3. Valor optimal da função objetivo
Figura 13- Gráfico associado ao valor optimal da função objetivo em função da coleção de problemas
O gráfico acima permite observar que o desempenho dos algoritmos, em termos do
valor da função objetivo depois de otimizada, na maioria dos problemas, é igual. Com realce
dos algoritmos iFP e Ecp nos problemas 4 e 1, respetivamente, onde estes mostraram valores
baixo desempenho.
4. Gap absoluto
Figura 14 - Gráfico associado ao gap absoluto em função da coleção de problemas
É possível reparar no gráfico acima que na maioria dos casos, o Gap absoluto é quase
igual a zero. E ainda verifica-se que, com exceção do problema 1, quando o valor do gap
absoluto é notável, então o valor desse associado ao algoritmo iFP é notável também.
0
0,5
1
1,5
2
2,5
1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Val
or
op
tim
al d
a fu
nçã
o
ob
ject
ivo
Problema
BB
OA
QG
Hyb
Ecp
iFP
0
0,1
0,2
0,3
0,4
0,5
0,6
0,7
1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Gap
rela
tivo
Problema
BB
OA
QG
Hyb
Ecp
iFP
52
4.3.1.2.2. Norma L2
1. Perfil de desempenho das opções algorítmicas para o tempo CPU
Figura 15- Perfis de desempenho das opções algorítmicas para o tempo CPU de execução (métrica L2)
A partir do gráfico acima, repara-se que o algoritmo BB consegue resolver 95% dos
problemas proposto, assim como os restantes. Observa-se que para 10% de problemas
resolvidos, BB é o melhor algoritmo, ou o algoritmo mais rápido. Mas quando a percentagem
de problemas resolvidos aumenta até 50%, QG passa a ser o algoritmo mais rápido. Apesar do
algoritmo BB ser o quarto melhor, a diferença de tempos entre este e o algoritmo mais rápido é
razoável. Mas, esta diferença de tempos já é bastante considerável para uma percentagem de
problemas igual a 90%. O algoritmo iFP mostrou-se como o mais lento.
53
2. Tempo CPU (segundos)
Tabela 7- Tempo CPU (segundos)-L2
BB OA QG Hyb Ecp iFP
1 36,2038 43,11196 34,69176 48,02493 29,462 100,5002
2 157,7167 33,82323 32,18745 43,98937 36,8998 122,064
3 74,57358 41,95877 43,55492 84,12497 58,73954 221,9102
4 33,42375 34,78563 26,03194 43,19299 29,50695 122,3099
5 52,73322 25,94928 28,52933 55,69337 33,18164 114,5252
6 37,17178 38,68051 26,56287 46,69576 41,75252 84,36847
7 294,6091 31,08638 31,75098 61,4522 43,94461 118,1477
8 39,72393 43,20539 55,33135 90,85814 51,2708 108,8192
9 35,90506 27,75296 53,50053 40,93817 31,5631 77,11796
10 51,61848 49,87686 31,40316 55,28247 50,0545 205,4228
11 37,12791 25,66734 24,61859 42,80739 21,98319 80,25411
12 40,26651 44,90511 32,2536 49,85029 39,7132 1035,767
13 32,123 36,09739 24,93822 39,73134 29,93494 78,06607
14 44,57426 50,26752 27,74962 47,83992 47,19379 88,38507
15 44,59856 35,8463 27,77195 41,5627 23,68912 75,65224
16 256,5993
17 28,50743 19,9141 19,93277 60,14087 19,83377 284,6099
18 38,9661 38,45401 30,43578 59,4519 34,53039 87,81654
19 393,6264 58,44444 41,07875 80,02464 53,78344 263,5639
20 45,37928 68,00948 37,47008 81,26671 37,54565 127,998
A parir da tabela acima, é possível reparar que o algoritmo QG apresenta, na maioria
dos problemas, o menor tempo na resolução dos problemas; e o iFP, como o mais lento. No
entanto, o algoritmo BB mostra-se como sendo o segundo mais lento, mas a diferença entre
este e o primeiro é vasto, quase o dobro ou o triplo.
54
3. Valor optimal da função objetivo
Figura 16- Gráfico associado ao valor optimal da função objetivo em função da coleção de problemas
O gráfico acima permite observar que o desempenho dos algoritmos, em termos do
valor da função objetivo depois de otimizada, com a exceção do problema 2, é igual. De realçar
que nesta exceção o algoritmo iFP mostra o menor valor para a função objetivo otimizada.
4. Gap absoluto
Figura 17- Gráfico associado ao gap absoluto em função da coleção de problemas
O gráfico acima indica que o valor do gap absoluto, com exceção do problema 2, é
quase igual para todos os algoritmos. No problema 2, verifica-se que o algoritmo iFP apresenta
um desvio enorme, quando comprado com os restantes, entre o valor da função objetivo e o
limite inferior.
0
0,2
0,4
0,6
0,8
1
1,2
1,4
1,6
1,8
2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20valo
r o
pti
mal
da
fun
ção
ob
ject
ivo
problema
BB
OA
QG
Hyb
Ecp
iFP
0
0,005
0,01
0,015
0,02
0,025
0,03
0,035
0,04
0,045
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20
gap
ab
solu
to
problema
BB
OA
QG
Hyb
Ecp
iFP
55
4.3.1.2.3. Norma L∞
1. Perfil de desempenho das opções algorítmicas para o tempo CPU
Figura 18 - Perfis de desempenho das opções algorítmicas para o tempo CPU de execução (métrica L∞)
A partir do gráfico acima, repara-se que o algoritmo BB e iFP são os algoritmos que
resolvem a menor percentagem de problemas. Também observa-se que para 5% de problemas
resolvidos, BB é o algoritmo vencedor, ou o algoritmo mais rápido. Mas quando a percentagem
de problemas resolvidos aumenta até 50%, o algoritmo QG passa a ser o vencedor. Verifica-se
que para 80% de problemas resolvidos, o tempo do algoritmo BB é aproximadamente igual 16
vezes o tempo do melhor algoritmo e 32,5 , para 95% de problemas resolvidos.
56
2. Tempo CPU (segundos)
Tabela 8 - Tempo CPU (segundos)- L∞
BB OA QG Hyb Ecp iFP
1 245,7852 102,3134 152,031 258,4229 209,3514 285,66
2 493,3585 398,1412 1143,988 1083,695 696,3562 1259,747
3 2267,855 62,9037 53,72343 127,8512 70,9397 467,5396
4 1033,671 71,93761 77,81968 142,775 69,34818 275,829
5 514,59 66,87343 142,4162 250,3493 60,99348 567,679
6 48,81666 49,07454 36,22186 51,86382 42,1363 94,46862
7 1259,706 44,26607 37,59832 148,5976 64,34772 330,9965
8 247,5815 168,1867 327,7419 279,772 228,3316 593,2291
9 90,29847 71,94098 71,72029 180,6976 97,83781 901,9957
10 42,21954 37,77198 31,36381 41,41073 40,63628 102,1496
11 81,79598 55,20744 69,23349 100,955 48,65363 221,7541
12 413,8517 56,08803 54,79403 288,3436 58,66487 236,6355
13 30,6688 63,77225 44,6151 61,0495 38,65119 149,1108
14 49,39147 26,44377 26,61471 62,93832 27,06595 141,5054
15 32,53614 34,51493 25,12873 39,73581 26,77635 72,72017
16 156,3983 82,15648 52,51835 69,70307 34,39738 124,9277
17 39,72466 41,63149 31,43158 54,43455 31,9717 86,90155
18 419,8933 194,762 271,1661 391,7819 266,7545 1142,103
19 1084,325 45,86535 40,86652 156,0344 59,18674 464,785
20 1454,076 210,858 280,7102 451,7201 122,9111 1118,363
A partir da tabela acima, é possível reparar que o algoritmo QG apresenta, na maioria
dos problemas, o menor tempo na resolução dos problemas; e o iFP, com o maior. No entanto,
o algoritmo BB mostra-se como sendo o segundo mais lento. De salientar que os
desempenhos dos algoritmos QG,OA e o Ecp estão próximos e que apesar de não haver
nenhuma célula colorida de amarelo, deu-se uma situação inesperada nos algoritmos BB e iFP,
mas que não causou a paragem da aplicação informática. Então, essas situações não são
contabilizadas como erro.
57
3. Valor optimal da função objetivo
Figura 19 - Gráfico associado ao valor optimal da função objetivo em função da coleção de problemas
O gráfico acima permite observar que o desempenho dos algoritmos, em termos do
valor da função objetivo depois de otimizada, com a exceção dos problemas 2; 11; 14 e 19, é
igual. De realçar que nestas exceção o desvio entre estes é pequeno.
4. Gap absoluto
Figura 20 - Gráfico associado ao gap absoluto em função da coleção de problemas
O gráfico na Figura 20 indica que, na maior parte dos casos, o algoritmo iFP apresenta
o maior gap absoluto; e o BB, com exceção do problema 19, gaps razoáveis.
0
0,2
0,4
0,6
0,8
1
1,2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
valo
r o
pti
mal
da
fun
ção
ob
ject
ivo
o
Problema
BB
OA
QG
Hyb
Ecp
iFP
0
0,01
0,02
0,03
0,04
0,05
0,06
0,07
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Gap
ab
solu
to
Problema
BB
OA
QG
Hyb
Ecp
iFP
58
4.3.1.2.4. Programação de metas
1. Perfil de desempenho das opções algorítmicas para o tempo CPU
Figura 21 - Perfis de desempenho das opções algorítmicas para o tempo CPU de execução
(Programação de metas)
A partir do gráfico acima, repara-se que o algoritmo BB é o que possui a maior
percentagem de problemas resolvidos. Também observa-se que para 5% de problemas
resolvidos, BB é o algoritmo ganhador, ou o algoritmo mais rápido. Mas quando a percentagem
de problemas resolvidos aumenta até 20%, o algoritmo OA passa a ser o vencedor. Verifica-se
que para 70% de problemas resolvidos, o tempo do algoritmo BB é aproximadamente igual a
3,8 vezes o tempo do melhor; para 75% e 80%de problemas resolvidos é aproximadamente
igual a 8,1 e 31,8 vezes o tempo do melhor algoritmo, respetivamente.
59
2. Tempo CPU (segundos)
Tabela 9 - Tempo CPU (segundos)- Programação de metas
BB OA QG Hyb Ecp iFP
1 56,29508 31,80774 39,518 97,26567 64,23772 193,8005
2 1041,739 31,04716 23,72278 70,86888 36,17421 174,1825
3 1967,09 1174,813 943,452 1027,158
4 39,52264 82,51526 43,29332 99,61672 34,46444 224,5869
5 63,56867 74,74973 36,98298 66,3364 45,58404 137,5966
6 114,06 12,69136 12,2491 26,59965 17,07505 46,28309
7 495,6561 72,31587 17,46752 91,99462 52,30405
8 226,0225 244,1417 264,261 473,2805 162,2665 1030,937
9 21,23331 15,86761 16,73013 72,00325 29,04543 95,16038
10 122,1472 11,63438 20,18148 29,27649 15,40539 42,67184
11 45,80237 43,8072 29,03236 48,485 45,98638 90,16895
12 312,2673 10,56493 16,03817 28,77812 18,22368 88,04874
13 172,3983 115,8993 159,4403
14 67,29166 75,96141 35,16016 77,3802 33,62756 189,642
15 1335,233 1034,885
16 46,35305 54,02702 56,25189 35,98173 131,1452
17 67,25604 25,71034 25,71465 65,30497 26,77293 143,9088
18 63,09198 45,12294 31,34764 49,61028 36,35406 91,82154
19 77,36962 33,55586 52,44747 66,20591 21,69109 108,8396
20 18831,56
A partir da tabela acima, é possível observar que o algoritmo QG apresenta, na maioria
dos problemas, o menor tempo na resolução dos problemas; e o iFP, o maior. O algoritmo BB
mostra-se como sendo o segundo mais lento e de salientar que este apresentou maior
robustez, no âmbito de erro de programação.
60
3. Valor optimal da função objetivo
Figura 22 - Gráfico associado ao Valor optimal da função objetivo em função da coleção de problemas
O gráfico acima permite observar que o desempenho dos algoritmos, em termos do
valor da função objetivo depois de otimizada, é igual.
4. Gap absoluto
Figura 23 - Gráfico associado ao gap absoluto em função da coleção de problemas
O gráfico representado na Figura 23 indica que o valor do gap absoluto é quase igual
para todos os algoritmos. No problema 2, verifica-se que o algoritmo iFP apresenta um desvio
enorme, quando comprado com os restantes, entre o valor da função objetivo e o limite inferior.
0
100
200
300
400
500
600
700
1 2 4 5 6 8 9 10 11 12 14 17 18 19
valo
r o
pti
mal
da
fun
ção
ob
ject
ivo
Problema
BB
OA
QG
Hyb
Ecp
iFP
0
100
200
300
400
500
600
700
1 2 4 5 6 8 9 10 11 12 14 17 18 19
Gap
ab
solu
to
Problema
BB
OA
QG
Hyb
Ecp
iFP
61
4.3.1.3. Análise de resultados
De modo geral, pode-se afirmar, a partir dos resultados obtidos, que entre os
algoritmos de resolução de problema do tipo MINLP selecionados o BB mostra-se como o mais
robusto. Isto porque, esse não apresenta nenhuma situação inesperável ou erro (bug) no
funcionamento no processo de resolução dos problemas formulados. Ao fixar uma das
abordagens utlizadas na construção da função objetivo, os valores da função objetivo obtido a
partir da aplicação dos diferentes algoritmos propostos são aproximadamente iguais. Nas
exceções que se deram, o algoritmo iFP mostrou o melhor valor da função objetivo, na norma
infinita e euclidiana. Ainda no âmbito dessas exceções, na norma soma, os algoritmos BB, iFP
e Ecp apresentaram os piores valores da função objetivo, conforme o caso em questão.
Quanto ao critério do gap absoluto, o algoritmo iFP, nas métricas norma infinita, norma soma e
norma euclidiana, apresenta os maiores valores
No que toca às métricas ou critérios de desempenho selecionados, observa-se o
seguinte:
Quanto ao tempo CPU, o algoritmo QG resolveu o maior número de problemas com os
menores tempos de execução, para todas as funções objetivos propostas.
Quanto ao critério do gap absoluto, o algoritmo iFP, nas métricas norma infinitas,
norma soma e norma euclidiana, apresentou os maiores valores de desvios entre a
função objetivo e o limite inferior.
No que toca a robustez ou a adaptabilidade das opções das abordagens utilizadas na
construção da função objetivo, a norma infinita mostrou-se mais robusta ou adaptável, isto
porque não houve nenhum caso de erro de funcionamento na resolução dos problemas
propostos em todos algoritmos. A metodologia da programação de metas e a norma euclidiana
mostraram-se como os menos robustos. Isto devido às ocorrências de situações inesperadas
em quase todos os algoritmos, com a exceção do BB. Quanto a norma soma, este mostrou-se
robusto no funcionamento com quase todos os algoritmos exceto o iFP.
Quanto a convergência, salienta-se que para todos os algoritmos propostos não se
esgotou o tempo, e que todos convergem com base no critério gap absoluto. Logo, os valores
desse critério, representados na secção de resultados computacionais, são negativos. Isto
porque o valor da função objetivo da solução incumbente (limite superior) é menor que o valor
do limite inferior. Mas, o algoritmo Bonmin devolve valores positivos porque considera o módulo
do desvio. Logo, quanto maior é esse valor, melhor é o valor da função objetivo em relação ao
menor limite inferior na árvore de enumeração.
62
No que concerne aos tempos CPU do algoritmo principal, BB, em função da
abordagem utilizada na construção da função objetivo, é possível verificar que na norma
euclidiana resolve-se o maior número de casos com o melhor tempo CPU. Já na norma infinita,
resolve-se o maior número de casos com os piores tempos. A programação de metas
apresenta, em alguns casos, tempo CPU elevadíssimos, quando comparados com o das
restantes abordagens. Isto pode ser visto no problema 20, onde o tempo atinge um pico de
18831,56 (segundos). Para evitar esses picos na programação de metas, pode diminuir-se o
tempo de execução do algoritmo até ao maior tempo de resolução observado nas restantes
abordagens.
Figura 24- gráfico associado à métrica tempo CPU em função das variantes do modelo de otimização
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Tem
po
CP
U (
segu
nd
os)
Problema
BB soma
BB euclidina
BB inf
BB P.metas
63
5 CONCLUSÃO
Nesta secção apresentam-se as conclusões gerais da investigação efetuada; citam-se
algumas limitações ou dificuldades observadas no processo da investigação e algumas
recomendações sobre os objetos de investigação.
Conclusões
O objetivo dessa dissertação consiste no desenvolvimento de uma ferramenta que
apoie à resolução do problema de misturas de matérias-primas minerais no sector dos
cerâmicos. Ou seja, que vem apoiar o exercício do cálculo das quantidades ou percentagens
ponderadas de matérias-primas minerais otimizadas na mistura de modo a alcançar uma dada
meta. Essa meta consiste num conjunto de propriedade físicas/tecnológicas que a peça
cerâmica deve possuir depois de cozida e seca até temperatura ambiente. As propriedades
físicas/tecnológicas de uma peça cerâmica dependem da composição química da matéria-
prima. Então, a partir de experiencias laboratoriais, obteve-se um registo histórico de dados
que descreve as composições químicas correspondentes às propriedades físicas/tecnológicas
das peças cerâmicas. Com base neste registo, desenvolveram-se modelos de regressão que
permitem, a partir da composição química/mineralógicas das matérias-primas, prever as
propriedades físicas /tecnológicas. Como o que se deseja é a obtenção das quantidades das
matérias-primas, a partir de um conjunto de parâmetros físicos tecnológicos que se deseja na
peça cerâmica, então procurou-se diminuir a diferença entre o vetor dos valores das
propriedades físicas/tecnológicas previstas pelo modelo e o vetor dos valores desejados na
peça cerâmica (valores fixos). E quando a diferença entre esses vetores for aceitável, pelo
utilizador, automaticamente as quantidades de cada tipo de matéria-prima na mistura também
são conhecidas para ambos. Em outras palavras, procuram-se os valores das composições
químicas que correspondem aos valores das propriedades físicas/tecnológicas previstas no
modelo de regressão, dado que os resultados do modelo da previsão são aproximadamente
iguais aos valores das propriedades físicas/ tecnológicas desejadas.
Constrói-se o modelo de otimização associado ao problema proposto, no qual a função
objetivo é abordada com base nas metodologias associadas às normas ou na otimização
multiobjectivo (abordagem elementar) e sujeito a um conjunto de constrangimentos lineares
convexos.
Na abordagem vetorial (associada as normas), utilizaram-se as normas soma,
euclidiana e a infinita para o cálculo da diferença entre o vetor das propriedades físicas
/tecnológicas desejadas e as previstas pelo modelo de regressão. A minimização é realizada
para cada uma das abordagens da função objetivo. Já na abordagem elementar, é utilizado o
método de programação de metas.
64
Sendo este problema do tipo MINLP, propôs-se o algoritmo BB como o principal na
resolução desse problema e introduziu-se alguns alternativos.
Para testar o desempenho das metodologias abordadas, tanto no âmbito da construção
da função objetivo ou como no âmbito dos algoritmos utlizados na resolução de problemas do
tipo MINLP, criou-se uma coleção de 20 problemas aleatoriamente que foram usados na
experimentação das mesmas metodologias.
Analisou-se o desempenho das abordagens utilizadas na construção da função
objetivo, com base na robustez do funcionamento do algoritmo na resolução de um dado
problema (existência de casos ou erros inesperados no funcionamento dos algoritmos
propostos).
Analisou-se ainda o desempenho do algoritmo proposto como o principal em relação
aos propostos na resolução dos problemas de otimização do tipo MINLP, com base no valor da
função objetivo, no valor do gap absoluto, na robustez do funcionamento do algoritmo na
resolução de um problema e no tempo CPU, fixando-se a abordagem utilizada na construção
da função objetivo.
Estudou-se o comportamento do algoritmo proposto, com base na abordagem utilizada
na construção da função objetivo ou o método de agregação das funções, na robustez do
funcionamento do algoritmo e no tempo em CPU.
A partir dos resultados obtidos na experimentação das metodologias e com base nos
critérios de desempenho apresentados, observou-se o seguinte.
No que concerne a robustez ou a adaptabilidade das abordagens utilizadas na
construção da função objetivo (variantes do modelo de otimização) aos algoritmos de
resolução de problemas do tipo MINLP, a norma infinita mostrou-se superior, isto
porque não apresentou nenhum caso de erro de funcionamento na resolução dos
problemas propostos, em todos algoritmos. A metodologia da programação de metas e
a norma euclidiana são as menos robustas ou adaptáveis, devido às ocorrências de
situações inesperadas em quase todos os algoritmos, com a exceção do BB. Quanto a
norma soma, essa mostrou uma boa adaptabilidade em quase todos, exceto com o
iFP;
Quanto ao algoritmo de resolução de problema do tipo MINLP, na maioria dos casos,
ao fixar uma das abordagens utlizadas na construção da função objetivo, os valores da
função objetivo obtido a partir da aplicação dos diferentes algoritmos propostos são
aproximadamente iguais, para um dado problema. Nas exceções que se deram, o
algoritmo iFP mostrou o melhor valor da função objetivo, na norma infinita e euclidiana.
Ainda no âmbito dessas exceções, na norma soma, os algoritmos BB, iFP e Ecp
apresentaram os piores valores da função objetivo, conforme o caso em questão.
65
Quanto ao critério do gap absoluto, o algoritmo iFP, nas métricas norma infinita, norma
soma e norma euclidiana, apresenta os maiores valores;
No que diz respeito ao tempo CPU, ao fixar-se a abordagem utlizada na construção da
função objetivo, o algoritmo QG resolveu o maior número de problemas com os
menores tempos de execução, para todas as funções objetivos propostas.
Essas observações ou análises permitem concluir o seguinte:
O algoritmo principal, BB, é lento, quando comparado com os algoritmos Hyb, QG, OA,
Ecp; e rápido, com iFP. Mas, em contrapartida é o mais robusto;
Nas abordagens utlizadas para a construção da função objetivo, a norma infinita é a
mais robusta. Então, ao utilizar um algoritmo alternativo, na resolução do problema de
mistura de matérias-primas minerais, é imprescindível a utilização da norma infinita;
Quando abordagens utlizadas para a construção da função objetivo são combinadas
ou aplicadas com o algoritmo BB, permitem concluir que a norma euclidiana é a que
apresenta melhores (baixos) tempos CPU.
Para finalizar, realça-se que o objetivo principal nessa dissertação foi alcançado com
excelência. A aplicação informática desenvolvida não abrange somente as opções principais,
porque teve-se em conta os seguintes aspetos: desenvolver outras opções, além da principal,
que auxiliam à resolução do problema proposto; Desenvolver a aplicação informática de modo
a permitir que um utilizador de pouco conhecimento na matéria pudesse formular um problema
que seja possível calcular as quantidades otimizadas. Isto porque na medida em que se
formula o problema, a aplicação informática avalia a existência de soluções e avisa caso não
haja solução ou a solução seja impossível. Por um lado, esses aspetos permitem que a
aplicação seja iterativa e composta por várias metodologias alternativas. Por outro lado, a
aplicação informática torna-se lenta. As experiências realizadas, permitem concluir que um
problema de 31 tipos de matérias-primas minerais, independentemente da abordagem utilizada
na construção da função objetivo, pode ser resolvido em um tempo máximo de 2267,855
(segundos), para um computador semelhante ao apresentado no capítulo 4.
Limitações
Como todas as investigações onde há necessidades da realização de simulações, o
tempo é um fator limitante. A qualidade de material disponível também é um fator a se ter em
conta. No âmbito desta dissertação, reparou-se que era necessário um computador com maior
capacidade do que o apresentado no capítulo 4. Isto porque as simulações realizadas com a
aplicação informática levavam um tempo mínimo de uma semana, até estarem prontas.
66
Recomendações sobre os objetos de investigação
No âmbito da modelação matemática das relações entre propriedades físicas e
mecânicas dos produtos cerâmicos e propriedades químicas e mineralógicas das pastas
cerâmicas (misturas de argilas), propõe-se que se faça um estudo utilizando outros modelos de
regressão.
Avaliação financeira: estudo da avaliação financeira da aplicação informática
desenvolvida nesta dissertação.
Apoios
No âmbito da codificação da aplicação informática no ambiente Matlab, dado a falta de
experiência na área de programação, houve apoio por parte do meu orientador científico
Professor Fernando de Oliveira Durão.
67
Referências
[1] “DIGITALFIRE,” [Online]. Available: http://digitalfire.com/services/products.html. [Accessed
23 04 2012].
[2] Richard Burkett, “HyperGlaze Help,” 2005.
[3] Richard Burkett, “quic start guide,” 2006.
[4] F. Durão, L. Cortez, S. Orea and G. Brito, “Optimization of Ceramic Pastes Production by
Modeling the Chemical,” in XXVIII APCOM_99 Symposium, Chicago, 1999.
[5] “ceramics today,” [Online]. Available:
http://www.ceramicstoday.com/links/glazesoftware.html. [Accessed 01 01 2012].
[6] M. H. P. C. Canotilho, “Processos de cozedura em cerâmic,” Instituto Politécnico de
Bragança, Portugal, 2003.
[7] “CIE,” 2000 . [Online]. Available:
http://www.cie.co.at/index.php/LEFTMENUE/index.php?i_ca_id=297. [Accessed 02 01
2012].
[8] G. Schlesinger and C. F. C. Rolim, “O IMPACTO DAS TRANSFERÊNCIAS
INTERGOVERNAMENTAIS NA POLÍTICA FISCAL DOS MUNICÍPIOS: uma análise
comparativa das mesorregiões Norte Pioneiro e Sudoeste Paranaense,” R. Paranaense
Desenv. Instituto Paranaense de Desenvolvimento Econômico e Social, pp. 33-51, 2009.
[9] A. H. Pejman Tahmasebi, “Application of Adaptive Neuro-Fuzzy Inference System for
Grade Estimation; Case Study, Sarcheshmeh Porphyry Copper Deposit, Kerman, Iran,”
Australian journal of basic and applied sciences , vol. 4, pp. 408-420, 2010.
[10] J.-S. R. Jang, Neuro-Fuzzy and Soft Computing, U.S: Prentice Hall, 1997.
[11] S. Karimi-Googhari and T. Lee, “Applicability of Adaptive Neuro-Fuzzy Inference Systems
in Daily Reservoir Inflow Forecasting,” Madwell Journal, vol. 6, pp. 75-84, 2011.
[12] MathWorks, Fuzzy Logic Toolbox, 2011.
[13] S. L. Chiu, “Extracting Fuzzy Rules from Data for Function Approximation and Pattern
Classification,” 1997.
68
[14] C. D. Doan, S. Y. Liong and D. Karunas, “Derivation of effective and efficient data set with
subtractive clustering method and genetic algorithm,” Journal of Hydroinformatics, vol. 7,
pp. 2019-2033, 2005.
[15] “O Algoritmo "Backpropagation",” [Online]. Available:
http://www.lncc.br/~labinfo/tutorialRN/frm4_backpropagation.htm. [Acedido em 15 07 2012].
[16] L. S. Oliveira and S. Saramago, “OTIMIZAÇÃO MULTI-CRITÉRIOS APLICADA A UM
PROBLEMA DINÂMICO,” Universidade Federal de Uberlândia, BRAZIL, 2004.
[17] A. Peixoto e L. Velho, “Transformadas de Distância,” PUC-Rio.Inf.MCC, 2000.
[18] R. STEUER, MULTIPLE CRITERIA OPTIMIZATION, THEORY, COMPUTATION, AND
APPLICATION, New york: John Wiley and Sons, 1986.
[19] “Sven Leyffer's Publications,” MediaWiki 1.15.5, 01 10 2012. [Online]. Available:
http://wiki.mcs.anl.gov/leyffer/index.php/Sven_Leyffer's_Publications. [Acedido em 10 10
2012].
[20] P. Bonami e J. Lee, BONMIN Users' Manual, 2011.
[21] M. S. Kawamura, “Aplicação do método B&B na programação de tarefas em uma única
máquina com data de entrega comum sob a penalidade de adiantamento e atraso,” São
Paulo, Brazil, 2006.
[22] F. S. Hillier e G. j. Lieberman, Introdução à Pesquisa Operacional, 8º ed., BOOKMAN,
2010.
[23] P. BONAMI, M. KILINC e J. LINDER, “Algorithms and Software for Convex Mixed Integer
Nonlinear Programs,” university of WISCONSIN , MADISON, 2009.
[24] P. B. e. al, “ An Algorithmic Framework for Convex Mixed Integer Nonlinear Programs,” IBM
Research Report RC23771, 2005 .
[25] A. W. a. L. T. Biegler, “ On the Implementation of a Primal-Dual Interior Point Filter Line
Search Algorithm for Large-Scale Nonlinear Programming,” Mathematical Programming ,
vol. 106, pp. 25-57, 2006.
[26] S. Le Digabel, “Algorithm 909: NOMAD: Nonlinear Optimization with the MADS Algorithm,”
ACM Transactions on Mathematical Software , vol. 37, pp. 44.1-44.15, 2011.
[27] A. I. F. V. a. L. N. Vicente, “ A Particle Swarm Pattern Search Method for Bound
Constrained Global Optimization,” Journal of Global Optimization , vol. 39, pp. 197-219,
69
2007.
[28] J. Currie, “OPTI toolbox: A free MATLAB toolbox for Optimization,” 12 11 2012. [Online].
Available: http://www.i2c2.aut.ac.nz/Wiki/OPTI/index.php/Main/HomePage. [Acedido em 29
11 20012].
[29] F. S. Foundation e A. Makhorin, GNU Linear Programming Kit,Reference Manual for GLPK
Version 4.45, Boston-USA, 2010.
[30] E. Software, “COIN-OR project,” Trac, [Online]. Available: https://projects.coin-
or.org/Bonmin. [Acedido em 14 08 2012].
[31] D. Gilbert, “opt toolbox,” 08 07 2012. [Online]. Available:
http://www.i2c2.aut.ac.nz/Wiki/OPTI/index.php/Probs/MINLP. [Acedido em 02 10 2012].
[32] P. Bonami e J. Lee, “List of BONMIN options,” em BONMIN Users’ Manual, 2007, pp. 15-
21.
[33] E. D. D. a. J. J. Moré, “ Benchmarking optimization software with performance profiles,”
Springer-Verlag, n.º Math. Program, Ser. A 91, p. 201–213, 2002.
70
71
Anexos
Anexo 1
Este anexo é constituído pelo conjunto de dados obtidos em experienciais laboratoriais.
Estes dados encontram--se divididos em 2 grupo. Sendo estes de teste e de treino.
Dados de teste
L a b Absor Contr LOI Al2O3 SiO2 Fe2O3 K2O Aleatoriedade
66,3 5,8 16,8 3,3 5,6 8,7 23,17 58,45 4,55 3,25 18
81,8 2,6 11,8 10,9 2 5,4 13,59 78,56 1,76 0,4 24
69,1 6,5 19,1 8,7 3,6 6,7 21,52 63,08 2,39 1,94 39
77,3 3,9 15,8 8,8 2,2 5,4 15,97 73,19 1,98 1,04 13
66,3 7,6 20,1 3 5,3 6,7 22,83 60,4 3,05 3,25 9
46,5 4,5 8,8 2,7 5,4 10,3 26,71 55,41 3,72 2,41 66
77,9 2,6 11,4 5,5 5,8 7,6 25,55 58,07 1,93 2,54 20
76,9 3,9 18,1 7,2 2,8 5,1 19,07 68,97 1,37 2,42 57
72,3 6,8 20,6 7,3 2,6 6,3 22,53 60,2 2,09 1,25 10
77,8 3,1 13,6 5,6 5,3 6,2 21,55 63,5 1,77 1,68 12
As tabelas, Dados de treino (**), que se seguem fazem parte do conjunto dos
dados de treino disposto na ordem em se seguem, mas estão dispostas descontinuamente por
razão de apresentação.
Dados de treino (**)
72
L a b Absor Contr LOI Al2O3 SiO2 Fe2O3 K2O Aleatoriedade
66,3 5,8 16,8 3,3 5,6 8,7 23,17 58,45 4,55 3,25 32
77 2,7 21,1 2 8,7 7,8 25,1 57,48 2,13 2,36 40
80 2,4 12,1 7,2 3,2 5,9 22,23 63,64 1,52 2,41 22
70,6 5,5 12,9 5,6 5,8 7,8 23,75 57,94 2,34 2,01 34
74,2 5,2 15,7 5,8 6,1 6,9 23,31 60,52 2,09 1,95 35
53 10,3 19,66 1,7 8,2 5,8 20,17 63,26 3,9 3,58 6
77,8 2,1 13,7 5,4 5,3 6,3 22 62,55 1,89 1,9 55
72,2 4,9 24,7 3,9 5,1 6,6 23,16 59,75 2,45 3,3 3
79,1 3,3 11,8 8,1 5,1 9,7 25,5 57,73 1,6 3,33 16
70,2 6 14,2 10,1 2 5,4 16,25 71,97 3,81 1,25 11
78,7 2,4 13,6 8,9 2,3 5,3 16,55 72,24 1,79 1,34 54
77,3 3,4 14,6 4,4 7 6,9 23,6 60,3 1,89 1,74 30
78,5 3,7 15,3 7,2 4,3 7 25,29 58,29 1,75 2,5 45
72,4 2,5 9,2 5,4 4,6 6,7 22,25 62,41 3,11 2,82 60
72,4 5,3 16 9,3 3,1 6,4 19,73 66,36 1,98 1,48 62
77 1,6 12,6 7,3 2,2 4,9 16,23 72,7 1,77 1,29 51
80,1 1,7 10,8 7,4 4,5 6,6 22,09 61,47 1,8 2,29 33
76,3 1,9 9,6 7,8 3,5 5,8 19,97 66,33 2,19 1,66 7
77 2,6 8,9 9,5 2,9 6,3 19,35 67,92 1,7 2,42 38
75,3 2,5 21 4,1 6,2 9,1 25,87 55,31 3,61 2,74 58
78,5 3,2 19,7 8,1 3,6 6,8 23,23 60,8 2,19 1,75 42
65,5 7,8 21,7 3,5 5,3 5,9 22,63 61,39 2,44 3,4 28
69,7 4,3 12 9 2,7 5,6 18,72 67,5 4,08 1,49 17
77,2 4 14,3 10,6 1,4 3,9 9,15 88,01 1,66 0,43 41
77,5 3,3 14,8 4,8 6,8 6,8 22,74 61,63 1,89 1,72 47
80,4 2,5 9,6 9,4 3,1 6,4 19,4 66,59 1,74 1,25 14
73,7 4,1 12,2 3,6 7,4 6,9 23,36 60,49 2,12 1,83 46
80 2,2 12,2 10,7 1,9 5,2 15,98 73,76 1,94 0,97 56
69,3 3,6 14,4 4,3 6,5 6,5 21,39 63,62 2,27 1,96 63
79,4 3,8 15,2 7,2 3,1 5,8 19,22 67,4 1,58 2,31 8
77,9 3 14 5,8 6,7 7,4 22,89 61,23 1,84 2,06 67
78,8 3,7 15,2 6,5 5,3 6,2 21,52 63,62 1,78 1,92 59
69,1 4,9 18 5,3 4,4 8,9 23,02 58,68 4,01 2,52 5
68,7 6,6 14,7 8,8 2,7 5,4 15,94 72,51 3,56 1,25 48
75,1 1,8 7,9 9,5 2 5,5 17,6 69,39 2,15 1,97 53
66,9 6,4 17,4 7,3 3,4 7,5 22 59,91 3,71 1,57 29
73
Dados de treino (**)
L a b Absor Contr LOI Al2O3 SiO2 Fe2O3 K2O Aleatoriedade
79 1,6 14,5 8,1 2,5 5,7 17,02 70,24 1,54 1,55 21
77,8 3 18,7 2,3 8,6 8,3 25,33 57,05 2,03 2,4 25
81,5 2,3 10,1 9,2 3,8 7,7 21,92 62,65 1,7 1,71 52
81,4 1,6 15,5 6,4 4,1 6,5 21,52 59,56 1,56 2,72 37
73,7 2,4 14 1,9 9,6 7,5 25,38 57,03 2,21 1,95 64
78,1 3,1 13,2 6 4,9 6,1 22,34 62,57 1,93 2,49 31
74,6 3,8 17,3 6,1 4,3 5,8 19,77 66,93 1,57 2,3 49
72,5 5,7 14,4 9,2 2,6 5,4 15,63 73,42 2,98 1,33 27
58,2 6,3 18,6 5,4 4,1 8,3 19,96 64,44 2,34 2,07 61
77 3,7 17,6 4,7 6,3 6,8 22,87 61,21 1,98 1,98 50
76 3,3 11,9 6,1 4,9 6,7 22,69 61,45 1,98 2,32 26
76,7 3 17,7 4 6,5 6,5 21,39 6,62 2,27 1,96 43
72,7 4,8 20,2 2,9 8,2 8,3 27,02 55,2 2,3 2,53 19
71,9 6,1 16,2 8,8 2,7 6 14,81 74,92 2,76 1,29 44
76,6 2,8 13,2 7,5 3,3 5,3 18,24 69,25 1,71 1,7 15
60,8 5,6 16,9 1,8 5,8 6,7 21,93 58,64 3,27 1,66 1
78,3 2,1 12 7,2 4,9 7,3 24,53 59,37 1,92 2,74 36
77,2 2,8 20 3,9 6,4 8,4 26,03 56,17 2,77 2,65 23
69,8 6 14,9 9,7 2,9 6,1 16,86 70,32 4,14 1,37 65
78,2 3,5 11,8 7,6 4,5 7,2 24,11 59,8 1,97 2,73 2
82,4 2,3 12,1 4,9 6,9 8,2 27,31 55,5 1,68 2,75 4
74
Anexo 2
Neste anexo, apresentam-se os dados utlizados para a construção do modelo de Takagi-
Sugeno de primeira ordem.
Dados teste L a b Absor. Contr. LOI Al2O3 SiO2 Fe2O3 K2O
77,9 3 14 5,8 6,7 7,4 22,89 61,23 1,84 2,06
78,8 3,7 15,2 6,5 5,3 6,2 21,52 63,62 1,78 1,92
69,1 4,9 18 5,3 4,4 8,9 23,02 58,68 4,01 2,52
68,7 6,6 14,7 8,8 2,7 5,4 15,94 72,51 3,56 1,25
75,1 1,8 7,9 9,5 2 5,5 17,6 69,39 2,15 1,97
66,9 6,4 17,4 7,3 3,4 7,5 22 59,91 3,71 1,57
79 1,6 14,5 8,1 2,5 5,7 17,02 70,24 1,54 1,55
77,8 3 18,7 2,3 8,6 8,3 25,33 57,05 2,03 2,4
81,5 2,3 10,1 9,2 3,8 7,7 21,92 62,65 1,7 1,71
81,4 1,6 15,5 6,4 4,1 6,5 21,52 59,56 1,56 2,72
As tabelas, Dados de treino (***), que se seguem fazem parte do conjunto dos
dados de treino disposto na ordem em se seguem, mas estão dispostas descontinuamente por
razão de apresentação.
Dados de treino (***)
L a b Absor Contr. LOI Al2O3 SiO2 Fe2O3 K2O valores extrapolados L
75
66,3 5,8 16,8 3,3 5,6 8,7 23,17 58,45 4,55 3,25 66,1828
77 2,7 21,1 2 8,7 7,8 25,1 57,48 2,13 2,36 75,3121
80 2,4 12,1 7,2 3,2 5,9 22,23 63,64 1,52 2,41 79,9053
70,6 5,5 12,9 5,6 5,8 7,8 23,75 57,94 2,34 2,01 70,8836
74,2 5,2 15,7 5,8 6,1 6,9 23,31 60,52 2,09 1,95 74,6996
53 10,3 19,66 1,7 8,2 5,8 20,17 63,26 3,9 3,58 54,6911
77,8 2,1 13,7 5,4 5,3 6,3 22 62,55 1,89 1,9 76,2012
72,2 4,9 24,7 3,9 5,1 6,6 23,16 59,75 2,45 3,3 67,3284
79,1 3,3 11,8 8,1 5,1 9,7 25,5 57,73 1,6 3,33 79,7095
70,2 6 14,2 10,1 2 5,4 16,25 71,97 3,81 1,25 68,8764
78,7 2,4 13,6 8,9 2,3 5,3 16,55 72,24 1,79 1,34 76,7664
77,3 3,4 14,6 4,4 7 6,9 23,6 60,3 1,89 1,74 77,4322
78,5 3,7 15,3 7,2 4,3 7 25,29 58,29 1,75 2,5 79,4887
72,4 2,5 9,2 5,4 4,6 6,7 22,25 62,41 3,11 2,82 70,7035
72,4 5,3 16 9,3 3,1 6,4 19,73 66,36 1,98 1,48 74,8057
77 1,6 12,6 7,3 2,2 4,9 16,23 72,7 1,77 1,29 77,1856
80,1 1,7 10,8 7,4 4,5 6,6 22,09 61,47 1,8 2,29 77,4215
76,3 1,9 9,6 7,8 3,5 5,8 19,97 66,33 2,19 1,66 72,434
77 2,6 8,9 9,5 2,9 6,3 19,35 67,92 1,7 2,42 76,2455
75,3 2,5 21 4,1 6,2 9,1 25,87 55,31 3,61 2,74 76,3648
78,5 3,2 19,7 8,1 3,6 6,8 23,23 60,8 2,19 1,75 73,6523
65,5 7,8 21,7 3,5 5,3 5,9 22,63 61,39 2,44 3,4 67,9138
69,7 4,3 12 9 2,7 5,6 18,72 67,5 4,08 1,49 70,0994
77,2 4 14,3 10,6 1,4 3,9 9,15 88,01 1,66 0,43 76,7633
77,5 3,3 14,8 4,8 6,8 6,8 22,74 61,63 1,89 1,72 76,921
80,4 2,5 9,6 9,4 3,1 6,4 19,4 66,59 1,74 1,25 77,6712
73,7 4,1 12,2 3,6 7,4 6,9 23,36 60,49 2,12 1,83 74,4957
80 2,2 12,2 10,7 1,9 5,2 15,98 73,76 1,94 0,97 78,3987
69,3 3,6 14,4 4,3 6,5 6,5 21,39 63,62 2,27 1,96 71,5854
79,4 3,8 15,2 7,2 3,1 5,8 19,22 67,4 1,58 2,31 77,8273
73,7 2,4 14 1,9 9,6 7,5 25,38 57,03 2,21 1,95 77,6403
78,1 3,1 13,2 6 4,9 6,1 22,34 62,57 1,93 2,49 77,1484
74,6 3,8 17,3 6,1 4,3 5,8 19,77 66,93 1,57 2,3 68,0314
72,5 5,7 14,4 9,2 2,6 5,4 15,63 73,42 2,98 1,33 70,4704
58,2 6,3 18,6 5,4 4,1 8,3 19,96 64,44 2,34 2,07 72,2192
77 3,7 17,6 4,7 6,3 6,8 22,87 61,21 1,98 1,98 67,5163
Dados de treino (***)
L a b Absor Contr. LOI Al2O3 SiO2 Fe2O3 K2O valores extrapolados L
76
76 3,3 11,9 6,1 4,9 6,7 22,69 61,45 1,98 2,32 78,4763
76,7 3 17,7 4 6,5 6,5 21,39 6,62 2,27 1,96 76,5209
72,7 4,8 20,2 2,9 8,2 8,3 27,02 55,2 2,3 2,53 79,3333
71,9 6,1 16,2 8,8 2,7 6 14,81 74,92 2,76 1,29 80,8024
76,6 2,8 13,2 7,5 3,3 5,3 18,24 69,25 1,71 1,7 75,0234
60,8 5,6 16,9 1,8 5,8 6,7 21,93 58,64 3,27 1,66 75,0713
78,3 2,1 12 7,2 4,9 7,3 24,53 59,37 1,92 2,74 78,1103
77,2 2,8 20 3,9 6,4 8,4 26,03 56,17 2,77 2,65 73,9271
69,8 6 14,9 9,7 2,9 6,1 16,86 70,32 4,14 1,37 70,0149
78,2 3,5 11,8 7,6 4,5 7,2 24,11 59,8 1,97 2,73 75,6941
82,4 2,3 12,1 4,9 6,9 8,2 27,31 55,5 1,68 2,75 75,2176
72,3 6,8 20,6 7,3 2,6 6,3 22,53 60,2 2,09 1,25 -109,4169
77,8 3,1 13,6 5,6 5,3 6,2 21,55 63,5 1,77 1,68 78,4344
63,8 8,2 19,6 5,6 3,9 7 20,67 63,82 2,33 2,33 75,5101
66,3 5,8 16,8 3,3 5,6 8,7 23,17 58,45 4,55 3,25 76,4342
81,8 2,6 11,8 10,9 2 5,4 13,59 78,56 1,76 0,4 59,8118
69,1 6,5 19,1 8,7 3,6 6,7 21,52 63,08 2,39 1,94 76,9477
77,3 3,9 15,8 8,8 2,2 5,4 15,97 73,19 1,98 1,04 77,914
66,3 7,6 20,1 3 5,3 6,7 22,83 60,4 3,05 3,25 68,3122
77,9 2,6 11,4 5,5 5,8 7,6 25,55 58,07 1,93 2,54 76,0063
76,9 3,9 18,1 7,2 2,8 5,1 19,07 68,97 1,37 2,42 82,2975
ra Iterações
L 0,6 1
Número iteração igual a 1 significa que já não foi possível optimizar, para evita o overfitting.
Anexo 3
Neste anexo são representados os valores das métricas utlizadas para medir o
despenho em função da abordagem utlizada na construção da função objetivo.
77
Norma L1
BB OA QG Hyb Ecp iFP BB OA QG Hyb Ecp iFP
1,676933 1,748826 1,676933 1,676933 1,960272 1,676933 9,38E-08 0,071894 7,43E-07 7,46E-07 0,28334 8,29E-07
0,642378 0,425518 0,56513 0,425518 0,425518 0,357892 0,000214 0,216645 0,077033 0,216645 0,216645 0,284271
0,793553 0,793553 0,793553 0,793553 0,793553 0,793553 8,79E-08 1,33E-06 1,17E-06 1,44E-06 1,34E-06 1,34E-06
1,093779 1,093804 1,093779 1,093804 1,093779 1,695426 4,56E-08 2,54E-05 5,90E-07 2,54E-05 5,25E-07 0,601647
0,769098 0,769098 0,769098 0,769098 0,769098 0,769098 5,53E-05 5,65E-05 5,64E-05 5,64E-05 5,64E-05 5,64E-05
0,809543 0,809543 0,809543 0,809543 0,809543 1,15E-05 1,28E-05 1,28E-05 1,28E-05 1,28E-05
2,233631 2,233631 2,233631 2,233632 2,233631 2,233631 2,61E-07 1,17E-06 1,16E-06 1,38E-06 1,13E-06 1,17E-06
1,799593 1,792048 1,792048 1,792047 1,792047 1,792047 0,262823 0,255278 0,255278 0,255277 0,255277 0,255277
0,845853 0,845853 0,845853 0,845853 0,845853 0,845853 1,63E-08 1,54E-06 1,57E-06 1,58E-06 1,63E-06 1,61E-06
1,119406 1,119406 1,119406 1,119406 1,119406 1,119406 4,52E-10 1,81E-06 1,75E-06 1,75E-06 1,75E-06 1,74E-06
2,088606 2,088606 2,088606 2,088606 2,088606 2,088606 6,57E-09 7,83E-07 8,47E-07 7,82E-07 8,36E-07 8,03E-07
1,091599 1,091689 1,091599 1,091599 1,091599 1,091599 5,77E-06 9,70E-05 6,80E-06 6,81E-06 6,80E-06 6,80E-06
1,02011 1,020294 1,02011 1,02011 1,02011 1,02011 1,98E-05 0,000204 2,07E-05 2,08E-05 2,07E-05 2,08E-05
1,965782 1,965782 1,965782 1,965782 1,965782 1,965782 6,18E-08 7,73E-07 7,91E-07 7,27E-07 7,22E-07 7,86E-07
2,139749 2,13929 2,139749 2,13929 2,13929 2,138989 1,00E-07 0,000458 9,59E-07 0,000458 0,000458 0,000758
2,006738 2,006738 2,006738 2,006738 2,006738 2,135446 8,63E-09 8,15E-07 9,38E-07 9,43E-07 8,47E-07 0,128709
1,77921 1,77921 1,838122 1,835189 1,77921 1,779211 0,000368 0,000369 0,05928 0,056347 0,000369 0,000369
1,795592 1,795592 1,795592 1,795592 1,795592 1,795592 4,54E-08 9,49E-07 9,54E-07 9,43E-07 9,02E-07 9,18E-07
1,840436 1,840437 1,840436 1,840436 1,840436 1,840436 5,69E-07 3,84E-06 3,64E-06 3,65E-06 3,79E-06 3,17E-06
1,90035 1,90035 1,90035 1,90035 1,90035 1,90035 2,31E-06 3,74E-06 3,66E-06 3,60E-06 3,74E-06 3,66E-06
GAP AbsolutoValor optimal da função objectivo
78
Norma L2
BB OA QG Hyb Ecp iFP BB OA QG Hyb Ecp iFP
1,320202 1,320202 1,320202 1,320202 1,320202 1,320202 6,73E-08 3,70E-08 5,19E-08 3,90E-08 3,38E-08 3,64E-08
0,106265 0,106265 0,106265 0,106265 0,106265 0,067336 1,67E-05 1,67E-05 1,68E-05 1,68E-05 1,68E-05 0,038912
0,141303 0,141303 0,141303 0,141304 0,141303 0,141303 9,92E-06 1,22E-05 1,22E-05 1,29E-05 1,24E-05 1,22E-05
0,317458 0,317458 0,317458 0,317458 0,317458 0,317458 5,56E-08 2,06E-07 1,97E-07 1,24E-07 1,97E-07 2,07E-07
0,21233 0,199635 0,199635 0,199635 0,199635 0,199635 1,54E-06 0,012696 0,012696 0,012696 0,012696 0,012697
0,214535 0,214535 0,214535 0,214535 0,214535 0,214535 1,38E-06 5,85E-07 5,82E-07 5,88E-07 5,86E-07 5,85E-07
1,735871 1,735876 1,735876 1,735876 1,735871 1,735878 1,42E-05 8,54E-06 7,76E-06 8,63E-06 1,30E-05 6,34E-06
0,715355 0,715356 0,715357 0,715355 0,715355 0,715356 3,39E-06 1,58E-06 3,67E-07 1,87E-06 1,80E-06 1,29E-06
0,251052 0,251052 0,251053 0,251053 0,251052 0,251052 2,44E-06 2,36E-06 3,49E-06 2,51E-06 2,59E-06 2,19E-06
0,71614 0,716139 0,716139 0,716139 0,716139 0,716139 1,60E-07 1,16E-07 1,11E-07 1,16E-07 1,27E-07 1,21E-07
1,574392 1,574392 1,574392 1,574393 1,574393 1,574392 1,38E-06 1,26E-06 1,18E-06 3,58E-07 4,87E-07 1,40E-06
0,343265 0,343265 0,343265 0,343265 0,343265 0,343265 3,01E-06 2,33E-05 2,33E-05 2,32E-05 2,32E-05 2,33E-05
0,453585 0,453583 0,453583 0,453583 0,453583 0,453583 2,69E-06 2,10E-06 2,10E-06 2,10E-06 2,11E-06 2,10E-06
1,282751 1,282751 1,282751 1,282751 1,282751 1,282751 7,59E-06 5,62E-06 5,57E-06 5,62E-06 5,62E-06 5,62E-06
1,830703 1,830695 1,830692 1,830692 1,830706 1,830704 2,49E-06 9,90E-06 1,30E-05 1,30E-05 4,86E-07 1,14E-06
1,536153 0
0,658813 0,658814 0,658814 0,658813 0,658814 0,658813 2,70E-07 6,32E-07 5,65E-07 3,02E-07 5,75E-07 1,79E-07
0,795476 0,795476 0,795476 0,795476 0,795476 0,795476 8,53E-07 4,15E-07 5,78E-07 5,73E-07 5,80E-07 4,18E-07
1,347533 1,347532 1,347532 1,347532 1,347532 1,347532 1,56E-06 6,98E-07 6,73E-07 6,95E-07 6,72E-07 7,03E-07
1,284629 1,284625 1,284626 1,284627 1,284629 1,284628 4,82E-06 6,33E-06 5,19E-06 7,89E-06 9,58E-06 8,61E-06
GAP AbsolutoValor optimal da função objectivo
79
Norma L∞
BB OA QG Hyb Ecp iFP BB OA QG Hyb Ecp iFP
0,897438 0,897438 0,897438 0,897438 0,897438 0,897438 5,24E-10 9,63E-08 9,48E-08 9,67E-08 9,41E-08 9,38E-08
0,17497 0,168687 0,17497 0,17497 0,146385 0,146385 2,92E-10 0,006283 1,16E-07 1,16E-07 0,028586 0,028586
0,195091 0,195091 0,195091 0,195091 0,195091 0,195336 0,000601 0,000601 0,000601 0,000601 0,000601 0,000847
0,396759 0,395837 0,395837 0,395837 0,395837 0,395837 0,000922 1,02E-07 1,02E-07 1,02E-07 1,02E-07 1,02E-07
0,253103 0,253103 0,253103 0,253103 0,253103 0,253103 0,000135 0,000135 0,000135 0,000135 0,000137 0,000135
0,266911 0,266911 0,266911 0,266911 0,266911 0,266911 9,62E-09 4,16E-07 4,10E-07 4,36E-07 4,18E-07 4,33E-07
1,040933 1,039964 1,039964 1,039964 1,041052 1,042053 0,001089 0,00012 0,00012 0,00012 0,001208 0,002209
0,588336 0,588336 0,588336 0,588336 0,588336 0,588336 1,88E-08 2,34E-07 2,09E-07 2,43E-07 2,84E-07 2,83E-07
0,305006 0,305006 0,305006 0,305006 0,305006 0,305006 2,88E-09 1,28E-07 1,28E-07 1,28E-07 1,29E-07 1,49E-07
0,488658 0,488658 0,488658 0,488658 0,488658 0,488658 8,13E-10 5,95E-07 5,94E-07 5,96E-07 6,16E-07 6,17E-07
1,007598 1,007598 1,007598 1,007598 1,007598 1,016047 3,95E-08 2,36E-07 2,26E-07 2,13E-07 2,21E-07 0,008449
0,300361 0,300361 0,300361 0,300361 0,300361 0,300361 1,26E-05 1,30E-05 1,30E-05 1,30E-05 1,30E-05 1,30E-05
0,469812 0,469812 0,469812 0,469812 0,469812 0,469812 3,50E-08 1,13E-06 1,11E-06 1,12E-06 1,12E-06 9,63E-07
0,832137 0,823967 0,823967 0,823967 0,823967 0,774424 2,85E-08 0,00817 0,00817 0,00817 0,00817 0,057713
0,960394 0,960394 0,960394 0,960394 0,960394 0,960394 5,92E-08 4,00E-07 4,28E-07 3,98E-07 4,37E-07 4,00E-07
0,803699 0,803699 0,803699 0,803699 0,803699 0,803699 1,11E-08 1,12E-07 1,12E-07 1,12E-07 1,11E-07 1,12E-07
0,455019 0,455019 0,455019 0,455019 0,455019 0,455019 3,00E-08 1,11E-07 1,07E-07 1,11E-07 1,11E-07 1,10E-07
0,499696 0,499696 0,499696 0,499696 0,499696 0,499696 4,04E-09 1,28E-07 1,28E-07 1,28E-07 1,28E-07 1,28E-07
0,696762 0,659683 0,659637 0,659637 0,659637 0,659639 0,037125 4,62E-05 1,65E-07 1,61E-07 1,56E-07 2,16E-06
0,878652 0,878652 0,878657 0,878657 0,878657 0,878657 0,000445 0,000445 0,00045 0,000451 0,00045 0,00045
GAP AbsolutoValor optimal da função objectivo
80
Programação de metas
BB OA QG Hyb Ecp iFP BB OA QG Hyb Ecp iFP
56,29508 31,80774 39,518 97,26567 64,23772 193,8005 6,59E-08 3,08E-05 3,08E-05 3,10E-05 3,10E-05 3,08E-05
1041,739 31,04716 23,72278 70,86888 36,17421 174,1825 2,196675 0,000713 0,000713 0,000713 0,000713 0,000713
1967,09 1174,813 943,452 1027,158 0 1,33E-05 0,000182 0,712069
39,52264 82,51526 43,29332 99,61672 34,46444 224,5869 9,58E-07 5,63E-07 5,31E-07 7,30E-07 1,31E-06 5,79E-07
63,56867 74,74973 36,98298 66,3364 45,58404 137,5966 6,15E-07 0,429728 8,32E-06 8,32E-06 8,32E-06 8,32E-06
114,06 12,69136 12,2491 26,59965 17,07505 46,28309 7,39E-07 0 0 0 0 0
495,6561 72,31587 17,46752 91,99462 52,30405 1,11E-07 3,44E-05 3,44E-05 3,44E-05 3,44E-05
226,0225 244,1417 264,261 473,2805 162,2665 1030,937 6,60E-07 2,09E-08 2,10E-08 2,09E-08 2,07E-08 2,07E-08
21,23331 15,86761 16,73013 72,00325 29,04543 95,16038 4,52E-07 2,80E-05 2,82E-05 2,83E-05 2,82E-05 2,82E-05
122,1472 11,63438 20,18148 29,27649 15,40539 42,67184 1,63E-07 3,22E-05 3,22E-05 3,22E-05 3,22E-05 3,22E-05
45,80237 43,8072 29,03236 48,485 45,98638 90,16895 6,99E-07 5,09E-06 5,16E-06 5,10E-06 5,11E-06 5,11E-06
312,2673 10,56493 16,03817 28,77812 18,22368 88,04874 1,60E-07 2,79E-05 2,79E-05 2,79E-05 2,79E-05 2,79E-05
172,3983 115,8993 159,4403 33,71458 335,348 33,71462
67,29166 75,96141 35,16016 77,3802 33,62756 189,642 6,51E-07 584,2634 584,2634 584,2634 584,2634 584,2634
1335,233 1034,885 0 1,024306
46,35305 54,02702 56,25189 35,98173 131,1452 5,54E-07 1,10E-05 1,14E-05 1,10E-05 1,10E-05
67,25604 25,71034 25,71465 65,30497 26,77293 143,9088 0,000189 0,000189 0,000189 0,000189 0,000189 0,000189
63,09198 45,12294 31,34764 49,61028 36,35406 91,82154 6,11E-07 7,50E-06 7,10E-06 7,11E-06 7,50E-06 7,10E-06
77,36962 33,55586 52,44747 66,20591 21,69109 108,8396 2,81E-10 2,96E-05 2,98E-05 2,97E-05 2,97E-05 2,98E-05
18831,56 0
GAP AbsolutoValor optimal da função objectivo
81
Anexo 4
CODIFICAÇÃO DA APLICAÇÃO INFORMÁTICA
Rotina principal (claymix_VersionXX.m)
% Author: João Cabral Valentim & Fernando de Oliveira Durão
warning off precision = sqrt(eps);
%+----------------------------------------------------------------+ %| Area of global variables to be used by the callback functions: | % cost_function_Bonmin and cosntraints_Bonmin | %+----------------------------------------------------------------+ global G Jk Jm FISMAT1 FISMAT2 FISMAT3 FISMAT4 FISMAT5 ytarget Weights Weights_GP ym Obj
MetodoMultiCriterio nc nle
%+----------------------------------------------------------------------------+ %| Read quantities and compositions of available clays from file in hard disk | %+----------------------------------------------------------------------------+ Ficheiro = 'Argilas_BD.dat'; % File name [Nomes Quantidades Grades ReturnError] = readfile_QT(Ficheiro);
%+-------------------------------------------------------------------+ %| Select clays. G - matrix of the composition of the selected clays | %+-------------------------------------------------------------------+ IndiceSelected = [1:size(Grades,1)];
G = Grades(IndiceSelected,:); % Table of compositions of selected clays [nc, ne] = size(G); % Number of selected clay types % chemical elements, respectively
%+--------------------------------------------+ %| Find out minima and maxima chemical assays | %+--------------------------------------------+ gl = min(G)'; % minimum value of each chemical element assay gu = max(G)'; % maximum value of each chemical element assay
%+------------------------------------------------------+ %| Specify chemical assays (lower and upper bounds) and | %| chemical assay ratios (lower and upper bounds) | %+------------------------------------------------------+ Jk = [3 4]; % Number of the chemical element for calculation the ratio 1 and 2 Jm = [2 5]; % Number of the chemical element for calculation the ratio 1 and 2 nt = length(Jk); % Number of chemical ratios
% Find out minima and maxima chemical assay ratios ratios = G(:,Jk) ./ G(:,Jm);
%ratios=ratios(:); ru = [max(ratios)]; % Maximum value of chemical element assays ratios rl = [min(ratios)]; % Minimum value of chemical element assays ratios rl = rl(:); ru=ru(:); % Force column vectors
% Update Min, Max and Current values of Physical/Technological Properties % Update Min, Max and Current values of Chemical Composition (CC) % Update Min, Max and Current values of Chemical Ratios (CR) % Update rl and ru (RATIO BOUNDS) cgl=gl; cgu=gu; crl=rl; cru=ru; % Current values pgl=gl; pgu=gu; prl=rl; pru=ru; % Temporary values --- previous values
cgl = gl + 0.5*rand(size(gl)) .* (gu-gl); % Disturb chemical Composition (CC) lower
bounds cgu = gu - 0.5*rand(size(gu)) .* (gu-gl); % Disturb chemical Composition (CC) upper
bounds
82
crl = cgl(Jk) ./ cgu(Jm); % Update chemical composition ratios lower
bounds cru = cgu(Jk) ./ cgl(Jm); % Update chemical composition ratios lower
bounds
% Minimum and mazimum number of clays in mixing nc_min = randint(1,1, [2, floor(nc/2)]); nc_max = randint(1,1, [ceil(nc/2), nc]);
%+------------------------------------------------------------+ %| Read Fuzzy Inference Systems (FIS) data files | %| Fuzzy models of the non linear multivariable relationships | %+------------------------------------------------------------+
FISMAT1 = readfis('parametroL_ct.fis'); FISMAT2 = readfis('parametroa_ct.fis'); FISMAT3 = readfis('parametrob_ct.fis'); FISMAT4 = readfis('parametroAbs_ct.fis'); FISMAT5 = readfis('parametroCon_ct.fis');
%+=====================+ %| Equality constraint | %+=====================+ A1 = [ones(1, nc) zeros(1, nc)]; b1 = 1.0;
%+===================================================+ %| Linear Inequality A*x <= b on assays and ratios | %| A: Linear Inequality Left Hand Side (LHS) | %| b: Linear Inequality Right Hand Side (RHS) | %+===================================================+ Rl = diag(crl); Ru = diag(cru); A2 = [ G' zeros(size(G')); ... (G(:,Jk)'-Ru*(G(:,Jm)')) zeros(nt, nc); ... -G' zeros(size(G')); ... -(G(:,Jk)'-Rl*(G(:,Jm)')) zeros(nt, nc)]; b2 = [cgu; zeros(nt,1); -cgl; zeros(nt,1)];
% x(i) <= u(i) * y(i), i = 1, 2,..., nc % u(i) - upper bound of continuous variable x(i) % y(i) - {0, 1}, binary variable % x(i) - u(i) * y(i) <= 0, i = 1, 2,..., nc, (for u(i) = 1.0); Max_val < max(u(i))< 1.00
(fraction) Max_val = 0.50; % Define maximum proportion of chosen mineral
raw materials in mixture A3 = [eye(nc, nc) -Max_val*eye(nc, nc)]; b3 = zeros(nc, 1);
% x(i) >= l(i) * y(i), i = 1, 2,..., nc % l(i) - lower bound of continuous variable x(i) % y(i) - {0, 1}, binary variable % x(i) - l(i) * y(i) >= 0, i = 1, 2,..., nc, (for l(i) = 0.0); min_val >= min(l(i)) < 1.00
(fraction) min_val = 0.02; % Define minimum proportion of chosen mineral
raw materials in mixture A4 = [-eye(nc, nc) min_val*eye(nc, nc)]; b4 = zeros(nc, 1);
% Setup minimum and maximum numbers of clays in miximg % sum from i=1 to i=nc of y(i) >= nc_min, (equivalent to -y(i) <= -nc_min) % sum from i=1 to i=nc of y(i) <= nc_max A5 = [zeros(1, nc) -ones(1, nc); zeros(1, nc) ones(1, nc)]; b5 = [-nc_min; nc_max];
% Coefficient matrix of the general linear equalities and inequalities constraints A = [A1;A2;A3;A4;A5];
% Independent terms vector of the general linear equalities and inequalities constraints
83
b = [b1;b2;b3;b4;b5];
% Simple lower bounds of the continuous (x) and binary (y) decsision variables xlb = [0.0*ones(nc,1); 0.0*ones(nc,1)]; % (x,y) lower bounds
% Simple upper bounds of the continuous (x) and binary (y) decsision variables % 1. Gerar Quantidade encomendada do lote (Generate lot quantity) while 1 Quantidade_Lote = randint(1,1, [400 2000]); if Quantidade_Lote <= sum(Quantidades) break end end % Simple upper bounds of the continuous (x) and binary (y) decsision variables % xub = min(Quantidades/Quantidade_Lote, 1); xub = [min(Quantidades/Quantidade_Lote, 1); ones(nc,1)]; % (x,y) upper bounds %xub = [min(Quantidades/Quantidade_Lote, min(Max_val, 1))]; ones(nc,1)]; % (x,y) upper
bounds
% Define continuous (0) and integer (1) variables yindex = [zeros(1, nc) ones(1, nc)]; % Index of (integer) binary varaiables
%+------------------------------------------------------------------------------------------
-+ %| Get an initial feasible solution or terminates with infeasible linear programming problem
| %+------------------------------------------------------------------------------------------
-+ sense = 1; % Minimization problem c = zeros(2*nc, 1); % Coefficients of the decision variables in the
linear objective function ctype = ['S'; char('U'*ones(2*nc-1, 1))]'; % Type of constraints: S ( = ), U ( <= ) vartype = [char('C'*ones(nc, 1)); char('B'*ones(nc, 1))]; % Define type of decision
variables: C (Continuous), B (Binary) param.msglev = 3;
[x0, fmin, status, extra] = glpk (c, A, b, xlb, xub, ctype, vartype, sense, param); % status = Status of the optimization: % 1 - solution is undefined; 2 - solution is feasible; 3 - solution is
infeasible; % 4 - no feasible solution exists; 5 - solution is optimal; 6 - solution is
unbounded disp(['GLPK: status = ', num2str(status)]) if status == 4 error('Problem has no feasible solution') end x0 = round_precision(x0, precision);
%+------------------------------------------------------------------------+ %| Compute physical properties as functions of the chemical composition g | %+------------------------------------------------------------------------+ J = [1, 2, 3, 4, 5]; % Numbering of chemical elements
L_color = evalfis(G(:,J), FISMAT1); % L colour space component depends on the assays in
elements 1 to 5 (%) a_color = evalfis(G(:,J), FISMAT2); % a " " " " " " " "
" 1 to 5 (%) b_color = evalfis(G(:,J), FISMAT3); % b " " " " " " " "
" 1 to 5 (%) ONE NEGATIVE VALUE Absorpt = evalfis(G(:,J), FISMAT4); % Absorption coefficient (%) Contrat = evalfis(G(:,J), FISMAT5); % Linear Contraction (%)
%+-------------------------------------------------------------------------+ %| Compute minimum and maximum values of physical or mechanical properties | %|(May be necessary to test if Min e Max values are equal. In this case | %| (make min slightly less a small amount a max a slightly plus a small | % amount) | %--------------------------------------------------------------------------+ y_bounds(1,1) = min(L_color);
84
y_bounds(1,2) = max(L_color); y_bounds(2,1) = min(a_color); y_bounds(2,2) = max(a_color); y_bounds(3,1) = min(b_color); y_bounds(3,2) = max(b_color); y_bounds(4,1) = min(Absorpt); y_bounds(4,2) = max(Absorpt); y_bounds(5,1) = min(Contrat); y_bounds(5,2) = max(Contrat);
ytarget(1) = y_bounds(1,1)+rand(1,1)*(y_bounds(1,2)-y_bounds(1,1)); ytarget(2) = y_bounds(2,1)+rand(1,1)*(y_bounds(2,2)-y_bounds(2,1)); ytarget(3) = y_bounds(3,1)+rand(1,1)*(y_bounds(3,2)-y_bounds(3,1)); ytarget(4) = y_bounds(4,1)+rand(1,1)*(y_bounds(4,2)-y_bounds(4,1)); ytarget(5) = y_bounds(5,1)+rand(1,1)*(y_bounds(5,2)-y_bounds(5,1)); ytarget = ytarget(:); ytarget = max(min(0, ytarget), 100);
% Number of target goals or objectives nf = size(ytarget, 1);
% Weights of the different target values % Weights = ones(4,1); range=y_bounds(:,2)-y_bounds(:,1); Weights =(1./range)/sum(1./range); Weights = Weights(:);
Selection = 1; % Select 1) Weighted_L1_Metric', 2) 'Weighted_Linf_Metric', 3)
'Weighted_L2_Metric', 4) 'GoalProgramming', % 5) 'CriterioGlobal'}; OpcoesMulticriterio_Names = {'Weighted_L1_Metric'; 'Weighted_Linf_Metric';
'Weighted_L2_Metric'; 'GoalProgramming'; ... 'CriterioGlobal'};
MetodoMultiCriterio = OpcoesMulticriterio_Names{Selection};
[Selection, OK_Cancel] = listdlg('PromptString', 'Seleccionar opção multicritério',
'SelectionMode','single',... 'ListString', {'Weighted_L1_Metric', 'Weighted_Linf_Metric', 'Weighted_L2_Metric',
'GoalProgramming', ... 'CriterioGlobal'},'ListSize', [160 60]);
if OK_Cancel MetodoMultiCriterio = OpcoesMulticriterio_Names{Selection}; end drawnow
% soft_constraints = {'>=', '<=', '=', '<=>'} -- to be USED with 'GoalProgramming' if strcmp(MetodoMultiCriterio, 'GoalProgramming')
soft_constraints = {'>=', '<=', '<=', '=', '='}; % to be USED with 'GoalProgramming' Penalties = [50 10 10 1 5]; % to be USED with 'GoalProgramming' Penalties = Penalties(:); % to be USED with 'GoalProgramming'
options.Resize='on'; options.WindowStyle='normal'; options.Interpreter='tex'; prompt = {'Tipo de meta do objectivo 1 (L) ', 'Peso da realização da meta 1 ',... 'Tipo de meta do objectivo 2 (a) ', 'Peso da realização da meta 2 ',... 'Tipo de meta do objectivo 3 (b) ', 'Peso da realização da meta 3 ',... 'Tipo de meta do objectivo 4 (Abs) ', 'Peso da realização da meta 4 ',... 'Tipo de meta do objectivo 5 (Con) ', 'Peso da realização da meta 5 ',}; Titulo_Dialog = 'Definir tipo de meta e respectivo peso/penalização'; numlines = 1; defaultanswer ={soft_constraints{1}, num2str(Penalties(1)),... soft_constraints{2}, num2str(Penalties(2)),... soft_constraints{3}, num2str(Penalties(3)),... soft_constraints{4}, num2str(Penalties(4)),... soft_constraints{5}, num2str(Penalties(5))};
85
answer =inputdlg(prompt, Titulo_Dialog, numlines, defaultanswer, options);
if ~isempty(answer)
soft_constraints = {answer{1}, answer{3}, answer{5}, answer{7}, answer{9}}; Penalties = [str2num(answer{2}), str2num(answer{4}), str2num(answer{6}),
str2num(answer{8}), str2num(answer{10})]; Penalties = Penalties(:);
end
end
% Get handle of Objective function (primary function file called cost_function_Bonmin.m on
disk) ObjF_handle = @(x) cost_function_VersionXX(x);
% Options (select solver and display mode) opts = optiset('solver', 'bonmin', 'display', 'iter'); %opts = optiset('iterfun',@optiplotfval);
Selection = 1; % Select 1) BB, 2) OA, 3) QG, 4 Hyb, 5, Ecp, 6) iFP Algoritmo_Names = {'BB'; 'OA'; 'QG'; 'Hyb'; 'Ecp'; 'iFP'};
Algoritmo = Algoritmo_Names{Selection};
[Selection, OK_Cancel] = listdlg('PromptString','Seleccionar algoritmo (bonmin)',
'SelectionMode','single',... 'ListString', {'Branch & Bound (BB)', 'Outer Approximation (OA)', 'Quesada & Grossman
Outer Approximation (QG)', ... 'Hybrid Outer Approximation and Branch & Cut (Hyb)', 'Outer Approximation based on
FilMINT (Ecp)', ... 'Iterated Feasibility Pump (iFP)'}, 'ListSize', [300 90]);
if OK_Cancel % opts.solverOpts = bonminset('algorithm', Algoritmo_Names(Selection)); Algoritmo = Algoritmo_Names{Selection}; end drawnow
% algorithm: [ MIP Algorithm: {'BB'}, 'OA', 'QG', 'Hyb', 'Ecp', 'iFP' ] opts.solverOpts = bonminset('algorithm', Algoritmo);
% Create OPTI Object switch (MetodoMultiCriterio)
case {'Weighted_L2_Metric', 'CriterioGlobal'}
% Define linear equality and inequality constraints % Coefficient matrix of the general linear equalities and inequalities constraints A = [A2;A3;A4;A5]; Aeq = A1;
% Independent terms vector of the general linear equalities and inequalities
constraints b = [b2;b3;b4;b5]; beq = b1;
% Define continuous (C) and binary (B) variables % |-------nc-----|-------nc-----| % xtype = 'CCCCCCCC....CC BBBBBBBB...BB'; xtype = [char('C'*ones(1, nc)), char('B'*ones(1, nc))]; % Define type of
decision variables
% Create OPTI Object
86
Opt = opti('fun', ObjF_handle, 'ineq', A, b, 'eq', Aeq, beq, 'bounds', xlb, xub,
'xtype', xtype, 'options', opts);
case {'Weighted_Linf_Metric', 'Weighted_L1_Metric', 'GoalProgramming'}
% Define linear equality and inequality constraints % Coefficient matrix of the general linear equalities and inequalities constraints A = [A2;A3;A4;A5]; [n, m] = size(A); Aeq = A1;
% Independent terms vector of the general linear equalities and inequalities
constraints b = [b2;b3;b4;b5]; beq = b1;
% Define continuous (C) and binary (B) variables % |-------nc-----|-------nc-----| % xtype = 'CCCCCCCC....CC BBBBBBBB...BB'; xtype = [char('C'*ones(1, nc)), char('B'*ones(1, nc))]; % Define type of
decision variables
%+------------------------------------------------------------------+ %| Compute initial values of z vector or zmax (from f(x,y)-ftarget) | %+------------------------------------------------------------------+
%+------------------------------------------------------+ %| a) Compute chemical composition of mixed clay (gbar) | %+------------------------------------------------------+ gbar=G'*x0(1:nc);
%+----------------------------------------------------------------------------------
-------------+ %| b) Compute/estimate physical properties as functions of the average chemical
composition gbar | %| (Prevent negative values)
| %+----------------------------------------------------------------------------------
-------------+ ym(1) = evalfis(gbar([1 2 3 4 5]), FISMAT1); % L colour space component depends on
the assays in elements 1 to 5(%) ym(2) = evalfis(gbar([1 2 3 4 5]), FISMAT2); % a " " " " "
" " " " 1 to 5(%) ym(3) = evalfis(gbar([1 2 3 4 5]), FISMAT3); % b " " " " "
" " " " 1 to 5(%) ONE NEGATIVE VALUE ym(4) = evalfis(gbar([1 2 3 4 5]), FISMAT4); % Absorption coefficient (%) ym(5) = evalfis(gbar([1 2 3 4 5]), FISMAT5); % Linear Contraction (%)
ym = ym(:); dv = (ym - ytarget); z0 = Weights .* dv; z0 = z0(:);
% Expand decision variable vector if strcmp(MetodoMultiCriterio, 'Weighted_L1_Metric')
x0 = [x0; abs(z0)]; xlb = [xlb; -inf*ones(size(z0))]; xub = [xub; +inf*ones(size(z0))];
A = [ A, zeros(n, size(z0, 1))]; Aeq = [Aeq, zeros(1, size(z0, 1))]; xtype = [char('C'*ones(1, nc)), char('B'*ones(1, nc)), char('C'*ones(1, size(z0,
1)))]; % Define type of decision variables % nle: [ Nonlinear Constraint Types (-1, 0, 1) {<=, =, >=} (NL) ] nle = (-1)*ones(2*nf, 1); % Nonlinear Constraints g(x) <= nlrhs nlrhs = zeros(2*nf, 1);
87
elseif strcmp(MetodoMultiCriterio, 'Weighted_Linf_Metric')
x0 = [x0; max(z0)]; xlb = [xlb; -inf*ones(1,1)]; xub = [xub; +inf*ones(1,1)];
A = [ A, zeros(n, 1)]; Aeq = [Aeq, zeros(1, 1)]; xtype = [char('C'*ones(1, nc)), char('B'*ones(1, nc)), char('C'*ones(1, 1))]; %
Define type of decision variables % nle: [ Nonlinear Constraint Types (-1, 0, 1) {<=, =, >=} (NL)] nle = (-1)*ones(2*nf, 1); % Nonlinear Constraints g(x) <= nlrhs nlrhs = zeros(2*nf, 1);
elseif strcmp(MetodoMultiCriterio, 'GoalProgramming')
% nle: [ Nonlinear Constraint Types (-1, 0, 1) {<=, =, >=} (NL) ] nle_types = {'<=', '=', '<=', '<=>'}; nle = zeros(nf, 1); nlrhs = ytarget(:);
n_deviation_variables = nf; ndv = 1; for k = 1:nf
switch soft_constraints{k} case '>='
nle(k) = 1; % Nonlinear Constraints f_k(x,y) +
dv(k,-) >= t_k (g(x) >= nlrhs) x0 = [x0; max(-dv(k), 0)]; % dv(k,-) < 0 (undesirable
deviation: underachievement) (dv0 >= 0)
Weights_GP(ndv) = Penalties(k); ndv = ndv + 1;
case '<='
nle(k) = -1; % Nonlinear Constraints f_k(x,y) -
dv(k,+) <= t_k (g(x) <= nlrhs) x0 = [x0; max(dv(k), 0)]; % dv(k,+) > 0 (undesirable
deviation: overachievement) (dv0 >= 0)
Weights_GP(ndv) = Penalties(k); ndv = ndv + 1;
case '='
nle(k) = 0; % Nonlinear Constraints f_k(x,y) +
dv(k,-) - dv(k,+) = t_k (g(x) = nlrhs)
n_deviation_variables = n_deviation_variables + 1; x0 = [x0; max(dv(k), 0); max(-dv(k), 0)]; % dv = (dv(k,-)-
dv(k,+)) > 0 => dv(k,-) > 0, dv(k,+) = 0, % dv = (dv(k,-)-dv(k,+)) < 0 => dv(k,+) > 0, dv(k,-) = 0 %(dv0 >= 0)
Weights_GP(ndv) = Penalties(k); Weights_GP(ndv+1) = Penalties(k); ndv = ndv + 2;
case '<=>'
error('Not implemented')
otherwise
88
error('Unknown goal type') end
end Weights_GP = Weights_GP(:);
xlb = [xlb; zeros(n_deviation_variables, 1)]; xub = [xub; +inf*ones(n_deviation_variables, 1)];
A = [ A, zeros(n, n_deviation_variables)]; % Expand matrix A and Aeq Aeq = [Aeq, zeros(1, n_deviation_variables)]; xtype = [char('C'*ones(1, nc)), char('B'*ones(1, nc)), char('C'*ones(1,
n_deviation_variables))]; % Define type of decision variables
end
% Create Alternative OPTI Object % Get handle of nonlinear constraints (left hand side) computations (primary
function file called constraints_Bonmin.m on disk) constraints_handle = @(x) constraints_VersionXX(x); %nlrhs = ytarget(:); %nlrhs = zeros(2*nf, 1);
% Get handle of (linear) objective function gradObj_handle = @(x) gradiente_FObjectivo(x); Opt = opti('fun', ObjF_handle, 'grad', gradObj_handle, 'nlmix', constraints_handle,
nlrhs, nle, 'ineq', A, b, 'eq', Aeq, beq, 'bounds', xlb, xub, 'xtype', xtype, 'options',
opts);
end
% sense = 1 (minimization; -1 Maximization (Defualt 1) disp(' ') displayOPTI(Opt) disp(['Objective function: ', MetodoMultiCriterio, ', ', 'bonmin algorithm: ',
opts.solverOpts.algorithm]);
disp('call the optimizer ...')
% Solve the MINLP problem [Xoptim, fval, exitflag, info] = solve(Opt, x0);
disp('... done')
disp(' ') disp('STOPPING CONDITION(S)') disp(' ')
switch (exitflag)
case 1
disp('Bonmin solver stopping crondition: Converged / Terminated Successfully')
case 0
disp('Bonmin solver stopping crondition(s): Maximum Iterations / Function
Evaluations / Time Exceeded')
case -1
disp('Bonmin solver stopping crondition(s): Infeasible / Could Not Converge')
case -2
disp('Bonmin solver stopping crondition(s): Unbounded / Solver Error')
89
case -3
disp('Bonmin solver stopping crondition(s): Solver Specific Errors (Set option
''display'' as ''iter'')')
case -5
disp('Bonmin solver stopping crondition(s): User Exited via Ctrl-C')
otherwise
error('Unknown exitflag code')
end
disp(' ') disp('BONMIN SUMMARY') disp(' ')
disp(info)
disp(' ') disp('PROBLEM RESULTS VALIDATION') disp(' ')
disp('Matérias primas minerais incluídas na fórmula de mistura') ArgilasIncluidas = find(Xoptim(nc+1:2*nc) > 1-opts.tolint); disp(sprintf('%12d \n', ArgilasIncluidas)) disp('Nomes das matérias primas minerais incluídas na fórmula de mistura') disp(Nomes(ArgilasIncluidas)) disp('Proporções mássicas na fórmula das matérias primas minerais incluidas') disp(sprintf('%12.3f\n', Xoptim(ArgilasIncluidas))) disp(' ') % Validate solution disp(['Número de matérias primas minerais incluídas na fórmula de mistura final: ',
num2str(sum(Xoptim(nc+1:2*nc))), ... '. Minimo = ', num2str(nc_min), ', Máximo = ', num2str(nc_max)]) disp(['Soma das proporções mássicas das matérias primas minerais incluídas na fórmula de
mistura final: ',... num2str(sum(Xoptim(ArgilasIncluidas)))])
gbar = G'*Xoptim(1:nc); racios = gbar(Jk)./gbar(Jm); disp(' ') disp('Composição da fórmula de mistura final') % 'xxxxxxxxxxxx yyyyyyyyyyyy zzzzzzzzzzzz disp(' formula míninimo máximo') disp(sprintf('%12.3f %12.3f %12.3f\n', [gbar, cgl, cgu]')) disp(' ') disp('Rácios de composição da fórmula de mistura final') % 'xxxxxxxxxxxx yyyyyyyyyyyy zzzzzzzzzzzz disp(' formula míninimo máximo') disp(sprintf('%12.3f %12.3f %12.3f\n', [racios, crl, cru]'))
disp(' ') disp('Propriedades físicas e mecânicas da mistura') disp(' ')
disp('valores_alcançados metas desvios desvios ponderados/penalizados') switch (MetodoMultiCriterio) case 'Weighted_L2_Metric'
disp(sprintf('%14.5f %12.5f %12.5f %12.5f\n', [ym(:) ytarget(:) (ym(:)-
ytarget(:)) Weights.*(ym - ytarget)]')); disp('Soma de quadrados ponderada dos desvios entre valores alcançados e metas') disp(num2str(sum(Obj)));
90
case 'CriterioGlobal'
disp(sprintf('%14.5f %12.5f %12.5f %12.5f\n', [ym(:) ytarget(:) (ym(:)-
ytarget(:)) ((ym(:)-ytarget(:))./ytarget(:)).^(1.5)]')); disp('Soma dos desvios relativos entre valores alcançados e metas elevado a expoente
m=1.5') disp(num2str(sum(Obj)));
case 'Weighted_L1_Metric'
disp(sprintf('%14.5f %12.5f %12.5f %12.5f\n', [ym(:) ytarget(:) (ym(:)-
ytarget(:)) Xoptim(2*nc+1:end)]')); disp('Soma ponderada dos valores absolutos dos desvios entre valores alcançados e
metas') disp(num2str(sum(Obj)));
case 'Weighted_Linf_Metric'
disp(sprintf('%14.5f %12.5f %12.5f\n', [ym(:) ytarget(:) (ym(:)-ytarget(:))]')); disp('Máximo dos valores absolutos dos desvios ponderados entre valores alcançados e
metas') disp(num2str(sum(Obj)));
case 'GoalProgramming'
ndv = 1; deviations = Xoptim(2*nc+1:end); for k = 1:nf
switch nle(k)
case 1 % ('>=')
dev(k) = deviations(ndv); ndv = ndv + 1;
case -1 % ('<=')
dev(k) = deviations(ndv); ndv = ndv + 1;
case 0 %('=')
dev(k) = max(deviations(ndv:ndv+1)); ndv = ndv + 2;
otherwise
error('Unknow type of goal') end
end
disp(sprintf('%14.5f %12.5f %12.5f %12.5f\n', [ym(:) ytarget(:) (ym(:)-
ytarget(:)) dev(:)]')) disp('Soma penalizada dos valores indesejáveis das variáveis de desvio') disp(num2str(sum(Obj)));
otherwise
error('Unknown MetodoMultiCriterio') end
91
Função objetivo function f = cost_function_VersionXX(x)
% PURPOSE
% target values and computed values of physical
% properties of the fired miexed clay
%
global G Jk Jm FISMAT1 FISMAT2 FISMAT3 FISMAT4 FISMAT5 ytarget Weights Weights_GP
ym Obj MetodoMultiCriterio nc nle
%+-----------------------------+
%| Clay types blending problem |
%+-----------------------------+
%+------------------------------------------------------+
% Compute objective function value -> f(1)
%+------------------------------------------------------+
%+------------------------------------------------------+
% a) Compute chemical composition of mixed clay (gbar)
%+------------------------------------------------------+
gbar=G'*x(1:nc);
%+-------------------------------------------------------------------------------
----------------+
%| b) Compute/estimate physical properties as functions of the average chemical
composition gbar |
%| (Prevent negative values)
|
%+-------------------------------------------------------------------------------
----------------+
ym(1) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT1)), 100); % L colour space
component depends on the assays in elements 1 to 5(%)
ym(2) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT2)), 100); % a " "
" " " " " " " 1 to 5(%)
ym(3) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT3)), 100); % b " "
" " " " " " " 1 to 5(%) ONE NEGATIVE VALUE
ym(4) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT4)), 100); % Absorption
coefficient (%)
ym(5) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT5)), 100); % Linear
Contraction (%)
ytarget = ytarget(:);
ym = ym(:);
if any(isinf(ym)) || any(isnan(ym))
error('Claymix_VersionXX:cost_function_VersionXX', 'vector ym of
physical/mechanical properties is infinity or NaN!')
end
if strcmp(MetodoMultiCriterio, 'Weighted_L2_Metric')
%+-----------------------------------------------------------------------+
%| Compute weighted deviations between target values and computed values |
%+-----------------------------------------------------------------------+
Weights = Weights(:);
Weighted_deviations = Weights.*(ym - ytarget);
% Weighted_deviations
%+----------------------------------------+
%| c) Computed sum of weighted deviations |
%+----------------------------------------+
f = Weighted_deviations'*Weighted_deviations;
92
Obj = f; % Global variable
elseif strcmp(MetodoMultiCriterio, 'CriterioGlobal')
expoente = 1.5;
f = sum( abs( ( (ym-ytarget)./ytarget) ).^expoente);
Obj = f; % Global variable
elseif strcmp(MetodoMultiCriterio, 'Weighted_L1_Metric') ||
strcmp(MetodoMultiCriterio, 'Weighted_Linf_Metric')
switch (MetodoMultiCriterio)
case 'Weighted_L1_Metric' % L1 metric
% Weights = Weights(:);
% f = sum(Weights .* x(2*nc+1:end));
f = sum(x(2*nc+1:end)); % f = sum of z_k, k=1,2,..,nf
case 'Weighted_Linf_Metric'
%Weights = Weights(:);
f = x(2*nc+1:2*nc+1); % f = z
end
Obj = f; % Global variable
elseif strcmp(MetodoMultiCriterio, 'GoalProgramming')
ndv = size(Weights_GP, 1);
f = sum(Weights_GP .* x(2*nc+1:2*nc+ndv));
Obj = f; % Global variable
else
error('Método multicritério desconhecido')
end
% return
Gradiente da função objetivo function grad = gradiente_FObjectivo(x) % PURPOSE % Evaluate the gradient of the objective function. % global G Jk Jm FISMAT1 FISMAT2 FISMAT3 FISMAT4 FISMAT5 ytarget Weights Weights_GP ym Obj
MetodoMultiCriterio nc nle
grad = zeros(size(x)); if strcmp(MetodoMultiCriterio, 'Weighted_L1_Metric')
grad(2*nc+1:end) = 1;
elseif strcmp(MetodoMultiCriterio, 'Weighted_Linf_Metric')
grad(2*nc+1:2*nc+1) = 1;
93
elseif strcmp(MetodoMultiCriterio, 'GoalProgramming')
ndv = size(Weights_GP, 1); grad(2*nc+1:2*nc+ndv) = Weights_GP;
end
end
constrangimentos- avaliação dos contrgiemtnos não linear function constraints_x = constraints_VersionXX(x) % PURPOSE % Evaluate the left hand side of the nonlinear constraint functions. % global G Jk Jm FISMAT1 FISMAT2 FISMAT3 FISMAT4 FISMAT5 ytarget Weights Weights_GP ym Obj
MetodoMultiCriterio nc nle
%+------------------------------------------------------+ %| a) Compute chemical composition of mixed clay (gbar) | %+------------------------------------------------------+ gbar=G'*x(1:nc);
%+------------------------------------------------------------------------------------------
-----+ %| b) Compute/estimate physical properties as functions of the average chemical composition
gbar | %| (Prevent negative values)
| %+------------------------------------------------------------------------------------------
-----+ ym(1) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT1)), 100); % L colour space component
depends on the assays in elements 1 to 5(%) ym(2) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT2)), 100); % a " " "
" " " " " " 1 to 5(%) ym(3) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT3)), 100); % b " " "
" " " " " " 1 to 5(%) ONE NEGATIVE VALUE ym(4) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT4)), 100); % Absorption coefficient (%) ym(5) = min(max(0, evalfis(gbar([1 2 3 4 5]), FISMAT5)), 100); % Linear Contraction (%)
ym = ym(:);
if any(isinf(ym)) || any(isnan(ym)) error('Claymix_VersionXX:constraints_VersionXX', 'vector ym of physical/mechanical
properties is infinity or NaN!') end
if strcmp(MetodoMultiCriterio, 'Weighted_L1_Metric')
constraints_x = [Weights .* (ym - ytarget) - x(2*nc+1:end);... -Weights .* (ym - ytarget) - x(2*nc+1:end)];
elseif strcmp(MetodoMultiCriterio, 'Weighted_Linf_Metric')
constraints_x = [Weights .* (ym - ytarget) - x(2*nc+1:2*nc+1)*ones(size(ym));... -Weights .* (ym - ytarget) - x(2*nc+1:2*nc+1)*ones(size(ym))];
elseif strcmp(MetodoMultiCriterio, 'GoalProgramming')
constraints_x = ym;
ndv = 1; % Number of deviational variables nf = size(ytarget, 1); for k = 1:nf switch nle(k)
94
case -1
constraints_x(k) = constraints_x(k) - x(2*nc+ndv:2*nc+ndv); ndv = ndv + 1;
case 1
constraints_x(k) = constraints_x(k) + x(2*nc+ndv:2*nc+ndv); ndv = ndv + 1;
case 0
constraints_x(k) = constraints_x(k) + x(2*nc+ndv:2*nc+ndv); constraints_x(k) = constraints_x(k) - x(2*nc+ndv+1:2*nc+ndv+1); ndv = ndv + 2;
case '<=>'
error('Not implemented')
otherwise
error('Unknown goal type')
end end
end
end
Leitura da base dados function [Lista, Quantidades, MatTeores, Erro] = readfile_QT(Ficheiro) Erro = 0; Lista = {}; MatTeores = [];
Pos = 1; fid=fopen(Ficheiro);
while 1
line = fgetl(fid); if ~isstr(line) break end
[Nome, Count, Error, Next] = sscanf(line,'%s',1); % Add on if (isnumeric(Nome))
Erro = 1; return
end % Error
Lista(Pos) = cellstr(Nome); Quantidade_Teores = sscanf(line(Next:length(line)),'%f',6); % Add on
if length(Quantidade_Teores) < 6 % disp('Erro') Erro = 2;
95
return end % disp(Nome) % Add on % disp(num2str(Teores')) % Add on Quantidades(Pos) = Quantidade_Teores(1); MatTeores(Pos, 1:5) = Quantidade_Teores(2:6)';
Pos = Pos +1;
end Quantidades = Quantidades(:); Lista=Lista'; %Lista %MatTeores fclose(fid);
Base de dados de matérias-primas minerais utilizadas na experimentação
Quantidade LOI Al2O3 SiO2 Fe2O3 K2O
Argila 1 990.0 8.3 19.96 64.44 2.34 2.07
Argila 2 900.0 7.0 20.67 63.82 2.33 2.33
Argila 3 996.0 8.9 23.02 58.68 4.01 2.52
Argila 4 923.0 9.1 25.87 55.31 3.61 2.74
Argila 5 900.0 8.4 26.03 56.17 2.77 2.65
Argila 6 368.0 10.3 26.71 55.41 3.72 2.41
Argila 7 1000.0 8.3 27.02 55.2 2.3 2.53
Argila 8 750.0 7.4 22.89 61.23 1.84 2.06
Argila 9 750.0 6.8 22.74 61.63 1.89 1.72
Argila 10 904.0 6.9 23.6 60.3 1.89 1.74
Argila 11 868.0 6.9 23.36 60.49 2.12 1.83
Argila 12 1000.0 6.2 21.52 63.62 1.78 1.92
Argila 13 976.0 6.2 21.55 63.5 1.77 1.68
Argila 14 988.0 5.3 18.24 69.25 1.71 1.7
Argila 15 1000.0 6.8 22.87 61.21 1.98 1.98
Argila 16 1000.0 6.9 23.31 60.52 2.09 1.95
Argila 17 1000.0 6.3 22.0 62.55 1.89 1.9
Argila 18 547.0 7.5 25.38 57.03 2.21 1.95
Argila 19 711.0 6.5 21.39 63.62 2.27 1.96
Argila 20 1000.0 8.3 25.33 57.05 2.03 2.4
Argila 21 1000.0 7.8 25.1 57.48 2.13 2.36
Argila 22 1000.0 6.1 22.34 62.57 1.93 2.49
Argila 23 1000.0 6.7 22.69 61.45 1.98 2.32
Argila 24 1000.0 5.8 19.22 67.4 1.58 2.31
Argila 25 926.0 9.7 25.5 57.73 1.6 3.33
Argila 26 1000.0 7.3 24.53 59.37 1.92 2.74
Argila 27 1000.0 7.2 24.11 59.8 1.97 2.73
Argila 28 1000.0 6.3 19.35 67.92 1.7 2.42
Argila 29 711.0 5.5 17.6 69.39 2.15 1.97
Argila 30 1000.0 6.6 22.09 61.47 1.8 2.29
Argila 31 1000.0 7.0 25.29 58.29 1.75 2.5
96
Gerador de números inteiros
function rint = randint(rows,cols,intv) % RANDINT Random integers % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ % rows number of matrix rows % cols number of matrix columns % intv vector of 2 items [low,high], boundry values of rint interval rint = floor(rand(rows,cols)*(intv(2)-intv(1) + 1) + intv(1));
Modelo de regressão
Os modelos de regressão são implementados segundo as definições no capítulo 3 e são invocados
internamente, em qualquer rotina onde são utilizados.