Вы находитесь на странице: 1из 14

ALGORITMOS GENTICOS COMO FERRAMENTA AUXILIAR NA TOMADA DE DECISO EM ATIVIDADES DE GESTO AGROINDUSTRIAL

Danilo Augusto Heredia VIEIRA1 Celso Correia de SOUZA2 Jos Francisco dos REIS NETO3

Resumo. As programaes linear e no-linear, ramos da matemtica aplicada, tem auxiliado administradores de empresas no processo de gesto agroindustrial, permitindo que uma deciso seja simulada e analisada exaustivamente antes da sua implementao prtica. Existem vrios aplicativos clssicos na literatura que solucionam tais problemas. Mais recentemente surgiram os Algoritmos Genticos que propiciam solues eficientes de problemas de programao linear e no-linear, no requerendo nenhuma exigncia sobre a derivabilidade das funes envolvidas. O objetivo desse trabalho de pesquisa foi testar a utilizao dos Algoritmos Genticos na soluo de problemas de programao linear e no-linear aplicados gesto agroindustrial. Dois exemplos foram resolvidos. O primeiro tratou da soluo de um problema de programao linear inteira e o segundo de um problema de programao no-linear, ambos aplicados gesto agroindustrial. Os resultados podem ser considerados bons, com solues iguais s obtidas utilizando-se o consagrado aplicativo Solver do Excel, que possui limitaes quanto ao nmero de variveis dos problemas e da continuidade das funes envolvidas em problemas de programao no-linear. Palavras-chave: corte de cana-de-acar, pesquisa operacional, rendimento econmico.

Acadmico do 7 semestre do curso de Administrao da Universidade Anahnguera- Uniderp de Campo Grande MS. daniloahv@hotmail.com. Bolsista PIBIC/CNPq. 1 Professor do Programa de Mestrado em Produo e Gesto Agroindustrial da Universidade Anhanguera-Uniderp de Campo Grande MS. celsouza@yahoo.com.br 3 Professor do Curso de Administrao da Universidade Anhanguera-Uniderp de Campo Grande MS. Doutorando em Economia e Administrao pela Universidad de Salamanca, Espanha. jfrn@terra.com.br

1 INTRODUO O agronegcio um conjunto de operaes que envolve as atividades de produo e armazenamento no campo, bem como transporte, processamento e distribuio dos produtos agropecurios e seus derivados, alm da distribuio de insumos e a disseminao de novas tecnologias agropecurias. Essas operaes esto, de certa forma, interligadas formando as cadeias produtivas de alimentos, fibras e tambm de biomassa para silagem e gerao de energia. No agronegcio diversos fatores como variaes nos preos de mercado, alteraes climticas, instabilidade das polticas econmicas e agrcolas e dificuldade de acesso s novas tecnologias ou s redes de informaes, alheios ao controle do produtor, podem ocorrer e interferir nas atividades agropecurias, dificultando a elaborao e implementao de qualquer plano de negcio. A utilizao das ferramentas computacionais no agronegcio vem crescendo continuamente, impulsionada pela necessidade de obter melhor produtividade e rentabilidade. A necessidade da implantao de tcnicas alternativas, equipamentos e recursos que beneficiem o planejamento e o controle do processo produtivo ocorrem em razo do aumento de competitividade no setor. O planejamento agroindustrial uma atividade de importncia fundamental para a obteno de bons resultados, sendo feito atravs da elaborao do conjunto de metas que se pretende atingir, e das tcnicas e recursos disponveis para se chegar at elas. Com isso, possvel antever com preciso os resultados de estratgias de ao, bem como detectar e corrigir possveis falhas durante sua execuo. A programao linear e no-linear so modelos matemticos que auxiliam os empresrios nas tomadas de deciso, na medida em que constituem idealizaes simplificadas da realidade, que emprega smbolos matemticos para representar as variveis de deciso do sistema real. Existem vrios softwares que possuem rotinas consagradas para a resoluo de problemas de programao linear e no-linear. Nos mtodos iterativos clssicos podem ocorrer problemas de convergncia na soluo de problemas no-lineares,

quando a funo objetivo contm pontos onde no derivvel ou o valor da derivada est muito prxima de zero. Mais recentemente surgiram os Algoritmos Genticos que, alm de resolver problemas de programao linear e no-linear, no esto atrelados a problemas especficos de derivadas de funes. O objetivo desse trabalho foi aplicao de Algoritmos Genticos na tomada de deciso no planejamento de um agronegcio visando o maior retorno econmico e atendendo determinadas limitaes dessa atividade.

2 FUNDAMENTAO TERICA 2.1. Programao linear e no-linear Problemas de otimizao, na sua forma geral, tm como objetivo maximizar ou minimizar uma funo definida sobre um certo domnio. Na teoria clssica de otimizao o valor timo obtido sobre um domnio infinito. J no caso dos chamados problemas de otimizao combinatria, o domnio tipicamente finito, em que possvel listar os seus elementos e tambm test-lo se pertence ou no a esse domnio. O teste de todos os elementos deste domnio se torna invivel, principalmente quando o domnio de tamanho de moderado a grande (Miyazawa, 2009). Problemas de programao linear e no-linear so problemas de otimizao clssica que envolvem a maximizao ou minimizao de funes num domnio infinito, normalmente definido por um conjunto de restries, como na expresso (01) (Caixeta Filho et al., 2000 ; Bregalda et al., 1988).

Otimizar sujeito

f ( x) g i ( x ) =, , bi xj 0 i = 1,2, , m j = 1,2, , n
(01)

sendo f (x) ( i = 1,2,

a funo a ser otimizada (maximizada ou minimizada);

g i (x) ,
j

, m ), restries do modelo, que relacionam os recursos disponveis; x

( j = 1,2,

, n ), variveis de deciso do problema (so as incgnitas do problema);

b i , ( i = 1,2, , m ), nveis de disponibilidade de recursos ou quantidade mnima


a ser suprida. Otimizar engloba os problemas de maximizao e minimizao. Quando as funes f (x) e g i (x) , ( i = 1,2,
, m ), so funes lineares, diz-se

que o sistema (01) Problema de Programao Linear; se f (x) ou ao menos uma das funes g i (x) , ( i = 1,2,
, m ), uma funo no-linear, diz-se que o sistema (01)

Problema de Programao no-linear (Hillier. e Lieberman, 1988). Existem vrios aplicativos para a soluo de problemas de programao linear e no-linear, disponveis para microcomputadores, entre eles, a ferramenta Solver do aplicativo Microsoft Excel , certamente, o de mais fcil acesso, devido a popularidade desta planilha eletrnica, possibilitando acesso maioria dos leitores que usam microcomputadores (Loesch e Hein, 1999). A soluo de problemas de programao no-linear ser obtida utilizando-se recursos do Clculo Diferencial, atravs do mtodo direto e iterativos, desde que as funes f (x) e g i (x) , ( i = 1,2,
, m ) sejam derivveis no seu domnio de soluo

(Hillier e Lieberman, 1988). Quando isso no acontece, os Algoritmos Genticos podem auxiliar na resoluo, pois so mtodos que podem lidar com qualquer problema de otimizao, no estando atrelados, por exemplo, a problemas especficos de derivadas (Linden, 2008; Miranda, 2009).

2.2. Algoritmos genticos Algoritmos Genticos so algoritmos de busca estocsticos que tm desenvolvimento e funcionamento vinculados gentica, em que todas as novas espcies so produzidas por meio de uma seleo natural em que o mais apto sobrevive gerando descendentes. O algoritmo gentico bsico o que realiza as seguintes funes: inicializa a populao de cromossomos; avalia cada cromossomo da populao; cria novos cromossomos a partir da populao atual (realiza cruzamento e mutao); e termina, se o critrio de fim for alcanado, se no, reinicializa (Bittencourt, 1998; Holland, 1975; Santa Catarina & Bach, 2003). Na forma analgica, a implementao dos Algoritmos Genticos parte de uma populao indivduos gerados aleatoriamente (configuraes iniciais de um

problema), realiza-se a avaliao de cada um (em relao a funo objetiva), seleciona os mais aptos e promove os manipuladores ou operadores genticos como cruzamento e mutao, originando novas geraes de indivduos. Cada individuo na populao representa uma possvel soluo para um dado problema, o que o Algoritmo Gentico faz buscar aquela soluo que seja muito boa ou a melhor do problema analisado atravs da criao de populao de indivduos cada vez mais aptos levando otimizao da funo objetiva. Na Figura 1 possvel resumir os Algoritmos Genticos atravs do fluxograma.

Figura 1. Fluxograma da soluo de problemas de otimizao com Algoritmos Genticos A aplicao dos Algoritmos Genticos, como descrito pelo fluxograma da Figura 1, consta dos seguintes passos (Alencar e Corra, 2006; Guervs, 2009; Linden, 2008; Viana, 1998; Pacheco, 2009): Escolha da Populao - a inicializao da populao feita da forma mais simples possvel, fazendo-se uma escolha aleatria independente para cada individuo da populao inicial ou por processo heurstico, isto , simplesmente escolher n indivduos dentro do espao de busca. Essa tcnica permite gerar uma boa distribuio, cobrindo um espao maior no espao de busca, sem interessar se

so boas solues ou no, assim como na natureza, para haver evoluo necessrio diversidade. Avaliao - a funo de avaliao, ou funo objetiva, utilizada para determinar a qualidade de um individuo como soluo do problema, ou seja, uma forma de mensurar quo aptos esto os indivduos da populao. A funo de avaliao deve refletir os objetivos a serem alcanados na resoluo de um problema e derivada diretamente das condies impostas pelo problema; Seleo - a seleo dos indivduos da populao deve simular o mecanismo de seleo natural, sobrevivncia dos mais fortes, em que os pais mais aptos geram mais filhos. O algoritmo permite, tambm, que alguns indivduos menos aptos gerem filhos, garantindo a diversidade entre os indivduos melhores e os piores. Se apenas os melhores indivduos se reproduzirem a populao tender a ser cada vez mais semelhante, no ocorrendo a evoluo. H diversas formas de seleo dos indivduos reprodutores, entre elas as mais usadas so os mtodos de seleo por Torneio e pelo mtodo da Roleta Viciada; Seleo Via Mtodo da Roleta Viciada - este mtodo emprega o principio da probabilidade de sobrevivncia do mais apto, ou seja, que possui a melhor funo objetiva associada. Com base nos valores de f i ( xi ) , onde xi o indivduo i avaliado entre os n indivduos amostrados. Os indivduos mais aptos so selecionados e duplicados em substituio aos menos aptos. Neste mtodo, a probabilidade pi do i-simo indivduo da populao vir a ser selecionado dado pela expresso (02).
pi = fi
n i =1

(02)
fi

Neste mtodo, os indivduos com alta aptido recebem uma proporo maior na roleta e os indivduos com baixa aptido uma poro relativamente menor na roleta. Na Figura 2 esto dispostos 4 pais, A1, A2, A3 e A4, com as suas respectivas aptides (reas dos setores circulares), para serem selecionados atravs da roleta e gerarem uma nova populao. Observa-se que o indivduo A1 tem maiores chances de ser escolhido ao rodar a roleta.

Figura 2 Seleo de indivduos atravs da roleta viciada O ato de rodar a roleta deve ser completamente aleatrio, podendo ser simulado escolhendo-se um nmero aleatrio r no intervalo [0, 1] e comparar seu valor com a probabilidade acumulada q i , considerando q 0 = 0 , expresso (03). Assim, se q i 1 < r q i deve-se selecionar o individuo xi .
qi =
i k =0

pk

(03)

Este mtodo tem a desvantagem de possuir uma alta varincia, podendo levar a um grande nmero de cpias de um bom cromossomo, diminuindo a diversidade da populao, podendo causar uma convergncia prematura do algoritmo para uma soluo no almejada. Quando a evoluo est avanada, em que as aptides no diferenciam entre si, pode causar um estagnao do algoritmo, isto , pouca modificao na seleo dos indivduos; Elitismo - o elitismo visa preservar os melhores cromossomos de uma gerao para outra sem alteraes, garantindo sempre que a melhor soluo encontrada em qualquer uma das geraes seja mantida at o final do processo. Geralmente usa-se nos Algoritmos Genticos uma taxa de elitismo de 30% do total de indivduos gerados. A principal vantagem deste mtodo que a convergncia garantida, isto , se o mximo global for descoberto, AG converge para esse mximo, entretanto, da mesma forma existe o risco da estagnao em um mximo local.

Neste trabalho de pesquisa utilizou-se Algoritmos Genticos Binrios, em que os pontos do espao de soluo so codificados como uma cadeia de bits 0 ou 1, dentro de cada indivduo. Cada bit poderia ser considerado um gene do cromossomo ou individuo. A escolha dos Algoritmos Genticos Binrios se prende facilidade de se efetuar os cruzamentos e as mutaes entre os indivduos. Cruzamento - o cruzamento ou crossover em processo de recombinao de partes das seqncias de caracteres entre pares de cromossomos, com o objetivo de gerar nova descendncia. Esta troca de material gentico garante a recombinao da populao, possibilitando, assim, uma probabilidade maior de produzir indivduos mais evoludos que seus pais. Para maior facilidade de se efetuar os cruzamentos e as mutaes, a populao de nmeros decimais de ser transformada para a base 2. Um Ponto de Corte - esta a forma mais simples de cruzamento, e que foi utilizada neste trabalho, onde dois indivduos da populao, aps a seleo, so submetidos ao processo de cruzamento, no qual o ponto de corte aleatoriamente gerado, os caracteres ou bits que precedem o ponto de corte so preservados, e os bits posteriores so trocados entre o par participante do processo (Figura 2). Mutao - este operador responsvel pela introduo e manuteno da diversidade gentica na populao. O operador de mutao inverte os valores de bits, ou seja, muda o valor de dado bit de 1 para 0 ou de 0 para 1, com o objetivo de tentar regenerar algum individuo que possa ter sido eliminado de forma inesperada. Para que uma determinada populao no sofra muitas alteraes, esta operao processada para um pequeno percentual PM de seus elementos, em torno de 1% de todos os genes. Aps as operaes de cruzamento e mutao, com a obteno de uma nova populao, esta deve ser avaliada nos novos pontos do espao de busca, com a converso da populao para nmeros decimais, atravs da expresso (04),

x = linf +

( LSup linf ) 2 nbits 1

b10

(04)

onde l inf e LSup so, respectivamente, os limites inferior e superior do intervalo de busca, b10 o nmero decimal, gerado aleatoriamente dentro do intervalo obtido

atravs da preciso estabelecida, no necessariamente pertencente ao espao de busca de otimizao. Se a soluo atual no satisfizer a preciso adotada, repete-se os passos anteriores para a nova populao gerada.

3 MATERIAL E MTODOS Neste trabalho utilizou basicamente o mtodo descritivo exploratrio, que consistiu numa pesquisa bibliogrfica sobre os modelos matemticos de programao linear e no-linear e seus mtodos clssicos de resoluo, bem como sobre Algoritmos Genticos, objeto principal desse trabalho, que um mtodo bem recente para a resoluo desses modelos matemticos. Como objetos da pesquisa foram apresentados dois estudos de casos. O primeiro trata de um criador de frangos de corte que quer fornecer uma rao balanceada para sua criao, combinando apenas necessidades proticas e calricas. Admite-se que a rao tima para estes animais necessita ter, no mnimo, 17,16% de protena e 3000 quilocalorias (Kcal) de energia metabolizvel aparente. Sabe-se que o criador tem disponveis apenas milho e farelo de soja e que cada quilograma de milho contm 8,51% de protena e 3146 Kcal de energia. O farelo de soja, por sua vez, contm 45,6% de protena e 2283 Kcal de energia por quilograma, mas tem-se disponvel apenas 0,2 kg de farelo de soja para cada poro de rao. A funo objetiva (05) a ser minimizada, deve considerar que o preo do milho ser de R$0,80/kg e o do farelo de soja, R$3,80/kg. Assim, a funo C ( x, y ) est ligada ao custo final da rao, resultado da interao entre a quantidade de milho
( x) , e de farelo de soja ( y ) , multiplicando-se pelos seus custos,

respectivamente.
C ( x, y ) = 0,8 x + 3,8 y

(05)

Algumas restries (06) devem ser respeitadas para que o resultado seja o ideal.

0,0851x + 0,456 y 0,1716 3146 x + 2283 y 3000


sujeito

y 0,2 x0 y0

(06)

Ser utilizado o aplicativo Solver na soluo desse problema, mas o objetivo principal resolv-los utilizando-se Algoritmos Genticos e estabelecer comparaes. O segundo estudo de caso trata da obteno do maior rendimento de produo de uma empresa que dispe, sem restrio, de quantidades variveis de insumo e mo de obra. Tem-se, tambm, os custos desses insumos e mo-de-obra na elaborao de cada unidade de produto. A receita
z = R ( x, y )

dada por uma expresso matemtica, obtida

empiricamente pelo setor econmico da empresa, que relaciona capital e mo-deobra, indicando que sero produzidas x unidades de um produto A e y unidades de um produto B. A funo R ( x, y ) , de domnio 2 , deve ser maximizada sem nenhuma restrio, expresso (08).

Mx z = R ( x, y )

(07)

Para a soluo desse segundo caso utilizar-se- o mtodo direto clssico, Algoritmos Genticos e o aplicativo Solver, estabelecendo-se comparaes entre eles.

4 RESULTADOS E DISCUSSO O primeiro caso trata-se de um criador de frangos de corte que pretende fornecer uma rao balanceada seus animais. O que se pretende fornecer uma mistura rica em protenas e em valores energticos, a fim de ter um maior rendimento de crescimento com um menor custo da rao.

A entrada de dados foi atravs de uma planilha Excel com os dados de protenas, energia e o custo, respectivos. Tabela 1. Dados referentes s restries que o criador deve respeitar para conseguir a melhor soluo da mistura. Milho(%) Protena Energia(K cal) Custo($) 8,51 3146 0,8 Farelo de soja(%) 45,6 2283 3,8 Necessidades Mnimas(%) 17,17 3000

Fonte: (FERREIRA,1999) Com a utilizao dos Algoritmos Genticos, chegou-se a uma soluo tima da mistura desejada. Foram encontrados os valores referentes quantidade necessria de Milho ( x) e de Farelo de soja ( y ) . Tabela 2.Resultados referente s quantidades necessrias e ideal de Milho ( x) , de Farelo de soja ( y ) e do custo total C ( x, y ) .
X Y C ( x, y )

0,9444

0,2

1,51

Esse sistema tambm foi resolvido com a utilizao da ferramenta Solver do Excel, obtendo-se os mesmos resultados explicitados na Tabela 2, permitindo comprovar a eficincia da resoluo aplicando Algoritmos Genticos, que, embora mais demorado do que a ferramenta Solver, justificada a sua aplicao levando-se em conta a limitao dessa ferramenta quanto ao nmero de variveis de deciso (aproximadamente 200 variveis para o MS_Excel 2003), limitao superada pelos Algoritmos Genticos. O segundo caso trata-se de uma funo R ( x, y ) de duas variveis x e y , nolinear, denominada de funo receita, numa unidade monetria qualquer, a ser maximizada nessas duas variveis, podendo x representar o nmero de unidades a ser produzida de um produto A e y o nmero de unidades a ser produzida de um

produto B. A expresso de R ( x, y ) foi determinada de maneira emprica no Departamento de Marketing da empresa, sendo dada pela expresso (08), com
R ( x, y ) = 32 x + 20 y + 3 xy 2 x 2 2,5 y 2

Resolvido o problema de mximo utilizando-se o mtodo direto, encontrou-se


R mx (20, 16) = 480 . Assim, devem ser produzidas 20 unidades do produto A e 16

unidades do produto B, aferindo-se uma receita mxima de 480 unidades monetrias. Para a aplicao dos Algoritmos Genticos na maximizao desse problema, estabeleceu-se que as variveis x e y deveriam variar de 1 a 32, pois no domnio
[1, 32] [1, 32] , como constatado, a funo R ( x, y ) passa por um mximo. Observe

que poderia ser qualquer domnio que contivesse o ponto (20, 16) . Utilizando-se uma preciso = 0,03 , foi gerada uma populao inicial composta de 20 nmeros no intervalo de 1 a 1.024, correspondendo-se nmeros na forma binria de 10 bits, de modo que, quando particionado ao meio, os dois nmeros binrios obtidos correspondem nmeros decimais entre 1 e 32. Na Tabela 3 est representada a primeira interao do algoritmo, composto de 2 nmeros reais, de uma populao inicial de 20 nmeros reais, escolhidos aleatoriamente entre 1 e 1.024 e os seus correspondentes na base 2. Particionando-se ao meio cada nmero binrio obteve-se os correspondentes valores em binrios, e reais, das variveis x e y , os valores numricos da funo
R ( x, y ) , as probabilidades Pi de passar prxima gerao e as probabilidades

acumuladas Qi de cada um dos valores de R ( x, y ) , para a implementao da roleta viciada. Tabela 3. Dois elementos de uma populao inicial de 20 elementos
n 1 2 Pop.Inicial P.Inicial x y (reais) (binrios) 295 0100100111 01001 00111 37 0000100101 00001 00101 x(real) 9 1 y(real) 7 5 R(x, y) 332.5 82.5 R(x, y) 332.5 82.5
*

Pi 0.1789 0.0444

Qi 0.1789 0.2232

Aps doze iteraes houve a convergncia do algoritmo, obtendo-se a mesma soluo j obtida anteriormente, isto , x = 20 , y = 20 e F (16, 20) = 480 .

5 CONCLUSES Os resultados podem ser considerados bons, visto que o objetivo deste trabalho foi alcanado, ou seja, com a utilizao de Algoritmos Genticos na soluo de um problema de programao linear, no estudo de caso 1 pde-se otimizar uma rao de frangos de corte, balanceando-a de acordo com os nutrientes necessrios, de forma que os animais tenha o maior rendimento, e o criador tenha o menor custo com a mistura. No estudo de caso 2, foi solucionado um problema de programao no-linear para o planejamento da produo diria de uma outra indstria que no tinha nenhuma restrio, nem de industrializao, nem de mercado. Neste caso, o problema tambm foi resolvido com a utilizao do clculo diferencial, pois neste caso a funo era derivvel, obtendo-se os mesmos resultados. Esses dois problemas, tambm, foram resolvidos com a utilizao da ferramenta Solver da MS_Excel 2003, com os mesmos resultados, o que no inviabiliza a aplicao de Algoritmos Genticos nas suas solues, j que esse ltimo indicado, tambm, na soluo de problemas de otimizao envolvendo funes no-lineares, derivveis ou no no intervalo de solues. Por outro lado, os algoritmos genticos tm-se mostrado mais lentos que determinados mtodos clssicos de otimizao.

6 REFERNCIAS ALENCAR, C. E. R. DE; CORRA, R. F. Ferramenta de suporte para a deciso de frentes de corte de cana-de-acar usando algoritmos genticos. Trabalho de Concluso de Curso. Recife: Escola Politcnica de Pernambuco, 2006. BREGALDA, P. F.; OLIVEIRA, A. F. de; BORNSTEIN, C. T. Introduo Programao Linear. Rio de Janeiro: Editora Campus Ltda., 1988.

CAIXETA FILHO, J. V.; GOLDBARG, M. C.; PACCA, H. L. L. Otimizao Combinatria e Programao Linear: Modelos e Algoritmos. Rio de Janeiro: Editora Campus, 2000. HILLIER, F. S.; LIEBERMAN, G. Introduo Pesquisa Operacional. Rio de Janeiro: Editora Campus Ltda./Editora USP, 1988. LINDEN, R. Algoritmos genticos. Rio de Janeiro: Brasport, 2008. LOESCH, C.; HEIN, N. Pesquisa Operacional: fundamentos e modelos. Blumenau: Editora da FURB, 1999. MACULAN, N. F.; PEREIRA, M. V. F. Programao Linear. Rio de Janeiro: Editora Atlas, 1980. MIRANDA, M. N. de. Algoritmos Genticos: Fundamentos e Aplicaes. Disponvel em http://www.gta.ufrj.br/~marcio/genetic.html, 2009. PACHECO, M. A. C. Algoritmos genticos: princpios e aplicaes. Disponvel em http://www.ica.ele.puc-rio.br/Downloads/38/CE-Apostila-Comp-Evol.pdf. Acesso em 25/11/2009. SANTA CATARINA, A.; BACH, S. L. Estudo do efeito dos parmetros genticos na soluo otimizada e no tempo de convergncia em algoritmos genticos com codificaes binria e real. Acta Scientiarum: Technology. Maring, v. 25, n.2, p. 147- 152, 2003. VIANA, G. V. R. Meta-heuristicas e programao paralela em otimizao combinatria. Fortaleza: EUFC, 1998. FERREIRA, R. S. Matemtica aplicada s cincias agrrias: anlise de dados e modelos. Viosa : UFV, 1999.

Вам также может понравиться