uma alternativa na obtenc¸ao˜ de met´ odos de pontos ...aurelio/artigos/oo.pdf · caso, e´...

15
UMA ALTERNATIVA NA OBTENC ¸ ˜ AO DE M ´ ETODOS DE PONTOS INTERIORES ORIENTADOS A OBJETOS EXPLORANDO ESTRUTURAS ESPARSAS PARA PROBLEMAS DE OTIMIZAC ¸ ˜ AO Anibal Tavares de Azevedo Aurelio Ribeiro Leite de Oliveira Secundino Soares Filho [email protected] [email protected] [email protected] Departamento de Engenharia de Sistemas, Faculdade de Engenharia El´ etrica, Universidade Estadual de Campinas, Av. Albert Einstein, 400, Cidade Universit´ aria, 13083-970, Campinas - SP - Brasil Departamento de Matem´ atica Aplicada, Instituto de Matem´ atica Estat´ ıstica e Computac ¸˜ ao Cient´ ıfica, Universidade Estadual de Campinas, Prac ¸a S´ ergio Buarque de Holanda, 651, Cidade Universit´ aria, 13083-859, Campinas - SP - Brasil Resumo. Problemas de decis˜ ao relacionados a situac ¸˜ oes reais podem assumir grandes di- mens˜ oes. Neste sentido, os m´ etodos de pontos interiores s˜ ao indicados na literatura como fer- ramentas r´ apidas e robustas, desde que aproveitem a estrutura esparsa associada ao problema em quest˜ ao. Para a deduc ¸˜ ao dos m´ etodos de pontos interiores duas abordagens podem ser uti- lizadas. Uma das abordagens apresenta reaproveitamento de c´ odigo e r´ apida implementac ¸˜ ao computacional, mas depende da utilizac ¸˜ ao de conceitos de programac ¸˜ ao orientada a objetos como polimorfismo. O prop´ osito deste trabalho ´ e o de fornecer uma extens˜ ao desta abordagem para a programac ¸˜ ao procedural. Al´ em disso, s˜ ao apresentadas aplicac ¸˜ oes da abordagem ex- tendida para dois problemas reais. Um problema relacionado ao planejamento e controle da produc ¸˜ ao da manufatura e outro relacionado ao planejamento da operac ¸˜ ao de longo prazo de sistemas de potˆ encia. Keywords: Otimizac ¸˜ ao, M´ etodos de pontos interiores, Programac ¸˜ ao orientada a objetos

Upload: others

Post on 17-Jul-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

UMA ALTERNATIVA NA OBTENCAO DE METODOSDE PONTOSINTERIORESORIENTADOS A OBJETOSEXPLORANDO ESTRUTURAS ESPARSASPARA

PROBLEMAS DE OTIMIZAC¸ AO

Anibal TavaresdeAzevedo�

Aurelio Ribeiro Leite deOliveira�

SecundinoSoaresFilho�

[email protected]@[email protected]�DepartamentodeEngenhariadeSistemas,FaculdadedeEngenhariaEletrica,

UniversidadeEstadualdeCampinas,Av. Albert Einstein,400,CidadeUniversitaria,13083-970,Campinas- SP- Brasil�DepartamentodeMatematicaAplicada,InstitutodeMatematicaEstatısticae Computac¸ao

Cientıfica,UniversidadeEstadualdeCampinas,PracaSergio BuarquedeHolanda,651,CidadeUniversitaria,13083-859,Campinas- SP- Brasil

Resumo. Problemasde decisao relacionadosa situacoesreais podemassumirgrandesdi-mensoes.Nestesentido,osmetodosdepontosinterioressao indicadosna literatura comofer-ramentasrapidase robustas,desdequeaproveitema estrutura esparsaassociadaaoproblemaemquestao. Para a deducaodosmetodosdepontosinterioresduasabordagenspodemseruti-lizadas.Umadasabordagensapresentareaproveitamentodecodigoe rapidaimplementac¸aocomputacional,masdependeda utilizacao de conceitosde programacao orientadaa objetoscomopolimorfismo.O propositodestetrabalhoeo defornecerumaextensaodestaabordagempara a programacao procedural. Alemdisso,sao apresentadasaplicacoesda abordagemex-tendidapara doisproblemasreais. Um problemarelacionadoao planejamentoe controle daproducao da manufatura e outro relacionadoao planejamentoda operacao delongoprazodesistemasdepotencia.

Keywords: Otimizacao,Metodosdepontosinteriores,Programacaoorientadaa objetos

Page 2: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

1. INTRODUCAO

Problemasde tomadade decisaopodemserrelacionadosa modelosde otimizacao. Mo-delosdeotimizacaorelacionadosa problemasreaispodemassumirgrandesdimensoes.Nestecaso,e necessario aproveitar a estruturaesparsado problema. Comoos metodosde pontosinterioressaoapresentadosnaliteraturacomometodosrobustose eficientesparaproblemasdegrandeporte,seraoestudadas,nestetrabalho,tecnicasparadeducaodosmesmos.

2. MetodosdePontosInterior es

Historicamente,o desenvolvimentodosmetodosdepontosinterioresteve grandeimpulsodevido a Karmarkar(Karmarkar,1984),e aosbonsresultadosobtidosem(Adler et al., 1989).Hoje emdia osmetodosdepontosinterioresparaprogramac¸aolinearestaobemestabelecidostantoem termosde fundamentac¸ao teorica (Gonzaga,1992;Wright, 1996;TapiaandZhang,1992), quantopratica (Gondzio,1996; Mehrotra,1994; Oliveira and Lyra, 1991), existindoumaseriedecodigosdeboaqualidadedisponıveis(Wright, 1996).

A eficienciadeum metododepontosinteriores(MPI) dependedaexploracaodaestruturaesparsadoproblemaemquestao.Paratanto,existemduasabordagensdededucaodeumMPI.

A primeiraabordagemconsistenasseguintesetapas:

1. Construiro lagrangeanoassociadoaoproblema.

2. Obterascondicoesdeotimalidade.

3. Aplicar o metododeNewtonascondicoesdeotimalidade.

4. Resolvero sistemalinearresultante.

OsMPIs assimdeduzidosseraodenominadosMPIs Tradicionais.Exemplosdeutilizacaodestaabordagemsao fornecidospor (Azevedoet al., 2002a;Oliveiraet al., 2004;BhatiaandBiegler,1999;Castro,2000).

A segundaabordagemepropostapor (GondzioandSarkissian,2003)econsisteem:

1. Construirum metodode pontosinteriores,semconsiderarestruturaesparsaparticular,utilizandoaprimeiraabordagem.

2. Identificarasoperac¸oesalgebricasrelacionadasaoscalculosdosmetodosdepontosinte-riores.

3. Definir asoperac¸oesalgebricasemfuncaodaestruturaesparsadoproblema.

Os MPIs assimdeduzidosserao denominadosdenominadosde MPIs por blocos. Estaabordagem,porem,dependedautilizacaodeconceitosdeprogramac¸aoorientadaaobjetos.Ouseja,aimplementac¸aodemetodosdepontosinterioresserarestritaalinguagensdeprogramac¸aocomoC++ eJava.

Estetrabalhoira estendera abordagemdeGondzioandSarkissian(2003),permitindoqueestapossaserutilizadaemambientesdeprogramac¸aoproceduralcomoMatlab.

Maioresdetalhessobreasabordagensseraofornecidosnasproximassecoes.

Page 3: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

2.1 MPI Tradicional

Parailustrara deducaodeum MPI deacordocomprimeiraabordagem,temoso problemaEq. (1):�������� �������� � ��� ����� ��� (1)

quepodeserreformuladoparaEq. (2):���� ��� ��� �������� � ����� �!� �#"$��%�&�('*) (2)

A funcao Lagrangeanaassociadaao problemade otimizacao, com funcao objetivo nao-lineare restricoeslinearesedadapor:+ �,��������".-0/21%������"435 /6���7� �8" �9��".:;/<�=�>"$?@��".A�BDCE FHG �JILKNM � F � CE FHG ��IOKPM ? FOQSR (3)

As condicoesdeotimalidadedeprimeiraordemsaodadaspor:T �J������" � / -U� 5 ".: � )� �V"W� � )���X�Y" � � )Z\[ � A^]_a` � Ab]N� (4)

onde:Z

,_

,[

e`

saomatrizesdiagonaiscomelementosestritamentepositivose ] e umvetordeunsdedimensaoapropriada.

Parasimplificara notacao,define-sec �=���d� T � �J����� . Aplicandoo metododeNewton ascondicoesdeotimalidade:effffg " c ����� � / "8h h )� ) ) ) )h ) ) ) h) ) Z ) [` ) ) _ )

ikjjjjleffffgWm �m -m 5m :m �

ikjjjjl � effffgonqpn Cnsrnstnsuikjjjjl (5)

onde:������ ����� nsp �T �J�=����" � / -v� 5 "W:n C �,�w" � �nsr � �#"$�V".�nst �A^]Y" Z\[ ]nsu �A^]Y" _x` ]

Page 4: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

Reescrevendoo sistemalinear:� / m -y" m 5 � m :U" c �=��� m � � nqp� m � � n Cm ��� m � � nqrZ m 5 � [ m � � nqt_ m :z� ` m � � nqu (6)

A eliminacao de variaveis do sistemalinear, dadopelaEq. (6), fornecera o MPI primaldualcomvariaveiscanalizadase restricoesdeigualdade:

Tabela1: MPI primaldualparaestruturaesparsa{ .MPI Primal Dual estrutura esparsa

�Dados���}|~���~|q� 5 |s�<:P|��w�S) , -�|��=��� n ] e ��� ��)��s��� ;Para � �)��s�N� R�R�RAb�8�������s�� C ,onde: C � dimensaodovetor �=�%�&��� , ��� e o GAPe���~�� C e o GAPmedio.n �p � T �����}�~��" � / -��\� 5 ��"W:P�n �C �,��" � �}�n �r � �#"$�}�d"��~�n �t �A � ]z" Z � [ � ]n �u �A � ]z" _ � ` � ]n �� � n �p � Z�� � � n �t " [ n �r �J"*� _ � � � � n �u� �8��� c �=�}�s�^�� Z �~� � � [ ���,� _ �s� � � ` �~�m -��Y��� � � � �q� � � � / � � � � n �C � � � � �q� � � n �� �m �}�z��� � �~� � � � � / m -��w" n �� �m �s�8� n �r " m �}�m 5 �8��� Z �~� � � � n �t " [ � m �s�s�m :P�z��� _ �s� � � � n �u " ` � m �}�~�] �C p �,���V� 

F¢¡£�¤�¥¦�§ |©¨ � ¤ ¥¦£�¤�¥¦}ª ��  F¢¡£�«�¥¦�§ |©¨ � « ¥¦£�«�¥¦¬ª ��  F¢¡£&­¬¥¦q§ |v¨ � ­ ¥¦£&­¬¥¦�ª �  F¢¡£&®¯¥¦s§ |©¨ � ® ¥¦£�®¯¥¦bª�°± �² r ¤ ����J�¯�N� � ]s�C p �± �C p �   F¢¡³ ¥&´0µ |·¶ ³ ¥¸�¹»º·¼ ��� ± � �-���½ � ��-��\� ± �C p m -��� ��½ � ��� � � ± �C p m � �� ��½ � �,� � � ± �C p m � �5 ��½ � � 5 �\� ± �C p m 5 �:P�<½ � �:��w� ± �C p m :P��¿¾ � ���AteConvergir

Cabedestacarque,a inversao de� � � � � / , paraencontrarm - , envolve a maior partedo

esforco computacionaldonossometodo.Mas,dadoque�

e c ����� sao ÀÂÁ7à , ÀÅÄÆà , tendoÀlinhaslinearmenteindependentes,entao,

� � � � � / e simetrica,definidapositivae,napratica,eusadaadecomposic¸aodeCholesky pararesolvero sistemalinear(Wright, 1996).

Page 5: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

Paraproblemasemqueamatriz�

possuiumaestruturaesparsablocoprimaldadapor:

A �efffffffg� � ) Ç~Ç~Ç ) )) � � Ç~Ç~Ç ) )) ) ... ) )...

... Ç~Ç~Ç ......) ) Ç~Ç~Ç � ¡ )Z � Z � Ç~Ç~Ç Z ¡ � ¡ ½ �ikjjjjjjjl (7)

OspassosdescritosanteriormentedevemserseguidosparasededuzirumMPI tradicional.Detalhesdestaabordagempodemser vistosem (Azevedoet al., 2002a;BhatiaandBiegler,1999;Castro,2000).

2.2 MPI por Blocos

A grandevantagemdestaabordagemnodesenvolvimentodosMPIsea facilidadecomquesepodeexplorarasestruturasesparsasdamatriz

�.

A ideiachavedoprocessoe identificarquaissaoasoperac¸oesmatriciaisrelacionadascomoscalculosdosMPIs,comodescritonaFig. 1.

Figura 1: Identificacaodasoperac¸oesmatriciaisdeumMPI.

A Figura1 mostraqueparasedefinirum MPI deacordocomumaestruturaesparsaparti-cular, bastaseredefiniro significadodasseguintesoperac¸oesmatriciaisÈzÉ :Ê DadosA eD, calcular ËXÌ*ÍÏÎ�Ð É ÍzÑ .Ê CalcularosfatoresËXÌ�Ò�ÒJÑ .Ê ResolverossistemaslinearesË�Ó ÌÔ , Ò�Õ¿ÌÔ e ÒJÑ=ÓÖÌ*Õ .

Page 6: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

× Produtodematrizcomvetor: Ø : , Ø / : para�

,�

e Ù .

Ouseja,parasededuzirum MPI porblocos,cujamatriz�

possuia estruturaesparsadadapelaEq. (7),bastautilizar o MPI daTabela1 comoperac¸oesmatriciaisÚ � redefinidasdeacordocomaEq. (7).

SupondodefinidaumaclasseVector, quedescreve osvetoresassociadosasmatrizes,umapossıvel declarac¸aodeumaclasseabstrataMatrix seria:

class Matrix{virtual void ComputeAThetaAt(Matrix theta);virtual void Factorize();virtual void SolveAThetaAt(Vector x, Vector y);virtual void SolveTriang(Vector x, Vector y);virtual void SolveTransTriang(Vector x, Vector y);virtual void MatrixVectProd(Vector x, Vector y);virtual void MatrixTransVectProd(Vector x, Vector y);

}

A classeMatrix podeserestendidaparaclassesconcretasasquaisseraoresponsaveisporfornecerumaimplementac¸aoparaasfuncoesmembro.

Ou seja,utilizandoo polimorfismode um objetoda classeMatrix (e possıvel representardiferentesobjetosquecompartilhamosmesmosmetodos)asoperac¸oesapropriadassaoimple-mentadasdeacordocomaestruturaesparsadamatriz.

A Figura2 ilustraaaplicacaodesteconceitoparamatrizes�

blocoprimal.

Figura 2: Classesparamatriz Û blocoprimal.

A classeAblock representaa matriz Í bloco primal do problema. Como a matriz Í ecompostapormatrizessupostassemestruturaesparsadefinida,denominadagenericas(matrizesÍzÜ e Ý Ü ), entao, ela utiliza classesque implementamestasmatrizese suasoperac¸oes(classeGenerica).

Isto so e possıvel, poisasclassesAblock e Genericaherdama mesmainterface,daclasseMatrix, quedefineasoperac¸oes ÈzÉ .

Comissoumamultiplicacaodeum objetomatriz Í daclasseAblock por um vetor Ó podeserrepresentadaemtermosdasoperac¸oesdefinidasnaclasseGenerica.

Dessaforma,partedadeclarac¸aodaclasseAblock, contendodoisvetoresdematrizesdaclasseGenerica, sera:

Page 7: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

class Ablock : public Matrix{private:int NumBlocksGenerica[] Ai;Generica[] Si;

}

A Figura3 forneceumesquemadecalcular -�� � � , matriz�

comoemEq. (7),apartirdasoperac¸oesdemultiplicacaodematrizpor vetordefinidasnaclasseGenerica(ou seja,-#� � F �e -7� Z F � ).

Figura 3: Operac¸ao Þ©ß${�à paramatriz { constituıdaporblocosdematrizesgenericas.

Comoobservadonaapresentac¸aodo MPI daTabela1, a operac¸aodemaiorcustocompu-tacionale a resolucaodosistema(8):� � � � � � / � m -7��� n C � � � � � n � �âá Ù ����� (8)

onde:� � c �=���^� Z�� � [ � _ � � ` .

Uma observacao importantee que paraproblemasem que �J�=��� e linear ou quadratica,c ����� e matrizdezerosou diagonal,respectivamente.Assim,�

sera matrizdiagonaltal queocalculode

� � �emuito rapido.

Porem,paraproblemasemquea funcaoobjetivo e nao-linear, a estruturadamatriz c �=���poderaserdiferentedeumamatrizdiagonal.

Paraos casosem quea funcao ������� e linear ou quadratica,tal que�

e matriz diagonalseparadaporblocos,eamatriz

�e blocoprimal:

� � efffffg � � ) Ç~Ç~Ç ) )) � � Ç~Ç~Ç ) )

......

......

...) ) Ç~Ç~Ç � ¡ )Z � Z � Ç~Ç~Ç Z ¡ � ¡ ½ �i jjjjjl � �

efffffg � � ) Ç~Ç~Ç ) )) � � Ç~Ç~Ç ) )...

......

......) ) Ç~Ç~Ç � ¡ )) ) Ç~Ç~Ç ) � ¡ ½ �i jjjjjl (9)

Entao,amatriz� � � � � / sera dadapor:

Page 8: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

ãäääääå!æ�ç è é¯é@é è èè æëêìé¯é@é è è......

......

...è è é¯é@éíæëî èï ç ï ê é¯é@é ï î æ î&ð�çñóòòòòòôõ ö6÷ øùãäääääåÏúUû çç è é¯é¯é è èè ú!û çê é¯é¯é è è...

......

......è è é¯é¯é ú û çî èè è é¯é¯é è ú!û çî&ð�çñóòòòòòôõ ö»÷ øübýqþãäääääåÏæ�ÿç è é@é¯é è ï ÿçè æ ÿ ê é@é¯é è ï ÿê...

......

......è è é@é¯éÂæ%ÿî ï ÿîè è é@é¯é è æ%ÿî�ð�çñóòòòòòôõ ö»÷ øù���

�effffffffg� � � � �� � / � ) Ç~Ç~Ç ) � � � � �� Z /�) � � � � �� � / � Ç~Ç~Ç ) � � � � �� Z /�

......

......

...) ) Ç~Ç~Ç � ¡ � � �¡ � /¡ � ¡ � � �¡ Z /¡Z � � � � / � Z � � � �� � / � Ç~Ç~Ç Z ¡ � � �¡ � /¡ ¡ ½ �E FkG � Z F � � �F Z /F � � ¡ ½ � � � �¡ ½ � � /¡ ½ �i jjjjjjjjl �

� efffffg Ù � ) Ç~Ç~Ç ) � /�) Ù � Ç~Ç~Ç ) � /�...

......

......) ) Ç~Ç~Ç Ù ¡ � /¡� � � � Ç~Ç~Ç � ¡ Ù ¡ ½ �i jjjjjl � Ù

onde:� F � Z F � � �F � /F e Ù F � � F � � �F � /F , para �7�ì�N�sÇ~Ç~Ç9�< e Ù ¡ ½ � �

¡ ½ �E FHG � Z F � � �F Z /F �� ¡ ½ � � � �¡ ½ � � /¡ ½ � .A fatoracaodamatriz Ù e dadapor:

Ù ��� Ç�� / � efffffg � � ) Ç~Ç~Ç ) )) � � Ç~Ç~Ç ) )

......

......

...) ) Ç~Ç~Ç � ¡ )� ¡ ¶ � � ¡ ¶ � Ç~Ç~Ç�� ¡ ¶ ¡ � ¡ ½ �i jjjjjlefffffg � / � ) Ç~Ç~Ç ) � /¡ ¶ �) � / � Ç~Ç~Ç ) � /¡ ¶ �...

......

......) ) Ç~Ç~Ç��J/¡ �J/¡ ¶ ¡) ) Ç~Ç~Ç ) � /¡ ½ �i jjjjjl

assim:����� ���� �F � /F � Ù F� ¡ ¶ F Ç�� /F � � F¡E FHG � � ¡ ¶ F Ç�� /¡ ¶ F ��� ¡ ½ � � /¡ ½ � � Ù ¡ ½ � R (10)

Utilizandoo sistema(10)pararesolvero sistemaÙ � �,� :������� ������ :F ��� � �F � F ���ë� �P�sÇ~Ç~Çb�<: ¡ ½ � �� � �¡ ½ � �2� ¡ ½ � "

¡E FHG � � F � � /F : F �� ¡ ½ � �� � /¡ ½ � : ¡ ½ �� F ��� � /F �2: F "� � �F � /F � ¡ ½ � �&���ë�D�N�sÇ~Ç~Çb�< (11)

Page 9: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

A implementac¸ao do MPI apresentadona Tabela1 considerandomatrizes�

e�

, comodescritasna Eq. (9), implica na construc¸ao de duasclassesAblock e Dblock. As operac¸oesmatriciaisdessasmatrizessaocomodescritasanteriormente.

A Figura4 apresentacomoseraa trocademensagensentreasclassesAblock eDblock.

Figura 4: MensagensentreasclassesAblock (matriz { ) e Dblock (matriz � ).

E importanteobservar quea Fig. 4 e um detalhamento,em termosdasfuncoesmembrodefinidaspelainterfacedaclasseabstratamatrix, dasoperac¸oesdo nıvel 1 daFig. 1.

Al emdisso,asoperac¸oesmatriciaiscomo� � ��- , representadaporA.matrixVectProd, sao

definidascomodescritonaFig. 3. Istoso epossıvel comautilizacaodopolimorfismo,tal queofuncionamentodasoperac¸oesmatriciaisdependemdotipo deestruturaesparsaqueedeclaradaparaasmatrizes

�e�

.

2.3 MPI por blocosmodificado

Paradeduzirum MPI, utilizandoos conceitosilustradosna secao anterior, e necessarioobservarqueasmensagensentreasclassespodemsersubstituıdaspor funcoes.Estasfuncoes,porem,estaoassociadasaumdeterminadotipo deestruturaesparsa.

O codigodamultiplicacaodeumamatriz�

, comestruturaesparsadadaemEq. (7), porum vetor � , cujo resultadoe um vetor - , ou seja ->� � � , e dado,emMatlab(programandodemaneiraprocedural),por:

function [y] = matrixVectProdAblock(Ai,Si,x,n)

% Inicializacao de variaveis.y = [];fxi = 0;ys = 0;

% Loop de construcao de yi, i = 1,...,n.for i = 1:n

% Indices de particao de x.ixi = fxi + 1;fxi = fxi + size(Ai{i},2);

% Particionando x.

Page 10: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

xi = x(ixi:fxi);% Calculo dos yi.[yi] = matrixVectProdDensa(Ai{i},xi);

% Ultimo bloco yi.ys = ys + matrixVectProdDensa(Si{i},xi);

% Armazenando em y os blocos yi.y = [y; yi];

end

% Novo valor de xi.ixi = fxi + 1;fxi = fxi + size(Ai{n+1},2);xi = x(ixi:fxi);

% Obtendo o ultimo termo do bloco ys.ys = ys + matrixVectProdDensa(Ai{n+1},xi);

% Armazenando o ultimo bloco na resposta.y = [y; ys];

Ou seja,no lugar de sededuziro MPI paraa estruturaesparsabloco angularpor meiodaorientacaoa objetoscomodescritonaFig. 2, e promovida a reutilizacaode funcoescomodescritonocodigoanterior.

Assim, a funcao matrixVectProdAblock, associadaa -�� � � da estruturaesparsablocoangular, e elaboradautilizandoa funcaomatricVectProdDensa, querepresenta- F � � F � F paramatrizes

� Fdensas.

Por meio destaabordagem,o MPI queeraconstruıdo pelaorientacao a objetoscomonaFig. 4, seracodificadocomoindicadonaFig. 5.

Figura 5: Funcoesaseremutilizadasparacadatipo dematriz(Ablock = { eDblock = � ).

Vale observar quea Fig. 5 mostraumadesvinculac¸ao entreas funcoesmembroe suasrespectivasclasses.Portanto,adiferenciac¸aoentreummultiplicacao -7� � � paraumaestruturamatricial bloco angularou densanao e feita mais pelo polimorfismo,e sim pelo nomedasfuncoes.

Assim, e possıvel aliar o reaproveitamentode codigo ja elaboradoparaoutrasestruturasesparsasdoenfoquedeGondzioandSarkissian(2003)comacapacidadederapidaprototipacaodefuncoesdoMatlab.

Page 11: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

3. Aplicacoesdo MPI por blocosmodificado

Parailustrara aplicacaodosconceitosanteriores,nestasecaosera mostradaa construc¸aodeMPI porblocosparadoistiposdeproblemas:× O problemadeplanejamentoecontroledaproducao(PCP)damanufatura.× O problemadeplanejamentodaoperac¸aodelongoprazo(POLP)dageracaohidreletrica.

O objetivo emostrarcomoaplicaraabordagemdededucaodoMPI porblocosmodificadodeacordocomaestruturaesparsadoproblemaapresentado.

3.1 Aplicacoesemproblemasdemanufatura

O planejamentoe controledaproducao(PCP)e a formapelaqualasempresasgerenciama transformac¸ao de materias-primasem produtos.A funcao do PCPe de coordenartodasasatividades,desdea aquisicaodoscomponentesnecessariosate aentregadeprodutosacabados.O PCPpodeser dividido em 3 nıveis de planejamentodistintos: Planejamentoestrategico,Planejamentotaticoe PlanejamentoOperacionale e especialmenteimportanteparalidar comlimitacoescomocustos,capacidade,tempoe qualidade.

Como adventodosavancostecnologicos,temsidodadaumamaiorenfasea utilizacaodesistemascomputacionaisna manufatura. Um importantegrupodossistemascomputacionaissaoossistemasdemanufaturaflexıvel (FMS).O FMS eumacolecaodemaquinas,geralmentecontroladasnumericamente,ligadaspor um sistemaautomaticodemanipulac¸aodemateriaisedirigido porumcomputadorcentral.

O FMSpossuicapacidadedeseadaptarrapidamenteaalteracoesnosprodutos,resultandoemsetupsdesprezıveisequedevemserincluıdosnostemposdeprocessamento(Carvalhoetal.,1999).

ConsiderandoqueexisteumatendenciadeadocaodoFMSnasmanufaturasequenoFMSossetupssaodesprezıveis,o modelomatematicopropostopor Carvalhoet al. (1999)podeseradotado.

Assim, o problemade planejamentoe controleda producao da manufaturapodeutilizarumamodelagemdefluxosemredescomrestricoesdecapacidademutuaqueresultara emumproblemadeprogramac¸aolineardadopelaEq. (12).

��� ¡ ½ �E FkG � � F � Fefffffg � � ) Ç~Ç~Ç ) )) � � Ç~Ç~Ç ) )...

......

......) ) Ç~Ç~Ç � ¡ )Z � Z � Ç~Ç~Ç Z ¡ hikjjjjjlefffffg � �� �

...� ¡� ¡ ½ �ikjjjjjl �

efffffg � �� �...� ¡mikjjjjjl� F �W� F �� F , �����N�sÇ~Ç~Ç9�<¿���

(12)

onde:� F

representaa matriz associadaa linha de montagemdo produto � , � e um vetorcujoscomponentes� F representama disponibilidadedemateria-primae a demandaparacadaproduto� , � F representao valor dosfluxosdo produto � nosdiversosestagiosdalinha demon-tagem,� F representaa utilizacao mımima da maquina� , F expressaa capacidademaximadeproducaodamaquina� , Z F saoasmatrizesquerepresentamasrestricoesdecapacidademutua

Page 12: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

associadasaosfluxos � F dosprodutos� na linha de montagem,e m e um vetor cujoscompo-nentesrepresentamquea capacidademaximade processamentosimultaneode produtosumamaquina� naodeve ultrapassarseulimite m � , e a funcaoobjetivo e relacionadaaoscustosdetransporteouprocessamentodosprodutos.

Estarepresentac¸aoutiliza a ideia intituitiva quede os componentes”fluem”pelamanufa-tura,sendoprocessadospor maquinasate setornaremprodutosfinais. Maioresdetalhessobreaconstruc¸aodomodeloem(Azevedoetal., 2002a,b).

Devido as dimensoesque o problemade PL, associadoao planejamentoda producao,podeassumir, emaplicacoespraticas,torna-senecessario o desenvolvimentodeum metododeresolucaoqueexploreaestruturadoproblema(Carvalhoetal., 1999;Yamakamietal.,2000).

ParasededuzirumMPI porblocosparaesteproblema,bastaverificarque� ¡ ½ � , damatriz�

dadaporEq. (9), e igualamatrizidentidadeh . UmadiscussaodetalhadaentreadeducaodoMPI tradicionaleo MPI porblocos,paraesteproblema,e fornecidaem(Azevedoetal.,2004).

3.2 Aplicacoesemgeracaohidreletrica

Naatualsociedade,aenergiaeletricatemumamploe importantepapel.Desdeautilizacaoparafins domesticos,ate naindustria,naoe possıvel concebera faltadesteimportanteinsumoem qualqueratividade. Portanto,e imprescındivel o planejamentootimizadodesteinsumo,considerandoa etapasdegeracao, transmissaoe distribuicao. Comotal planejamentoe tarefacomplexa,ageracaoeatransmissaosaoconsideradaspormeiodeumaCadeiadePlanejamento.A CadeiadePlanejamentodivideo problemaemdoishorizontesdetempo:× O problemadaoperac¸aodelongoprazo(POLP)consideraaspectoshidraulicos(geracao)

e umhorizonteanual.× O problemadaprogramac¸aodecurtoprazo(PPCP)consideraaspectoseletricos(trans-missao)ehorizontedeumasemana.

Pararesolvero POLP, umamodelagemdefluxosemredescomrestricoeslinearesefuncaoobjetivo nao-linearpodeserutilizadaCarvalhoandSoares(1987);OliveiraandSoares(1995);Cicogna(1999).

Paratanto,foi utilizadoo esquemadescritonaFig. 6.Assim, e obtidoum problemadefluxosem redesnao-linearcom arcoscapacitados,cuja

formulacaomatricialsimplificadaedadaporEq. (13):���� �J� 3���Z R � R � � 3� ����� 3���� R (13)

Onde: 3��� � � � e� � � 3� � Z � , sendo o vetor associadoasdefluenciasdas

usinase � o vetorassociadoaosvolumesdasusinas.Paraa rededaFigura6, asmatrizes 3� e

Zseraodadaspor:

3� � eg h ) )"zh h )) "zh h il eZ � eg � ) )) � )) ) � il R (14)

Onde: h e matriz identidade,� e matriz de incidenciano-arcoparaasvariaveis de de-fluencia .

Page 13: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

Figura 6: Grafopara4 usinase 3 perıodos.

Para deduzirum MPI por blocosadaptadoparaesteproblemae necessario redefinir asoperac¸oesmatriciaisÚ � . Destacamosredefinicaodaoperac¸aodadaporEq. (8).

Inicialmente,eimportanteobservarqueamatrizHessianac �=��� doPOLPpossuiaseguinteestrutura:

c �����\� � c � c �c � c���� R (15)

Onde: c � , c � e c�� saomatrizesdiagonais.A matriz

�temamesmaestruturadamatriz c , demaneiraque

� � �podeserrapidamente

obtidaeamatriz� � � � � / teraumaestruturatridiagonal.

Comoexemplo,amatriz� � � � � / , paraa rededaFig. 6, seradadapor:

٠� � � � � � /^� eg ٠� � /� )� � ٠� � /�) � � �� il (16)

Onde:� F � � � � ���� F! � � � ��"� F# � / � , ٠� � � � ������ � � � ��"��� � / ����� � � ��"��� � � � �� ��� �*?@� e ٠F �� � ���� F � � � � � ���� F! � � � ��"� F! � / �D��� � � ��"� F! � � � �� � F! �*?@� , $ � � � , tal que

� � ���� F# , � � ��"� F! e� � �� � F! sao

submatrizesde� � �� ,

� � �� e� � �� queporsuavezsaosubmatrizesde

� � �.

A fatoracaodamatriz Ù e dadapor:

Ù ��%� / � eg � � ) )� ¡ ¶ � � � )) � ¡ ¶ � � �il eg � / � � /¡ ¶ � )) � / � � /¡ ¶ �) ) � / � il � (17)

Page 14: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

assim:�� � � � � / � � Ù �� ¡ ¶ F � F � � F � $ ��� �N�'&� ¡ ¶ F � � � /¡ ¶ F � � ��� F � /F � Ù F R (18)

UtilizandoaEq. (17)pararesolvero sistema(8):���� ��� : � ��� � �� � �: F ��� � �F �2� F " � F � � � � /F � � : F � � �&�<�ë�&��sÇ~Ç~Ç9�)(� � ��� � /� : �� F ��� � /F �2: F "*� � �F � /F � F ½ � ���<��� �N�sÇ~Ç~Çb�'& (19)

4. ConclusoeseTrabalhosFuturos

Na tomadade decisao, relacionadosa problemasreaise comuma obtencao de modelosmatematicosdegrandeporte. Paraa resolucaodosmesmos,osmetodosdepontosinteriores,queexplorama estruturaesparsado problema,sao indicados,na literatura,comoumaalter-nativa rapidae robusta. O maior trabalho,porem, esta relacionadoa corretudee a tempodedesenvolvimentodasdeducoesmatematicasquefornecemos MPIs. Por meio da abordagemexpostanestetrabalho,epossıvel unir o rapidodesenvolvimentodeprogramasemMatlab,comareutilizacaodecodigodaprogramac¸aoorientadaaobjetivo. Isto resultaraemumamaiorfaci-lidadenaidentificacaodeerrosdeprogramac¸ao,reduzindoo tempodeconstruc¸aodeprogramasdeMPIs. Comotrabalhosfuturose interessanteaplicara abordagempropostaparaalem dosproblemasdePCPdamanufaturaedoPOLPdesistemasdepotenciaaquidescritos.

Agradecimentos

Estetrabalhocontoucomo suportefinanceirodaFundac¸aodeAmparoa Pesquisado Es-tadodeSaoPaulo(FAPESP),daCoordenac¸aodeAperfeicoamentodePessoaldeNıvel Supe-rior (CAPES)edoConselhoNacionaldeDesenvolvimentoCientıfico eTecnologico(CNPq).

Referencias

Adler, I., Resende,M. G. C.,Veiga,G.,& Karmarkar, N., 1989.An implementationof karmar-kar’s algorithmfor linearprogramming.MathematicalProgramming, vol. 44,pp.297–335.

Azevedo, A. T., Carvalho, M. F. H., Oliveira, A. R. L., & Soares,S., 2002a. Metodosdepontosinterioresaplicadosa problemademultifluxo comrestricoesadicionais.TendenciasemMatematicaAplicadaeComputacional, vol. 3, n. 1, pp.41–50.

Azevedo,A. T., Carvalho,M. F. H., Oliveira,A. R. L., & Soares,S., 2002b. Planejamentoecontroledaproducaovia fluxosemredescommetodosdepontosinteriores. In RevistadoXIV CongressoBrasileiro deAutomatica.

Azevedo,A. T., Carvalho,M. F. H., Oliveira,A. R.L., & Soares,S.,2004.Eficienciaerobustezdemetodosdepontosinterioresnoplanejamentoecontroledaproducaomodeladoporfluxosemredes.In SubmetidoaoXXXVISimposioBrasileiro dePesquisaOperacional.

Bhatia,T. & Biegler, L., 1999. Multiperiod designandplanningwith interior point methods.ComputerandChemicalEngineering, vol. 23,n. 7, pp.919–932.

Page 15: UMA ALTERNATIVA NA OBTENC¸AO˜ DE MET´ ODOS DE PONTOS ...aurelio/artigos/oo.pdf · caso, e´ necessario´ aproveitar a estrutura esparsa do problema. Como os metodos´ de pontos

Carvalho,M. & Soares,S.,1987. An efficient hydrotermalschedulingalgorithm. IEEE Tran-sactionsonPowerSystems, vol. 2, n. 3, pp.537–542.

Carvalho, M. F., Fernandes,C. A. O., & Ferreira,P. A. V., 1999. Multiproduct multistageproductionscheduling(mmps)for manufacturingsystems. ProductionPlanningControl,vol. 10,n. 7, pp.671–681.

Castro,J., 2000. A specializedinterior-point algorithmfor multicommoditynetwork flows.SIAMJ. Optimization, vol. 10,n. 1, pp.852–877.

Cicogna, M., 1999. Modelo de Planejamentoda Operacao Energetica de SistemasHi-drotermicosa UsinasIndividualizadasOrientadopor Objetos. PhDthesis,TesedeMestradodaFEEC- UNICAMP - Campinas.

Gondzio,J.,1996. Multiple centralitycorrectionsin a primal-dualmethodfor linearprogram-ming. ComputationalOptimizationandApplications, vol. 6, pp.137–156.

Gondzio,J.& Sarkissian,R.,2003.Parallelinteriorpointsolverfor structuredlinearprograms.MathematicalProgramming, vol. 96,n. 3, pp.561–584.

Gonzaga,C. C.,1992.Pathfollowing methodsfor linearprogramming.SIAMReview, vol. 34,n. 2, pp.167–227.

Karmarkar, N., 1984. A new polinomial-timealgorithmfor linearprogramming.Combinato-rica, vol. 4, n. 4, pp.373–395.

Mehrotra,S.,1994.On implementationof aprimal-dualinteriorpointmethods.SIAMJournalonOptimization, vol. 2, n. 4, pp.575–601.

Oliveira, A. & Lyra, C., 1991. Implementac¸ao de um metodo de pontos interioresparaprogramac¸aolinear. RevistaSBA: ControleeAutomacao, vol. 3, n. 2, pp.370–382.

Oliveira,A., Soares,S.,& Nepomuceno,L., 2004. Shorttermhydroeletricschedulingcombi-ning network flow andinterior point approaches.Aceito parapublicacaonaEletricalPower& Energy Systems.

Oliveira,G. & Soares,S.,1995.A second-ordernetwork flow algorithmfor hydrotermalsche-duling. IEEETransactionsonPowerSystems, vol. 10,n. 3, pp.1635–1641.

Tapia,R. A. & Zhang,Y., 1992. Superlinearandquadraticconvergenceof primal-dualinte-rior point methodsfor linear programmingrevisited. Journal of OptimizationTheoryandApplications, vol. 73,pp.229–242.

Wright, S.J.,1996.Primal-Dual Interior-Point Methods. SIAM Publications.

Yamakami,A., Takahashi,M. T., & Carvalho,M. F., 2000.Comparisonof somealgorithmsformanufacturingproductionplanning.IFAC-MIM 2000SymposiumonManufacturing, Mana-gementandControl, vol. , pp.280–284.