módulo programación líneal

97
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA ESCUELA DE CIENCIAS BÁSICAS E INGENIERÍA UNIDAD DE CIENCIAS BÀSICAS MÓDULO PROGRAMACIÓN LINEAL GLORIA LUCIA GUZMÁN ARAGÓN UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA NEIVA (HUILA), 2.007

Upload: fausto-alexander-gomez-pelaez

Post on 30-Dec-2014

58 views

Category:

Documents


14 download

TRANSCRIPT

Page 1: Módulo Programación Líneal

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

MÓDULO

PROGRAMACIÓN LINEAL

GLORIA LUCIA GUZMÁN ARAGÓN

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

NEIVA (HUILA), 2.007

Page 2: Módulo Programación Líneal

TABLA DE CONTENIDOS INTRODUCCIÓN JUSTIFICACIÓN INTENSIONALIDADES FORMATIVAS a. PROPOSITOS OBJETIVOS Objetivo general Objetivos específicos: b. METAS c. COMPETENCIAS 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

Page 3: Módulo Programación Líneal

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 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: Módulo Programación Líneal

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: Módulo Programación Líneal

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: Módulo Programación Líneal

El curso es de carácter teórico y la metodología a seguir será bajo la estrategia de educación a distancia. Por tal razón es importante planificar el proceso de:

Estudio independiente: Se desarrolla a través del trabajo personal y del trabajo en pequeños grupos colaborativos de aprendizaje.

Acompañamiento tutorial: Corresponde al acompañamiento que el tutor realiza al estudiante para potenciar el aprendizaje y la formación.

El Sistema de evaluación del curso es a través de la evaluación formativa, que constituye diferentes formas de comprobar el avance en el auto aprendizaje del curso. En este sentido se realizarán tres tipos de evaluación alternativas y complementarias, estas son:

Autoevaluación: evaluación que realiza el estudiante para valorar su propio proceso de aprendizaje.

Coevaluación: Se realiza a través de los grupos colaborativos, y pretende la socialización de los resultados del trabajo personal.

Heteroevaluación: Es la valoración que realiza el tutor. El sistema de interactividades vincula a lo9s actores del proceso mediante diversas actividades de aprendizaje que orientan el trabajo de los estudiantes hacia el logro de los objetivos que se pretenden, de la siguiente manera:

Tutor-estudiante: a trasvés del acompañamiento individual Estudiante-estudiante: mediante la participación activa en los grupos

colaborativos de aprendizaje. Estudiantes-Tutor: a través del acompañamiento a los pequeños grupos

colaborativos de aprendizaje. Tutor-Estudiantes: mediante el acompañamiento en el grupo de curso. Estudiantes-Estudiantes: en los procesos de socialización que se realizan

en el grupo de curso. Para el desarrollo del curso es importante el papel que juega los recursos tecnológicos como medio activo e interactivo, buscando la interlocución durante todo el proceso de diálogo docente-estudiante

Los materiales impresos en papel, se han convertido en el principal soporte para favorecer los procesos de aprendizaje autodirigido.

Sitios Web: propician el acercamiento al conocimiento, la interacción y la producción de nuevas dinámicas educativas.

Sistemas de interactividades sincrónicas: permite la comunicación a través de encuentros presenciales directos o de encuentros mediados ( Chat, audio conferencias, videoconferencias, tutorías telefónicas)

Sistemas de interactividades diferidas: permite la comunicación en forma diferida favoreciendo la disposición del tiempo del estudiante para su proceso de aprendizaje, mediante la utilización de correo electrónico, foros grupos de discusión, entre otros.

Page 7: Módulo Programación Líneal

El acceso a documentos adquiere una dimensión de suma importancia en tanto la información sobre el tema exige conocimientos y planteamientos preliminares, por tal razón es imprescindible el recurso a diversas fuentes documentales y el acceso a diversos medios como son: bibliotecas electrónicas, hemerotecas digitales o impresas, sitios Web especializados. En la medida en que usted adquiera el rol de estudiante, interiorice y aplique los puntos abordados anteriormente, podrá obtener los logros propuestos en este curso, así como un aprestamiento en los enfoques y métodos de la programación lineal, mediante la estrategia de la educación a distancia.

Page 8: Módulo Programación Líneal

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. Las competencias que promueve el curso y que son necesarias son: COGNITIVA: Capacidad de apropiarse de un conjunto de conocimientos a través del desarrollo, monitoreo y aplicación de procesos de pensamiento. COMUNICATIVA: Capacidad de comprender, expresar mensajes y de desarrollar procesos argumentativos, apoyados por la asertividad en las relaciones interpersonales. CONTEXTUAL: Capacidad de ubicar el conocimiento en el contexto científico, político, cultural, tecnológico, social y en el plano nacional e internacional, así como la disposición y capacidad para aplicarlo en procesos de transformación que inciden en la calidad de vida de la población. VALORATIVA: Capacidad de apropiarse de valores como el respeto a la vida. La dignidad humana, la convivencia la solidaridad, la tolerancia y la libertad que orientan las acciones del individuo como persona, como ser social y como profesional. Para el logro de estas competencias, es necesario que se planifique de manera responsable el proceso de auto estudio por parte del estudiante si se quieren

Page 9: Módulo Programación Líneal

lograr resultados positivos en el aprendizaje de los conceptos incluidos en el curso, este proceso se puede planificar de la siguiente manera:

Auto estudio: Estudio individual del material sugerido y consulta de otras fuentes ( documentales, consulta en biblioteca, Internet, bibliografía recomendada, consulta a bases de datos documentales, entre otros)

Trabajo en grupo: Creación de grupos de estudio o discusión con el propósi8to de preparar consultas estructuradas al docente tutor.

Consultas al tutor de las inquietudes surgidas en el punto anterior. Retroalimentación: Una vez el tutor haya resuelto las inquietudes, estudia

nuevamente el tema, teniendo en cuenta las sugerencias o respuestas dadas por el tutor.

Procesos de evaluación: Una vez se halla realizado el proceso de retroalimentación, desarrolle los diferentes momentos de evaluación propuesta para el curso como son la auto evaluación, la coevaluación y la heteroevaluación.

De esta manera se pretende alcanzar los objetivos propuestos del curso y de la programación lineal en la solución de problemas de aplicación.

Page 10: Módulo Programación Líneal

INTENSIONALIDADES FORMATIVAS

PROPOSITOS

• Construir modelos de programación lineal que permita describir una

situación dada en forma apropiada y así manipular los datos en forma ordenada y eficiente.

• Apropiarse de los diferentes métodos y técnicas para resolver problemas de programación lineal.

• Operar las soluciones planteadas a través de los diferentes métodos y tener en cuenta las condiciones variables, es decir realizar el análisis de sensibilidad correspondiente.

• Permitir que los estudiantes resuelvan problemas del campo de la ciencia, la tecnología e ingeniería, con los conocimientos interiorizados del curso académico en mención.

• Fomentar en el estudiante características que deben identificarlo en su desempeño y actuación profesional de la Ingeniería.

OBJETIVO GENERAL Formular, obtener y analiza soluciones a problemas de programación lineal en especial los referidos a optimización de recursos. OBJETIVOS ESPECÍFICOS:

• 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.

Page 11: Módulo Programación Líneal

METAS Al terminar el curso de programación lineal, el estudiante:

• Identificará conceptos fundamentales de la programación lineal • Reconocerá los diversos métodos y técnicas para solucionar problemas de

programación lineal. • Valorará la importancia que tiene la programación lineal en situaciones

organizacionales para las empresas en el mundo moderno. • Planteará y resolverá problemas en diferentes campos del saber, haciendo

un proceso de abstracción de escenarios conocidos a escenarios desconocidos de las temáticas estudiadas.

COMPETENCIAS

• El estudiante comprende e interpreta adecuadamente los conceptos de programación lineal, como función objetivo, restricciones, variables, optimalidad, sensibilidad.

• El estudiante identifica y maneja los diferentes métodos y técnicas para solucionar problemas que involucran la programación lineal.

• El estudiante aprende a compartir los conocimientos adquiridos con sus compañeros, con su tutor y en general con la comunidad educativa.

• El estudiante adquiere destreza en el manejo de las TIC, en su formación académica, por medio del uso de medios y mediaciones que la UNAD le ofrece.

Page 12: Módulo Programación Líneal

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 tecnología y la internacionalización creciente, son razones suficientes para desarrollar modelos que optimicen los resultados en estos campos del saber .

Page 13: Módulo Programación Líneal

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.

Aldemar
Rectangle
Aldemar
Rectangle
Page 14: Módulo Programación Líneal

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

Aldemar
Rectangle
Aldemar
Rectangle
Page 15: Módulo Programación Líneal

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 16: Módulo Programación Líneal

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 17: Módulo Programación Líneal

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 18: Módulo Programación Líneal

CAPITULO DOS

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

.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 19: Módulo Programación Líneal

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 20: Módulo Programación Líneal

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 21: Módulo Programación Líneal

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)

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

Page 22: Módulo Programación Líneal

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?

Primero dibujamos la curva que delimita el conjunto.

Page 23: Módulo Programación Líneal

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

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

Page 24: Módulo Programación Líneal

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

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:

Page 25: Módulo Programación Líneal

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.

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.

Page 26: Módulo Programación Líneal

¿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:

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).

Page 27: Módulo Programación Líneal

Y por otro lado para determinar el conjunto x-y=1 comprobamos que 0-0= 1 por tanto 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.

Page 28: Módulo Programación Líneal

INTERSECCIÓN DE CONJUNTOS CONVEXOS.

EJEMPLO.

Sean los siguientes conjuntos convexos:

Si los representamos tendremos:

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

Se puede ver que la intersección es el conjunto

Page 29: Módulo Programación Líneal

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.

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 30: Módulo Programación Líneal

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.

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

Page 31: Módulo Programación Líneal

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

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

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

Page 32: Módulo Programación Líneal

Al dibujar el segmento que une dichos puntos tenemos:

Consideremos otro par de puntos por ejemplo

Si los dibujamos considerando

Obtenemos

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.

Page 33: Módulo Programación Líneal

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

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

se obtiene

si ahora dibujamos el segmento que une los puntos

Page 34: Módulo Programación Líneal

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.

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)

Page 35: Módulo Programación Líneal

(f) En el recinto (0,3 )

SOLUCIONES:

a. ESTRICTAMENTE CONVEXA

b. ESTRICTAMENTE CONVEXA

Page 36: Módulo Programación Líneal

c. ESTRICTAMENTE CONVEXA

d. ESTRICTAMENTE CONCAVA

e. estrictamente CONCAVA

f. ESTRICTAMENTE CONVEXA

Page 37: Módulo Programación Líneal

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.

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.

Page 38: Módulo Programación Líneal

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.

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.

Page 39: Módulo Programación Líneal

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

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

Page 40: Módulo Programación Líneal

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

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.

Page 41: Módulo Programación Líneal

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.

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

Page 42: Módulo Programación Líneal

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 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:

Page 43: Módulo Programación Líneal

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 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:

Page 44: Módulo Programación Líneal

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 • 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

n ... 2, 1, j 0x

m ... 2, 1,i donde bxa

:a sujeto

xc (z)Max

j

i

n

1jjij

n

1jjj

=≥

=≤

=

=

=

Page 45: Módulo Programación Líneal

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 46: Módulo Programación Líneal

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

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

Page 47: Módulo Programación Líneal

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 ≤.

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

Page 48: Módulo Programación Líneal

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. 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

Page 49: Módulo Programación Líneal

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 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:

Page 50: Módulo Programación Líneal

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 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

Page 51: Módulo Programación Líneal

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 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

Page 52: Módulo Programación Líneal

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). 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)

Page 53: Módulo Programación Líneal

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 54: Módulo Programación Líneal

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.

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.

Page 55: Módulo Programación Líneal

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: 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:

Page 56: Módulo Programación Líneal

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

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 :

Page 57: Módulo Programación Líneal

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 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:

Page 58: Módulo Programación Líneal

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 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

Page 59: Módulo Programación Líneal

(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 60: Módulo Programación Líneal

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 x, y ≥ 0

Page 61: Módulo Programación Líneal

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 62: Módulo Programación Líneal

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

Existen cuatro variables de holgura, S1, S2, S3, y S4; una para cada restricción.

Page 63: Módulo Programación Líneal

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 64: Módulo Programación Líneal

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

Variable Entrante

Page 65: Módulo Programación Líneal

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 66: Módulo Programación Líneal

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

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.

Page 67: Módulo Programación Líneal

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. 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

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 68: Módulo Programación Líneal

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 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

Page 69: Módulo Programación Líneal

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:

-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:

Page 70: Módulo Programación Líneal

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

Tabla 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 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.

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 71: Módulo Programación Líneal

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).

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:

Page 72: Módulo Programación Líneal

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 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

Page 73: Módulo Programación Líneal

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:

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.

Page 74: Módulo Programación Líneal

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

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

Page 75: Módulo Programación Líneal

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,

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

Page 76: Módulo Programación Líneal

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.)

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).

Page 77: Módulo Programación Líneal

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

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 78: Módulo Programación Líneal

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 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?

Page 79: Módulo Programación Líneal

TIEMPO DE MAQUINA

TIEMPO DE TERMINADO

X 1 4 Y 2 4 Z 3 8

Page 80: Módulo Programación Líneal

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.

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

Page 81: Módulo Programación Líneal

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. El dual es: Minimizar W = 10Y1 + 10 Y2 Sujeta a Y1 + 2Y2 ≥ 3, 2Y1 + 2Y2 ≥ 4, 0Y1 + Y2 ≥ 2, Y1, Y2 ≥ 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 82: Módulo Programación Líneal

EJEMPLO 2

Encontrar el dual del siguiente problema: Minimizar Z = 4X1+ 3X2 Sujeta a 3X1 - X2 ≥ 3, (11) X1 + X2 ≤ 1, (12) -4X1 + X2 ≤ 3, (13) Y1, Y2 ≥ 0. Debido a que es un problema de minimización, las restricciones (12) y (13) deben quedar >. Multiplicando ambos lados de (12) y (13) 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 83: Módulo Programación Líneal

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). 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

Page 84: Módulo Programación Líneal

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

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

Max Z= 8X1 + 2X2

Sujeto a:

Page 85: Módulo Programación Líneal

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 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

Page 86: Módulo Programación Líneal

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.

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:

Page 87: Módulo Programación Líneal

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

Q matriz de las variables = L

De cual es dual

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

Page 88: Módulo Programación Líneal

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 89: Módulo Programación Líneal

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 90: Módulo Programación Líneal

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. 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.

Page 91: Módulo Programación Líneal

• 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) 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

Page 92: Módulo Programación Líneal

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 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)

Page 93: Módulo Programación Líneal

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 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

Page 94: Módulo Programación Líneal

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 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.

Page 95: Módulo Programación Líneal

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 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 96: Módulo Programación Líneal

FUENTES DOCUMENTALES

DOCUMENTOS IMPRESOS: TAHA, 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. • Manufacturing Engineering. • Mathematical Programming.

Page 97: Módulo Programación Líneal

• 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.