Vous êtes sur la page 1sur 7

RESOLUO DE PROBLEMAS DE OTIMIZAO UTILIZANDO

O SOFTWARE LIVRE GNU OCTAVE


Cid Marcos G. Andrade cid@deq.uem.br
Universidade Estadual de Maring Departamento de Engenharia Qumica
Endereo : Av. Colombo, 5790 - Bloco D-90 - Campus Universitrio
CEP 87020-900 Maring - Paran
Wagner Andr dos Santos Conceio wasconceicao@hotmail.com
Mnica Ronobo Coutinho mcoutinho@unicentro.br
Paulo Roberto Paraso paulo@deq.uem.br
Luiz Mrio M. Jorge - lmmj@deq.uem.br
Resumo: Problemas de otimizao so encontrados em vrios ramos da cincia, e mais
especificamente em Engenharia. Apresentamos, aqui, dois exemplos de problemas
clssicos de otimizao resolvidos com o software livre GNU Octave. Pode-se concluir
que o programa de fcil utilizao e que devido as caractersticas prprias, cdigo
aberto e livre distribuio, tem grandes possibilidades de uso em cursos de graduao
e ps-graduao em engenharia.
Palavras-chave: Otimizao, Software Livre, Ferramentas computacionais.
1

INTRODUO

Otimizao a busca de solues de problemas reais por meio de modelos


matemticos que consistem em encontrar a soluo tima dentro de uma regio onde
este modelo matemtico valido.
A aplicao de tcnicas de otimizao na Engenharia tem sido uma rea
significativamente ativa nos ltimos 40 anos, como se observa em pelo grande nmero
de trabalhos publicados nos diversos peridicos, tais como o Computers & Chemical
Engineering, Industrial & Engineering Chemistry Rearch e o AIChE Journal (Melo Jr,
2005). Os grandes avanos na rea de otimizao devem-se tambm a grande evoluo
da informtica.
Na atualidade, cada vez mais, o trabalho de um engenheiro consiste na obteno de
modelos matemticos dos processos estudados (Ljung, 1999). Os modelos matemticos
so utilizados em reas to distintas como: medicina, bioengenharia, geografia,
materiais, alimentos e outras.
A otimizao em sua grande maioria envolve modelos complexos necessitando de
auxilio de ferramentas computacionais para resolv-los, inicialmente utilizava-se os
softwares como o BASIC, o FORTRAN, o PASCAL, e o C. Hoje a ferramentas
computacionais como Matlab, Octave, Scilab, Maple, Statistica entre outros, mais
amigveis, com bibliotecas completas dedicadas a ferramentas de otimizao.

O GNU Octave um software livre (portanto de cdigo fonte aberto), sob a licena
GPL (General Public License), que recebe contribuies em seu desenvolvimento e
aperfeioamento de inmeras pessoas e entidades no mundo todo, o gerenciamento do
projeto Octave esta a cargo de John Eaton, da Universidade de Wisconsin (Eaton, 1997).
Pode-se dizer que o similar livre ao proprietrio MATLAB. O Octave um software
interativo, cujo elemento bsico so matrizes (que no precisam de dimensionamento)
utilizadas para clculos computacionais, cientficos e de engenharia, e visualizao
grfica. Toda a parte grfica do Octave feita pelo programa Gnuplot (Williams, 2001).
possvel gerar grficos bidimensionais e alguns tipos de grficos tridimensionais.
A utilizao de software livre facilita o acesso dos alunos a estas ferramentas. Alm
disso, alguns estados, como o Paran est adotando a poltica de utilizao de apenas
softwares livres nas instituies ensino superior. Este trabalho tem como objetivo
principal apresentar o software Livre GNU Octave como uma alternativa computacional
para soluo de problemas de otimizao.
2

APLICAES

2.1 Programao Linear


necessrio formular uma rao para ces com trs ingredientes: farinha de trigo,
pedaos de carne e uma base sem qualidades nutricionais. Mil quilogramas de produto
final deve conter pelo menos 100 Kg de protena, 60 Kg de gordura e 150 kg de fibras.
Os ingredientes apresentam as seguintes propriedades nutricionais: farinha de trigo
contm 10% de protena, 12% de gordura e 75% de fibra; e os pedaos de carne 50%
de protena, 15% de gordura e 20% de fibras; a quantidade de base muito pequena em
relao aos outros dois componentes que pode ser desprezada. O valor de mil
quilogramas de farinha de trigo de R$ 620,00 e dos pedaos de carne R$ 2500,00.
Qual deve ser o menor custo (C) para as especificaes desejadas. Suponha que o
custo da base to baixo que pode ser desprezado.
Soluo:
Definio das variveis:
T kg de farinha de trigo; M kg de pedaos de carne
Definio da funo objetivo:
Com o custo dos ingredientes chegamos a seguinte funo objetivo:
0,62T+2,5M

C=

O objetivo determinar os valores de T e M para que o custo (C) seja o mnimo


possvel.
Restries, podemos dividir as restries em:

a)
Os valores de T e M devem ser maior ou igual a zero, logo podemos expressar
matematicamente como: T0 e M0.
b)
O balano de massa do processo: T+ M1000kg
c)
Balano de massa da protena: 0,10T+0,50M100kg.
d)
Balano de massa da gordura: 0,12T+0,15M 60kg.
e)
Balano de massa da fibra: 0,75T+0,20M150kg
Sendo assim a funo objetivo e as restries definidas podemos expressar
matematicamente o problema.
A listagem do programa desenvolvido no GNU Octave para soluo do problema:
c = [0.62; 2.5] % Funo Objetivo
a = [1 1;0.1 0.5; 0.12 0.15; 0.75 0.20] %Matriz contendo o valor do lado direito para
%cada restrio
b =[1000; 100; 60; 150] %Matriz contendo o valor do lado esquerdo para cada restrio
lb = zeros(2,1); % Limite inferior de cada varivel
ub = [];% Limite superior de cada varivel
vartype = "CC"; %Nmero de variveis
ctype = "ULLL"; % caracteres contendo o sentido de cada restrio na ordem
%apresentada na matriz a
%"F" no apresenta restrio; "U" Uma restrio do tipo A (i,:) * x <= b (i).
%"S" restrio de igualdade A (i,:) * x = b (i).
%"L" restrio do tipo A (i,:) * x> = b (i).
%"D" Uma restrio de desigualdade com os limites superiores e inferiores (A (i,:) *
%x> = b (i) e (A (i,:) * x <= b (i))
s = 1; % se o valor de s for 1 significa que se quer minimizar o problema, se s for -1
%maximizar.
[xot, cot ] = glpk (c, a, b, lb, ub, ctype, vartype, s )
Resultados obtidos pelo programa: T=333,33 kg de trigo; M = 133,33 kg de carne;
Cot = R$ 540,00
A funo glpk utiliza o mtodo simplex para obter as repostas de otimizao..
2.2 Ajuste de Parmetros e Superfcie de Resposta
Determine o rendimento mximo do equipamento de tingimento de tecidos. onde os
efeitos so do tempo de tingimento. a concentrao de corante e temperatura de
tingimento. Os experimentos foram feitas nas seguintes condies apresentados na
Tabela 1.

Tabela 1 Limites dos experimentos


Mnimo
5 (-1)
0.5 (-1)
75 (-1)

Tempo (min)
Concentrao (g/L)
Temperatura (C)

Mximo
15 (1)
1.5 (1)
95 (1)

Codificao: X1 Tempo; X2 Concentrao; X3 - Temperatura.


O Polinmio representativo para este planejamento experimental :
R=1+2X1 +3X2 +4X3 +5X1X2 +6X1X3 +7X2X3++8X12+9X22 +10X32+
11X1X2X3
Onde : R Rendimentos; - constantes do polinmio
A Tabela 2 apresenta a matriz experimental
Tabela 2 - Matriz experimental
Exp

X1

X2

X3

R(%)

-1

-1

-1

81.08

-1

-1

85.65

-1

-1

82.27

-1

90.4

-1

-1

84.95

-1

89.95

-1

85.25

88.25

O programa desenvolvido capaz ajustar os parmetros do polinmio e a partir da


fixar uma das variveis e gerar a superfcie de resposta indicando o ponto de mximo e
comparar entre todos os possveis limites qual a melhor soluo, as Tabelas 3, 4 e 5
apresenta as respostas para o caso apresentado.

Tabela 3 Concentrao como varivel fixada


Varivel fixada concentrao
0,5g/L

1 g/L

1,5 g/L

Tempo (min)

11,5

11

12,5

Temperatura (C)

95

95

75

R(%)

92,117

95,936

91,597

Tabela 4 Temperatura como varivel fixada

Tempo (min)
Concentrao (g/L)
R(%)

Varivel fixada Temperatura


85C
11,5
1,05
90,566

75C
12
1,1
94,236

95C
11
0,95
95,938

Tabela 5 Tempo como varivel fixada

Temperatura (C)
Concentrao (g/L)
R(%)

5 min
95C
1
89,045

Varivel fixada Tempo


10 min
95C
1
95,708

A Figura 1 apresenta a superfcie de resposta para a melhor condio.

15 min
95C
0,95
93,445

Figura 1 Superfcie de resposta para temperatura fixada em 95C


3

CONSIDERAES FINAIS

O software GNU Octave apresentou um mtodo de programao muito simples


para soluo de otimizao com programao linear se comparados com a utilizao de
planilhas eletrnicas, como Excel e Calc. J, para o ajuste de parmetros e grficos de
superfcie de resposta ele demonstra um grande potencial e pode ser usado com linhas
de programao no ficando limitado a solues simples.
4

REFERNCIAS BIBLIOGRFICAS

EATON, J. W. GNU Octave http://www.octave.org. Acesso em : dez. de 1997.


LJUNG, L. System Identification Theory for the Users. Prentice Hall Englewood,
NJ, 1999.
MELO JR, P. A. Fronteiras da Engenharia Qumica 1. Rio de Janeiro. E-papers
Servios Editoriais, 2005.
WILLIAMS, T. and et al. Gnuplot, http://www.ucc.ie/gnuplot Acesso em: dez. de 2001.

UTILIZATION OF FREE SOFTWARE OCTAVE


RESOLUTION OF OPTIMIZATION PROBLEMS

IN

THE

Abstract: Optimization problems are encountered in various branches of science, and


more specifically in engineering. We present, here, two examples of classical
optimization problems solved with free software GNU Octave. It can be concluded that
the program is easy to use and because the characteristics, open source and free
distribution, has great potential for use in undergraduate and graduate engineering.
Key-words: Optimization, free Software, computational tools