Sie sind auf Seite 1von 66

332 Lapso 2011-2

Especialista: Jess Espinal Ingeniera de Sistemas Evaluador: Carmen Velsquez





UNIVERSIDAD NACIONAL ABIERTA
AREA DE INGENIERA
CARRERA DE INGENIERA DE SISTEMAS

TRABAJO PRACTICO: 1

ASIGNATURA: GRAFOS Y MATRICES

CDIGO: 332

FECHA DE ENTREGA DE LAS ESPECIFICACIONES
AL ESTUDIANTE:
Adjunto a Primera Prueba Parcial.

FECHA DE DEVOLUCIN DEL INFORME POR EL
ESTUDIANTE:
Adjunto a Prueba Integral.

NOMBRE DEL ESTUDIANTE: Tirso R. FERNNDEZ M.

CDULA DE IDENTIDAD: V-6.122.911

CORREO ELECTRNICO: rubenferm@gmail.com

CENTRO LOCAL: Metropolitano (01) UNIDAD DE APOYO: San Antonio (04)

CDIGO DE CARRERA: 236

NMERO DE ORIGINALES: 66

FIRMA DEL ESTUDIANTE:


LAPSO 2011-2



RESULTADOS DE CORRECCIN:
OBJ N: 6 8 9 10
0:NL; 1:L




Rubn
FERNND
EZ
Firmado digitalmente por
Rubn FERNNDEZ
Nombre de reconocimiento
(DN): cn=Rubn FERNNDEZ,
o=FII, ou=CIES,
email=rubenferm@gmail.com,
c=VE
Fecha: 2012.03.23 12:20:40
-04'30'




































UNIVERSIDAD NACIONAL ABIERTA
GRAFOS Y MATRICES (332)
Tirso Rubn FERNNDEZ
C.I. V-6.122.911



Carrizal, 23 de Marzo del 2012
Trabajo Prctico: Mtodos Numricos Iterativos TABLA DE CONTENIDO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 3-66


TABLA DE CONTENIDO

1.1. NDICE DE CONTENIDO
TABLA DE CONTENIDO.............................................................................................................................................3
1.1. ndice de Contenido................................................................................................................................3
1.2. ndice de Ilustraciones y Tablas .............................................................................................................5
1.2.1 Figuras..........................................................................................................................................................5
1.2.2 Tablas...........................................................................................................................................................5
2. RESUMEN...........................................................................................................................................................7
3. INTRODUCCIN................................................................................................................................................7
3.1. DEFINICIN CONTEXTUAL ........................................................................................................................7
4. DESARROLLO TERICO...................................................................................................................................10
4.1. OBJETIVO 6: Mtodos de Jacobi y Gauss Seidel..............................................................................10
4.1.1 Sistema de Ecuaciones Asociado con el Problema. ............................................................................10
4.1.2 Breve explicacin Algoritmos de Jacobi y Gauss- Seidel.....................................................................11
4.1.3 Algoritmo JACOBI .....................................................................................................................................11
4.1.4 Algoritmo GAUSSSEIDEL..........................................................................................................................13
4.1.5 Reformulacin Sistemas de Ecuaciones.................................................................................................14
4.1.6 Clculo Trminos de la Sucesin.............................................................................................................15
4.1.7 Convergencia de la Sucesin .................................................................................................................17
4.1.8 Anlisis Comparativo de los Algoritmos..................................................................................................18
4.2. OBJETIVO 8: Algoritmo de CUTHILLMCKEE (CM) ................................................................................19
4.2.1 Grafo Asociado al Problema...................................................................................................................19
4.2.2 Matriz Dispersa Asociada al Grafo..........................................................................................................20
4.2.3 Clculo Ancho de Banda de la Matriz...................................................................................................21
4.2.4 Aplique el algoritmo Cuthill Mc kee. ....................................................................................................21
4.2.5 Calcule Nuevo Ancho de Banda de la Matriz. .....................................................................................22
4.2.6 Anlisis de los resultados obtenidos referidos a la Compaa Manufacturera G & M......................22
4.3. OBJETIVO 9: Modelo de Grafos de Eliminacin ..................................................................................23
4.3.1 Aplicacin del Modelo de Grafos de Eliminacin ................................................................................23
4.3.2 Anlisis de lo Obtenido Referido a la Compaa ..................................................................................27
4.4. OBJETIVO 10: ALGORITMO DE MNIMO GRADO...................................................................................28
4.4.1 Aplicacin Algoritmo de Mnimo Grado ................................................................................................28
4.4.2 Anlisis de Resultado obtenido referido a la compaa manufacturera G & M...............................30
5. CONCLUSIONES..............................................................................................................................................31
5.1.1 Conclusiones.............................................................................................................................................31
6. REFERENCIAS...................................................................................................................................................32
6.1. Bibliogrficas ..........................................................................................................................................32
6.2. Referencias WEB.....................................................................................................................................32
7. ANEXOS...........................................................................................................................................................33
7.1. IMPLEMENTACIN DE ALGORITMOS Y MODELOS EN EXCEL................................................................33
Trabajo Prctico: Mtodos Numricos Iterativos RESUMEN



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 4-66

7.1.1 PGINA DATOSDEL PROBLEMA ..............................................................................................................33
7.1.2 PGINA ALGORITMOSJACOBI Y GAUSS-SEIDELL...................................................................................34
7.1.3 PGINA ALGORITMO CUTHILL-McKEE.....................................................................................................35
7.1.4 PGINA MODELO DE GRAFOSDE ELIMINACIN...................................................................................36
7.1.5 PGINA ALGORITMO DE MNIMO GRADO.............................................................................................37
7.1.6 Programas Desarrollados para los Algoritmos.......................................................................................38
7.2. CONCEPTOS PRELIMINARES ...................................................................................................................52
7.2.1 Sistema de Ecuaciones Lineales (SEL).....................................................................................................52
7.2.2 Matriz Triangular ........................................................................................................................................53
7.2.3 Matriz Simtric a .........................................................................................................................................53
7.2.4 Matriz Definida Positiva.............................................................................................................................54
7.2.5 Matriz Indefinida........................................................................................................................................54
7.2.6 Matriz Diagonalmente Dominante y Diagonal Estrictamente Dominante.........................................54
7.2.7 Matriz Dispersa...........................................................................................................................................55
7.2.8 Sistemas de Gran Dimensin ...................................................................................................................57
7.2.9 Representacin de Matrices c on Grafos...............................................................................................58
7.3. MTODOS ITERATIVOS BSICOS.............................................................................................................59
7.3.1 Algoritmo de Cuthill-Mckee (CM) ...........................................................................................................60
7.3.2 Algoritmo de Cuthill-McKee inverso (RCM)............................................................................................61
7.3.3 Algoritmo de Grado Mnimo....................................................................................................................62
8. ESPECIFICACIONES DEL TRABAJO.................................................................................................................63
8.1. Planteamiento del Problema ................................................................................................................63
8.2. INSTRUCCIONES GENERALES SOBRE EL TRABAJO PRCTICO...............................................................65
8.3. CRITERIO DE CORRECCIN....................................................................................................................65
8.3.1 Objetivo Nos. 6, 8, 9, 10 ............................................................................................................................65
ACRNIMOS Y SIGLAS ..........................................................................................................................................66

Trabajo Prctico: Mtodos Numricos Iterativos RESUMEN



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 5-66


1.2. NDICE DE ILUSTRACIONES Y TABLAS
1.2.1 FIGURAS

Figura 1. Representacin de variables Xi, utilizadas por el mtodo iterativo de Jacobi. .....................................................11
Figura 2. Algoritmo General para aplicacin del Mtodo Jacobi............................................................................................13
Figura 3. Ecuaciones representativas Algoritmo Gauss-Seidel. ..................................................................................................13
Figura 4. Algoritmo en Visual Basic para el Mtodo Iterativo de Gauss-Seidel.......................................................................14
Figura 5.Grafo Asociado al Problema.............................................................................................................................................20
Figura 6.Modelo Grafo Eliminacin, Iteracin 0, Grafo GA. .......................................................................................................24
Figura 7.Modelo Grafo Eliminacin, Iteracin 1, Grafo GH1. .....................................................................................................25
Figura 8.Modelo Grafo Eliminacin, Iteracin 2, Grafo GH2. .....................................................................................................25
Figura 9.Modelo Grafo Eliminacin, Iteracin 3, Grafo GH3. .....................................................................................................26
Figura 10.Modelo Grafo Eliminacin, Iteracin 4, Grafo GH4. ...................................................................................................26
Figura 11.Modelo Grafo Eliminacin, Iteracin 5, Grafo GH5. ...................................................................................................26
Figura 12.Modelo Grafo Eliminacin, Iteracin 6, Grafo GH6. ...................................................................................................27
Figura 13.Modelo Grafo Eliminacin, Iteracin 7, Grafo GH7. ...................................................................................................27
Figura 14. Grafos Iteraciones de Algoritmo de Mnimo Grado. .................................................................................................29
Figura 15. Grafos Iteraciones de Algoritmo de Mnimo Grado. .................................................................................................30
Figura 16. Pgina Datos del Problema............................................................................................................................................33
Figura 17. Pgina Algoritmos Jacobi y Gauss-Seidel....................................................................................................................34
Figura 18. Pgina Algoritmo Cuthill-McKee....................................................................................................................................35
Figura 19. Pgina Modelo Grafos de Eliminacin........................................................................................................................36
Figura 20.Pantalla Algoritmo de Mnimo Grado............................................................................................................................37
Figura 21. Sistema de Ecuacin Lineal representado como Matriz. .........................................................................................53
Figura 22. Matriz Triangular Superior (U) e Inferior (L).. ..................................................................................................................53
Figura 23. Envolvente Matriz A..........................................................................................................................................................57
Figura 24.. Matriz Grafos de matrices dispersas 4x4.....................................................................................................................58
Figura 25. Grafo Asociado a una Matriz. ........................................................................................................................................59
Figura 26.. Grafo Asociado a una Matriz.......................................................................................................................................59
Figura 27. Ejemplo de aplicacin del Algoritmo Cuthill-McKee.................................................................................................61
Figura 28. Ordenacin de Ecuaciones por Algoritmo de Cuthill-McKee. ................................................................................61
Figura 29. Ordenacin de Ecuaciones por Algoritmo de Grado Mnimo. ...............................................................................62

1.2.2 TABLAS

Tabla 1. Esquema de la magnitud de los problemas representados con SELS .......................................................................8
Tabla 2. Disponibilidad en horas mquinas por semana segn el tipo de mquina. ...........................................................10
Tabla 3. Nmero Horas-Mquinas por unidad de productos.....................................................................................................10
Tabla 4. Matriz Asociada al Sistema de Ecuaciones del Problema. .........................................................................................11
Tabla 5. Matriz del Sistema de Ecuaciones. ...................................................................................................................................14
Tabla 6. Matriz Asociada al Sistema de Ecuaciones transformado del Problema.................................................................15
Tabla 7. Tabla Resultados Iteraciones Jacobi. ..............................................................................................................................16
Tabla 8. Tabla Resultados Iteraciones Gauss-Seidel. ....................................................................................................................17
Tabla 9. Resultados Obtenidos de las Iteraciones Jacobi y Gauss-Seidel. ..............................................................................18
Tabla 10. Comparacin Resultados Obtenidos de las Iteraciones Jacobi y Gauss-Seidel. .................................................18
Tabla 11. Anlisis de Costo entre diferentes estados. ..................................................................................................................19
Tabla 12. Matriz para Construccin del Grafo Asociado al Problema.....................................................................................19
Tabla 13. Matriz Dispersa Asociada al Grafo (completa). .........................................................................................................20
Tabla 14. Matriz Dispersa Asociada al Grafo (completa). .........................................................................................................21
Tabla 15. Clculo Ancho de banda Matriz Inicial. .......................................................................................................................21
Tabla 16. Resultado Iteraciones Cuthill-McKee. ............................................................................................................................21
Tabla 17. Clculo Ancho de banda Matriz Envolvente Resultante. .........................................................................................22
Tabla 18. Iteraciones Modelo de Grafos de Eliminacin.............................................................................................................23
Trabajo Prctico: Mtodos Numricos Iterativos RESUMEN



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 6-66

Tabla 19. Iteraciones Modelo de Grafos de Eliminacin (cont.). ..............................................................................................24
Tabla 20. Tabla Iteraciones Algoritmo de Mnimo Grado. ..........................................................................................................28
Tabla 21. Programa desarrollo Algoritmo Gauss-Seidel. ..............................................................................................................38
Tabla 22. Programa desarrollo Algoritmo Gauss-Seidel. ..............................................................................................................39
Tabla 23. Programa desarrollo Algoritmo Gauss-Seidel. ..............................................................................................................40
Tabla 24. Programa desarrollo Algoritmo Jacobi. ........................................................................................................................40
Tabla 25. Programa desarrollo Algoritmo Jacobi. ........................................................................................................................41
Tabla 26. Programas desarrollados para Cuthill-McKee. ............................................................................................................41
Tabla 27. Programas desarrollados para Cuthill-McKee. ............................................................................................................42
Tabla 28. Programas desarrollados para Cuthill-McKee. ............................................................................................................43
Tabla 29. Programas desarrollados para Cuthill-McKee. ............................................................................................................44
Tabla 30. Programas desarrollados para Cuthill-McKee. ............................................................................................................45
Tabla 31. Programas desarrollados para Cuthill-McKee. ............................................................................................................46
Tabla 32. Programas desarrollados para Cuthill-McKee. ............................................................................................................47
Tabla 33. Programas desarrollados para Modelo Grafos de Eliminacin. ...............................................................................47
Tabla 34. Programas desarrollados para Modelo Grafos de Eliminacin. ...............................................................................48
Tabla 35. Programas desarrollados para Modelo Grafos de Eliminacin. ...............................................................................49
Tabla 36. Programas desarrollados para Algoritmo de Grado Mnimo. ...................................................................................50
Tabla 37. Programas desarrollados para Algoritmo de Grado Mnimo. ...................................................................................51
Tabla 38. Programas desarrollados para Algoritmo de Grado Mnimo. ...................................................................................52
Tabla 39. Disponibilidad en horas mquinas por semana segn el tipo de mquina ..........................................................63
Tabla 40. Nmero Horas-Mquinas por unidad de productos...................................................................................................63
Tabla 41. Anlisis de Costo entre diferentes estados. ..................................................................................................................64


Trabajo Prctico: Mtodos Numricos Iterativos RESUMEN



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 7-66


2. RESUMEN
Este trabajo se centra en la optimizacin de los mtodos numricos para la solucin de
sistemas de ecuaciones lineales con matrices asociadas simtricas, indefinidas, dispersas y de
gran dimensin. Los mtodos se definen en entornos paralelos, haciendo uso de libreras de
optimizacin y buscando el correcto manejo de las matrices dispersas para lograr la mxima
optimizacin de los mtodos definidos para la solucin de sistemas de ecuaciones lineales con
matrices asociadas que posean las caractersticas mencionadas.
3. INTRODUCCIN
La solucin de sistemas de ecuaciones lineales es un tema de gran inters en el mundo de la
computacin actual. Son muchos los problemas que pueden resolverse utilizando estas
tcnicas, y en reas tan variadas como se quiera. Por eso es de gran importancia el estudio de
algoritmos que optimicen el uso de recursos computacionales como la memoria fsica y el
tiempo de ejecucin, a la vez que se encuentren soluciones correctas de manera ptima.

Al estudiar las matrices generadas por los sistemas de ecuaciones se pueden observar ciertas
caractersticas y propiedades, que pueden permitirnos en algunas ocasiones un tratamiento
especial del problema mejorando los algoritmos tradicionales al explotar la estructura y las
propiedades de la matriz.
3.1. DEFINICIN CONTEXTUAL
Los sistemas de ecuaciones lineales sirven para resolver mltiples problemas de todos los tipos
imaginables en procesos naturales, en produccin, en redes elctricas, y en innumerables
campos ms. Los problemas varan en sus caractersticas y pueden ser resueltos con la ayuda
de un computador de manera ms eficiente si se trabaja explotando las caractersticas del
problema mismo.

El inters por la optimizacin de los mtodos para la solucin de sistemas de ecuaciones
lineales ha generado diversos enfoques en cuanto a los mtodos existentes para mejorar los
algoritmos actuales. Aparecen entonces herramientas tan importantes como la computacin
paralela, libreras optimizadas con funciones bsicas, libreras ms avanzadas, tratamiento de
la estructura de la matriz, etc. Todos estos enfoques no son mutuamente excluyentes, y por el
contrario se intentar en este proyecto obtener el mximo provecho de cada uno de ellos,
obteniendo un buen rendimiento global.

Las aplicaciones son muchas, incluso en un enfoque tan especfico como el de las matrices
simtricas, dispersas e indefinidas. Entre ellas estn los problemas de redes elctricas,
problemas de elementos finitos, y en general muchas aplicaciones de ingeniera, como por
ejemplo el resultado de la discretizacin de ecuaciones diferenciales parciales en diferentes
tipos de simulaciones. Cualquier optimizacin que se logre en este campo, ser un gran
aporte, debido a la gran cantidad de datos que suelen manejarse en estos casos, y a la
necesidad de altos niveles de efi ciencia que se necesitan.
Trabajo Prctico: Mtodos Numricos Iterativos INTRODUCCIN



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 8-66

Adems de los Mtodos Directos para resolver un Sistema de Ecuaciones Lineales Simultneas,
existen los Mtodos Iterativos cuya caracterstica principal es que parten de una solucin
supuesta, u obtenida por otros mtodos, y obtienen una solucin mejorada segn cierto criterio
estipulado de tolerancia numrica (precisin). El mecanismo general mediante el cual los
Mtodos Iterativos realizan su funcionalidad se basa en operaciones repetidas de clculo,
calculando una solucin y probando si ya se lleg al nivel de precisin estipulado.

El problema principal de los Mtodos Iterativos es que no siempre hay convergencia a una
solucin mejorada, o la convergencia se hace muy lentamente. Esto es especialmente cierto
cuando se trata de grandes sistemas. Para tener una idea de lo que significa grandes
sistemas; en la Tabla 1 se muestra a grandes rasgos la magnitud de problemas que es preciso
resolver, en trminos del nmero de incgnitas (m) de un Solucin de Ecuaciones Lineales
Simultneas (SELS), de los requerimientos de memoria (en funcin de octetos), y del orden de
magnitud en nmero de operaciones que implican los algoritmos.






Tabla 1. Esquema de la magnitud de los problemas representados con SELS

Esta tabla muestra que en unos 60 aos la complejidad de los problemas, en nmero de
operaciones, ha crecido constantemente; lo mismo las necesidades de almacenamiento. Esto
ha implicado el tener que disponer de mejores mquinas de cmputo y de algoritmos ms
eficientes.

Son muy variados los Mtodos Iterativos que se han ideado y que se aplican a problemas
prcticos en reas tcnicas y de ingenieras, el listado que a continuacin se presenta se ha
elegido teniendo en cuenta el estado del arte en el tema y la ejemplificacin del desarrollo
histrico de estos mtodos, especialmente en la solucin de grandes sistemas de ecuaciones
lineales simultneas; los mtodos son:

1. Mtodo de Jacobi;
2. Mtodo de Gauss-Seidel;
3. Sobre Relajacin Sucesiva (SOR);
4. Sobre Relajacin Sucesiva Simtrica (SSOR);
5. Gradiente Conjugado (CG);
Trabajo Prctico: Mtodos Numricos Iterativos INTRODUCCIN



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 9-66

6. Mnimo Residual (MINRES) y LQ Simtrico (SYMLQ);
7. Gradientes Conjugados y Ecuaciones Normales (CGNE y CGNR);
8. Mnimo Residuo Generalizado (GMRES);
9. Gradiente Biconjugado (BiCG);
10. Cuasi-Mnimo Residuo (QMR);
11. Gradiente Conjugado Cuadrado (CGS);
12. Gradiente Biconjugado Estabilizado (Bi-CGSTAB);
13. Iteracin de Chebyshev.

Un mtodo iterativo es un mtodo que progresivamente va calculando aproximaciones a la
solucin de un problema. En Matemticas, en un mtodo iterativo se repite un mismo proceso
de mejora sobre una solucin aproximada: se espera que lo obtenido sea una solucin ms
aproximada que la inicial. El proceso se repite sobre esta nueva solucin hasta que el resultado
ms reciente satisfaga ciertos requisitos. A diferencia de los mtodos directos, en los cuales se
debe terminar el proceso para tener la respuesta, en los mtodos iterativos se puede suspender
el proceso al trmino de una iteracin y se obtiene una aproximacin a la solucin.

En este trabajo prctico se desarrollaran los algoritmos del Mtodo de Jacobi y el
correspondiente al Mtodo de Gauss-Seidel.


Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 10-66


4. DESARROLLO TERICO

4.1. OBJETIVO 6: MTODOS DE JACOBI Y GAUSS SEIDEL
En esta seccin veremos procedimientos iterativos para resolver un sistema de ecuaciones
lineales (SEL). El primero de ellos conocido como el procedimiento de Jacobi basado en la
idea de punto fijo y un segundo procedimiento conocido como mtodo de Gauss-Seidel el
cual es una modificacin simple del procedimiento de Jacobi.

Para estos mtodos es de suma importancia el concepto de matriz diagonalmente dominante
el cual se relaciona con la garanta de convergencia en la aplicacin de estos mtodos (ver
apartado 7.2.6 Matriz Diagonalmente Dominante). En algunos casos es posible replantear el
sistema para garantizar la convergencia.

4.1.1 SISTEMA DE ECUACIONES ASOCIADO CON EL PROBLEMA.
El problema planteado establece:

14. La disponibilidad en horas mquinas por semana segn el tipo de mquina:

TIEMPO DISPONIBLE
TIPO DE MQUINA
(horas mquinas por semana)
(horas mquinas por da)
(5 das semana)
RECTIFICADORA 150 30
FRESADORA 500 100
TORNO 350 70
Tabla 2. Disponibilidad en horas mquinas por semana segn el tipo de mquina.

15. El nmero de horas mquinas que se requerido para elaborar cada unidad de estos
productos:

PRODUCTOS
TIPO DE MQUINA
1 2 3
RECTIFICADORA 3 0 6
FRESADORA 9 3 3
TORNO 4 5 0
Tabla 3. Nmero Horas-Mquinas por unidad de productos.

En primer lugar definimos las variables necesarias para representar las posibles decisiones. En
este caso, corresponde a la cantidad de Horas disponibles (por mquina) y la cantidad de
tiempo requerido para la produccin de cada producto. Si de denominamos:

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 11-66

16. X1: Productos producidos del Producto 1, segn los requerimientos de cada mquina.
17. X2: Productos producidos del Producto 2, segn los requerimientos de cada mquina.
18. X3: Productos producidos del Producto 3, segn los requerimientos de cada mquina.
19. bi: tiempo Disponible por mquina

Entonces, el sistema de ecuaciones para la estimacin de la produccin, restringido al tiempo
requerido por cada mquina para producir los tipos de productos, segn la capacidad
disponible, sera:

PRODUCTOS
TIPO DE MQUINA
X1 X2 X3
bi
RECTIFICADORA 3 0 6 30
FRESADORA 9 3 3 100
TORNO 4 5 0 70
Tabla 4. Matriz Asociada al Sistema de Ecuaciones del Problema.


4.1.2 BREVE EXPLICACIN ALGORITMOS DE JACOBI Y GAUSS- SEIDEL.

4.1.3 ALGORITMO JACOBI

Este Algoritmo es el mtodo iterativo ms simple para resolver sistemas de ecuaciones lineales y
se aplica slo a sistemas cuadrados, es decir a sistemas con tantas incgnitas como
ecuaciones y esta basado en la idea del punto fijo.

El Mtodo de Jacobi, para resolver un Sistema de Ecuaciones Lineales Simultneas (SELS), parte
de la representacin de cada elemento, Xi, del vector solucin, X(), segn se muestra en la
siguiente figura, en la cual se despeja de cada ecuacin i la variable Xi (i= 1,,n).




Figura 1. Representacin de variables Xi, utilizadas por el mtodo iterativo de Jacobi.

En general, la ecuacin genrica para Xi es as:
Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 12-66


n i XI a b
a
X
n
i j j
j ij i
ii
i
,...., 2 , 1
1
) ( ; 1
=
|
|
.
|

\
|
=

= =

(3.1)


Con base a la ecuacin 3.1 se elabora el algoritmo del Mtodo Iterativo de Jacobi.

4.1.3.1 Orden conveniente para Jacobi
En ciertas ocasiones al aplicar Jacobi la matriz no es diagonalmente dominante y por tanto no
existir garanta de convergencia. Sin embargo, en algunos casos ser posible reordenar las
incgnitas en otra manera de forma que la nueva matriz de coeficientes sea diagonalmente
dominante. Esto se puede detectar revisando todos los posibles ordenamientos de las
incgnitas y ver cmo es la matriz resultante. Claro que esto conlleva un bueno nmero de
pruebas pues el nmero posible de ordenamientos en n variables es (n 1)! pero cuando n es
reducido es sencillo.
4.1.3.2 Descripcin del Mtodo de JACOBI

El Mtodo Iterativo de Jacobi puede describirse por los siguientes pasos:

1. Establecer un nivel de precisin .
2. Suponer un vector solucin inicial XIn para el sistema de ecuaciones.
3. Reemplazar XIn en el lado derecho de las ecuaciones 3.2 y asignar los resultados a un
nuevo vector XF, as:


|
|
|
.
|

\
|
=

=
=
n
i j
j
j ij i
ii
i
XI a b
a
XF
1
*
1

n i ,....., 2 , 1 =

(3.2)
Conocido XI reemplazarlo en las siguientes ecuaciones y obtener XF


4. Calcular la diferencia entre la solucin inicial XI y la solucin final XF: ||XI XF|| (norma de
la diferencia entre los dos vectores).
4.1. Si esta diferencia es menor o igual que el nivel de precisin , entonces el vector
solucin del sistema es XF.
4.2. De lo contrario, se reemplaza XI por XF, y con estos nuevos valores realizamos los
clculos del paso 2. XI(i) = XF(i), para todo i=1,,n.

En la Siguiente figura se muestra la implementacin del algoritmo computacional para la
implementacin de este mtodo.
Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 13-66





Figura 2. Algoritmo General para aplicacin del Mtodo Jacobi.
4.1.4 ALGORITMO GAUSSSEIDEL

Existe otro mtodo Iterativo conocido como mtodo de Gauss-Seidel el cual es una
modificacin simple del procedimiento de Jacobi.

El Mtodo Gauss-Seidel parte de una solucin inicial y calcula una nueva solucin. En la figura
siguiente se muestran las ecuaciones para la representacin de cada elemento (ecuaciones
(a) hasta la (g)); la frmula (h) es la expresin genrica para calcular cada elemento Xi del
vector solucin X(); este mtodo utiliza inmediatamente las Xi que va calculando.


11
1
1
1 1
1
a
X a b
X
n
j
j
j j
=
=

=

22
1 21
3
2 2
2
a
X a X a b
X
n
j
j j

=

=
33
2 32 1 31
4
3 2
3
a
X a X a X a b
X
n
j
j j |
|
.
|

\
|
+
=

=

(a) (b) (c)
44
3 43 2 42 1 41
5
4 4
4
a
X a X a X a X a b
X
n
j
j j |
|
.
|

\
|
+ +
=

=

55
4 54 3 53 2 52 1 51
6
5 5
5
a
X a X a X a X a X a b
X
n
j
j j |
|
.
|

\
|
+ + +
=

=

(d) (e)
1 , 1
1
1
1 1
1

= =



=
n n
i
k
k ik
n
n j
j j n n
n
a
X a X a b
X

nn
n
n j
j
j nj n
n
a
X a b
X

=
=

=
; 1

n i
a
X a b
X
nn
n
i j
j
j ij i
i
,..., 2 , 1
; 1
=

=

=
=

(f) (g) (h)

Figura 3. Ecuaciones representativas Algoritmo Gauss-Seidel.

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 14-66

Basado en las frmulas mostradas en la Figura anterior se muestra el programa para desarrollar
el algoritmo Gauss-Seidel.





Figura 4. Algoritmo en Visual Basic para el Mtodo Iterativo de Gauss-Seidel.


4.1.5 REFORMULACIN SISTEMAS DE ECUACIONES
El sistema obtenido en el apartado 4.1.1 (Tabla 4. Matriz Asociada al Sistema de Ecuaciones del
Problema.), para que pueda converger en los Mtodos de Jacobi o Gauss-Seidel debe:

1. Ser una Matriz cuadrada.
2. No contener ceros en la Diagonal.
3. Ser una Matriz Diagonal Dominante.

Si se observa la Matriz obtenida:

X1 X2 X3
bi
3 0 6 30
9 3 3 100
4 5 0 70
Tabla 5. Matriz del Sistema de Ecuaciones.

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 15-66


1. Contiene un elemento de una diagonal en cero (posicin 3, 3); y
2. La matriz no es diagonalmente dominante.

Por esto se requiere realizar una transformacin de la Matriz para cumplir con los
requerimientos, para esto:
1. Se intercambian la Fila 2 y la Fila 3; y
2. Se intercambia la Columna 3 y la Columna 1.

Entonces, el sistema transformado de ecuaciones para la estimacin de la produccin,
restringido al tiempo requerido por cada mquina para producir los tipos de productos, segn
la capacidad disponible, sera:


PRODUCTOS
TIPO DE MQUINA
X1 X2 X3
bi
RECTIFICADORA 6 0 3 30
TORNO 0 5 4 70
FRESADORA 3 3 9 100
Tabla 6. Matriz Asociada al Sistema de Ecuaciones transformado del Problema.

La nueva definicin de las variables sera:

1. X1: Productos producidos del Producto 3, segn los requerimientos de cada mquina.
2. X2: Productos producidos del Producto 2, segn los requerimientos de cada mquina.
3. X3: Productos producidos del Producto 1, segn los requerimientos de cada mquina.
4. bi: tiempo Disponible por mquina

Con esta transformacin se logra que la matriz sea Diagonal Estrictamente Dominante, osea en
Dominante por Filas y Columnas, con esto se asegura la convergencia de ambos algoritmos.
Esta ser la Matriz a utilizar para la aplicacin de los algoritmos de Jacobi y Gauss-Seidell.

4.1.6 CLCULO TRMINOS DE LA SUCESIN

Para el clculo de los trminos de la sucesin se desarrollaron los algoritmos de Jacobi y Gauss-
Seidell, en una hoja de clculo de Excel, aprovechando las bondades de programacin de
macros en lenguaje Visual Basic y la facilidad de mostrar y registrar los Datos obtenidos de las
iteraciones en la propia hoja de clculo (ver apartado 7.1 IMPLEMENTACIN DE ALGORITMOS Y
MODELOS EN EXCEL).

A continuacin se muestran los trminos obtenidos de la sucesin, generados a partir del punto
Po = (20, 50, 15) para ambos Mtodos.
Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 16-66


4.1.6.1 Tablas de Resultados ALgoritmo Jacobi

X1 X2 X3 bi

6,0000 0,0000 3,0000 30,0000

0,0000 5,0000 4,0000 70,0000

3,0000 3,0000 9,0000 100,0000


VALORES INICIALES DEL PROBLEMA

X1(0)= X2(0)= X3(0)= PRECISIN

50,0000 15,0000 20,0000 0,00100


TABLA RESULTADOS ITERACIONES ALGORITMO JACOBI
i X1 X2 X3 X1 (i+1) X2 (i+1) X3 (i+1) Error(i)
0 50,0000 15,0000 20,0000 -5,0000 -2,0000 -10,5556 65,1739
1 -5,0000 -2,0000 -10,5556 10,2778 22,4444 13,4444 37,5092
2 10,2778 22,4444 13,4444 -1,7222 3,2444 0,2037 26,2289
3 -1,7222 3,2444 0,2037 4,8981 13,8370 10,6037 16,2540
4 4,8981 13,8370 10,6037 -0,3019 5,5170 4,8660 11,3659
5 -0,3019 5,5170 4,8660 2,5670 10,1072 9,3727 7,0434
6 2,5670 10,1072 9,3727 0,3136 6,5018 6,8864 4,9252
7 0,3136 6,5018 6,8864 1,5568 8,4909 8,8393 3,0521
8 1,5568 8,4909 8,8393 0,5804 6,9286 7,7619 2,1343
9 0,5804 6,9286 7,7619 1,1191 7,7905 8,6081 1,3226
10 1,1191 7,7905 8,6081 0,6959 7,1135 8,1413 0,9248
11 0,6959 7,1135 8,1413 0,9294 7,4870 8,5080 0,5731
12 0,9294 7,4870 8,5080 0,7460 7,1936 8,3057 0,4008
13 0,7460 7,1936 8,3057 0,8472 7,3555 8,4646 0,2484
14 0,8472 7,3555 8,4646 0,7677 7,2283 8,3769 0,1737
15 0,7677 7,2283 8,3769 0,8116 7,2985 8,4458 0,1076
16 0,8116 7,2985 8,4458 0,7771 7,2434 8,4078 0,0753
17 0,7771 7,2434 8,4078 0,7961 7,2738 8,4376 0,0466
18 0,7961 7,2738 8,4376 0,7812 7,2499 8,4211 0,0326
19 0,7812 7,2499 8,4211 0,7894 7,2631 8,4341 0,0202
20 0,7894 7,2631 8,4341 0,7830 7,2527 8,4269 0,0141
21 0,7830 7,2527 8,4269 0,7865 7,2584 8,4325 0,0088
22 0,7865 7,2584 8,4325 0,7837 7,2540 8,4295 0,0061
23 0,7837 7,2540 8,4295 0,7853 7,2564 8,4319 0,0038
24 0,7853 7,2564 8,4319 0,7841 7,2545 8,4305 0,0027
25 0,7841 7,2545 8,4305 0,7847 7,2556 8,4316 0,0016
26 0,7847 7,2556 8,4316 0,7842 7,2547 8,4310 0,0011
27 0,7842 7,2547 8,4310 0,7845 7,2552 8,4315 0,0007

X1 X2 X3
VALORES FINALES:
0,7842 7,2547 8,4310
Tabla 7. Tabla Resultados Iteraciones Jacobi.
Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 17-66


4.1.6.2 Tablas de Resultados ALgoritmo Gauss-Seidel

X1 X2 X3 bi
6,0000 0,0000 3,0000 30,0000
0,0000 5,0000 4,0000 70,0000
3,0000 3,0000 9,0000 100,0000

VALORES INICIALES DEL PROBLEMA

X1(0)= X2(0)= X3(0)= PRECISIN

50,0000 15,0000 20,0000 0,00100


TABLA RESULTADOS ITERACIONES ALGORITMO GAUSS-SEIDEL
i X1 X2 X3 Error(i)
0 50,0000 15,0000 20,0000 6,8057
1 -5,0000 -2,0000 13,4444 2,9491
2 -1,7222 3,2444 10,6037 1,2780
3 -0,3019 5,5170 9,3727 0,5538
4 0,3136 6,5018 8,8393 0,2400
5 0,5804 6,9286 8,6081 0,1040
6 0,6959 7,1135 8,5080 0,0451
7 0,7460 7,1936 8,4646 0,0195
8 0,7677 7,2283 8,4458 0,0085
9 0,7771 7,2434 8,4376 0,0037
10 0,7812 7,2499 8,4341 0,0016
11 0,7830 7,2527 8,4325 0,0007
12 0,7837 7,2540 8,4319 0,0000

X1 X2 X3
VALORES FINALES:
0,7837 7,2540 8,4319
Tabla 8. Tabla Resultados Iteraciones Gauss-Seidel.

4.1.7 CONVERGENCIA DE LA SUCESIN
Uno de los principales problemas de los mtodos iterativos es la garanta de que el mtodo va
a converger, es decir, va a producir una sucesin de aproximaciones cada vez efectivamente
ms prximas a la solucin. En el caso del mtodo de Jacobi no existe una condicin exacta
para la convergencia. La condicin que mejor garantiza la convergencia, pero en caso de no
cumplirse puede o no haberla es si la matriz de coeficientes original del sistema de ecuaciones
es diagonalmente dominante.

En la aplicacin prctica del algoritmo verificamos que si no aseguramos la dominancia de la
diagonal el mtodo no converge.

En la siguiente Tabla se muestran los resultados obtenidos por ambos mtodos.


Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 18-66

VALORES FINALES X1 X2 X3
ALGORITMO JACOBI 0,7842 7,2547 8,4310
ALGORITMO GAUSS-SEIDELL 0,7837 7,2540 8,4319
Tabla 9. Resultados Obtenidos de las Iteraciones Jacobi y Gauss-Seidel.

De las iteraciones podemos concluir que:

1. Ambos mtodos convergen a los puntos: X1= 0,78, X2= 7,25 y X3= 8,43.
2. El error en ambos mtodos, se observa como va disminuyendo y ambos satisfacen el
requerimiento de ser menor a 0,001 (Precisin).
4.1.8 ANLISIS COMPARATIVO DE LOS ALGORITMOS

Del anlisis comparativo de los Algoritmos, segn sus resultados y su convergencia se pude
concluir.

1. El Mtodo de Gauss-Seidel convergi ms rpido que el Jacobi, 12 y 27 iteraciones
respectivamente.
2. Analizando el error se observa que ambos mtodos dan soluciones muy similares, como se
muestra en la siguiente Tabla:

JACOBI GAUSS-SEIDEL
bi bi Error(i) bi Error(i)
30,0000 29,9982 0,0018 29,9979 0,0021
70,0000 69,9975 0,0025 69,9976 0,0024
100,0000 99,9957 0,0043 100,0002 -0,0002
Tabla 10. Comparacin Resultados Obtenidos de las Iteraciones Jacobi y Gauss-Seidel.

3. Analice los dos algoritmos y su incidencia en el problema de la Compaa Manufacturera
G & M.

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 19-66


4.2. OBJETIVO 8: ALGORITMO DE CUTHILLMCKEE (CM)
La compaa manufacturera M & G esta analizando los costos entre los diferentes estados de
un pas obteniendo los siguientes resultados:

A B C D E F G H
A - 4 - 6 - 3 - 6
B 4 - 2 - 4 - 3 -
C - 2 - 5 - 2 - 3
D 6 - 5 - 1 - 6 -
E - 4 - 1 - 7 - 1
F 3 - 2 - 7 - 1 -
G - 3 - 6 - 1 - 3
H 6 - 3 - 1 - 3 -
Tabla 11. Anlisis de Costo entre diferentes estados.

4.2.1 GRAFO ASOCIADO AL PROBLEMA
De la matriz de anlisis de Costo, asumiendo los guiones -, como posiciones vacas y para
efectos prcticos de programacin se sustituyo las letras A hasta H, por 1 hasta 8
respectivamente.


1 2 3 4 5 6 7 8
1 - 4 - 6 - 3 - 6
2 4 - 2 - 4 - 3 -
3 - 2 - 5 - 2 - 3
4 6 - 5 - 1 - 6 -
5 - 4 - 1 - 7 - 1
6 3 - 2 - 7 - 1 -
7 - 3 - 6 - 1 - 3
8 6 - 3 - 1 - 3 -
Tabla 12. Matriz para Construccin del Grafo Asociado al Problema.


Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 20-66

El Grafo obtenido es mostrado en la siguiente figura:




Figura 5.Grafo Asociado al Problema.

4.2.2 MATRIZ DISPERSA ASOCIADA AL GRAFO.

Para la construccin de la Matriz dispersa asociada al Grafo, se asumi los valores de costos
como * y el resto de las posiciones como blancos, de aqu obtenemos:

1 2 3 4 5 6 7 8
1 1 * * * *
2 * 2 * * *
3 * 3 * * *
4 * * 4 * *
5 * * 5 * *
6 * * * 6 *
7 * * * 7 *
8 * * * * 8
Tabla 13. Matriz Dispersa Asociada al Grafo (completa).

Como se observa la matriz Dispersa es simtrica, por tanto para efectos de la aplicacin del
Mtodo de Cuthill-McKee, se utilizar una matriz Triangular Inferior, como se muestra en la
siguiente Tabla.
Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 21-66


1 2 3 4 5 6 7 8
1 1
2 * 2
3 * 3
4 * * 4
5 * * 5
6 * * * 6
7 * * * 7
8 * * * * 8
Tabla 14. Matriz Dispersa Asociada al Grafo (completa).

Esta ser la Matriz a aplicar en el Algoritmo desarrollado en Excel.
4.2.3 CLCULO ANCHO DE BANDA DE LA MATRIZ
Los resultados obtenidos del clculo de los parmetros, por medio del programa realizado en
Excel, para la matriz inicial son mostrados en la siguiente tabla:

MATRIZ INICIAL DE DATOS (ENVOLVENTE ORIGINAL)
nxn 1 2 3 4 5 6 7 8 GRADO VRTICE
GRADO
FILA
GRADO
COL.
i(A) i(A)= i-i(A)
1 1 4 0 4 1 0
2 * 2 7 1 6 1 1
3 * 3 7 2 5 1 2
4 * * 4 7 3 4 1 3
5 * * 5 7 4 3 1 4
6 * * * 6 6 4 2 2 4
7 * * * 7 6 5 1 2 5
8 * * * * 8 6 6 0 2 6

VRTICE INICIO: 2 CONTORNO INICIAL: 31 ANCHO DE BANDA (): 7
Tabla 15. Clculo Ancho de banda Matriz Inicial.
4.2.4 APLIQUE EL ALGORITMO CUTHILL MC KEE.
A continuacin se muestra el resultado de la Iteraciones del Mtodo Cuthill-McKee, obtenidos
mediante el programa desarrollado en Excel.

ITERACIN
No.
VRTICE (ETIQUETA GRAFO) VECINOS NO ETIQUETADOS GRADO NUEVA ETIQUETA
1 V2 V1 4 V2
2 V3 4 V3
3 V5 4 V4
4 V7 4 V5
5 V1 V4 4 V6
6 V6 4 V7
7 V8 4 V8
Tabla 16. Resultado Iteraciones Cuthill-McKee.

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 22-66

4.2.5 CALCULE NUEVO ANCHO DE BANDA DE LA MATRIZ.

El clculo a la matriz reordenada, despus de la aplicacin del Mtodo Cuthill-McKee es:

ENVOLVENTE RESULTANTE (APLICADO MTODO )
nxn 1 2 3 4 5 6 7 8
GRADO
VRTICE
GRADO
FILA
GRADO
COL.
i(A) i(A)= i-i(A)
1 2 4 0 4 1 0
2 * 1 7 1 6 1 1
3 * 0 3 7 2 5 1 2
4 * 0 0 5 7 3 4 1 3
5 * 0 0 0 7 7 4 3 1 4
6 * * * * 4 6 4 2 2 4
7 * * * * 0 6 6 5 1 2 5
8 * * * * 0 0 8 6 6 0 2 6

VRTICE INICIO: 2 CONTORNO FINAL: 25 ANCHO DE BANDA (): 6
Tabla 17. Clculo Ancho de banda Matriz Envolvente Resultante.

4.2.6 ANLISIS DE LOS RESULTADOS OBTENIDOS REFERIDOS A LA COMPAA MANUFACTURERA G & M.


Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 23-66


4.3. OBJETIVO 9: MODELO DE GRAFOS DE ELIMINACIN
4.3.1 APLICACIN DEL MODELO DE GRAFOS DE ELIMINACIN

A partir de la Matriz Dispersa obtenida en el Apartado anterior y por medio del programa
desarrollado en Excel, para la ejecucin del Modelo de Grafos de Eliminacin se obtuvo los
siguientes resultados:

APLICACIN ALGORITMO MODELO GRAFOS DE ELIMINACIN

ITERACIN 0: MATRIZ INICIAL (A=Ao=Ho)

1
* 2
* 3
* * 4
* * 5
* * * 6
* * * 7
* * * * 8

ITERACIN 1: MATRIZ H1

2
* 3
* 4
* * 5
* * 6
* * * 7
* * * 8

ITERACIN 2: MATRIZ H2

3
4
5
6
7
8

ITERACIN 3: MATRIZ H3

4
5
6
7
8

ITERACIN 4: MATRIZ H4

5
6
7
8

Tabla 18. Iteraciones Modelo de Grafos de Eliminacin.

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 24-66


ITERACIN 5: MATRIZ H5

6
7
8

ITERACIN 6: MATRIZ H6

7
8

ITERACIN 7: MATRIZ H7

8

Tabla 19. Iteraciones Modelo de Grafos de Eliminacin (cont.).

La secuencia de Grafos de Eliminacin obtenidos en la aplicacin del Modelo de Grafos de
Eliminacin se muestran a continuacin.


ITERACIN 0: GRAFO GA




Figura 6.Modelo Grafo Eliminacin, Iteracin 0, Grafo GA.


Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 25-66


ITERACIN 1: GRAFO GH1




Figura 7.Modelo Grafo Eliminacin, Iteracin 1, Grafo GH1.

ITERACIN 2: GRAFO GH2




Figura 8.Modelo Grafo Eliminacin, Iteracin 2, Grafo GH2.

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 26-66


ITERACIN 3: GRAFO GH3




Figura 9.Modelo Grafo Eliminacin, Iteracin 3, Grafo GH3.

ITERACIN 4: GRAFO GH4




Figura 10.Modelo Grafo Eliminacin, Iteracin 4, Grafo GH4.

ITERACIN 5: GRAFO GH5




Figura 11.Modelo Grafo Eliminacin, Iteracin 5, Grafo GH5.


Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 27-66

ITERACIN 6: GRAFO GH6




Figura 12.Modelo Grafo Eliminacin, Iteracin 6, Grafo GH6.

ITERACIN 7: GRAFO GH7




Figura 13.Modelo Grafo Eliminacin, Iteracin 7, Grafo GH7.

4.3.2 ANLISIS DE LO OBTENIDO REFERIDO A LA COMPAA
Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 28-66


4.4. OBJETIVO 10: ALGORITMO DE MNIMO GRADO
4.4.1 APLICACIN ALGORITMO DE MNIMO GRADO
A continuacin se muestran los resultados de las iteraciones despus de aplicado al Algoritmo
de Mnimo Grado, al problema bajo estudio (Objetivo 8), mediante el programa desarrollado
en Excel para la ejecucin de este algoritmo.


MATRIZ INICIAL DE DATOS

1 2 3 4 5 6 7 8
GRADO
VRTICE
GRADO
FILA
GRADO
COL.
i(A)
i(A)= i-
i(A)
1 1 0 4 4 1 0
2 * 2 1 3 4 1 1
3 * 3 1 3 4 2 1
4 * * 4 2 2 4 1 3
5 * * 5 2 2 4 2 3
6 * * * 6 3 1 4 1 5
7 * * * 7 3 1 4 2 5
8 * * * * 8 4 0 4 1 7

VRTICE INICIO: 1

ANCHO DE BANDA ():
7

DATOS MATRIZ INICIAL
ITERACIN No. VRTICE GRADO VECINOS NO ELIMINADOS
1 V1 4 V2, V4, V6, V8
2 V2 4 V1, V3, V5, V7
3 V3 4 V2, V4, V6, V8
4 V4 4 V1, V3, V5, V7
5 V5 4 V2, V4, V6, V8
6 V6 4 V1, V3, V5, V7
7 V7 4 V2, V4, V6, V8
8 V8 4 V1, V3, V5, V7

DATOS ALGORITMO MNIMO GRADO
ITERACIN No.
VRTICE MNIMO
GRADO
GRADO VECINOS NO ELIMINADOS
1 V1 4 V2, V4, V6, V8
2 V2 3 V3, V5, V7
3 V3 3 V4, V6, V8
4 V4 2 V5, V7
5 V5 2 V6, V8
6 V6 1 V7
7 V7 1 V8
Tabla 20. Tabla Iteraciones Algoritmo de Mnimo Grado.

Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 29-66




GA=G0



G1



G2



Figura 14. Grafos Iteraciones de Algoritmo de Mnimo Grado.


Trabajo Prctico: Mtodos Numric os Iterativos DESARROLLO TERICO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 30-66


G3



G4



G5



G6



Figura 15. Grafos Iteraciones de Algoritmo de Mnimo Grado.

4.4.2 ANLISIS DE RESULTADO OBTENIDO REFERIDO A LA COMPAA MANUFACTURERA G & M
Trabajo Prctico: Mtodos Numricos Iterativos CONCLUSIONES



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 31-66


5. CONCLUSIONES
1. Ventajas y Desventajas iterativos sobre los mtodos directos
1.1. Los mtodos iterativos calculan aproximaciones a la solucin.
1.2. Los mtodos iterativos se usan cuando no se conoce un mtodo para obtener la
solucin en forma exacta.
1.3. Tambin se utilizan cuando el mtodo para determinar la solucin exacta requiere
mucho tiempo de clculo, cuando una respuesta aproximada es adecuada, y
cuando el nmero de iteraciones es relativamente reducido.
5.1.1 CONCLUSIONES
sobre el grafo asociado, su matriz dispersa y el ancho de banda

Reordenar las matrices para reducir el nmero de elementos de relleno presenta tres ventajas
fundamentales:
+ Una disminucin del nmero de posiciones de memoria que se han de reservar para los
nuevos elementos que se harn distintos de cero en un proceso de factorizacin.
+ Una disminucin del nmero de operaciones a realizar y, por lo tanto, el tiempo total de
clculo para factorizar la matriz y resolver el correspondiente sistema.
+ Una mejora de la estabilidad numrica del proceso global de resolucin del sistema al
disminuir el nmero de elementos a considerar y por tanto disminuir la probabilidad de
encontrar grandes diferencias entre ellos, errores de cancelacin, entre otros.
Trabajo Prctico: Mtodos Numricos Iterativos REFERENCIAS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 32-66


6. REFERENCIAS

6.1. BIBLIOGRFICAS
[1] Texto UNA GRAFOS Y MATRICES (Cdigo 332).
[2] QUINTANA HERNNDEZ Pedro Alberto; Mtodos numricos con aplicaciones en Excel.
[3] MONTOYA, William lvarez; Notas de Clase 3004578 Algoritmos y Programacin
[4] CCIR/ITESM, Departamento de Matemticas, Mtodos Iterativos para Resolver Sistemas
Lineales, 17 de julio de 2009.
[5] CUTHILL, E. y MCKEE, J.; Reducing the Bandwidth of Sparse Symmetric Matrices. 24th Nat.
Conf. ACM, pginas 157-172, 1969.
[6] CUTHILL, E.; Several Strategies for Reducing the Bandwith of Matrices, Papers of the
Symposium on Sparse Matrices and their Applications, IBM Thomas J. Watson Research
Center, New York, 1971.
[7] DE LA FUENTE OCONNOR, Jos Luis; Sistemas Lineales de Grandes Dimensiones: Matrices
Dispersas; Universidad Politcnica de Madrid, Escuela Tcnica Superior de Ingenieros
Industriales.
[8] Universidad Politcnica de Madrid
[9] ALMEIDA BENTEZ, Pedro Ramn y FRANCO BRAAS, Jos Ramn (jfranco@ull.es);
Reduccin del Ancho de Banda de Matrices en el Algoritmo Go-Away para Mallas Regulares;
Departamento de Matemticas, Universidad de Las Palmas de Gran Canaria;
Departamento de Anlisis Matemtico, Universidad de La Laguna.
[10] JARAMILLO J., Juan David; VIDAL MACI, Antonio M.; y CORREA ZABALA , Francisco Jos;
Mtodos Directos para aa Solucin de Sistemas de Ecuaciones Lineales Simtricos,
Indefinidos, Dispersos y de Gran Dimensin; DOCUMENTO 40-022006; UNIVERSIDAD EAFIT;
Medelln, Febrero de 2006.
[11] GINESTAR PEIR, Damin; Matrices Dispersas; Departamento de Matemtica Aplicada, Universidad
Politcnica de Valencia; Curso 2009-2010
[12] ERSAVAS, Bulut F.; Sparse Matrix Ordering and Gaussian Elimination; ECE 3652 - Fundamentals of
Computer Engineering; Term Paper; bersavas@coe.neu.edu; December 8, 2002.
6.2. REFERENCIAS WEB
[13] http:/ / www.uv.es/ diaz/ mn/ node25.html
[14] http:/ / es.wikipedia.org/ wiki/ Teor%C3%ADa_de_grafos.
[15] http:/ / www.unalmed.edu.co/ ~walvarem/ .
[16] http:/ / xue.unalmed.edu.co/ ~walvarem/
[17] www.eng-tips.com/ viewthread.cfm?qid=11754&page=18
[18] http:/ / es.wikipedia.org/ wiki/ Matriz_de_diagonal_estrictamente_dominante
[19] http:/ / www.revistaciencias.com/ publicaciones/ EEAAupyyFlGVXhDnhI.php
[20] http:/ / www.acatlan.unam.mx/ acatlecas/ mn/ sistemas.htm
[21] http:/ / www.construccion.uniovi.es/ escal3d/ Bases/ Solve/ ANEXO3.htm


Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 33-66

7. ANEXOS

7.1. IMPLEMENTACIN DE ALGORITMOS Y MODELOS EN EXCEL
Para el desarrollo del presente trabajo se implementaron los diferentes algoritmos solicitados en
segn los objetivos. Para esta implementacin se seleccin la Hoja de Clculo de Excel, como
base para el desarrollo de los diferentes algoritmos, mtodos y modelos, por su versatilidad de
programacin de macros mediante el lenguaje Visual Basic y la facilidad de poder registrar los
datos de las iteraciones (creacin de reportes) y tambin permiti la graficacin de los Grafos
de los mtodos que lo requirieron.

A continuacin se dar una breve explicacin de la implementacin de los diferentes
algoritmos en Excel, utilizados para el desarrollo del presente trabajo.

7.1.1 PGINA DATOS DEL PROBLEMA
La primera Pgina del programa es la hoja de Datos del Problema, que es donde se
ingresan los Datos para los diferentes algoritmos, tales como: matrices, nmero de variables,
precisin, entre otros.

El archivo contentivo del programa es: Trabajo Prctico Grafos-Matrices (332) (2011-2), este
archivo al ser abierto automticamente iniciar en la pantalla del programa implementado.

La pantalla de Datos Generales del Sistema es mostrada en la siguiente figura.




Figura 16. Pgina Datos del Problema.
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 34-66

En esta pantalla se selecciona el algoritmo a trabajar y se pueden introducir los datos
necesarios para su ejecucin.
7.1.2 PGINA ALGORITMOS JACOBI Y GAUSS-SEIDELL

En esta Pgina se desarrollan los algoritmos Jacobi y Gauss-Seidel. Aqu se realizan las
iteraciones y tambin se pueden cambiar los valores iniciales y registrar el resultado de las
iteraciones. El resultado ser almacenado en la Hoja JACOBI si esta seleccionado el mtodo
Jacobi o en caso contario se almacenar en la Hoja GAUSS-SEIDEL.




Figura 17. Pgina Algoritmos Jacobi y Gauss-Seidel.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 35-66


7.1.3 PGINA ALGORITMO CUTHILL-MCKEE
En esta Pgina se desarrolla el mtodo Cuthill-McKee. En ella se puede seleccionar las
diferentes opciones relacionadas con este algoritmo al igual se puede realizar el registro de las
iteraciones realizadas. Tambin esta pantalla permite seleccionar si se quiere ver el resultado
de las iteraciones o los parmetros de la Matriz inicial o resultante. Los datos de este mtodo
son almacenados en la Hoja CUTHILL-McKEE, al momento de seleccionara la opcin
Registrar. Como opcin adicional se implemento el Mtodo Cuthill-McKee Inverso.




Figura 18. Pgina Algoritmo Cuthill-McKee.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 36-66


7.1.4 PGINA MODELO DE GRAFOS DE ELIMINACIN

En esta Pgina se desarrolla el Modelo de Grafos de Eliminacin. La matriz inicial de trabajo de
este mtodo es introducido en la Pgina de Datos del Problema, y en esta slo se realizan las
iteraciones. Las iteraciones se realizan paso a paso, mediante el botn Continuar y podr ser
detenida en cualquier momento mediante el botn Parar. El resultado de la iteracin se ir
mostrando a medida que pulsemos Continuar. Al finalizar la iteracin se habilitar el botn
Dibujar Grafo, de forma de poder dibujara los Grafos asociados a los resultados de las
iteraciones, en la Hoja MODELOS GRAFOS ELIMINACIN. A diferencia de los otros mtodos,
pos su caracterstica, este mtodo va registrando a medida que se pulsa Continuar.





Figura 19. Pgina Modelo Grafos de Eliminacin.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 37-66


7.1.5 PGINA ALGORITMO DE MNIMO GRADO

En esta Pgina se implementa el Algoritmo de Mnimo Grado. Al igual que el mtodo anterior
los datos son introducidos en la Pgina Datos del Problema y en esta se desarrolla el
algoritmo. Se podr pasar de iteracin en iteracin mediante el botn Continuar y se puede
salir de la iteracin mediante el botn Parar. Al finalizar se podr registrar el resultado de las
iteraciones mediante el botn Registrar o Dibujar Grafo.





Figura 20.Pantalla Algoritmo de Mnimo Grado.

En cualquier momento se puede salir de la Pantalla Principal e ir a las hojas para revisar los
resultados, pulsando el botn Salir. Si se desea regresar a la Pantalla General, en cada Hoja
se encontrar un Botn denominado Iniciar Programa que nos llevara de nuevo al programa
principal.

Con este desarrollo slo se pretendi implementar los diferentes algoritmos, mtodos y modelos
de forma de cumplir con los requisitos de la materia y poder de una forma ms sencilla poder
simular el problema bajo estudio.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 38-66

7.1.6 PROGRAMAS DESARROLLADOS PARA LOS ALGORITMOS

A continuacin se muestran las rutinas bsicas desarrolladas para la implementacin de cada
uno de los algoritmos. Slo se muestran las rutinas que directamente desarrollan los mtodos,
ya que se desarrollaron otra gran cantidad e rutinas para el manejo, registro y graficacin de
los diferentes mtodos. Esta rutinas pueden ser vistas, habilitando la opcin de Visual Basic del
Excel e ir pasando por las diferentes Hojas y Mdulos.

7.1.6.1 Programas Jacobi y Gauss-Seidel

'
Public Sub IterarGaussSeidel()

HojaActual = ActiveSheet.Name
Sheets(HojaTrabajo).Activate
ActualizarValores
pFilaIxGS = cFilaFormato
pColIx = cPColIx
nFilMat = nNumVar
nColMat = nNumVar
nNumIterMax = cMaxIter
Cells(pFilaIxGS + 1, 1) = nPrecision
'
ReDim MatrizA(nNumVar, nNumVar)
ReDim VectorXI(nNumVar, 1)
ReDim VectorXFGS(nNumVar, 1)
ReDim VectorB(nNumVar, 1)
ReDim MatrizResJGS(nNumIterMax + 1, nNumVar * 2 + 1)
'
'Transfiere Datos de Grid Matriz A para Matriz A
For I = 1 To nNumVar
For j = 1 To nNumVar
If UFProyecto.MSHFlexGrid1.TextMatrix(I, j) <> "" Then
nValorAij = CDbl(UFProyecto.MSHFlexGrid1.TextMatrix(I, j))
Else
nValorAij = 0
End If
MatrizA(I, j) = nValorAij
Next j
nValorBij = CDbl(UFProyecto.MSHFlexGrid1.TextMatrix(I, j))
VectorB(I, 1) = nValorBij
Next I
'Transfiere Valores Iniciales del Grid a Vector XI (Valores Iniciales)
For I = 1 To nNumVar
nValorX0 = CDbl(UFProyecto.MSHFlexGrid2.TextMatrix(1, I))
VectorXI(I, 1) = nValorX0
Next I
'
nIter = 0
nTimeIni = Time
TestMD = MatrizDominante(MatrizA)
If TestMD Then
'
Tabla 21. Programa desarrollo Algoritmo Gauss-Seidel.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 39-66

'
Do
'Escribe resultados en Matriz de Resultados y en Vector Inicial
For I = 1 To nNumVar
MatrizResJGS(nIter + 1, I) = VectorXI(I, 1)
'If nIter <> 0 Then
' MatrizResJGS(nIter + 1, nNumVar + i) = VectorXFGS(i, 1)
'End If
VectorXFGS(I, 1) = VectorXI(I, 1) '.. X(i) se hall por Gauss
Next I
nSuma = 0
nGSError = 0
'Clculo Primera variable
For j = 2 To nNumVar
nSuma = nSuma + MatrizA(1, j) * VectorXFGS(j, 1)
Next j
If MatrizA(1, 1) <> 0 Then
VectorXFGS(1, 1) = (VectorB(1, 1) - nSuma) / MatrizA(1, 1)
Else
VectorXFGS(1) = 0
End If
nGSError = nGSError + (VectorXFGS(1, 1) - VectorXI(1, 1)) ^ 2
'Se transfiere resultado de primera Variable a Vector Valores Iniciales
VectorXI(1, 1) = VectorXFGS(1, 1)
'
'Calculo segunda y n-esima variables
For I = 2 To nNumVar
nSum1 = 0
nSum2 = 0
For j = I + 1 To nNumVar
nSum1 = nSum1 + MatrizA(I, j) * VectorXFGS(j, 1)
Next j
For k = 1 To I - 1
nSum2 = nSum2 + MatrizA(I, k) * VectorXFGS(k, 1)
Next k
If MatrizA(I, I) <> 0 Then
VectorXFGS(I, 1) = (VectorB(I, 1) - nSum1 - nSum2) / MatrizA(I, I)
Else
VectorXFGS(I) = 0
End If
nGSError = nGSError + (VectorXFGS(I, 1) - VectorXI(I, 1)) ^ 2
'Se transfiere el valor de la Variable I a Vector Inicial
VectorXI(I, 1) = VectorXFGS(I, 1)
Next I
nGSError = Sqr(nGSError) 'Calcula Error
MatrizResJGS(nIter, nNumVar * 2 + 1) = nGSError 'Escribe Error en Tabla
'pFila = pFila + 1
nIter = nIter + 1
Loop Until (nGSError <= nPrecision Or nIter >= nNumIterMax + 1)
'
nTimeFinal = Time ' Asigna hora de finalizacin.
If nNumIter <> nIter - 1 Then
nNumIter = nIter - 1
End If
'
Tabla 22. Programa desarrollo Algoritmo Gauss-Seidel.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 40-66


'
UFProyecto.TBNumIterJGS.Value = CInt(nNumIter)
nTiempoTotal = (nTimeFinal - nTimeIni) 'Calcula tiempo total.
UFProyecto.TBTiempoJGS.Text = Format(nTiempoTotal, "##,##0.00000000000000000000")
'Transfiere Datos Almacenados en Matriz Resultados a Grid
Call TransferirResultadosJGS
UFProyecto.CBRegistrarJGS.Enabled = True
'
Else
'Matriz No Dominante
MsgBox ("MATRIZ NO DOMINANTE, Iteracin GAUSS-SEIDEL no Iniciada")
End If

End Sub
'
Tabla 23. Programa desarrollo Algoritmo Gauss-Seidel.

'
Public Sub IterarJacobi()

HojaActual = ActiveSheet.Name
Sheets(HojaTrabajo).Activate
ActualizarValores
pFilaIxJ = cFilaFormato
pColIx = cPColIx
nFilMat = nNumVar
nColMat = nNumVar
'
nNumIterMax = cMaxIter
Cells(pFilaIxJ + 1, 1) = nPrecision
'
ReDim MatrizA(nNumVar, nNumVar)
ReDim VectorXI(nNumVar, 1)
ReDim VectorXFJ(nNumVar, 1)
ReDim VectorB(nNumVar, 1)
ReDim MatrizResJGS(nNumIterMax + 1, nNumVar * 2 + 1)
'
'Transfiere Datos de Grid para Matriz A
For I = 1 To nNumVar
For j = 1 To nNumVar
nValorAij = CDbl(UFProyecto.MSHFlexGrid1.TextMatrix(I, j))
MatrizA(I, j) = nValorAij
Next j
'
nValorBij = CDbl(UFProyecto.MSHFlexGrid1.TextMatrix(I, j))
VectorB(I, 1) = nValorBij
'
Next I
'Transfiere Valores Iniciales del Grid a Matriz
For I = 1 To nNumVar
nValorX0 = CDbl(UFProyecto.MSHFlexGrid2.TextMatrix(1, I))
VectorXI(I, 1) = nValorX0
Next I
'
Tabla 24. Programa desarrollo Algoritmo Jacobi.
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 41-66


UFProyecto.TBNumIterJGS.Value = CInt(nNumIter)
nTiempoTotal = (nTimeFinal - nTimeIni) 'Calcula tiempo total.
UFProyecto.TBTiempoJGS.Text = Format(nTiempoTotal, "##,##0.00000000000000000000")
'Transfiere Datos Almacenados en Matriz Resultados a Grid
Call TransferirResultadosJGS
UFProyecto.CBRegistrarJGS.Enabled = True
Else
'Matriz no Dominante
MsgBox ("MATRIZ DE DATOS NO DOMINANTE, , Iteracin JACOBI no Iniciada")
End If
'
End Sub
'
Tabla 25. Programa desarrollo Algoritmo Jacobi.

7.1.6.2 Programas Implementacin Algoritmo Cuthill-McKee

'
Public Sub IteraCuthilMcKee()


nNumVarA = Sheets(HPAR).Cells(cFilaIniACM, cPColIxDat)
nVertIni = Sheets(HPAR).Cells(cFilaIniACM, cPColIxDat + 1)
'
nFilMaxMat = nNumVar
nColMaxMat = nNumVar + 0 'cColMat
ReDim MatrizVecinos(nNumVar, nNumVar) 'Inicializa Matriz de vecinos
ReDim MatrizGradosCM(nNumVar, 4)
'
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Comienzo Reordenamiento de Vrtices por Mtodo Cuthill-McKee (Pasos 1 al 2)
'
Call CalculaParametrosMatriz(MatrizIniCM)
nBandaMaxI = nBandaMax
nNumIter = 1
pColEtiq = 0
pColGrado = 0
'
Erase MatrizResCM
ReDim MatrizResCM(nFilMaxMat, nColMaxMat) 'Redimensiona Matriz de trabajo
ReDim ListaSec(0, nNumVar + 1) 'Redimensiona Lista de Secuencias
ReDim ListaVec(0, nNumVar + 1) 'Redimensiona Lista de Secuencias
ReDim MatrizTablaCM(nNumVar * nNumVar, 4) 'Redimensiona Tabla Registro de Resultado
'
nVertIter = nVertIni
ListaSec(0, 1) = nVertIni 'Coloca Vrtice inicial el Lista de Secuencias
ListaSec(0, 0) = 1 'Inicializa Puntero Final de Lista de secuencias
ListaSec(0, nNumVar + 1) = 1 'Inicializa Puntero Inicial de Lista de Secuencia
MatrizResCM(nVertIter, pColEtiq) = -1 'Etiqueta Vrtice Inicio
Do
nVertIter = ListaSec(0, ListaSec(0, nNumVar + 1)) 'Lee vrtice a verificar de Lista de Secuencias
'
Tabla 26. Programas desarrollados para Cuthill-McKee.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 42-66


'Recorre Lista de Vecinos del Vrtice bajo prueba
ReDim ListaVec(0, nNumVar + 1) 'Redimensiona Lista de Secuencias
ListaVec(0, 0) = 0 'Inicializa Contador de Lista de Vecinos
nGradoVert = Abs(MatrizVecinos(nVertIter, pColGrado)) 'Obtiene grado del vrtice
If nGradoVert > 0 Then
For I = 1 To nGradoVert
nVec = MatrizVecinos(nVertIter, I)
If MatrizVecinos(nVec, pColGrado) > 0 Then 'Verifica si Vrtice i ha sido etiquetado
'Vecino no ha sido etiquetado
MatrizVecinos(nVec, pColGrado) = _
Abs(MatrizVecinos(nVec, pColGrado)) * -1 'Marca como Etiquetado Vrtice vecino
ListaVec(0, ListaVec(0, 0) + 1) = nVec
ListaVec(0, 0) = ListaVec(0, 0) + 1 'Incrementa contador de Lista de Vecinos
If ListaVec(0, 0) > nNumVar Then
Stop
End If
End If
Next I
If ListaVec(0, 0) <> 0 Then 'Verifica si tiene vecinos
'Tiene vecinos, se ordenan segn su grado
Call OrdenaVertVec(nVertIter)
MatrizVecinos(nVertIter, pColGrado) = _
Abs(MatrizVecinos(nVertIter, pColGrado)) * -1 'Marca como Etiquetado Vrtice bajo Prueba
'ListaSec(0, nNumVar + 1) = ListaSec(0, nNumVar + 1) + 1 'Incrementa puntero inicio de Lista de Secuencias
Else
'No tiene vecinos o ya fueron etiquetados
'nNumIter = nNumIter + 1
'ListaSec(0, nNumVar + 1) = ListaSec(0, nNumVar + 1) + 1 'Incrementa puntero inicio de Lista de
Secuencias
End If
End If
'
If ListaVec(0, 0) <> 0 Then
'Actualiza nuevas Etiquetas de Vrtices
nPosSec = ListaSec(0, nNumVar + 1)
nPosVec = 1
For j = nPosSec To ListaSec(0, 0)
nVec = ListaSec(0, j) 'ListaVec(0, nEtq)
If Len(MatrizResCM(nVec, pColEtiq)) = 0 Then
MatrizResCM(nVec, pColEtiq) = j 'nEtq + 1
If MatrizResCM(nVec, pColEtiq) < 0 Then
Stop
End If
End If
Next j
End If
'
ListaSec(0, nNumVar + 1) = ListaSec(0, nNumVar + 1) + 1 'Incrementa puntero inicio de Lista de Secuencias
'
Call EscribirDatosIterCM
'Stop
Loop While ListaSec(0, 0) < nNumVar
'Final de Reordenacin de Vrtices

Tabla 27. Programas desarrollados para Cuthill-McKee.


Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 43-66


nPuntSec = 1
Do
nEtqVVert = ListaSec(0, nPuntSec) 'Lee etiqueta vieja
nGrado = Abs(MatrizVecinos(nEtqVVert, pColGrado)) 'Obtiene Grado del Vrtice
nEtqNVert = nPuntSec 'Obtiene nueva Etiqueta
MatrizResCM(nEtqNVert, nEtqNVert) = Abs(nEtqVVert) 'Coloca etiqueta Vieja en la Diagonal nueva
nPunt = 1
Do
nVec = MatrizVecinos(nEtqVVert, nPunt) 'Obtiene Vecino de Vrtice
nEtqVec = Abs(MatrizResCM(nVec, pColEtiq)) 'Obtiene Etiqueta de Vcino
nModo = 0 'Modo de relleno: 1= Filas, 2= Columnas
If nVec >= nEtqVVert Then
'Vecino mayor que vrtice, Lee por Filas, Columna fija
nValor = MatrizIniCM(nVec, nEtqVVert) 'Obtiene Valor de Fila
nModo = 1
Else
'Vecino menor que Vrtice, Lee por Columnas, fila fija
nValor = MatrizIniCM(nEtqVVert, nVec) 'Obtiene Valor de Columna
nModo = 2
End If
'
'Esctritura de Valor en nueva localizacin
If nEtqVec >= nEtqNVert Then
If nEtqVec = nEtqNVert Then
MatrizResCM(nEtqVVert, nEtqNVert) = nValor
Else
MatrizResCM(nEtqVec, nEtqNVert) = nValor
End If
Else
MatrizResCM(nEtqNVert, nEtqVec) = nValor
End If
nPunt = nPunt + 1
Loop While nPunt < nGrado + 1
nPuntSec = nPuntSec + 1
Loop While nPuntSec < nNumVar + 1
'
End Sub
'
Public Sub OrdenaVertVec(nVertIter)

pColGF = nNumVar + 1
pColGC = nNumVar + 2
'Tiene Vecinos se ordena segn grados de manera ascendente
'
For w = 1 To ListaVec(0, 0) - 1
'Obtiene primer vecino
nVec = ListaVec(0, w)
nGradoVec = Abs(MatrizVecinos(nVec, 0)) 'Obtiene grado de Primer Vecino
nPos = w '
For k = w + 1 To ListaVec(0, 0)
nVec1 = ListaVec(0, k)
If Len(nVec1) <> 0 Then 'Verifica si vrtice tiene vecinos

Tabla 28. Programas desarrollados para Cuthill-McKee.



Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 44-66

'Tiene vecino(s)
nGradoVec1 = Abs(MatrizVecinos(nVec1, 0)) 'Obtiene grado de i-simo Vecino
If nGradoVec > nGradoVec1 Then
'Intercambia posicin
ListaVec(0, k) = nVec
ListaVec(0, nPos) = nVec1
nPos = k
End If
Else
'No tiene Vecinos
Exit For
End If
Next k
'Transfiere Vrtices Vecinos a Lista de Secuencias
ListaSec(0, ListaSec(0, 0) + w) = ListaVec(0, w)
'
Next w
ListaSec(0, ListaSec(0, 0) + w) = ListaVec(0, w) 'Transfiere ltimo Vecino a Lista de Secuencias
ListaSec(0, 0) = ListaSec(0, 0) + ListaVec(0, 0) 'Incrementa puntero Final de Secuencias

End Sub
'
Public Sub CalculaParametrosMatriz(MatrizTemp)
'Clcula Grado de Matriz, por Filas y Columnas

ReDim MatrizGradosCM(nNumVar, 4) 'Inicializa Matriz de Grados y Ancho de Banda
ReDim MatrizVecinos(nNumVar, nNumVar) 'Inicializa Matriz de Vecinos

'
pCol = 1
pColGF = pCol
pColGC = pCol + 1
pColEp = pCol + 2
pColBe = pCol + 3
'
nBanda = 0
nBandaMax = 0
nContorno = 0
MatrizGradosCM(0, 0) = 0
'
For nVert = 1 To nNumVar
'Grado por Fila
bFlag = True
MatrizGradosCM(nVert, pColGF) = 0 'Inicializa Grado Fila
For pCol = 1 To nVert
If pCol <> nVert Then
If Len(MatrizTemp(nVert, pCol)) <> 0 Then 'Verifica si existe un elemento
'Existe Adyacencia en Columna
MatrizVecinos(nVert, MatrizVecinos(nVert, 0) + 1) = pCol 'Almacena Vecino
MatrizVecinos(nVert, 0) = MatrizVecinos(nVert, 0) + 1 'Incrementa Contador de Vecinos
MatrizGradosCM(nVert, pColGF) = MatrizGradosCM(nVert, pColGF) + 1 'Incrementa contador grados
por filas
If bFlag Then
'Stop
'nEp = pCol
Tabla 29. Programas desarrollados para Cuthill-McKee.


Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 45-66


MatrizGradosCM(nVert, pColEp) = pCol 'Almacena Ei
nBanda = nVert - MatrizGradosCM(nVert, pColEp) 'Calcula Banda
MatrizGradosCM(nVert, pColBe) = nBanda 'Almacena Banda
If nBanda > nBandaMax Then 'Verifica si es mxima banda
nBandaMax = nBanda 'Actualiza Mx. Banda
End If
bFlag = False
End If
End If
End If
Next pCol
'Grado por Columna
MatrizGradosCM(nVert, pColGC) = 0 'Inicializa Grado Columna
For pFil = nVert + 1 To nNumVar
If Len(MatrizTemp(pFil, nVert)) <> 0 Then 'Verifica si existe un elemento
'Existe Adyacencia en Fila
MatrizVecinos(nVert, MatrizVecinos(nVert, 0) + 1) = pFil 'Almacena Vecino
MatrizVecinos(nVert, 0) = MatrizVecinos(nVert, 0) + 1 'Incrementa Contador de Vecinos
MatrizGradosCM(nVert, pColGC) = MatrizGradosCM(nVert, pColGC) + 1 'Incrementa contador grados
por filas
If bFlag Then
MatrizGradosCM(nVert, pColEp) = pFil - 1 'Almacena Ei
'Calcula los Ancho de Banda
nBanda = nVert - MatrizGradosCM(nVert, pColEp) 'Calcula Banda
MatrizGradosCM(nVert, pColBe) = nBanda 'Almacena Banda
If nBanda > nBandaMax Then 'Verifica si es mxima banda
nBandaMax = nBanda 'Actualiza Mx. Banda
End If
bFlag = False
End If
End If
Next pFil
MatrizGradosCM(nVert, 0) = MatrizGradosCM(nVert, pColGF) _
+ MatrizGradosCM(nVert, pColGC) 'Almacena Grado del Vrtice
nContorno = nContorno + MatrizGradosCM(nVert, 0)

Next nVert
MatrizGradosCM(0, 0) = nContorno - 1
'
End Sub
'
Public Sub LeerDatosMatrizCM()
'Revisar
nNumVar = Sheets(HPAR).Cells(cFilaIniACM, cPColIxDat + 0)
ReDim MatrizIniCM(nNumVar, nNumVar)
With UFProyecto.MSHFlexGrid1
pFilMat = .Rows - 1
pColMat = .Cols - 1
For I = 1 To pFilMat
For j = 1 To pColMat
nValorMat = .TextMatrix(I, j)
If Len(nValorMat) <> 0 Then
If IsNumeric(nValorMat) Then
MatrizIniCM(I, j) = CDbl(nValorMat)

Tabla 30. Programas desarrollados para Cuthill-McKee.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 46-66


MatrizIniCM(I, j) = nValorMat
End If
End If
Next j
Next I
End With

End Sub
'
'
'***********************************************************************************************************************
'
'Nombre Procedimiento: Calcula Contorno
'
'Objeto: Rutina para selecciona nodo inicial de CUTHILL-McKEE
'
'Entrada(s): Combo Box: CBNodoIniCM
'
'
'Salida(s):
'
'Estatus: Lista
'
'Ultima Revisin: 17/03/2012
'
'Comentarios:
'
'***********************************************************************************************************************
'Public Sub CalculaContorno()

pCol = 1
pColGF = pCol
pColGC = pCol + 1
'
'If Not (FlagIterCM) Then
' Call LeerDatosMatrizCM
Call CalculaParametrosMatriz(MatrizIniCM)
UFProyecto.TBContornoICM.Value = MatrizGradosCM(0, 0)
' UFProyecto.TBBandaCMI.Value = nBandaMax
'End If

'
'
If FlagIterCM Then
'Matriz Resultante
' Call CalculaParametrosMatriz(MatrizResCM)
' UFProyecto.TBBandaCMR.Value = nBandaMax
' nContornoF = MatrizGradosCM(0, 0)
' UFProyecto.TBContornoFCM.Value = MatrizGradosCM(0, 0)
nVert = 2
nContornoF = 0
Do
pFila = nVert
pCol = nVert
For I = pFila + 1 To nNumVar
Tabla 31. Programas desarrollados para Cuthill-McKee.
Trabajo Prctico: Mtodos Numricos Iterativos TABLA DE CONTENIDO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 47-66


If Len(MatrizResCM(I, pCol - 1)) <> 0 Then
If Len(MatrizResCM(I, pCol)) = 0 Then
MatrizResCM(I, pCol) = 0
End If
nContornoF = nContronoF + 1
End If
Next I
nVert = nVert + 1
Loop While nVert <= nNumVar
End If
'
End Sub
'
Tabla 32. Programas desarrollados para Cuthill-McKee.

7.1.6.3 Programas Implementacin Modelo Grafos de Eliminacin

'
Public Sub IterarMGE()

Const tMensaje = "DESEA CONTINUAR ITERACIN?"
Const tTtulo = "MODELO GRAFOS DE ELIMINACIN"
Const tEstilo = vbYesNo + vbQuestion + vbDefaultButton2


nNumVar = Sheets(HPAR).Cells(cFilaIniMGE, cPColIxDat)
nVertIter = Sheets(HPAR).Cells(cFilaIniMGE, cPColIxDat + 1)
ReDim MatrizGrafos(nNumVar, 2)
nFilMaxMat = nNumVar
nColMaxMat = nNumVar 'cColMat
UFProyecto.CBContinuarMGE.Visible = True
UFProyecto.CBPararMGE.Visible = True
FlagContinuarMGE = True
FlagPararMGE = True
FlgVecinos = False
Call LimpiaHojaMGE(1)
Call IniMSHFlexGrid7
'
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Comienzo Eliminacin de Vrtices por Modelo Grafos de Eliminacin
'
'Call CalculaParametrosMatrizMGE(MatrizMGEIni, nNumVar)
nNumIter = 0
pColEtiq = 0
pColGrado = 0
FlagIterMGE = False
'
MatrizMGERes = MatrizMGEIni 'Transfiere matriz inicial a Matriz resultados
Call EscribeDatosIteracionMGE(MatrizMGERes, nNumIter) 'Muestra Matriz Inicial
Call CalculaParametrosMatrizMGE(MatrizMGERes, nNumVar)
Call EscribeTablaIteracionMGE(nNumIter)
UFProyecto.LMatrizH.Caption = "Matriz H" & nNumIter
UFProyecto.TBNumIterMGE.Value = nNumIter
'
Tabla 33. Programas desarrollados para Modelo Grafos de Eliminacin.
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 48-66


Do
nCont = nCont + 1
DoEvents
If Not (FlagPararMGE) Then
Exit Sub
End If
Loop While FlagContinuarMGE
'
'Call DibujarGrafosMGE(MatrizMGERes, nNumIter)
'nNumIter = nNumIter + 1
nNumVarMEG = nNumVar

Do
UFProyecto.CBContinuarMGE.Visible = True
UFProyecto.CBPararMGE.Visible = True
FlagContinuarMGE = True
FlagPararMGE = True
'
ReDim ListaVec(0, nNumVar) 'Redimensiona Lista de Vecinos
ListaVec(0, 0) = 0 'Inicializa Puntero Inicio Lista de Vecinos
nGrado = MatrizVecinos(nVertIter, pColGrado) 'Obtiene grado de vrtice
MatrizMGERes(nVertIter, nVertIter) = "" 'Elimina diagonal
MatrizVecinos(nVertIter, pColGrado) = _
Abs(MatrizVecinos(nVertIter, pColGrado)) * -1 'Marca Vrtice como eliminado
'Obtiene lista de Vecinos de Vrtice
For I = 1 To nGrado
nVec = MatrizVecinos(nVertIter, I)
If MatrizVecinos(nVec, pColGrado) > 0 Then 'Verifica si tiene vecinos
'Tiene Vecinos
ListaVec(0, I) = nVec 'Coloca vecino en lista vecinos
ListaVec(0, 0) = ListaVec(0, 0) + 1 'Incrementa contador de vecinos
End If
Next I
'
If ListaVec(0, 0) > 0 Then 'Verifica que vrtice tiene Vecinos
FlgVecinos = True
'Elimina Adyacencias de Vrtice
For I = 1 To ListaVec(0, 0)
nVec = ListaVec(0, I)
MatrizMGERes(nVertIter, nVec) = "" 'Anula diagonal superior
MatrizMGERes(nVec, nVertIter) = "" 'Anula diagonal inferior
Next I
'Crea Vrtices de relleno, entre vecinos del vrtice eliminado
For I = 1 To ListaVec(0, 0) - 1
nVec = ListaVec(0, I)
For j = I + 1 To ListaVec(0, 0)
nVecNext = ListaVec(0, j)
If Len(nVecNext) <> 0 Then 'Verifica que exista vecino siguiente
If Len(MatrizMGERes(nVec, nVecNext)) = 0 Or _
MatrizMGERes(nVec, nVecNext) = cCharRelleno Then
MatrizMGERes(nVec, nVecNext) = cCharRelleno
MatrizMGERes(nVecNext, nVec) = cCharRelleno
End If
End If
Next j
Tabla 34. Programas desarrollados para Modelo Grafos de Eliminacin.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 49-66


Next I
'
With UFProyecto.MSHFlexGrid7
.TextMatrix(nNumIter + 1, 1) = "V" & nVertIter
'
If ListaVec(0, 0) <> 0 Then
For I = 1 To nGrado
nVec = ListaVec(0, I)
.TextMatrix(nNumIter + 1, 2) = .TextMatrix(nNumIter + 1, 2) & "V" & nVec & ", "
Next I
.TextMatrix(nNumIter + 1, 2) = Left(.TextMatrix(nNumIter + 1, 2), _
Len(.TextMatrix(nNumIter + 1, 2)) - 2)
End If
'
End With
FlgVecinos = False
'
Call EscribeDatosIteracionMGE(MatrizMGERes, nNumIter + 1)
Call CalculaParametrosMatrizMGE(MatrizMGERes, nNumVar)
Call EscribeTablaIteracionMGE(nNumIter + 1)
End If
'
nNumIter = nNumIter + 1
UFProyecto.LMatrizH.Caption = "Matriz H" & nNumIter
UFProyecto.TBNumIterMGE.Value = nNumIter
'
nVertIter = nVertIter + 1
nCont = 0
'
Do
nCont = nCont + 1
DoEvents
If Not (FlagPararMGE) Then
Exit Sub
End If
Loop While FlagContinuarMGE
'
Loop While nVertIter < nNumVar
'
FlagIterMGE = True
UFProyecto.CBContinuarMGE.Visible = False
UFProyecto.CBPararMGE.Visible = False
FlagContinuarMGE = False
FlagPararMGE = False

End Sub
'
Tabla 35. Programas desarrollados para Modelo Grafos de Eliminacin.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 50-66


7.1.6.4 Programas Algoritmo de Grado Mnimo

'
Public Sub IterarAMG()

nNumVar = Sheets(HPAR).Cells(cFilaIniAMG, cPColIxDat)
nVertIter = Sheets(HPAR).Cells(cFilaIniAMG, cPColIxDat + 1)
ReDim MatrizGrafos(nNumVar - 1, nNumVar + 1)
ReDim MatrizTrabajo(nNumVar - 1, nNumVar + 1)
nFilMaxMat = nNumVar
nColMaxMat = nNumVar 'cColMat
UFProyecto.CBContinuarAMG.Visible = True
UFProyecto.CBPararAMG.Visible = True
FlagContinuarAMG = True
FlagPararAMG = True
FlgVecinos = False
Call IniMSHFlexGrid10
'
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Comienzo Eliminacin de Vrtices por Modelo Algoritmo Mnimo Grado
'
nNumIter = 0
pColEtiq = 0
pColGrado = 0
FlagIterAMG = False
nNumVarAMG = nNumVar
FlagPrimero = True
'
MatrizAMGRes = MatrizAMGIni 'Transfiere matriz inicial a Matriz resultados
Call CalculaParametrosMatrizAMG(MatrizAMGRes, nNumVarAMG)
UFProyecto.LTituloAMG.Visible = True
UFProyecto.LTituloAMG.Caption = "AMG PASO: " & nNumIter
UFProyecto.TBNumIteracionesAMG.Value = nNumIter
Call IniMSHFlexGrid10
'
Do
nCont = nCont + 1
DoEvents
If Not (FlagPararAMG) Then
GoTo SalidaParar
End If
Loop While FlagContinuarAMG
'
Do
UFProyecto.CBContinuarAMG.Visible = True
UFProyecto.CBPararAMG.Visible = True
FlagContinuarAMG = True
FlagPararAMG = True
'
ReDim ListaVec(0, nNumVar) 'Redimensiona Lista de Vecinos
ListaVec(0, 0) = 0 'Inicializa Puntero Inicio Lista de Vecinos
'
'Verificar Mnimo Grado

Tabla 36. Programas desarrollados para Algoritmo de Grado Mnimo.
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 51-66


nGradoMenor = nNumVar * nNumVar + 1
For I = 1 To nNumVar
If MatrizVecinos(I, pColGrado) < nGradoMenor And Len(MatrizVecinos(I, pColGrado)) <> 0 Then
'Obtiene grado de vrtice
nGradoMenor = MatrizVecinos(I, pColGrado)
nVertIter = I
End If
Next I
If FlagPrimero Then
UFProyecto.TBVerticeIAMG.Value = nVertIter
FlagPrimero = False
End If
MatrizVecinos(nVertIter, pColGrado) = ""
MatrizAMGRes(nVertIter, nVertIter) = "" 'Elimina diagonal
'
'Obtiene lista de Vecinos de Vrtice
For I = 1 To nGradoMenor
nVec = MatrizVecinos(nVertIter, I)
If MatrizVecinos(nVec, pColGrado) > 0 Then 'Verifica si tiene vecinos
'Tiene Vecinos
ListaVec(0, I) = nVec 'Coloca vecino en lista vecinos
ListaVec(0, 0) = ListaVec(0, 0) + 1 'Incrementa contador de vecinos
End If
Next I
'
If ListaVec(0, 0) > 0 Then 'Verifica que vrtice tiene Vecinos
FlgVecinos = True
'Elimina Adyacencias de Vrtice
For I = 1 To ListaVec(0, 0)
nVec = ListaVec(0, I)
MatrizAMGRes(nVertIter, nVec) = "" 'Anula diagonal superior
MatrizAMGRes(nVec, nVertIter) = "" 'Anula diagonal inferior
Next I
'
With UFProyecto.MSHFlexGrid10
.TextMatrix(nNumIter + 1, 1) = "V" & nVertIter
MatrizTrabajo(nNumIter + 1, 1) = nVertIter 'Almacena Vrtice Iteracin
.TextMatrix(nNumIter + 1, 2) = nGradoMenor
MatrizTrabajo(nNumIter + 1, 0) = nGradoMenor 'Almacena Grado del Vrtice
'
If ListaVec(0, 0) <> 0 Then
For I = 1 To nGradoMenor
nVec = ListaVec(0, I)
.TextMatrix(nNumIter + 1, 3) = .TextMatrix(nNumIter + 1, 3) & "V" & nVec & ", "
MatrizTrabajo(nNumIter + 1, I + 1) = nVec
Next I
.TextMatrix(nNumIter + 1, 3) = Left(.TextMatrix(nNumIter + 1, 3), _
Len(.TextMatrix(nNumIter + 1, 3)) - 2)
End If
'
End With
FlgVecinos = False
Call CalculaParametrosMatrizAMG(MatrizAMGRes, nNumVar)
End If
Tabla 37. Programas desarrollados para Algoritmo de Grado Mnimo.


Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 52-66


'
nNumIter = nNumIter + 1
UFProyecto.LTituloAMG.Caption = "AMG PASO: " & nNumIter
UFProyecto.TBNumIteracionesAMG.Value = nNumIter
'
nCont = 0
Do
nCont = nCont + 1
DoEvents
If Not (FlagPararAMG) Then
GoTo SalidaParar
End If
Loop While FlagContinuarAMG
'
Loop While nNumIter < nNumVar - 1
'
FlagIterAMG = True
SalidaParar:
UFProyecto.CBContinuarAMG.Visible = False
UFProyecto.CBPararAMG.Visible = False
FlagContinuarAMG = False
FlagPararAMG = False

End Sub
'
Tabla 38. Programas desarrollados para Algoritmo de Grado Mnimo.


7.2. CONCEPTOS PRELIMINARES

Para el desarrollo de este trabajo se utilizaron diferentes conceptos bsicos de los temas aqu
tratados. Para su mayor comprensin, y debido a la importancia que poseen, se hace en este
apartado un breve repaso sobre las definiciones y propiedades de dichos conceptos,
buscando con ello que el documento sea autocontenido
7.2.1 SISTEMA DE ECUACIONES LINEALES (SEL)

Un sistema de ecuaciones lineales es un conjunto de m ecuaciones con n incgnitas, cuya
solucin es un conjunto de valores para las incgnitas con el que se satisfacen todas las
ecuaciones. En nuestro caso se asumir que siempre hay la misma cantidad de ecuaciones
que de incgnitas (matriz nxn), para los cuales hay una nica solucin, cuando sta existe.

En el planteamiento matemtico de muchos problemas realistas los sistemas de ecuaciones
algebraicas, y de una manera especial los lineales, aparecen de manera natural. Tambin se
presentan con frecuencia cuando se hace una discretizacin de ecuaciones diferenciales
ordinarias y en derivadas parciales.

Para hallar la solucin al sistema con ayuda de un computador se utilizan diferentes mtodos.
Para el manejo del sistema se hace uso de una matriz que representa los coeficientes de las
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 53-66

incgnitas en cada ecuacin, un vector de trminos independientes y un vector solucin,
como lo muestra el siguiente ejemplo.





A x b
Sistemas Ecuacin Inicial Representado de manera Matricial como Ax = b
Figura 21. Sistema de Ecuacin Lineal representado como Matriz.

El objetivo es encontrar los valores del vector x mediante algn mtodo numrico. La matriz de
coeficientes A puede tener diferentes propiedades que pueden ser explotadas en la resolucin
del sistema. Para mayor comprensin se explican algunas propiedades con detalle.

7.2.2 MATRIZ TRIANGULAR
Una matriz es Triangular Superior (UPPER) si cumple que 0
, ,
= <
j i j i
a j i . Es decir, cada
elemento de A ubicado por debajo de la diagonal principal tiene valor nulo. De igual manera
se puede decir que matriz es Triangular Inferior (LOWER) cuando cumple que
0
, ,
= >
j i j i
a j i . Los siguientes son ejemplos de Matriz Triangular Inferior (L) y Superior (U).






Figura 22. Matriz Triangular Superior (U) e Inferior (L)..

7.2.3 MATRIZ SIMTRICA
Una matriz es simtrica si se cumple que aij = aji. Es decir, cada elemento de A ubicado en la
fila i, columna j, es igual al elemento ubicado en la fila j, columna i. En este tipo de matrices se
pueden ahorrar espacios de memoria en su almacenamiento, ya que con almacenar los
elementos localizados por debajo de la diagonal principal de la misma (tringulo inferior), se
conocen los valores de los elementos ubicados por encima de la diagonal superior (tringulo
superior), y viceversa. Del mismo modo podemos ahorrar operaciones al aplicar algoritmos que
exploten esta estructura.
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 54-66

7.2.4 MATRIZ DEFINIDA POSITIVA

Una matriz
nxn
R Ae es definida positiva si es simtrica y 0 0 = e > x y R x x A X
n T
. Los sistemas
con matrices asociadas definidas positivas constituyen una de las clases ms importantes de
problemas Ax = b [4]. Las matrices definidas positivas tienen una diagonal de peso, es decir con
valores relativamente grandes. Adems, las matrices definidas positivas cumplen las siguientes
propiedades:
1) Una matriz A definida positiva es no singular.
2) Si una matriz A es definida positiva entonces todas sus submatrices principales son
definidas positivas. En particular, todas las entradas de la diagonal son positivas.
3) Si una matriz A es definida positiva entonces existe una factorizacin A = LDM
T
, y la
matriz diagonal D tiene valores positivos.
4) Si una matriz A es simtrica y definida positiva entonces existe una matriz triangular
inferior nica G con entradas positivas en la diagonal, tal que A = GG
T
(factorizacin
de Cholesky).
5) Una matriz simtrica A es definida positiva si y slo si sus primeras submatrices
principales tienen determinante positivo.
7.2.5 MATRIZ INDEFINIDA
Una matriz A es considerada indefinida cuando su forma cuadrtica X
T
Ax toma valores tanto
positivos como negativos. Aunque la matriz A puede tener una factorizacin LDL
T
, las entradas
en los factores pueden tener una magnitud arbitraria.
7.2.6 MATRIZ DIAGONALMENTE DOMINANTE Y DIAGONAL ESTRICTAMENTE DOMINANTE
7.2.6.1 Matriz Diagonalmente Dominante
Matriz Diagonalmente Dominante: si en cada uno de los renglones, el valor absoluto del
elemento de la diagonal principal es mayor que la suma de los valores absolutos de los
elementos restantes del mismo rengln. A veces la matriz de un sistema de ecuaciones no es
diagonalmente dominante pero cuando se cambian el orden de las ecuaciones y las
incgnitas el nuevo sistema puede tener matriz de coeficientes diagonalmente dominante.
7.2.6.2 Matriz Diagonal Estrictamente Dominante
En matemticas, y concretamente en lgebra lineal, una matriz es Diagonal Estrictamente
Dominante, cuando lo es por filas o por columnas.

1. Lo es por filas cuando, para todas las filas, el valor absoluto del elemento de la diagonal de
esa fila es estrictamente mayor que la suma de los valores absolutos del resto de elementos
de esa fila.
2. Lo es por columnas cuando, para todas las columnas, el valor absoluto del elemento de la
diagonal de esa columna es estrictamente mayor que la suma de los valores absolutos del
resto de elementos de esa columna.

Formalmente, se dice que la matriz A de n x n es Estrictamente Diagonal Dominante cuando se
satisface:
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 55-66


Se puede enunciar a partir de esta definicin el siguiente teorema de convergencia aplicable
a los procesos iterativos de Jacobi y Gauss Seidel:

Sea A una matriz cuadrada, si A es diagonal dominante, los mtodos iterativos de Jacobi y
Gauss-Seidel convergen a la solucin del sistema de ecuaciones Ax=b.

7.2.7 MATRIZ DISPERSA
Una matriz A se considera dispersa cuando un alto porcentaje de sus elementos son ceros. En
nuestro caso consideraremos las matrices dispersas en cuanto pueda optimizarse la
computacin de la misma mediante el uso de estructuras especiales para el almacenamiento.
Las matrices dispersas nos ahorran operaciones en las que su resultado se conoce de
antemano, como productos y sumas con ceros.

Hay muchas aplicaciones que dan lugar a tener que manejar matrices que tienen gran
cantidad de sus elementos nulos. Estas matrices se denominan matrices dispersas.
Se puede dar una definicin informal de matriz dispersa, como aquella matriz que tiene
suficientes ceros de forma que vale la pena tener esto en cuenta. De este modo, evitando
operaciones sobre los elementos que son cero se ahorra tiempo de computacin y no
guardando los elementos nulos se ahorra en memoria.
Para manejar estas matrices se trata de aprovechar el hecho que tienen gran cantidad de
elementos nulos para no almacenar dichos elementos, con lo que ello supone de ahorro en
memoria y en tiempo de computacin.
Para poder trabajar con las matrices sin almacenar los elementos nulos se utilizan distintos
esquemas de almacenamiento.
7.2.7.1 Matrices en Banda

Uno de los tipos de matrices dispersas ms habituales. Son matrices cuyos elementos estn
contenidos en una estrecha banda, normalmente alrededor de la diagonal principal de la
matriz. Surgen muy frecuentemente en modelos matemticos de situaciones fsicas donde slo
se influyen las variables que representan magnitudes cercanas en el espacio, en el tiempo, etc.

En matemticas una matriz se le llama Matriz Banda cuando es una matriz donde los valores no
nulos son confinados en un entorno de la diagonal principal, formando una banda de valores
no nulos que completan la diagonal principal de la matriz y ms diagonales en cada uno de
sus costados.

Escrito formalmente, una matriz nn A=(ai,j ) es una matriz banda si todos sus elementos son
cero fuera de una zona diagonal cuyo rango se determina por las constantes k1 y k2:



Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 56-66

Los valores k1 y k2 son el semiancho de banda izquierdo y derecho respectivamente. El ancho
de banda de una matriz es k1 + k2 + 1, y se puede definir como el nmero menor de diagonales
adyacentes con valores no nulos.

Una matriz banda con k1 = k2 = 0 es una matriz diagonal

Una matriz banda con k1 = k2 = 1 es una matriz tridiagonal; cuando k1 = k2 = 2 se tiene una
matriz pentadiagonal y as sucesivamente.

Una matriz banda con k1 = k2 = p, dependiendo del nmero p, se le puede llamar matriz p-
banda, formalmente se puede definir como:



Una matriz con k1 = 0, k2 = n1, se obtiene la definicin de una matriz triangular inferior. De
forma similar, para k1 = n1, k2 = 0, se obtiene la definicin de una matriz triangular superior.

Ejemplo:



La matriz anterior tiene un ancho de banda de 3 y recibe el nombre especial de Matriz
Tridiagonal.

7.2.7.1.1 Definicin 1: Ancho de Banda
Una matriz
mxn
R Ae se dice tiene un ancho de banda de filas w si:

) 1 ( ,
1
+ = =
s s
i i
m i
f l wi mx w
wi


Donde, wi es el ancho de banda de la fila i, } 0 : .{ = =
ij
a j mn fi y } 0 : .{ = =
ij
a j mx li

Para que sea de inters estudiarla como dispersa, w << n. De cada fila i se almacenan todos
los elementos de subndice ij tales que li j fi s s .
7.2.7.1.2 Definicin 2: Envolvente de una Matriz
El conjunto de elementos que forman la envolvente de una matriz A, Env(A), es:

} 1 ; : ) , {( ) ( n i li j fi j i A Env s s s s =

La envolvente de la matriz A, es la que forman los elementos inscritos en el polgono, ver Error!
No se encuentra el origen de la referencia..
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 57-66







Figura 23. Envolvente Matriz A.

7.2.7.1.3 Definicin 3: Ancho de Banda de una Matriz Simtrica (SEMIBANDA)

El Ancho de Banda (o Semibanda) , de una Matriz Simtrica B y nxn R Be , se define como:

) 1 ( ,
1
i
n i
f i mx
i
= =
s s
| |
|


donde, i es el ancho de banda de la fila i (o simplemente el ancho de banda i-simo) de B.

De forma similar a como se defini anteriormente, la envolvente de una Matriz Simtrica B,
Env(B), se define como:

} 1 ; : ) , {( ) ( n i li j fi j i B Env s s s s =


7.2.8 SISTEMAS DE GRAN DIMENSIN
Los sistemas de ecuaciones se consideran de gran dimensin cuando se trabaja con miles de
incgnitas y los costos de computacin son elevados. En estos casos se debe prestar mucha
atencin a minimizar los errores de redondeo y truncamiento que puedan generar los
algoritmos. Al mismo tiempo se desea minimizar los tiempos de ejecucin y el almacenamiento
en memoria, utilizando algoritmos eficientes y con soluciones adecuadas en tiempos
aceptables. En problemas de ingeniera y aplicaciones reales aparecen frecuentemente
sistemas de este tipo.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 58-66

La resolucin de sistemas de ecuaciones algebraicas que son lineales de gran dimensin
subyace en la solucin numrica de problemas de la mecnica del continuo y muchos otros
problemas de ingeniera, llegando a constituir en muchos casos el principal factor de costo
computacional.
7.2.9 REPRESENTACIN DE MATRICES CON GRAFOS
La teora de grafos constituye una herramienta bastante til para la representacin de matrices
dispersas, ayudando en la bsqueda de precondicionadores y algoritmos paralelos.

Un grafo se representa formalmente mediante dos conjuntos, un conjunto de vrtices V = { v1,
v2 , vn } y un conjunto de aristas E formado por pares (vi, vj ) donde vi y vj son elementos de
V. As, VxV E c .

El grafo G = (E,V) puede representarse mediante un conjunto de puntos en el plano que
representan el conjunto E y unidos por lneas que representan la relacin V. Cuando esta
relacin es simtrica el grafo es no dirigido (figura 6b), y en otro caso se debe dar direccin a
las relaciones mediante fl echas y se dice que el grafo es dirigido (figura 6a).




Figura 24.. Matriz Grafos de matrices dispersas 4x4.

En el caso de las matrices dispersas, el conjunto V representa las n incgnitas del sistema y E es
una relacin que indica que existe una arista del nodo i al nodo j cuando 0 =
ij
a . As pues, la
arista representa la relacin la ecuacin i incluye la incgnita j. Cuando la matriz es simtrica
el grafo es no dirigido. Una de sus aplicaciones puede verse en la implementacin paralela de
la eliminacin Gaussiana, buscando las variables que son independientes en una cierta fase de
la eliminacin. Estas son variables que no dependen la una de la otra de acuerdo a la relacin
establecida en E. As, las filas de dichas incgnitas pueden usarse como pivotes
simultneamente. En matrices diagonales cada incgnita es independiente, mientras que en
una matriz densa todas dependen de todas; las matrices dispersas estn entre ambos
extremos.

7.2.9.1 Grafo de una Matriz Dispersa
+ Hay una relacin directa entre en patrn de una matriz dispersa y su grafo asociado.
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 59-66

+ Un grafo dirigido o digrafo consiste en un conjunto de nodos o vrtices y aristas dirigidas
entre los nodos.
+ Para una matriz cuadrada A, se asocia un nodo con cada fila. Si aij es un elemento no nulo
(entrada) de una matriz dispersa, hay una arista dirigida del nodo i a j.





Matriz Dispersa Grafo Asociado
Figura 25. Grafo Asociado a una Matriz.

Para matrices simtricas, si hay una conexin del nodo i al nodo j, se tendr tambin una
conexin del nodo j al i. De este modo las matrices simtricas se representan mediante un
grafo no dirigido.




Matriz Simtrica Grafo No Dirigido Asociado
Figura 26.. Grafo Asociado a una Matriz.


7.3. MTODOS ITERATIVOS BSICOS
Los mtodos iterativos parten de una solucin inicial y van modificando sus valores hasta
alcanzar una convergencia deseada cuando sta sea posible. Se dividen en estacionarios y
no estacionarios. Los mtodos estacionarios son mtodos clsicos como Jacobi, Gauss-Seidel o
SOR y tienen una convergencia ms lenta, aunque su programacin es mucho ms simple y
son ms fciles de entender. Los mtodos no estacionarios tienen una mayor convergencia.

La utilizacin masiva de los ordenadores y el aumento constante de su capacidad y velocidad
de clculo, han permitido que los estudios cientficos, tecnolgicos y de ingeniera utilicen
cada vez ms modelos matemticos para interpretar, simular y optimizar fenmenos de diversa
complejidad, y que esos modelos crezcan extraordinariamente en magnitud y exactitud.

Muchos de estos modelos conllevan enfrentarse con sistemas de ecuaciones de un tamao tal
-decenas o cientos de miles de variables- que hace slo unos pocos aos eran casi
inimaginables que se pudiesen tratar.
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 60-66

7.3.1 ALGORITMO DE CUTHILL-MCKEE (CM)

La teora de grafos es una herramienta de gran utilidad para el estudio de los sistemas sparse
(dispersos). La distribucin de las entradas no nulas de una matriz puede ser representada
mediante un grafo y ser utilizado este para visualizar lo que ocurre durante la computacin.

En el subcampo matemtico de la teora de matrices, el algoritmo de Cuthill-McKee es un
algoritmo para reducir el ancho de banda de una matriz simtrica dispersa (es decir, la
distancia mxima entre dos vrtices adyacentes). El algoritmo invertido de Cuthill-McKee (RCM,
por las siglas inglesas Reverse Cuthill-McKee) es el mismo algoritmo pero con los ndices
resultantes invertidos. En el mbito prctico, emplear este ltimo es generalmente una mejor
solucin.

Dada una matriz simtrica A, si la entrada aij de A es distinta de cero, los nodos i y j estn
conectados en el grafo mediante una arista. La Eliminacin Gaussiana en la matriz queda
reflejada en el grafo al eliminar el nodo correspondiente y aparecer nuevas conexiones entre
los nodos restantes, correspondiendo cada una de ellas a un fill-in en A. El mtodo ms
ampliamente utilizado para la transformacin en banda de una matriz sparse es el conocido
con el nombre de Algoritmo de Cuthill-McKee (CM) [6].

La idea del algoritmo es muy simple: Si a es un vrtice ya renumerado y b es un vrtice no
renumerado an, conectado al vrtice a mediante una arista en el grafo, para minimizar la
anchura de la fila asociada a b es evidente que el vrtice b se debe renumerar lo antes
posible, inmediatamente despus del vrtice a.

7.3.1.1 Algoritmo
Dada una matriz simtrica nn, se visualiza como la matriz de adyacencia de un grafo. El
algoritmo de Cuthill-McKee es entonces una renumeracin de los vrtices del grafo con el
objetivo de reducir el ancho de banda de su matriz de adyacencia.
El algoritmo produce una n-tupla ordenada R de vrtices, que es el nuevo orden de los
vrtices.

1) Primero, se elige un vrtice perifrico x y se realiza la asignacin R := ({x}).
2) A continuacin, para i = 1, 2, ...; y se iteran las prximas instrucciones mientras |R| < n
3) Construir el conjunto de adyacencia Ai de Ri (siendo Ri el i-simo componente de R)
excluyendo aquellos vrtices que ya estuvieran en R.

( ) \R :
i i
R Ady A = n i ,....., 2 , 1 =
(3.2.1.1)


4) Ordenar Ai siguiendo una ordenacin ascendente de los vrtices.
5) Aadir Ai al conjunto resultado R.

En otras palabras, numerar los vrtices de acuerdo a una particular bsqueda en anchura
transversal, donde los vrtices vecinos son visitados en orden de menor a mayor.

Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 61-66

En la Figura 27. , se representa una Matriz Simtrica A y su grafo asociado. A la derecha, se
representa la matriz A, que ha sido reordenada mediante el algoritmo de Cuthill-McKee (CM).
Se puede apreciar el reordenamiento en forma de banda de dicha matriz A. Se ha elegido
como inicial el vrtice j (en un extremo del grafo y con pocas conexiones), aunque existen
procedimientos ms refinados para dicha eleccin (ver [10,14]).






Matriz Simtrica Inicial Grafo Asociado Matriz Reordenada
Figura 27. Ejemplo de aplicacin del Algoritmo Cuthill-McKee.


7.3.1.2 Ordenamiento Cuthill-McKee
Si las matrices son de estructura simtrica y se almacenan segn un esquema de perfil o
envolvente, tambin interesa poder disponer de un procedimiento de ordenacin que
compacte los elementos cerca de la diagonal principal de la matriz. Este es el caso del
algoritmo de Cuthill-McKee.

El resultado de aplicar a una matriz simtrica 35 35 este algoritmo se ilustra en la figura.



(a)


(b)
Figura 28. Ordenacin de Ecuaciones por Algoritmo de Cuthill-McKee.

7.3.2 ALGORITMO DE CUTHILL-MCKEE INVERSO (RCM)
El algoritmo de Cuthill-McKee proporciona un mtodo sencillo para reordenar una matriz
dispersa con objeto de reducir el efecto fill-in transformando la matriz en una matriz banda. La
Trabajo Prctico: Mtodos Numricos Iterativos ANEXOS



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 62-66

ordenacin resultante al invertir el algoritmo de Cuthill-Mckee resulta frecuentemente mejor
que el original, en trminos de reduccin de perfil, manteniendo la anchura de banda.
7.3.2.1 Algoritmo
Reordenacin de Cuthil-McKee inverso
1. Construir el Grafo asociado a la matriz A, g(x) = (V, E)
2. Determinar un nodo inicial (pseudo-perifrico) y renumerarlo como x1.
3. Renumerar los nodos conectados a xi en orden ascendente de grado.
4. Efectuar el ordenamiento inverso.
7.3.3 ALGORITMO DE GRADO MNIMO

En el anlisis numrico del algoritmo de grado mnimo es un algoritmo utilizado para permutar
las filas y columnas de una matriz dispersa simtrica antes de aplicar la descomposicin de
Cholesky, para reducir el nmero de ceros no en el factor de Cholesky. Esto se traduce en
reduccin de los requerimientos de almacenamiento y los medios que el factor de Cholesky, o
en ocasiones un factor de Cholesky incompleta utilizado como un preacondicionador (por
ejemplo en el algoritmo de lo previamente gradiente conjugado) se puede aplicar con menos
operaciones de aritmtica.

Algoritmos de grado mnimo se suele utilizar en el mtodo de elementos finitos en la
reordenacin de los nodos se pueden realizar slo en funcin de la topologa de la malla, en
lugar de los coeficientes de la ecuacin diferencial parcial, resultando en ahorros por
eficiencia en la misma malla se utiliza para una variedad de valores de los coeficientes.

Si las filas y las columnas del mismo sistema se reordenan de acuerdo con el Algoritmo de
Grado Mnimo (que se desarrolla en este trabajo) se obtiene un patrn de elementos distintos
de cero como el de la siguiente figura.



(a)


(b)
Figura 29. Ordenacin de Ecuaciones por Algoritmo de Grado Mnimo.

Para definir una ordenacin ptima es necesario tener en cuenta la estructura de la matriz, el
esquema que define cmo se almacena la matriz y el tipo de operaciones que con ella se van
a realizar.

Trabajo Prctico: Mtodos Numricos Iterativos ESPECIFICACIONESDEL TRABAJO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 63-66


8. ESPECIFICACIONES DEL TRABAJO
TRABAJO PRCTICO
GRAFOS Y MATRICES (332)
LAPSO 2011-2

ESPECIFICACIONES: Este trabajo prctico se basar en las unidades 7 y 8, objetivo 6 del modulo
II y en las unidades 10, 11 y 12, objetivos 8, 9 y 10 del mdulo III; donde podr utilizar lenguajes
de programacin o aplicaciones de paquetes matemticos para resolver los ejercicios
propuestos en el.
8.1. PLANTEAMIENTO DEL PROBLEMA

OBJETIVO 6 CRITERIO DE DOMINIO 1/1

1. La compaa manufacturera G & M descontinu la produccin de cierta lnea de
productos, sta medida cre un exceso considerable de capacidad de produccin. La
administracin quiere dedicar este exceso a tres de sus productos, la siguiente tabla
resume la disponibilidad en horas mquinas por semana segn el tipo de mquina:

TIPO DE MQUINA
TIEMPO DISPONIBLE
(horas mquinas por semana)
RECTIFICADORA 150
FRESADORA 500
TORNO 350
Tabla 39. Disponibilidad en horas mquinas por semana segn el tipo de mquina

El nmero de horas mquinas que se requieren para elaborar cada unidad de estos productos
de la compaa G & M es:

PRODUCTOS
TIPO DE MQUINA
1 2 3
RECTIFICADORA 3 0 6
FRESADORA 9 3 3
TORNO 4 5 0
Tabla 40. Nmero Horas-Mquinas por unidad de productos.

Analice los mtodos de Jacobi y Gauss Seidel para resolver sistemas de ecuaciones lineales y
responda lo siguiente:

a) Dado el problema planteado anteriormente, construya el sistema de ecuaciones
asociado con el problema.
b) De una breve explicacin de los Algoritmos de Jacobi y Gauss- Seidel.
Trabajo Prctico: Mtodos Numricos Iterativos ESPECIFICACIONESDEL TRABAJO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 64-66

c) Reformule el sistema de ecuaciones encontrado en (a).
d) Calcule los trminos de la sucesin (los que considere necesarios), generada a partir del
punto Po = (20, 50, 15)
e) Utilizando los algoritmos antes mencionados. (use tablas de resultados, donde seale los
valores obtenidos de cada iteracin segn el Algoritmo).
f) Explique si la sucesin converge a que punto o no.
g) De un anlisis comparativo de los Algoritmos, segn sus resultados y una conclusin sobre
cul de los dos converge ms rpido a la solucin exacta.
h) Analice los dos algoritmos y su incidencia en el problema de la Compaa Manufacturera
G & M.

Observacin: Se admite el uso de cualquier lenguaje de programacin para realizar los clculos de una forma ms eficiente.
En caso de utilizar las herramientas mencionadas, incluya como anexos en el informe la forma como fueron empleadas, as como
el algoritmo del programa utilizado.

OBJETIVO 8 CRITERIO DE DOMINIO 1/1

2. La compaa manufacturera M & G esta analizando los costos entre los diferentes estados
de un pas obteniendo los siguientes resultados:

A B C D E F G H
A - 4 - 6 - 3 - 6
B 4 - 2 - 4 - 3 -
C - 2 - 5 - 2 - 3
D 6 - 5 - 1 - 6 -
E - 4 - 1 - 7 - 1
F 3 - 2 - 7 - 1 -
G - 3 - 6 - 1 - 3
H 6 - 3 - 1 - 3 -
Tabla 41. Anlisis de Costo entre diferentes estados.

Analice el algoritmo de Cuthill McKee y realice lo que se le indica a continuacin:
a) Construya el grafo asociado al problema.
b) Halle la matriz dispersa asociada al grafo.
c) Calcule el ancho de banda de la matriz.
d) Aplique el algoritmo Cuthill Mc kee
e) Calcule el nuevo ancho de banda de la matriz.
f) Anlisis de los resultados obtenidos referidos a la Compaa Manufacturera G & M.

OBJETIVO 9 CRITERIO DE DOMINIO 1/1

3. Dado el grafo de la Compaa Manufacturera G & M que obtuvo en el Objetivo No. 8.
Aplique el Modelo de Grafos de Eliminacin a dicho grafo y de un Anlisis de lo obtenido
referido a la compaa.

OBJETIVO 10 CRITERIO DE DOMINIO 1/1

Trabajo Prctico: Mtodos Numricos Iterativos ESPECIFICACIONESDEL TRABAJO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 65-66

4. Aplique el algoritmo de Mnimo Grado al grafo logrado en el objetivo No. 8. De un anlisis
de lo obtenido referido a la compaa manufacturera G & M.

8.2. INSTRUCCIONES GENERALES SOBRE EL TRABAJO PRCTICO
El estudiante deber resolver el trabajo individualmente y entregar un informe que contenga lo
siguiente:
+ Una introduccin.
+ Exposicin detallada de la solucin matemtica de los problemas y la respuesta a todas las
preguntas.
+ Presentacin de los resultados con las debidas especificaciones.
+ Anlisis de los resultados obtenidos.

8.3. CRITERIO DE CORRECCIN
8.3.1 OBJETIVO NOS. 6, 8, 9, 10
Para considerar logrado los objetivos el estudiante debe presentar un informe que contenga
todos los aspectos requeridos en estos objetivos y aplicar de forma correcta los algoritmos
correspondientes.

NOTA:
El trabajo prctico debe ser remitido al nivel central (Coordinacin de Ing. de Sistemas) nica y
exclusivamente a travs de su Centro Local.

NO HABR PRORROGA, para la entrega de los mismos en la fecha establecida en el PLAN DE
CURSO.

Especialista de Contenido: Prof. Jess Espinal Correo: jespinal@una.edu.ve

Trabajo Prctico: Mtodos Numricos Iterativos ESPECIFICACIONESDEL TRABAJO



Universidad Nacional Abierta, GRAFOSY MATRICES
Tirso Rubn FERNNDEZ, V-6.122.911 66-66



ACRNIMOS Y SIGLAS



SIGLAS DESCRIPCIN
SEL Solucin de Ecuaciones Lineales
SELS Solucin de Ecuaciones Lineales Simultneas
SPARSE
FILL-IN (Relleno)
Una dificultad que se presenta durante el proceso de factorizacin de la
matriz A es que dicho proceso origina entradas no nulas en posiciones de L
que eran nulas en A. Este hecho se conoce con el nombre de efecto Fill-In,
que implica un aumento de la demanda de almacenamiento, mayor
nmero de operaciones y, por tanto, un incremento en los errores de
redondeo.

Das könnte Ihnen auch gefallen