Está en la página 1de 74

FACULTAD

MATEMATICA – FISICA - COMPUTACION

TRABAJO DE DIPLOMA

Solución de Problemas de
Programación Lineal en Enteros
usando varias técnicas de Optimización.

Autor: Rubén Pérez Armas.

Tutor: MSc. Gonzalo J. Palencia Fernández.

2008
“Año 50 de la Revolución”
Hago constar que el presente trabajo fue realizado en la Universidad Central “Marta Abreu”
de Las Villas como parte de la culminación de los estudios de la especialidad de Licenciatura
en Matemáticas, autorizando a que el mismo sea utilizado por la institución , para los fines
que estime conveniente, tanto de forma parcial como total y que además no podrá ser
presentado en eventos ni publicado sin la autorización de la Universidad.

_____________________
Firma del autor

Los abajo firmantes, certificamos que el presente trabajo ha sido realizado según acuerdos de
la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo
de esta envergadura referido a la temática señalada.

________________ _________________________
Firma del tutor Firma del jefe del Seminario
Pensamiento

“Educar es depositar en cada hombre toda la obra humana que le ha


antecedido: es hacer a cada hombre re sumen del mundo viviente, hasta
el día en que vive: es ponerlo a nivel de su tiempo, para que flote en él,
y no dejarlo debajo de su tiempo, con lo que no podrá salir a flote; es
preparar al hombre para la vida.

José Martí Pérez


Nueva York, noviembre 1883.

i
Dedicatoria

Dedico mi tesis a mis padres y familia.


Y a esta gran obra por la que cada día debemos ser mejores, “La Revolución”.

ii
Agradecimientos

Me gustaría expresar mi mayor agradecimiento por haber llegado a este momento tan especial
como es la culminación de mi tesis, a mis padres Rubén Pérez Ayo y Jenny Armas Margado por
darme su apoyo minuto a minuto y compartir conmigo comprendiendo y analizando cada
dificultad y cada problema con amor y dedicación y haciendo hasta lo imposible por ver mis
sueños hecho realidad, siempre con la fe puesta en m í de terminar con éxitos, junto a ustedes
incluyo también a mi hermana. Y por todo esto que aunque es poco lo que yo pueda expresar les
doy de todo corazón las gracias.

A mi novia, Grey Izquierdo Moreno, que a lo largo de estos años de estudio compartió conmigo
los momentos buenos y difíciles, logrando en mi el placer de admirarla.

Agradecer: palabra que encierra gratitud, reconocimiento, satisfacción, gusto, plac er es esto y
quizás más el merecido significado que deseo expresar para definir el trabajo realizado por
Gonzalo J. Palencia.
Por haber aceptado incondicionalmente mi solicitud para la tutoría de mi tesis de graduación
Por haber empleado el tan preciado tiempo del que dispone.
Por los días de incertidumbre y llegar hasta el desvelo.
Por su paciencia y comprensión.
Por la confianza depositada en m í desde el primer momento para realizar mi proyecto con gran
profundidad.
Por llegar al final con el espíritu de haber realizado un trabajo de grandes.
Y le digo con el mayor respeto, sinceridad y admiración: ha ganado usted un amigo.
Por todo esto y de corazón le doy las gracias...

A los profesores de Estadística, por ayudarme en los momentos en que fui con ellos, a pedir
aclaraciones de dudas que me fueron surgiendo a lo largo de la elaboración y análisis estadísticos
en mi proyecto.

iii
Agradecimientos

Agradezco y con especial reconocimiento también a Marisela profesora que me impartió por
primera vez la asignatura de op timización y me motivó a interesarme con profundidad en esta
rama de las Matemáticas.
A Yoandy Castillo Sánchez.
A Rangel Roque Fundora.
A Miguel Angel Estela Rodriguez.
A. Dayron Hernández Pérez .
Y a todos mis amigos, que mi mayor deseo es poderlos men cionar a todos, pero no terminaría
ni alcanzaría esta hoja. Para mí, la amistad y la unión en la que pude disfrutar en estos años, me
ha servido de gran impulso y estímulo para llegar al final.

Y por todo lo dejado escrito les doy las gracias por ha ber dejado compartir mi vida con todos
ustedes y esperando que este trabajo pueda servirle a muchos en un futuro.

iv
Resumen

Éste documento investiga una de las técnicas novedosas en la programación en enteros, el método
de Ramificación y Acotación comb inado con los cortes de Gomory y Chvatal -Gomory
(Ramificación y Corte). A través del programa Programación Lineal en Enteros v.1.0 y del
programa SPSS v.11.0 se lleva a cabo la implementación y comparación de las distintas
alternativas empleadas en el m étodo de Ramificación y Corte para problemas con pequeña
dimensión (máximo 8 variables y 5 restricciones), utilizando los cortes anteriormente
mencionados y aplicados cada 1, 2, 0 -1, 1-0 niveles del árbol. El principio básico del Método de
Ramificación y Corte es igual al del método de Ramificación y Acotación, se utilizan las mejores
estrategias para la selección de la variable y los nodos a ramificar. Se incluyen además los
Métodos de los Planos Cortantes de Gomory y el de los Planos Cortantes de Chvata l-Gomory.
Además se hace una comparación co n el software Mathematica v.6.0 para validar los resultados
obtenidos. Un total de 12 estrategias fueron analizadas para la resolución de problemas de
programación lineal en enteros.

v
Abstract

This document investigates one of the novel techniques in the integer programming, the Method
of Branch and Bound combined with the cuts of Gomory and Chvatal -Gomory (Branch and Cut).
Through the program Programaci ón Lineal en Enteros v.1.0 and of the program SPSS v.11.0 is
carried out the implementation and comparison of the different alternatives employees in the
method of Branch and Cut for problems with small dimension (maximum 8 variables and 5
restrictions), using the previously mentioned and applied cuts each 1, 2, 0-1, 1-0 levels of the tree.
The basic principle of the Method of Branch and Cut is similar to that of the method of Branch
and Bound, the best strategies are used for the selection of the variable and the nodes to ramify.
They are also included the Method s of the Sharp Planes of Gomory and that of the Sharp Planes
of Chvatal-Gomory. A comparison is also made with the software Mathematica v.6.0 to validate
the obtained results. A total of 12 strategies were analyzed for the resolution of problems of
integer lineal programming.

vi
Índice

PENSAMIENTO ........................................................................................................................................................... I
DEDICATORIA .......................................................................................................................................................... II
AGRADECIMIENTOS .............................................................................................................................................III
RESUMEN ................................................................................................................................................................... V
ABSTRACT ................................................................................................................................................................ VI
ÍNDICE ..................................................................................................................................................................... VII
1. INTRODUCCIÓN .................................................................................................................................................... 2
2. MÉTODOS DE PROGRA MACIÓN LINEAL EN ENT EROS ........................................................................... 6
2.1 NOTACIONES Y DEFINICIONES .............................................................................................................................. 6
2.2 RAMIFICACIÓN ..................................................................................................................................................... 8
2.3 MÉTODO DE RAMIFICACIÓN Y ACOTACIÓN .......................................................................................................... 9
2.3.1 Selección de las variables a ramificar ....................................................................................................... 11
2.3.2 Selección de los nodos a ramificar ............................................................................................................ 12
2.3.3 Búsqueda de una soluc ión inicial factible.................................................................................................. 14
2.3.4 Aspectos del Algoritmo .............................................................................................................................. 15
2.3.5 Algoritmo general de Ramificación y Acotación ....................................................................................... 15
2.4 MÉTODO DE PLANOS CORTANTES DE GOMORY .................................................................................................. 16
2.4.1 Algoritmo de Planos Cortantes de Gomory ............................................................................................... 18
2.5 CORTES DE CHVATAL - GOMORY ....................................................................................................................... 19
2.5.1 Separación de un problema para F CG ........................................................................................................ 20
2.5.2 Algoritmo de Cortes de Chvatal -Gomory .................................................................................................. 21
2.6 RAMIFICACIÓN Y CORTES ................................................................................................................................... 21
2.6.1 Esquema General del Algoritmo de Ramificación y Corte ........................................................................ 23
3. PRUEBAS NUMÉRICAS Y ANÁLISIS DE RESULTADOS ............................................................................ 25
3.1 ESTRATEGIAS UTILIZADAS ................................................................................................................................. 25
3.2 DESCRIPCIÓN DE LOS PROBLEMAS DE PRUEBA ................................................................................................... 26
3.3 DETALLES DE LA IMPLEMENTACIÓN ................................................................................................................... 27
3.4 EJEMPLO DESDE EL MATHEMATICA .................................................................................................................... 31
3.5 ANÁLISIS ESTADÍSTICO ....................................................................................................................................... 34
3.5.1 Descriptivo ................................................................................................................................................. 34
3.5.2 Exploratorio ............................................................................................................................................... 37
3.5.3 No Paramétrico .......................................................................................................................................... 39
3.6 CONCLUSIONES ................................................................................................................................................... 41
CONCLUSIONES ...................................................................................................................................................... 42
RECOMENDACIONES ............................................................................................................................................ 43
BIBLIOGRAFÍA ........................................................................................................................................................ 44
APÉNDICE A. TABLAS ........................................................................................................................................... 48
A.1 PROBLEMAS DE PRUEBA .................................................................................................................................... 49
A.2 ANÁLISIS ESTADÍSTICO . .................................................................................................................................... 62
A.3 NOTACIÓN ........................................................................................................................................................ 65

vii
Capítulo

1
1. Introducción

H
oy en día, la optimización se ha convertido en práctica habitual en las ciencias, las
ingenierías y los servicios. En Estadística son comunes los términos “máxima
probabilidad o mínimos cuadrados”; en el c ampo de los negocios es frecuente
encontrar términos como “máximo beneficio, mínimo costo o aprovechamiento máximo de los
recursos”. Aunque muchos de los aspectos básicos de la Optimización se desarrollaron en los
siglos XVIII y XIX con los trabajos de Lag range o Euler el verdadero desarrollo de la
Programación Matemática (PM) comienza con los trabajos de Kantorovich y Dantzig en los años
40. Sin embargo, no es hasta la revolución informática de los años 70, cuando apoyados en el
poder de cálculo de los ord enadores, la PM comienza a ser una herramienta ampliamente
utilizada en muchas aplicaciones. Los problemas de Optimización se pueden clasif icar en
problemas que involucran variables continuas solamente o en problemas con variables continuas
y discretas (o solamente discretas). En muchos problemas prácticos, las variables de decisión
sólo tienen un sentido real si su valor es entero. Por ejemplo, con frecuencia es necesario asignar
personas, máquinas, vehículos a las actividades , en cantidades enteras. El hecho de exigir valores
enteros es la única diferencia respecto a un problema de Programación L ineal (PL), entonces se
trata de un problema de Programación en Enteros (PE). El Modelo Matemático para PE es
sencillamente el modelo de PL con la restricción adicional de que las variables deben tener
valores enteros.

Un Problema de Programación Lineal en Enteros (PLE) está dado por:


f  x   c T x, c  Z n , sa : S  x  Z n Ax  b, A  Z mxn , b  Z m  (1.1)

1
Capítulo 1. Introducción

En una forma más Standard un PLE se escribe:

 min  c T x 
 
 Ax  b  (1.2)
 n
x  0, x  Z 

En forma de sumatoria un PLE se escribe:

 n

 min   c j x j 
 i 1

 n

 aij x j  bi , i  1,..., m  (1.3)
 j 1 
 x j  0, x j  Z 
 
 

Igual que en el caso de los PL las restricciones pueden aparecer con signo de , o de  y en
forma similar, usando variables de holgura o superplus, se pueden llevar a la forma Standard.

Una generalización de los PLE son los Pro blemas Lineales Mixtos (PLM), donde solamente
algunas de las variables, deben satisfacer la restricción de ser enteras. Estos problemas pueden
escribirse:

 min  c1 x  c2 v 
 
 A1 x  A2 v  b  (1.4)
 x  Z ,v  0
n 
 

Puede parecer que los problemas de PE son relativamente fáciles de resolver. Después de todo,
los problemas de PL se pueden resolver de una manera bastante eficiente, y la única diferencia es
que la PE tiene muchas menos solucione s que considerar. De hecho, está garantizado que los
problemas de PE pura con una región factible acotada tienen sólo un número finito de soluciones

2
Capítulo 1. Introducción

factibles, pero éste número suele ser lo suficientemente grande (en un problema binario con n
variables el número de soluciones factibles a estudiar es 2 n) como para que resulte imposible su
comparación. Entonces, cada vez que n aumenta en 1, el número de soluciones se duplica. Este
patrón se llama el crecimiento exponencial de la dificultad del problema. Con n  10 , se tienen
más de 1000 soluciones (1024); con n  20 , son más de un 10 6; con n  30 resultan más de mil
millones, y así sucesivamente; por eso, hasta las computadoras más eficie ntes son incapaces de
realizar una enumeración exhaustiva (que verifique la factibilidad de cada solución y si es
posible, que calcule el valor de la función objetivo) para Problemas Enteros Binarios (PEB) con
unas cuantas docenas de variables, sin mencion ar los problemas de PE en general con el mismo
número de variables enteras.
Los métodos más populares para resolver (1.1) fundamentalmente están basados en los métodos
de Ramificación y Acotamiento (B & B del inglés Branch and Bound ) y sus variantes, donde cada
subproblema lineal se resuelve utilizando cualquier método de PL (Simplex, Simplex -Revisado,
Método de Punto Interior, etc...). Este método consiste en una enumeración del árbol en el cual el
espacio de variables enteras se divide de forma sucesiva dando a lugar a subproblemas lineales
que se resuelven en cada nodo del árbol . Para la elección del nodo a ramificar se utilizan reglas
heurísticas (búsqueda en profundidad, búsqueda en anchura, etc…) que serán expuestas en el
Capítulo 2. Otra variante que existe para resolver (1.1) es el Método de los Planos Cortantes de
Gomory [Gomory, ´59], que se basa en la introducción de nuevas restricciones al problema
Relajado, hasta lograr que la solución óptima del nuevo problema sea entera. El mismo tiene una
desventaja: podemos realizar hasta 1000 iteraciones y no llegar al óptimo, es por eso que
acudimos a la aplicación de otros métodos de la PE.
El desarrollo de dos técnicas importantes ha contribuido a mitigar el crecimiento exponencial en
la solución de problemas de PLE Mixtos. El desarrollo de técnicas de pre -procesamiento y la
introducción de Planos Cortantes. El pre -procesamiento se basa en la utilización de eliminación
automática de variables y restricciones, reformulación de restricciones, fijar a pri ori algunas
variables enteras. Los Planos Cortantes son restricciones extra añadidas al problema, bien en el
nodo inicial o dentro de la enumeración, que tiene el efecto de reducir la región factible del
problema. Dos artículos reportan la aparición del al goritmo de Ramificación y Corte [Grötschel,
Holland, ’91], [Padberg, Rinaldi, ’91]. Los últimos desarrollos en la PE Mixta incluyen los
métodos de Ramificación y Precio (Branch and Price ) [Liberti, ´06] y Ramificación y Corte

3
Capítulo 1. Introducción

(Branch and Cut, [Balas´93]); [Rinaldi, ´91]; [Jünger, ’95]; [Caprara and Fischetti, ’97];
[Fischetti, Lodi, ’05]; [Grossmann, Caballero, ’07]; etc... Se reporta en la bibliografía actualizada
que la aplicación de Métodos híbridos, o sea, Ramificación y Acotación combinado con los
Planos Cortantes de Gomory (Branch and Cut) proporciona mejoras de pre -procesado y aumento
en la velocidad de los ordenadores. Esta demostrado por Eisenbrand, F . que la separación de un
problema aplicando el corte Chvatal-Gomory es NP-Hard [Eisenbrand, ‘99]. En los últimos años
ha despertado un gran interés la aplicación de métodos híbridos en la Optimización para acelerar
su convergencia, es por eso que en nuestro trabajo centraremos nuestra atención en la resolución
de problemas de PLE aplicando el Método de Ramificación y Corte.

Los objetivos de nuestro trabajo son:

Objetivo General:
1. Implementar diferentes algoritmos que permiten resolver PLE usando el lenguaje del
paquete Mathematica.

Objetivos Específicos:
1. Implementar el algoritmo de Ramificación y Aco tación, Planos Cortantes de Gomory,
Planos Cortantes de Chvatal -Gomory y diferentes variantes de Ramificación y Corte en
lenguaje del paquete Matemática.
2. Realizar experimentos numéricos para verificar la efectividad de la implementación.
3. Realizar un análisis estadístico de las pruebas numéricas realizadas.

El presente trabajo consta de tres Capítulos:

Capítulo 1: En la Introducción se ofrece un estado de arte hasta la actualidad de los diferentes


métodos que existen para resolver problemas de PLE.

Capítulo 2: Se introducen las diferentes notaciones y definiciones que se utilizan en nuestro


trabajo. También se expone una idea básica de los fundamentos teóricos de diferentes algoritmos

4
Capítulo 1. Introducción

que permiten resolver PLE (Ramificación y Acotación, Planos Cortan tes de Gomory, Planos
Cortantes de Chvatal-Gomory y el de Ramificación y Corte).

Capítulo 3: Se proponen 11 estrategias que involucran los métodos descritos en el capítulo


anterior, se suman a estas el método implementado en el paquete Mathematica ; realizándose las
corridas a los problemas de prueba y llevándose a cabo un análisis estadístico.

5
2
Capítulo

2. Métodos de Programación Lineal en Enteros

E
n este capítulo centraremos nuestra atención en exponer la idea básica de diferentes
algoritmos que permiten resolver problemas de PLE y algunos aspectos teóricos
relacionados con los algoritmos. Específicamente, uno de los primeros métodos que
surgió para resolver los problemas de PLE es el Método de Planos Cortantes de Gomory
[Gomory, ’63], después apareció el Método de Ramificación y Acotación, más conocido por su
nombre en inglés Branch and Bound, recibe su nombre precisamente por las dos técnicas en las
que basa su desarrollo, que son la Ramificación y la Acotación, y por último, la combinación de
los dos métodos anteriores, que se inscribió en la literatura como el Método de Ramificación y
Corte (Branch and Cut). Se introducirán las diferentes Notaciones y Definiciones que serán
utilizadas en el transcurso de nuestro trabajo.

2.1 Notaciones y Definiciones

Consideremos el siguiente problema de PLE, lo denotemos por (P)

 min  c T x 
 
 sa : Ax  b  (P),
 n
x  0, x  Z 

Donde A  M (m, n), b   m , c   n y la relajación del problema (P ) lo denotemos por (RP)
que tiene la siguiente forma:

6
Capítulo 2. Métodos de Programación Lineal en Enteros

 min  c T x 
 
 sa : Ax  b  (RP)
 x 0 
 
Denotemos por   
S P  x  Z n : Ax  b  S RP   n  al conjunto formado por todas las
soluciones factibles de (P) que tienen coordenadas en entero y a S  x   : Ax  b al
n
RP 

conjunto formado por todas las soluciones factibles de (RP).


Consideremos los dos problemas de Optimización siguientes:

 min  z RP ( x)  c T x   min  z P ( x)  c T x 
   
P1:  sa :  P2:  sa :  , donde S  T
x  T   n  x  S 
   

Definición 1 (Relajación de un Problema)


El problema de PL que se obtiene al eliminar en un PLE las condiciones de integridad , es
conocido como la relajación del PLE. En general el problema, se dice que P1 es una Relajación
para P2.

Definición 2 (Inecuación Válida (del inglés “Valid Inequalities”))

Dado un conjunto X   n , una “Inecuación” o “restricción”  x   0 con    ,  0   es


t n

válida para 
X   n , si X  x x  X y  t x   0 , o sea, si se satisface en todos los
puntos factibles (enteros).

Lema. (Caracterización de las “ Inecuaciones Válidas”)

min  f ( x)
Consideremos el siguiente problema   , donde X   y  Z y  b .
1

 sa : x  X 
Entonces la “Inecuación” y  b  es válida para X .

Definición 3 (Separación de un problema)

7
Capítulo 2. Métodos de Programación Lineal en Enteros

Dado cualquier punto x *  S RP y F una familia de inecuaciones válidas para S P , Separación de

un problema es buscar una inecuación válida de F que se viole en x * (  x   0 ) o


t *

demostrar que no existe.

Definición 4 (Nivel de un vértice).


Sea G un árbol binario y v, w vértices del árbol.
El nivel del vértice v es la longitud del camino simple de la raíz de G a v.
Notas:
1. Un árbol binario es aquel cuyo vértice tiene a lo más 2 hijos.
2. Un camino simple es el camino de v a w sin vértices repetidos.

Haremos mención a algunos términos que se utilizan en el á rbol de enumeración, o sea, éste
árbol nos permite describir el proceso de cálculo aplicando el Método de Ramificación y
Acotación y sus variantes para la resolución de un PLE.

2.2 Ramificación

 Vértice cancelado: cuando no tiene sentido hacer una separac ión a partir de él (no más
exploración).
 Vértice vivo: no es cancelado y todavía no se ha hecho una separación a partir de el
(puede seguirse explorando)
 Ramificar: significa seleccionar un vértice vivo para cancelarlo o separarlo.
 Vértices vivos y cancelados son las hojas del árbol.

Expondremos a continuación los fundamentos teóricos en los cuales se basan los diferentes
métodos que permiten resolver problemas de PLE. Los métodos m ás usados parten de la
Relajación del problema.
Idea: sustituir el problema entero original por un problema más sencillo, que pueda ser resuelto
más fácilmente, por tanto; que pueda ser utilizado para obtener cotas.

8
Capítulo 2. Métodos de Programación Lineal en Enteros

Las más usada es la Relajación Lineal que consiste en eliminar la condición de que las variables
tomen valores enteros (condiciones de integridad) . Si los puntos extremos del problema tuvieran
coordenadas en enteros, pues no hubiera problema, entonces ¿por qué no obtener una envoltura
convexa? Es demasiado costoso. Por eso acudimos a otras herramientas matemáticas que nos
permiten resolver PLE, en el cual Ralph Gomory es el Díos en la PLE.

2.3 Método de Ramificación y Acotación

El método de Ramificación y Acotación ha evolucionado gracias a la contribución de muchos


investigadores, entre ellos los primeros que incursionaron éste tema fueron Land and Doig [Land
and Doig, ´60]. Este consiste en una búsqueda sistemática de soluciones continuas en las cuales
las variables enteras están forzadas a tomar valores enteros [Gupta, Ravindran, ´85], la estructura
lógica del conjunto solución son los árboles.
Inicialmente se resuelve el problema de PL relajado. Si todas las variables enteras toman valores
enteros, entonces se ha llegado a una solución entera factible para el problema (1 .1) ó (P).
Usualmente variables enteras t oman valores no enteros, entonces se selecciona n una de estas
variables x con valores ~
i x y se ramifica [Gupta, Ravindran, ´85]. La ramificación genera dos
i

nuevos subproblemas de PL y las siguientes cotas para cada uno, o sea, a partir de S RP los dos
nuevos subproblemas se generan de la siguiente manera:

S1  S   x : x j  ~x j  

S 2  S   x : x j  ~
x j1 

Uno de estos dos nuevos subproblemas es escogido para ser resuelto. Si alguna de las variab les
enteras toma valores no enteros se vuelve a repetir el proceso anterior hasta encontrar una
solución factible entera. Si una de las siguientes reglas se satisface, entonces no se requiere
ramificación, el nodo correspondiente a sido explorado al máximo (tanteado) y puede ser
abandonado [Leyffer, ’98].

9
Capítulo 2. Métodos de Programación Lineal en Enteros

R1) Si un nodo no factible es detectado, el subárbol completo que comienza con este nodo es no
factible y el nodo es tanteado .

R2) Un nodo entero factible es detectado. Esto provee una cota superior, la ramificación no es
posible y el nodo será tanteado.

R3) La solución del nodo es mayor o igual que la cota superior actual, en este caso el nodo es
podado y una vez que esto ocurre el algoritmo hace Backtracking a otro nodo el cual no haya sido
explorado, hasta que todos los nodos se exploren o se haya llegado al umbral especificado.

Una vez que un nodo sea explorado el algoritmo hace un Backtracking hacia otro nodo que no
haya sido explorado. La estrategia de búsqueda que se usa es primero en profundidad para elegir
los subproblemas, hasta que una solución entera es encontrada. La búsqueda puede detenerse
cuando el árbol sea completamente explorado o hasta un Umbral especificado para no tener que
explorar el árbol completo, lo cual mejora considerablemen te la eficiencia del algoritmo, ya que
para problemas de grandes dimensiones sería muy costoso tener que explorar el árbol completo,
mientras que con un Umbral la búsqueda se hace mucho más eficiente.

En adición a los datos del problema y al árbol que des cribe el proceso de Ramificaci ón y
Acotación, el algoritmo utiliza la variable:

Ub: Cota superior. Este es el valor de la función objetivo para la mejor solución entera
conocida. Es inicializada Ub =   para un problema de minimizaci ón.

 La eficiencia del método de Ramificación y Acotación frecuentemente depende de las


reglas usadas para seleccionar las variables a ramificar y los nodos a ramificar.
 Un nodo generalmente almacena la cota superior y el correspondiente valor de la
función objetivo.
 El procedimiento de ramificar y resolver una secuencia de problemas continuos se
procede hasta que una solución entera de uno de dichos problemas es encontrada.

10
Capítulo 2. Métodos de Programación Lineal en Enteros

 Cuando obtenemos una de estas soluciones factibles enteras, el correspondiente v alor


de la función objetivo se convierte en una cota superior. Esto posibilita que en futuras
consideraciones podamos podar todos los nodos cuyos valores de la función objetivo
son mayores que la cota superior.
 Cuando se encuentra una solución factible entera, y el valor de la función objetivo es
menor que la cota superior, este se convierte en la nueva cota superior.

2.3.1 Selección de las variables a ramificar

Existen diversos criterios para escoger la variable que se va a ramificar, a continuación h aremos
alusión a tres de ellos que son los más utilizados.

1. Menor índice primero: Cada variable entera es organizada en orden de importancia, la


más importante se comienza primero a procesar. Esto se puede lograr indexando las
variables con una prioridad en orden decreciente y seleccionando la variable con menor
índice primero.

2. Variables enteras más fraccionarias : Esta estrategia selecciona la variable que esté
más lejos de su valor entero más cercano.

3. Uso de Pseudos-Costos: Los Pseudos-Costos son usados como una medida cuantitativa
de la importancia de la variable entera, lo cual permite que se le asigne cierta prioridad
a las variables. Para cada variable entera x j se definen las siguientes cantidades: pcl j

llamado lower pseudos-cost y pcu j llamado upper pseudos-cost, estos valores son

computados durante la búsqueda de la siguiente forma:

pcl j =( f L - f K ) / x *j

Suponiendo que en el nodo K la variable x j es seleccionada para ser ramificada:

x *j : Denota la parte fraccionaria del valor de la variable x j .

11
Capítulo 2. Métodos de Programación Lineal en Enteros

f K : Denota el valor de la función objetivo en el nodo K.


f L : Denota el valor de la función objetivo cuando el problema continuo es
resuelto con la restricción adicional x j  [ x j ].
*
pcu j = ( f U - f K ) / (1- x j )

f U : Denota el valor de la función objetivo cuando el problema continuo es

resuelto con la restricción adicional x j  [ x j ]+1.

Estos pseudos-costos pueden ser interpretados como el deterioro del valor funcional por unidad
de cambio de la variable x j , donde pcl j corresponde al decrecimiento de x j y pcu j

corresponde al incremento de la variable x j .

Esta estrategia es invocada de la siguiente manera:

1. Calcular pcl j y pcu j para todas las variables enteras siempre que sea posible.

2. Calcular V j = [ pcl j x *j , pcu j (1- x *j )].


3. Seleccionar la variable x j para la cual V j es máximo.

2.3.2 Selección de los nodos a ramificar

Para la selección de los nodos a ramificar existen diversos criterios, haremos alusión a tres de
ellos:

Ramificar por el nodo con menor cota : El nodo que tiene la menor cota es seleccionado a
ramificar por el. Lawler and Wood (1966) argumentaron que para cualquier problema dado el
conjunto de nuevos problemas acotados es únicamente determinado, entonces esta estrategia
tiene la ventaja que la cantidad total de cálculos es minimizada, en el sentido de que cualquier

12
Capítulo 2. Métodos de Programación Lineal en Enteros

operación de ramificación ejecutada bajo esta estrategia, también puede ser ejecutada bajo
cualquier otra estrategia. Estrategia conocida como búsqueda de anchura.

Ramificar por el nodo más nuevo: A los nodos correspondientes al nuevo problema le son
asignadas preferencia sobre el resto de los nodos seleccionados para ramificar. Esta estrategia
también es conocida como depth (profundidad), back -track (volver atrás) o last -in-first-out
(último en entrar primero en salir). Esta estrategia tiene la ventaja que economiza memoria y es
relativamente fácil de implementar.

Uso de estimación: Esta estrategia considera solo el valor de la función objetivo y no tiene en
cuenta lo “cualitativo” de las so luciones óptimas continuas. Para ilustrar el concepto de
“cualitativo” consideremos el siguiente ejemplo de tres variables:

x (1) = (1.3, 2.4, 5.1) , z1 =10.5


x ( 2 ) = (1.0, 3.0, 5.1) , z2 =10.6

Acorde con el esquema de selección de la cota inferior, se preferiría mejor el nodo 1 y no el


nodo 2. Sin embargo tal selección no parece ser la más apropiada ya que la solución 2 está más
cercana a una solución entera. Si selecc ionamos el nodo 2 este podrá ser explorado en la
próxima iteración, mientras que si seleccionamos el nodo 1 requeriremos un gran número de
iteraciones antes de que este pueda ser explorado.

Para evitar esto es que se utiliza este nuevo concepto llamado estimación, que utiliza pseudos-
costos. Dado un nodo K, la cantidad llamada estimación del nodo K y denotada por E k se
calcula de la siguiente manera:
m
Ek = fK + V
j 1
j

Ek es en cierto sentido un estimado del valor de la función objetivo, de la mejor solución


entera, que puede ser esperado para el descendiente del nodo K.

13
Capítulo 2. Métodos de Programación Lineal en Enteros

Esta estrategia debe ser invocada de la siguiente manera:


1. Computar la estimación de todo s los nodos no explorados.
2. Seleccionar el nodo con menor valor de la estimación.

2.3.3 Búsqueda de una solución inicial factible

Para la búsqueda de esta solución inicial se han propuesto diversas heurísticas, aquí haremos
referencia a una de ellas.

Heurística A:
Tenemos que x   x1 , x 2 ,..., x n  es la solución de un nodo no explorado y p representa el
número de variables enteras que asumen valores no enteros en esta solución.

En esta heurística se llevan a cabo los siguient es pasos:


1. Seleccionar el nodo para el cual el orden de no factibilidad es mínimo. Seleccionar la

variable x j , para ramificar acorde a las reglas especificadas. Para este nodo, el número
de variables enteras ya deben tener valores enter os. Estas variables están fijas a sus
correspondientes valores enteros mientras se ramifica. Así, no tienen permitido cambiar
sus valores en ninguno de los dos subproblemas. La idea es decrementar el número de
variables enteras con valores no enteros y a sí se arriba a soluciones con un bajo orden
de no factibilidad.

2. Si el subproblema de cota superior con restricción x j  [ x j ] es “continuo factible”, se

fija la variable xj a [ x j ] en todas las subsecuencias descendientes del nodo.

Similarmente si el subproblema con la restricción de cota inferior x j  [ x j ]+1 es

“continuo factible”, se fija la variable xj a [ x j ]+1 en todas las subsecuencias

descendientes del nodo.

14
Capítulo 2. Métodos de Programación Lineal en Enteros

Si después de resolver los dos subproblemas una solución entera factible es obtenida, nos
detenemos, de otra forma se retorna al paso 1.

Heurística B:
Esta Heurística se aplica a problemas de Programación no lineal en Enteros y por tanto no es de
nuestro interés.

2.3.4 Aspectos del Algoritmo

Después de haber abordado brevemente la teoría de Ramificación y Acotación, vamos a


formalizar qué criterios seguiremos para implementar nuestro algoritmo que resuelve problemas
de PLE.
En los artículos consultados, para realizar esta tesis, se prueba mediante experimentos numéricos,
en los cuales se hacía una comparación con respecto a la optimalidad y rendimiento del algo ritmo
de Ramificación y Acotación usando las distintas estrategias expuestas anteriormente, que los
mejores resultados se obtuvieron con las siguientes heurísticas:

 Para la ramificación de los nodos el criterio con el cual se obtuvieron los mejores
resultados y el cual nosotros elegimos para realizar la implementación del algoritmo de
Ramificación y Acotación es: Ramificar por el nodo con menor cota , y para la
ramificación de las variables elegimos el criterio: Variables enteras más fraccionarias .

Con respecto a la elección del umbral consideramos que debía ser 50 nodos a generar ya que en
los experimentos numéricos los resultados arrojaron que el promedio de nodos generados es de 6,
además de los requerimientos de memoria y procesamiento se harían críti cos con un umbral muy
grande.

2.3.5 Algoritmo general de Ramificación y Acotación

15
Capítulo 2. Métodos de Programación Lineal en Enteros

Sea PLE un problema de Programación Lineal Entera de minimización y PL su relajación lineal.


Los pasos del algoritmo de Ramificación y Acotación ( Branch and Bound) para resolver el PLE
son los siguientes:

Paso 1. Cota Superior: z   . Subproblemas pendientes: L = {PL}.

Paso 2. Mientras L   :

a) Tomar PL i de L y resolverlo.

b) Sí PL i es no factible, eliminarlo.

c) Sí PL i es factible, y su solución óptima es entera:

Actualizar z , x * y eliminar PL i.

d) Sí PL i es factible y su solución óptima no es entera:

 Sí su valor óptimo es superior a z , eliminar PL i.


 Si no,
Escoger una variable con valor no entero y ramificar
(Añadir a L los subproblemas correspondientes.)

Paso 3. Sí z  , el problema es no factible; en caso contrario, x * es la solución óptima.

2.4 Método de Planos Cortantes de Gomory

16
Capítulo 2. Métodos de Programación Lineal en Enteros

Expondremos la idea general de este método y consideremos el problema (P) y


particionemos la matriz del sistema de restricciones de la forma siguiente:

 xB 
A  [ B D] y las variables de decisión x    , donde la matriz es de dimensión
 xD 
B  M ( m, m) y se le llama matriz básica y a la matriz D  M ( m, n  m) se le denomina

matriz no básica. Análogamente tenemos los vectores básicos x B   m y a los vectores

x D   n  m se le denominan vectores no básicos. Sustituyendo estas notaciones en el


problema mencionado y expresando las variables básicas en función de las no básicas (por
coordenadas) obtenemos:

 n 
 xBi  yi 0   ij j 
y x (2.1)
 j  m 1 
Donde la matriz  
Y  { yij }  B 1 * D  M (m, n  m) y yi 0 son los términos

independientes, i  1,..., m . Precisamente la técnica de Gomory parte (2 .1). También


podemos reescribir (2.1) en forma vectorial de la manera siguiente:

 
 B
x  Y0   Y j j  , donde R   j j  índice de variables no básicas
x
 jR 
 
Tomando la u-ésima fila de (2.1) tendríamos:  BU
x  YU0   YUj j 
x (2.2)
 jR 
Para que el valor de la variable x BU se convierta en entero, es necesario que al menos una de las
variables no básicas asuma un valor positivo y para lograr esto es necesario ampliar el rango de la
matriz con la inclusión de nuevas restricciones a partir de ( 2.2).

Descompongamos (2.2) de la forma siguiente:

YUj   Uj  f Uj , j  R y YU 0   U 0  f U 0 , j  R (2.3)

17
Capítulo 2. Métodos de Programación Lineal en Enteros

Donde:
 U 0  es el mayor entero menor que YU 0

f U 0  es la mantisa que resulta de la diferencia de YU 0 y  U 0 ., 0  f U 0  1

 Uj  es el mayor entero menor o igual que YUj

f Uj  es la mantisa que resulta de la diferencia de YUj y  Uj ., 0  f Uj  1

Sustituyendo (2.3) en (2.2) y para cualquier solución entera de ( 2.2), realizando transformaciones
algebraicas obtenemos finalmente la ecuación del Plano Cortante de Gomory [Garfinkel, ´72] que
tiene la forma siguiente:

 
 (  f x
Uj j )  (  f U0 
) (2.4)
 jR 

La ecuación (2.4) es la que se añade al conjunto de restricciones ya modificadas por las


transformaciones elementales realizadas en la iteración óptima y es la que va forzando la solución
a que sea totalmente en enteros.

Utilizando la definición 2, denotemos por FG   (  fUj x j )  (  fU 0 ) , le llamaremos corte


jR

de Gomory y es una familia de inecuaciones o restricciones válidas para S P .

2.4.1 Algoritmo de Planos Cortantes de Gomory

Paso 1. (Inicialización). Se resuelve el problema Relajado. Si la solución actual no est á acotada o


es no factible, se detiene el proceso. En caso contrario ir al Paso 2.

Paso 2. (Chequeo de la Solución). Si la solución obtenida cumple con las condiciones de


integridad, se detiene el algoritmo, la solución actual es óptima. En caso contrario, ir al Paso 3.

18
Capítulo 2. Métodos de Programación Lineal en Enteros

Paso 3. (Generación de un corte). Se construye la ecuación de Planos Cortantes respecto a la


variable que requiere ser entera, añadiendo esta nueva restricción o inecuación válida para S P y
se regresa al Paso 1.

2.5 Cortes de Chvatal - Gomory

Expondremos los pasos a seguir para obtener el Corte de Chvatal -Gomory (del inglés Chvatal –
Gomory Cuts) [Pisinger, ‘07].

Supongamos que estamos en presencia del problema (P) , o sea,

 n

 max   c t
x 
 j 1

 sa : 
 n n

 a1 j x j  b1 ,...,  amj x j  bm 
 j 1 j 1

 
 x j    , j  1,..., n 

Paso 1. Tomando una combinación lineal de las restricciones


n
 m   m 
   ui aij x j    ui bi 
j 1  i 1   i 1 
(2.5)

Escribiendo la ecuación ( 2.5) en forma compacta, obtenemos


n

 a x
j 1
j  b (2.6)

n
Paso 2. Como x  0   a  a x
j 1
j 0

Expandiendo la ecuación anterior y tomando en cuenta ( 2.5) obtenemos

19
Capítulo 2. Métodos de Programación Lineal en Enteros

 a x
j 1
j  b

Paso 3. Como x j     a j x j   , se cumple entonces que


n

 ax
j 1
j  b , esta inecuación puede escribirse

 u A x
j 1
T
j  u T b 

y precisamente esta última expresión es la ecuación de Corte Chvatal - Gomory.

 n T 
Denotemos por FCG    u A x j  u b  la ecuación de Corte de Chvatal -Gomory y es una
T

 j 1 

familia de inecuaciones o restricciones válidas para SP .

2.5.1 Separación de un problema para F CG

Sobre la aplicación de este tipo de corte se h an dedicado muchos trabajos, el modelo que
presentamos fue una variante aplicada en [Fischetti, Lodi ,’ 05].

Haciendo   u T A y  0  u T b  , debe cumplirse que  T x *   0  0 , es por eso que en el

modelo se maximiza la expresión  T x *   0 , y de la literatura se reporta que una de las mejores

variantes es tomando   0.01 .

20
Capítulo 2. Métodos de Programación Lineal en Enteros

max    j x *j   0 
 jJ ( x * ) 
 
 s.a f j  u A j   j , para j  J ( x )
T *

 
 f0  u b  0
T

 0  f j  1   , para j  J ( x )  {0}
*
(2.7)
 
 0  u i  1   , para i  1,..., m 
 
  j entero, para j  J ( x * )  {0} 


donde J ( x )  j  1,..., n : x j  0
* *
 

 
A partir del problema (2.7) podemos decir que existe la separación del problema en el intervalo
especificado o que no existe.

2.5.2 Algoritmo de Cortes de Chvatal -Gomory

Paso1. (Iniciación). Se resuelve el problema original s in restricciones de integridad . Si la solución


no esta acotada o el problema es no factible mensaje indicando la mala formulación, se detiene el
proceso.

Paso2. (Control de la Solución). Si la solución obtenida cumple con las condiciones de


integridad, se detiene dado que esta solución es la óptima. En caso contrario, ir al Paso 3.

Paso3. (Generación de un corte). Se utiliza el modelo (2.7) propuesto anteriormente para lograr
la separación del problema.

Paso 4. (Resolución). Se añade el corte de Chvatal -Gomory obtenido al problema previamente


resuelto, se resuelve el problema res ultante y se continúa con el Paso 2.

2.6 Ramificación y Cortes

En la búsqueda por mejorar las técnicas para resolver un PLE nos encontramos con uno de los
métodos avanzados para la resolución de este tipo de problemas, el método de Ramificación y
Corte.

21
Capítulo 2. Métodos de Programación Lineal en Enteros

Este método se obtiene como resultado de la combinación del método de Ramificación y


Acotación y el método de los Planos Cortantes. La base de estos métodos es la misma utilizada en
el método de Ramificación y Acotación con la diferencia de que en un nivel determinado del
árbol de exploración se aplica un corte válido que reduce el conjunto de solución del problema
relajado que se este analizando en ese momento, y este proceso se repite de manera alternada
hasta encontrar el óptimo. No se ha determinado cad a cuántos niveles, ni que posible corte
introducir, siendo este uno de los principales objetivos de este trabajo. La convergencia es
asegurada por Ramificación y Acotación [Pisinger, ‘07 ].
A continuación se describirán de manera ilustrativa la introducción de un corte cualquiera cada
cierto nivel del árbol o cada cierta combinación de estos (niveles analizados en este trabajo).

Niveles del árbol  1,2,3,...


Nota: Solo se ilustraran los primeros pasos.

 Corte añadido cada 1 nivel del árbol.

Nivel donde se añade el corte  1,3,5,7,...

 Corte añadido cada 0-1 nivel del árbol.

22
Capítulo 2. Métodos de Programación Lineal en Enteros

Nivel donde se añade el corte  0,2,3,5,6,8,9,...

 Corte añadido cada 1-0 nivel del árbol.

Nivel donde se añade el corte  1,2,4,5,7,8,...

 Corte añadido cada 2 niveles del árbol.

Nivel donde se añade el corte  2,4,6,8,...

2.6.1 Esquema General del Algoritmo de Ramificación y Corte

Paso 1. (Comenzar). Resolver el problema como si fuera un problema ordinario de PL


(Relajación de enteros). La solución obtenida se toma como cota máxima y base para el
procedimiento de búsqueda de una solución factible.

Paso 2. (Ramificar). A partir de la solución de PL designar una variable como entera y


seleccionar, a partir de los posibles valores e nteros que pueda tomar, una rama para investigarla.

23
Capítulo 2. Métodos de Programación Lineal en Enteros

Paso 3. (Limitar). Encontrar un límite para el problema definido por la rama seleccionada. El
límite esta dado por el valor de la mejor solución factible de enteros encontrada hasta el
momento, y domina a todos los otros posibles resultados de otra rama.

Paso 4. (Comparar). Comparar la solución obtenida en la rama con el l ímite de referencia vigente.
 Si el valor de la solución es menor que el límite vigente, se elimina de consideración toda
la nueva rama. Se continúa con las ramas que no hayan sido evaluadas aún.
 Si el valor de la solución es mejor que el límite vigente y si la solución es entera
(factible), entonces se convierte en el nuevo límite de referencia. Se examinan las ramas
que aún no se han considerado en relación al nuevo límite.
 Si el valor de la solución es mayor que el límite vigente, pero la solución no es entera
(factible) deben explorarse las ramificaciones de nivel inferior en la misma rama.

Paso 5. (Terminar). Quedarse con la mejor solución factible obtenida una vez examinadas todas
las ramificaciones.

24
3
Capítulo

3. Pruebas Numéricas y Análisis de Resultados

L
a estadística es una de las herramientas más potentes para muchos trabajos de
investigación. Cuando nos referimos a un pr oblema donde nos encontramos con datos
experimentales y queremos conocer las causas de é ste comportamiento, predecir el
comportamiento o hacer diversas comparaciones, etc… , la estadística juega un papel importante
para poder resolver dichos enigmas.

En la sección 3.1 detallamos las estrategias utilizadas en n uestro trabajo, describiendo de é sta
forma los problemas de prueba en la sección 3.2. Las distintas tácticas fueron implementadas en
el programa: Programación Lineal en Enteros v.1.0, los detalles de la implementación del
mismo, así como la sintaxis de las p rincipales funciones, se abordará n en la sesión 3.3. Para
comprender el funcionami ento del programa se describirá un ejemplo en la sesión 3.4. En la
sección 3.5 se llevarán a cabo las pruebas estad ísticas necesarias para poder afirmar cuáles de las
estrategias resultan ser las mejores ante la población de problemas pequeños. Para finalizar en la
sección 3.6 se enunciarán las conclusiones de éste capítulo.

3.1 Estrategias Utilizadas

Para obtener respuesta a nuestro trabajo de investigación hemos considerado dos de los más
famosos cortes, como son el corte de Gomory y el corte de Chvatal -Gomory; hemos aplicado los
mismos cada 1, 2, 0-1, 1-0 niveles del árbol, además de compararlos con el método de
Ramificación y Acotación, el método de los Planos Cortantes de Gomory, el método de los
Planos Cortantes de Chvatal -Gomory y con el método implementado por el software mathematica
v.6.0 (Ramificación y Acotación en su función LinearProgramming [Wolfram, ´07]).

25
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Estas diferentes alternativas para resolver PLE forman un total de 12 estrategias que son
enumeradas de la manera siguiente:

ESTRATEGIAS UTILIZADAS
No. Método Corte Nivel
1 Ramificación y Acotación (math) Ninguno Ninguno
2 Ramificación y Acotación (propio) Ninguno Ninguno
3 Planos Cortantes de Gomory Gomory 0
4 Planos Cortantes de Chvatal -Gomory Chvatal-Gomory 0
5 Ramificación y Cortes Gomory 1
6 Ramificación y Cortes Chvatal-Gomory 1
7 Ramificación y Cortes Gomory 0-1
8 Ramificación y Cortes Chvatal-Gomory 0-1
9 Ramificación y Cortes Gomory 1-0
10 Ramificación y Cortes Chvatal-Gomory 1-0
11 Ramificación y Cortes Gomory 2
12 Ramificación y Cortes Chvatal-Gomory 2

Estructura del análisis:


1. Hacer una comparación de las estrategias implementadas en el software Programación
Lineal en Enteros v.1.0, con el objetivo de determinar cuál o cuáles son las mejores.
2. Hacer una comparación de las mejores con la estrategia número1.

El costo significativo por ejecutar un PLE es el tiempo de solución de computadora. Por


consiguiente decidimos utilizar tiempo de la solución (Tiempo CPU) como el indicador de la
actuación de las estrategias. Además hemos considerado los nodos evaluados como un pa rámetro
de la rapidez con que los métodos se acercan a la solución.

3.2 Descripción de los problemas de Prueba

26
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Es de vital importancia para cualquier estudio computacional examinar una amplia gama de
problemas de prueba.

Entre los problemas de prueba disponibles nosotros consideramos problemas pequeños


[Zaychenko, ´84], donde todas las variables son enteras. No tiene ningún propósito considerar
aquellos que no tienen ningún punto entero en su región factible o donde las variables asumen
valores grandes.

Un total de 40 problemas de prueba fueron seleccionados (Tabla 1, Apéndice A.1), entre ellos:
 31 de 2 variables, entre los cuales 18, 11 y 2 constan con 2, 3 y 4 restricciones
respectivamente.
 5 de 3 variables, entre los cuales 2 y 3 constan con 2 y 4 restricciones respectivamente.
 3 de 3 variables con 4 restriccione s.
 1 de 8 variables y 5 restricciones.

En las Tablas 2...13 del Apéndice A.1 se muestran las 12 estrategias aplicadas a lo s problemas
analizados.

3.3 Detalles de la implementación

En el programa: Programación Lineal en Enteros v.1.0 se utilizaron las distintas alternativas


descritas anteriormente. El mismo se implementó en el paquete Mathematica v.6.0.

27
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Los cortes probados en un gran número de problemas fueron: el corte de Gomory y los de
Chvatal-Gomory. El diseño de la función ProgramacionLinealPart1 y ProgramacionLinealPart2
tienen la ventaja de tener implementados los cuatro métodos analizados en este trabajo
(Ramificación y Acotación, Planos Cortantes de Gomory, Planos Cortantes de Chvatal -Gomory,
y Ramificación y Cortes), solo basta con cambiar l as opciones en dependencia del método que se
desee utilizar. El trabajo con los niveles del árbol para aplicar los cortes fue implementado de
manera general dándole la posibilidad al usuario de aplicar los cortes cada un cierto número n de
niveles, así como una combinación de ellos. Los problemas intermedios fueron resueltos por los
métodos Simplex Revisado y Simplex Dual [Castillo, ´02]. La estrategia para la selección de la
variable a ramificar fue Variables enteras más fraccionarias y para la selección del nodo a
ramificar fue Ramificar por el nodo más nuevo .

El programa fue dividido en 2 partes debido a que en la parte 1 se utiliz ó la técnica de la


reoptimización (adicionar el corte a la última tabla simplex) en relación a los cor tes de Gomory,
este análisis no se realizó para el corte de Chvatal -Gomory.

28
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Las funciones implementadas en el programa capa ces de resolver cualquier problema en enteros
fueron la función ProgramacionLinealPart1 y ProgramacionLinealPart2.


Sintaxis # 1: Pr ogramacion LinealPart 1 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) 

Dado un problema de PLE (problema de minimización) en función de variables básicas y no


básicas la función ProgramacionLinealPart1 resuelve el mismo utilizando el método de
Ramificación y Acotación.

Ejemplo: (Parámetros de la función ProgramacionLinealPart1)

max x1  4 x 2
s.a 2 x1  4 x 2  17
(3.1)
1 0 x1  3 x 2  15
xi  0, entero, i  1,2

Cualquier problema de PL es equivalente a un Problema de PL en función de variables básica s y


no básicas, solo basta con hacer un grupo de transformaciones [Castillo, ´02].

El problema (3.1) se puede escribir:

 min  x1  4 x 2
s.a x3  17  2 x1  4 x 2
(3.2)
x 4  15  1 0 x1  3 x 2
xi  0, entero, i  1,2,3,4
Donde:
 vb  x3 , x 4  y vnb  x1 , x 2 

 u 0( 0 )  0 y w ( 0 )   1,4

 v ( 0 )  17,15 y U ( 0 )   2,4,  10,3 .

29
Capítulo 3.Pruebas Numéricas y Análisis de Resultados


Sintaxis # 2: Pr ogramacion LinealPart 1 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) , Opciones 


Sintaxis # 3: Pr ogramacion LinealPart 2 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) , Opciones 

Opciones de ambas funciones:

 Cut: Especifica el tipo de corte empleado.


 Level: Especifica cada cuántos niveles o combinación de niveles debe aplicarse dicho
corte.
 WorkingPrecision: Especifica cuantos dígitos de precisión deben mantenerse en los
cálculos interiores (   significa que se trabaja con fracciones).
 Iteración: Cantidad máxima de iteraciones que se pueden llevar a cabo (en el programa se
implementó un mensaje que nos avisa cuando se llega a esta iteraci ón sin alcanzar el
punto óptimo).
 M: Los problemas intermedios son resueltos por e l método Simplex o Simplex -Dual. En el
caso del método Simplex se comienza el proceso iterativo a partir de una solución
básica factible, con este objetivo se utiliza el método de la M Grande [Castillo, ´02],
para lograr que dicha solución sea factible (en caso que no lo sea). El valor de la M
debe ser lo suficientemente grande para que cuando se obtenga la solución factible
inicial el valor de u 0(1)  min . En caso que esto no ocurra , el problema no daría la
solución óptima (se implementó un mensaje qu e nos avisa cuando esto ocurre), solo
basta con aumentar el valor de la M .

Opciones por defecto para ambas funciones:


 Cut  None
 Level  None
 WorkingPrecision  
 Iteracion  100

30
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

 M  20

Llamada a los distintos métodos:

1. Método de Ramificación y Acotación.


 
Pr ogramacion LinealPart 1 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) , utiliza técnica de reoptimización.

Pr ogramacion LinealPart 2vb, vnb, u (0)


0 , w (0) , v (0) ,U (0), no utiliza técnica de reoptimización.

2. Método de Planos Cortantes de Gomory.



Pr ogramacion LinealPart 1 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) , Cut " Gomory" , Level  0 

3. Método de Planos Cortantes de Chvatal -Gomory.



Pr ogramacion LinealPart 2 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) , Cut " ChvatalGom ory" , Level  0 

4. Método de Ramificación y Cortes.



Pr ogramacion LinealPart 1 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) , Cut " Gomory" , Level  n 
Pr ogramacion LinealPart 1vb, vnb, u (0)
0 
, w ( 0 ) , v ( 0 ) , U ( 0 ) , Cut " Gomory" , Level  n1 ,...
Nota: Utiliza cortes de Gomory.


Pr ogramacion LinealPart 2 vb, vnb, u 0( 0 ) , w ( 0 ) , v ( 0 ) , U ( 0 ) , Cut " Gomory" , Level  n 
Pr ogramacion LinealPart 2vb, vnb, u (0)
0 , w ( 0 ) , v ( 0 ) , U ( 0 ) , Cut " Gomory" , Level  n1 ,... 
Nota: Utiliza cortes de Chvatal-Gomory.

3.4 Ejemplo desde el Mathematica

Sea el siguiente Problema de PLE

31
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

max x1  4 x 2
s.a 2 x1  4 x 2  17
1 0 x1  3 x 2  15
xi  0, entero, i  1,2

Nota: La llamada de los problemas se hizo desde un fichero texto.

Ejemplo: (Método de Ramificación y Corte , cada 0-1 niveles de árbol, utilizando el corte de
Gomory).

Paso 1. Escribir en un fichero texto el problema equivalente en función de las variables básicas y
no básicas.

Fichero.txt
0 -1 -4
17 -2 -4
15 -10 -3

Paso 2. Ejecutar el programa: Programación Lineal en Enteros.

Paso 3. Ejecutar la celda donde aparece implementado el código del programa.

Paso 4. Ejecutar

SetDirectory ["Dirección_Fichero"];
Data = ReadList ["Nombre_Fichero.txt", Number, R ecordLists  True];
Problem =US [Data]

Donde:

32
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

 Dirección_Fichero: Especifica la dirección donde se encuentra el fichero con el problema


que se desea resolver, ejemplo: "C:\\Documents and Settings \\usuario\\Escritorio"
 Nombre_Fichero: Especifica el nombre del fichero, ejemplo: Fichero.txt

Aclaración de las 3 funciones utilizadas :


 SetDirectory: Crea un directorio nuevo (directorio en el cual se encuentre el fichero
con el problema).
 ReadList: Lee los datos del fichero entrado por el usuar io en la dirección creada por el
mismo (salida de los datos en forma de lista)
 US: Función implementada en el programa que organiza los datos de forma tal que
estén listos para ser usados en las funciones ProgramacionLinelPart1 y
ProgramacioLinealPart2.

Se tiene entonces:

Problem = {{x3, x4}, {x1, x2}, 0, {-1,-4}, {17,15}, {{-2,-4}, {-10,-3}}}

Paso 5. Ejecutar la función ProgramacionLinealPart1 de la siguiente forma:

Pr ogramacionLinealPart1Pr oblem, Cut " Gomory" , Level  0,1

Salida:
Method: Branch & Cut
Cuts Type: Gomory
Level: {0, 1}
Information of the problem:

Optimo Iteraciones Nodos Evaluados Tiempo CPU (m/s)


{-16,{0,4}} 3 4 0.0150

33
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

3.5 Análisis Estadístico

El tiempo de solución muchas veces depende de lo siguiente:


1. El particular sistema utilizado para el estudio.
2. El particular programa usado para resolver los problemas.

En nuestro estudio:
1. Los problemas fueron corridos en un Intel Celeron CPU 2.67 GHz, 247 RAM.
2. Se usó el programa Programación Lineal en Enteros v.1.0 implementado en el paquete
Mathematica v.6.0.

Las diferentes pruebas estadísticas fueron ejecutadas en el paquete SPSS v.11.0

Observación: Debido a que observamos que hay problemas donde el tiempo es casi insignificante
(0.×10-5), se reemplazará dicho valor por 0 (tratamiento a los datos perdidos)

3.5.1 Descriptivo

Breve Introducción:
Al analizar datos, lo primero que tenemos que hacer con una variable es, formarse una idea lo
más exacta posible acerca de sus características. Esto se consigue prestando atención a tres
aspectos básicos: tendencia central, dispers ión y forma de la distribución. Ahora bien, las medidas
de tendencia central y de dispersión, los índices y gráficos sobre la forma de la distribución,
resultan más o menos útiles dependiendo del tipo de variable que se intente caracterizar. Con
variables categóricas, por ejemplo, las medidas de tendencia central y de dispersión , carecen de
importancia comparadas con la utilidad de una distribución de frecuencias o un gráfico sobre la
forma de la distribución. Por e l contrario, con variables conti nuas una distribución de frecuencias
pierde importancia comparada con la capacidad informativa de las medidas de tendencia central y
de dispersión. Por otro lado, los diagramas que informan sobre la forma de una distribución son
diferentes dependiendo de que la vari able estudiada sea categórica o continua.

34
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Emplearemos el procedimiento descriptivo ubicado en el menú analizar/estadísticos


descriptivos/descriptivos del SPSS.

Se analizarán un grupo de estadísticos como la media, la asimetría, la curtosis y sus respect ivos
errores tipificados, la varianza, la desviación típica, el menor valor, el mayor valor y los valores
tipificados asociados a cada observación [Bouza, Sistachs , ´04]

Análisis de la Tabla 14 (Apéndice A.2)


 Destacar que en la estrategia 7 el mayor tie mpo de solución de los problemas fue 0.0470 seg.

 Resaltar la rapidez en el tiempo cómputo de las estrategias 7 y 9 con valores promedios por
debajo de 0.03 segundos. Además de la rapidez del grupo formado por las estrategias 5, 11, 3
y 2 que aunque el promedio no supera al anterior es muy bueno con promedios entre 0.03 y
0.04. El error típico de la media nos lleva a concluir que no hay una diferencia significativa
entre las observaciones de cada estrategia, destacando el menor valor en la estrategia 7.

 La desviación típica de las estrategias 7, 9, 5, 11, 3 y 2 son muy pequeñas, por debajo del
valor promedio, lo que nos indica que los valores del tiempo para las estrategias anteriormente
mencionadas están muy cercanos a la media.

 La varianza de las estrategias 7, 9, 5, 11, 3 y 2 es muy pequeña, ofreciéndonos una idea de


que las estrategias resolvieron todos los problemas en un período de tiempo similar.

 Mediante el análisis de los principales estadísticos de distribución (asimetría y curtosis)


llegamos a la conclusión de que la única variable posible a distribuirse normalmente es la
estrategia 7, debido a que el cociente entre el índic e de asimetría y su error típico , y el
cociente entre el índice de curtosis y su error típico son menores en valor absol uto que 1.96,
mientras que las demás estrategias presentan una distribución asimétrica positiva y una
distribución leptocúrtica.

35
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

 Se hizo un análisis de los valores tipificados de cada observación con respecto a las
estrategias y nos llevó a la conclusión de que los datos no seguían ninguna distribución
normal.

Análisis de la Tabla 15 (Apéndice A.2)


 Destacar en las estrategias 4, 8, 10, 6 y 7 la mayor cantidad de nodos evaluados, por debajo de
11.

 Despuntar el valor promedio de nodos evaluados en las est rategias 4, 8, 10, 6, 7 y 9 por
debajo de 5. El error típico de la media nos lleva a concluir que no hay una diferencia
significativa entre las observaciones de todas las estrategias.

 La desviación típica de las estrategias son muy pequeñas, por debajo d el valor promedio, lo
que nos indica que los nodos evaluados para estas estrategias están muy cercanos a la media.

 Las menores varianzas las encontramos en las estrategias 4, 8, 10, 6 y 7, podemos decir que la
variabilidad de los nodos evaluados para las estrategias anteriormente mencionadas no varían
significativamente.

 Mediante el análisis de los principales estadísticos de distribución (asimetría y curtosis)


llegamos a la conclusión de que la única variable posible a distribuirse normalmente es la
estrategia 7, debido a que el cociente entre el índice de asimetría y su error típico, además del
cociente entre el índice de curtosis y su error típico son menores en valor absoluto que 1.96,
mientras que algunas estrategias presentan una distribución asimét rica positiva y otras una
distribución asimétrica negativa. Además algunas presentan una distribución leptocúrtica y
otras una distribución platicúrtica.

 Se hizo un análisis de los valores tipificados de cada observación con respecto a las
estrategias, afirmando que los datos no siguen una distribución normal.

Conclusiones: Análisis Descriptivo

36
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

De acuerdo al análisis descriptivo desarrollado concluimos esta primera etapa de la manera


siguiente:
 Ranking para las estrategias analizadas:

Tiempo CPU Nodos Evaluados

Estrategias Ranking Estrategias Ranking


7 1 4 1
9 2 8 2
5 3 10 3
11 4 6 4
3 5 7 5
2 6 9 6
6 7 3 7
10 8 5 8
8 9 12 9
12 10 11 10
4 11 2 11

 De acuerdo al indicador de tiempo analizado para elegir la mejor , podemos separar las que
utilizan el corte de Gomory como mejores .
 De acuerdo al indicador de nodos evaluados podemos concluir que todas las estrategias
poseen promedios casi igual es, resaltando la 4 con el menor promedio.
 Prestar una atención especial a la estrategia 7 y 9 con datos que demuestran ser las
mejores para los problemas analizados.
 No se puede afirmar nada acerca de qué distribuciones siguen las distintas estrategias .
 La única posible a distribuirse normal es la 7.

3.5.2 Exploratorio

Breve Introducción:
Independientemente de la complejidad de los datos disponibles y del procedimiento estadístico
que se tenga intención de utilizar, una exploración minuciosa de los dat os previa al inicio de
cualquier análisis posee importantes ventajas que un analista de datos no puede pasar por alto.
Una exploración minuciosa d e los datos permite identificar, entre otras cosas: posibles errores
(datos mal introducidos, respuestas mal c odificadas, etc…), valores extremos (valores que se

37
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

alejan en gran medida del resto), pautas extrañas en los datos (valores que se repiten mucho o
que no aparecen nunca, etc.), variabilidad no esperada (demasiados casos en una de las dos colas
de la distribución, demasiada concentración en torno a determinado valor), etc …

Emplearemos el procedimiento E xplorar, ubicado en el menú analizar/estadísticos


descriptivos/explorar del SPSS.

Analizaremos un grupo de estadísticos como la media truncada (media ari tmética calculada
eliminando el 5 % de los casos con valores más pequeños y el 5 % de los casos con valores más
grandes, con el objetivo de obtener una media menos sensible a la presencia de valores extremos),
la mediana y los percentiles 10, 20, 30,…, 90.
Se aplicará la prueba de Shapiro-Wilk [Shapiro, Wilk, ´65] y el método grafico para comprobar
el supuesto de normalidad.

Análisis de la Tabla 16 (Apéndice A.2)


 Al igual que la media (descrita anteriormente), la media recortada nos indica que las
estrategias 7, 9, 5, 11, 2 y 3 poseen un menor promedio de tiempo cómputo .

Análisis de la Tabla 17 (Apéndice A.2)


 La media recortada nos indica que las estrategias 4, 7 y 9 po seen un menor promedio de
nodos.

Se analizaron los percentiles anteriormente me ncionados, sin destacar nada nuevo.

Pruebas de Normalidad.
Se analizaron los gráficos Q -Q normal y los gráficos Q-Q normal sin tendencia para todas las
estrategias en cuanto al tiempo y al nivel de nodos evaluados , obteniendo como resultado una
distribución no normal. Se analizó la prueba de Shapiro-Wilk, obteniendo los mismos resultados
que con el análisis gráfico, debido a que en todos los casos el nivel de significación se encuentra
por debajo de 0.05, véase las Tablas 18 y 19, Apéndice A.2.

38
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Conclusiones del Análisis Exploratorio :


 Los resultados son muy similares a los anteriores (sección 3.5.1). Podemos decir que las
estrategias aplicadas no tienen una distribución normal.

3.5.3 No Paramétrico

Breve Introducción:
Existen contrastes que permiten pone r a prueba hipótesis no referidas a parámetros poblacionales;
otros que no necesitan establecer supuestos exigentes sobre las poblaciones de donde se extraen
las muestras; y por último, los que no necesitan trabajar datos obtenidos con una escala de medida
de intervalo o razón. Esta otra familia se conoce con el nombre de Contrastes no p aramétricos o
Pruebas no paramétricas.
 Algunos autores utilizan el término “no paramétricos” para referirse únicamente a los
contrastes que no plantean hipótesis sobre parám etros y que se limitan a analizar las
propiedades nominales u ordinales de los datos , además añaden el término de distribución
libre para referirse a los que no necesitan establecer supuestos (o establecen supuestos
poco exigentes, como simetría o continui dad) sobre las poblaciones originales de l as que
se extraen las muestras; pero lo cierto es que el incumplimiento de cualquiera de las tres
características señaladas al principio puede ser considerada suficiente para caracterizar a
un contraste como no par amétrico.

Emplearemos algunos de los procedimientos ubicados en el menú analizar/pruebas no


paramétricas del SPSS para llevar a cabo las distintas pruebas no paramétricas.

Prueba de Kolmogorov-Smirnov:
Se analizó la prueba de Kolmogorov -Smirnov [Kolmogorov, ´33], se comprobaron otros
supuestos de distribución (uniforme y exponencial). Después de obtener los resultados de las
pruebas podemos decir que las distintas estrategias no se ajustan a ninguna de las distribuciones
básicas (normal, uniforme y exponencial).

39
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Debido a que nuestros datos no se ajustan a la distribución normal no se puede llevar a cabo un
análisis de varianza (ANOVA de un factor), emplearemos entonces la prueba de Friedman
[Friedman, `37] ubicada en el menú analizar/pruebas no parametr icas/k muestras relacionadas.
Los resultados obtenidos nos llevan a concluir que las medias poblacionales de las estrategias
para ambos indicadores difieren debido a que el nivel de significación se obtuvo por debajo de
0.05 (véase las Tablas 20 y 21 de la prueba de Friedman en el apéndice A.2).

Prueba de Wilcoxon:
Pasaremos a comparar las estrategias 2 a 2, para saber con exactitud c uáles difieren y cuáles no,
para éste análisis emplearemos la prueba de Wilcoxon [Wilcoxon, ´45] ubicada en el menú
analizar/pruebas no parametricas/2 muestras relacionadas. Estas se llevarán a cabo en el orden del
ranking de las estrategias , planteado en análisis anteriores y utilizando la corrección de
Bonferroni (con el objetivo de controlar el error de tipo I) que nos llev ará a basar nuestras
decisiones en un nivel de significación de 0.05/11. Un total de 55 pruebas para el tiempo de
CPU y un total de 55 pruebas para los nodos evaluados supuestas a analizar (se van ejecutando y
cuando se obtenga la igualdad de las estrat egias que se estén analizando en ese momento, no se
continúa, puesto que las restantes combinaciones darían el mismo resultado).

Conclusiones de las pruebas de Wilcoxon :


1. Tiempo CPU.
 Podemos afirmar que las estrategias 7, 2, 3 5 8 9 y 11 no difieren en cua nto a promedios
poblacionales puesto que la significación de todas las pruebas de Wilcoxon donde se
involucraban dichas estrategias es menor que 0.05/11. De la misma forma concluimos con
las estrategias 6, 4, 8, 10 y 12.

2. Nodos Evaluados.
 Podemos afirmar que las estrategias 4, 6, 7, 8, 10 y 12 no difieren en cuanto a promedios
poblacionales puesto que la signif icación de todas las pruebas de Wilcoxon donde se
involucraban dichas estrategias es menor que 0.05/11. De la misma forma concluimos con
las estrategias 9, 2, 3, 5, 12, 11 y 2.

40
Capítulo 3.Pruebas Numéricas y Análisis de Resultados

Comparación con el Mathematica:


Por ser el grupo de estrategias 7, 9, 5, 11, 3 y 2 mejores en cuanto al tiempo que el grupo formado
por 6, 4, 8, 10 y 12, emplearemos la prueba de Friedman para comparar el mejor grupo con la
alternativa 1.
Los resultados obtenidos nos revelan que existe una significación en cuanto a las medias
poblacionales de las estrategias 7, 9, 5, 11 , 3 y 2 con respecto a la estrategia 1, siendo éstas las
mejores.

3.6 Conclusiones

Durante las secciones 3.5.1 y 3.5.2 podemos extraer como mejor estrategia a la 7, pero esto nada
nos dice de la actuación sobre la población de todos los problemas con características semejantes
(dimensión). Tras la culminación de las distintas pruebas no paramé tricas ejecutadas en el
software SPSS v.11.0 apreciamos que no existe una diferencia de medias poblacionales entre las
estrategias 7, 9, 5, 11, 3 y 2 (que fueron las que mejores resultados reportaron, con respecto al
tiempo cómputo), sin embargo el indicador de la cantid ad de nodos evaluados nos llevó a
determinar la eficiencia del Método de Ramificación y Acotación combinado con el Método de
Planos Cortantes de Gomory aplicados cada 0,1,3,4,6,7,... niveles del árbol.

41
Conclusiones

Como resultado de este traba jo hemos arribado a las siguientes concluciones :

 Se logró implementar y poner “puesta a punto” los diferentes algoritmos que permiten
resolver problemas lineales en enteros incluyendo diferentes tipos de corte combinado con
el método de Ramificación y Aco tación.

 En total fueron probados 40 problemas de PLE. Los resultados num éricos arrojaron que
las soluciones coinciden con el paquete M athematica v.6.0 al 100 %.

 La mejor estrategia para resolver problemas pequeños es la aplicación del Método de


Ramificación y Corte, utilizando los cortes de Gomory aplicados cada 0 -1 niveles del
árbol.

 La cantidad de nodos evaluados en el Método de Planos Cortantes de Chavatal -Gomory


superan al resto de las estrategias implementadas .

 Todas las estrategias de Ramificación y Corte, utilizando el corte de Gomory superan al


método implementado por el paquete Mathematica v.6.0 en su función
LinearProgramming.

42
Recomendaciones

 Aplicar el Método de Punto Interior combinado en el algoritmo de Ramificación y Corte,


en la resolución de problemas de Programación Cuadrática Convexa Discreta, para
problemas a grandes escalas.

 Implementar la estrategia Uso de estimación en la selección del nodo a ramificar.

43
Bibliografía

[Balas E, Fischetti M., ´93] E. Balas, M. Fischetti. (1993). A lifting procedure for the Asymmetric
Traveling Salesman Polytope and a large new class of facet, Mathematical Programming 58, 325 -
352.

[Bouza C., Sistachs V., ´04] Carlos N. Bouza Herrera, Vivian Sistachs Vega. (2004). Estadística
Teoría Básica y Ejercicios, Primera Edición, Félix Valera.

[Caprara and Fischetti M., ´97] Caprara and M. Fischetti. (1997). Branch and cut algorithms. In
M. Dell`Amico, F. Maffioli, and S. Martello, editors, Annotated Bibliographies in Combinatorial
Optimizations, chapter 4. John Wiley.

[Castillo E., Autores, ´02] Enrique Castillo, Antonio J. Conejo, Pablo Pedregal, Ricardo García,
Natalia Alguacil. (2002). Formulación y Resolución de Modelos de Programación Matemática en
Ingeniería y Ciencia.

[Fischetti M, Lodi A., ´05] M. Fischetti, A. Lodi. (2005). Optimizing over the first Chvátal
closure, in M. Jünger and V. Kailbel (ed.s), Integer Programming and Combinatorial
Optimization - IPCO 2005, LNCS 3509, Springer- Verlag, Berlin Heidelberg, 12 -22.

[Friedman M., ´37] Friedman, M. (1937). The use of ranks to avoid the assumption of normality
implicit in the analysis of variance. Journal of the American Statistical Association , 61, 1081-
1096.

[Garfinkel, ´72] Garfinkel. (1972). Integer Programming.

[Gomory R., ´63] R. E. Gomory. (1963). An algorithm for integer solutions to linear programs. In
R. L. Graves and P. Wolfe, editors, Recent Advances in Mathematical Programming , pages 269-
302. McGraw-Hill, New York.

44
Bibliografía

[Grossmann, Caballero J., ´07] Grossmann I. E; Caballero J. A. (2007). ”Una Revisión del Estado
de Arte en Optimización”. Revista Iberoamericana de Automática e Informática Industrial, ISSN:
1697-7912. Vol.4, Num. 1, Enero 2007, pp. 5 -23.

[Grötschel M, Holland O., ’91] M. Gr ötschel, O. Holland. (1991). Solution of large-scale


travelling salesman problems. Mathematical Programming , 51(2):141-202.

[Gupta O. K, Ravindran A., ´85] Omprakash K. Gupta, A. Ravindran. (1985) . “Branch and Bound
experiments in nonlinear integer programming”. Management Science. 31(12) ,1533-1546.

[Johnsonbaugh R., ´04] Richard Johnsonbaugh. (2004). Matemáticas Discretas Tomo II, Cuarta
Edición, Félix Valera.

[Jünger M., Reinelt G., Thienel S., ’95] M. J ünger, G. Reinelt , S. Thienel .(1995). Practical
problem solving with cutting plane algori thms in combinatorial optimization. In Combinatorial
Optimization: DIMACS, Series in Discrete Mathematic and Teoretical Computer Science ,
Volumen 20, 111-152, AMS.

[Kolmogorov, ´33] Kolmogorov. (19 33). A. Sulla determinazione empirica di una legge di
distribuzione. Giornale dell’ Intituto Italiano degli Attuari , 4, 83-91.

[Krume S., ´04] Seven O. Krume. (2004). Integer Programming.

[Land A., Doig A., ´60] A. Land, A. Doig . (1960). An automatic Method of Solving Discrete
Programming Problems, Econometrik a 28, no.3, 497-520.

[Leyffer S., ’98] Sven Leyffer. (1998). Integrating SQP and Brand -and-bound for Mixed Integer
Nonlinear Programming. SIAM Journal Optimization.

[Liberti L., ´06] Leo Liberti. (2006). Integer Programming, LIX, Ecole Polytechnique, F-91128
Palaiseau, France.

45
Bibliografía

[Lieberman, Autores, ´97] Lieberman y Colectivo de Autores. (1997). Investigación de


Operaciones Tomo I y Tomo II. VI edición.

[Mitchell-1 J., ´98] John E. Mitchell. (1998). Cutting Plane Algorithms for Integer, Cutting plane
algorithms.

[Mitchell-2 J., ´98] John E. Mitchell. (1998). Branch and Cut Algorithms for Integer, Branch -and-
Cut.

[Mitchell J., ´99] John E. Mitchell. (1999). Branch and Cut Algorithms for Combinatorial
Optimizations Problems, Mathematica Sciences, Rensselaer Polytechnic Institute Troy, NY, USA ,
September 7.

[Pisinger D., ‘07] David Pisinger. (2007). Introduction to Optimization, DIKU.

[Rinaldi G., Padberg M., ´91] M. Padberg and G. Rinaldi. (1991). A branch -and-cut algorithm for
the resolution of large-scale symmetric traveling salesman problems. SIAM Review, 33(1):60-
100.

[Shapiro S., Wilk, ´65] Shapiro, S. S. y Wilk, M. B. (1965). An analysis of variance test for
normality (complete samples). Biometrika, 52, 591-611.

[Wilcoxon F., ´45] Wilcoxon, F. ( 1945). Individual comparisons by ranking methods. Biometrics,
1, 80-83.

[Wilder M., ´04] Manuel A., Ramón V., Wilder M. (2004). Programación Matemática I.

[Wolfram, ´07] Wolfram Mathematica. (2007). Constrained Optimization Overview.

46
Bibliografía

[Zaychenko Y., Shumilova C., ´84] Zaychenko Yu. P y Shumilova C. A. (1984). Investigación de
Operaciones. Manual de Ejercicios. Escuela Superior Kiev.

47
A
Apéndice

Apéndice A. Tablas

En éste apéndice representaremos las principales tablas consideradas en el Capítulo 3.

 Sección A.1: podemos encontrar la tabla con la descripción detallada de los problemas de
prueba, así como los distintos resultados obtenidos al aplicarle las distintas estrategias.

 Sección A.2: podemos encontrar las principales tablas estadísticas.

 Sección A.3 mostraremos las notaciones empleadas en las tablas de la sección A.2.

48
Apéndice A. Tablas

A.1 Problemas de Prueba

Tabla # 1: Descripción de los Problemas.

ID
40 Variables
2 Restricciones
2
1 2 2
2 2 2
3 2 2
4 2 2
5 2 2
6 2 2
7 2 2
8 2 2
9 3 2
10 2 2
11 4 3
12 4 3
13 2 2
14 2 2
15 2 3
16 2 3
17 4 3
18 2 3
19 2 4
20 2 2
21 2 3
22 2 3
23 3 4
24 3 4
25 2 3
26 2 3
27 2 4
28 2 2
29 3 2
30 2 3
31 8 5
32 2 3
33 2 2
34 2 3
35 2 2
36 2 2
37 2 2
38 3 4
39 2 3

49
Apéndice A. Tablas

Tabla # 2: Ramificación y Acotación en Mathematica 6.0.

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 - - 0.063 21 - - 0.078
2 - - 0.047 22 - - 0.047
3 - - 0.047 23 - - 0.079
4 - - 0.078 24 - - 0.094
5 - - 0.079 25 - - 0.078
6 - - 0.063 26 - - 0.094
7 - - 0.063 27 - - 0.078
8 - - 0.11 28 - - 0.078
9 - - 0.078 29 - - 0.078
10 - - 0.062 30 - - 0.032
11 - - 0.062 31 - - 0.031
12 - - 0.078 32 - - 0.078
13 - - 0.079 33 - - 0.063
14 - - 0.078 34 - - 0.078
15 - - 0.078 35 - - 0.062
16 - - 0.047 36 - - 0.062
17 - - 0.078 37 - - 0.078
18 - - 0.078 38 - - 0.094
19 - - 0.093 39 - - 0.062
20 - - 0.047 40 - - 0.078

50
Apéndice A. Tablas

Tabla # 3: Ramificación y Acotación (propio).

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 4 0.0160 21 4 5 0.0310
2 3 4 0.0150 22 4 4 0.0150
3 3 5 0.0160 23 4 5 0.×10-5
4 3 4 0.0150 24 6 8 0.0470
5 3 3 0.0160 25 6 8 0.0310
6 6 8 0.0310 26 3 4 0.0160
7 9 12 0.0780 27 4 5 0.0470
8 4 5 0.0160 28 4 5 0.0310
9 6 10 0.0470 29 4 7 0.0310
10 4 5 0.0160 30 5 8 0.0310
11 4 6 0.0310 31 6 10 0.0620
12 4 4 0.0310 32 3 3 0.0160
13 3 4 0.0150 33 4 6 0.0320
14 3 5 0.0160 34 4 5 0.0470
15 4 5 0.0320 35 3 5 0.0160
16 5 6 0.0310 36 5 8 0.0470
17 6 8 0.0470 37 3 4 0.0150
18 9 12 0.0630 38 8 11 0.0620
19 8 11 0.0930 39 5 6 0.0320
20 3 5 0.0160 40 6 9 0.0790

51
Apéndice A. Tablas

Tabla # 4: Ramificación y Corte.


Corte: Gomory
Nivel: 0

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 3 0.0160 21 8 8 0.0460
2 2 2 0.0160 22 4 4 0.0150
3 13 13 0.0790 23 3 3 0.0160
4 6 6 0.0310 24 17 17 0.1090
5 3 3 0.0160 25 5 5 0.0310
6 9 9 0.0460 26 2 2 0.0160
7 5 5 0.0310 27 7 7 0.0470
8 6 6 0.0320 28 4 4 0.0150
9 4 4 0.0150 29 2 2 0.0150
10 3 3 0.0150 30 7 7 0.0460
11 4 4 0.0310 31 5 5 0.0310
12 5 5 0.0150 32 3 3 0.0150
13 2 2 0.0150 33 3 3 0.0160
14 8 8 0.0470 34 2 2 0.0160
15 6 6 0.0310 35 9 9 0.0470
16 9 9 0.0460 36 4 4 0.0160
17 3 3 0.0160 37 3 3 0.0150
18 2 2 0.0160 38 25 25 0.2190
19 3 3 0.0160 39 6 6 0.0310
20 2 2 0.0150 40 2 2 0.0150

52
Apéndice A. Tablas

Tabla # 5: Ramificación y Corte.


Corte: Chvatal-Gomory
Nivel: 0

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 2 2 0.0150 21 6 6 0.5780
2 2 2 0.0160 22 2 2 0.0310
3 4 4 0.1090 23 3 3 0.0780
4 4 4 0.0940 24 10 10 1.8590
5 3 3 0.0620 25 5 5 0.1090
6 4 4 0.0790 26 2 2 0.0310
7 2 2 0.0160 27 4 4 0.0620
8 3 3 0.0780 28 2 2 0.0470
9 3 3 0.0310 29 2 2 0.0160
10 3 3 0.0620 30 2 2 0.1400
11 2 2 0.1880 31 3 3 1.3590
12 4 4 0.1870 32 3 3 0.0310
13 2 2 0.0310 33 4 4 0.1250
14 3 3 0.1100 34 3 3 0.0310
15 4 4 0.1090 35 5 5 0.2500
16 5 5 0.1100 36 2 2 0.0470
17 4 4 0.0930 37 2 2 0.0310
18 3 3 0.0630 38 8 8 0.7030
19 4 4 0.1870 39 3 3 0.0470
20 2 2 0.0150 40 2 2 0.0310

53
Apéndice A. Tablas

Tabla # 6: Ramificación y Corte.


Corte: Gomory
Nivel: 1

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 3 0.0160 21 5 6 0.0310
2 3 3 0.0160 22 4 4 0.0160
3 3 4 0.0150 23 3 3 0.0150
4 4 6 0.0310 24 8 9 0.0780
5 3 3 0.0150 25 6 7 0.0470
6 6 8 0.0470 26 3 4 0.0160
7 4 5 0.0320 27 3 3 0.0150
8 6 8 0.0470 28 3 4 0.0150
9 6 9 0.0470 29 4 5 0.0160
10 3 3 0.0160 30 6 8 0.0470
11 5 7 0.0160 31 4 5 0.0310
12 7 8 0.0620 32 3 3 0.0160
13 3 3 0.0160 33 4 5 0.0160
14 5 7 0.0470 34 3 3 0.0150
15 3 3 0.0150 35 15 22 0.1250
16 4 5 0.0160 36 3 4 0.0320
17 5 6 0.0310 37 3 3 0.0150
18 2 2 0.0160 38 10 13 0.0780
19 3 3 0.0320 39 5 6 0.0310
20 3 4 0.0160 40 3 4 0.0150

54
Apéndice A. Tablas

Tabla # 7: Ramificación y Corte.


Corte: Chvatal-Gomory
Nivel: 1

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 3 0.0160 21 3 3 0.0620
2 3 3 0.0470 22 4 4 0.0620
3 4 5 0.0310 23 5 5 0.1400
4 3 4 0.0320 24 5 5 0.2820
5 3 3 0.0470 25 4 4 0.0630
6 4 5 0.0780 26 3 4 0.0940
7 5 6 0.0780 27 3 3 0.0460
8 4 5 0.0780 28 3 4 0.0310
9 6 8 0.1090 29 4 5 0.0630
10 3 3 0.0310 30 5 6 0.1250
11 4 5 0.3750 31 6 8 1.5940
12 5 6 0.2190 32 3 3 0.0310
13 3 3 0.0160 33 3 3 0.0320
14 3 4 0.0620 34 3 3 0.0470
15 3 3 0.0630 35 4 5 0.0620
16 4 5 0.0930 36 3 4 0.0160
17 6 7 0.1410 37 3 3 0.0460
18 2 2 0.0310 38 8 10 0.2970
19 3 3 0.0630 39 4 4 0.0460
20 3 4 0.0470 40 3 4 0.0460

55
Apéndice A. Tablas

Tabla # 8: Ramificación y Corte.


Corte: Gomory
Nivel: 0-1

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 4 0.0310 21 5 5 0.0310
2 2 2 0.0160 22 4 4 0.0150
3 4 5 0.0150 23 4 4 0.0160
4 5 6 0.0320 24 6 7 0.0310
5 3 3 0.0150 25 5 6 0.0310
6 6 7 0.0320 26 2 2 0.0160
7 5 6 0.0310 27 4 4 0.0150
8 6 7 0.0310 28 4 5 0.0160
9 4 5 0.0310 29 2 2 0.×10-5
10 5 6 0.0310 30 7 8 0.0470
11 5 6 0.0310 31 4 5 0.0320
12 5 5 0.0310 32 3 3 0.0160
13 2 2 0.×10-5 33 4 4 0.0310
14 5 6 0.0320 34 2 2 0.×10-5
15 4 4 0.0160 35 4 5 0.0320
16 5 6 0.0310 36 4 5 0.0310
17 4 5 0.0310 37 3 4 0.0160
18 2 2 0.×10-5 38 7 9 0.0470
19 2 2 0.0160 39 5 5 0.0320
20 2 2 0.0150 40 2 2 0.0160

56
Apéndice A. Tablas

Tabla # 9: Ramificación y Corte.


Corte: Chvatal-Gomory
Nivel: 0-1

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 2 2 0.×10-5 21 4 4 0.2660
2 2 2 0.0150 22 2 2 0.0470
3 4 4 0.0940 23 4 5 0.0780
4 4 4 0.0780 24 6 8 0.8750
5 3 3 0.0310 25 3 3 0.0470
6 3 3 0.0630 26 2 2 0.0470
7 2 2 0.0470 27 4 4 0.0930
8 3 3 0.0310 28 2 2 0.0470
9 3 4 0.0310 29 2 2 0.0470
10 3 4 0.0470 30 2 2 0.1720
11 2 2 0.2030 31 4 5 1.3120
12 5 5 0.3280 32 3 3 0.0310
13 2 2 0.0310 33 5 5 0.1410
14 3 4 0.0780 34 4 5 0.0630
15 5 6 0.1090 35 4 5 0.1250
16 4 5 0.0470 36 2 2 0.0470
17 5 5 0.1090 37 2 2 0.0310
18 3 4 0.0470 38 5 6 0.1560
19 4 4 0.1720 39 3 3 0.0310
20 2 2 0.0320 40 2 2 0.0320

57
Apéndice A. Tablas

Tabla # 10: Ramificación y Corte.


Corte: Gomory
Nivel: 1-0

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 3 0.×10-5 21 4 4 0.0160
2 3 3 0.0160 22 4 4 0.0160
3 3 4 0.0160 23 3 3 0.0150
4 4 5 0.0470 24 8 9 0.0780
5 3 3 0.0150 25 6 7 0.0460
6 5 6 0.0160 26 3 4 0.0150
7 4 5 0.0310 27 3 3 0.0310
8 5 6 0.0160 28 3 4 0.0160
9 6 7 0.0310 29 4 5 0.0310
10 3 3 0.×10-5 30 6 7 0.0310
11 5 6 0.0310 31 4 5 0.0470
12 6 7 0.0470 32 3 3 0.0150
13 3 3 0.×10-5 33 4 5 0.0310
14 4 5 0.0150 34 3 3 0.0160
15 3 3 0.0150 35 8 11 0.0470
16 4 5 0.0160 36 3 4 0.0150
17 4 4 0.0160 37 3 3 0.0160
18 2 2 0.×10-5 38 12 15 0.0930
19 3 3 0.0160 39 4 4 0.0310
20 3 4 0.0150 40 3 4 0.0150

58
Apéndice A. Tablas

Tabla # 11: Ramificación y Corte .


Corte: Chvatal-Gomory
Nivel: 1-0

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 3 0.0310 21 3 3 0.0630
2 3 3 0.0460 22 4 4 0.0470
3 4 4 0.0780 23 4 4 0.0940
4 3 4 0.0460 24 6 6 0.4530
5 3 3 0.0460 25 5 5 0.1100
6 4 5 0.0470 26 3 4 0.0620
7 5 6 0.0940 27 3 3 0.0470
8 4 5 0.0630 28 3 4 0.0470
9 5 6 0.1090 29 4 5 0.0630
10 3 3 0.0310 30 5 6 0.1560
11 4 5 0.3590 31 5 6 1.4060
12 6 7 0.2340 32 3 3 0.0470
13 3 3 0.0310 33 3 3 0.0630
14 3 4 0.0470 34 3 3 0.0310
15 3 3 0.0470 35 4 4 0.0940
16 4 5 0.0630 36 3 4 0.0470
17 6 7 0.1560 37 3 3 0.0470
18 2 2 0.0310 38 9 11 0.3750
19 3 3 0.0630 39 4 4 0.1090
20 3 4 0.0470 40 3 4 0.0470

59
Apéndice A. Tablas

Tabla # 12: Ramificación y Corte.


Corte: Gomory
Nivel: 2

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 4 0.0150 21 4 4 0.0320
2 3 4 0.0150 22 4 4 0.0160
3 3 5 0.0160 23 4 4 0.0320
4 3 4 0.0310 24 7 9 0.0620
5 3 3 0.0160 25 5 6 0.0310
6 5 6 0.0460 26 3 4 0.0150
7 6 8 0.0460 27 4 5 0.0320
8 4 5 0.0160 28 4 5 0.0310
9 8 13 0.0630 29 4 7 0.0310
10 4 5 0.0160 30 5 7 0.0470
11 4 6 0.0310 31 6 9 0.0630
12 4 4 0.0310 32 3 3 0.0160
13 3 4 0.0150 33 4 6 0.0320
14 3 5 0.0160 34 4 5 0.0310
15 4 5 0.0310 35 5 6 0.0160
16 5 6 0.0310 36 4 6 0.0320
17 5 6 0.0310 37 3 4 0.0310
18 2 2 0.×10-5 38 10 13 0.0940
19 7 9 0.0470 39 4 5 0.0310
20 3 5 0.0160 40 4 5 0.0310

60
Apéndice A. Tablas

Tabla # 13: Ramificación y Corte.


Corte: Chvatal-Gomory
Nivel: 2

Nodos Tiempo Nodos Tiempo


ID Iteraciones ID Iteraciones
Evaluados CPU Evaluados CPU
1 3 4 0.0320 21 4 5 0.1090
2 3 4 0.0310 22 4 4 0.0630
3 4 5 0.0620 23 4 4 0.0940
4 3 4 0.0160 24 5 5 0.1560
5 3 3 0.0310 25 5 6 0.0940
6 5 6 0.0940 26 3 4 0.0310
7 9 12 0.1720 27 4 5 0.0470
8 4 5 0.0470 28 4 5 0.0630
9 6 9 0.1410 29 4 7 0.0470
10 4 5 0.0620 30 5 6 0.1410
11 4 6 0.0780 31 6 9 2.4370
12 4 4 0.0940 32 3 3 0.0320
13 3 4 0.0320 33 3 3 0.0160
14 3 5 0.0310 34 4 5 0.0630
15 4 5 0.0780 35 3 4 0.0460
16 5 6 0.1100 36 5 8 0.0630
17 5 6 0.10904 37 3 4 0.0310
18 2 2 0.0160 38 9 12 0.2970
19 7 9 0.1410 39 5 6 0.1100
20 3 5 0.0160 40 6 8 0.1090

61
Apéndice A. Tablas

A.2 Análisis Estadístico.

Tabla # 14: Estadísticos Descriptivos para la variable Tiempo CPU.

E Min Max Media ETM DT V A ETA C ETC


7 .0000 .0470 .023475 .001861 .0117691 .000 -.378 .374 -.193 .733
9 .0000 .0930 .024500 .003045 .0192554 .000 1.733 .374 3.943 .733
5 .0150 .1250 .030475 .003667 .0231893 .001 2.262 .374 6.328 .733
11 .0000 .0940 .030875 .002768 .0175078 .000 1.450 .374 3.373 .733
3 .0150 .2190 .033050 .005691 .0359928 .001 3.972 .374 18.775 .733
2 .0000 .0930 .033225 .003314 .0209609 .000 1.087 .374 .814 .733
6 .0160 1.5940 .121050 .039791 .2516575 .063 5.434 .374 31.907 .733
10 .0310 1.4060 .126925 .036181 .2288289 .052 4.826 .374 26.161 .733
8 .0000 1.3120 .132025 .037782 .2389524 .057 4.041 .374 17.370 .733
12 .0160 2.4370 .136051 .059641 .3772001 .142 6.118 .374 38.172 .733
4 .0150 1.8590 .181525 .057416 .3631338 .132 3.656 .374 13.867 .733

Tabla # 15: Estadísticos Descriptivos para la variable Nodos Evaluados.

E Min Max Media ETM DT V A ETA C ETC


4 2 10 3.40 .27 1.692 2.862 2.105 .374 5.761 .733
8 2 8 3.55 .23 1.484 2.203 .740 .374 .338 .733
10 2 11 4.35 .26 1.642 2.695 1.891 .374 5.676 .733
6 2 10 4.42 .26 1.662 2.763 1.425 .374 2.412 .733
7 2 9 4.55 .29 1.839 3.382 .164 .374 -.458 .733
9 2 15 4.85 .39 2.466 6.079 2.321 .374 6.986 .733
3 2 25 5.48 .71 4.501 20.256 2.689 .374 9.020 .733
5 2 22 5.53 .56 3.544 12.563 2.898 .374 11.521 .733
12 2 12 5.55 .35 2.230 4.972 1.362 .374 1.967 .733
11 2 13 5.65 .37 2.327 5.413 1.696 .374 3.496 .733
2 3 12 6.30 .40 2.514 6.318 .906 .374 -.203 .733

62
Apéndice A. Tablas

Tabla # 16: Estadísticos Descriptivos para la variable Tiempo CPU.

E MR Me
2 .031722 .031000
3 .026778 .016000
4 .111472 .070500
5 .027389 .016000
6 .078917 .062000
7 .023472 .031000
8 .085528 .047000
9 .022472 .016000
10 .087667 .062500
11 .029528 .031000
12 .074334 .063000

Tabla # 17: Estadísticos Descriptivos para la variable Nodos evaluados.

E MR Me
2 6.17 5.00
3 4.81 4.00
4 3.17 3.00
5 5.03 4.50
6 4.28 4.00
7 4.47 5.00
8 3.44 3.50
9 4.53 4.00
10 4.19 4.00
11 5.42 5.00
12 5.36 5.00

63
Apéndice A. Tablas

Tabla # 18: Prueba de Normalidad para la variable Tiempo CPU.

Shapiro-Wilk
E Estadístico gl Sig
2 .906 40 .003
3 .868 40 .000
4 .518 40 .000
5 .459 40 .000
6 .696 40 .000
7 .355 40 .000
8 .852 40 .000
9 .455 40 .000
10 .793 40 .000
11 .404 40 .000
12 .838 40 .000

Tabla # 19: Prueba de Normalidad para la variable Nodos Evaluados.

Shapiro-Wilk
E Estadístico gl Sig
2 .875 40 .000
3 .707 40 .000
4 .758 40 .000
5 .708 40 .000
6 .850 40 .000
7 .927 40 .013
8 .869 40 .000
9 .759 40 .000
10 .815 40 .000
11 .825 40 .000
12 .862 40 .000

64
Apéndice A. Tablas

Tabla # 20: Prueba de Friedman para la variable Tiempo CPU.

Chi-cuadrado 216.801
gl 10
Sig. asintót. .000

Tabla # 21: Prueba de Friedman para la variable Nodos Evaluad os.

Chi-cuadrado 109.235
gl 10
Sig. asintót. .000

A.3 Notación

Análisis Estadístico
Notación Descripción
E Estrategias.
Min Valor más pequeño.
Max Valor más grande.
Media Media muestral.
ETM Error típico de la media muestral.
DT Desviación típica.
V Varianza muestral.
A Asimetría.
ETA Error típico de la asimetría.
C Curtosis.
ETC Error típico de la curtosis.
MR Media recortada al 5 %.
Me Mediana.

65

También podría gustarte