Vous êtes sur la page 1sur 20

UNIVERSIDAD DEL VALLE

FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y
ESTADÍSTICA

INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA Y


OPTIMIZACIÓN
(Notas de Clase)

Primera Parte: Introducción a la modelación matemática


y formulación de modelos de Programación Lineal

(Versión 1.1 Marzo de 2002)

AUTOR: Carlos Julio Vidal Holguín

Cali, Marzo de 2002


Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 1

INTRODUCCIÓN
Las presente publicación trata de familiarizar al estudiante con los principales
aspectos de la Investigación de Operaciones (IO), incluyendo su origen histórico, su
naturaleza y sus diversas técnicas. El énfasis principal se da a los modelos de
programación lineal, incluyendo la programación lineal entera y el problema del
transporte. Posteriormente, se presenta una introducción a los modelos de redes y se
da como opcional una introducción general a la optimización nó-lineal. Así, estas notas
pueden utilizarse en cursos de Investigación de Operaciones I, Modelación Matemática
e Introducción a la Optimización.

La metodología utilizada es la exposición de los principales temas con numerosos


modelos y ejemplos resueltos. Se proponen también diversos ejercicios en cada una de
las secciones para ser desarrollados por los estudiantes. Para una mejor comprensión
del texto, se sugiere la lectura secuencial por capítulos antes de cada clase,
complementada con referencias adicionales.
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 2

1. LA INVESTIGACIÓN DE
OPERACIONES
1.1 ORÍGENES

Algunos autores afirman que las primeras semillas para el surgimiento de la IO


se remontan hacia mediados del siglo XVIII cuando en 1759 el economista Quesnay
utilizó algunos modelos simples de programación matemática y hacia el año 1874 cuando
otro economista, Walras, usó técnicas similares. Sin embargo, el acontecimiento
histórico que marcó el verdadero origen de la IO fue la segunda guerra mundial.

Generalmente, en tiempos de guerra los recursos se vuelven escasos y su


utilización debe hacerse en la forma más racional posible para obtener de ellos el
máximo provecho. Fue así como la milicia británica y posteriormente la de los Estados
Unidos decidieron apoyarse en un grupo de investigadores con el objeto de diseñar
procedimientos científicos para ser utilizados en las estrategias y técnicas militares.
Estos grupos se dedicarían, por lo tanto, a investigar las operaciones militares. Al
parecer, de aquí surgió el nombre de esta disciplina como sigue utilizándose
actualmente. Es de destacar que los estudios realizados por estos grupos de
científicos, según se afirma, contribuyeron positivamente a grandes triunfos de los
países aliados en la segunda guerra mundial, tales como las batallas de Inglaterra y del
Atlántico Norte.

Por otra parte, como consecuencia de la primera Revolución Industrial acaecida


en el Siglo XIX, las organizaciones en general habían sufrido cambios sustanciales,
pasando de pequeños talleres artesanales a medianas y grandes empresas. Además,
se pasó de empresas con un solo administrador o dueño absoluto, quien tenía a su
cargo las principales decisiones, a empresas que por su naturaleza y tamaño tuvieron la
necesidad de crear la división funcional del trabajo y segmentar las responsabilidades
administrativas, delegando en varias personas el proceso de toma de decisiones.

Aunque lo anterior trajo grandes ventajas, empezaron a surgir problemas


debidos a la independencia de los departamentos y secciones de las empresas. Cada
ente defendía sus objetivos particulares, sin contribuir como un todo a las metas y
objetivos generales de la organización, lo cual inclusive se sigue observando en la
actualidad. Es entonces cuando aparecen los primeros problemas de decisión a alto
nivel, los cuales eventualmente trataría de abordar algunas técnicas de la investigación
de operaciones.

Debido al éxito de los grupos de científicos que realizaron la investigación de


operaciones militares y como el ambiente de las organizaciones era el propicio, la
industria empezó a interesarse en ellos para que diseñaran procedimientos científicos
para abordar los problemas de decisión que las empresas estaban enfrentando. Fue
así como al terminar la guerra, los británicos comenzaron a utilizar esta metodología en
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 3

sus industrias y se dieron cuenta que sus problemas eran de naturaleza semejante a la
de los problemas militares: recursos limitados y dificultad para lograr su mejor
asignación a las diversas actividades de la empresa. En los Estados Unidos, el interés
de la industria por las técnicas de la IO no fue tan inmediato y surgió con el
advenimiento de las Segunda Revolución Industrial, caracterizada por la automatización
y el advenimiento de los computadores electrónicos digitales.

El notable adelanto logrado en pocos años en las técnicas de la IO se debió al


interés de muchos científicos en perfeccionar lo que ya habían desarrollado para las
tácticas militares y al surgimiento de los computadores. Fue así como en 1947, el Dr.
George Dantzig, con la ayuda de muchos de sus antecesores, logró desarrollar el
método simplex para la solución de problemas de programación lineal, método que hasta
la actualidad es utilizado mundialmente para la solución de grandes problemas de
aplicación de esta técnica.

Antes de finalizar la década de los 50s, otras técnicas de la IO fueron


ampliamente desarrolladas, tales como la programación dinámica, la teoría de colas y la
teoría de inventarios. En 1952 se funda en Estados Unidos la “Operations Research
Society of America”, ORSA, la cual hacia 1972 ya contaba con alrededor de 8000
miembros en todo el mundo. Posteriormente, la ORSA se fusionó con el Instituto
Americano para las Ciencias de la Administración y se creó el “Institute for Operations
Research and the Management Sciences”, INFORMS (ver página web
www.informs.org), el cual actualmente cuenta con miles de miembros de todo el mundo y
celebra reuniones trimestrales en los Estados Unidos y reuniones anuales en diferentes
partes del mundo, donde se exponen las últimas investigaciones en el área. Existen
también actualmente diversas organizaciones en todo el mundo para la divulgación y el
desarrollo de la investigación de operaciones, tales como EURO en Europa y la
recientemente creada SOCIO en Colombia (Sociedad Colombiana de Investigación de
Operaciones). Todas estas organizaciones tienen importantes publicaciones periódicas
que circulan a nivel mundial. INFORMS, por ejemplo, publica las revistas “Operations
Research” y “Management Science”, entre otras, de gran renombre en el área de
investigación de operaciones.

En las universidades, por otra parte, existen programas de estudios de


pregrado y postgrado (a nivel de maestría y doctorado) íntimamente relacionados con el
área de la investigación de operaciones. Existen, por ejemplo, escuelas de ingeniería
industrial con áreas especializadas en optimización y en producción y distribución que
hacen extensiva investigación y aplicación de las técnicas de la investigación de
operaciones.

Algunas de las técnicas de la IO se han ido especializando de tal forma, que


actualmente representan un cuerpo independiente y con desarrollos propios, como por
ejemplo, la estadística, la optimización y la simulación. En otros casos, algunas áreas del
conocimiento utilizan ampliamente la IO, como es el caso de la Logística, la cual aplican
por ejemplo diversas técnicas de optimización. Además, existen diversos proveedores
de software dedicados exclusivamente al desarrollo de programas especializados de
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 4

técnicas de IO, como es el caso de la simulación y la optimización, quienes promueven


sus productos con seminarios y cursos alrededor del mundo.

Aunque muchas veces se ha dado la discusión sobre la utilidad real de la IO y su


posible decadencia, todo parece indicar que sus diversas técnicas han tomado en la
actualidad completa independencia y autonomía, y las innumerables aplicaciones que
existen siguen en desarrollo y crecimiento. Un ejemplo típico de esto es la aplicación de
la IO para el diseño y optimización de las cadenas de abastecimiento.

1.2 NATURALEZA DE LA INVESTIGACIÓN DE OPERACIONES

De acuerdo con Hillier y Lieberman (1997), se ha tratado de enmarcar a la IO y


definirla. Sin embargo, su propio origen hace que esto sea una tarea muy difícil o
imposible. En lugar de definirla, entonces, es preferible dar una idea de su naturaleza y
sus características para comprender mejor su esencia.

La IO aplica el método científico para el estudio de los diversos problemas,


observando y definiendo claramente el problema en cuestión. Posteriormente se diseña
un modelo (generalmente matemático) que permite representar y abstraer la realidad
del sistema bajo estudio. Seguidamente, se obtienen las soluciones del modelo y se
trata de validar el modelo, principalmente con el análisis de las respuestas del modelo y
la experimentación. De acuerdo con los resultados de la validación, es posible retornar
al rediseño del modelo y su refinamiento, convirtiéndose así en un proceso iterativo que
puede cambiar de acuerdo con la dinámica del sistema estudiado. Como puede
observarse, esta metodología corresponde a la utilización del enfoque de sistemas
como herramienta de estudio de los problemas, donde se identifican y analizan los
componentes, interrelaciones y factores significativos del sistema bajo análisis.

Las conclusiones obtenidas con la aplicación del modelo deben enmarcarse en la


realidad del problema analizado y deben ser fáciles de interpretar y de implementar
para el ente decisorio. Por lo tanto, la IO debe producir soluciones de problemas reales
que puedan ser aplicadas de una manera eficiente y racional por las personas
responsables de los procesos decisorios de la organización.

Como puede observarse, el punto de vista de la IO es muy amplio, pues apunta


hacia cualquier tipo de organización, tratando de resolver los conflictos entre los
componentes de la misma, para obtener el máximo provecho de los recursos disponibles
y lograr los objetivos globales de la empresa. Ese “máximo aprovechamiento de los
recursos” se ve reflejado en la mayoría de los casos que estudia la investigación
operacional en la búsqueda de soluciones óptimas de los problemas.

La investigación de operaciones se ocupa y hace uso de diversos y muy variados


campos del conocimiento humano. Por lo tanto, la IO presenta la característica de ser
aplicada por grupos interdisciplinarios, tales como personas expertas en los campos de
las matemáticas, la estadística y la probabilidad, economía, administración, ingeniería
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 5

industrial y de sistemas, ciencias de la computación, sicología, ingeniería en general, e


incluso en las áreas de la salud, tales como la medicina y epidemiología.

Por otra parte, el grupo que realiza un estudio específico en alguna organización
debe contener personas expertas en las áreas antes mencionadas y además poseer un
conocimiento global y profundo de la organización misma, de tal forma que la definición
del problema, el diseño del modelo y la utilización de sus soluciones estén enmarcados
dentro del contexto del sistema real y específico bajo estudio. De esto último puede
deducirse que los resultados que brinda la IO se obtienen en general de mediano a largo
plazo, pues el conocimiento inicial del sistema bajo estudio por parte del grupo puede
consumir un tiempo considerable.

En resumen, y tal como lo expresan Hillier y Lieberman (1997), la investigación


de operaciones busca la toma de decisiones óptimas en sistemas determinísticos y
probabilísticos de la vida real, y en la modelación de los mismos. Aquí nos ocuparemos
de modelos determinísticos de optimización y sus aplicaciones a sistemas reales.

1.3 IMPACTO DE LA INVESTIGACIÓN DE OPERACIONES

Debido a su amplio punto de vista, la IO se ha aplicado y se continúa aplicando a


los más diversos campos del conocimiento humano. Es así como las diversas técnicas
de la IO se han utilizado con éxito en campos de los negocios, entes gubernamentales y
militares, la banca y otros sectores de servicios y la industria en general, en aspectos
como la producción, los mercados, las inversiones y las finanzas, la salud, las ciencias
sociales, la biología, etc. Unos pocos ejemplos de estas aplicaciones son los siguientes:

• Control y predicción del crecimiento económico,


• Planeación de la expansión de plantas manufactureras,
• Planeación urbana,
• Optimización de servicios de transporte y de transporte de basuras,
• Diseño de redes de tubería,
• Optimización y diseño de cadenas de abastecimiento regionales e internacionales,
• Estrategias de sustitución de importaciones,
• Planeación agregada de la producción,
• Planeación y estrategias en empresas de transporte aéreo,
• Problemas de inventarios en general, incluyendo materias primas y productos terminados,
• Mantenimiento y reemplazo de equipos,
• Evaluación de estrategias de publicidad,
• Tratamiento óptimo de tumores cancerosos,
• Estudio de la propagación de epidemias (como el SIDA),
• Distribución del esfuerzo de ventas,
• Entrenamiento de personal,
• Diversas aplicaciones en refinerías petroleras,
• Predicción financiera,
• Optimización de satélites,
• Distribución de fuerzas navales y aéreas,
• Evaluación de inversiones en bonos y acciones,
• Planeación y control de proyectos,
• Estudios de diversos sistemas de servicio (teoría de colas y simulación),
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 6

• Programas de vacunación de perros callejeros,


• Predicción de trabajo policiaco,
• Estudios de factores de criminalidad y
• Otras diversas aplicaciones en muchos campos.

Como puede observarse, las posibilidades de aplicación son inmensas y cada día
más especializadas. Las aplicaciones reales de la IO están creciendo cada día,
especialmente en nuestro medio cuando apenas empieza a reconocerse su importancia
y utilidad para el diseño y optimización de sistemas complejos.

Entre las técnicas de la IO que más se han utilizado se resaltan el análisis


estadístico cuyo origen tuvo lugar con el desarrollo de la IO, para posteriormente
volverse una técnica independiente con sus propios desarrollos. Igualmente, la
programación lineal y la simulación han tenido y tienen actualmente un gran desarrollo en
diversos campos, como por ejemplo los sistemas integrados de producción y
distribución, los sistemas de manejo de materiales, algunas aplicaciones en agricultura,
los problemas de planeación de las líneas aéreas y muchos otros más.

Entre otras técnicas de la IO se destacan:

• Los modelos de redes,


• La programación dinámica,
• Los modelos de inventarios,
• La teoría de pronósticos,
• La teoría de análisis de decisión y juegos,
• Los sistemas de colas,
• Los procesos markovianos de decisión y
• La optimización no-lineal.

Prácticamente cada una de estas técnicas podría dar lugar a cursos completos
o seminarios especializados, con amplia exposición de aplicaciones reales. Esta
publicación se centra en lo que podría denominarse un curso de Introducción a la
Optimización o Investigación de Operaciones I, concentrándose principalmente en los
modelos de programación lineal y brindando una introducción a la teoría de redes y a la
programación no-lineal.
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 7

2. EL PROCESO DE DISEÑO EN
INGENIERÍA
Como ya se ha visto, la IO aplica el método científico para analizar, modelar y
optimizar sistemas complejos reales. Desde el punto de vista de la ingeniería industrial
y de sistemas, esta metodología podría definirse como el “proceso de diseño en
ingeniería.” Este proceso consiste en una serie de pasos bien definidos para encontrar
la solución de problemas reales. La Figura 2.1 muestra una síntesis de este proceso.

Formulación del problema

Análisis del problema y recolección de datos

Generación de alternativas de solución

Evaluación de las alternativas y selección de Formulación y


la(s) mejor(es) alternativa(s) validación de un modelo

Especificaciones de la(s) solución(es)

Implementación, evaluación y control del


diseño en uso

Figura 2.1 El proceso de diseño en ingeniería


Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 8

Inicialmente debe identificarse claramente el problema que se va a resolver.


Este paso es fundamental para el éxito de todo el proceso, ya que si el problema no
está bien formulado, cualquier análisis podría llegar a conclusiones sin sentido. Una vez
definido el problema, se pasa a su análisis y se recolectan datos preliminares que
permitan enmarcarlo de una forma más precisa.

Posteriormente, se generan posibles alternativas de solución del problema. El


paso siguiente consiste en la evaluación de las alternativas con el objeto de determinar
la mejor o mejores. Es en este paso cuando la formulación de un modelo como
herramienta de decisión puede ser muy importante. Obviamente, puede llegarse a una
selección de una buena alternativa sin necesidad de formular ningún modelo, pero
generalmente éste da una visión mucho más amplia del sistema bajo estudio y, en otras
ocasiones, se hace imprescindible su utilización.

El modelo formulado entra en un proceso de validación para determinar su grado


de aproximación con la realidad, a través de la comparación con resultados históricos y
con indicadores extraídos del sistema real bajo análisis. Una vez superado este paso,
el modelo puede utilizarse para evaluar las alternativas de solución y determinar la
mejor.

Los dos pasos siguientes son comunes al proceso bien sea que exista o no un
modelo de decisión. Se trata de especificar claramente la solución con el objeto de que
sea implementada de una forma correcta y de que permita su continua evaluación y
control. Estos pasos pueden identificar desviaciones de la realidad o cambios con
respecto de la concepción original del problema, de tal forma que se puede hacer
necesario un proceso continuo de análisis y refinamiento del modelo, incluso existiendo la
posibilidad de reformular el problema e iniciar el proceso de nuevo.

2.1 MODELOS

Uno de los pasos fundamentales del proceso descrito anteriormente puede ser
la formulación y validación de un modelo de decisión. En general, puede decirse que un
modelo es la abstracción de la realidad, el cual debe poseer dos características
básicas:

• Ser más fácil de manipular y


• Proveer una mejor visión del sistema bajo estudio.

En todas las disciplinas, de una u otra forma, se utilizan modelos. A continuación se da


una clasificación típica de modelos.

2.1.1 Clasificación de modelos

De acuerdo con su naturaleza los modelos pueden clasificarse en:


Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 9

• Físicos, los cuales normalmente lucen semejantes a la realidad física, pero a


menor escala, como por ejemplo un avión en miniatura siendo probado en un
túnel de viento.

• Análogos o analógicos, los cuales no asemejan físicamente el sistema bajo


estudio, sino que exhiben conexiones entre los parámetros de entrada y las
variables de salida proporcionales a los correspondientes parámetros y
variables existentes en el sistema real. Un ejemplo clásico de un modelo
análogo se utiliza en la localización óptima de una nueva planta o centro de
distribución en el plano, donde se trata de minimizar la suma ponderada de
las distancias de la nueva instalación hacia todas las instalaciones existentes
(plantas o centros de distribución). Para ello se construye una estructura en
la que se tiene una mesa horizontal con agujeros dispuestos de la misma
forma que las instalaciones existentes, normalmente a escala. Una cuerda
para cada una de las instalaciones existentes se ata a un nudo común y
todas se hacen pasar por sus agujeros respectivos, a través de poleas que
se puedan considerar sin fricción. En el extremo libre de cada cuerda se
cuelga un peso proporcional al volumen que manejará la correspondiente
instalación multiplicado por su costo unitario de transporte. El sistema se
deja en libertad hasta que el nudo quede en reposo; el punto de equilibrio del
nudo corresponde a la localización óptima del nuevo centro de distribución y
la longitud de las cuerdas entre el nudo y las poleas representará la distancia
entre las instalaciones existentes y la nueva instalación. Como puede verse,
se trata aquí de resolver un problema de localización mediante el uso de un
modelo analógico mecánico.

• Matemáticos, los cuales incorporan las propiedades y el comportamiento


básico del sistema bajo estudio mediante relaciones matemáticas reflejadas
en parámetros, variables de decisión, funciones objetivo, etc. El ejemplo
típico son los modelos de programación lineal que se exponen a partir del
capítulo siguiente.

Otro tipo de clasificación define los modelos como descriptivos, o sea aquéllos
que sólo describen el sistema bajo estudio, o normativos u optimizables, los cuales se
formulan para mejorar u optimizar el sistema bajo estudio. De manera semejante, los
modelos se pueden clasificar en determinísticos o estocásticos (probabilísticos), de
acuerdo con su capacidad de involucrar o nó variables aleatorias en el análisis.

A partir de estas últimas clasificaciones, se pueden dar todas las combinaciones


posibles de modelos, a saber:

• Modelos determinísticos – descriptivos (como por ejemplo las ecuaciones que


reflejan la Ley de Ohm);
• Modelos determinísticos – optimizables (como por ejemplo los modelos de
programación lineal);
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 10

• Modelos estocásticos – descriptivos (como por ejemplo los modelos de colas


y simulación);
• Modelos estocásticos – optimizables (como por ejemplo algunos modelos de
programación nó-lineal e inventarios).

Existen otras clasificaciones más detalladas, pero con las dadas aquí es
suficiente para ilustrar los tipos de modelos objeto de esta publicación. En general, los
modelos matemáticos tratados en esta publicación, es decir los de programación lineal,
modelos de redes y programación no-lineal, pueden ser clasificados como modelos
matemáticos determinístico-optimizables.

2.1.2 Ventajas y desventajas del uso de modelos

Existen múltiples ventajas en el uso de modelos como herramientas poderosas


para la toma de decisiones. Las principales son:

• Consideración de aspectos fundamentales del sistema que serían muy difíciles


o imposibles de analizar sin la ayuda de los modelos;
• Definición precisa de los objetivos, estructura y restricciones del sistema;
• Definición de parámetros, costos e indicadores de eficiencia que recogen los
aspectos más relevantes para el análisis del sistema bajo estudio;
• Evaluación sistemática de alternativas;
• Rápida respuesta de análisis de sensibilidad, los cuales de otra forma serían
demasiado dificultosos o imposibles.

Por el contrario, existen también algunas desventajas que deben ser evaluadas
antes de emprender la tarea de formulación de un modelo para la solución de un
problema. Ellas son:

• Requerimiento y recolección de conjuntos de datos muy extensos y, en


general, con altas exigencias en su grado de precisión;
• Requerimiento de conocimientos altamente especializados para su
formulación, solución y análisis de resultados;
• Necesidad de disponer de sistemas de computación y programas complejos y
costosos;
• Requerimiento de tiempos de solución muy largos, los cuales pueden en
algunos casos puede resultar prohibitivos.

A pesar de estas desventajas potenciales, cuando se emprende la tarea de


modelar una situación real y se identifican los aspectos básicos a ser involucrados en el
modelo con la información requerida necesaria, las ventajas potenciales superan
ampliamente cualquier dificultad que se encuentre.
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 11

2.1.3 Algunas conclusiones con respecto del uso de modelos

Uno de los aspectos básicos de la modelación matemática es el de considerar el


suficiente grado de abstracción de la realidad, de tal forma que el modelo tenga el
suficiente realismo, contra la posibilidad de que sea resuelto en un tiempo de
computación aceptable. El arte de modelar consiste precisamente en identificar las
características fundamentales del sistema a ser involucradas en el modelo y en diseñar
modelos que permitan ser resueltos en forma eficiente. Desde este punto de vista es
tan importante y fundamental formular un modelo, como encontrar sus soluciones en un
tiempo computacional aceptable, para después analizarlas e implementar las que se
consideren mejores.

La formulación de modelos debe ser un proceso progresivo, donde inicialmente


se formule un modelo de poca elaboración y luego se refine gradualmente hasta obtener
el equilibrio mencionado anteriormente. Generalmente, es un error tratar de formular
en el inicio del proceso el modelo más complejo y elaborado.

Los modelos deben siempre considerarse como un soporte o ayuda para la toma
de decisiones y nunca como el reemplazo de las personas que toman las decisiones. Si
se formula un modelo pensando que sus resultados van a resolver todos los problemas
de decisión y van a ser implementados “a ojos cerrados,” se cae en un grave error que
puede traer consecuencias impredecibles. Existen en la realidad muchos factores que
no pueden ser involucrados en modelos matemáticos y que sólo los grupos de personas
que toman las decisiones pueden evaluar. Por lo tanto, desde este punto de vista, los
modelos son una poderosa herramienta para este proceso, pero no el fin mismo de la
decisión.

2.2 ALGORITMOS PARA LA SOLUCIÓN DE MODELOS

Una vez formulado un modelo matemático, éste debe resolverse para cumplir
con los pasos de evaluación de las alternativas y selección de la(s) alternativa(s)
óptima(s). El proceso que se utiliza para lograr este objetivo se denomina algoritmo.
Un algoritmo es, por lo tanto, un conjunto finito de pasos, especialmente diseñado para
la solución de un problema.

Desde el punto de vista de cumplimiento de los objetivos de un algoritmo, se dice


que éste es eficiente si resuelve el problema en un tiempo razonable. Por otra parte,
se dice que un algoritmo es efectivo siempre y cuando produzca una solución de alta
calidad, o sea una solución del problema bajo estudio que esté lo suficientemente cerca
de la solución óptima como para que pueda ser utilizada en el proceso de diseño en
ingeniería.

2.2.1 TIEMPO DE SOLUCIÓN DE UN ALGORITMO

El tiempo que un algoritmo emplea en resolver un problema es fundamental para


determinar su utilidad en la solución de problemas reales. Supóngase que n es un
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 12

indicador del tamaño del problema que se está resolviendo, como por ejemplo, el número
de variables y/ó restricciones involucrados en él, y que el tiempo que emplea un
algoritmo en resolver dicho problema es:

T ( n) = ak n k + a k −1n k −1 + ... + a 2 n 2 + a1 n + a0 (2.1)

donde ak > 0. Se dice entonces que el algoritmo resuelve el problema en tiempo


polinomial y que es “de orden nk”, lo cual se denota como O(nk). Si, por el contrario, el
algoritmo es de orden O(2n), por ejemplo, se dice que el algoritmo es nó-polinomial y que
en este caso su tiempo de solución es exponencial. La Tabla 2.4 presenta un ejemplo
de los tiempos de solución de un algoritmo, dependiendo de su orden. Nótese que
incluso para problemas “pequeños”, si el orden del algoritmo es exponencial, puede que
dicho algoritmo jamás resuelva el problema con los computadores que existen
actualmente.

Tabla 2.4. Ejemplo de tiempos de solución de un algoritmo


(Fuente: Goetschalckx (1998), pág.10)

ORDEN DEL Tamaño del Tamaño del Tamaño del Tamaño del
ALGORITMO problema n = 10 problema n = 20 problema n = 40 problema n = 80
n 0.001 seg. 0.002 seg. 0.004 seg. 0.008 seg.
n3 0.001 seg. 0.008 seg. 0.064 seg. 0.512 seg,
2n 0.001 seg. 1.024 seg. 12.43 días 3.74 × 1010 años

2.2.2 CLASIFICACIÓN DE TIPOS DE PROBLEMAS

Existen problemas para los cuales se conocen algoritmos de solución


polinomiales. Independientemente del orden k del polinomio que refleja el tiempo de
solución del algoritmo, se dice que estos problemas son “fáciles” de resolver y se
clasifican como problemas tipo P. Existe otro tipo de problemas, por el contrario, para
los cuales no se conoce ningún algoritmo de solución de orden polinomial, ya que todos
los algoritmos conocidos corren en tiempo exponencial. Estos problemas se dice que
son “difíciles” o “duros” de resolver y se clasifican como problemas tipo NP. Se dice,
entonces, que estos problemas son NP-completos.

La teoría desarrollada para la clasificación de problemas con respecto a su


posibilidad de solución es mucho más compleja, pero la idea principal es que existen
problemas fáciles de resolver con algoritmos conocidos polinomiales y otros difíciles de
resolver, para los cuales no se ha descubierto o inventado ningún algoritmo eficiente.
Esto no significa que los algoritmos eficientes no puedan existir, ya que las preguntas al
respecto permanecen sin respuesta y son motivo de intensa investigación actualmente.
Se piensa que para un problema NP-completo no existen algoritmos de solución
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 13

polinomiales, pero esto no se ha podido demostrar o rechazar. Para este tipo de


problemas, por lo tanto, se han desarrollado procedimientos heurísticos, los cuales no
garantizan una solución óptima, pero tratan de encontrar una muy buena solución del
problema en tiempo razonable.

Es importante comentar, finalmente, que existen problemas que en general son


NP-completos, pero que para algunos de sus casos particulares dejan de serlo. Un
ejemplo típico es la programación lineal entera. En general, un problema de
programación lineal entera es NP-completo. Sin embargo, cierta clase de problemas de
transporte y el problema de asignación, a pesar de ser problemas de programación
lineal entera, no son NP-completos, ya que su estructura particular permite diseñar
algoritmos eficientes para encontrar su solución óptima. A medida que se vayan
desarrollando los diversos temas de esta publicación, se aclarará el tipo de problema
tratado y las características de sus diversos algoritmos de solución.

2.2.3 TIPOS DE ALGORITMOS

Existen diversos tipos de algoritmos para la solución de problemas, de acuerdo


con su grado de complejidad y relación con el modelo formulado. Una forma de resolver
problemas reales podría decirse que se trata de la experiencia y la intuición que la
persona que toma las decisiones posee. En este caso no existe un modelo formal
formulado para la solución del problema ni un algoritmo específico de solución. La calidad
de la solución obtenida depende en gran parte de los conocimientos y experiencia de la
persona que toma las decisiones. Este podría clasificarse como un método manual de
solución de problemas.

Un segundo tipo consiste en la utilización de hojas electrónicas. En este sentido,


se diseñan hojas electrónicas para facilitar los cálculos correspondientes y se analizan
posibles soluciones del problema. Las alternativas de solución en este caso son
generadas con anticipación y lo que se hace es evaluarlas mediante la hoja electrónica.
El resultado de este proceso será tan bueno como las alternativas generadas y su
grado de procesamiento.

Un tercer tipo de algoritmo corresponde a los modelos de simulación. En este


caso, se construye un conjunto de programas y rutinas que asemejan al sistema en
estudio y se analizan múltiples resultados, variando las entradas al modelo. Aquí, sólo
una alternativa puede ser evaluada a la vez, generando múltiples resultados con
diversas réplicas o corridas del modelo. A pesar de que estos modelos reflejan la
realidad de una manera muy fiel, su construcción puede ser compleja y no generan
automáticamente soluciones óptimas.

Otros algoritmos son diseñados para la solución de problemas de optimización.


En este caso se puede disponer de algoritmos exactos, los cuales encuentran la(s)
solución(es) óptima(s) del problema, o de métodos heurísticos, los cuales encuentran
buenas soluciones del problema, pero no necesariamente óptimas. En cualquier caso,
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 14

estos algoritmos consideran prácticamente todas las alternativas de solución del


problema y seleccionan la(s) mejor(es).

Un método heurístico se diseña para aproximar la solución de problemas


NP-completos, como se dijo anteriormente. Generalmente, consiste en una serie de
pasos lógicos que pueden o nó estar apoyados en técnicas de optimización. La calidad
de los resultados de un procedimiento heurístico no siempre puede medirse y en muchas
ocasiones es desconocida. En otra palabras, existen heurísticos que generan
soluciones del problema pero no se puede determinar que tan lejos están de la solución
óptima del mismo. En otros casos, sí se puede determinar la calidad de la solución y se
puede decir por ejemplo que, en el peor de los casos, la solución encontrada está
dentro de un cierto porcentaje de optimalidad. El grado de precisión de la solución será
o nó aceptable dependiendo de los objetivos planteados en la formulación del modelo.

Finalmente, existen sistemas expertos que pueden utilizarse para resolver cierto
tipo de problemas. En general, estos sistemas resuelven problemas operacionales,
pero no son adecuados para resolver problemas tácticos o estratégicos de mayor
nivel.

En esta publicación nos centraremos en algoritmos de optimización exactos y en


algunas técnicas heurísticas. Nos ocuparemos inicialmente de los modelos de
programación lineal continua.
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 15

3. FORMULACIÓN DE MODELOS DE
PROGRAMACIÓN LINEAL
3.1 ORÍGENES Y ANTECEDENTES HISTÓRICOS

La Programación Lineal (PL) es una de las técnicas de la investigación de


Operaciones. Muchos autores consideran que ha sido uno de los más importantes
avances científicos del presente siglo y, de hecho, su gran aplicación y la magnitud de
todos los problemas que ha resuelto, así lo confirman. Mediante la utilización de la PL
se han logrado ahorros millonarios en las organizaciones que la han aplicado.

Los orígenes de la PL se remontan hacia la década del 40, cuando el


economista Leontief desarrolla el método de análisis insumo-producto. En 1947, Stigler
plantea el conocido “problema de la dieta”, el cual trataba de buscar la combinación de
alimentos más barata, que permitiera a la persona tener los requerimientos mínimos de
proteínas, vitaminas, minerales, carbohidratos, etc. Y es en este mismo año cuando el
Dr. George Dantzig concluye su desarrollo del método simplex de solución de
problemas de PL. Sin este método la PL nunca hubiera tenido el desarrollo y la
aplicación desde 1950 hasta nuestros días. Sin embargo, el método simplex tampoco
hubiera sido tan útil sin la valiosa ayuda de los computadoras digitales, los cuales
permitieron resolver problemas de gran magnitud rápida y eficientemente (en un
estudio realizado por la IBM se concluyó que aproximadamente el 25% del tiempo de
computador se dedica a cálculo de PL y sus afines).

El método simplex se ha venido aplicando aproximadamente desde 1950 y su


utilización actual es extensa, aunque todavía existen problemas de tal magnitud, los
cuales son muy difíciles de resolver incluso con las capacidades computacionales que
existen actualmente, debido precisamente a su tamaño y al tiempo de computador que
se utilizaría en ellos. Uno de estos problemas son los de las compañías aéreas, los de
las refinerías de petróleo y los de optimización de cadenas de suministro, los cuales
normalmente tienen un alto número de variables y restricciones. Varios procedimientos
especiales han sido diseñados para estos problemas, los cuales generalmente
descomponen el problema original en una serie de subproblemas más fáciles de resolver.
Igualmente, actualmente existen los denominados algoritmos de punto interior, los cuales
compiten con el método simplex en algunos problemas y vienen implementados en el
software especializado que resuelve modelos de programación lineal.
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 16

3.2 NATURALEZA DE LA PROGRAMACIÓN LINEAL

La PL es la técnica de la Investigación de Operaciones más aplicada y mejor conocida.


Básicamente, la PL trata de buscar la mejor forma de asignar recursos limitados a
diferentes actividades competidoras.

Las organizaciones disponen de diversos recursos (humanos, económicos,


tecnológicos, etc.), los cuales son necesariamente limitados, debido a su naturaleza.
Las formas en que se pueden distribuir y utilizar estos recursos son múltiples y
diversas. Pero no todas ellas proporcionan beneficios a la organización. Sólo una o
unas pocas brindarán el máximo beneficio a la organización. Son precisamente estas
soluciones óptimas las que pueden encontrar las técnicas basadas en la PL.

Lo expuesto anteriormente brinda una idea muy general de lo que busca la


programación lineal. Esta idea debe enmarcarse en un contexto más definido. Primero,
la palabra programación se refiere a la planeación de recursos y no a algo relacionado
con la programación de computadores. Segundo, el término lineal hace referencia a la
naturaleza de las variables, sus relaciones y las funciones que utiliza la programación
lineal. Ellas deben ser, como su nombre lo indica, lineales. Más adelante se estudiarán
los supuestos básico que hacen que un problema se pueda clasificar como lineal.

En los problemas que resuelve la PL debe existir primeramente un objetivo


buscado por la organización. Este objetivo debe ser cuantificado por medio de una
función objetivo lineal, la cual debe definirlo claramente. Ejemplos típicos de funciones
objetivos son los de maximización de utilidades, minimización de costos, minimización de
tiempos y maximización de probabilidades de éxito. Para definir claramente el objetivo
buscado, deben identificarse con antelación las actividades que la organización puede
desarrollar, representadas en las variables de decisión del problema.

Una vez definidas las actividades y la función objetivo, se pasa a estudiar las
restricciones del sistema, las cuales son el reflejo de los recursos limitados de que se
dispone. El desarrollo de cada actividad consumirá parte de los recursos y la
cuantificación total de la contribución de todas las actividades conformará las
restricciones del sistema. Estas restricciones se expresan como funciones
matemáticas lineales de igualdad o desigualdad.

Una vez obtenidos la función objetivo y el cuerpo de restricciones, se pasa a la


solución del modelo, si ésta existe, y a su análisis correspondiente. En PL es más
importante la obtención del modelo que la solución del mismo, excepto en el caso de que
existan condiciones especiales o en problemas de gran tamaño, donde la solución se
vuelve dificultosa. Esto se explica porque actualmente la solución de grandes problemas
de PL puede hacerse en forma muy eficiente utilizando el método simplex. Los
problemas de PL son tipo P, ya que se conocen algoritmos polinomiales para
resolverlos. Curiosamente, se conocen problemas para los cuales el algoritmo simplex
corre en tiempo exponencial. Sin embargo, en la práctica nunca se ha observado este
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 17

comportamiento del método simplex y por ello sigue siendo tal vez el método más
eficiente de solución de problemas de programación lineal.1

Existen, por ejemplo, un gran número de procedimientos que resuelven


subproblemas de PL miles de veces en forma eficiente. Por ejemplo, como se analizará
más adelante, la solución de problemas de programación entera mediante las técnicas
de ramificación y acotamiento requiere de la solución de un gran número de
subproblemas de programación lineal continua.

La obtención del modelo se basa en la observación cuidadosa del sistema bajo


estudio. Este paso es fundamental para que los resultados eventuales del modelo
tengan validez.

3.3 SUPOSICIONES DE LOS MODELOS DE PROGRAMACIÓN LINEAL

Las condiciones básicas que deben cumplirse para que tanto la función objetivo
como cada una de las restricciones sea de naturaleza lineal son la proporcionalidad y la
aditividad. Ellas se explican a continuación.

3.3.1 Proporcionalidad

La proporcionalidad expresa básicamente que si una unidad de la actividad i


cuesta $a y gasta b unidades del recurso j, entonces xi unidades de la misma actividad
costarán $axi y consumirán bxi unidades del recurso j. Esto debe ser válido para
cualquier actividad i y para cualquier recurso j, de tal forma que el modelo obtenido sea
lineal. La proporcionalidad debe, por lo tanto, existir en todas las restricciones y en la
función objetivo.

Este no es el caso más común en la realidad. Sin embargo, dentro de ciertos


rangos normales de operación de los sistemas, existe comúnmente la proporcionalidad.
Fuera de estos rangos es probable que haya que utilizar otras técnicas, tales como la
programación nó-lineal.

3.3.2 Aditividad

El hecho de que exista la proporcionalidad para todas las actividades no


garantiza que todas las funciones sean lineales, ya que puede existir cierto grado de
dependencia entre las actividades, lo que ocasionaría la aparición de nó-linealidades. Lo
que plantea la aditividad, por lo tanto, es que las contribuciones de cada actividad a la
función objetivo y a las restricciones sean independientes de otras actividades.

A manera de ilustración, supóngase que una empresa produce los artículos A y


B, los cuales producen utilidades unitarias de $30/unidad y $20/unidad,

1
Para mayores detalles sobre esta discusión, consultar Chvátal (1983), Capítulo 4, pág. 45–52.
Carlos Julio Vidal Holguín (Universidad del Valle − Escuela de Ingeniería Industrial y Estadística) 18

respectivamente, e independientemente de las cantidades que se produzcan. Así, la


función objetivo se escribiría como:

Maximizar U = 30XA + 20XB [$] (3.1)

Donde XA y XB son las cantidades a producir de A y B, respectivamente.


Obsérvese, primero, que el supuesto de proporcionalidad está implícito en la función
objetivo (3.1). Además, las contribuciones de cada actividad, XA y XB, son
independientes entre sí.

Supóngase ahora que el hecho de producir una mayor cantidad del artículo B,
hace que los costos de producción del artículo A se incrementen. Así, por ejemplo, la
utilidad unitaria del artículo A se vería disminuida mediante cierto factor y podría
expresarse como $(30 – 0.0001XB)/unidad. La función objetivo sería por lo tanto:

Maximizar U = (30 – 0.0001XB)XA + 20XB [$] (3.2)

Claramente, al aparecer el producto cruzado XAXB, la función objetivo deja de


ser lineal, convirtiéndose en una función cuadrática de manejo dificultoso.

Cabe la pregunta de por qué la PL se utiliza tan ampliamente si estos supuestos


casi nunca se cumplen en la práctica?

Una respuesta simple es que afortunadamente las nó-linealidades de la práctica


en la mayoría de los casos pueden adaptarse, transformarse o asumirse como lineales
dentro de cierto rango de validez. A medida que se vayan desarrollando los modelos
típicos se verá que realmente la suposición de linealidad es razonable en la mayoría de
los casos analizados.

3.3.3 Certeza y divisibilidad

Algunos autores hablan de otros dos supuestos, la certeza y la divisibilidad (Ver


Hillier y Lieberman (1997)). La divisibilidad se aplica fundamentalmente a problemas de
números enteros. Existen muchos casos prácticos en los cuales las variables de
decisión o actividades sólo tienen significado físico si sus valores son enteros. Por
ejemplo, si una compañía de aviación está analizando cuántos aviones comprar de cierto
tipo, es obvio que una respuesta de 2.33 aviones no es satisfactoria y deberá darse
una respuesta entera en su lugar, la cual no necesariamente corresponde a alguno de
los enteros vecinos. Para problemas enteros se han desarrollado técnicas de solución
especiales, las cuales se siguen investigando actualmente. Una introducción a este
tópico se presentará posteriormente.

La certeza, más que un supuesto, es una característica propia de los modelos


de PL. Se dice entonces que todos los valores de los parámetros que alimentan el
modelo tienen valores determinísticos, o sea que no se consideran como variables
aleatorias. Una demanda de un producto, por ejemplo, se obtiene como un valor
Introducción a la modelación matemática y optimización. Capítulo 1: La Investigación de Operaciones 19

promedio estimado, pero su distribución probabilística propia no se considera en el


modelo. En la mayoría de los casos prácticos, ningún parámetro o variable puede
considerarse determinístico. En la mayoría de los casos, los parámetros y variables
tienen un rango de validez entre los cuales pueden oscilar sus valores y, por lo tanto,
se constituyen en variables aleatorias cuya distribución probabilística puede o nó ser
conocida. Actualmente están en investigación y desarrollo técnicas de programación
lineal estocástica y programación lineal con conjuntos difusos, donde se consideran
algunos parámetros de los modelos como variables aleatorias2.

Dado que el desarrollo de la programación lineal estocástica es muy incipiente, el


problema de la incertidumbre de los parámetros de los modelos de PL aún se resuelve
de una forma relativamente sencilla, haciendo uso de los análisis de sensibilidad.
Normalmente se obtiene la solución óptima utilizando los mejores estimados de los
parámetros y, posteriormente, se analizan los posibles efectos de su variación sobre la
solución óptima original. Si estos efectos no son significativos, no se justifica invertir
mayor esfuerzo, tiempo y dinero en su estimación más precisa. Si por el contrario, se
observa que el efecto de cambios pequeños en los valores de ciertos parámetros es
significativo, debe prestársele especial atención a su estimación más precisa y a su
posibilidad de cambio real en el sistema bajo estudio. Igualmente, existen otras
tendencias actuales tales como la combinación de modelos matemáticos con modelos de
simulación3, los cuales representan de una manera más fiel los sistemas y sus
variabilidades, y otros como el análisis de diversos escenarios aleatorios con la ayuda
de modelos de optimización4.

2
Ver, por ejemplo, Taha (1998), pág. 807.
3
Ver, por ejemplo, Hicks (1999).
4
Ver, por ejemplo, Escudero et al. (1999).

Vous aimerez peut-être aussi