Manual Programacion Lineal01

103
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA UNIDAD DE CIENCIAS BÀSICAS MÓDULO PROGRAMACIÓN LINEAL (versión Preliminar) ESP. GLORIA LUCIA GUZMÁN ARAGÓN UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA INGENIERÍA DE SISTEMAS NEIVA (HUILA), 2.005

Transcript of Manual Programacion Lineal01

Page 1: Manual Programacion Lineal01

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA UNIDAD DE CIENCIAS BÀSICAS

MÓDULO

PROGRAMACIÓN LINEAL (versión Preliminar)

ESP. GLORIA LUCIA GUZMÁN ARAGÓN

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

PROGRAMA INGENIERÍA DE SISTEMAS

NEIVA (HUILA), 2.005

Page 2: Manual Programacion Lineal01

TABLA DE CONTENIDOS INTRODUCCIÓN JUSTIFICACIÓN UNIDAD 1 INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL CAPITULO 1 LA INVESTIGACION DE OPERACIONES 1.1 INTRODUCCION 1.2 ANTECEDENTES Y ORIGEN DE LA I.O. 1.3 ¿QUE ES LA INVESTIGACION DE OPERACIONES? 1.4 METODOLOGÍA DE LA I.O. 1.5 COMPONENTES DE LA INVESTIGACION DE OPERACIONES 1.5.1 DEFINICION Y FORMULACION DEL PROBLEMA 1.5.2 FORMULACION DE UN MODELO MATEMATICO 1.5.3 OBTENCION DE UNA SOLUCION APARTIR DEL MODELO 1.5.4 PRUEBA DEL MODELO 1.5.5 VALIDACION DEL MODELO 1.5.6 ESTABLECIMIENTO DE CONTROLES DE LA SOLUCION 1.5.7 IMPLEMENTACION DE LA SOLUCION CAPITULO 2 CONJUNTOS CONCAVOS Y CONVEXOS

2.1 INTRODUCCIÓN 2.2 CONCEPTO DE CONJUNTO CONVEXO 2.3 PROPIEDADES DE LOS CONJUNTOS CONVEXOS 2.4 EJERCICIOS DE APLICACIÓN 2.5 FUNCION CONVEXA

CAPITULO 3.

CONCEPTUALIZACION DE LA PROGRAMACION LINEAL

Page 3: Manual Programacion Lineal01

3.1 INTRODUCCION 3.2 CONCEPTO 3.3 FORMULACION DEL PROBLEMA DE PROGRAMACION LINEAL 3.3.1 INTRODUCCION 3.3.2 ESTRUCTURA DE UN MODELO DE P.L. 3.4 MODELO GENERAL DE PROGRAMACION LINEAL 3.5 FORMA ESTÁNDAR DE LOS MODELOS DE P.L. 3.6 OTRAS FORMAS DE MODELOS DE P.L. 3.7 FORMULACION ALGEBRAICA: FORMA CANONICA 3.8 RESUMEN UNIDAD 2 METODOS DE SOLUCION CAPITULO 1 METODO GRAFICO 1.1 INTRODUCCION METODO GRAFICO 1.2 DEFINICION 1.3 CONCEPTO GENERAL DEL METODO GRAFICO 1.4 PASOS PARA LA SOLUCION MEDIANTE EL METODO GRAFICO CAPITULO 2 METODO ALGEBRAICO 2.1 INTRODUCCION 2.2 PASOS PARA UTILIZAR EN METODO ALGEBRAICO 2.3 EJEMPLOS DESARROLLADOS 2.4 TALLER CAPITULO 3 METODO SIMPLEX 3.1 INTRODUCION 3.2 CONCEPTO 3.3 PASOS PARA EL DESARROLLO DEL METODO SIMPLEX 3.4 EJEMPLOS DESARROLLADOS 3.5 TALLER

Page 4: Manual Programacion Lineal01

CAPITULO 4 ANALISIS DE VARIABILIDAD: 4.1 INTRODUCCION 4.2 DUALIDAD 4.3 PASOS PARA CONVERTIR UN PROBLEMA PRIMAL A UNO DUAL 4.4 EJEMPLOS RESUELTOS 4.5 COMPARACION ENTRE EL METODO SIMPLEX Y DUAL - SIMPLEX 4.6 TALLER CAPITULO 5 TOPICOS AVANZADOS 5.1 INTRODUCCION 5.2 DEGENERACION EN PROGRAMACION LINEAL 5.3 METODO SIMPLEX GENERALIZADO 5.4 PROBLEMAS DE PROGRAMACION LINEAL CON VARIABLES ACOTADAS 5.5 ALGORITMO DE DESCOMPOSICION FUENTES DOCUMENTALES

Page 5: Manual Programacion Lineal01

INTRODUCCIÓN

El curso de Programación Lineal – Componente de Formación Disciplinar tiene carácter básico en los programas de Ingeniería que oferta la UNAD, además es de tipo teórico. Tiene como objetivo Formular, obtener y analizar soluciones a problemas de programación lineal en especial los referidos a optimización de recursos. El curso tiene 2 créditos académicos los cuales comprenden el estudio independiente y el acompañamiento tutorial, con el propósito de:

• Comprender los elementos teóricos que sustentan la programación lineal. • Identificar y utilizar los métodos de programación lineal para la solución de

problemas. • Identificar y manejar los algoritmos utilizados en la optimización de funciones

no lineales sujetas a restricción de tipo general. • Identificar diferencias entre la formulación de modelos y técnicas de solución.

Este curso está compuesto por dos Unidades didácticas a saber: Unidad 1. Introducción a la Programación Lineal donde se pretende que el estudiante valore la importancia que tiene la investigación de operaciones en proporcionar herramientas para la construcción de modelos matemáticos en particular los de programación lineal, además de la conceptualización y las diferentes formas de presentación de un problema de programación lineal. Unidad 2. Métodos de Solución se plantean los diferentes métodos empleados para solucionar problemas a nivel gráfico, algebraico, simplex, dual, análisis de optimalidad y sensibilidad, con los que se pretende que el estudiante posea herramientas para que busque la solución óptima a problemas simples y complejos que se le puedan presentar tanto en la cotidianidad como en el ejercicio de su vida profesional y/o laboral.

Page 6: Manual Programacion Lineal01

JUSTIFICACIÓN

No es del todo fácil definir qué es la investigación de operaciones. Existen diversas definiciones en textos, pero se podría decir que la investigación de operaciones es un enfoque científico interdisciplinario para la solución de problemas, que envuelve la interacción compleja, dinámica y sujetiva de hombres, métodos y sistemas, a los cuales, en algunos casos no se les puede proporcionar una solución exacta por medio de los procedimientos matemáticos o por medio de técnicas de ensayo y error. Utilizando modelos matemáticos como un recurso primario, la metodología de la investigación de operaciones está diseñada para cuantificar y acotar estos problemas dentro de un marco de restricciones específicas, medidas, objetivos y variables, de tal forma que se busquen controles óptimos de operación, decisiones, niveles y soluciones. La programación matemática es quizás el área más desarrollada de la investigación de operaciones. Cubre tópicos tales como: Programación lineal, programación de redes y programación entera, además de otras variantes de métodos de programación tales como programación de metas, en este curso nos ocuparemos de la programación lineal y sus diversos métodos y técnicas de solución para una adecuada toma de decisión. Un modelo de programación lineal proporciona un método eficiente para determinar una decisión óptima, (o una estrategia óptima o un plan óptimo) escogida de un gran número de decisiones posibles. La decisión óptima es la que satisface un objetivo de administración, sujeto a varias restricciones.

Page 7: Manual Programacion Lineal01

PRIMERA UNIDAD

INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL

CAPITULO 1

LA INVESTIGACION DE OPERACIONES

1.1 INTRODUCCION 1.2 ANTECEDENTES Y ORIGEN DE LA I.O. 1.3 ¿QUE ES LA INVESTIGACION DE OPERACIONES? 1.4 METODOLOGÍA DE LA I.O.

1.1 INTRODUCCION

Los cambios revolucionarios originaron gran aumento en la división de trabajo y la separación de las responsabilidades administrativas en las organizaciones. Sin embargo esta revolución creo nuevos problemas que ocurren hasta la fecha en muchas empresas. Uno de estos problemas es la tendencia de muchos de los componentes a convertirse en imperios relativamente autónomos, con sus propias metas y sistemas de valores. Este tipo de problemas, y la necesidad de encontrar la mejor forma de resolverlos, proporcionaron el surgimiento de la Investigación de Operaciones.

La Investigación de Operaciones aspira determinar la mejor solución (optima) para un problema de decisión con la restricción de recursos limitados.

En la Investigación de Operaciones utilizaremos herramientas que nos permiten tomar una decisión a la hora de resolver un problema, tal es el caso de los modelos de Investigación de Operaciones que se emplean según sea la necesidad.

Actualmente la investigación de operaciones a incursionado en la administración con muy buenos resultados en este campo pues el ambiente de negocios al que se está sometido y los múltiples cambios que ellos generan, los ciclos de vida de los productos se hacen más cortos, la abrumadora y acelerada era de la nueva

Page 8: Manual Programacion Lineal01

tecnología y la internacionalización creciente, son razones suficientes para desarrollar modelos que optimicen los resultados en estos campos del saber

1.2 ANTECEDENTES Y ORIGEN DE LA INVESTIGACION DE OPERACIONES

La investigación de operaciones se origino en la segunda guerra mundial como una necesidad de dar solución a los problemas de carácter militar, los primeros interesados en estos aspectos fueron los británicos y los americanos quienes asignaron esta tarea a un grupos de físicos, matemáticos, biólogos, estadísticos, psicólogos entre otros para emplear el método científico en la solución de problemas estratégicos y tácticos. Después de la guerra atrajo la atención de la industria que buscaba soluciones a problemas de complejidad y especialización ascendente en las organizaciones. Los primeros esfuerzos se dedicaron a desarrollar modelos apropiados y procedimientos correspondientes para solucionar problemas que surgían en áreas tales como: la programación de refinerías de petróleo, la distribución de productos, la planeación de productos, el estudio de mercados y la planeación de inversiones.

Un factor importante de la implantación de la Investigación de Operaciones en este periodo es el mejoramiento de las técnicas disponibles en esta área. Muchos de los científicos que participaron en la guerra, se encontraron a buscar resultados sustanciales en este campo; un ejemplo sobresaliente es el método Simplex para resolución de problemas de Programación Lineal, desarrollado en 1947 por George Dantzing. Muchas de las herramientas utilizadas en la Investigación de Operaciones como la Programación Lineal, la Programación Dinámica, Líneas de Espera y Teoría de Inventarios fueron desarrolladas al final de los años 50.

Un segundo factor importante para el desarrollo de este campo fue el advenimiento de la revolución de las computadoras. Para manejar los complejos problemas relacionados con esta disciplina, generalmente se requiere un gran número de cálculos que llevarlos a cabo a mano es casi imposible. Por lo tanto el desarrollo de la computadora digital, fue una gran ayuda para la Investigación de Operaciones.

En la década de los 80 con la invención de computadoras personales cada vez más rápidas y acompañadas de buenos paquetes de Software para resolver problemas de Investigación de Operaciones esto puso la técnica al alcance de muchas personas. Hoy en día se usa toda una gama de computadoras, desde las computadoras de grandes escalas como las computadoras personales para la Investigación de Operaciones.

Page 9: Manual Programacion Lineal01

1.3 QUE ES LA INVESTIGACION DE OPERACIONES

La investigación de operaciones es la aplicación, por grupos interdisciplinarios, del método científico a problemas relacionados con el control de las organizaciones o sistemas, a fin de que se produzcan soluciones que mejor sirvan a los objetivos de la organización.

Algunos aspectos relacionados con la definición:

• Una organización es un sistema formado por componentes que se interaccionan, unas de estas interacciones pueden ser controladas y otras no.

• La complejidad de los problemas que se presentan en las organizaciones ya no encajan en una sola disciplina del conocimiento, se han convertido en multidisciplinario por lo cual para su análisis y solución se requieren grupos compuestos por especialistas de diferentes áreas del conocimiento que logran comunicarse con un lenguaje común.

• La investigación de operaciones es la aplicación de la metodología científica a través de modelos matemáticos, primero para representar al problema y luego para resolverlo.

La investigación de operaciones se aplica a problemas que se refieren a la conducción y coordinación de operaciones (o actividades) dentro de una organización.

La investigación de operaciones intenta encontrar una mejor solución, (llamada solución óptima) para el problema bajo consideración.

Un enfoque de la investigación de operaciones abarca:

• Construir un modelo simbólico que por lo general es un modelo matemático, pretende extraer los elementos fundamentales de un problema de decisión que es complejo e incierto de tal manera que pueda optimizar una solución viable para la consecución de los objetivos de acuerdo al analista.

• Examinar y analizar las relaciones que determinan las consecuencias de la decisión realizada y comparar el método relativo de acciones alternas con los objetivos de quien va a tomar la decisión.

• Desarrollar una técnica de decisión que comprenda teorías matemáticas y que conduzca a la optimización de los resultados.

La investigación de operaciones se aplica tanto a problemas tácticos como estratégicos de una organización. Los primeros tienen que ver con actividades

Page 10: Manual Programacion Lineal01

diarias y los segundos tienen una orientación y una planeación organizada generalmente se apoyan en operaciones de carácter indirecto.

1.4 METODOLOGIA DE LA INVESTIGACION DE OPERACIONES

El uso de métodos cuantitativos para solucionar problemas, generalmente implica a mucha gente de toda la organización. Los individuos de un equipo de proyectos proporcionan información de sus áreas respectivas respecto a diversos aspectos del problema. El proceso de aplicar métodos cuantitativos requiere de una sucesión sistemática de pasos:

NO

Definición del problema

Resolución del modelo matemático.

Solución

¿Es valida la solución?

Modelo modificado

Implementación

Page 11: Manual Programacion Lineal01

1.5 COMPONENTES DE LA INVESTIGACION DE OPERACIONES 1.5.1 DEFINICION Y FORMULACION DEL PROBLEMA: Esto incluye determinar los objetivos apropiados, las restricciones sobre lo que se puede hacer, las interrelaciones del área bajo estudio con otras áreas de la organización, los diferentes cursos de acción posibles, los límites de tiempo para tomar una decisión, etc. Este proceso de definir el problema es crucial ya que afectará en forma significativa la relevancia de las conclusiones del estudio. 1.5.2 FORMULACION DE UN MODELO MATEMATICO: La forma convencional en que la investigación de operaciones realiza esto es construyendo un modelo matemático que represente la esencia del problema. Un modelo siempre debe ser menos complejo que el problema real, es una aproximación abstracta de la realidad con consideraciones y simplificaciones que hacen más manejable el problema y permiten evaluar eficientemente las alternativas de solución. 15.3 OBTENCION DE UNA SOLUCION APARTIR DEL MODELO

Depende de las características del modelo. Los procedimientos de solución pueden

ser clasificados en tres tipos: a) analíticos, que utilizan procesos de deducción matemática; b) numéricos, que son de carácter inductivo y funcionan en base a operaciones de prueba y error; c) simulación, que utiliza métodos que imitan o, emulan al sistema real, en base a un modelo.

Resolver un modelo consiste en encontrar los valores de las variables dependientes, asociadas a las componentes controlables del sistema con el propósito de optimizar, si es posible, o cuando menos mejorar la eficiencia o la efectividad del sistema dentro del marco de referencia que fijan los objetivos y las restricciones del problema.

La selección del método de solución.

1.5.4 PRUEBA DEL MODELO: Antes de usar el modelo debe probarse exhaustivamente para intentar identificar y corregir todas las fallas que se puedan presentar. 1.5.5 VALIDACION DEL MODELO:

Es importante que todas las expresiones matemáticas sean consistentes en las dimensiones de las unidades que emplean. Además, puede obtenerse un mejor

Page 12: Manual Programacion Lineal01

conocimiento de la validez del modelo variando los valores de los parámetros de entrada y/o de las variables de decisión, y comprobando que los resultados de modelo se comporten de una manera factible. 1.5.6 ESTABLECIMIENTO DE CONTROLES DE LA SOLUCION: Esta fase consiste en determinar los rangos de variación de los parámetros dentro de los cuales no cambia la solución del problema. Es necesario generar información adicional sobre el comportamiento de la solución debido a cambios en los parámetros del modelo. Usualmente esto se conoce como ANÁLISIS DE SENSIBILIDAD. Esta fase consiste en determinar los rangos de variación de los parámetros dentro de los cuales no cambia la solución del problema. Es necesario generar información adicional sobre el comportamiento de la solución debido a cambios en los parámetros del modelo. Usualmente esto se conoce como ANÁLISIS DE SENSIBILIDAD. 1.5.7 IMPLEMENTACION DE LA SOLUCION: El paso final se inicia con el proceso de "vender" los hallazgos que se hicieron a lo largo del proceso a los ejecutivos o tomadores de decisiones.

Page 13: Manual Programacion Lineal01

TALLER

Observa con atención la siguiente presentación en ppt y realízale ejercicio que allí se plantea, hazlo llegar a tutor de la manera que el te lo indique (e-mail, CD-room, medio físico, presencial etc).

INVESTIGACIÓN OPERATIVA

INTRODUCCIÓN INVESTIGACIÓN DE OPERACIONES

1. Concepto y delimitación de la I.O.•Antecedentes:

Surge durante la segunda Guerra Mundial,

luego y con motivo de la revolución industrial, ha ido teniendo cada vez más importancia dado el crecimiento y complejidad de las nuevas organizaciones. Actualmente está cobrando especial importancia con el desarrollo de la informática.•Definición

Aplicación del método científico por un grupo multidisciplinario personas a la resolución de un problema.

•Objetivo

Decidir mediante métodos científicos el diseño que optimiza el funcionamiento del proceso analizado, generalmente bajo condiciones que implican la utilización de recursos escasos.

Métodos en Investigación Operativa

•Métodos determinísticos: Programación lineal, programación entera, probabilidad de transporte, teoría de la localización o redes, programación multicriterio, teoría de inventarios, etc.

•Métodos probabilísticos: Cadenas de markov, teoría de juegos, líneas de espera, teoría de inventarios, etc.

•Métodos híbridos: Conjugan métodos determinísticos y probabilísticos.

•Métodos heurísticos: soluciones basadas en la experiencia.

Etapas de un ejercicio de I.O.

Básicamente la I.O. sigue los siguientes pasos:

•La observación del problema

•La construcción de un modelo matemático que contenga los elementos esenciales del problema

•La obtención en general, con al ayuda de algorítmosimplementados informáticamente, de las mejores soluciones posibles.

•La calibración e interpretación de la solución y su comparación con otros métodos de toma de decisiones.

Page 14: Manual Programacion Lineal01

Fases de un

estudio

FORMULACIÓN DELPROBLEMA

CONSTRUCCIÓN DEL MODELO

NECESIDAD DE REORGANIZACIÓN

MODELO DEL SISTEMA REAL

SISTEMA DE INTERÉS OBTENCIÓN DE DATOS

TOMA DE DECISIONES IMPLEMENTACIÓN Y

CONTROLSOLUCIÓN DEL MODELO

INTERPRETACIÓN DE RESULTADOS E IMPLICACIONES

VALIDACIÓN DEL MODELO ANÁLISIS DE SENSIBILIDAD

Ejemplo 1:

Una empresa dispone de 70 trabajadores con cualificacionesdiferentes (Economistas, Ingenieros, Auxiliares Administrativos, etc..) a los que hemos de asignar 70 actividades también diferentes. Para decidir una determinada asignación de tareas deberíamos escoger de entre un total de 70! (Permutaciones de 70 elementos) aquella que maximiza el resultado final de la empresa. Como 70! es aproximadamente igual a 10100, aún revisando un 1 millón de asignaciones diferentes al segundo necesitaríamos aproximadamente 1087

años para revisar todas las asignaciones posibles.

Este tipo de problemas requiere desarrollar modelos de programación matemática, otros métodos matemáticos, para llegar a algún tipo de conclusiones.

Ejercicios de I.O.

Ejemplo 2: Aplicación al ámbito sanitario

Planificación y asignación de recursos en un sistema de salud mental

Fases de construcción del modelo

1. Definir las categorías de enfermos ( en función de sus necesidades y respuestas a un determinado tratamiento)

2. Definir un conjunto de servicios (obtener una clasificación de acuerdo a las necesidades de los enfermos y con la disponibilidad de recursos, basada en la experiencia y conocimientos médicos)

3. Planificar y asignar los recursos (asignar los servicios entre las distintas categorías de enfermos a lo largo del tiempo)

Ejercicios de I.O.

Ejemplo 2: Aplicación al ámbito sanitario

Planificación y asignación de recursos en un sistema de salud mental

Fases de construcción del modelo

1. Definir las categorías de enfermos ( en función de sus necesidades y respuestas a un determinado tratamiento)

Utilización de técnicas estadísticas, para la recogida de datos y la determinación del historial del enfermo. A lo largo del tiempo los enfermos pueden cambiar de categoría (cadenas de Markov)

Ejercicios de I.O.

Page 15: Manual Programacion Lineal01

Ejemplo 2: Aplicación al ámbito sanitario

Planificación y asignación de recursos en un sistema de salud mental

Fases de construcción del modelo

1. Definir las categorías de enfermos ( en función de sus necesidades y respuestas a un determinado tratamiento)

2. Definir un conjunto de servicios (obtener una clasificación de acuerdo a las necesidades de los enfermos y con la disponibilidad de recursos, basada en la experiencia y conocimientos médicos)

Entrevista a expertos (delphi) acumular información en base a la experiencia y conocimientos médicos

Ejercicios de I.O.

Ejemplo 2: Aplicación al ámbito sanitario

Planificación y asignación de recursos en un sistema de salud mental

Fases de construcción del modelo

1. Definir las categorías de enfermos ( en función de sus necesidades y respuestas a un determinado tratamiento)

2. Definir un conjunto de servicios (obtener una clasificación de acuerdo a las necesidades de los enfermos y con la disponibilidad de recursos, basada en la experiencia y conocimientos médicos)

3. Planificar y asignar los recursos (asignar los servicios entre las distintas categorías de enfermos a lo largo del tiempo)

Utilización de técnicas de programación lineal para la asignación de recursos. Modelo multi-periodo a partir de la definición de una función objetivo.

Ejercicios de I.O.

Tu ejemplo......................................

Problema/objetivo a resolver/realizar

..............................................................................................................

Fases:

1............

2..................

3.........................

Ejercicios de I.O.

Page 16: Manual Programacion Lineal01

CAPITULO DOS

CONJUNTOS CONVAVOS Y CONVEXOS

2.1 INTRODUCCIÓN 2.2 CONCEPTO DE CONJUNTO CONVEXO 2.3 PROPIEDADES DE LOS CONJUNTOS CONVEXOS 2.4 EJERCICIOS DE APLICACIÓN 2.5 FUNCION CONVEXA

.2.1 INTRODUCCIÓN

En el presente capítulo podrá valorar la importancia que tiene el análisis de la convexidad de conjuntos así como los diferentes tipos de convexidad o concavidad de funciones toda vez que ellos constituyen los instrumentos fundamentales para el desarrollo de la Teoría de la Optimización Matemática.

En primera instancia abordaremos el concepto de conjuntos convexos, su definición y propiedades fundamentales para luego analizar el comportamiento de las combinaciones lineales convexas.

2.2 CONCEPTO DE CONJUNTO CONVEXO.

Para analizar el concepto de conjunto convexo vamos a plantear el siguiente ejemplo

.EJEMPLO.

Consideremos los siguientes CONJUNTOS:

CONJUNTO P

P

Page 17: Manual Programacion Lineal01

CONJUNTO Q Q CONJUNTO R R CONJUNTO T. T

Definimos la idea de conjunto convexo como aquel conjunto que contiene cualquier segmento que une dos puntos del conjunto.

Así por ejemplo según esta idea GRAFICA, el conjunto P

• x

P

• y

Page 18: Manual Programacion Lineal01

Obsérvese que para cualquier par de puntos (x, y) que estén dentro del conjunto P, el segmento que une dichos puntos siempre queda dentro del conjunto, en consecuencia P sería un conjunto convexo.

Consideremos el conjunto Q:

Q x y Obsérvese que para cualquier par de puntos (x,y) que estén dentro del conjunto Q, el segmento que une dichos puntos no queda dentro del conjunto, en consecuencia Q no sería un conjunto convexo.

Consideremos el conjunto R:

• x R • y En este caso para cualquier par de puntos (x,y) de esta recta R, el segmento que los une queda dentro del conjunto, en consecuencia R es un conjunto convexo.

Por último sea el conjunto T:

x T

y

Page 19: Manual Programacion Lineal01

Es claro gráficamente que para cualquier par de puntos x, y, el segmento que los une está totalmente contenido en dicho conjunto.

Consideremos un último ejemplo en el plano, sea el conjunto T

• •

T

(conjunto poligonal delimitado por los puntos (0,0),(5,3),(0,8),(7,4),(6,3),(7,1 )

Se puede ver que existen segmentos, como el indicado en la figura que se sale del conjunto por lo que este conjunto no sería CONVEXO.

• •

T

EJERCICIOS

Determinar si los siguientes conjuntos son o no convexos, dibujándoles previamente:

a. Conjunto poligonal determinado por los puntos (0,1),(1,0),(1,3),(0,1)

Page 20: Manual Programacion Lineal01

b. Conjunto poligonal determinado por los puntos (1,1),(2,1),(2,3),(-1,2), (-1,0),(1,1)

SOLUCION:

a. es convexo

b. no es convexo

Podemos definir conjuntos en el plano de una manera más compleja:

Así por ejemplo si consideramos el conjunto

¿Qué hacemos para dibujar este conjunto?

Page 21: Manual Programacion Lineal01

Primero dibujamos la curva que delimita el conjunto.

Para delimitar la región del plano basta considerar un punto que no esté en la curva, por ejemplo (1,2) si ese punto satisface la ecuación entonces ese es el recinto a considerar, en nuestro caso como 2 sí es mayor o igual que 1. Entonces el recinto es

Obsérvese que es claramente convexo pues cualquier par de puntos que estén en S3 el segmento que los une está claramente contenido en S3.

¿Qué sucedería si no podemos representar gráficamente el conjunto, como sucede con conjuntos de dimensión superior a 3?

En esos casos es necesario dar una definición analítica de conjunto convexo, para lo cual efectuamos la siguiente definición:

CONJUNTO CONVEXO:

Diremos que un subconjunto S є Rn es convexo si para cualquier par de

puntos y para cualquier λ є [0,1] se cumple que está en

S, es decir que si llamamos segmento de extremos por

Page 22: Manual Programacion Lineal01

S es convexo si para cualesquiera ,

¿Cuál es el significado de z= λ x+(1- λ )y?

Vamos a verlo en un ejemplo:

EJEMPLO:

Estudiar analíticamente si el conjunto anterior

es un conjunto convexo.

Para ello consideremos dos vectores de S3

(x1,y1), (x2,y2), Habría que comprobar si b(x1,y1)+(1-b)(x2,y2) es un vector que pertenece a S3 para cualquier valor de b en [0,1]

Es decir tendremos que comprobar si

.bx1+(1-b)x2 , by1+(1-b)y2 Como x1,y1 entonces bx1,by1 (pues b es positivo o cero)

Y como x2,y2 entonces (1-b)x2,(1-b)y2

Sumando ambas expresiones se obtiene la desigualdad por tanto S3 es un conjunto convexo.

Y comprobando si el vector

Que una vez simplificado nos da

Y al expandirle

Page 23: Manual Programacion Lineal01

Si es un vector del conjunto S3.

EJERCICIO

Estudiar de forma gráfica si los siguientes conjuntos son o no conjuntos convexos.

a. b.

SOLUCIONES:

a. Lo hacemos gráficamente, representando el conjunto. Para ello dibujamos los dos límites del conjunto x2+y2=1 y x2+y2=4 (circunferencias de radio 1 y radio 2)

Definimos las expresiones

Y luego las representamos como aparece.

¿Cuál es el recinto?

Ahora debemos determinar en que lado de las circunferencias se sitúa el conjunto.

Page 24: Manual Programacion Lineal01

Tomemos un punto fuera de ambas circunferencias, por ejemplo (0,0),. Y comprobemos si se verifica la primera desigualdad para ese punto

Efectivamente no se verifica, por tanto el conjunto se sitúa hacia fuera de la circunferencia.

Por otro lado

Es cierta por tanto el conjunto es la corona circular situada entre la circunferencia de radio 1 y la circunferencia radio 2.

¿Este conjunto es convexo?

Claramente se ve que no, tomemos dos puntos cualesquiera por ejemplo (-1,1/2) y (2,0), ambos pertenecen al conjunto, sin embargo el segmento que los une como se ve no pertenecen al conjunto.

b. Consideremos las expresiones que definen los límites del conjunto:

Representemos ambas rectas:

Page 25: Manual Programacion Lineal01

Para saber cuál es exactamente el recinto, tomemos un punto que no esté en dichas rectas, por ejemplo (0,0).

Comprobemos a qué lado de la recta x+y=1 se encuentra nuestro conjunto x+y=1, comprobamos para (0,0), y observamos que 0+0= 1 verifica la ecuación, por tanto el recinto x+y=1 está al lado del (0,0).

Y por otro lado para determinar el conjunto x-y=1 comprobamos que 0-0= 1 por tanto

Page 26: Manual Programacion Lineal01

también es de la recta hacia el (0,0), con lo cual tendremos que el recinto será:

2.3 PROPIEDADES DE LOS CONJUNTOS CONVEXOS.

Vamos a estudiar qué sucede con la UNIÓN y la INTERSECCIÓN de conjuntos convexos. Comencemos con la INTERSECCIÓN de conjuntos convexos.

INTERSECCIÓN DE CONJUNTOS CONVEXOS.

EJEMPLO.

Sean los siguientes conjuntos convexos:

Si los representamos tendremos:

Page 27: Manual Programacion Lineal01

¿Cuál es la intersección de estos dos conjuntos?

Se puede ver que la intersección es el conjunto

Se puede ver gráficamente que es un conjunto convexo.

Y este ejemplo se puede generalizar con la siguiente propiedad:

LA INTERSECCIÓN DE CONJUNTOS CONVEXOS ES UN CONJUNTO CONVEXO.

Page 28: Manual Programacion Lineal01

UNIÓN DE CONJUNTOS CONVEXOS.

A partir de los conjuntos convexos anteriores S y T, veamos cuál es el conjunto unión.

Este conjunto no es convexo pues si considero dos puntos del conjunto por ejemplo

(1.04, -1.57) y (2.43,-0.3)

Si representamos el segmento que une dichos puntos editando

Obtenemos

Page 29: Manual Programacion Lineal01

Segmento que no está totalmente contenido en el conjunto. Luego:

LA UNION DE CONJUNTOS CONVEXOS EN GENERAL NO ES UN CONVEXO

2.4 EJERCICIOS DE APLICACION

CONJUNTOS CONCAVOS Y CONVEXOS

Representar los siguientes conjuntos de R2 e indicar cuáles son convexos:

a. b. c. d. R2

e. f. g. h. i.

Probar que todo subespacio vectorial de R3 es un conjunto convexo.

Page 30: Manual Programacion Lineal01

2.5 FUNCIONES CONCAVAS Y CONVEXAS

Las funciones cóncavas y convexas representan un papel fundamental en la Teoría de la Optimización ya que pueden garantizarnos la GLOBALIDAD de los óptimos locales. Por ello vamos a iniciar este apartado introduciendo el concepto de función cóncava y convexa para luego más tarde introducir condiciones que nos permitan reconocer si una función es cóncava o convexa dependiendo de sus propiedades de diferenciabilidad.

EJEMPLO.

Consideremos la siguiente función:

Si dibujamos esta función y obtenemos

Observemos la gráfica de esta función en el intervalo [0,3 ]

Podemos ver que en esta gráfica si dibujamos cualquier segmento que una dos puntos de la misma, éste siempre queda por debajo de la gráfica. Por ejemplo, consideremos los puntos

Si dibujamos el segmento que une dichos puntos en la gráfica obtenemos

Page 31: Manual Programacion Lineal01

Qué claramente queda por debajo de la gráfica.

Consideremos otros pares de puntos de la gráfica por ejemplo:

Al dibujar el segmento que une dichos puntos tenemos:

Consideremos otro par de puntos por ejemplo

Si los dibujamos considerando

Obtenemos

Page 32: Manual Programacion Lineal01

Se puede observar que para cualquier par de puntos de la gráfica que toman valores en el segmento considerado el segmento que une dichos puntos siempre queda por debajo de la gráfica por ello podemos efectuar la siguiente definición:

FUNCIONES ESTRICTAMENTE CONCAVAS Y CONCAVAS

DEFINICIÓN: Diremos que una función f es estrictamente cóncava en un conjunto M convexo si todo segmento que une dos puntos de la gráfica esta estrictamente por debajo de la gráfica.

Diremos que una función es CONCAVA (no estricta) si no todas las cuerdas que unen puntos de la gráfica en dicho intervalo quedan estrictamente por debajo.

Vamos ahora a introducir el concepto de función CONVEXA.

Consideremos el siguiente ejemplo:

EJEMPLO.

Consideremos la misma función anterior

pero ahora considerada en el intervalo [3 ,2� ], en este caso la gráfica sobre la que debemos enfocarnos es:

Consideremos ahora nuevamente varios puntos de esta gráfica en dicho intervalo por ejemplo

Page 33: Manual Programacion Lineal01

si dibujamos el segmento que los une por medio de la matriz

se obtiene

si ahora dibujamos el segmento que une los puntos

Obtendremos

Obsérvese que los segmentos quedan siempre por encima de la gráfica de la función.

En estos casos, diremos que la función es convexa en el intervalo dado.

Por ello podemos realizar la siguiente definición:

FUNCIÓN CONVEXA.

DEFINICION: Sea f una función definida en un intervalo de R, diremos que dicha función es convexa en el intervalo si todo segmento que une dos puntos de la gráfica queda por encima de la gráfica. Si siempre queda estrictamente por encima decimos que la función es estrictamente convexa.

Page 34: Manual Programacion Lineal01

EJERCICIO

Estudiar el carácter de las siguientes funciones en los recintos que se indican:

(a) En toda la recta real:

(b) En toda la recta real:

( C) En el intervalo (0,1 )

(d) En el intervalo (-1 ,0)

(e) En el recinto (-3 ,0)

(f) En el recinto (0,3 )

SOLUCIONES:

a. ESTRICTAMENTE CONVEXA

Page 35: Manual Programacion Lineal01

b. ESTRICTAMENTE CONVEXA

c. ESTRICTAMENTE CONVEXA

d. ESTRICTAMENTE CONCAVA

e. estrictamente CONCAVA

Page 36: Manual Programacion Lineal01

f. ESTRICTAMENTE CONVEXA

Page 37: Manual Programacion Lineal01

CAPITULO 3

CONCEPTUALIZACION DE LA PROGRAMACION LINEAL

3.1 INTRODUCCION 3.2 CONCEPTO 3.3 FORMULACION DEL PROBLEMA DE PROGRAMACION LINEAL 3.3.1 INTRODUCCION 3.3.2 ESTRUCTURA DE UN MODELO DE P.L. 3.4. MODELO GENERAL DE PROGRAMACION LINEAL 3.5 FORMA ESTÁNDAR DE LOS MODELOS DE P.L. 3.6 OTRAS FORMAS DE MODELOS DE P.L. 3.7 FORMULACION ALGEBRAICA: FORMA CANONICA 3.8 RESUMEN

3.1 INTRODUCCION

Muchas personas clasifican el desarrollo de la Programación Lineal (PL) entre los avances científicos más importantes de mediados del siglo XX. En la actualidad es una herramienta común que ha ahorrado miles o millones de dólares a muchas compañías y negocios, incluyendo industrias medianas en distintos países del mundo. ¿Cuál es la naturaleza de esta notable herramienta y qué tipo de problemas puede manejar? Expresado brevemente, el tipo más común de aplicación abarca el problema general de asignar recursos limitados entre actividades competitivas de la mejor manera posible (es decir, en forma óptima). Este problema de asignación puede surgir cuando deba elegirse el nivel de ciertas actividades que compiten por recursos escasos para realizarlas. La variedad de situaciones a las que se puede aplicar esta descripción es sin duda muy grande, y va desde la asignación de instalaciones productivas a los productos, hasta la asignación de los recursos nacionales a las necesidades de un país; desde la planeación agrícola, hasta el diseño de una terapia de radiación; etc. No obstante, el ingrediente común de todas estas situaciones es la necesidad de asignar recursos a las actividades.

Page 38: Manual Programacion Lineal01

3.2 CONCEPTO: El adjetivo lineal significa que todas las funciones matemáticas del modelo deber ser funciones lineales. En este caso, las palabra programación no se refiere a programación en computadoras; en esencia es un sinónimo de planeación. Así, la programación lineal trata la planeación de las actividades para obtener un resultado óptimo. La programación lineal es una técnica de investigación de operaciones para la determinación de la asignación optima de recursos escasos cuando la función objetivo y las restricciones son lineales. Es una manera eficiente de resolver estos problemas cuando se debe hacer una elección de alternativas muy numerosas que no pueden evaluarse intuitivamente por los métodos convencionales. 3.3 FORMULACION DEL PROBLEMA DE PROGRAMACION LINEAL 3.3.1 INTRODUCCION

Los términos clave son recursos y actividades, en donde m denota el número de distintos tipos de recursos que se pueden usar y n denota el número de actividades bajo consideración. Z = valor de la medida global de efectividad. Xj = nivel de la actividad j (para j = 1,2,...,n). Cj = incremento en Z que resulta al aumentar una unidad en el nivel de la

actividad j. bi = cantidad de recurso i disponible para asignar a las actividades (para

i = 1,2,...,m). aij = cantidad del recurso i consumido por cada unidad de la actividad j. 3.3.2 ESTRUCTURA DE UN MODELO DE PROGRAMACION LINEAL

1. Función objetivo. Consiste en optimizar el objetivo que persigue una situación la cual es una función lineal de las diferentes actividades del problema, la función objetivo se maximizar o minimiza.

Page 39: Manual Programacion Lineal01

2. Variables de decisión. Son las incógnitas del problema. La definición de las variables es el punto clave y básicamente consiste en los niveles de todas las actividades que pueden llevarse a cabo en el problema a formular.

3. Restricciones Estructurales. Diferentes requisitos que debe cumplir

cualquier solución para que pueda llevarse a cabo, dichas restricciones pueden ser de capacidad, mercado, materia prima, calidad, balance de materiales, etc.

4. Condición técnica. Todas las variables deben tomar valores positivos, o en

algunos casos puede ser que algunas variables tomen valores negativos.

3.4 MODELO GENERAL DE PROGRAMACION LINEAL

Formulación de modelos de Programación Lineal.

Aunque se ponga en duda, la parte más difícil de PL es reconocer cuándo

ésta puede aplicarse y formular el problema matemáticamente. Una vez hecha esa

parte, resolver el problema casi siempre es fácil.

Para formular un problema en forma matemática, deben expresarse

afirmaciones lógicas en términos matemáticos. Esto se realiza cuando se resuelven

“problemas hablados” al estudiar un curso de álgebra. Algo muy parecido sucede

aquí al formular las restricciones. Por ejemplo, considérese la siguiente afirmación: A

usa 3 horas por unidad y B usa 2 horas por unidad. Si deben usarse todas las 100

horas disponibles, la restricción será:

3A + 2B = 100

Page 40: Manual Programacion Lineal01

Sin embargo, en la mayoría de las situaciones de negocios, no es obligatorio

que se usen todos los recursos (en este caso, horas de mano de obra). Más bien la

limitación es que se use, cuando mucho, lo que se tiene disponible. Para este caso,

la afirmación anterior puede escribirse como una desigualdad:

3A + 2B ≤ 100

Para que sea aceptable para PL, cada restricción debe ser una suma de

variables con exponente 1. Los cuadrados, las raíces cuadradas, etc. no son

aceptables, ni tampoco los productos de variables. Además, la forma estándar para

una restricción pone a todas las variables del lado izquierdo y sólo una constante

positiva o cero del lado derecho. Esto puede requerir algún reacomodo de los

términos. Si, por ejemplo, la restricción es que A debe ser por los menos el doble de

B, esto puede escribirse como:

A ≤ 2B ó A - 2B ≤ 0

Nótese que pueden moverse términos de un lado a otro de las desigualdades como

si fuera un signo de igualdad. Pero al multiplicar una desigualdad por -1, el sentido

de esta desigualdad se invierte. Puede ser necesario hacer esto para que los

coeficientes del lado derecho sean positivos. Por ejemplo, si se quiere que A sea por

lo menos tan grande como B - 2, entonces:

A ≤ B – 2

A – B ≤ -2

Por último B – A ≥ 2

Una nota final sobre desigualdades: es sencillo convertir una desigualdad en una

ecuación. Todo lo que se tiene que hacer es agregar (o restar) una variable extra.

Por ejemplo:

B - A ≥ 2 es lo mismo que B - A + S = 2

Page 41: Manual Programacion Lineal01

En donde S representa la diferencia, o la holgura, entre B - A y 2. S se llama variable

de holgura. Por otro lado, se restaría una variable de superávit en el caso siguiente:

A - 2B ≤ 0 es lo mismo que A - 2B -S = 0

Algunos métodos de solución (como el Método Simplex) y la mayoría de los

programas de computadora (como el MathProg, que viene en el ORCourseware, que

acompaña al libro “Introducción a la Investigación de Operaciones” de los autores

Hillier y Lieberman) requieren que todas las desigualdades se conviertan en

igualdades.

La metodología de PL requiere que todas las variables sean positivas o cero,

es decir, no negativas. Para la mayoría de los problemas esto es real, no se querría

una solución que diga: prodúzcanse menos dos cajas o contrátense menos cuatro

personas.

Mientras que no existe un límite en el número de restricciones que puede

tener un problema de PL, sólo puede haber un objetivo. La forma matemática del

objetivo se llama función objetivo. Debe llevar consigo el maximizar o minimizar

alguna medida numérica. Podría ser maximizar el rendimiento, la ganancia, la

contribución marginal o los contactos con los clientes. Podría ser minimizar el costo,

el número de empleados o el material de desperdicio. Con frecuencia el objetivo es

evidente al observar el problema.

Como el valor de la función objetivo no se conoce hasta que se resuelve el

problema, se usa la letra Z para representarlo. La función objetivo tendrá, entonces,

la forma:

Maximizar Z = 4A + 6B ó

Minimizar Z = 2x1 + 5x2

Se analiza una aplicación para ilustrar el formato de los problemas de Programación Lineal.

Page 42: Manual Programacion Lineal01

3.5 FORMA ESTÁNDAR DE LOS MODELOS DE PROGRAMACIÓN LINEAL.

Supóngase que existe cualquier número (digamos m) de recursos limitados de

cualquier tipo, que se pueden asignar entre cualquier número (digamos n) de

actividades competitivas de cualquier clase. Etiquétense los recursos con números

(1, 2, ..., m) al igual que las actividades (1, 2, ..., n). Sea xj (una variable de decisión)

el nivel de la actividad j, para j = 1, 2, ..., n, y sea Z la medida de efectividad global

seleccionada. Sea cj el incremento que resulta en Z por cada incremento unitario en

xj (para j = 1, 2, ..., n). Ahora sea bi la cantidad disponible del recurso i (para i = 1, 2,

..., m). Por último defínase aij como la cantidad de recurso i que consume cada

unidad de la actividad j (para i = 1, 2, ..., m y j = 1, 2, ..., n). Se puede formular el

modelo matemático para el problema general de asignar recursos a actividades. En

particular, este modelo consiste en elegir valores de x1, x2, ..., xn para:

Maximizar Z = c1x1 + c2x2 + ... + cnxn,

sujeto a las restricciones:

a11x1 + a12x2 + ... + a1nxn ≤ b1

a21x1 + a22x2 + ... + a2nxn ≤ b2

am1x1 + am2x2 + ... + amnxn ≤ bm y

x1 ≥ 0, x2 ≥0, ..., xn ≥ 0

Ésta se llamará nuestra forma estándar (porque algunos libros de texto adoptan

otras formas) para el problema de PL. Cualquier situación cuya formulación

matemática se ajuste a este modelo es un problema de PL.

En este momento se puede resumir la terminología que usaremos para los

modelos de PL. La función que se desea maximizar, c1x1 + c2x2 + ... + cnxn, se llama

Page 43: Manual Programacion Lineal01

función objetivo. Por lo general, se hace referencia a las limitaciones como

restricciones. Las primeras m restricciones (aquellas con una función del tipo ai1x1 +

ai2x2 + ... + ainxn, que representa el consumo total del recurso i) reciben el nombre de

restricciones funcionales. De manera parecida, las restricciones xj ≥ 0 se llaman

restricciones de no negatividad. Las variables xj son las variables de decisión. Las

constantes de entrada, aij, bi, cj, reciben el nombre de parámetros del modelo.

3.6 OTRAS FORMAS DE MODELOS DE PROGRAMACIÓN LINEAL.

Es conveniente agregar que el modelo anterior no se ajusta a la forma natural

de algunos problemas de programación lineal. Las otras formas legítimas son las

siguientes:

1. Minimizar en lugar de maximizar la función objetivo:

Minimizar Z = c1x1 + c2x2 + ... + cnxn,

2. Algunas restricciones funcionales con desigualdad en el sentido mayor o igual:

ai1x1 + ai2x2 + ... + ainxn, ³ bi, para algunos valores de i,

3. Algunas restricciones funcionales en forma de ecuación:

ai1x1 + ai2x2 + ... + ainxn, = bi, para algunos valores de i,

4. Las variables de decisión sin la restricción de no negatividad:

xj no restringida en signo para algunos valores de j.

Cualquier problema que incluya una, varias o todas estas formas del modelo anterior

también se clasifica como un problema de PL, siempre y cuando éstas sean las

únicas formas nuevas introducidas. Puede ser que la interpretación que se ha dado

de asignación de recursos limitados entre actividades que compiten no se aplique,

pero independientemente de la interpretación o el contexto, lo único que se necesita

es que la formulación matemática del problema se ajuste a las formas permitidas. Se

Page 44: Manual Programacion Lineal01

verá que estas otras cuatro formas legales se pueden reescribir en una forma

equivalente para que se ajuste al modelo que se presentó. Entonces, todo problema

de PL se puede poner en nuestra forma estándar si se desea.

3.7 FORMULACION ALGEBRAICA:

FORMA CANONICA

Todo problema de PL puede representarse como:

Max (z) =c1x1+c2x2+...+cnxn sujeto a: a11x1 + a12x2 +...+ a1nxn ≤ b1 a21x1 + a22x2 +...+ a2nxn ≤ b2 ... am1x1 + am2x2 +...+ amnxn ≤ bm x1, x2, ...,xn ≥ 0 siendo: xj: Nivel de actividad de la variable xj cj: Contribución unitaria de xj a función objetivo aij: Coeficiente técnico, unidades de recurso i que se consumen por unidad de variable j bi: Cantidad disponible de recurso i • Otra representación: • En forma matricial: Max (z) = C x sujeto a: Ax ≤ b x ≥ 0

n ... 2, 1, j 0x

m ... 2, 1,i donde bxa

:a sujeto

xc (z)Max

j

i

n

1jjij

n

1jjj

=≥

=≤

=

=

=

Page 45: Manual Programacion Lineal01

• A esta forma se la denomina forma canónica IMPORTANCIA DE LA FORMA CANONICA

• La forma canónica es importante porque todos los desarrollos e interpretaciones económicas del problema pueden referirse a la misma.

• Es posible transformar un problema de PL a un problema equivalente en forma canónica.

• Un problema de PL puede consistir en: • Buscar un máximo o un mínimo de la función objetivo • Restricciones de tipo “≤“, “≥“ e “=“ • Variables positivas, negativas o no restringidas en signo

• Conversión de un problema lineal general a su forma canónica: • Cambiar el sentido de la optimización • Cambiar el sentido de la desigualdad • Cambiar una desigualdad en igualdad

Variable de holgura o “slack” Variable surplus

• Cambiar igualdades en desigualdades • Cambiar variables sin restricción de signo a otras de signo positivo o

nulo

Page 46: Manual Programacion Lineal01

3.8 RESUMEN

TERMINOLOGIA Y CONCEPTOS BASICOS: • Conjunto factible Es el conjunto de puntos que satisfacen simultáneamente todas las

restricciones (o “filas”) del problema • Actividades, columnas o variables (xj) Representan los usos alternativos que deben competir entre sí para la

obtención de los recursos de forma que se optimice la función objetivo • Recursos (bi) Son productos, tiempo, etc. Se cuantifican en el término independiente o Right

Hand Side (RHS) del problema • El conjunto factible de un problema de PL, si existe, es representable mediante un

poliedro convexo

Page 47: Manual Programacion Lineal01

LECTURA

ORIGEN DE LA PROGRAMACIÓN LINEAL (Tomada de http://thales.cica.es/rd/recursos/rd98/)

En los siglos XVII y XVIII, grandes matemáticos como Newton, Leibnitz, Bernouilli y, sobre todo, Lagrange, que tanto habían contribuido al desarrollo del cálculo infinitesimal, se ocuparon de

obtener máximos y mínimos condicionados de determinadas funciones.

Posteriormente el matemático francés Jean Baptiste-Joseph Fourier (1768-1830) fue el primero en intuir, aunque de forma imprecisa, los métodos de lo que actualmente llamamos programación lineal y la potencialidad que de ellos se deriva.

Si exceptuamos al matemático Gaspar Monge (1746-1818), quien en 1776 se interesó por problemas de este género, debemos remontarnos al año 1939 para encontrar nuevos estudios relacionados con los métodos de la actual programación lineal. En este año, el matemático ruso Leonodas Vitalyevich Kantarovitch publica una extensa monografía titulada Métodos matemáticos de organización y planificación de la producción en la que por primera vez se hace corresponder a una extensa gama de problemas una teoría matemática precisa y bien definida llamada, hoy en día, programación lineal .

En 1941-1942 se formula por primera vez el problema de transporte, estudiado independientemente por Koopmans y Kantarovitch, razón por la cual se suele conocer con el nombre de problema de Koopmans-Kantarovitch.

Tres años más tarde, G. Stigler plantea otro problema particular conocido con el nombre de régimen alimenticio optimal.

En estos años posteriores a la Segunda Guerra Mundial, en Estados Unidos se asumió que la eficaz coordinación de todas las energías y recursos de la nación era un problema de tal complejidad, que su resolución y simplificación pasaba necesariamente por los modelos de optimización que resuelve la programación lineal.

Paralelamente a los hechos descritos se desarrollan las técnicas de computación y los ordenadores, instrumentos que harían posible la resolución y simplificación de los problemas que se estaban gestando.

Page 48: Manual Programacion Lineal01

En 1947, G.B. Dantzig formula, en términos matemáticos muy precisos, el enunciado estándar al que cabe reducir todo problema de programación lineal. Dantzig, junto con una serie de investigadores del United States Departament of Air Force, formarían el grupo que dio en denominarse SCOOP (Scientific Computation of Optimum Programs).

Una de las primeras aplicaciones de los estudios del grupo SCOOP fue el puente aéreo de Berlín. Se continuó con infinidad de aplicaciones de tipo preferentemente militar.

Hacia 1950 se constituyen, fundamentalmente en Estados Unidos, distintos grupos de estudio para ir desarrollando las diferentes ramificaciones de la programación lineal. Cabe citar, entre otros, Rand Corporation, con Dantzig, Orchard-Hays, Ford, Fulkerson y Gale, el departamento de Matemáticas de la Universidad de Princenton, con Tucker y Kuhn, así como la Escuela Graduada de Administración Industrial, dependiente del Carnegie Institute of Technology , con Charnes y Cooper.

Respecto al método del simplex, que estudiaremos después, señalaremos que su estudio comenzó en el año 1951 y fue desarrollado por Dantzig en el United States Bureau of Standards SEAC COMPUTER, ayudándose de varios modelos de ordenador de la firma IBM.

Los fundamentos matemáticos de la programación lineal se deben al matemático norteamericano de origen húngaro Janos von Neuman (1903-1957), quie en 1928 publicó su famoso trabajo Teoría de Juegos. En 1947 conjetura la equivalencia de los problemas de programación lineal y la teoría de matrices desarrollada en sus trabajos. La influencia de este respetado matemático, discípulo de David Hilbert en Gotinga y, desde 1930, catedrático de la Universidad de Princenton de Estados Unidos, hace que otros investigadores se interesaran paulatinamente por el desarrollo riguroso de esta disciplina.

En 1858 se aplicaron los métodos de la programación lineal a un problema concreto: el cálculo del plan óptimo de transporte de arena de construcción a las obras de edificación de la ciudad de Moscú. En este problema había 10 puntos de partida y 230 de llegada. El plan óptimo de transporte, calculado con el ordenador Strena en 10 días del mes de junio, rebajó un 11% los gastos respecto a los costes previstos.

Se ha estimado, de una manera general, que si un país subdesarrollado utilizase los métodos de la programación lineal, su producto interior bruto (PIB) aumentaría entre un 10 y un 15% en tan sólo un año.

Page 49: Manual Programacion Lineal01

La programación lineal hace historia: El puente aéreo de Berlín

En 1946 comienza el largo período de la guerra fría entre la antigua Unión Soviética (URSS) y las potencias aliadas (principalmente, Inglaterra y Estados Unidos). Uno de los episodios más llamativos de esa guerra fría se produjo a mediados de 1948, cuando la URSS bloqueó las comunicaciones terrestres desde las zonas alemanas en poder de los aliados con la ciudad de Berlín, iniciando el bloqueo de Berlín. A los aliados se les plantearon dos posibilidades: o romper el bloqueo terrestre por la fuerza, o llegar a Berlín por el aire. Se adoptó la decisión de programar una demostración técnica del poder aéreo norteamericano; a tal efecto, se organizó un gigantesco puente aéreo para abastecer la ciudad: en diciembre de 1948 se estaban transportando 4500 toneladas diarias; en marzo de 1949, se llegó a las 8000 toneladas, tanto como se transportaba por carretera y ferrocarril antes del corte de las comunicaciones. En la planificación de los suministros se utilizó la programación lineal. (El 12 de mayo de 1949, los soviéticos levantaron el bloqueo)

ACTIVIDAD: Realiza una presentación en ppt resumida de la historia de la PL, teniendo en cuenta la lectura y amplia tus conocimientos en otras fuentes, luego susténtala frente al gran grupo en tutoría de acuerdo a las indicaciones de tu tutor.

Page 50: Manual Programacion Lineal01

UNIDAD 2

METODOS DE SOLUCION

CAPITULO 1

1.1 INTRODUCCION METODO GRAFICO 1.2 DEFINICION 1.3 CONCEPTO GENERAL DEL METODO GRAFICO 1.4 PASOS PARA LA SOLUCION MEDIANTE EL METODO GRAFICO

1.1 INTRODUCCION Antes de entrarnos por completo en los métodos analíticos de la investigación de operaciones es muy conveniente ver un poco acerca de las desigualdades de una ecuación lineal. Por ejemplo tenemos la ecuación 2X + 3Y = 60 en donde X, Y ≥ 0 Es decir que para que se cumpla la igualdad de la ecuación nos tocaría adquirir 15 unidades de X y 10 unidades de Y respectiva mente: 2(15) + 3(10) = 60

Page 51: Manual Programacion Lineal01

Y la solución se daría por la misma línea recta. Pero por otra parte si en la ecuación no se quiere llegar a la totalidad del resultado se dará la ecuación en una forma diferente llamada inecuación: 2X + 3Y ≤ 60 en donde X, Y ≥ 0 Dándose como solución factible un área sombreada que depende del signo de la desigualdad. Si el signo es el ≤ la solución será el área inferior esa se sombreará o si por el contrario el sigo es ≥ el área a sombrear será la de todos los puntos por encima de la línea obtenida.

En la anterior grafica la solución más factible es la de los puntos más cerca del eje X (bajo la recta de la solución lineal ya que la ecuación es precedida por el signo ≤.

Page 52: Manual Programacion Lineal01

1.2 DEFINICION: Por definición de algunos libros una desigualdad entre dos variables es una desigualdad que puede escribirse de la forma:

ax + by +c < 0 (o bien ≤ 0, ≥ 0, >0) En donde a, b, c son constantes mientras que a “y” b son diferentes de cero En términos geométricos, la solución de una desigualdad lineal en x y y consiste en todos los puntos del plano cuyas coordenadas satisfacen la desigualdad. Observemos a continuación las desigualdades y las regiones descritas por ellas: EJEMPLO 1: Determinar la región descrita por la desigualdad y ≤ 5 Cuando veamos un problema como este no nos asustemos porque el hecho de que no aparezca la x en ningún lugar de la ecuación solo quiere decir que x es cierto en cualquier punto de x. SOLUCION

La región sombreada es la solución factible para la desigualdad planteada.

Page 53: Manual Programacion Lineal01

EJEMPLO 2: Describir la región definida por la desigualdad: x ≥ -2

EJEMPLO 3: Dando valores a x y y determinamos las rectas con las áreas correspondientes a las desigualdades planteadas. 2x + y > 3 x ≥ y y – 1 > 0 Este sistema es equivalente

y > -2x + 3 x =0; y =3 Y=0; x= 3/2 y ≤ x x= 0; y= 0 x=1 ; y= 1 y > 1/2 Obsérvese que se ha escrito cada desigualdad de manera que “y “queda despejada. Consecuencia las regiones apropiadas con respecto a las rectas correspondientes restaran evidentes. En primer lugar se trazan las rectas

Page 54: Manual Programacion Lineal01

y = -2x + 3, y = x Y y = y Después se sombra la región que se encuentra simultáneamente por encima de la recta, sobre o por debajo de la segunda de ellas y por encima de la tercera esta región es la solución.

Entonces la solución para el anterior ejercicio seria la región sombreada.

1.3 CONCEPTO GENERAL DEL METODO GRAFICO

Ahora se considerara la forma en que se pueden resolver problemas de tipo lineal, en donde la función dada se tendrá que maximizar o minimizar. Una función lineal en x y y tiene la forma:

Donde a y b son constantes. También se requerirá que las restricciones correspondientes estén representadas mediante un sistema de desigualdades lineales o ecuaciones en x y en y y que todas las variables sean no negativas. A un problema en el que intervienen todas estas condiciones se le denomina problema de programación lineal. La programación lineal fue desarrollada por George B. danzing a fines de la década de 1940 y se utilizo primero en la fuerza aérea de losa estados unidos como auxiliar

Page 55: Manual Programacion Lineal01

en la toma de decisiones. En la actualidad tiene amplia aplicación en el análisis industrial y económico. En un problema de programación lineal a la función que se desea maximizar o minimizar se le denomina función objetivo. Aunque por lo general existe una cantidad infinitamente grande de soluciones para el sistema de restricciones (a las que se denomina soluciones factibles o puntos factibles), el objetivo consiste en encontrar una de esas soluciones que represente una solución óptima (es decir una solución que del valor máximo o mínimo de la fusión objetivo) En conclusión con lo que acabamos de revisar en la parte anterior sobre las inecuaciones nos da para definir literalmente el método grafico y el método algebraico dentro del ámbito de la programación lineal. Entonces el método grafico en la programación lineal es simplemente sacar de una situación (problema) ecuaciones lineales y convertirlas en desigualdades o inecuaciones para poder graficarlas y así sacar la región mas optima dependiendo del signo de la desigualdad esa área se sombreara y esa será la solución mas optima del problema.

1.4 PASOS PARA LA SOLUCION MEDIANTE EL METODO GRAFICO Para llegar a una solución óptima en el método grafico se requiere seguir con una serie de pasos que podemos dar a continuación: 1. formulación del problema

El primer paso para la resolución por método grafico es expresar el problema en términos matemáticos en el formato general de la programación lineal (desigualdades) con un solo fin maximizar la contribución a la ganancia.

2. graficar las restricciones El próximo paso de la solución por método grafico es la graficación de las restricciones en el plano cartesiano para establecer todas las posibles soluciones.

3. obtención de la solución optima Para encontrar la solución óptima, se grafica la función objetivo en la misma gráfica de las restricciones. Se graficara siempre la función objetivo del problema y se dará la solución de acuerdo con el símbolo que este presente en las restricción de la función objetivo.

EJEMPLO: Maximizar la función objetivo: Z= 3x + y

Page 56: Manual Programacion Lineal01

Sujeto a las restricciones: 2x + y ≤ 8 2x + 3y ≤ 12 x, y ≥ 0 A continuación graficamos las desigualdades planteadas en las restricciones así: 2x + y ≤ 8 x=0; y=8 y=0; x=4 2x + 3y ≤ 12 x=0; y=4 Y=0; x=6 x, y ≥ 0

Se observa que la región factible esta conformada por los puntos A(0,0); D(0,4); B(4,0) y el punto C que es el resultado de la intersección de las 2 inecuaciones cuyo valor aproximadamente en el plano esta dado por las coordenadas (3,2). Ahora bien el problema solicita la maximización de Z = 3x + y que se obtiene precisamente en el punto C(3,2).

Page 57: Manual Programacion Lineal01

EJEMPLO: Minimizar la función objetivo: Z= 2x + 3y Sujeto a las restricciones: x +2y ≥ 10 3x + 2y ≥ 18 x, y ≥ 0 A continuación graficamos las desigualdades planteadas en las restricciones así: x + 2y≥10 x=0; y=5 y=0; x=10 3x + 2y≥18 x=0; y=9 Y=0; x=6 x, y ≥ 0

Región Factible (4,3)

Se observa que la región factible esta conformada por los puntos (0,9); (4,3); (10,0), donde el punto (4,3) es el resultado de la intersección de las dos ecuaciones dadas como restricciones. Ahora bien el problema solicita la maximización de Z = 3x + y que se obtiene precisamente en el punto C(3,2).

Page 58: Manual Programacion Lineal01

CAPITULO 2

METODO ALGEBRAICO

2.1 INTRODUCCION 2.2 PASOS PARA UTILIZAR EN METODO ALGEBRAICO 2.3 EJEMPLOS DESARROLLADOS 2.4 TALLER

2.1 INTRODUCCION

En ocasiones nos encontramos con problemas de índole magnitud, a los cuales se desea maximizar o minimizar una función sujeta a ciertas restricciones. Muchas personas califican al método algebraico, como uno de los métodos más importantes en el campo de la programación lineal. En la actualidad es una herramienta común, que se ha prestado para resolver problemas de gran magnitud; por su simplicidad, sencillez y estilo de uso cientos de empresas, compañías de todo el mundo han ahorrado miles y miles de pesos. En este capitulo se tratara la formulación de problemas utilizando el método algebraico para la solución de problemas de programación lineal. Se hace un enfoque a la variedad de aplicaciones del método para que el estudiante interesado pueda tener una visión y ejercitar sus conocimientos. El método algebraico contempla en su desarrollo al método grafico y de la misma manera el método grafico no estaría completo sin la rigurosidad del método algebraico pues la apreciación visual que da el grafico en la solución óptima puede estar sujeta a error por parte del analista.

Page 59: Manual Programacion Lineal01

2.2 PASOS PARA UTILIZAR EN METODO ALGEBRAICO

Dado que tenemos un problema de dos variables, podemos graficar las soluciones posibles y comprender algunos puntos interesantes respecto a las relaciones lineales. Veremos la siguiente manera de obtener gráficamente las soluciones al problema planteado y luego veremos como obtenerlas algebraicamente.

1. Exprésense los datos del problema como una función objetivo y restricciones.

2. Graficar las restricciones.

3. Definir el conjunto factible.

4. Encontrar la solución óptima

A continuación se presentan el análisis algebraico y grafico de algunos problemas de programación lineal:

2.3 EJEMPLOS DESARROLLADOS PROBLEMA 1: Supóngase una compañía fabrica 2 tipos de artefactos, manuales y eléctricos. Cada uno de ellos requiere en su fabricación el uso de 3 maquinas: A, B y C. un artefacto manual requiere del empleo de la maquina A durante 2 horas, de una 1 en B y una 1 en C, un artefacto eléctrico requiere de 1 hora en A, 2 horas en B y 1 hora en C. supóngase además que el numero máximo de horas disponible por mes para el uso de las tres maquinas es 180, 160 y 100, respectivamente. La utilidad que se obtiene con los artefactos manuales es de 4000 pesos y de 6000 pesos para los eléctricos. Si la compañía vende todos los artefactos que fábrica, ¿Cuántos de ellos de cada tipo se deben elaborar con el objeto de maximizar la utilidad mensual?

A B C UTILIDAD MANUALES(X) 2 1 1 4000

ELECTRICOS(Y) 1 2 1 6000 HORAS

DISPONIBLES 180 160 100

SOLUCIÓN:

1. Paso: Planteamos la función objetivo y las restricciones correspondientes:

Page 60: Manual Programacion Lineal01

MAX Z= 4000X + 6000Y SUJETO A: 2X + Y ≤ 180 X + 2Y ≤ 160 X + Y ≤ 100

2. Paso: Elaboramos el gráfico correspondiente a las restricciones con el fin de precisar la región factible y determinar los puntos que la conforman:

2X + Y ≤ 180 X=0 Y= 180 Y=0 X= 90 X + 2Y ≤ 160 X=0 Y=80 Y=0 X=160 X + Y ≤ 100 X=0 Y=100 Y=0 X=100

3. Paso: Resolvemos el sistema de ecuaciones para determinar las

coordenadas del punto B y C así:

Para B: X + 2Y ≤ 160 Para C: 2X + Y ≤ 180

Page 61: Manual Programacion Lineal01

X + Y ≤ 100 X + Y ≤ 100

Y= 60 X = 80

X= 40 Y = 20

4. Paso:

Con los puntos de la región factible: O(0,0) ; B(40,60) ; C(80,20) ; A(0,80); D(90,0) Maximizamos la función objetivo : MAX Z = 4000x + 6000 y

(0,0) 4000(0) + 6000(0) = 0 (0,80) 4000(0) + 6000(80) = 480000 (40,60) 4000(40) + 6000(60)= 520000 (90,0) 4000(90) + 6000(0) = 360000

5. Paso: La solución para el problema está representada por la fabricación de 40 artefactos manuales y 60 artefactos eléctricos generando una máxima utilidad de $ 520.000.

EJEMPLO 2: Un granjero va a comprar fertilizante que contiene tres ingredientes nutritivos, A, B Y C. Las necesidades mínimas son 160 unidades de A, 200 de B y 80 de C. Existen en el mercado dos marcas populares de fertilizante. El llamado crecimiento rápido que cuesta $ 4000 el costal y contienen 3 unidades de A, 5 de B y 1 de C, y el de crecimiento normal que cuesta $3000 y contiene 2 unidades de cada ingrediente. Si el granjero desea minimizar el costo al tiempo que mantiene el mínimo de los ingredientes nutritivos que se requieren, ¿cuantos costales de cada marca debe comprar?.

A B C COSTO CRECI/RAPIDO 3 5 1 4000 CRECI/NORMAL 2 2 2 3000

REQUERIMIENTO 160 200 80

Page 62: Manual Programacion Lineal01

SOLUCIÓN:

1. Paso: Determinamos la función objetivo y sus restricciones: MIN Z= 4000X + 3000Y SUJETO A LAS RESTRICCIONES: 3X + 2Y ≥ 160 5X + 2Y ≥ 200 X + 2y ≥ 80

2. Paso: Elaboramos la gráfica y determinamos la región factible: 3X + 2Y ≥ 160 X=0 Y= 80 Y=0 X= 53,33 5X + 2Y ≥ 200 X=0 Y= 100 Y=0 X= 40 X + 2y ≥ 80 X=0 Y=40 Y=0 X=80

3. PASO: Determinar las coordenadas de los puntos A y B:

Para A: 3X + 2Y ≥ 160 Para B: 3X + 2Y ≥ 160

Page 63: Manual Programacion Lineal01

5X + 2Y ≥ 200 X + 2y ≥ 80 -2X = -40 2X = 80 X = 20 X= 40 Y = 50 Y = 20

4. Paso: Optimizamos la función objetivo:

Z= 4000X + 3000Y (80,0) 4000(80) + 3000(0) = 320000 (40,20) 4000(40) + 3000(20) = 220000 (20,50) 4000(20) + 3000(50) = 230000 (0.100) 4000(0) + 3000(100) = 300000

5. Paso: La solución del problema para el granjero está en comprar 40 unidades de crecimiento rápido y 20 de crecimiento normal, con un costo mínimo de $ 220.000.

Page 64: Manual Programacion Lineal01

2.4 TALLER

1. MAXIMIZAR P= 10x + 12y Sujeta a: x + y ≤ 60 x - 2y ≥ 0 x, y ≥ 0 2. MAXIMIZAR P= 5x + 6y Sujeta a x + y ≤ 80 3x + 2y ≤ 220 2x + 3y ≤ 210 x, y ≥ 0 3. MAXIMIZAR Z= 4x - 10y Sujeta a x – 4y ≥ 4 2x – y ≤ 2 x, y ≥ 0 4. MINIMIZAR Z= 7x + 3y Sujeta a 3x – y ≥ -2 x + y ≤ 9 x – y = -1

Page 65: Manual Programacion Lineal01

x, y ≥ 0 5. Un fabricante de juguetes que esta preparando un programa de producción para

2 nuevos artículos, “maravilla” y “fantástico”, debe utilizar la i información respecto a sus tiempos de construcción que se proporcionan en la siguiente tabla. Por ejemplo, cada juguete “maravilla” requiere de 2 horas en la maquina A. las horas de trabajo disponibles de los empleados por semana, son: para la maquina A, 70 horas; para la B, 40 horas; para terminado, 90 horas. Si las utilidades de cada juguete “maravilla” y cada juguete “fantástico” son de $40.000 y $60.000, respectivamente, ¿Cuántas unidades de cada uno deben fabricarse por semana con el objeto de maximizar las utilidades? ¿cual seria la utilidad máxima?

MAQUINA A MAQUINA B TERMINADO

“MARAVILLA” 2h 1h 1h “FANTASTICO” 1h 1h 3h

Page 66: Manual Programacion Lineal01

CAPITULO 3

METODO SIMPLEX

3.1 INTRODUCION 3.2 CONCEPTO 3.3 PASOS PARA EL DESARROLLO DEL METODO SIMPLEX 3.4 EJEMPLOS DESARROLLADOS 3.5 TALLER

3.1 INTRODUCION

En los capítulos 1 y 2 de esta unidad vimos como resolver problemas de programación lineal a través del método grafico y el método algebraico, surgen grandes limitaciones a la hora de trabajar con estos dos métodos, es decir que no es posible darle óptima solución a un problema. Esto se debe a que el método grafico no resulta práctico cuando el número de variables se aumenta a tres, y con más variables resulta imposible de utilizar. Por otra parte el método algebraico tarda demasiado tiempo aun para problemas de pocas variables y restricciones. El mejor método para resolver un problema de programación lineal es el método simplex, ya que es un método de fácil aplicación, de tipo algorítmico y conduce a una eficiente solución del problema.

3.2 CONCEPTO

El método simplex fue desarrollado por George dantzig (1947) y es un método algebraico que se utiliza para resolver problemas de programación lineal en un número finito de pasos en una computadora. Este método establece una solución factible y luego prueba si es óptima o no. Si no lo es busca una mejor solución y si esta no es optima entonces repite el proceso hasta hallar una solución óptima.

3.3 PASOS PARA EL DESARROLLO DEL METODO SIMPLEX

1. Elaborar la tabla simplex inicial.

X1 X2 X3 S1 S2 S3 S4 Z b S1 a11 a12 a13 1 0 0 0 0 b1 S2 a21 a22 a23 0 1 0 0 0 b2 S3 a31 a32 a33 0 0 1 0 0 b3 S4 a41 a42 a43 0 0 0 1 0 b4 Z -C1 -C2 -C3 0 0 0 0 1 0

Indicadores

Page 67: Manual Programacion Lineal01

Existen cuatro variables de holgura, S1, S2, S3, y S4; una para cada restricción. 2. Si todos lo indicadores del último renglón son no negativos, entonces Z tiene un

máximo cuando X1=0, X2=0 y X3=0. El valor máximo es 0. Si existen indicadores negativos, localizar la columna en la que aparezca el indicador más negativo. Esta columna señala la variable entrante.

3. Dividir cada uno de los elementos de la columna de b que se encuentran por

encima de la recta punteada entre el correspondiente elemento de la columna de la variable entrante. Se debe realizar esta división solo en los casos en los que el elemento de la variable que entra sea positivo.

4. encerrar en un círculo el elemento de la columna de la variable entrante que

corresponde al menor cociente del paso 3. Este es un elemento pivote. La variable saliente es la que se encuentra al lado izquierdo del renglón del elemento pivote.

5. Utilizar operaciones elementales sobre renglones para transformar la tabla en

otra tabla equivalente que tenga un 1 en donde se encuentra el elemento pivote y 0 en las demás posiciones de esa columna.

6. la variable entrante debe reemplazar a la variable saliente en el lado izquierdo de

esta nueva tabla. 7. si todos los indicadores de la tabla nueva son no negativos, ya se tiene una

solución óptima. El valor máximo de Z es el elemento del último renglón y la última columna. Ocurre esto cuando las variables se encuentran del lado izquierdo de la tabla son iguales a lo elementos correspondiente de la última columna. Todas las demás variables son ceros. Si cuando menos uno de los indicadores es negativo, se debe repetir el mismo proceso con la nueva tabla, comenzando con el paso 2.

3.4 EJEMPLOS DESARROLLADOS EJEMPLO 1 Maximizar Z= 5X1+4X2 Sujeto a: X1+X2 ≤ 20 2X1+X2 ≤ 35 -3X1+X2 ≤ 12

X1≥0, X2≥0 Este problema de programación lineal se ajusta a la forma normal. La tabla simplex inicial es:

Page 68: Manual Programacion Lineal01

x1 x2 S1 S2 S3 Z b Cocientes S1 1 1 1 0 0 0 20 20÷1=20

Variable S2 2 1 0 1 0 0 35 35÷2=17.5 Saliente S3 -3 1 0 0 1 0 12

Z -5 -4 0 0 0 1 0

Indicadores Variable Entrante

El indicador mas negativo, -5, aparece en la columna x1. Por ello, x1 es la variable entrante. El menor cociente es 17.5, de modo que, S2 es la variable saliente. El elemento pivote es 2. Utilizando operaciones elementales sobre los renglones para obtener un 1 en la posición del pivote y 0 en las demás posiciones de esa columna, se tienen: x1 x2 S1 S2 S3 Z b 1 1 1 0 0 0 20 2 1 0 1 0 0 35 -3 1 0 0 1 0 12 -5 -4 0 0 0 1 0 1 1 1 0 0 0 20 1 1/2 0 1/2 0 0 35/2 (Multiplicando el renglón 2 por 1/2) -3 1 0 0 1 0 12 -5 -4 0 0 0 1 0 0 1/2 1 -1/2 0 0 5/2 (Sumando al renglón uno el renglón 2 1 1/2 0 1/2 0 0 35/2 multiplicado por -1; sumando al renglón 0 5/2 0 3/2 1 0 129/2 tres el renglón 2 multiplicado por 3; Sumando al renglón cuatro el renglón dos 0 -3/2 0 5/2 0 1 175/2 multiplicado por 5)

La nueva tabla es:

x1 x2 S1 S2 S3 Z b Cocientes Variable S1 0 1/2 1 -1/2 0 0 5/2 5/2 ÷1/2=5 Saliente x1 1 1/2 0 1/2 0 0 35/2 35/2 ÷1/2=35 S3 0 5/2 0 3/2 1 0 129/2 129/2÷5/2=25(4/5)

Z 0 -3/2 0 5/2 0 1 175/2

Indicadores

Page 69: Manual Programacion Lineal01

Variable Entrante

Obsérvese que en el lado izquierdo, x1 reemplazó a S2. Ya que -3/2 es el indicador más negativo se debe continuar con el proceso. La variable entrante es ahora x2. El menor cociente es 5. De modo que S1 es la variable saliente y ½ es el elemento pivote. Utilizando operaciones elementales sobre renglones, se tiene:

x1 x2 S1 S2 S3 Z b

0 ½ 1 -1/2 0 0 5/2 1 1/2 0 1/2 0 0 35/2 0 5/2 0 3/2 1 0 129/2 0 -3/2 0 5/2 0 1 175/2 0 1/2 1 -1/2 0 0 5/2 (Sumando al renglón dos el renglón uno 1 0 -1 1 0 0 15 multiplicado por -1; sumando al renglón 0 0 -5 4 1 0 52 tres el renglón uno multiplicado por -5; Sumando al renglón cuatro el renglón 0 0 3 1 0 1 95 uno multiplicado por 3) 0 1 2 -1 0 0 5 1 0 -1 1 0 0 15 0 0 -5 4 1 0 52 (Multiplicando el renglón uno por 2) 0 0 3 1 0 1 95

La nueva tabla es:

x1 x2 S1 S2 S3 Z b x2 0 1 2 -1 0 0 5 x1 1 0 -1 1 0 0 15 S3 0 0 -5 4 1 0 52 Z 0 0 3 1 0 1 95

Indicadores

En donde x2 reemplazo a S1 en el lado izquierdo. Como todos los indicadores son no negativos, el valor máximo de Z es 95 y aparece cuando x2=5 y x1=15 (y S3=52, S1=0, S2=0).

EJEMPLO 2

Maximizar Z= 3x1 + 4x2 + 3/2x3

Page 70: Manual Programacion Lineal01

Sujeta a: -x1-2x2 ≥ -10 2x1+2x2+x3 ≤ 10 x1, x2, x3 ≥ 0 La restricción (10) no se ajusta a la forma normal. Sin embargo, multiplicando ambos lados de (10) por -1 resulta.

TABLA SIMPLEX I

x1 x2 x3 S1 S2 Z b Cocientes Variable S1 1 2 0 1 0 0 10 10÷2=5 Saliente S2 2 2 1 0 1 0 10 10÷2=5

Z -3 -4 -3/2 0 0 1 0

Indicadores

Variable Entrante

La variable entrante es x2. Dado que existe un empate en el menor cociente, se puede elegir cualquiera de los dos, S1 o S2, como la variable saliente. Se escoge S1. Se encierra en un círculo el pivote. Utilizando operaciones elementales sobre renglones, se obtiene la tabla 2.

TABLA SIMPLEX II

x1 x2 x3 S1 S2 Z b Cocientes Variable x2 1/2 1 0 1/2 0 0 5 no hay puesto Saliente S2 1 0 1 -1 1 0 0 que 0 No es positivo

Z -1 0 -3/2 2 0 1 20 0÷1=0

Indicadores

Variable Entrante

Page 71: Manual Programacion Lineal01

La tabla II corresponde a una SFB (solución básica factible) en la que una variable básica S2 es 0. Por ello, la SFB es degenerada. Ya que existen indicadores negativos, se continúa el proceso. La variable entrante es ahora x3, la variable saliente es S2 y el pivote se encuentra encerrado en un círculo. Utilizando operaciones elementales sobre renglones, se obtiene la tabla III.

TABLA SIMPLEX II

x1 x2 x3 S1 S2 Z b x2 1/2 1 0 1/2 0 0 5 x3 1 0 1 -1 1 0 0 Z 1/2 0 0 1/2 3/2 1 20

Indicadores

En virtud de que todos los indicadores son no negativos, Z es máxima cuando x2=5 y x3=0, y x1=S1=S2=0. El máximo valor es Z=20. Obsérvese que este valor es igual al valor de Z correspondiente a la tabla II. En problemas con degeneración es posible llegar al mismo valor de Z en varias etapas del proceso simplex.

EJEMPLO 3: Considere el siguiente problema de programación lineal: Maximizar Z=2x1+5x2+8x3 Sujeto a x1+ x2+ x3 ≤ 12 8x1-4x2+4x3 ≤ 24 x2+ x3 ≤ 8 x1, x2, x3 ≥ 0 PASO 1: INICIALIZACIÓN: Maximizar Z Z-2x1-5x2-8x3 = 0 (0) x1+ x2+ x3+ x4 =12 (1) (II) 8x1-4x2+4x3 +x5 =24 (2) x2+ x3 +x6 =8 (3) xj≥0, j=1,2,…,6 Donde las variables de holgura son x4, x5 y x6.

Page 72: Manual Programacion Lineal01

La tabla inicial para la aplicación del algoritmo Simplex es:

La solución básica falible de partida se obtiene fácilmente del sistema de ecuaciones (II). Cada una de las ecuaciones tiene una sola variable básica. Por ejemplo, la variable básica de la ecuación (2) es x5 ya que tiene coeficientes de +1 en esa ecuación y no aparece en ninguna de las otras ecuaciones. Esto quiere decir que, en esa ecuación, la demás variables, al ser no básicas, sus valores son ceros y, por consiguiente, podemos deducir que el valor de x5 es igual a 24. De manera similar, de la ecuación (0) se obtiene que Z = 0, de la (1) se obtiene que x4 = 12 y de la (3) que x6 = 8. Observe que en la tabla se pueden leer estos valores directamente. Bastará hacer corresponder a cada variable básica indicada en la primera columna, (V.B.) los valores de la última columna (b). Observe además que la matriz correspondiente a las variables básicas de las restricciones, es una matriz unidad. PASO 2: PROCESO ITERATIVO Primera Iteración La variable básica entrante es x3, puesto que es la que tiene mayor coeficiente en la función objetivo de (I), o bien es la de coeficientes más negativos en la tabla inicial (-8 en este ejemplo). La variable básica saliente se determina de la siguiente manera: la cota superior de la variable básica entrante xent = x3, viene dada por +∞ si a'ie ≤ 0 y b'i/a'ie si aie>0. Entonces, los valores de a'ie y bi son: Restricción

1 a'13 = 1 b'1 = 12 2 a'23 = 1 b'2 = 24 3 a'33 = 1 b'3 = 8

V.B x1 x2 x3 x4 x5 x6 b Z -2 -5 -8 0 0 0 0 x4 1 1 1 1 0 0 12 x5 8 -4 4 0 1 0 24 x6 0 1 1 0 0 1 8

Page 73: Manual Programacion Lineal01

Como todos los coeficientes de las ecuaciones i (i = 1, 2,3) son positivos, entonces la cota superior estará dada por b'i/a'ie. O sea:

B’1/a'13 = 12/1 = 12 b'2/a'23 = 24/4 = 6 b'3/a'33 = 8/1 = 8

La menor cota superior es 6, que corresponde a la restricción numero 2. La variable básica que corresponde a esa ecuación es x5 y es, en consecuencia, la variable básica saliente. Es decir, en el conjunto de variables básicas se cambia a x5 por x3, por lo que las nuevas variables básicas son x4, x3 y x6. Ahora x3 es una variable básica, luego debe tener un coeficiente +1 en la segunda ecuación y no debe aparecer en ninguna otra, es decir, en cualquier otra ecuación distinta de la segunda restricción (que es la ecuación donde la variable básica es x3) el coeficiente de x3 debe ser cero. Esto se logra de la siguiente manera:

1. Divida toda la ecuación por 4, que es el coeficiente de x3 en la segunda restricción.

La ecuación queda

2x1 - x2 + 1x3 + 1/4x5 = 6 (A)

2. Para lograr ceros en los coeficientes de x3 en las nuevas ecuaciones (0), (1) y (3) multiplique la ecuación (A) anterior por 8, -1 y -1 uno a la vez, y sume el resultado a las ecuaciones anteriores (0), (1) y (3). O sea, multiplicar la ecuación (A) por 8 se obtiene:

16x1 - 8x2 + 8x3 + 2x5 = 48

Esta ecuación sumada con la ecuación (0) se partida queda:

Z + 14x1 – 13x2 + 2x5 = 48

Que vendría a ser la ecuación (0). De manera similar, para lograr un cero en el coeficiente de x3 de la ecuación (1), multipliquemos la ecuación (A) por -1 y sumemos el resultado a la ecuación (1). (1) Ecuación A: -2x1 + x2 – x3 -1/4X5 = - 6 Ecuación (1): x1 + x2 + x3 + x4 = 12 Nueva Ecuación: - x1 + 2x2 + x4 – 1/4x5 = 6 Finalmente, para lograr un cero en el coeficiente de x3 de la ecuación (3), multipliquemos (A) por -1 y sumemos el resultado a (3). La nueva ecuación (3) después de la transformación es:

Page 74: Manual Programacion Lineal01

-2x1 + 2x2 - 1/4x5 + x6 = 2

La solución presente después de la primera iteración es:

(x1, x2, x3, x4, x5, x6) = (0, 0, 6, 6, 0, 2); Z = 48

Estos resultados se presentan de una manera sencilla en forma tabular. Al igual que se hizo con la tabla inicial, registramos solamente los coeficientes de las variables y los colocamos inmediatamente debajo de la tabla inicial. Esta segunda tabla proporciona una manera fácil de ver los valores actuales de las variables básicas después de que se ha realizado la primera iteración. La tabla inicial y la que resulta después de la primera iteración son las siguientes:

V.B x1 x2 x3 x4 x5 x6 b Z -2 -5 -8 0 0 0 0 x4 1 1 1 1 0 0 12 x5 8 -4 4 0 1 0 24 x6 0 1 1 0 0 1 8

Tabla Inicial

Tabl

a Despué

s De

La Primera Iteración

Observe que si en la segunda tabla se intercambian las columnas de x5 y x3, de nuevo se destaca la matriz unitaria. En este momento, es oportuno preguntarse si la solución que se ha obtenido después de la primera iteración es la solución óptima. Para responder la pregunta, veamos si es posible incrementar una de las variables de tal manera que la función objetivo aumente. La función objetivo después de la primera iteración es:

Z + 14x1 – 13x2 + 2x5 = 48, o bien Z = -14x1 + 13x2 – 2x5 + 48

Si aumentamos x2 aumentará el valor de Z, puesto que su coeficiente es positivo (+13). Por consiguiente, todavía no hemos obtenido el valor óptimo y necesitamos realizar otra iteración. A esta misma conclusión hubiésemos llegado si observamos

V.B x1 x2 x3 x4 x5 x6 b Z 14 -13 0 0 2 0 48 x4 -1 2 0 1 -1/4 0 6 x5 2 -1 1 0 1/4 0 6 x6 -2 2 0 0 -1/4 1 2

Page 75: Manual Programacion Lineal01

que en la tabla después de la primera iteración, todavía existe un coeficiente (el de x2) que es negativo. Segunda iteración Después de la primera iteración, el sistema de ecuaciones queda: Z = -14x1 + 13x2 -2x5 + 48 -x1 + 2x2 + x4 - 1/4x5 = 6 2x1 - x2 + x3 + 1/4x5 = 6 -2x1 +2x2 - 1/4x5 + x6 = 2 La variable básica entrante es x2, puesto que es la que tiene mayor coeficiente en la función objetivo, o bien es la del coeficiente más negativo en la tabla después de la primera iteración. Para determinar la variable básica saliente, procedemos de manera similar a lo que hizo en la primera iteración. En este caso xent = x2 Restricción

1 a'12 = 2 , b'1 = 6 2 a'22 = -1 , b'2 = 6 3 a'32 = 2 , b'3 = 2 Las cotas superiores son:

6/2 = 2 +∞ ya que a'22 = -1 < 0

2/2 = 1

La menor cota superior es 1 y corresponde a la tercera restricción. Entonces la variable básica saliente es x6, es decir, cambiamos x6 por x2. Las nuevas variables son x4,x3 y x2. Como x2 es ahora una variable básica, debe tener un coeficiente +1 en la ecuación (3) y no debe aparecer en ninguna otra ecuación. Esto se logra de la siguiente manera:

1. Se divide toda la ecuación (3) por 2, que es el coeficiente de x2 en esa

ecuación.

2. Se multiplica la ecuación resultante en el paso 1º. por 13, -2 y +1, unos a las vez, y se suman los resultados a las ecuaciones (0), (1) y (2).

Page 76: Manual Programacion Lineal01

El resultado es: Z + x1 +3/8x5 + 13/2x6 = 61 (0) x1 + x4 - x6 = 4 (1) x1 + x3 + 1/8x5 + 1/2x6 = 7 (2) x1 + x2 - 1/8x5 + 1/2x6 = 1 (3) Regla de parada Como todos los coeficientes de la ecuación (0) son positivos, la solución presente es óptima; o sea: Z = 61, x4 = 4, x3 = 7, x2 =1 y el resto de las variables son ceros. Al igual que en la primera iteración, los resultados se pueden presentar en forma tabular. La tabla inicial y las que resultan después de la primera y de la segunda iteración, son las siguientes:

V.B x1 x2 x3 x4 x5 x6 b Z -2 -5 -8 0 0 0 0 x4 1 1 1 1 0 0 12 x5 8 -4 4 0 1 0 24 x6 0 1 1 0 0 1 8

Tabla Inicial

V.B x1 x2 x3 x4 x5 x6 b Z 14 -13 0 0 2 0 48 x4 -1 2 0 1 -1/4 0 6 x5 2 -1 1 0 1/4 0 6 x6 -2 2 0 0 -1/4 1 2

Primera Iteración

V.B x1 x2 x3 x4 x5 x6 b Z 1 0 0 0 3/8 13/2 61 x4 1 0 0 1 0 -1 4 x5 1 0 1 0 1/8 1/2 7 x6 1 1 0 0 -1/8 1/2 1

Segunda Iteración

La solución óptima es (x1, x2, x3, x4, x5, x6) = (0, 1, 7, 4, 0, 0); Z = 61

Page 77: Manual Programacion Lineal01

Hemos visto la aplicación del método Simplex para obtener la solución óptima de un problema de Programación Lineal y su forma tabular asociada. En realidad, el proceso de hace bastante mas expedito utilizando directamente la tabla, sin tener que pasar por las ecuaciones correspondientes. La determinación de las variables básica entrantes y salientes en cada iteración, puede hacerse directamente a partir de cada una de las tablas. Ejemplo 4: Observemos el siguiente ejemplo, recordando los pasos fundamentales en el método simplex, además del uso de variables artificiales, no confundir con adicionales.

Maximizar Z = -5x1 + 8x2 + 3x3, sujeto a

2x1 + 5x2 - x3 ≤ 1 -3x1 - 8x2 + 2x3≤ 4

-2x1 - 12x2 + 3x3≤£ 9

1. Expresamos estas condiciones en forma matricial. Se eligen 3 (m) columnas linealmente independientes dentro de A ___ P4, P5, P6.

P4 P5 P6 2 5 -1 1 0 0 1

-3 -8 2 0 1 0 4

-2 -12 3 0 0 1

9

Al introducir estas tres nuevas columnas, estamos utilizando tres variables adicionales: x4, x5 y x6.

Nuestra función objetivo tendrá la siguiente expresión:

Z = -5x1 + 8x2 + 3x3+ 0x4 + 0x5 + 0x6

Se resuelve el sistema en las variables correspondientes:

Page 78: Manual Programacion Lineal01

1 - 2x1 - 5x2 + x3 = x4

4 + 3x1 + 8x2 - 2x3 = x5

9 + 2x1 + 12x2 - 3x3 = x6

Haciendo x1= x2= x3= 0 se obtiene el vértice de salida:

(0,0,0,1,4,9)

Obtenemos, asimismo una "nueva" función objetivo:

Z =-5x1 + 8x2 + 3x3+ 0· (1 - 2x1 - 5x2 + x3)+ 0· (4 + 3x1 + 8x2 - 2x3) + 0· (9 + 2x1 + 12x2 - 3x3)

2. De aquí obtenemos que z0= 0 3. Para ver si es posible mejorar z0, se examina la función z=f(x1, x2, x3) y de

todos los coeficientes que sean positivos, se coge el mayor. Mientras haya coeficientes positivos se va a poder mejorar.

Se plantea como aumentar el valor de una variable, de forma que las otras variables que aparecían en la expresión de Z sigan nulas y, al menos, una de las que eran distintas de cero se anule.

Actuaremos sobre la variable x2, ya que es la de mayor coeficiente, 8.

Nuestro siguiente vértice debe cumplir las siguientes condiciones:

x2=k>0, x1= x3= 0 y x4, x5, x6³ 0 y de estas tres variables, al menos, una nula.

Se resuelve el sistema en las variables señaladas, teniendo en cuenta todas las anteriores condiciones:

1 - 5·k = x4

4 + 8·k = x5

9 + 12·k = x6

Page 79: Manual Programacion Lineal01

Debemos anular x4, ya que es imposible anular x5 y x6, con valores positivos. La mejor elección será k=1/5,

Con este valor obtenemos el nuevo vértice de salida:

(0, 1/5 ,0,0, 28/5 ,57/5)

Ahora debemos rehacer las expresiones, expresadas en función de x1, x3 y x4 .

4. Se cambia la columna de la variable señalada que acaba de anularse por la de la señalada que aumentó su valor.

P2 P5 P6

2/5 1 -1/5 1/5 0 0 1/5

1/5 0 2/5 8/5 1 0 28/5

14/5 0 3/5 12/5 0 1 57/5

Se resuelve el sistema y se encuentra la expresión de la función objetivo correspondiente a esa elección de columnas.

Z = 8/5 - 41/5 x1 + 23/5 x3 + 8/5 x4

Obtenemos z1, que saldrá de sustituir el valor del vértice hallado en la nueva expresión de la función objetivo:

z1= 8/5.

5. Se repite cuantas veces haga falta el proceso. (mientras haya coeficientes positivos).

x3= k x1, x4= 0

Por tanto,

Page 80: Manual Programacion Lineal01

1/5 + k/5 = x2

28/5 - 2/5 ·k = x5

57/5 - 3/5 ·k = x6

Elegimos k= 14 (2ª igualdad), obteniendo los siguientes valores:

P2 P3 P6 1/2 1 0 1 1/2 0 3 1/2 0 1 4 5/2 0 14

5/2 0 0 -3/2 0 1 3

Se resuelve el sistema y se encuentra la expresión de la función objetivo:

Z = 66 - 21/2 x1 - 20 x4 + 23/2 x5

Calculamos el vértice de salida, haciendo x1= x4= x5= 0,

(0,3,14,0,0,3) è z2= 66

Ya no se puede mejorar este valor (no hay coeficientes positivos). El proceso ha finalizado.

vértice solución: (0,3,14) Alcanzado para Z= 66

Comentarios

• Para arrancar el simplex se precisa de un vértice inicial. Cuando las columnas de la matriz identidad están dentro de A, este primer vértice siempre se puede hallar.

Si Im no está dentro de A: (Im , matriz identidad de mxm, con m= nº de condiciones.)

Page 81: Manual Programacion Lineal01

1. Debe elegirse m columnas linealmente independientes de A cualesquiera. Aun así, puede que el simplex no arranque.

2. Manipular las ecuaciones del sistema para que éste sea equivalente y la matriz identidad aparezca en el sistema final.

1

1

-1

0

1

2 3 0 1 6

F1 F2- 2F1

1

1

-1

0

1

0 1 2 1 4

con Z, función objetivo del problema.

3. Introducción de nuevas variables, variables artificiales (no confundir con adicionales). Serán tantas como sean necesarias y donde sean necesarias para obtener la matriz identidad.

-1 0 0 1 1 481 2 -1 0 0 97

0 2 0 -1 0

11

-1 0 0 1 1 0 0 481 2 -1 0 0 1 0 97

0 2 0 -1 0 0 1 11

5. con Z, función objetivo del problema.

Esta introducción afecta a las condiciones y a la función objetivo que quedará modificada en el sentido de que habrá dos variables nuevas más (variables artificiales).

Se añaden tantos sumandos nuevos como variables artificiales introducidas con coeficiente -M, siendo M arbitrariamente grande, que no hace falta especificar.

Page 82: Manual Programacion Lineal01

Z = 2x1 - x2 + x4 - 3x5 - M(x6 + x7)

Obtenemos un nuevo problema, llamado problema aumentado, de cuya solución se saca la solución del problema estudiado:

I. Problema inicial (a su forma canónica): A·X = B; Z = Ct · X II. Problema aumentado: A' ·X = B; Z* = C' t · X

Si el problema aumentado tiene solución en un vértice en el que todas las variables artificiales toman el valor cero, tendremos un vértice solución para el problema en la forma canónica.

Vs* = (v1, v2,..., vn, ..., 0,..., 0 ) solución de II ___ Vs = (v1, v2,..., vn) solución de I.

Si el problema aumentado tiene una solución en un vértice en el que alguna de sus componentes artificiales sea no nula, el problema inicial no tiene solución.

Page 83: Manual Programacion Lineal01

3.5 TALLER 1. MAXIMIZAR Z= x1 + 2x2 Sujeta a 2x1 + x2 ≤ 8 2x1 + 3x2 ≤ 12 x1, x2 ≥ 0 2. MAXIMIZAR Z= -x1 + 3x2 Sujeta a x1 + x2 ≤ 6 -x1 + x2 ≤ 4 x1, x2 ≥ 0 3. MAXIMIZAR Z= 8x1 + 2x2 Sujeta a x1 – x2 ≤ 1 x1 + 2x2 ≤ 8 x1 + x2 ≤ 5 x1, x2 ≥ 0 4. Una compañía de carga maneja envíos para 2 compañías, A y B, que se

encuentran en la misma ciudad. La empresa A envía cajas que pesan 3 libras cada una y tiene un volumen de 2 pies³; la B envía cajas de 1 pie³ con peso de 5 libras cada una. Tanto A como B hacen envíos a los mismos destinos. El costo de trasporte para cada caja de A es $7500 y para B es $5000. la compañía transportadora tiene un camión con espacio de carga para 2400 pies³ y capacidad máxima de 9200 libras. En un viaje, ¿Cuántas cajas de cada empresa debe transportar el camión para que la compañía de transportes obtenga el máximo ingreso? ¿cual es este máximo?

5. una compañía fabrica 3 productos X, Y, Z. cada producto requiere de los

tiempos de maquina y tiempo de terminado como se muestran en la tabla. Los números de horas de tiempo de maquinas y de tiempo de terminado

Page 84: Manual Programacion Lineal01

disponibles por mes son 900 y 5000 respectivamente. La utilidad por unidad X, Y y Z es $3000, $4000 y $6000 respectivamente. ¿Cual es la utilidad máxima al mes que puede obtenerse?

TIEMPO DE MAQUINA

TIEMPO DE TERMINADO

X 1 4 Y 2 4 Z 3 8

Page 85: Manual Programacion Lineal01

CAPITULO 4

ANALIS DE VARIABILIDAD

4.1 DUALIDAD 4.2 PASOS PARA CONVERTIR UN PROBLEMA PRIMAL A UNO DUAL 4.3 EJEMPLOS RESUELTOS 4.4 COMPARACION ENTRE EL METODO SIMPLEX Y DUAL – SIMPLEX 4.5 ANALISIS DE SENSIBILIDAD 4.6 TALLER

4.1 DUALIDAD

Para cada problema de programación lineal hay una asociación y una relación muy importante con otro problema de programación lineal, llamado precisamente dual. El dual permite resolver problemas de maximización resolviendo un problema minimización relacionado con aquel. El método simplex además de resolver un problema de programación lineal llegando a una solución óptima nos ofrece más y mejores elementos para la toma de decisiones. La dualidad y el análisis de sensibilidad son potencialidades de éste método

El dual es un problema de PL que se obtiene matemáticamente de un modelo primal de PL dado. Los problemas dual y primal están relacionados a tal grado, que la solución simplex óptima de cualquiera de los dos problemas conduce en forma automática a la solución óptima del otro.

Page 86: Manual Programacion Lineal01

4.2 PASOS PARA CONVERTIR UN PROBLEMA PRIMAL A UNO DUAL

1. Si el primal es un problema de maximización su dual será un problema de minimización y viceversa.

2. Los coeficientes de la función objetivo del problema primal se convierten en los coeficientes del vector de la disponibilidad en el problema dual.

3. Los coeficientes del vector de disponibilidad del problema original se convierten en los coeficientes de la función objetivo (vector de costo o precio) en el problema dual.

4. Los coeficientes de las restricciones en el problema primal, será la matriz de los coeficientes tecnológicos en el dual.

5. Los signos de desigualdad del problema dual son contrarios a los del primal. 6. Cada restricción en un problema corresponde a una variable en el otro

problema. Si el primal tiene m restricciones y n variables, el dual tendrá n restricciones y m variables. Así, las variables Xn del primal se convierte en nuevas variables Ym en el dual.

4.3 EJEMPLOS RESUELTOS

EJEMPLO 1

Encontrar el dual del siguiente problema: Maximizar Z = 3X1 + 4X2 + 2X3 Sujeta a X1 + 2X2 + 0X3 ≤ 10, 2X1 + 2X2 + X3 ≤ 10, X1, X2, X3 ≥ 0.

PROBLEMA PRIMAL EN FORMA CANONICA:

MAX Z= CX

Sujeto a:

AX ≤ b

X ≥ 0

PROBLEMA DUAL EN FORMA CANONICA:

MIN Z= BY

Sujeto a:

AY ≥ C

Y ≥ 0

Page 87: Manual Programacion Lineal01

El dual es: Minimizar W = 10Y1 + 10 Y2 Sujeta a Y1 + 2Y2 ≥ 3, 2Y1 + 2Y2 ≥ 4, 0Y1 + Y2 ≥ 2, Y1, Y2 ≥ 0.

EJEMPLO 2

Encontrar el dual del siguiente problema: Minimizar Z = 4X1+ 3X2 Sujeta a 3X1 - X2 ≥ 3, (1) X1 + X2 ≤ 1, (2) -4X1 + X2 ≤ 3, (3) Y1, Y2 ≥ 0. Debido a que es un problema de minimización, las restricciones (2) y (3) deben quedar >. Multiplicando ambos lados de (2) y (3) por -1, tendremos -X1 - X2 > -1 y 4X1 - X2 > -3. Por lo tanto: 3X1 - X2 ≥ 2, X1 - X2 ≥ -1, 4X1 - X2 ≥ -3. El dual es: Maximizar W = 2Y1 – Y2 – 3Y3 Sujeta a 3Y1 – Y2 + 4Y3 ≤ 4, -Y1 - Y2 - Y3 ≤ 3, Y1, Y2, Y3 ≥ 0.

Page 88: Manual Programacion Lineal01

4.4 COMPARACION ENTRE EL METODO SIMPLEX Y DUAL - SIMPLEX

PRIMAL DUAL Necesita para comenzar una base (primal) factible. Partiendo de una base primal factible, se trata de alcanzar una factibilidad del dual, manteniendo una factibilidad del primal a través de todo el proceso. El criterio para optimización para el primal es el criterio de factibilidad del dual. Los elementos pivote son posibles en todas las iteraciones, a fin de mantener la factibilidad del primal. La columna pivote se selecciona primero entre aquellas columnas que corresponden a un coeficiente negativo, luego se determina la fila pivote de tal manera que se garantice que la factibilidad del primal se mantenga en la próxima base. La no factibilidad del dual se establece en el simplex primal, si la columna pivote no tiene componentes con valores positivos.

Necesita para comenzar una base (dual) factible. Partiendo de una base dual factible, el método trata de alcanzar factibilidad del primal, manteniendo una factibilidad del dual a través del todo el proceso. El criterio de optimización para el dual Es el criterio de factibilidad para el primal. Los elementos pivotes son negativos en todas las iteraciones, a fin de acercarse a la factibilidad del primal. La fila pivote se selecciona primero y entre aquellas filas que tienen un valor actualizado negativo en el segundo miembro de las ecuaciones. Se determina luego la columna pivote de tal manera que se mantenga la factibilidad dual en la próxima base. La no factibilidad del primal se establece en el dual – simples, si la fila pivote no tiene componentes con valores negativos.

4.5 ANALISIS DE SENSIBILIDAD Una vez que se ha obtenido la solución óptima de un problema de programación lineal, es muchas veces necesario realizar un análisis de sensibilidad; esto es estudiar cómo cambia la solución del problema por cambios discretos que se introduzcan en los distintos coeficientes de este problema. Los cambios discretos en esos coeficientes pueden o no afectar la condición de factibilidad (XB≥0) y la llamada condición de optimalidad (todos los Zj – Cj ≥ 0 para los problemas del tipo maximización).

Page 89: Manual Programacion Lineal01

Una forma de conocer los cambios que ocurren en la solución óptima de un problema de P.L. cuando ocurren cambios (discretos) en uno o más coeficientes, es resolver completamente el nuevo problema y comparar su solución con la obtenida en el problema original. Esto puede ser, sin embargo, completamente ineficiente. Otra manera es hacer uso de las propiedades del primal-dual estudiadas anteriormente. En general, esto último reduce bastante el esfuerzo computacional, comparando con el que tendríamos que realizar si resolvemos el nuevo problema y es precisamente lo que haremos en esta sección. Después de llegar a la solución de un problema de programación lineal. Puede ocurrir que el administrador necesite hacer ciertos cambios en los recursos disponibles de la operación, en el costo de operación, en el precio de materia producido, etc. Generalmente estos cambios dan origen a un nuevo problema, y su resolución requiere recursos financieros, humanos y tiempo; pero en ocasiones no es factible gastar y esperar más por el nuevo problema creado con el cambio ocurrido en las disponibilidades. Con las propiedades del método simplex no se necesitará resolver el nuevo problema desde el principio, ya que es posible reducir muchos cálculos y ahorrar recursos y tiempo llegando a nuevas soluciones óptimas, sin resolver el problema totalmente, pues ese es el objetivo del análisis de sensibilidad. El análisis de sensibilidad permite utilizar la tabla final para realizar operaciones con objeto de analizar los siguientes cambios en el problema de programación lineal:

• Cambios en el vector de disponibilidad de recursos • Cambios en el vector de costos o precio, o sea, en los coeficientes de la

función objetivo • Adición de nuevas actividades, es decir, las variables de decisión • Aumentar el número de restricciones.

4.5.1 CAMBIOS EN EL VECTOR DE DISPONIBILIDAD Suponga el siguiente problema de programación lineal:

Max Z= 8X1 + 6X2

Sujeta a: 4X1 + 2X2 ≤ 60 2X1 + 4X2 ≤ 48

X1 + X2 ≥ 0

El presidente de la fábrica decidió aumentar 2 horas de cada día en la capacidad de los dos departamentos (la fábrica trabaja 6 días a la semana, pero los sábados trabajan hasta medio día). Al presidente le interesa saber que efectos tendrán sus decisiones sobre la solución óptima actual.

Z=132 X1= 12 X2= 6 H1= 0 H2= 0

Page 90: Manual Programacion Lineal01

Según la decisión del presidente el nuevo problema será:

Max Z= 8X1 + 2X2

Sujeto a:

4X1 + 2X2 ≤ 71

2X1 + 4X2 ≤ 59

Para resolver ese problema utilizamos la tabla final del problema anterior.

Base Variables de Decisiones

X1 X2

Variables de Holgura

H1 H2

Solución

Z 0 0 5/3 2/3 132 Final X1

X2

1 0

0 1

1/3 -1/6

-1/6 1/3

12

6

Multiplicamos la matríz de los coeficientes tecnológicos de las variables que no están en la base, al nuevo vector de disponibilidad, por consiguiente los nuevos valores de las variables básicas actuales son:

X1 1/3 -1/6 71 14

= =

X2 -1/6 1/3 59 7.5

Como X1 y X2 no son negativos la nueva solución es factible y óptima. Para encontrar el valor Z multiplicamos el vector de costo o precio al vector de la nueva solución.

14

(8,6) = 157

7.5

Supóngase que por dificultades económicas no se puede vender el producto con la misma rapidez que el año pasado, y por problemas de liquidez no es posible cubrir el sueldo de todos los trabajadores, pero como se sabe que la situación es temporal no

Page 91: Manual Programacion Lineal01

se quiere cerrar la planta completamente, así que el presidente decidió reducir la capacidad en ensamble y terminación a 56 y 25 horas respectivamente, pero su inquietud es saber qué efectos tendrán estas nuevas decisiones en el nivel de producción y en su ganancia, por consiguiente el nuevo problema será:

Max z= 8x1 + 6x2

SUJETO A:

4x1 + 2x2 ≤ 56

2x1 + 4x2 ≤ 25

Solución:

X1 1/3 -1/6 56 14.5

= =

X2 -1/6 1/3 25 -1

Como los nuevos valores de las variables de decisión tienen signo negativo violan la propiedad del simplex, o sea, cuando el sector [b] ≥ [0] la solución no es factible. Entonces la nueva solución de la segunda restricción X2= -1 no es factible; aquí el método de dual simplex llega a ser importante para restablecer la factibilidad del problema.

Base X1 X2 H1 H2 Solución Z 0 0 5/3 2/3 110

X1

X2

1

0

0

1

1/3 -1/6

-1/6 1/3

14.5

-1

Z 0 10 0 4 100 X1

X3

1

0

2

-6

0 ½

1 -2

12.5

6

Óptimo

La solución factible y óptima actual es: X1= 12.5, X2= 0, X3= 6, X4= 0, Z= 100

No se debe olvidar que para encontrar cuál recurso hay que aumentar a fin de lograr el mejor rendimiento marginal, tenemos que ver en la tabla final de dual aquella variable dual correspondiente a la restricción primal que tiene el valor positivo más alto, y el recurso que rendirá más si aumentamos unas unidades. Para más información ver la interpretación de dual.

Page 92: Manual Programacion Lineal01

4.5.2. CAMBIO AL VECTOR DE COSTO O PRECIO

Supongamos que la compañía tiene mucha mercancía almacenada que no puede vender. El presidente decide bajar el precio de la mesa a 6 pesos y el de la silla a 5 pesos, pero antes de hacer válida al decisión quiere saber qué efecto tendrá en su operación y ganancia; el nuevo problema será:

Max Z= 6X1 + 5X2

Sujeto a:

4X1 + 2X2 ≤ 60

2X1 + 4X2 ≤ 48

X1,X2≥ 0

Solución:

El análisis de sensibilidad para este tipo de cambio toma como punto de partida la solución óptima del problema original multiplicando el nuevo vector de costo o precio (valores de la función objetivo por la matriz de coeficientes tecnológicos), o sea, la matriz de los coeficientes de las variables que no están en la base de la tabla final de simplex: el resultado de esta multiplicación le llamaremos Q.

Si Q≥ 0 la solución es factible, si Q ≤ 0 la solución no es factible. Hay una mejor explicación con el procedimiento de simplex. Si la solución es factible se debe verificar que la solución sea óptima también, si no es óptima, seguimos con el procedimiento de simplex.

Para verificar si Q es el resultado de la F.O. por la matriz de coeficientes tecnológicos multiplicamos Q por la matriz de los coeficientes del dual, y llamaremos al resultado de esta multiplicación L, restamos L, con el nuevo vector de costo o precio, si el resultado es el cero; la solución es óptima si no seguimos con el procedimiento simplex.

C

(Vector de costo y precio) x Mariz de = Q

Coeficientes

Tecnológicos

Page 93: Manual Programacion Lineal01

Q matriz de las variables = L

De cual es dual

L – C = 0, la solución es óptima

1/3 -1/6

(6,5) = (7/6,2/3)

-1/6 1/3

Como Q, o verificamos la optimalidad 4 2 (7/6, 2/3) = (6,5)

2 4 Los nuevos coeficientes de la F.O. (Z) correspondientes a X1 y X2 de la tabla final de simplex son:

(8 6) – (8 5) = (2 1)

Page 94: Manual Programacion Lineal01

4.6 TALLER

En los siguientes problemas hay que encontrar solo la forma dual del ejercicio no es necesario que los resuelva, sin embargo si es su deseo hacerlo proceda.

1. MAXIMIZAR Z= 2x1 + 3x2 Sujeta a x1 + x2 ≤ 6 -x1 + x2 ≤ 4 x1, x2 ≥ 0 2. MAXIMIZAR Z= x1 + 8x2 + 5x3 Sujeta a x1 + x2 + x3 ≥ 8 -x1 + 2x2 + x3 ≥ 2 x1, x2, x3 ≥ 0 3. Una empresa esta comparando los costos de publicidad en dos medios de

comunicación: periódicos y radio. Para cada peso de publicidad la tabla que aparece en seguida presenta el numero de personas por grupo de ingresos, de cada uno de esos medios de comunicación alcanza. La empresa desea llegar a cuando menos 8000 personas de las que tienen ingresos de menos de $500.000 y cuando menos 6000 de las que ganan mas de $500.000. utilizar el dual y el método simplex para hallar las cantidades que debe invertir la empresa en publicidad en periódicos y en radio, para llegar a ese número de personas, con un costo total mínimo. ¿cual es el costo total mínimo de publicidad?

MENOS DE $500.000

MAS DE $500.000

PERIODICOS 40 100 RADIO 50 25

Page 95: Manual Programacion Lineal01

CAPITULO 5

TOPICOS AVANZADOS

5.1 INTRODUCCION 5.2 DEGENERACION EN PROGRAMACION LINEAL 5.3 METODO SIMPLEX GENERALIZADO 5.4 PROBLEMAS DE PROGRAMACION LINEAL CON VARIABLES

ACOTADAS 5.5 ALGORITMO DE DESCOMPOSICION

5.1 INTRODUCCION

Las cuatro unidades anteriores cubren los aspectos fundamentales del modelo de programación lineal. Pero este capitulo se presentan algunos tópicos avanzados relacionados con la degeneración en programación lineal, así como algoritmos para resolver problemas con estructuras especiales. Con el estudio de esta unidad entonces, es complemento natural de un primer curso de investigación de operaciones para un estudiante de ingeniería.

5.2 DEGENERACION EN PROGRAMACION LINEAL

En el desarrollo del método simple, hemos visto que si existe una solución básica factible (pero no optima) al conjunto de restricciones y en ausencia de degeneración, es posible ir combinando sucesivamente un vector de la base y alcanzar una solución optima (o una indicación de que la solución no esta acotada) en un numero finito de pasos. Para la solución de la degeneración en programación lineal existen dos métodos importantes: método de perturbación de charnes y método simplex generalizado. 1. METODO DE PERTURBACION DE CHARNES Se considera solamente la resolución de un problema particular, considerando un conjunto de problemas cuyos valores son modificados a un valor en particular. Cuando los valores no se modifican el conjunto de problemas incluye el problema original a resolver.

Page 96: Manual Programacion Lineal01

PASOS PARA OBTENER UNA SOLUCION DEGENREADA APARTIR DE LA SOLUCION BASICA

• Numeramos los vectores de tal manera que aquellos que conforman la matriz identidad estén de primero.

• Comenzando con una matriz identidad como base podemos obtener siempre una solución básica inicial para el problema perturbado.

En algunos casos no es importante hallar el valor de E (dado por algunos libros como el coeficiente que acompaña el resultado de la solución factible), ya que no es necesario en la practica porque requiere de mucho trabajo sin embargo es importante ya que demuestra que cualquier valor entre 0 y Emax puede perturbar el resultado de la solución degenerada.

2. USO DE LA TECNICA DE PERTURBACION EN EL METODO SIMPLEX EN FORMA TABULAR

Para aplicar la técnica de perturbación de Charnes con el método tabular del algoritmo simplex se resuelve de la misma forma que el método simplex para realizar el cálculo de la SBF (solución básica factible). En primer lugar consideramos las menores potencias de E porque los valores mas pequeños son los que cuentan. Claro esta que en el uso de la técnica de perturbación con el método simplex en forma tabular, debemos proveer las columnas para los vectores artificiales que se requieran. Veamos a continuación un ejemplo ilustrativo del procedimiento para seleccionar el vector que debe salir de la base y que asegurará que el ciclaje no ocurrirá.

V.B a1 x1

a2 x2

a3 x3

a4 x4

a5 x5 b

Z 0 0 0 -4 -3 0 X1 1 0 0 2 4 2 X2 0 1 0 3 1 0 X3 0 0 1 4 2 0

En la primera iteración el vector a4 entra a la base. Ahora bien, al dividir Xb/Yi4 se tiene Min {2/2;0/3;0/4}=0 (no es único)

Page 97: Manual Programacion Lineal01

El vector que sale de la base esta unívocamente determinado, puesto que XB2/Y24=XB3/Y34=0 nos movemos entonces a la primera columna y determinamos: Y21/Y24 y Y31/Y34.

Y21/Y24=0/3=0 Y31/Y34=0/4=0

En ambos casos el coeficiente es cero. Tomemos entonces la columna de a2 (segunda columna) y calculamos Y22/Y24 y Y32/Y34, o sea:

Y22/Y24=1/3; Y32/Y34=0/4=0

En este caso se obtiene el coeficiente mínimo de cero. Entonces sacamos de la base al vector a3. En otras palabras, la variable X4 entra y sale X3. el elemento pivote es entonces Y34=4. la nueva tabla será:

V.B a1 x1

a2 x2

a3 x3

a4 x4

a5 x5 b

Z 0 0 1 0 -1 0 X1 1 0 -1/2 0 3 2 X2 0 1 -3/4 0 -1/2 0 X3 0 0 1/4 1 ½ 0

Primera iteración

Con una iteración adicional obtenemos la solución óptima. A partir de la información dada en las tablas, vamos a mostrar la solución correspondiente al problema perturbado. Para la primera tabla de acuerdo a la ecuación n+s

Xb(E) = Xb + ∑ E ^ (j)Yj j=1

Page 98: Manual Programacion Lineal01

Tenemos: XB1 (E) = 2 + E +2E^(4) +4E^(5) XB2 (E) = 0 + E^(2) +3E^(4) +E^(5) XB3 (E) = 0 + E^(3) +4E^(4) +2E^(5) Z(E) = 0 Los nuevos valores XnBi(E) cuando se incorpora el vector a4 se obtiene la segunda tabla y son los siguientes: XnB1 (E) = 2 + E^(3) –(1/2)E^(3) +3E^(5) XnB2 (E) = E^(2) –(3/4) E^(3) –(1/2)E^(5) XnB4 (E) = 1/4E^(3) + 4E^(4) +2E^(5) ZN(E) = E^(3) + 4E^(4) + 2E^(5) Para los valores pequeños de E los XBi(E) son positivos. A demás ZN(E) > Z(E).

5.4 METODO SIMPLEX GENERALIZADO

Esta técnica utiliza el concepto de vectores ordenados lexicográficamente. Un vector X es lexicográficamente positivo (y se denota por X>0) y su primer componente distinto de 0 es positivo. Dicho de otra manera, si examinamos el vector X de izquierda a derecha y encontramos que la primera componente distinta de cero es positiva, entonces el vector es lexicográficamente positivo. • Selección del vector que entra en la base El vector que entra en la base en cualquier iteración se determina de la misma manera que el método simplex común, de hecho es el mismo vector que entraría si tratáramos con la solución básica factible XB del problema original. • Selección del vector que sale de la base Para determinar el vector que sale de la base podemos utilizar una generalización de la formula usual;

XBr/Yrk = min{ XBi/Yik, Yik > 0} i EJEMPLO

Page 99: Manual Programacion Lineal01

Utilicemos el mismo ejemplo anterior para mostrar la solución obtenida utilizando el método simplex generalizado.

V.B x1 x2 x3 x4 x5 b Z 0 0 0 -4 -3 0

X1 1 0 0 2 4 2 X2 0 1 0 3 1 0 X3 0 0 1 4 2 0 Z 0 0 1 0 -1 0

X1 1 0 -1/2 0 3 2 X2 0 1 -3/4 0 -1/2 0 X3 0 0 1/4 1 1/2 0

Para la tabla inicial XB1=(2,1,0,0) XB2=(0,0,1,0) XB3=(0,0,0,1) Z=(0,0,0,0) Todos los vectores de las variables son lexicográficamente positivos. Para la segunda tabla se tiene XBN1=(2,1,0,-1/2) XBN2=(0,0,1,-3/4) XBN=(0,0,0,-1/4) ZN=(0,0,0,1) Los nuevos vectores de las variables son también lexicográficamente positivos y además ZN > Z. 5.4 PROBLEMAS DE PROGRAMACION LINEAL CON VARIABLES ACOTADAS

En un problema de programación lineal, frecuentemente ocurre que un cierto numero de restricciones sin de la forma: 0<Xj <uj o bien 0< lj<X. estos tipos de restricciones se denominan restricciones de variables acotadas; en el primer tipo las variables tienen cotas superiores y en el segundo tipo tienen cotas inferiores. En un problema de programación lineal donde el número de restricciones de variables acotadas es pequeño, se puede aplicar directamente el método simplex

Page 100: Manual Programacion Lineal01

convencional sin tener inconveniente con el crecimiento de la base. Sin embargo, si este número de restricciones es grande, entonces el tamaño de la base puede ser tal que la aplicación directa del método simplex convencional resulte poco eficiente.

5.5 ALGORITMO DE DESCOMPOSICION

INTRODUCCION

Frecuentemente se presentan problemas de programación lineal de gran tamaño y con una estructura especial, los cuales son computacionalmente imposibles de resolver. Un ejemplo típico ocurre cuando cada una de las actividades tiene el mismo tiempo recursos propios y recursos compartidos con otras actividades. A este tipo de problemas se les suele aplicar un procedimiento de descomposición, el cual consiste en dividir el problema original en subproblemas de más fácil manejo y luego resolver estos últimos casi independientemente.

PRINCIPIO DE DESCOMPOSICION

Los problemas de programación lineal con un gran numero de restricciones y una estructura especial, son a menudo computacionalmente difíciles de resolver, puesto que el tiempo de de solución se incrementa considerablemente con el numero de restricciones. Esto hace que sea conveniente utilizar el llamado principio de descomposición, o sea, dividir el problema original en un cierto número de subproblemas, resolver estos últimos casi independientemente y luego reunir las partes para obtener la solución optima.

ALGORITMO DE DESCOMPOSICION

Pasos:

1. reducir el problema original de la forma modificada en función de las nuevas variables.

2. encontrar una SBF al problema modificado. A menudo es necesario utilizar la técnica de las variables artificiales.

3. para la iteración en curso y para cada subproblema determine un valor optimo utilizando la relación:

Minimizar Wj = (CB R0 Aj – Cj)Xj Sujeto A: BjXj=bj Xj≥0

Page 101: Manual Programacion Lineal01

Luego determine β(punto optimo)=min{βj} para todo j. si β≥0, la solución presente es optima; en el caso contrario vaya al paso 4.

4. introduzca la variable que sea de la solución optima correspondiente a β y calcule B exp(-1). Vaya al paso 2.

Page 102: Manual Programacion Lineal01

FUENTES DOCUMENTALES

DOCUMENTOS IMPRESOS: THA, Hamdy A. Investigación de operaciones. Editorial Alfaomega, 5 edición 1.995. EPPEN, Gould y Schimidt. Investigación de operaciones en las Ciencias de Ingeniería. Editorial Prentice may, 3 edición GALLAGHER, Watson. Métodos Cuantitativos para la Toma de decisiones. Editorial McGraw Hill SHAMBLIN, James. Investigación de Operaciones. KAUFMANN , A. Faure R. Invitación a la investigación de operaciones. 7 edición. C:E:C:S:A MARTHUR Y SOLOW. Investigación de Operaciones. Editorial Prentice Hall. SASIENI, Yaspan. Investigación de operaciones. México. Limusa. BARROS,Oscar. Investigación operativa análisis de sistemas. Chile, Universitaria. MORA, Jose Luis. Investigación de operaciones e informática. Editorial Trillas. PRAWDA, Juan. Métodos y Modelos de investigación de operaciones. Editorial Limusa, 1.979. Tomo I THIERAUF, Robert. Introducción a la investigación de operaciones. Editorial Limusa 1.982 HADLEY G. Linear Programming. Editorial Addison-Wesley. 1969 GASS, Saul I. Linear Programming. Methods and Applications. Editorial McGraw Hill. 1969. Revistas:

• ters & Industrial Engineering. • Computers & Operations Research. • IIE Solutions. • Industrial Engineering. • Industrial World en Español. • International Journal of Operations & Production Management. • Management Science.

Page 103: Manual Programacion Lineal01

• Manufacturing Engineering. • Mathematical Programming. • Mathematics of Operations Research. • Operations Research.

SOFTWARE EDUCATIVOS: CPLEX NETPLOW OPTIMA PAFO SOCRATES MATLAB SIAM 2000 PIMAD DIRECCIONES SITIOS WEB: SUN W. NASDAQ. TODAS LAS DIRECCIONES QUE LLEVEN A INVESTIGACIÓN DE OPERACIONES.