147
1 “CURSO DE INVESTIGACION OPERATIVA 1

Apunte Investigación Operativa I

Embed Size (px)

Citation preview

Page 1: Apunte Investigación Operativa I

1

“CURSO DE

INVESTIGACION

OPERATIVA 1 ”

Page 2: Apunte Investigación Operativa I

2

INDICE

Página CAPÍTULO I: ASPECTOS INTRODUCTORIOS .................................................................... 4

1.1.- INTRODUCCIÓN.......................................................................................................... 4 1.2.- DEFINICIÓN DEL PROBLEMA Y RECOLECCIÓN DE DATOS ............................ 6 1.3.- FORMULACIÓN DE UN MODELO MATEMÁTICO................................................ 7 1.4.- OBTENCIÓN DE UNA SOLUCIÓN A PARTIR DE UN MODELO.......................... 8 1.5.- PRUEBA DEL MODELO.............................................................................................. 9 1.6.- PREPARACIÓN PARA LA APLICACIÓN DEL MODELO ...................................... 9

CAPÍTULO II: PROGRAMACIÓN LINEAL ......................................................................... 11

2.1.- INTRODUCCIÓN........................................................................................................ 11 2.2.- RESOLUCIÓN DE UN PROBLEMA DE PROGRAMACIÓN LINEAL (PPL) MEDIANTE EL MÉTODO GRÁFICO (DOS VARIABLES DECISIONALES) .......................................... 13

2.2.2.- Análisis De Casos Excepcionales.......................................................................... 19 2.2.2.1.- Solución No Acotada...................................................................................... 19 2.2.2.2.- Acotamiento.................................................................................................... 20 2.2.2.3.- Inconsistencia ................................................................................................. 21 2.2.2.4.- No Factibilidad ............................................................................................... 21

2.3.- FORMULACIÓN DE PROBLEMAS DE PROGRAMACIÓN LINEAL .................. 22 2.4.- MÉTODO SIMPLEX DE LA PROGRAMACIÓN LINEAL...................................... 26

2.4.1.- Reglas De Programación Lineal ............................................................................ 27 2.4.2.- Terminología Básica.............................................................................................. 29 2.4.3.- Teoría del Problema Del Programación Lineal..................................................... 30 2.4.4.- Obtención de una Solución Básica Factible .......................................................... 31

2.4.4.1.-Forma Matricial ............................................................................................... 32 2.4.5.- Pasos del método simplex...................................................................................... 33 2.4.6.- Interpretación Económica...................................................................................... 35

2.5.- METODO DE LA GRAN M........................................................................................ 37 2.6.- METODO DE DOBLE FASE...................................................................................... 40 2.7.- CASOS ESPECIALES DE PPL MEDIANTE TABLEAU ......................................... 43

2.7.1.- Problema Con Soluciones Óptimas No acotado....................................................43 2.7.2.- Problema Con Soluciones Óptimas Múltiples...................................................... 45 2.7.3.- Problema Sin Soluciones o Infactible.................................................................... 47 2.7.4.- Problema Con Soluciones Degeneradas ................................................................ 48

La resolución mediante el método simplex es: ......................................................................... 49 CAPITULO III: DUALIDAD Y ANÁLISIS DE SENSIBILIDAD.. ....................................... 51

3.1.- DUALIDAD ................................................................................................................. 51 3.1.1.- Formulación del Problema Dual. ........................................................................... 51 3.1.2.- Teoremas de Dualidad ........................................................................................... 55 3.1.4.- Solución Del Problema Dual ................................................................................. 56 3.1.5.- Interpretación Económica De Las Variables Duales ............................................. 59 3.1.6.- Método Simplex Dual............................................................................................ 60 3.1.7.- Transformación de Tabla Óptima Primal a una Tabla Óptima Dual..................... 62

3.2.- ANÁLISIS DE SENSIBILIDAD Y PROGRAMACIÓN PARAMÉTRICA (ANÁLISIS POST-OPTIMAL)............................................................................................................................ 65

3.2.1.- Análisis De Sensibilidad Para Cambios Discretos ................................................ 65

3.2.1.1.-Cambios Del Vector br

: ................................................................................ 65 3.2.1.2.-Cambios En El Vector C

r: ............................................................................... 68

3.2.1.3.- Cambio En El Coeficiente Tecnológico ja Cuando J No Es Básico:........... 73

3.2.1.4.- Adiciones De Nuevas Actividades jX :.......................................................... 75

3.2.1.5.- Adición De Nuevas Restricciones: ................................................................. 77 3.2.2.- Cambios Continuos Y Programación Paramétrica ................................................ 80

3.2.2.1.- Cambio Continuo En El Vector Cr

................................................................. 80 3.2.2.2.- Cambio Continuo En El Vector b

r................................................................. 86

3.2.2.3.- Cambio Continuo En Una Columna Tecnológica No Básica ja De A........... 88

Page 3: Apunte Investigación Operativa I

3

CAPITULO III: PROBLEMA DE TRANSPORTE, TRANSBORDO Y ASIGNACIÓN...... 92

3.1.- MODELO DE TRANSPORTE .................................................................................... 92 3.1.1.- Estructura de Transporte........................................................................................ 93 3.1.2.- Algoritmo de Transporte........................................................................................ 94

3.1.2.1.- Método Del Extremo Noroccidental (MEN) .................................................. 96 3.1.2.2.- Método De Vogel ........................................................................................... 99 3.1.2.4.- Método del Costo Mínimo............................................................................ 105 3.1.2.4.- Desarrollo Algoritmo De Transporte............................................................ 111

3.1.3.- Problemas de Transporte Degenerados ............................................................... 120

Page 4: Apunte Investigación Operativa I

4

CAPÍTULO I: ASPECTOS INTRODUCTORIOS

1.1.- INTRODUCCIÓN El origen de la investigación de operaciones (IO) surge durante la segunda guerra mundial, cuando existía una necesidad urgente de asignar recursos escasos a las distintas operaciones militares y actividades dentro de cada operación en la forma más efectiva. La fuerza aérea Británica formó el primer grupo de IO, aunque se acepta como origen de la investigación de operaciones al tiempo de la división y especialización del trabajo; junto a ello, fueron apareciendo nuevos tipos de problemas cada vez más complejos y especializados en donde, generalmente, se pierde el horizonte de solución del todo (objetivo general) por lo específico (objetivo particular), creándose el problema de asignación de recursos. Hay dos factores que ayudan al desarrollo de esta temática: primero, es el gran conocimiento desarrollado y adquirido en esta área producto de la especialización del trabajo y técnicas productivas, a modo de ejemplo: el método Simplex para resolver problemas de programación lineal (por Dantzig), así como: también programación dinámica, líneas de espera, teoría de inventarios, etc. El segundo factor fue el avance computacional, ya que disminuyó el tiempo de resolución de problemas muy tediosos y largos por forma manual, por lo cual, se implementaron muchos programas asociados a estas temáticas. En el caso particular de Chile, hablar de investigación de operaciones es solo es posible en grandes empresas o grupos de empresas comunes, ya que el costo de infraestructura y de equipos especializados junto al desconocimiento de las mismas, hace poco probable la utilización de las diferentes técnicas en las PYMES. La investigación de operaciones se ocupa de la modelación cuantitativo (matemático) de sistemas reales de administración complejos y que permitan tomar una decisión óptima, utilizando tanto técnicas y metodologías científicas como experimentales. La IO se aplica a problemas que se refieren a la conducción y coordinación de operaciones (o actividades) dentro de una organización, aplicándose a la manufactura, transportes, la construcción, telecomunicaciones, planeación financiera, salud, etc, es decir, para todo o cualquier tipo de generación de algún producto, entendiéndose por un bien o servicio. Categorías de problemas:

• Problemas determinísticos: Son aquellos en que toda la información necesaria para obtener una solución se conoce con certeza.

• Problema estocástico: Son aquellos en que parte de la información necesaria no se conoce con certeza, sino más bien se comporta de una manera probabilística.

Tipos de decisiones:

• Decisiones estratégicas: Una decisión de una sola vez que involucra políticas con consecuencia a largo plazo para la organización. Ej. Expansión de líneas de producción, Políticas de administración de inventarios.

• Decisiones operacionales: Una decisión que implica aspectos de planificación de corto plazo que, generalmente, se deben hacer repetidamente. Ej. Programación de la producción.

Pasos de la investigación de operaciones:

• Observación cuidadosa y definición del problema, incluyendo la toma de datos. • Construcción del modelo científico (generalmente matemático) que es una abstracción de la

realidad, aquí se propone la hipótesis de que el modelo es una buena representación de la realidad, para que así las conclusiones o soluciones sean válidas para el problema real.

• Realización de experimentos para probar la hipótesis • Validación del modelo. • Conclusiones.

Page 5: Apunte Investigación Operativa I

5

La IO apunta a la solución más efectiva del todo, no de un componente o elemento en particular, es por ello que busca una mejor solución (solución óptima) para el problema en cuestión. Se dice una mejor solución y no la mejor solución, porque puede haber varias mejores soluciones (empate), en estos casos prevalece el juicio del tomador de decisiones en la elección final. Las hipótesis que se plantean son:

• Método que represente el sistema real • Las soluciones y conclusiones son válidas para el problema real

Según Ackoff y Sasiene, las características esenciales de la IO, expresadas en estas definiciones son:

• Su orientación de sistemas • El uso de equipos multidisciplinarios • La aplicación del método científico a problemas de control

Para atacar de una buena forma problemas reales de IO se necesita grupos interdisciplinarios, así se tienen diferentes enfoques o perspectivas de solución. La IO se base, generalmente, en lo cuantitativo, pero esto no significa que siempre sea así. De esta manera, los modelos de IO se representan a través de ecuaciones, que aunque puedan resultar complicadas desde el punto de vista matemático, tienen una estructura matemática fundamental muy sencilla.

( )

),(

:

,

ii

ii

yxf

sa

YXfU =

Donde: U : utilidad o valor de la ejecución del sistema. Se le denomina función objetivo xi : variable o constante no controlable, pero que afecta a U, se le denomina variables

exógenas al modelo. yi : son variables controlables, se les denomina variables endógenas. Además, se requiere de una o más ecuaciones o inecuaciones para expresar el hecho de que algunas variables controlables o todas, pueden manejarse solo dentro de ciertos límites o rangos.

Page 6: Apunte Investigación Operativa I

6

Luego, se resuelve el modelo matemático, encontrando los valores de las variables controlables que optimizan el sistema bajo estudio. La solución del sistema puede obtenerse mediante la simulación del mismo por medio de análisis matemático. Los valores de optimización de la solución, mejora la ejecución del sistema solo si el modelo es una buena representación del mismo, por lo tanto, debe probarse la correspondencia del modelo a la realidad y valorar la solución. Las principales etapas que se describen, se deben entender como guías para la selección y adopción del problema y su solución. Pueden ser evolutivas iterativas dependiendo de la información disponible. Las tareas principales que se deben, en general, ejecutar en cada etapa son: Identificar, analizar, evaluar, ordenar, y priorizar los elementos que la componen. La secuencia descrita en el punteo no es, por lo tanto, imperativa. Una manera de resumir las etapas usuales (no secuenciales) de un estudio de IO es el siguiente:

• Definición del problema de interés y recolección de datos relevantes. • Formulación de un modelo matemático que representa el problema. • Desarrollo de un procedimiento basado en computación para derivar una solución al

problema a partir del modelo. • Prueba del modelo y mejoramiento, según sea necesario. • Preparación para la aplicación del modelo descrito por la administración. • Puesta en marcha.

1.2.- DEFINICIÓN DEL PROBLEMA Y RECOLECCIÓN DE DATO S Generalmente, los problemas están descritos de una manera vaga y muy general, lleno de datos que sirven, pero algunos son innecesarios, por lo menos, para el objetivo que se quiere cumplir, por ello, lo primero que se debe hacer al enfrentarse a un problema es el estudio del sistema relevante y realizar un resumen bien definido de lo que se pretende analizar, esto incluye objetivos apropiados, restricciones, interrelaciones del área bajo estudio con otras áreas de la organización, cursos de acción posibles, límites de tiempo para tomar la decisión correspondiente, etc. Este proceso de definir el problema es crucial, ya que de ello depende el tipo y calidad de la solución que se obtenga. Se debe definir en forma clara y explicita, para obtener una respuesta correcta a partir del problema correcto; debe existir un acuerdo completo de entre las personas que participen en el estudio, además de una medida clara y explícitamente establecida, de efectividad que esté en armonía con los objetivos o metas globales de la organización. El equipo de IO o analistas de operaciones son los que plantean soluciones en un sentido de asesoría a los reales tomadores de decisiones, pero estos deben apoyar de igual forma a este equipo. La IO se encarga del bienestar de toda la organización o estudio, no del bien de un departamento específico o elemento en particular, buscando soluciones óptimas globales y no soluciones subóptimas. En organizaciones con fines de lucro, generalmente, se usa la maximización de la ganancia a largo plazo, evitando problemas de suboptimización, obviamente considerando el valor del dinero en el tiempo, lo de largo plazo proporciona la flexibilidad de las actividades que no se traducen inmediatamente en ganancias (ejemplo investigación y desarrollo), pero siempre hay que tener en cuenta que no es el único tipo de objetivo a cumplir, esto dependerá del criterio a satisfacer por los demandantes del estudio (ejemplo una empresa).

Page 7: Apunte Investigación Operativa I

7

Generalmente hay 5 elementos involucrados en las decisiones sociales en un país: • Los dueños (accionistas, etc.) que desean obtener ganancias (dividendos, valuación de las

acciones, etc.). • Los empleados que desean un empleo seguro con sueldos razonables. • Los clientes que quieren un producto confiable a un precio justo. • Los vendedores que piensan en la integridad y el precio justo de venta para los productos

que manejan. • El gobierno, por ende la Nación, que quiere el pago de impuestos justos y que se tome en

cuenta el interés nacional. Hay que tener cuidado al recolectar los datos, ya que generalmente son datos insuficientes o a veces los datos proporcionados son obsoletos, por ello, hay que revisar que la base de datos recolectada sea actualizada a los objetivos del estudio.

1.3.- FORMULACIÓN DE UN MODELO MATEMÁTICO Los encargados del estudio deberán decidir sobre el modelo mas adecuado para representar la esencia del sistema en estudio, recordando siempre que es sólo “una aproximación de un sistema real”. El modelo expresará el problema de “elegir valores para las variables de decisión que optimicen una función objetiva, sujetos al cumplimiento de restricciones dadas”. Tiene la ventaja de ser conciso, comprensible, explicitar las relaciones causa-efecto, clasificar los datos importantes para el análisis, y facilitar el manejo posibilitando el uso de computadores. Posee algunas desventajas ya que un modelo es sólo una aproximación de un sistema real para hacerlo manejable y debe ser validado y probado para mejorar su exactitud de predicción. Su construcción es evolutiva o iterativa, debiendo comenzarse en forma sencilla y se va mejorando, hasta lograr un equilibrio deseado entre precisión y manejo. El análisis hecho previamente hay que ordenarlo y presentarlo de la manera más conveniente, generalmente, es por medio de un modelo matemático, para ello existe o se definen las variables de decisión (x1, x2,…, xn), que son a las cuales les buscaremos los mejores valores que den por resultado la solución óptima. Pasos generales en la construcción de modelos matemáticos:

• Identificación de los datos del problema • Identificación de las variables de decisión • Identificación de la función objetivo • Identificación de las restricciones

La función planteada sea maximizar o minimizar se llama función objetivo, todas las limitaciones que se tengan para llevar a cabo cursos de acciones diferentes se llaman restricciones (generalmente planteadas como desigualdades). Toda constante de modelo incluida en la función objetivo o en las restricciones se llaman parámetros del modelo. En la vida real (problemas) los valores de los parámetros se deben estimar, a diferencia de los problemas teóricos en que éstas son dadas; es por ello, que la estimación del parámetro (bajo un criterio de incertidumbre) debe someterse a un análisis de sensibilidad para ver de que forma cambiaría la solución (si es que cambian) debido a la estimación misma. Hay que dejar en claro que para la solución de un problema no existe una formulación única de un modelo, para un mismo problema pueden existir varios modelos útiles. Identificación de la función objetivo.- lo más común puede ser: maximizar las ganancias a largo plazo o minimizar las pérdidas a largo plazo, pero puede ser también mantener estables las ganancias, maximizar la participación del mercado, diversificar la producción, mantener la estabilidad en los precios maximizar las condiciones del trabajo, etc. Generalmente, se puede hacer en tres etapas:

• Establecer el objetivo en forma verbal • Descomponer el objetivo en una suma, diferencia o producto de cantidades individuales.

Page 8: Apunte Investigación Operativa I

8

• Expresar las cantidades individuales matemáticamente, utilizando las variables de decisión y otros datos conocidos en el problema.

Identificación de las restricciones.- Las restricciones son condiciones que las variables de decisión deben satisfacer para constituir una solución aceptable, que limitan el espacio de búsqueda de la solución al problema, las que pueden provenir de interrelaciones entre subsistemas, plazos o límites de tiempo, costos o beneficios y en su forma de medirlos , y de los efectos posibles en las diferentes partes involucradas; además, de la empresa misma como: los dueños (accionistas, los empleados, los clientes, los vendedores, el gobierno y la nación. Por lo general, surgen de:

• Limitaciones físicas • Restricciones impuestas por la administración • Restricciones externas • Relaciones implicadas entre variables • Restricciones lógicas sobre variables individuales.

Uno de los modelos relativamente más sencillos de resolver son los de programación lineal, que se pueden usar para:

• Mezcla de productos que maximice la ganancia • Diseño de terapia de radiación que combata de manera efectiva un tumor y a la vez

minimice el daño al tejido sano circundante. • Asignación de acres a distintas cosechas para maximizar el rendimiento total neto. • Combinación de métodos de control de contaminación que logren estándar de calidad del

aire a un costo mínimo, etc. El modelo matemático analiza mejorar las variables relevantes y su causa-efecto. Al recordar que el modelo es una abstracción de la realidad capaz de predecir sucesos de acuerdo a las condiciones de entrada, debe existir una alta correlación entre la predicción del modelo y lo que ocurre en la vida real. Si en el estudio se contempla más de un objetivo es necesario transformar y combinar las medidas respectivas en una medida compuesta de efectividad llamada medida global de efectividad.

1.4.- OBTENCIÓN DE UNA SOLUCIÓN A PARTIR DE UN MODE LO El estudio de IO consiste en desarrollar un procedimiento (o programa) para derivar una solución al problema a partir del modelo planteado, es decir, la solución óptima. Determinar las expresiones cuantitativas limitantes o restricciones.- representa lo disponible o posible a disposición del sistema en estudio. Se expresan en función de los parámetros y de las variables de decisión. En general, a mayor cantidad de restricciones mayores costos en la realidad. Es necesario determinar si el modelo formulado (o descrito) se ajusta o no a algún modelo matemático conocido. Lo que permitiría dada la naturaleza y complejidad del modelo identificado, usar o no una solución. De esta manera, la solución se puede obtener a partir de: analítica, obtenida a partir del conjunto de ecuaciones o funciones que miden efectividad (criterio) o disponibilidad (restricciones); simulada o estadística, cuando la complejidad es alta o no existen funciones matemáticas que representen a unas restricciones o limitaciones; y heurística, cuando existan decisiones cualitativas o de experiencia que no pueden cuantificarse. Estas soluciones serán satisfactorias, pero no óptimas (sólo cercanas a estas) o Mixtas por combinación de las anteriores. Herbert propone el término satisfacer en vez de optimizar, ya que como la optimización depende de las fronteras y condiciones de entrada, lo que a veces se aleja de lo real (el modelo), entonces con el satisfacer se busca una solución lo suficientemente buena para el problema que se tiene; Según Samuel Elion optimizar es la ciencia de lo absoluto, satisfacer es el arte de lo factible (solución subóptima). Obtención o deducción de la solución del modelo.- En general, esta etapa no es la parte más principal, por ejemplo: si se trabajó bien en las etapas anteriores y se tiene un modelo matemático

Page 9: Apunte Investigación Operativa I

9

conocido, entonces se tiene un algoritmo ya establecido. Se estudiarán varios algoritmos establecidos para modelos analíticos. Si el modelo pertenece a los demás tipos, el concepto de optimalidad (u óptimo) no está bien estructurado y sólo obtendremos una solución buena o satisfactoria, que se debe analizar y mejorar (si se puede) en los pasos que sigan. Siempre se debe recordar que un modelo es una abstracción de un problema real (teoría versus realidad), por lo que habrá que revisar o ajustar los parámetros del modelo del sistema lo que se llama “análisis posoptimal” o de “sensibilidad”. El encontrar la solución a un problema de IO, independiente de que sea óptima o sub óptima, se hace necesario realizar un análisis posóptimo que es un análisis de sensibilidad para determinar qué parámetros del modelo son los más críticos (parámetros sensibles) al determinar la solución. Los parámetros sensibles del modelo son aquellos cuyos valores no se pueden cambiar sin que la solución óptima cambie. Algunos parámetros del modelo representan políticas de decisión (como asignación de recursos), si es así, existe alguna flexibilidad sobre los valores asignados a estos parámetros. El análisis posóptimo, al igual que la prueba del modelo, incluye la obtención de un conjunto de soluciones que comprende una serie de aproximaciones, cada vez mejores al curso de acción ideal. Estas aproximaciones (iteraciones) se repiten hasta que las mejoras a la solución sean demasiado pequeñas para justificar su continuación.

1.5.- PRUEBA DEL MODELO La prueba del modelo matemático es similar a la prueba de un programa, ya que una vez hecho siempre se encuentran fallas (pequeñas o no) las que se van mejorando hasta un nivel aceptable o válido. A este proceso se le llama validación del modelo. La forma en cómo se lleva a cabo esta validación dependerá de la complejidad del problema y del modelo utilizado. Hay que tener cuidado con el empleo de las unidades, es decir, que sean dimensionalmente consistentes. Un modelo es válido, si independiente de sus inexactitudes de representación, puede reproducir en forma confiable el funcionamiento del sistema real bajo estudio. Se utilizan datos pasados (valores de variables de decisión y para metas) como entradas, el modelo produce resultados los que se comparan con las salidas obtenidas del pasado. Por supuesto que no hay garantías de que el comportamiento futuro sea similar al pasado; si el sistema es nuevo no hay datos históricos, por lo que para probarse, deberá usarse simulación, o arriesgarse haciendo operar el sistema y el modelo (con o sin cambios). Una vez hecho el modelo se usan técnicas (a veces) retrospectivas, sobre la estimación de comportamientos pasados para ver “qué hubiera pasado si se hubiesen tomado tales medidas”, sirve para analizar desempeños hipotéticos o áreas que no funcionan muy bien. Las condiciones reales pueden cambiar mucho, haciendo que el modelo sea no válido (ej. Parámetros muy diferentes, renovación de las máquinas con tecnología diferente, etc.), por lo que, se deben establecer los controles adecuados para determinar cualquier cambio significativo del sistema real (procedimientos sistemáticos, controles estadísticos, etc.)

1.6.- PREPARACIÓN PARA LA APLICACIÓN DEL MODELO Una vez validado el modelo se debe implementar un sistema bien documentado para aplicar el modelo según lo establecido por la administración, esto debe incluir el modelo y el procedimiento de solución (análisis posóptimo) y los procedimientos operativos para su implementación.

Page 10: Apunte Investigación Operativa I

10

Se ejecuta la solución deducida a partir del modelo. Se explica a los ejecutivos y se documenta, usando los procedimientos que se utilizan en el sistema real. Se debe definir normas estándares y observar las respuestas y conductas del sistema a los cambios; conviene que la administración superior participe en todas las etapas del estudio de I.O. para lograr la implementación de los resultados al sistema real.

Page 11: Apunte Investigación Operativa I

11

CAPÍTULO II: PROGRAMACIÓN LINEAL

2.1.- INTRODUCCIÓN La aplicación de la programación lineal se está ampliando muy rápidamente a todas las áreas del quehacer, tanto a nivel ingenieril como de otras especialidades. En la vida real, las organizaciones operan con recursos escasos y todas ellas tienen que tomar decisiones sobre cómo asignar estos recursos, continuamente la dirección debe asignar estos recursos escasos para alcanzar las metas de la organización. 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 (forma óptima), este problema incluye elegir el nivel de ciertas actividades que compiten por recursos escasos necesarios para realizarlas. Los niveles de actividad elegidos dictan la cantidad de cada recurso que consumirá cada una de ellas. La programación lineal utiliza el modelo matemático para describir el problema. El adjetivo lineal significa que usa funciones lineales (de orden 1) y la palabra programación es sinónimo de planeación. Así la programación lineal trata de la planeación de las actividades para obtener un resultado óptimo, esto es, el resultado que mejor alcance la meta especificada entre todas las alternativas de solución. Existe un método de solución eficiente para este tipo de problemas llamado Método Simplex y existen en el mercado programas computacionales que se apoyan en ellos, tales como: Lindo, Lingo, AMPL, GAMS, OPL, POM, etc. Cuando los problemas planteados tienen implicadas dos variables, la solución se puede desarrollar por el MÉTODO GRÁFICO, donde se grafican todas las restricciones, quedando un área achurada llamada área o zona o región de solución factible (ASF o ZSF o RSF), esto significa que cualquier punto de esa área es factible, es decir, debe satisfacer todas las restricciones (pudiese ser una solución), pero no todas ellas son la mejor solución, y eso es lo que se busca, el óptimo. Para esto, se debe graficar además la función objetivo y desplazarla hacia arriba o abajo según sea el objetivo (del estudio) de maximizar o minimizar, hasta tocar en forma tangente algún punto de la RSF. Observación: siempre se trabaja en el primer cuadrante debido a la condición de no negatividad

),...,1,0( njX j =∀≥ .

En el planteamiento del modelo de programación lineal se debe distinguir entre recursos, actividad, nivel de actividad, medida global de efectividad. Notació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 del 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. Los valores xj son las variables de decisión y los valores de cj, bi , y aij son las constantes de entada al modelo (parámetros del modelo). Formato Estándar del Modelo:

Consumo de recurso por unidad de actividad actividades Recurso

1 2 n

Cantidad de recurso disponible

1 a11 a12 a1n b1 2 a21 a22 a2n b2

Page 12: Apunte Investigación Operativa I

12

m am1 am2 amn bm Contribución a Z por unidad de actividad

c1 c2 cn

Características de la Programación Lineal:

• El problema debe establecerse numéricamente (cuantificación). • Deben haber varias alternativas o caminos de solución. • Se debe plantear un criterio de optimización el que debe traducirse en una función lineal de

un cierto número de variables decisionales y poder maximizar o minimizar este criterio. Por lo general, la utilidad es el concepto más utilizado, pero este no está relacionado linealmente con el volumen de ventas, pero el concepto mas correcto, con respecto a las ventas, es la Contribución Total, es decir: Contribución Total = (Precio de Venta por unidad – Costo Variable por unidad)*Volumen de Venta por unidad Cuando utilicemos este concepto de utilidad en el contexto de la PL, no referiremos a la contribución.

• Dichas variables deben satisfacer un determinado número de restricciones lineales expresadas generalmente en forma de desigualdades.

• Ninguna de estas variables de decisión pueden tomar valores negativos, así en términos de linealidad están fundamentadas en ciertos supuestos, los que se nombran a continuación.

Supuestos de la programación lineal:

• De proporcionalidad.- la contribución de cada actividad al valor de la función objetivo Z es proporcional al nivel de actividad xj como lo representa el término cjxj en la función objetivo, como también, la contribución de cada actividad al lado izquierdo de cada restricción funcional es proporcional al nivel de la actividad xj en la forma en que lo representa el término aijxj en la restricción. Es una suposición sobre las actividades individuales que se considera independiente de las otras. Así se presenta en situaciones tales que la división de efectividad y el uso de recursos sea en cada caso, proporcional al nivel en que cada actividad se ejecuta.

• De aditividad.- cada función en un modelo de programación lineal (ya sea función objetivo o en las restricciones) es la suma de las contribuciones individuales de las actividades respectivas. Se refiere al efecto de llevar a cabo actividades en conjunto. Así el aporte a la optimización del objetivo por una parte, el consumo de recursos y el aporte al requerimiento en cada actividad por la otra, debe ser medible de manera tal que resulte factible sumar independientemente el consumo de todas las actividades consideradas.

• De divisibilidad.- las variables de decisión en un modelo de programación lineal pueden tomar cualquier valor, incluyendo valores no enteros, que satisfagan las restricciones funcionales y de no negatividad. Como cada variable de decisión representa el nivel de alguna actividad, se supondrá que las actividades se pueden realizar a niveles fraccionales. (cuando los valores a tomar por las variables de decisión no pueden ser fracciones, entonces es parte de la programación entera). Se refiere a que las unidades de cada actividad se pueden dividir en cualquier nivel fraccional, para que se permitan valores no enteros de las variables de decisión.

• De certidumbre.- se supone que los valores asignados a cada parámetro de un modelo de programación lineal son constantes conocidas.

Limitaciones de la Programación Lineal:

• Es frecuente que el nivel de las actividades deben ser números enteros, sin embargo no se puede garantizar que la solución final estará compuesta por ellos.

• Los precios de cada actividad y sus consumos o aportes asociados al recurso total disponible o requerimiento final respectivamente, toman valores constantes para una solución determinada, es por ello, que se acostumbra a denominar los parámetros del problema. No obstante en muchas ocasiones, sus valores no son absolutos y solo se tienen datos aproximados, debido a que los módulos de la programación lineal son usados para seleccionar un curso de acción futuro, por lo tanto, estos coeficientes deben ser estimados de acuerdo a pronósticos. El análisis de sensibilidad de la programación lineal permite manejar este tipo de casos.

Page 13: Apunte Investigación Operativa I

13

• Los parámetros que entran a jugar en los problemas de programación lineal deben ser de tipo determinístico, en consecuencia, no resulta factible considerar casos en que ellos varían aleatoriamente.

• Otra limitación es su naturaleza estática, es decir, las soluciones de maximización de utilidades generalmente son aplicables a corto plazo, debido a la hipótesis de la linealidad y al énfasis puesto sobre los factores de producción considerados como fijos, ya que los precios no se mantienen invariables en el largo plazo y los coeficientes tecnológicos aumentan proporcionalmente al requerirse la producción de una unidad más.

Por otra parte, la necesidad de trabajar con un nivel fijo de recursos significa que la solución típica de la programación lineal está también confinado a problemas de corto plazo. Es recomendable hacer un análisis de sensibilidad después de encontrar el punto óptimo para encontrar los parámetros sensibles. Un error generalmente cometido en análisis de problemas de programación lineal es que se trata de plantear un modelo con demasiados detalles de la realidad, lo que lo transforma en un problema complejo y a veces con una solución muy alejada de lo efectivo, por ello, lo que se necesita es que exista una correlación relativamente alta entre la predicción del modelo y lo que de hecho pasaría en el problema real.

2.2.- RESOLUCIÓN DE UN PROBLEMA DE PROGRAMACIÓN LI NEAL (PPL) MEDIANTE EL MÉTODO GRÁFICO (DOS VARIABLES DECISIONA LES) El método de solución gráfica es aplicable sólo a problemas simples que no excedan de dos variables. No obstante, dos variables no son suficientes para describir o representar problemas reales, pero éste método proporciona importantes ideas de los procedimientos de solución de P.L. Este método gráfico se muestra de mejor manera a través de un ejemplo: una pequeña empresa de muebles fabrica dos productos: mesas y silla, que se deben procesar a través de los departamentos de ensamble y acabado. Ensamble tiene 60 horas disponibles y acabado puede manejar a lo máximo 48 horas de trabajo. La fabricación de una mesa requiere de 4 horas de ensamble y dos horas de acabado. Cada silla requiere de dos horas de ensamble y cuatro horas de acabado. Si la utilidad es de $8 u.m. por mesa y de $6 u.m. por silla. El problema es determinar la mejor combinación posible de mesas y sillas para producir, para así vender y obtener la máxima utilidad. Hay dos limitaciones (restricciones) en el problema: El tiempo disponible de ensamble y de acabado. Resumen de Información:

Mesa (u) Silla (u) Horas Directas Disponibles (hr)

Ensamble 4 (hr) 2 (hr) 60 Acabado 2 (hr) 4 (hr) 48 Utilidad u.m. $8 $6

Planteamiento del Problema • Definición de variables de Decisión: cantidad de sillas y mesas

Xm: cantidad de mesas a producir (u) Xs cantidad de sillas a producir (u)

• Restricciones:

1. Depto. Ensamble:

6024 ≤+ sm XX 2. Depto. Acabado

Page 14: Apunte Investigación Operativa I

14

4842 ≤+ sm XX

3. No Negatividad

0

0

≥≥

s

m

X

X

• Función Objetivo:

sm XXU

Max

68 +=

Gráfica: Se dibuja sobre el gráfico las restricciones de No Negatividad, según la figura siguiente:

Xm

Xs

Cada una de las restricciones se grafican, considerando inicialmente la desigualdad como una igualdad. Así, se grafica la primera restricción como la ecuación:

150 :

300 :

6024

=⇒==⇒=

=+

ms

sm

sm

X XSi

X XSi

XX

Las dos coordenadas anteriores se señalan en la gráfica y se unen con una línea recta, pero el signo de la desigualad incluye a todos los pares ordenados que están a la izquierda de dicha recta. La siguiente figura representa dicha situación:

Page 15: Apunte Investigación Operativa I

15

Xm

XsRestricción 1

Para la segunda ecuación, se efectúa el mismo desarrollo, es así:

240 :

120 :

4842

=⇒==⇒=

=+

ms

sm

sm

X XSi

X XSi

XX

Las dos coordenadas anteriores se señalan en la gráfica y se unen con una línea recta, pero el signo de la desigualad incluye a todos los pares ordenados que están a la izquierda de dicha recta. La siguiente figura representa dicha situación:

Xm

Xs

Restricción 2

La intersección de las dos inecuaciones, combinada a la ecuación de no negatividad, genera la región de soluciones factible (RSF), como se indica en la figura. La región achurada indica que todos los puntos que están en los bordes y dentro de a región factible, satisfacen simultáneamente todas las restricciones del PPL.

Page 16: Apunte Investigación Operativa I

16

El problema es encontrar uno o más puntos (o soluciones) en la RSF, de manera tal que maximice la función objetivo original. La solución óptima se debe graficar, a través de toda la región de soluciones. Así, cada línea de isoganancias se obtiene haciendo la función objetivo igual a un valor arbitrario, por ejemplo, se elegimos igualar la utilidad a $48 (u.m.), esta se gráfica (con línea segmentada) de igual manera que las inecuaciones anteriores. Esta línea de isoganancias representa todas las cantidades posibles de mesas y sillas que producirán una utilidad total de $48 (u.m.). El problema, finalmente, se resume en encontrar la línea de isoganancia que tenga la mayor utilidad y que este sobre la región de soluciones factibles. Lo anterior se realiza, moviendo la línea de isoganancia en forma paralela a una línea de isoganancia arbitraria, hasta que alcance el último punto de la RSF. De esta manera, el último punto factible es el identificado con la letra D, por lo cual, es el punto óptimo se encuentra por la intersección de las restricciones 1 y 2, así:

El valor de la contribución máxima es:

(u.m) 132$

68

max

=+=

U

XXU sm

mesas (u) 12

sillas (u) 6

4842

6024

=⇒

=⇒

≤+≤+

m

s

sm

sm

X

X

XX

XX

Page 17: Apunte Investigación Operativa I

17

Ejemplo 2: Una pequeña fábrica de muebles, elabora únicamente dos productos: Escritorios y Sillas. Este fabricante tiene cuatros secciones: sección corte, en la cual se procesan silla y escritorios; sección armado, en la cual se ensamblan las sillas y escritorios; sección tapicería, en la cual sólo se incluye el tapiz de las sillas y sección cubiertas, en la cual se fabrican dichas cubiertas y se colocan en los escritorios. Durante el siguiente periodo de producción, hay 27.000 minutos disponibles para cada una de las secciones y este tiempo no se puede alterar dentro de los parámetros del problema. En cada una de las secciones, se ha establecido que los tiempos estándares fijos que se necesitan para procesar cada silla son los siguientes: 15; 12; 18,75 minutos, para las secciones de corte, armado y tapicería, respectivamente; en cambio, para el proceso de cada escritorio se requiere de: 40; 50; 56,25 minutos, para las secciones de corte, armado y cubierta, respectivamente. Las contribuciones a la utilidad y a los costos fijos de cada silla son de $25 (u.m.) y para cada escritorio es de $75 (u.m.). Se acepta que los costos indirectos totales de los cuatros departamentos son de $20.500 (u.m.) y los costos totales en mano de obra para todos los departamentos es de $13.500 (u.m.), resultando un costo fijo total de $34.000 (u.m.). Se supone que la materia prima es un costo variable y que no hay costos adicionales. El costo de la materia prima por cada silla es de $5 (u.m.) y de cada escritorio es de $25 (u.m.). El precio de venta a que se deberá ofrecer toda la producción es de $30 (u.m.) por cada silla y $100 (u.m) por cada escritorio (sin considerar el costo indirecto). Se pide maximizar la contribución a la utilidad. Resumen de la información:

Sección Silla (min) Escritorio (min) Disponibilidad (min) Corte 15 40 27.000 Armado 12 50 27.000 Tapicería 18,75 - 27.000 Cubierta - 56,25 27.000 Contribución a la utilidad (u.m.)

$ 25 $ 75

Costo Materia Prima (u.m)

$ 5 $ 25

Precio Venta (u.m) $ 30 $ 100 Costo Indirecto: $ 20.500 (u.m.) Costo Mano de Obra: $ 13.500 (u.m.) Costo Fijo Total: $ 34.000 (u.m.) Planteamiento del Problema: 1.- Definición de variables de decisión: Xs: cantidad de sillas a producir (unidad)

Xe: cantidad de mesas a producir (unidad)

Page 18: Apunte Investigación Operativa I

18

2.- Expresión algebraica de las restricciones: Corte:

000.274015 ≤+ es XX

Armado: 000.275012 ≤+ es XX

Tapicería:

000.27 75,18 ≤sX Cubierta:

000.2725,56 ≤eX No Negatividad:

0

0

≥≥

e

s

X

X

3.- Expresión algebraica de la función objetivo:

es XXU 7525

max

+=

Representación Gráfica:

El punto que optimiza el objetivo expresado, se localiza de acuerdo a un análisis de pendiente (que llamaremos M) de las rectas que la originan y de la función objetivo: Corte

375,08

3

40

000.27*

40

15 −=−==⇒+−= MónContribuciXX se

Armado

240,025

6

50

000.27*

50

12 −=−==⇒+−= MónContribuciXX se

Tapicería

∞==⇒+−= MónContribuciXX se 0

000.27*

0

75,18

Cubierta

025,56

000.27*

25,56

0 ==⇒+= MónContribuciXX se

Page 19: Apunte Investigación Operativa I

19

Función Objetivo:

333.03

1

75*

75

25 −=−==⇒+−= MónContribuciU

XX se

Podemos observar que la pendiente de la f.o. esta entre la sección corte y armado (en valor absoluto), así:

240,0_333,0.._375,0_ =>=>= armadopendofpendcortepend Por otra parte, como se aprecia, la f.o. crece mientras más se aleja del origen, se puede ver que el punto D cumple con las restricciones impuestas por ele problema y optimiza, en este caso, la contribución a la utilidad. En general, no se requiere analizar el valor de las pendientes de todas las rectas que intervienen, sino que mediante una inspección ocular se puede determinar cuales de todas las restricciones se deben analizar para detectar el óptimo: De esta manera:

sescritorio (u) 300

sillas (u) 1.000

).(500.47$

*

*

=

=

=

m

s

X

X

muU

En el siguiente cuadro se presenta la relación de venta, costo y utilidad (no su contribución) en los vértices de la RSF:

A (0; 0)

B (1.440; 0)

C (0; 480)

D (1.000; 300)

E (250; 480)

F (1.440; 135)

Costo Fijo 34.000 34.000 34.000 34.000 34.000 34.000

Materia Prima 0 7.200 12.000 12.500 13.250 10.575

Costo Total 34.000 41.200 46.000 46.500 47.250 44.575

Venta Total 0 43.200 48.000 60.000 55.500 56.700

Utilidad Total (34.000) 2.000 2.000 13.500 8.250 12.125

Se puede apreciar que si utilizamos el concepto de contribución o utilidad, de igual manera, el punto D es el de máximo beneficio.

2.2.2.- Análisis De Casos Excepcionales

2.2.2.1.- Solución No Acotada a.- con recursos ilimitados, se obtienen ganancias ilimitadas, es decir, las variables de decisión crecen arbitrariamente, lo cual indica que el problema esta mal planteado matemáticamente. Ejemplo:

0;0

42

1

:.

33

21

21

21

21

≥≥≤+−

−≥−

+=

XX

XX

XX

as

XXZMax

Page 20: Apunte Investigación Operativa I

20

La función objetivo crece sin encontrar ninguna restricción que la acote, esto implica que el problema está mal planteado. Se debe replantear las restricciones. b.- no todas las variables crecen arbitrariamente.- Ejemplo:

0;0

0

2

:.

45

21

21

1

21

≥≥≤−≤

+−=

XX

XX

X

as

XXZMax

No es necesario que todas las variables crezcan indefinidamente para que la solución sea no acotada, basta que una restricción esté mal formulada.

2.2.2.2.- Acotamiento Las variables crecen arbitrariamente, donde el punto de soluciones factibles es la línea de restricción, generando que el valor de la función objetivo sea constante.

0;0

1062

1

:.

3

21

21

21

21

≥≥≤+−

−≥−

+−=

XX

XX

XX

as

XXZMax

Page 21: Apunte Investigación Operativa I

21

Este tipo de problema indica un error en la formulación matemática.

2.2.2.3.- Inconsistencia No existe una RSF única, producto de las restricciones existentes. Sea el siguiente problema lineal:

0;0

933

2

:.

4

21

21

21

21

≥≥≥+≤+

−=

XX

XX

XX

as

XXZMax

X1

X2

c

a

b

c

RSF 2

RSF 1

Se debe a que, principalmente, las restricciones son inconsistentes, lo cual provoca que no exista la certeza absoluta de que los problemas de programación lineal tengan soluciones factibles.

2.2.2.4.- No Factibilidad Para este caso, el problema necesario para definir este tipo de problema es el siguiente programa matemático:

0;0

33

2

:.

2

21

21

21

21

≥≥≤+−≥+−

+−=

XX

XX

XX

as

XXZMax

Page 22: Apunte Investigación Operativa I

22

X1

X2

c a

b

cRSF 1

RSF 2

RSF 3

Las soluciones no son factibles en este caso, ya que no respetan las condiciones o restricciones de no negatividad. Nota: en la práctica no podemos asegurar que las restricciones sean consistentes y la solución acotada.

2.3.- FORMULACIÓN DE PROBLEMAS DE PROGRAMACIÓN LINE AL Veamos este tópico a través de un ejemplo demostrativo: Problema 1: un inversionista con ayuda de CORFO pretende invertir en el cultivo de palta, pomelo, naranja y mango en el valle de Azapa (Arica), persiguiendo dos objetivos esenciales: 1.- reducir el desempleo rural 2.- aumentar las exportaciones. Se sabe que la producción promedio de cada árbol está dado por:

Tipo de árbol

Producción (unidades/árbol)

Promedio anual (kg/árbol)

Observación

Palta 350 150 Una vez al año Pomelo 230 200 Una vez al año Mango 150 50 Una vez al año naranja 400 150 Una vez al año

El precio promedio en el mercado mundial a precios de 2004 fue de:

Palta : 10 ($/kg) Pomelo : 4 ($/kg) Mango : 15 ($/kg) Naranja : 7 ($/kg)

Existe una extensión de 250.000 mt2 de tierra propicia para el cultivo de estos productos. Supóngase que los ingenieros agrónomos han determinado que las siguientes extensiones son necesarias para el cultivo de esos productos. Tipo de árbol extensión mínima de cultivo por árbol Palta 4 mt2 Pomelo 5 mt2 Mango 3 mt2 Naranja 6 mt2 Afortunadamente, no existen problemas de agua pues hay buenas napas subterráneas (pozos), como de un canal de regadío, que aseguran la existencia de este líquido por los próximos 20 años. El costo total por sembrar cada árbol es:

Palta : 2,0 ($) Pomelo : 0,5 ($) Mango : 1,0 ($) Naranja : 1,5 ($)

Page 23: Apunte Investigación Operativa I

23

Estos costos ya incluyen la compra del árbol más su cuidado y mantenimiento anual inicial. Cada árbol empieza a ser productivo aproximadamente a los tres años de ser plantado. Cada árbol requiere: Palta : 36 (h-h) de cuidado al año. Pomelo : 72 (h-h) de cuidado al año. Mango : 50 (h-h) de cuidado al año. Naranja : 10 (h-h) de cuidado al año. El inversionista pretende invertir $20.000.000 pensando en exportar toda su producción a partir del tercer año. El desempleo en el Valle de Azapa se ha calculado en 500 personas y el inversionista y CORFO han delineado que este proyecto cumpla al menos con contratar 200 personas en forma continua (para que CORFO apoye el proyecto). Bajo estas circunstancias cuántos árboles de palta, pomelo, mango y naranja deberán sembrarse con objeto de maximizar el valor de la futura exportación anual. Desarrollo 1.- resumen de la información entregada (a criterio de cada persona para comprender el problema inicial) 2.- planteamiento matemático del problema: a.- definición de las variables de decisión sea: Xp : número de árboles de palta a ser plantados Xl : número de árboles de pomelo a ser plantados Xm : número de árboles de mango a ser plantados Xn : número de árboles de naranjo a ser plantados

Pi : precio de la fruta (i = p, l, m, n) b.- planteamientos de las restricciones 1.- Tierra 000.2506354 ≤+++ nmlp XXXX

2.- Horas hombre

52*5*5,7*20010507236 ≥++ nmlp XXXX

3.- Capital

000.000.205,15,02 ≤+++ nmlp XXXX

4.- No negatividad nmlpiX i ,,,0 =≥ c.- Función Objetivo VPE = volumen de producción esperado = cantidad promedio por cada árbol por el número de árboles plantados Max Z = 150*10*Xp + 200*4*Xl + 50*15*Xm + 150*7*Xn

enterasynmlpiX

XnXmXlXp

XnXmXlXp

XnXmXlXp

as

XnXmXlXpZ

Max

i ,,,0

000.000.205,15,02

000.39010507236

000.2506354

:.

050.1750800500.1

=≥≤+++≥+++≤+++

+++=

Page 24: Apunte Investigación Operativa I

24

Problema 2: Una fábrica de bebidas tiene plantas ubicadas en Concepción, Santiago, Antofagasta, Puerto Montt y Arica. La empresa “El Botellón” fabrica botellas de vidrio desechables (subsidiaria) y tiene plantas ubicadas en San Bernardo, Chillán e Iquique. La demanda mensual de botellas desechables se pronostica en: Planta de Bebidas Demanda Mensual en Botellas Santiago 2.000.000 Concepción 500.000 Puerto Montt 100.000 Antofagasta 400.000 Arica 100.000 Las botellas abiertas se retornan a la fundidora de vidrio, en donde se convierten a materia prima y de ahí se mandan a las fábricas de botellas. Así la producción máxima mensual de botellas es: Planta de Bebidas Capacidad Mensual en Botellas San Bernardo 1.500.000 Chillán 1.000.000 Iquique 750.000 El costo por miles de botellas desde las plantas de botellas a las plantas de bebidas es:

DE \ A San Bernardo Chillán Iquique Santiago 5 20 15 Concepción 20 15 2 Puerto Montt 25 2 10 Antofagasta 75 50 40 Arica 45 80 60

Bajo estas condiciones ¿qué programa de distribución mensual de botellas se debería establecer a fin de satisfacer la demanda mensual en las fábricas de bebidas sin exceder la producción mensual y todo al costo mínimo? Desarrollo Variables de decisión.- Xij : cantidad de botellas (en miles) producidas en la planta i (San Bernardo, Chillán e Iquique) y enviadas a la planta embotelladora j (Santiago, Concepción, Puerto Montt, Antofagasta y Arica) en el mes. Función Objetivo

Min ZXC iji j

ij =∑∑= =

*3

1

8

4

i = 1,2,3 planta de botellas j = 4,5,6,7,8 planta de bebidas Min Z = 5X14 + 20X15 + 25X16 + 75X17 + 45X18 +

20X24 + 15X25 + 2X26 + 50X27 + 80X28 + 15X34 + 2X35 + 10X36 + 40X37 + 60X38

Restricciones: No Negatividad

0≥ijx

De Demanda

Page 25: Apunte Investigación Operativa I

25

100

400

100

500

000.2

382818

372717

362616

352515

342414

≥++≥++≥++≥++≥++

XXX

XXX

XXX

XXX

XXX

De Oferta

750

000.1

500.1

3837363534

2827262524

1817161514

≤++++≤++++≤++++

XXXXX

XXXXX

XXXXX

Problema 3: Un barco dispone de tres bodegas para la carga: una proa, una popa y una de centro. La capacidad máxima de bodega es:

Bodega Capacidad en peso (ton) Máximo en Volumen (pie3) Proa 2.000 100.000 Centro 3.000 135.000 Popa 1.500 30.000

Las cargas que deben ser transportadas pudiendo ser la cantidad total o parcial, son las siguientes:

Mercadería Carga disponible (ton) Volumen unitario (pie3/ton) Utilidad ($/ton) A 6.000 60 6.000 B 4.000 50 8.000 C 2.000 25 5.000

A fin de asegurar la estabilidad del barco, el peso en cada bodega debe ser proporcional a su capacidad en toneladas. ¿Cómo debe ser distribuida la carga a fin de asegurar una utilidad máxima? Desarrollo Variables de decisión Xip : cantidad de carga de mercadería i, a ser llevados a proa Xic : cantidad de carga de mercadería i, a ser llevados a centro Xipp: cantidad de carga de mercadería i, a ser llevados a popa i = A, B, C Restricciones: No Negatividad

0,, ≥ippicip XXX

De capacidad máxima de bodegas

500.1

000.3

000.2

≤++≤++≤++

CppBppApp

CcBcAc

CpBpAp

XXX

XXX

XXX

Del volumen máximo de bodegas

000.30255060

000.135255060

000.100252560

≤++≤++≤++

CppBppApp

CcBcAc

CpBpAp

XXX

XXX

XXX

De las mercaderías a las bodegas

Page 26: Apunte Investigación Operativa I

26

000.2

000.4

000.6

≤++≤++≤++

CppCcCp

BppBcBp

AppAcAp

XXX

XXX

XXX

De proporcionalidad a la capacidad

500.1

)(

000.3

)(

000.2

)( CppBppAppCcBcAcCpBpAp XXXXXXXXX ++=

++=

++

Función Objetivo Max

Z = 6000(XAp + XAc + XApp) + 8000(XBp + XBc + XBpp) + 5000(XCp + XCc + XCpp)

2.4.- MÉTODO SIMPLEX DE LA PROGRAMACIÓN LINEAL El método simplex comienza con la siguiente estructura:

Forma canónica

)( 0

)(

:.

)(

cx

bbXA

as

aXCZ

Opt

≥≤×

×=

r

rrr

rr

(a) función lineal llamada función objetivo, donde el concepto de optimización puede ser maximizar (para nuestro caso) o minimizar (b) restricciones de desigualdad (c) restricciones de no negatividad Xr

: vector columna con n componentes, se le denomina vector de actividades (n componentes que son las variables de decisión)

1

2

1

×

=

nnx

x

x

Xr

Cr

: vector renglón con n componentes, se le denomina vector de precios o costos unitarios (contribuciones unitarias)

[ ] ncccC ×= 1321 ,...,,r

br

: vector columna con m componentes, se le denomina vector disponibilidad de recursos

1

2

1

×

=

mmb

b

b

br

0r

: vector columna de n ceros

Page 27: Apunte Investigación Operativa I

27

10

0

0

0

×

=

n

r

Ar

: matriz de m renglones y de n columnas, se le denomina matriz de coeficientes tecnológicos

nmmnmm

n

n

aaa

aaa

aaa

A

×

=

21

22221

11211

r

aij: coeficientes tecnológicos, elementos de la matriz A con i = 1,2,…,m ; j = 1,2,…,n; representa la cantidad de recurso j que necesita por unidad de la actividad i. Matricialmente el problema de programación lineal se puede expresar como: Optimizar

Z = [ ] nccc ×1321 ,...,, *

1

2

1

×

nnx

x

x

s.a:

nmmnmm

n

n

aaa

aaa

aaa

×

21

22221

11211

*

1

2

1

×

nnx

x

x

≥≤ ó

1

2

1

×

mmb

b

b

1

2

1

×

nnx

x

x

10

0

0

×

n

2.4.1.- Reglas De Programación Lineal Regla 1.- a.- maximizar XC× es equivalente a minimizar XC×− . b.- minimizar XC× c*x es equivalente a maximizar XC×− . Regla 2.- a.- la desigualdad bXA ≤× es equivalente a la desigualdad bXA −≥×− . b.- la desigualdad bXA ≤× es equivalente a la desigualdad bXA −≥×− . Regla 3.- Toda igualdad de la forma bXA =× , se puede descomponer como la intersección de dos desigualdades bXA ≤× y bXA ≥× . Regla4.-

Page 28: Apunte Investigación Operativa I

28

a.- Toda desigualdad de la forma bXA ≤× , se puede convertir en igualdad, mediante la adición del vector columna Y de m componentes no negativos, llamada variable de holgura

1

2

1

×

=

mmy

y

y

Yr

10

0

0

×

m

b.- Toda desigualdad de la forma bXA ≥× , se puede convertir en igualdad mediante la resta del vector columna H de m componentes no negativos, llamada variable superfluas o de exceso.

1

2

1

×

=

mmh

h

h

Hr

10

0

0

×

m

Regla 5.- Una variable no restringida, la cual toma toda clase de valores: negativos, ceros y positivos, se puede escribir como la diferencia de dos variables no negativas Ejemplos de cada regla.- R1:

21

21

83

min

83

max

xxZ

xxZ

+−=−

⇒−=

R2.-

2083

2083

21

21

≥+−⇒

≤−

xx

xx

R3.-

7310

7310

7310

21

21

21

≤+≥+

=+

xx

xx

xx

R4 (a).-

0,

0,

127

510

0,

127

510

21

21

221

121

21

21

21

≥≥

=++=++

≥≤+≤+

yy

xx

yxx

yxx

xx

xx

xx

Page 29: Apunte Investigación Operativa I

29

R5.-

0

0

0

restrigida no variable:

132

132

132

321

1

<⇒<>⇒>=⇒=

−=

xxx

xxx

xxx

xxx

x

Ejemplo.- Convertir el problema de programación lineal a la forma canónica

(f)(e),(d), restingida no ,0,0

(c)(b), 4

325,0

:.

(a) 43

321

32

21

321

xxx

xx

xx

as

xxxZ

Min

≤≥=−≥+

+−=

Desarrollo

La función objetivo queda por R1: Max U = -Z = -3x1 + 4x2 – x3 Las restricciones quedan por R2:

325.0 21 −≤−− xx de (b) 024 ≥−= xx de (e)

Entonces la restricción (c) queda por R3:

444

444

343232

343232

≤−−⇒≤−⇒≤−−≤+⇒−≤+−⇒≥−

xxxxxx

xxxxxx

La restricción (f) queda por R5:

x3 = x5 – x6 � 4

4

654

654

≤+−−−≤−+

xxx

xxx

Reemplazando, y acomodando a la forma canónica queda: Max U = -Z = -3x1 + 4x2 – x5 + x6 S.A. 325.0 41 −≤+− xx

4

4

654

654

≤+−−−≤−+

xxx

xxx

0,,, 6541 ≥xxxx

2.4.2.- Terminología Básica a.- Región de Soluciones Factibles (RSF): es el conjunto convexo, en el cual se encuentran todas las soluciones factibles. b.- Solución del Problema: se llama solución a cualquier especificación de valores para las variables de decisión (X1, X2,…, Xn) sin importar si es una solución deseable o, incluso, admisible. c.- Solución Factible: es aquel vector columna XT = (X1, X2 ,…, Xn) que satisface todas las restricciones d.- Solución Básica: es una solución que está en el vértice, la cual puede ser factible o no. e.- Solución Básica Factible: es una solución factible que se encuentra en un vértice. f.- Solución Óptima: es una solución básica factible que tiene el valor más favorable de la función objetivo.

Page 30: Apunte Investigación Operativa I

30

El conjunto de todas las soluciones factibles de un problema de programación lineal es un conjunto convexo (se exige que, tanto la función objetivo como las restricciones sean funciones convexas). Cuando una solución óptima existe, está en una esquina o punto extremo del conjunto convexo de soluciones factibles, los puntos extremos del conjunto convexo de soluciones factibles son las soluciones básicas factibles. Por ejemplo:

La solución básica factible (S.B.F) está en los vértices ABC. Por lo tanto, una solución óptima a un problema de programación lineal (PPL) estará contenida en el conjunto de soluciones básicas factibles. Existe un número finito de S.B.F. y, por lo tanto, teóricamente es posible concebir una solución óptima, entonces para obtener la solución de un PPL habrá que ver en teoría qué valor tiene la función objetivo y seleccionar la mejor. Esto puede convertirse en una tarea bastante ardua, s se tiene en cuenta que una región factible proveniente de un PPL con n incógnitas y m restricciones puede tener un número máximo de:

)!(!!

mnm

n

m

n

−=

puntos extremos

Dónde n > m, para que exista un espacio de soluciones factibles mayor que un sólo punto, es decir, que las restricciones sean linealmente independientes (l.i.) Por ejemplo: Si n = 50 y m = 30

)!3050(!30!50

30

50

−=

= 4.7129 * 1013 puntos extremos a analizar

Las técnicas más eficientes aplicadas para resolver conjunto de ecuaciones simultáneas son los procedimientos iterativos. El método simplex también utiliza un método iterativo de solución, el cual consiste en examinar las soluciones básicas factibles. En cada iteración, el método simplex pasa de una solución factible inicial a otra solución factible y, finalmente, en un número finito de pasos (iteraciones) llega a una solución básica factible óptima. Como la función objetivo (Z) debe ser mejorada (o por lo menos, no empeorada) en cada paso, el número de soluciones básicas factibles que debe ser examinado antes de encontrar una solución óptima es mucho más reducido que el número total de soluciones básicas factibles que existe.

2.4.3.- Teoría del Problema Del Programación Lineal

0

:.

≥≤×

×=

x

bXA

as

XCZ

Max

r

rrr

rr

La estructura más conveniente para la manipulación algebraica y la identificación de las soluciones factibles en un vértice es lo que se llama Forma Aumentada del Problema, el cual consiste en que el problema original ó canónico (contiene sólo las variables decisionales), se aumente el número de variables, específicamente, de holgura necesarias para aplicar el método simplex.

Page 31: Apunte Investigación Operativa I

31

Para obtener la forma aumentada del problema, se introduce el vector columna de las variables de holgura.

=

+

+

+

mn

n

n

s

X

X

X

X2

1

De manera que las restricciones se conviertan en

[ ] 0;, ≥

=

ss X

Xb

X

XIA

Donde: Ir

: matriz identidad, de orden ( mm× ) 0r

: vector nulo que ahora tiene n+m elementos

2.4.4.- Obtención de una Solución Básica Factible El objetivo del método simplex es obtener una sucesión de SBF mejoradas hasta alcanzar la solución óptima. Una de las características claves del método simplex tiene que ver con la forma en que se obtiene cada nueva SBF, después de identificar sus variables básicas y no básicas. Dadas estas variables, la solución básica que resulta de la solución de las m ecuaciones:

[ ] bX

XIA

s

=

, , en las que n variables de entre todas las (n + m) elementos de :

sX

X, se

igualan a cero. Cuando se eliminan estas n variables igualándolas a cero queda un conjunto de m ecuaciones con m incógnitas (variables básicas). Este sistema de ecuaciones se puede denotar por bXB B =

rr, donde:

1

2

1

×

=

mBm

B

B

B

X

X

X

Xr

BXr

: vector de variables básicas el cual se obtiene de eliminar las variables no básicas de

sx

x

B: es la matriz de base

mmmmmm

m

m

BBB

BBB

BBB

B

×

=

L

M

L

L

21

22221

11211

La cual se obtiene al eliminar las columnas correspondientes a los coeficientes de las variables no básicas de [ ]IA , . El método Simplex introduce solo variables básicas, tales que B sea no singular, de manera que B-

1 siempre exista, es decir:

bBIX

bBBXB

B

B

1

11

−−

=

=

La solución para las variables básicas es:

Page 32: Apunte Investigación Operativa I

32

bBXB1−=

Por lo tanto, para obtener el valor óptimo de la función objetivo debemos reemplazar los valores de BX

r en la función objetivo.

Sea BC

r el vector cuyos elementos son los coeficientes de la función objetivo, incluyendo los ceros

para las variables de holgura, que corresponden a los elementos de BXr

. El valor de la función objetivo para esta solución básica es entonces:

bBCXCZ BBB1−==

r

2.4.4.1.-Forma Matricial Cuando se inicia el método simplex, la forma matricial del conjunto de ecuaciones es el siguiente:

=

bX

X

Z

S

0

IA 0

0 C- 1

Luego, las operaciones algebraicas realizadas por el método simplex se expresan en forma matricial, pre-multiplicando ambos lados del conjunto original de ecuaciones por la matriz apropiada. Esta matriz tiene el mismo número de elementos que la matriz idéntica. En particular, después de cualquier iteración tenemos:

bBCZ B1−=

bBXB1−=

El segundo miembro de estas ecuaciones se ha convertido en:

=

=

−−

bB

bBCB

X

Z B

B

b

0*

B 0

C 11

1

1-

1B

Por lo tanto, las operaciones algebraicas en ambos miembros del conjunto original de ecuaciones han sido equivalentes, se usa esta misma matriz, que pre- multiplicada el lado derecho original para pre-multiplicar el lado izquierdo. En consecuencia:

−−=

1-1-B

1B1-

1-B

BB0

1C C110

01

B0

BC1

A

BCABA

CZ 4484476

La forma matricial deseada del conjunto de ecuaciones después de cualquier iteración es:

=

−−−

−−

bB

bBC

x

x

Z

A

BCAB B

s

1

1

1-1-B

1B

BB0

1C C1

La ventaja del Tableau es que ordena y automatiza este procedimiento. Por lo tanto, la forma de Tableau para cualquier iteración es la siguiente: Utilidad neta Precios sombra

Variables de decisión

Variables de holgura

Z nXXX 21 L 21 mnnn XXX +++ L Valores de

variables base Variables básicas

1 CC B −A B -1 -1B BC BB XC

Bm

B

B

X

X

X

M

2

1

0

0

0

M AB 1−

1−B b B-1

Page 33: Apunte Investigación Operativa I

33

2.4.5.- Pasos del método simplex Paso 1: Dado cualquier P.L. transformece por medio de las reglas de equivalencia 1,2,3,5 al P.L. canónico:

0

:..

:

≥≤

=

x

bAX

as

CXZMax

Paso 2: Rescribir la F.O. de la siguiente manera:

0=− CXZ

Paso 3: Aplicar la regla de equivalencia 4, para convertir todas las desigualdades (variables de holgura) en igualdades. Con estos tres primeros pasos, la forma canónica queda convertida en:

0Y

0X

bYAX

s.a.

0CX- Z:

≥≥

=+

=Max

Donde Y: vector de variables de holgura. El PPL de manera de un sistema de ecuaciones:

holgura de variables0,0

decision de variables00 x; 0x

0*0*0*0

21

21

2211

22222121

111212111

212211

⇒≥≥⇒≥≥≥

=++++

=+++=++++=−−−−−

+++

+

+

+

+++

mnnn

n

mmnnmnmm

n

nnn

mnnnnn

XxX

x

bxxaxaxa

bxxaxa

bxxaxaxa

xxxxCxCxCZ

LL

LL

MMMM

LL

Este paso es necesario, pues la adición de las variables de holgura crea la primera base B que resulta ser la matriz identidad. A su vez, se genera el primer punto extremo de la región de factibilidad cuyas coordenadas están dadas por el vector b. Paso 4: Construir la tabla con los coeficientes del programa, como se muestra a continuación: Forma condensada:

Z nXXX 21 L

21 mnnn XXX +++ L

1 CC B −A B -1

-1B BC BB xC

Bm

B

B

x

x

x

M

2

1

0

0

0

M

AB 1−

1−B b B-1

Forma extensa:

Z nxxx L21 mnnn xxx +++ L21

1 nn czczcz −−− L2211 mnmnnnnn czczcz ++++++ −−− L2211 0Z

Page 34: Apunte Investigación Operativa I

34

Bm

B

B

A

A

A

M

2

1

0

0

0

M

mnmm

n

n

YYY

YYY

YYY

21

22221

11211

MMM

)()2()1(

)(2)2(2)1(2

)(1)2(1)1(1

mnmnmnm

mnnn

mnnn

YYY

YYY

YYY

+++

+++

+++

MMM

Bm

B

B

x

x

x

M

2

1

Vectores que integran la base actual Identificación del punto extremo asociado a la base actual Cada columna de la matriz A y la inversa B se le denomina mnaaa +,,, 21 LLLL Paso 5: Seleccionar como vector de entrada aquel cuyo costo reducido (utilidad neta o precio sombra)

jj cz − sea el más negativa, si no hay ningún candidato de entrada, es decir, todas las

A j ,0 ∈∀≥− jj cz , entonces la solución BX es óptima; en caso de empate, este se rompe

arbitrariamente. Paso 6: Una vez seleccionada la columna ja que entrará a la nueva base, se selecciona el vector de

salida Bra de la base actual, utilizando la siguiente regla:

>= 0 /min kjkj

Bk

krj

Br YY

X

Y

X

En el caso que todas las kjY del denominador sean negativos, se tiene una solución no acotada .

Paso 7: La intersección en el Tableau de la columna que entra y la fila que sale, determina el elemento pivote rjY , con el objetivo de convertir a la columna ja en el vector unitario, es decir, ceros en toda

la columna y un uno en la r-ava componente (el mismo pivote rjY ). Regrese al paso 5.

Nota: jj cz − nos indica la utilidad ganada al introducir una unidad.

Ejemplo:

0 ; 0

1025X

1553

..

30005000:

21

21

21

21

≥≥≤+≤+

+=

XX

X

XX

as

XXZMax

Resolución: 1º: Método Gráfico

X1

X2

R 1

R 2

RSF

R 3

R 3

(x1*,x

2*)=(20/19;45/19)

Z*= $ 235.000/19

2º: Método Simplex

Page 35: Apunte Investigación Operativa I

35

Paso 2 y 3

0 ; 0

0 ; 0

1025X

1553

..

030005000:

43

21

421

321

21

≥≥≥≥=++=++

=+−

XX

XX

XX

XXX

as

XXZMax

Paso 4: Tableau: Tableau 0:

Z X1 X2 X3 X4 1 -5.000� -3.000 0 0 0

X3 0 3 5 1 0 15 X4 0 5 2 0 1 10 �

Paso 5: El menor valor fila Paso 6: El menor valor columna X3 =15/3=5; X4 =10/5=2 Paso 7: Pivote Tableau 1:

Z X1 X2 X3 X4 1 0 -1.000� 0 1.000 10.000

X3 0 0 19/5 1 -3/5 9 � X1 0 1 2/5 0 1/5 2

Tableau 2: z x1 x2 x3 x4 Z*

1 0 0 5.000/19 16.000/19 235.000/19 x2 0 0 1 5/19 -3/19 45/19 x1 0 1 0 -2/19 5/19 20/19

La solución básica factible óptima es:

0 0

(u) 19

45 (u)

19

20

43

21

==

==

XX

XX

)(19

235000$ umZ =

2.4.6.- Interpretación Económica El método simplex comienza con una producción cero para ambos productos y una solución básica factible inicial, pero que no es muy rentable, entonces se introduce el producto 1 a la solución, debido a que tenía la contribución más grande sobre la utilidad ($5.000 um). Así, es un método de pasos ascendentes y que se mueve en la dirección de la utilidad neta más grande (gradiente de la función objetivo) y que mejora en cada estado. En este caso, se introdujo el producto 1 tanto como fue posible hasta alcanzar la restricción nº 2, que fue la más importante y limitó la cantidad de 1X a dos unidades, es así que al producir estas dos unidades de 1X , la utilidad se incrementó de 0 a $10.000 u.m. Luego se realiza un cálculo si se puede mejorar aún más la utilidad introduciendo algo del segundo producto. Este cálculo requirió una sustitución entre el producto 1 y el producto 2. Conforme se incrementa 2X , se produce menos del producto 1, debido a que las restricciones limitan las cantidades disponibles de recursos. El efecto neto sobre la utilidad de incrementar el producto 2 y disminuir el producto 1 se representa por el cálculo de 22 cz − , el cual indicó que la utilidad se podría mejorar en $1.000 um por unidad de 2X producida. En seguida, se encontró que un máximo de 2,37 unidades de 2X deberían ser

Page 36: Apunte Investigación Operativa I

36

introducidas a la solución, debido a la combinación de las restricciones, lo cual aumentó de 0 a 2,37 unidades de 2X y disminuyo de 2 a 1,05 unidades de 1X . El efecto neto de estos cambios en

1X y 2X fue una utilidad de $12.368,4. En este punto, el método simplex determinó que no era posible mejorar más la utilidad. Ejemplo:

0 ; 0

0 ; 0

4842X

6024

..

068:

0 ; 0

4842X

6024

..

68:

43

21

421

321

21

21

21

21

21

≥≥≥≥=++=++

=−−

≥≥≤+≤+

+=

XX

XX

XX

XXX

as

XXZMax

XX

X

XX

as

XXZMax

Tableau 0:

Z X1 X2 X3 X4 1 -8 � -6 0 0 0

X3 0 4 2 1 0 60 � X4 0 2 4 0 1 48

Paso 5: El menor valor fila Paso 6: El menor valor columna X3 =60/4=15; X4 =48/2=24 Paso 7: Pivote Tableau 1:

Z X1 X2 X3 X4 1 0 -2 � 2 0 120

X1 0 1 1/2 1/4 0 15 X4 0 0 3 3 -1/2 1 18 �

Tableau 2:

Z X1 X2 X3 X4 Z* 1 0 0 5/3 2/3 132

X1 0 1 0 1/3 -1/6 12 X2 0 0 1 -1/6 1/3 6

La solución es:

).(132$ )(6 )(12 21 muZuxux === Ejemplo:

0 ,

1823

6

4

..

53:

21

21

2

1

21

≥≥+≤≤

+−=

xx

xx

x

x

as

xxZMin

El PPL de manera canónico es:

Page 37: Apunte Investigación Operativa I

37

0,,,,

18

6

4

523

4

3

..

053:

0 ,

1823

6

4

..

53:

54321

21

2

1

21

21

21

2

1

21

≥−=+−−

=+=+

=+−

≥−≤−−

≤≤

−=−=

xxxxx

xxx

xx

xx

as

xxUMax

xx

xx

x

x

as

xxZUMax

Tableau 0:

U X1 X2 X3 X4 X5 Z0 1 -3 � 5 0 0 0 0

X3 0 1 0 1 0 0 4 X4 0 0 1 0 1 0 6 X5 0 -3 -2 0 0 1 -18 �

En este caso, al evaluar el primer tableau, tenemos que la tercera restricción tiene asignado un recurso negativo (-18), por ende, el valor de x5, siendo una variable de holguras, tiene una valor negativo asignado inicialmente, violando la restricción general de no negatividad. Debido a lo anterior, es que surgen dos métodos, basados en el método simplex para solucionar este tipo de problemas (conocidos de penalización sobre la función objetivo), los cuales son: Método de la Gran M y el Método de Doble Fase.

2.5.- METODO DE LA GRAN M Éste método consisten en modificar el problema original y transformarlo a la forma canónica, lo cual se logra agregando un nuevo vector, conocido como variable artificial W, a las restricciones que generan el problema de negatividad en las variables de holgura (por lo general, ocurren las restricciones de igualdad y mayor-igual). Estas variables penalizan a la función objetivo con un costo de MW, donde M es un valor positivo arbitrario muy elevado. Como el método simplex siempre trata de mejorar la función objetivo, por ello es que éste tratará de sacar a W de la base cuanto antes posible. Cuando W sale de la base, esto se traduce en que se ha retornado al problema original y cuya solución óptima estará garantizada por el método simplex. Si durante la operación se llegará a una solución óptima en que W tiene un valor positivo, entonces implica que el problema original no tiene solución (o la solución es infactible). Nota: hay que tener presente que cuando la función objetivo es una maximización, la variable artificial la penalizará con un valor negativo (-MW), en cambio, para una función objetivo de minimización, la variable artificial la penalizara con un valor positivo (+MW). Ejemplo:

La forma estándar del modelo simplex queda:

0,

42

634

3 3

:.

4

max

21

21

21

21

21

≥≤+≥+=+

+=

XX

XX

XX

XX

as

XXz

Page 38: Apunte Investigación Operativa I

38

0,,,

42

634

33

:.

4

max

4321

421

321

21

21

≥=++=−+=+

+=

XXXX

XXX

XXX

XX

as

XXz

Pero la restricción 1 y 2 no tienen variables que desempeñen la función de variable holgura, es decir, en la primera no existe variable y en la segunda hay una variable superflua, por lo cual, para solucionar dicho problema, se le adicionan dos variables artificiales w1 y w2:

634

33

2321

121

=+−+=++

WXXX

WXX

Entonces, el PPL queda:

0,,,,,

42

634

33

:.

4

max

214321

421

2321

121

2121

≥=++=+−+=++

−−+=

WWXXXX

XXX

WxXX

WXX

as

MWMWXXz

Tenemos tres ecuaciones y seis incógnitas, por ello, la base inicial debe incluir 6-3=3 variables básicas con valor distinto a cero e igual número de no básicas con valor igual a cero. Para ello, la función objetivo debe contener el mismo número de variables que no están en la base, pero la función objetivo esta constituida por cuatro variables, por lo cual, será necesario sustituir los términos de w1 y w2 para obtener la forma canónica adecuada; lo anterior, se efectúa reemplazando dichos términos partir de las restricciones que poseen dichas variables w1 y w2. Para nuestro caso, corresponde a la restricción 1 y 2:

3212

211

346

33

XXXW

XXW

+−−=−−=

Por lo tanto, la función objetivo queda como:

MMXMXMXZ

MXMXMXMMXMXMXXZ

XXXMXXMXXZ

9)41()74(

346334

)346()33(4

321

3212121

3212121

−−+++=+++−++−+=

+−−−−−−+=

MMXXMXMZ 9)41()74( 321 −=++−+−⇒

Finalmente, el PPL queda de la siguiente manera:

0,,,,,

42

634

33

:.

9)41()74(

max

214321

421

2321

121

321

≥=++=+−+=++

−=++−+−

WWXXXX

XXX

WXXX

WXX

as

MMXXMXMz

El tableau inicial queda:

Z X1 X2 X3 W1 W2 X4

Page 39: Apunte Investigación Operativa I

39

1 -(4+7M) � -(1+4M) M 0 0 0 -9M W1 0 3 1 0 1 0 0 3 � W2 0 4 3 -1 0 1 0 6 X4 0 1 2 0 0 0 1 4 Z X1 X2 X3 W1 W2 X4 1 0 (1-5M)/3 � M (4+7M)/3 0 0 4-2M

X1 0 1 1/3 0 1/3 0 0 1 W2 0 0 5/3 -1 -4/3 1 0 2 � X4 0 0 5/3 0 -1/3 0 1 3 Z X1 X2 X3 W1 W2 X4 1 0 0 1/5 (8+5M)/5 -(1-5M)/5 0 18/5

X1 0 1 0 1/5 3/5 -1/5 0 3/5 X2 0 0 1 -3/5 -4/5 3/5 0 6/5 X4 0 0 0 1 1 -1 1 1

La solución óptima es:

)(5/18$

0

0

0

1

5/6

5/3

2

1

3

4

2

1

umZ

W

WW

X

X

X

X

X

XX

N

B

=

=

=⇒

=

=

=

Page 40: Apunte Investigación Operativa I

40

2.6.- METODO DE DOBLE FASE Al igual que el método de la gran M, este método cumple con los mismos objetivos que el anterior, pero de la siguiente manera. Sea el siguiente problema original (en este caso usaremos la minimización para la función objetivo, aunque el método es independiente si es maximización, sólo hay que interpretar bien el sentido de las reglas a utilizar):

0

:..

min

≥≥×

×=

X

bXA

as

XCZ

Introducimos las variables artificiales al problema original:

0,0,0

:..

min

≥≥≥=+−×

×=

WYX

bWYXA

as

XCZ

FASE I: Se resuelve el siguiente problema.

0,0,0

:..

min

1

≥≥≥=+−×

=∑=

WYX

bWYXA

as

WWi

i

La solución óptima en esta fase debe ser W = 0. Si se tiene que W > 0, el problema no tiene solución. Si la primera fase es efectivamente óptima, se pasa a la siguiente fase. FASE II: Se toma toda la tabla óptima anterior, ignorando únicamente las columnas asociadas a los Wi y el renglón de costos reducidos jj cz − , sustituyendo este renglón por la función objetivo inicial:

0,0

:..

min

111

≥≥=−

×=

−−−

XX

bBYBAXB

as

XCZ

Page 41: Apunte Investigación Operativa I

41

Ejemplo:

0,

42

634

33

:.

4:min

21

21

21

21

21

≥≤+≥+=+

+=

XX

XX

XX

XX

as

XXZ

Fase I:

0,,,,,

42

634

33

:..

min

214321

421

2321

121

21

≥=++=+−+=++

+=

WWXXXX

XXX

WXXX

WXX

as

WWW

Al igual que el método de la gran M, la solución debe estar constituida de tres variables, entonces:

947

947

)346()33(

21

321

321

32121

=−++++−−=

+−−+−−=+=

XXXW

XXXW

XXXXXW

WWW

El problema estándar queda:

0,,,,,

42

634

33

:..

947

min

214321

421

2321

121

321

≥=++=+−+=++

=−++

WWXXXX

XXX

WXXX

WXX

as

XXXW

La tabla inicial queda:

W X1 X2 X3 W1 W2 X4 1 7 � 4 -1 0 0 0 9

W1 0 3 1 0 1 0 0 3 � W2 0 4 3 -1 0 1 0 6 X4 0 1 2 0 0 0 1 4 W X1 X2 X3 W1 W2 X4 1 0 5/3 � -1 -7/3 0 0 2

X1 0 1 1/3 0 1/3 0 0 1 W2 0 0 5/3 -1 -4/3 1 0 2 � X4 0 0 5/3 0 -1/3 0 1 3 W X1 X2 X3 W1 W2 X4 1 0 0 0 -1 -1 0 0

X1 0 1 0 1/5 3/5 -1/5 0 3/5 X2 0 0 1 -3/5 -4/5 3/5 0 6/5 X4 0 0 0 1 1 -1 1 1

Por lo tanto, como W=0, el problema tiene solución factible y pasamos a la fase II.

Page 42: Apunte Investigación Operativa I

42

FASE II: Las variables artificiales han servido a su propósito y se deben eliminar en todos los cálculos siguientes. Lo anterior significa que las ecuaciones de la tabla óptima de la fase I se pueden escribir como:

15

6

5

35

3

5

1

43

32

31

=+

=−

=+

XX

XX

XX

Las ecuaciones anteriores son exactamente equivalentes a la forma estándar del problema original (antes de agregar las variables artificiales). Por lo tanto, el problema original se puede rescribir como:

0,,,

15

6

5

35

3

5

1

:..

4

min

4321

43

32

31

21

≥=+

=−

=+

+=

XXXX

XX

XX

XX

as

XXz

Se puede apreciar que la fase I nos proporciona una solución básica inicial preparada para el problema original. Es decir, queda 4(variables) - 3(restricciones) = 1 variable asignado con valor cero, es decir, X3 = 0 y la solución básica factible inicial está constituida por X1 ,X2 y X4. Pero, para terminar de resolver el problema, nuevamente debemos sustituir las variables X1 y X2 en la función objetivo (tal como se efectúo en el método de la Gran M), utilizando la primera y segunda ecuación, entonces:

5

18

5

15

3

5

6

5

4

5

12)

5

3

5

6()

5

1

5

3(4

4

3

3333

21

+−=

++−=++−=

+=

Xz

XXXXZ

XXZ

El problema estándar final:

0,,,

15

6

5

35

3

5

1

:..5

18

5

1

min

4321

43

32

31

3

≥=+

=−

=+

=+

XXXX

XX

XX

XX

as

XZ

Page 43: Apunte Investigación Operativa I

43

Por lo tanto, la tabla inicial de la fase II se convierte en:

Z X1 X2 X3 X4 1 0 0 1/5 � 0 18/5

X1 0 1 0 1/5 0 3/5 X2 0 0 1 -3/5 0 6/5 X4 0 0 0 1 1 1 � Z X1 X2 X3 X4 1 0 0 0 -1/5 17/5

X1 0 1 0 0 -1/5 2/5 X2 0 0 1 0 3/5 9/5 X3 0 0 0 1 1 1

La solución óptima es:

)(5/17$

0

1

5/9

5/2

4

3

2

1

umZ

X

X

X

X

X

XX

N

B

=

=

=

=

2.7.- CASOS ESPECIALES DE PPL MEDIANTE TABLEAU Como hemos analizado hasta ahora, el desarrollo y resolución de PPL, mediante tablas no es complejo pero si algo trabajoso. En este punto veremos, al igual como lo vimos en el punto 2.2.2, dónde efectuamos un estudio desde la perspectiva del método gráfico, ahora los casos especiales que informa la resolución de distintos problemas a través de los tableau. La utilidad de lo anterior, es que nos permitirá analizar distintos casos que no son previsibles cuando se resuelve cualquier problema particular.

2.7.1.- Problema Con Soluciones Óptimas No acotado Existen problemas de programación lineal, cuyas soluciones óptimas no son números finitos, sino por el contrario es el infinito, lo cual quiere indicar que, dependiendo de la función objetivo (minimización o maximización), no existe ninguna restricción que acote su crecimiento o, que es lo mismo, crece de manera indefinida sin violar ninguna restricción o cuando menos en una dirección determinada. Así, se dice que el espacio de soluciones y el valor óptimo de la función objetivo es no acotado. Veamos el siguiente problema lineal:

0,

42

222

:..

44

21

21

21

21

≥≤+−≤+−

+=

XX

XX

XX

as

XXZMáx

Su representación gráfica es la siguiente:

Page 44: Apunte Investigación Operativa I

44

Hemos visto que a medida que crece la función objetivo paralelamente hacia la derecha, su valor crece o incrementa, pero la RSF no es un conjunto cerrado o acotado por el lado derecho, por lo cual, la función objetivo no tiene limite y, por ende, su valor es infinito. Ahora, como podemos identificar dicho estudio con el método simplex. Sea el problema de programación lineal canónico:

0

:..

:

≥≤

=

x

bAX

as

CXZMax

En cualquier iteración del método simplex, el vector que entra a la base es el asociado a la variable Xk, entonces si todas las miYik ,,1,0 K=∀≤ , la solución del problema lineal es no acotado. Retomemos el ejemplo ya resuelto por el método gráfico:

0,

42

222

:..

44

21

21

21

21

≥≤+−≤+−

+=

XX

XX

XX

as

XXZMáx

Aplicando las reglas ya descritas, el tablau inicial del problema es:

Z X1 X2 X3 X4 1 -4 -4 � 0 0 0

X3 0 -2 2 1 0 2 � X4 0 -1 2 0 1 4 Z X1 X2 X3 X4 1 -8 � 0 2 0 4

X2 0 -1 1 1/2 0 1 X4 0 1 0 -1 1 2 � Z X1 X2 X3 X4 1 0 0 -6 8 20

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

Page 45: Apunte Investigación Operativa I

45

Como se puede apreciar, en esta tercera iteración X3 debe entrar a la base, pero 02/113 <−=Y y

02/123 <−=Y . Por lo tanto, no es posible aplicar la regla de selección que indica que variable debe salir de la base óptima.

2.7.2.- Problema Con Soluciones Óptimas Múltiples A diferencia del problema anterior, existen otro tipo de problemas que no tienen una única solución óptima, sino que al contrario, tienen un infinito número de soluciones óptimas, pero acotadas en una región determinada para las cuales la solución respectiva generará el mismo valor en la función objetivo, por lo general, para que esto ocurra estos son conjuntos cerrados en segmentos de rectas o en rigor matemático se refiere a combinaciones lineales convexas, en el cual deben existir puntos extremos que permitirán acotar el limite de los trazos existentes de la región de soluciones factibles. Cuando hablamos de estos casos se dice que la función objetivo es paralela a una restricción de enlace, es decir, una restricción que se satisface en el sentido de la igualdad a través de la solución óptima. Veamos ahora el siguiente problema lineal:

0,

20410

30106

:..

25

21

21

21

21

≥≤+≤+

+=

XX

XX

XX

as

XXZMáx

La representación gráfica es la siguiente:

Como se aprecia, la función objetivo tiene un valor máximo (óptimo) cuando coincide con el trazo AB de la RSF. Como se ha dicho, la solución óptima sigue estando en un punto extremo (vértice), solo que la gran diferencia es que son dos puntos óptimos a conocer, el punto A y B. Es necesario recordar el concepto de la combinación lineal convexa entre dos puntos A y B, ya que cualquier punto perteneciente a la recta AB también es óptima, es decir, como existen infinitos puntos también existen infinitos puntos óptimos que generan el mismo valor de la función objetivo. Matemáticamente, se tiene que si XA es el vector asociado al punto A y XB es el vector asociado al punto B, entonces:

Page 46: Apunte Investigación Operativa I

46

10 ,)1( ≤≤−+= λλλ BA XXX es también un punto óptimo. Nuevamente debemos indicar cuales serán las condiciones que nos permitirán identificar soluciones múltiples óptimas mediante el método simplex. Sea el problema de programación lineal canónico:

0

:..

:

≥≤

=

x

bAX

as

CXZMax

Si existe un vector asociado a Xk que no esté en la base óptima, cuyo costo reducido 0=− kk cz , el

resto de los 0≥− ii cz y todas miYik ,,1,0 K=∀> , entonces el problema de programación lineal tiene soluciones múltiples y la base es óptima. Retomemos el ejemplo ya visto en este caso:

0,

20410

30106

:..

25

21

21

21

21

≥≤+≤+

+=

XX

XX

XX

as

XXZMáx

Aplicando las reglas ya descritas, el tablau inicial del problema es:

Z X1 X2 X3 X4 1 -5 � -2 0 0 0

X3 0 6 10 1 0 30 X4 0 10 4 0 1 20 � Z X1 X2 X3 X4 1 0 0 0 1/2 10

X3 0 0 38/5 1 -3/5 18 � X1 0 1 0 0 1/10 2

Como 022 =− cz y la variable X2 no esta en la base, ya que B=(X2,X1) y todas las

Aicz jj ∈∀≥− ,0 , se tiene una solución óptima múltiple. De esta manera, un punto extremo óptimo

es el siguiente:

)(10$

0

18

0

2

4

3

2

1

1

umZ

X

X

X

X

X

=

=

=

Para determinar cual sería el otro punto extremo, se deberá introducir a la base la variable X2, asi:

Z X1 X2 X3 X4 1 0 0 0 1/2 10

X2 0 0 1 5/38 -3/38 45/19 X1 0 1 0 -1/19 5/38 20/19

Esta tableau también es óptima y corresponde a un punto extremo X , cuyos componentes son los siguientes:

Page 47: Apunte Investigación Operativa I

47

)(10$

0

0

19/45

19/20

4

3

2

1

2

umZ

X

X

X

X

X

=

=

=

Como ya se explicó, existe una combinación lineal convexa entre los puntos X1 y X2 que también es óptima, es decir, se genera el mismo valor de la función objetivo. La expresión matemática que define dicha expresión, asociada a un X* es:

10 ,

0

0

19/45

19/20

)1(

0

18

0

2

)1( 21* ≤≤

−+

=−+= λλλλλ XXX

la cual genera un punto óptimo de un conjunto de puntos óptimos existentes.

2.7.3.- Problema Sin Soluciones o Infactible Como se ha explicado anteriormente, el método de penalización o el método de doble fase permiten identificar cuándo un problema de programación lineal no tiene solución. Por lo general, si las restricciones no se pueden satisfacer en forma simultánea, se dice que el problema no tiene solución; esta situación no ocurre cuando las restricciones son:

1. del tipo ≤ , ya que las variables de holgura siempre generarán una RSF y, por lo tanto, existirá una solución factible óptima,

2. del tipo =∨≥ efectivamente generan variables artificiales W que por su estructura no nos garantizan una solución factible al modelo inicial y aunque se efectúen las provisiones necesarias para que exista un solución óptima, es decir, que efectivamente W = 0, si no existe una RSF el problema no tendrá solución.

Veamos el siguiente caso de problema lineal:

0,

4

2

:

22

21

21

21

21

≥≥+≤+

+=

XX

XX

XX

sa

XXZ

Máx

La representación gráfica es la siguiente:

Page 48: Apunte Investigación Operativa I

48

X1

X2

ca b

c

RSF 2

RSF 1

Como se puede observar, no existen valores de X1 y X2 que puedan estar simultáneamente en ambas regiones sombreadas. Veamos ahora cómo identificamos esta condición por medio del método de penalización de Gran M, presentando primero el PPL estándar y el tableau original:

0,

44

2 3

:

022

21

21

21

21

≥=+−+=++

=+−−

XX

WXXX

XXX

sa

MWXXZ

Máx

Z X1 X2 X3 X4 W 1 -2 -2 0 0 M 0

X3 0 1 1 1 0 0 2 W 0 1 1 0 -1 1 4 Z X1 X2 X3 X4 W 1 -2-M � -2-M 0 M 0 -4M

X3 0 1 1 1 0 0 2 � W 0 1 1 0 -1 1 4

Z X1 X2 X3 X4 W 1 0 0 2+M M 0 4-2M

X1 0 1 1 1 0 0 2 W 0 0 0 -1 -1 1 2

Como vemos, la solución óptima al problema modificado, se obtiene en el último tableau, pero como la variable artificial no es nula, sino que W = 2, el problema original no tiene solución factible.

2.7.4.- Problema Con Soluciones Degeneradas Como se ha explicado otras veces, al existir un empate al momento de decidir que vector entra a la base, este se puede romper de manera arbitraria sin tener un efecto considerable en el número de iteraciones del método simplex. En cambio, un empate en el vector de salida no se puede decidir de manera arbitraria porque se puede ocasionar un ciclaje tal que nunca se obtenga la solución óptima, es así que en la siguiente iteración una o mas variables básicas serán

Page 49: Apunte Investigación Operativa I

49

obligadamente iguales a cero, basta recordar que en los ejemplo vistos de programación lineal, siempre las variables tomaron valores estrictamente positivos. De esta manera, esta condición revela que el modelo tiene cuando menos una restricción redundante. Veamos el siguiente ejemplo:

0,

42

84

:

93

21

21

21

21

≥≤+≤+

+=

XX

XX

XX

sa

XXZ

Max

La resolución mediante el método simplex es: Z X1 X2 X3 X4 1 -3 -9 � 0 0 0

X3 0 1 4 1 0 8 � X4 0 1 2 0 1 4

Z X1 X2 X3 X4 1 -3/4 � 0 9/4 0 18

X2 0 1/4 1 ¼ 0 2 � X4 0 1/2 0 -1/2 1 0

Z X1 X2 X3 X4 1 0 0 3/2 3/2 18

X2 0 0 1 ½ -1/2 2 X1 0 1 0 -1 2 0

Podemos ver en este caso que en la segunda iteración ya se obtuvo el valor óptimo de la función objetivo, pero sus vectores básicos no son los últimos; en cambio, en la última iteración los vectores básicos son los últimos, pero la solución no mejoro. En esta caso se puede apreciar que la primera restricción es redundante (vista de manera gráfica), por lo cual, se dice que el punto esta mas que determinado o sobredeterminado, ya que solo son necesarias las restricciones de negatividad y la segunda restricción. Lamentablemente, no existe ninguna técnica confiable que nos permita identificar restricciones redundantes a partir del tableau, sólo se puede apreciar por el método gráfico, como se ve a continuación del ejemplo anterior.

(Redundante)

Como vimos anteriormente, las iteraciones uno y dos generaron una suerte de ciclaje, ya que a partir de un estado común (valor objetivo iguales) se obtuvieron soluciones distintas. Pero que pasa cuando son más de dos variables, la respuesta es más compleja ya que el ciclaje o reciclaje, efectivamente, se vuelve más notorio, ya que a partir del tableau inicial y después de sucesivas iteraciones aplicando el método simplex, podemos volver nuevamente al tableau inicial sin poder llegar a la solución óptima. Las técnicas utilizadas para solucionar el ciclaje generan una reducción drástica en los cálculos y, por ende, en los tiempos de ejecución, pero una técnica que mejora esta causa es la Regla Lexicográficas.

Page 50: Apunte Investigación Operativa I

50

Page 51: Apunte Investigación Operativa I

51

CAPITULO III: DUALIDAD Y ANÁLISIS DE SENSIBILIDAD

3.1.- DUALIDAD Uno de los descubrimientos más importantes durante el desarrollo inicial de la programación lineal fue el concepto de dualidad y sus importantes ramificaciones, éste reveló que asociado a todo problema de programación lineal existe otro problema lineal llamado Dual. Las relaciones entre el problema dual y el original (llamado primal ) son útiles en una gran variedad de situaciones. Por ejemplo la solución óptima del problema dual es la que proporciona los precios sombra, otro aspecto importante de la teoría de la dualidad es la interpretación y realización del análisis de sensibilidad; dado que algunos o todos los valores de los parámetros que se emplean en el modelo original son sólo estimaciones de las condiciones futuras, es necesario investigar el efecto que tendría sobre la solución óptima en caso que prevalecieran otras condiciones e incluso ciertos valores de estos parámetros (como la cantidad de recursos ) pueden representar decisiones de la gerencia en cuyo caso su elección debe ser el punto más importante de la investigación y se puede estudiar a través del análisis de sensibilidad.

3.1.1.- Formulación del Problema Dual. Para construir, tanto el problema primal y dual, ambos problemas se construyen con los mismos vectores ya conocidos, es decir, de costos o precios (C), vector de recursos (b) y coeficientes tecnológicos (A). De esta manera, asociada a la estructura de un P.P.L. primal de la siguiente forma:

Primal Problema

0X

bXA

s.a.

.

≤×

×=

r

rrr

rrXCZ

Max

Entonces, el P.P.L. dual se define como determinar las variables duales mwww ,,, 21 K , por lo cual, se define la siguiente estructura:

Dual Problema

0

..

TbG

≥×

×=

W

TCWTA

as

W

Min

r

rrr

rr

Donde:

TCr

: Vector columna con n componentes transpuesta del vector C, vector de disponibilidad de recursos duales. Wr

: Vector columna con m componentes; vector de actividades de variables duales.

TAr

: Transpuesta de la matriz A, es decir, matriz de mn× elementos, matriz de coeficientes tecnológicos. G: Función objetivo dual, escalar.

Tbr

: Vector de precios unitarios duales transpuesta del vector b; vector reglón con m componentes 0r

: Vector columna con m ceros.

Page 52: Apunte Investigación Operativa I

52

Formas de Dualidad Habíamos visto que:

1.-

0

..

0

..

Z

≥≥×

×=

≥≤×

×=

W

CWA

as

WbGMin

X

bXA

as

XCMax

TT

T

Otras formas serían:

2.-

0

..

0

..

Z

≤×

×=

≥×

×=

W

TCWTA

as

WTbGMax

X

bXA

as

XCMin

Veamos, por ejemplo, como se demuestra el PPL dual a partir del PPL primal:

0

..

Z-

−≤×−

×−=

X

bXA

as

XCMax

Aplicando la definición de dualidad,

0

..

-

−≥×−

×−=

W

TCWTA

as

WTbGMin

Que es equivalente a:

0

..

≤×

×=

W

TCWTA

as

WTbGMax

3.-

arestringid no

..

0

..

Z

W

TCWTA

as

WTbGMin

X

bXA

as

XCMax

≥×

×=

≥=×

×=

4.-

0

..

0

..

Z

≥×

×=

≥×

×=

W

TCWTA

as

WTbGMin

X

bXA

as

XCMax

Page 53: Apunte Investigación Operativa I

53

Resumiendo, podemos formular el problema dual de cualquier problema primal, según la siguiente tabla:

Problema de Maximización Problema de Minimización Si la restricción es: La variable asociada es: ≤ 0≥ ≥ 0≤ = irrestricta Si la variable es: La restricción correspondiente es:

0≥ ≥ 0≤ ≤

irrestricta = Ejemplo: Dado el siguiente problema primal

04,3,2,1

46 4X-3X

-1 21

5433221

..

44322813 Z

≤−

≤+++

−++=

XXXX

XX

XXXX

as

XXXXMax

Encuentre el problema dual asociado:

4

2

8

3

TC

46

1-

5

b

1100

0011

3211

==−

−=A

4283C 4615Tb

103

102

011

011

−=−=

−=TA

El PPL dual de forma matricial:

4

2

8

3

3

2

1

103

102

011

011

..

3

2

1 461-5G

=

W

W

W

as

W

W

W

Min

Page 54: Apunte Investigación Operativa I

54

El PPL dual de forma extensa:

03,2,1

4 313W

2 3 W12

8 21

3 21

..

346215G

−≥−

≥+

≥−

≥+

+−=

WWW

W

W

WW

WW

as

WWWMin

Usos del problema Dual: a) Resolver problemas lineales que tienen más restricciones que actividades Ejemplo:

06,5,4,3,2,1

4 654483221

264534633221

..

685648322816G

02,1

8214

62413

82816

22213

8212

621

..24X12X Z

≥+++−−

≥+++++

+++++=

≤+

≤+

≤+

≤−

≤−

≤+

+=

WWWWWW

WWWWWW

WWWWWW

as

WWWWWWMin

XX

XX

XX

XX

XX

XX

XX

as

Max

b) Hacer interpretaciones económicas de las soluciones óptimas de los P.L.L. c) Generar métodos como el Dual Simplex para el análisis de sensibilidad de los P.L.L. d) Generar nuevos algoritmos para la solución de problemas de redes de optimización Un resultado interesante que permite centrar la atención, respecto a la relación entre ambos problemas y muestra que las denominaciones primal y dual son sólo arbitrarias, es la siguiente: Teorema 1: Dado un problema primal (P), el dual del problema dual es el problema primal. Para demostrar esta condición, utilizando el problema primal (P) original, se tiene que el problema dual (D) asociado es:

0

..

≥×

×=

W

TCWTA

as

WTbGMin

Page 55: Apunte Investigación Operativa I

55

Transformemos este problema a maximización y multiplicando por (-1):

0

..

-

−≤×−

×−=

W

TCWTA

as

WTbGMax

Ahora, apliquemos el dual a este problema

0

..

Z-in

−≥×−

×−=

X

bXA

as

XCM

El cual es equivalente a:

0

..

Z

≤×

×=

X

bXA

as

XCMax

3.1.2.- Teoremas de Dualidad Estos teoremas se basan en la siguiente estructura:

0

..

TbG

0X

bXA

s.a.

XC Z

≥×

×=

≤×

×=

W

TCWTA

as

WMinMax

Teorema Nº2: Teorema Débil de Dualidad: Si el problema primal es de maximización y el problema dual de minimización, entonces Wy X son soluciones factibles del problema primal y dual, respectivamente. Entonces se cumple que:

GWTbXCZ =≤= Dem:

Si X es factible para (P), entonces bXA ≤ , y premultiplicando por 0≥T

W :

bWXAWTT

≤ .

Si W es factible para (D), entonces TT CWA ≥ , y premultiplicando por 0≥X : TTTT

CXXAX ≥ Luego:

GZWbXAWXC TT≤⇒≤≤

rr

El valor de la función objetivo de cualquier solución factible del problema de maximización, es una cota inferior del valor óptimo del problema de minimización, el cual es análogo para el caso contrario. Quiere decir que para cualquier par de soluciones factibles ( )WX , del primal y dual, la función objetivo del primal es siempre menor o igual a la función objetivo del dual.

Page 56: Apunte Investigación Operativa I

56

Corolario 1: Si el problema primal no tiene solución factible (infactible) y el problema dual tiene al menos una, entonces el dual tiene solución óptima no acotada. Por el contrario si el problema dual no tiene solución factible (infactible) y el problema primal tiene al menos una, entonces tiene una solución óptima no acotada. Corolario 2: Ambos problemas dual y primal no tienen solución Teorema Nº3: Teorema Fundamental de Dualidad Dados un par de problemas Primal-Dual, si uno de ellos admite solución óptima, entonces el otro también la admite y los respectivos valore son óptimos y sus respectivas funciones objetivos óptimas son iguales, es decir, si X* es óptimo para el problema primal y W* es óptimo para el problema dual, entonces:

GWTbCXZ === **

3.1.4.- Solución Del Problema Dual La solución de un P.P.L. primal por el método simplex resuelve implícitamente el problema dual. Supongamos el siguiente problema primal (P):

( )P

0X

bAX

s.a.

CX Z

=

=Max

Supongamos que la matriz A puede ser subdividida en:

( )NBA |= B = Matriz de vectores básicos N = Matriz de vectores no básicos Entonces el P.P.L. Primal anterior queda como:

0NX ; 0BX

bNNXBBX

s.a.NXNCBXBC Z

=≥

=+

+=Max

La solución de este problema existe, pero el problema consistirá en hacer XN = 0 (ya que es no básica) y resolver el vector XB en términos de la base B, quedando así:

b1-BBCZ

BXBCZ

1

=

=

−= bBBX

La función objetivo Dual está definida como:

bTWWTbG ×=×= En condiciones de optimalidad (según el teorema fundamental) se cumple que:

bTWbBBC

GZ

ˆ1ˆˆ

ˆˆ

=−=

De esta manera, w es el vector dual óptimo, cuyo valor es:

1ˆˆˆ −= BBCTW

Page 57: Apunte Investigación Operativa I

57

Dentro del Tableau del P.P.L. primal 1−BCB corresponde al valor de los costos reducidos de las

variables de holgura. Ejemplo: Hallar el valor de las variables duales óptimas y su función objetivo del P.P.L:

)(

02,1

102214

182312

..2314

P

XX

XX

XX

as

XXZMax

≤+

≤+

+=

Formular el problema dual

( )D

02,1

32213

42412

..210118

≥+

≥+

+=

WW

WW

WW

as

WWGMin

La última tabla para el primal queda como:

Z X1 X2 X3 X4 Z0 1 2 0 0 3/2 15 X3 0 -4 0 1 -3/2 3 X2 0 2 1 0 1/2 5

La solución óptima para el primal es:

0*4X 3*

3X 5*2X 0*

1 ====X

Así, la solución óptima para el problema dual es:

1ˆˆˆ −= BBCTW

2/344*2

033*1

=−=

=−=

CZW

CZW

Luego, comprobaremos si la solución dual es factible y óptima. Comprobando en las restricciones duales se tiene:

( ) ( )( ) ( )

03/2 ; 00

332/3203

462/3402

≥≥

≥=+

≥=+

( ) ( ) ZG ˆ152/310018ˆ ==+= Las soluciones óptimas de un par de problemas primal-dual satisfacen otra relación que es muy útil en la interpretación económica de las soluciones. Esta relación se puede formular para un par cualquiera de problemas primal-dual lineales, pero sólo consideraremos la definición inicial de la relación de dualidad, es decir para:

Page 58: Apunte Investigación Operativa I

58

0

..

TbG

0X

bAX

s.a.

CX Z

=

=

W

TCWTA

as

WMinMax

Teorema Nº4: Teorema de Holguras Complementarias Débil Dado los problemas Primal y Dual estándares, una condición necesaria y suficiente para Wy X sean óptimas, respectivamente de (P) y (D) es:

0)(

0)(

=−

=−TTT

T

CWAX

XAbW

Demostración: Sea:

dual problema del holgura de variables0

primal problema del holgura de variables0

⇒≥−=⇒≥−=

TT CWAu

AXbv

Sea WX ∧ un par de soluciones del primal y dual, entonces la condición del teorema se puede expresar como:

0

0

=

=

Xu

WvT

T

De manera tal, que:

0

0

≥−=

≥−=TT CWAu

XAbv

De esta manera, como X es el primal factible, entonces multiplicando 0≥W en la restricción

bXA ≤ :

bWXAWTT

Dado que 0=WvT

, se obtiene:

bWXAWTT

= De manera analoga, se obtiene:

XCWAXT

= Y comparando ambas ecuaciones, se obtiene que:

)()( WGXZ

WbXAWXC TT

=⇒

==rr

Producto de lo anterior, se tienen los siguientes resultados:

0 implica d.

implica 0 c.

0 implica b.

implica 0 a.

=>

=>

=>

=>

XCWA

CWA X

WbXA

bXA W

TT

TT

Pero que pasa en el caso que bXAW =∧= 0 , o que TT CWA X =∧= 0 . El siguiente teorema soluciona dicha situación. Teorema Nº5: Teorema de Holguras Complementarias

Page 59: Apunte Investigación Operativa I

59

Dado los problemas Primal y Dual estándares, tienen soluciones factibles, entonces existen soluciones óptimas Wy X , tal que:

0)(

0)(

>+−

>+−TTT

T

XCWA

WXAb

Producto de lo anterior, se tienen los siguientes resultados:

0 implica 0 si d.

0 implica 0)( si c.

0 implica 0 si b.

0 implica 0 si a.

>−=

>=−

>=

>=

TT

TT

CWA X

X CWA

Xb-AW

W )X(b-A

3.1.5.- Interpretación Económica De Las Variables D uales Se ha visto que:

1ˆˆˆ −= BBCTW

Como B-1 es la inversa de la base óptima del problema primal, entonces multipliquemos por la base óptima dicha ecuación:

BCBTW

BBBCBTW

ˆˆˆ

ˆ1ˆˆˆ

=

−=

Como B esta compuesta por m columnas aj de A, la igualdad anterior puede expresarse en términos de los componentes aj de la base.

Bj ˆ ∈∀=×Bj

CjaTW

De esta manera:

jBCj

zjBC

jYBC

jBC

jY

jaBBC

=⇒=

=−

ˆ

1ˆˆ321

La igualdad anterior es equivalente a la definición de zj dada con anterioridad y que era:

BjaWz jT

j ∈∀= , ˆ

Si se toma el vector de recursos b y se incrementa en b∆ , de tal forma que la base óptima B no cambie, por lo cual, la nueva solución xB seguirá siendo óptima, siempre y cuando se cumpla que:

( ) 01ˆˆ ≥∆+−= bbBBX

De esta manera, producto de lo anterior, tampoco cambian los costos reducidos jj cz − , es decir:

Aj 1ˆˆ ∈∀−−=− jCjaBBCj

cj

z

En cambio, la función dual ha sufrido una variación, pues ahora se tendrá:

( ) bTW

Z

bTWbbTWG

bTWG

∆×+×=∆+=

×=

ˆ

ˆ

ˆˆ'ˆ

ˆˆ

321

Page 60: Apunte Investigación Operativa I

60

bTWZZ

ZG

bTWZG

∆×+=

=

∆×+=

ˆˆ'ˆ

'ˆ'ˆ

ˆˆ'ˆ

Nota: b∆ es un cambio unitario en el vector recursos, relacionado con w, que es el precio sombra. La igualdad anterior indica que un pequeño incremento en el vector recursos ha cambiado el valor óptimo de la función objetivo dual, y por lo tanto, el valor óptimo de la función objetivo primal. Este

cambio es .ˆ bTW ∆× Si el cambio en el vector recurso b es u (unitario), la función objetivo cambiará en w unidades, es decir, que si la componente ( ) ,,1 ni

ib K=∀ de b, sufre un cambio unitario, la función objetivo sufrirá

un cambio wi (la i-ésima del vector dual). Nota: es importante notar que la interpolación económica es válida únicamente para cambios en b, ya que estos no afectan, por lo general, la estructura de la base óptima. Este tipo de interpolación de variables duales se conoce con el nombre de precio sombra. Ejemplo: Si en el problema anterior b2 se convierte de 10 a 11 unidades (cambio unitario), el nuevo valor de la función objetivo será: Tenemos que los valores, obtenidos del primal son:

15Z* 5*2

X 2/3*2

0*1

X 3*3

X 0*1

===

===

W

W

Luego, la variación de la función objetivo es:

5.162

331

2

315

22ˆ'ˆ

110112

b

==×+=∆×+=

=−=∆

bWZZ

¿Qué sucede, si cambio ahora b2 de 10 a 9 unidades?

5.132

27)1(

2

315

22ˆ'ˆ

11092

b

==−×+=∆×+=

−=−=∆

bWZZ

¿Qué sucede si se aumenta el recurso b1 de 18 a 19 unidades? No sucede nada, porque el precio sombra no esta ocupando todo el recurso. Entonces, si se aumenta (o decrece) el recurso 2, se mejora (o empeora) la función objetivo, en cambio, si se mejora el recurso 1 sólo se tendrá más holgura para dicho recurso. Hay que indicar que la interpretación económica es válida solamente para cambios unitarios en el vector b, ya que estos no afectan a la base óptima. Los cambios que no sean unitarios (en los distintos recursos), se estudiarán en el análisis de sensibilidad y programación paramétrica, el cual se verá más adelante.

3.1.6.- Método Simplex Dual El método simplex dual fue desarrollado para solucionar directamente el problema dual. Se basa en el método simplex primal y opera, según el siguiente procedimiento:

Page 61: Apunte Investigación Operativa I

61

Dado el siguiente problema primal-dual:

0

..

0

..

Z

≥≥×

×=

≥≤×

×=

W

CWA

as

WbGMin

X

bXA

as

XCMax

TT

T

Paso1: Construya el tableau cero, siguiendo las mismas reglas vistas para el método simplex, es decir, que aparezca la matriz identidad y que los costos reducidos, en este caso, sean mayores o iguales a cero, es decir:

Aj , 0 ∈∀≥−j

cj

z

Paso2: Revisar todos los mi

BiX ,,1, K=∀ :

1. Si todos los 0≥Bi

X , entonces el tableau actual es óptimo y, por ende, la solución es óptima.

2. Si uno o más 0<Bi

X , entonces se selecciona el vector br que debe abandonar la base,

utilizando la siguiente expresión: { }0; ,,1

<=

=Bi

XBi

Xmi

MinbrXK

Paso 3 El vector xk de entrada a la base, debe satisfacer la siguiente regla, la cual es:

<

==

−0,

,,1 jrY

rjY

jc

jz

njMax

rkYkckz

K

Paso 4 La columna xk se convierte en el vector unitario, cuyo pivote Yrk es igual a uno. Dichos cambio se efectúan con operaciones matriciales elementales. Regrese al paso 2 hasta que se cumplan las condiciones de optimalidad. Ejemplo: Resolver usando el Simplex Dual:

02W,1W

322W3W1

424W12Ws.a.

210W118WG

≥≥+

≥+

+=Min

Notemos que el problema se puede resolver utilizando los métodos de la gran M o Doble Fase, como lo explicamos anteriormente. Veamos el método simplex dual y luego efectuemos una comparación entre ellos.

04

W,3

W,2

W,1

W

-34

W2

2W-1

3W-

-43

W2

4W-1

2W-

s.a.2

10W-1

-18W-GH

=+

=+

==Max

Page 62: Apunte Investigación Operativa I

62

H W1 W2 W3 W4 H0 1 18 10 � 0 0 0 W3 0 -2 -4 1 0 -4 � W4 0 -3 -2 0 1 -3 H W1 W2 W3 W4 H0 1 13 0 5/2 � 0 -10 W2 0 1/2 1 -1/4 0 1 W4 0 -2 0 -1/2 1 -1 � H W1 W2 W3 W4 H0 1 3 0 0 5 -15 W2 0 3/2 1 0 -1/2 3/2 W3 0 4 0 1 -2 2

La solución al problema dual es:

15

0

0

2

2/3

4

1

3

2

=−=

=

=

=

HG

W

W

W

W

W

WW

N

B

La diferencia entre el método dual simpleX y los dos de penalización, radica en que, primero no se utilizan variables artificiales y, segundo existen menos iteraciones, pero la desventaja es que exige la condición de factibilidad dual, es decir, Aj , 0 ∈∀≥−

jc

jz

3.1.7.- Transformación de Tabla Óptima Primal a una Tabla Óptima Dual Como se ha explicado anteriormente, tanto el PPL primal como el dual están relacionados a través de:

0

..

0

..

Z

≥≥

=

≥≤

=

W

CWA

as

WbGMin

X

bAX

as

CXMax

TT

T

De esta manera, existe una relación directa entre el tableau óptimo primal y dual, el cual se puede obtener con el siguiente procedimiento: Paso 1 Las variables no básicas de la tabla óptima primal pasan a ser las variables básicas de la tabla dual. Asigne las variables duales, respetando el orden en que aparecen en la tabla primal, comenzando por las variables de holgura. Paso 2 El valor de las variables básicas duales corresponde al valor de los costos reducidos de las variables no básicas del problema primal, comenzando por las variables de holgura. Paso 3 Los costos reducidos de las variables duales no básicas corresponden al valor de las variables básicas del problema primal. Paso 4 Para obtener los Yj de las variables no básicas del problema dual, se pasa a columna las filas (asociada a las variables básicas) los valores relacionados a las variables no básicas del primal, comenzando por las variables de holgura y multiplicando por (-1).

Page 63: Apunte Investigación Operativa I

63

Paso 5 El valor óptimo de la función dual es el mismo que el valor óptimo del problema primal en el tableau óptimo. Ejemplo:

02

W,1

W

32

2W1

3W

42

4W1

2W

s.a.2

10W1

18WG

02

X,1

X

102

2X1

4X

182

3X1

2X

s.a.2

3X1

4X Z

≥+

≥+

+=

≤+

≤+

+=

MinMax

Tableau Primal W3 W4 W1 W2 Z X1 X2 X3 X4 Z0 1 2 0 0 3/2 15 X3 0 -4 0 1 -3/2 3 X2 0 2 1 0 1/2 5

Tableau Dual

G W1 W2 W3 W4 G0 1 3 0 0 5 15 W2 0 3/2 1 0 -1/2 3/2 W3 0 4 0 1 -2 2

Ejemplo: Dado el siguiente problema dual, resolver el problema primal asociado mediante el método simplex y a partir de esta obtenga la tabla óptima del problema dual.

)_(Pr

0W,W

32WW

63W4W

3W3W

s.a.

W2WG

21

21

21

21

21

Dualoblema

Min

≥≥+≥+≥+

+=

Desarrollo: El problema primal asociado al dual anterior es:

)Pr_(Pr

0X,X,X

12X3XX

2X4X3X

s.a.

3X6X3X Z

321

321

321

321

imaloblema

Max

≥≤++≤++

++=

Aplicando la forma estándar:

0X,X,X,X,X

1X2X3XX

2X2X3X3X

s.a.

03X-6X-3X-

54321

5321

4321

321

≥=+++=+++

=Max

Page 64: Apunte Investigación Operativa I

64

Tableau Primal Z X1 X2 X3 X4 X5 Z0 1 -3 -6 � -3 0 0 0

X4 0 3 4 1 1 0 2 X5 0 1 3 2 0 1 1 �

1 -1 � 0 1 0 2 2 X4 0 5/3 0 -5/3 1 -4/3 2/3 � X2 0 1/3 1 2/3 0 1/3 1/3

1 0 0 0 3/5 6/5 12/5 X1 0 1 0 -1 3/5 -4/5 2/5 X2 0 0 1 1 -1/5 3/5 1/5

Tableau Dual

G W1 W2 W3 W4 W5 G0 1 0 0 2/5 1/5 0 -12/5

W1 0 1 0 -3/5 1/5 0 3/5 W2 0 0 1 4/5 -3/5 0 6/5 W5 0 0 0 1 -1 1 0

Page 65: Apunte Investigación Operativa I

65

3.2.- ANÁLISIS DE SENSIBILIDAD Y PROGRAMACIÓN PARAM ÉTRICA (ANÁLISIS POST-OPTIMAL) Una vez resuelto el problema de programación lineal, puede ocurrir que se pueda hacer variar los parámetros más relevantes del P.P.L., lo cual dará origen a un nuevo problema, pero será necesario en este caso resolver el problema desde el principio. La respuesta es no, afortunadamente, ya que existe el método de análisis de sensibilidad, el cual comienza utilizando la solución óptima del problema original hasta encontrar la solución óptima del problema nuevo. Los cambios que pueden ocurrir para estos objetivos son los siguientes: 1.- Cambios en el vector b. 2.- Cambios en el vector C. 3.- Cambios en la matriz A. 4.-Cambios en el vector X. 5.-Cambio en el número de restricciones. Los tres primeros cambios pueden ocurrir, tanto de manera continua o discreta, en cambio, los dos últimos sólo pueden ocurrir de manera continua. El cambio discreto significa hacer variar una o varias componentes del problema original y reemplazarlos por nuevas cantidades. Para el cambio continuo, dónde el análisis de sensibilidad se llama programación paramétrica, sufren cambios descritos por:

Ajaa

CC

bb

jj ∈∀∞<<∞∆+∞<<∞∆+

∞<<∞∆+

,- ,

- ,

- ,

γγββ

ααrr

rr

Donde:

jaCb ∆∆∆ ,, : Vectores con las mismas dimensiones que los vectores ACbrrr

,,

γβα ,, : escalares que pueden tomar cualquier valor real.

3.2.1.- Análisis De Sensibilidad Para Cambios Discr etos

3.2.1.1.-Cambios Del Vector br

: Supongamos que el siguiente P.P.L. original, cuya solución óptima se conoce, es:

0

..

Z

≥≤×

×=

X

bXA

as

XCMax

Problema Original (PO)

Se produce un cambio discreto en el vector b

r, cuyo nuevo valor será bb

rr∆+ , donde b∆ es un

vector de m componentes. El nuevo problema a resolver es:

0

..

Z

≥∆+≤×

×=

X

bbXA

as

XCMax

Problema Nuevo (PN)

Como se comienza de la solución óptima del PO, sabemos que 1−B es la inversa de la base óptima B del problema original, entonces la solución al PO es:

BB

B

XCZ

y

bBX

=

= −1

Al cambiar b a bb

rr∆+ el vector BX cambia a uno nuevo BX dado por:

Page 66: Apunte Investigación Operativa I

66

( )bbBX B ∆+= −1ˆ .

• Si 0ˆ ≥BX , entonces será la nueva solución óptima del problema nuevo y el valor de la función

objetivo será BBXCZ ˆ= .

• Si 0ˆ <BX , entonces no será factible y se utilizará el método dual simplex para restaurar la factibilidad y, de hecho, la optimalidad del problema nuevo. El simplex dual se debe aplicar

sobre la tabla óptima del problema original cambiando: BX por BX . Ejemplo: Suponga que se quiere producir un volumen X de un producto químico A, el cual se vende a $ 5/litro y otro volumen Y de otro producto químico B, a un precio de $3/litro. Existen dos restricciones, siendo las más importantes: personal y costo de producción. La primera tiene un máximo de 15 personas, mientras que la segunda tiene un máximo de $10/hora de trabajo. Los coeficientes tecnológicos son los siguientes:

Recurso\Producto Producto Químico A Producto Químico B Personal 3 5 Costo de producción 5 2

Sea X1: número de litros del producto químico A. X2: número de litros del producto químico B. El programa lineal y tableau inicial y óptimos son los siguientes:

)(

02X,1X

1022X15X

1525X13X

s.a.23X15X Z

PO

Max

≤+

≤+

+=

Z X1 X2 X3 X4 Z0 1 -5 � -3 0 0 0 X3 0 3 5 1 0 15 X4 0 5 2 0 1 10 � 1 0 -1 � 0 1 10 X3 0 0 19/5 1 -3/5 9 � X1 0 1 2/5 0 1/5 2 1 0 0 5/19 16/19 235/19 X2 0 0 1 5/19 -3/19 45/19 X1 0 1 0 -2/19 5/19 20/19

0

0

19/20

19/45

4

3

1

2

*

===

X

X

X

X

NX

BX

X 235/19Z* =

−−

=−19/519/2

19/319/51B

a.- Supongamos que producto del mercado laboral, nuevas restricciones al empleo y la situación macroeconómica, se debe reducir a 5 el número de empleados y la el costo de producción a $5/hora. El nuevo vector de disponibilidad de recursos es:

Page 67: Apunte Investigación Operativa I

67

=

−+=∆+

5

5

5

10

10

15bb

El nuevo programa lineal a resolver es:

)(

02

X,1

X

52

2X1

5X

52

5X1

3X

s.a.2

3X1

5X Z:

PN

Max

≤+

≤+

+=

No es necesario resolver el problema desde el principio, sino que utilizaremos el análisis de

sensibilidad, con el cual, determinamos si el nuevo vector ( )bbBBX ∆+−= 1ˆ es factible o no. Si no

es así, habrá que restablecer la factibilidad y la optimalidad, utilizando el simplex dual, a partir de la tabla óptima del PO. Sea:

( ) 019/15

19/10

5

5

19/519/2

19/319/51ˆ ≥=−

−=∆+−=

bbBBX

Por lo tanto, el nuevo vector es:

óptimo es 19/15

19/10

1

2BX

==

X

X

El nuevo valor de la función objetivo es:

( ) [ ]

53.5$19/105*

19/15

19/105 3

1

21C 2BXBCZ

==

===

Z

X

XC

Hay que notar que una reducción en ambas restricciones, por si redujo la producción de cada producto químico y, por ende, la utilidad esperada. b.- Supongamos ahora, que el personal se reduce a 10 personas, pero se produce un incremento en el costo máximo por hora de producción, siendo este de $20. El nuevo escenario sería:

)(

02

X,1

X

202

2X1

5X

102

5X1

3X

s.a.2

3X1

5X Z:

PN

Max

≤+

≤+

+=

Utilizando el análisis de sensibilidad, se tiene que:

( ) 019/80

19/10

20

10

19/519/2

19/319/51ˆ ≥−

=−

−=∆+−=

bbBBX

Por lo tanto, el nuevo vector es:

−=

19/80

19/10BX no es óptimo

Por lo tanto, el necesario utilizar simplex dual para restaurar la factibilidad y obtener la optimalidad. De esta manera, utilizando el tableau óptima del PO y reemplazando los valores de la columna BX

por BX , se tiene:

Page 68: Apunte Investigación Operativa I

68

Z X1 X2 X3 X4 Z0 1 0 0 5/19 16/19 � 235/19 X2 0 0 1 5/19 -3/19 -10/19 � X1 0 1 0 -2/19 5/19 80/19 1 0 16/3 5/3 0 X4 0 0 -19/3 -5/3 1 10/3 X1 0 1 5/3 1/3 0 10/3

La nueva solución es: X1= 10/3 litros de producto químico A por hora. X2= 0 litros de producto químico B por hora. El nuevo valor de la función objetivo es:

( ) [ ]

67,16$3/50*

3/10

3/105 0

1

41C 4BXBCZ

==

===

Z

X

XC

Es fácil ver que el hecho de sólo producir producto químico A, implica:

( ) 10053

103 =+

Obreros, lo cual genera que la holgura X3=0, mientras que la otra restricción:

( )

3

10

3

50-20

4X

203

5002

3

105

==

<=+

3.2.1.2.-Cambios En El Vector Cr

: Supongamos nuevamente el siguiente problema original:

lOrigina Problema

0X

bX*A

s.a.

XC Z

=

r

rrr

rrMax

El cambio discreto en el vector C

r, será un nuevo valor CC

rr∆+ , donde C∆ es un vector de n

componentes. El problema nuevo a resolver es:

Nuevo Pr

0X

bX*A

s.a.

X)CC( Z

oblema

Max

≥≤

∆+=

r

rrr

rrr

Sea 1−B la inversa de la base óptima asociada al problema original. Entonces, al generar el incremento de C, se tiene que los jj cz − cambian a ( )jj ccz ∆+− , o sea:

( ) ( )jcjcjaTWjcjcjaBBCj

cj

cj

z ∆+−=∆+−−=

∆+− 1

Donde ja es la columna de la matriz A.

Se sabe que en condiciones de optimalidad Ajj

cj

cj

z ∈∀≥

∆+− ,0 , no en B y

Bjj

cj

cj

z ∈∀=

∆+− ,0 , entonces, si se cumplen estas dos condiciones, el vector

Page 69: Apunte Investigación Operativa I

69

BX asociado a la tabla óptima del problema original permanece óptimo y al nuevo valor de la

función objetivo será:

( )B

XB

CB

CZ ∆+=ˆ

En caso contrario, es decir, 0<

∆+−j

cj

cj

z , se deberá hacer primero Bj,0 ∈∀=

∆+−j

cj

cj

z ,

mediante operaciones matriciales elementales y después obtener las condiciones de optimalidad,

Ajj

cj

z ∈∀≥− ,0 mediante el método simplex primal.

Ejemplo: a.- Sigamos con el ejemplo del caso anterior:

Original Pr

02

X,1

X

102

2X1

5X

152

5X1

3X

s.a.2

3X1

5X Z

oblema

Max

≤+

≤+

+=

Supongamos que el precio unitario del producto químico B, se reduce a $3 a $1 por lo tanto, el problema original queda:

)(

02

X,1

X

102

2X1

5X

152

5X1

3X

s.a.2

X1

5X Z

PN

Max

≤+

≤+

+=

Por lo tanto ( ) ( ) ( )001500200035 =−+=∆+ CC Como la única componente de C que cambio es c2, entonces indica que sólo cambia el costo reducido 22 cz − es:

( ) 021312

5

1916

195

222222 >=−=−=∆−−=∆+−

ccaTWccz ,

Pero sabemos que en condiciones de optimalidad ( ) 0

222=∆+− ccz , ya que j=2 está en la base

original óptima del problema original, por lo tanto, hay que reemplazar el valor del costo reducido asociado a dicha variable y mediante operaciones matriciales elementales se debe restablecer la factibilidad, a partir de la siguiente tabla óptima del problema original:

Z X1 X2 X3 X4 Z0 1 0 2 5/19 16/19 235/19 X2 0 0 1 5/19 -3/19 45/19 X1 0 1 0 -2/19 5/19 20/19

Al restablecer la factibilidad, la tabla queda de la siguiente forma:

Z X1 X2 X3 X4 Z0 1 0 0 -5/19 � 22/19 145/19 X2 0 0 1 5/19 -3/19 45/19 � X1 0 1 0 -2/19 5/19 20/19

La cual no es óptima, ya que 033 <− cz . Utilizando el método simplex primal, se obtiene la nueva

solución:

Page 70: Apunte Investigación Operativa I

70

Z X1 X2 X3 X4 Z0 1 0 1 0 1 10 X3 0 0 19/5 1 -3/5 9 X1 0 1 2/5 0 1/5 2

La solución óptima para este nuevo problema es:

01 Z*

0

0

2

9

4

2

1

3

*

=

===

X

X

X

X

NX

BX

X

Se concluye que se deja de producir del bien 2, ya que sus costos son mayores que sus ganancias, por lo cual, sólo se produce del bien 1, el cual está limitado por la restricción 1 (cuello de botella). b.- Sigamos con el ejemplo del caso anterior, pero ahora supongamos que el precio unitario del producto químico A y B, se reducen de $5 a $1 y $3 a $1, respectivamente, entonces el problema nuevo queda:

)(

02

X,1

X

102

2X1

5X

152

5X1

3X

s.a.2

X1

X Z

PN

Max

≤+

≤+

+=

Por lo tanto ( ) ( ) ( )001100240035 =−−+=∆+ CC Las componentes de C que cambian son c1 y c2, generando que cambien los costos reducidos

2211 czcz −− ∧ , entonces:

( ) 041515

3

19

16

19

5111111 >=−=−=∆−−=∆+−

ccaTWccz

( ) 021312

5

19

16

19

5222222 >=−=−=∆−−=∆+−

ccaTWccz ,

Como sabemos que el vector X1 y X2 están en la base óptima, entonces se deben cumplir las condiciones de optimalidad ( ) ( ) 0

2220

111=∆+−∧=∆+− cczccz , ya que j=1,2 están en la base

original óptima del problema original, por lo tanto, reemplazando dichos valores y mediante operaciones matriciales elementales se debe restablecer la factibilidad, quedando la siguiente tabla inicial del PO:

Z X1 X2 X3 X4 Z0 1 4 2 5/19 16/19 235/19 X2 0 0 1 5/19 -3/19 45/19 X1 0 1 0 -2/19 5/19 20/19

Al restablecer la factibilidad e indirectamente la optimalidad, la tabla nueva queda:

Z X1 X2 X3 X4 Z0 1 0 0 3/19 2/19 65/19 X2 0 0 1 5/19 -3/19 45/19 X1 0 1 0 -2/19 5/19 20/19

De esta manera, el tableau del PN es óptimo, con los siguientes resultados:

Page 71: Apunte Investigación Operativa I

71

42,319/65 Z*

0

0

19/20

19/45

4

3

1

2

*

==

===

X

X

X

X

NX

BX

X

De esta manera, la reducción de los precios unitarios, genero que la utilidad final se redujera de $12,37 a $3,42, ya que no variaron las producciones de los productos químicos A y B. c.- Supongamos ahora el siguiente problema:

Original Pr

02

X,1

X

182

2X1

3X

4 1

X

s.a.2

5X1

3X Z

oblema

Max

≤+

+=

El cual presenta el siguiente tableau óptimo:

Z X1 X2 X3 X4 Z0 1 9/2 0 0 5/2 45 X3 0 1 0 1 0 4 X2 0 3/2 1 0 1/2 9

Supongamos que el precio unitario de la primera actividad es $6, por lo tanto, el problema nuevo queda:

)(

02

X,1

X

182

2X1

3X

4 1

X

s.a.2

5X1

6X Z

PN

Max

≤+

+=

Por lo tanto, el vector queda: ( ) ( ) ( )005600030053 =+=∆+ CC Como la única componente de C que cambio es c1, entonces indica que sólo cambia el costo reducido

11cz − es:

( ) 02

36

2

156

3

1

2

50

111111 >=−=−=∆−−=∆+−

ccaTWccz ,

Pero sabemos que en condiciones de optimalidad ( ) 0

111≥∆+− ccz , ya que j=1 no está en la base

original óptima del problema original, por lo tanto, no es necesario restablecer la optimalidad, quedando la siguiente tabla óptima del PN:

Z X1 X2 X3 X4 Z0 1 3/2 0 0 5/2 45 X3 0 1 0 1 0 4 X2 0 3/2 1 0 1/2 9

Por lo tanto, ya es óptimo, lo cual quiere decir que en incremento del precio unitario de $3 a $6 sobre la primera actividad (que no es básica) no ha generado un cambio en la solución óptima del PO, siendo la misma para el PN, es decir:

Page 72: Apunte Investigación Operativa I

72

45 Z*

0

0

9

4

4

1

2

3

*

=

===

X

X

X

X

NX

BX

X

Lo anterior se explica de manera sencilla, como X1 no es básica, su nivel de utilización es de cero, pero el incremento de su precio unitario no es lo suficientemente atractivo para que su utilización se incremente del valor cero. d.- Utilizando el problema anterior, ahora supongamos que el precio unitario de la primera actividad es $10, por lo tanto, el problema original queda:

)(

02

X,1

X

182

2X1

3X

4 1

X

s.a.2

5X1

X01 Z

PN

Max

≤+

+=

Por lo tanto, el vector queda: ( ) ( ) ( )0051000070053 =+=∆+ CC Como la única componente de C que cambio es c1, entonces indica que sólo cambia el costo reducido

11cz − es:

( ) 02

510

2

1510

3

1

2

50111111 <−=−=−=∆−−=∆+−

ccaTWccz ,

En este caso, la condición indica que si ( ) 0

111<∆+− ccz no es óptimo y como j=1 no está en la

base óptima original, por lo tanto, hay que aplicar el método simplex para obtener la optimalidad del PN. Así:

Z X1 X2 X3 X4 Z0 1 -5/2 � 0 0 5/2 45 X3 0 1 0 1 0 4 � X2 0 3/2 1 0 1/2 9 Z X1 X2 X3 X4 Z0 1 0 0 5/2 5/2 55 X1 0 0 0 1 0 4 X2 0 0 1 -3/2 1/9 3

Por lo tanto, es óptimo, lo cual quiere decir que en incremento del precio unitario de $3 a $10 sobre la primera actividad (que no es básica) ha generado un cambio en la solución óptima, la cual es:

45 Z*

0

0

3

4

4

3

2

1

*

=

===

X

X

X

X

NX

BX

X

Lo anterior significa que como X1 no es básica, su nivel de utilización es de cero, pero el incremento de su precio unitario es lo suficientemente atractivo para que su nivel de utilización se incremente de su valor cero a 4 unidades, pero a su vez se reduce el nivel de utilización del producto dos de 9 a 3 unidades, lo bueno es que dicho cambio incrementa la utilidad de $45 a $55.

Page 73: Apunte Investigación Operativa I

73

3.2.1.3.- Cambio En El Coeficiente Tecnológico ja Cuando J No Es Básico:

En el caso que se trate de una variable básica, se recomienda que se resuelva el nuevo problema desde el principio, aunque existen métodos de análisis de sensibilidad para este caso, estos son demasiados complejos. Si ocurre un cambio discreto en uno o varios coeficientes tecnológicos, asociado a las variables no básicas, se tiene que si un cambio en los componentes del vector Nja j ∈∀, (no básico), ocasiona

un cambio en el término Njj

cj

z ∈∀− , , puesto que:

jc

jaB

BC

jc

jz −−=− 1

Si el vector ja se cambia a una nueva ja , el nuevo término será:

jcjaTWj

cj

z −=− ˆˆˆ

Mientras este término sea Njjcjz ∈∀>− ,0ˆˆ , la solución óptima asociada en el problema original

sigue siendo óptima

En caso contrario, es decir, Njjcjz ∈∀<− ,0ˆˆ , hay que aplicar el método simplex para obtener una

nueva solución óptima del problema nuevo, teniendo cuidado de que el vector Yj del tableau

óptimo del problema original sea actualizado por otro jaBjY ˆ1ˆ −=

Ejemplo: a.- Volvamos a utilizar el siguiente problema original:

Original Pr

02

X,1

X

182

2X1

3X

4 1

X

s.a.2

5X1

3X Z

oblema

Max

≤+

+=

El cual presenta el siguiente tableau óptimo: Z X1 X2 X3 X4 Z0 1 9/2 0 0 5/2 45 X3 0 1 0 1 0 4 X2 0 3/2 1 0 1/2 9

Supongamos que ocurre un cambio tecnológico en la primera actividad, donde se cambia de 1 a 2, con respecto a la primera restricción y se cambia de 3 a 2, con respecto a la segunda, por lo tanto, el problema nuevo queda:

)(

02

X,1

X

182

2X1

2X

4 1

2X

s.a.2

5X1

3X Z

PN

Max

≤+

+=

=⇒=2

21ˆ3

11

:

aa

donde

Page 74: Apunte Investigación Operativa I

74

Como sólo se cambio el vector a1, entonces sólo cambia el costo reducido 11

cz − de la siguiente

manera:

023532

2

2

50

11ˆ1ˆ

1ˆ >=−=−=−=−

caTWcz ,

Como 011

ˆ >− cz , y j=1 no está en la base original óptima del problema original, por lo tanto,

reemplazando este valor en el tableau del PO, el problema queda: Z X1 X2 X3 X4 Z0 1 2 0 0 5/2 45 X3 0 1 0 1 0 4 X2 0 3/2 1 0 1/2 9

El tableau es óptimo y la solución del PO sigue siendo óptima para el PN, así:

45 Z

0

0

9

4

4

1

2

3

=

===

X

X

X

X

NX

BX

X

b.- Supongamos nuevamente que ocurre un cambio tecnológico en la primera actividad, donde se cambia de 1 a 10, con respecto a la primera restricción y se cambia de 3 a 1, con respecto a la segunda, por lo tanto, el problema nuevo queda:

)(

02

X,1

X

182

2X1

1X

4 1

10X

s.a.2

5X1

3X Z

PN

Max

≤+

+=

=⇒=1

101ˆ3

11

:

aa

donde

Como sólo se cambió el vector a1, entonces se modifica el costo reducido

11cz − de la siguiente

manera:

02

13

2

53

1

10

2

50

11ˆ11<−=−=−=−=−

caTWcz ,

Como 011

ˆ <− cz , y j=1 no está en la base óptima original del problema original, por lo tanto, hay

que aplicar el método simplex, pero actualizando el vector 1Y del tableau original por otro nuevo

1Y , dado por:

==−=2/1

10

1

10

2/10

01ˆ

1ˆjaBjY

El tableau del PN, luego de actualizar el término

11cz − y la columna 1Y es:

Z X1 X2 X3 X4 Z0 1 -1/2 � 0 0 5/2 45 X3 0 10 0 1 0 4 � X2 0 1/2 1 0 1/2 9

Page 75: Apunte Investigación Operativa I

75

Como no es óptimo, por lo cual, hay que aplicar el método simplex para regresar a la optimalidad, quedando el siguiente tableau final del PN:

Z X1 X2 X3 X4 Z0 1 0 0 1/20 5/2 181/5 X1 0 1 0 1/10 0 2/5 X2 0 0 1 -1/20 1/2 44/5

La nueva solución óptima del PN es:

2,365/181 Z

0

0

5/44

5/2

4

3

2

1

==

===

X

X

X

X

NX

BX

X

3.2.1.4.- Adiciones De Nuevas Actividades jX :

La adición de nuevas variables jX crea un nuevo término de costos reducidos j

cj

z − y una nueva

columna Yj en la tableau. Si asociado a la nueva actividad jX se conoce su precio unitario jc y su

vector de coeficientes tecnológicos ja , los nuevos elementos se calculan como:

jaBjY

jCjaTWjcjz

1−=

−=−

Si el nuevo 0≥− jj CZ , la nueva variable Xj no debe entrar a la base y su valor de utilización es cero. Si 0<− jj CZ , se introduce el vector Yj en la tabla y se aplica el método simplex hasta obtener la optimalidad. Ejemplo: a.- Volvamos a utilizar el siguiente problema original:

Original Pr

02

X,1

X

182

2X1

3X

4 1

X

s.a.2

5X1

3X Z

oblema

Max

≤+

+=

El cual presenta el siguiente tableau óptimo:

Z X1 X2 X3 X4 Z0 1 9/2 0 0 5/2 45 X3 0 1 0 1 0 4 X2 0 3/2 1 0 1/2 9

Supongamos que ahora se crea un nuevo producto X5, entonces la pregunta es si conviene producir dicha actividad, cuyo precio unitario es de $7 y su vector de coeficientes tecnológicos asociado a la primera y segunda restricción es de 1 y 2, respectivamente, por lo tanto, el problema nuevo queda:

Page 76: Apunte Investigación Operativa I

76

)(

05

,2

X,1

X

185

22

2X1

2X

4 5

X 1

2X

s.a.5

72

5X1

3X Z

PN

X

X

XMax

≤++

≤+

++=

=

2

15

:

a

donde

El nuevo elemento genera un nuevo costo reducido

55cz − de la siguiente manera:

027572

1

2

50

5555<−=−=−=−=−

caTWcz ,

Como 0

55<− cz , hay que calcular la columna Y5 del nuevo tableau dado por:

==−=1

1

2

1

2/10

01155 aBY

El nuevo tableau queda de la siguiente manera, luego de ingresar los costos reducidos y el vector columna asociado, y sobre el cual hay que aplicar el método simplex primal:

Z X1 X2 X5 X3 X4 Z0 1 9/2 0 -2 � 0 5/2 45 X3 0 1 0 1 1 0 4 � X2 0 3/2 1 1 0 1/2 9

El tableau final del PN, luego de restablecer la optimalidad de este problema, queda finalmente::

Z X1 X2 X5 X3 X4 Z0 1 13/2 0 0 2 5/2 53 X5 0 1 0 1 1 0 4 X2 0 1/2 1 0 -1 1/2 5

Es óptimo este tableau, lo cual indica que la solución óptima del PO cambia, generando que el PN tenga la siguiente solución óptima:

53 Z

0

0

0

5

4

4

3

1

2

5

=

===

X

X

X

X

X

NX

BX

X

La nueva solución indica que la actividad X5 se debe producir a un nivel de 4 unidades, la actividad X2 se debe reducir de 9 a 5 unidades y dejar de producir la actividad X1, lo cual genera un incremento en la utilidad de $45 a $53. b.- Utilizando el mismo problema anterior, supongamos que ahora el nuevo producto X5 tiene un precio unitario de $4 y su vector de coeficientes tecnológicos asociado a la primera y segunda restricción es de 10 y 4, respectivamente. Por lo tanto, el problema nuevo queda:

Page 77: Apunte Investigación Operativa I

77

)(

05

,2

X,1

X

185

4 2

2X1

2X

4 5

X10 1

2X

s.a.

54

25X

13X Z

PN

X

X

XMax

≤++

≤+

++=

=4

105

:

a

donde

El nuevo costo reducido

55cz − es el siguiente:

0641044

10

2

50

5555>=−=−=−=−

caTWcz ,

Como 055 >− cz , el tableau óptimo del problema original es óptimo del problema nuevo y X5 debe ser igual a cero. Para objetivos prácticos, se puede calcular la columna Y5 del nuevo tableau dado por:

==−=2

10

4

10

2/10

011jaBjY

De esta manera, el nuevo tableau óptimo queda:

Z X1 X2 X5 X3 X4 Z0 1 2 0 6 0 5/2 45 X3 0 1 0 10 1 0 4 X2 0 3/2 1 2 0 ½ 9

Esto quiere decir, que bajo las condiciones actuales, no se debe producir X5 y la solución óptima del PN es la misma del PO, es decir:

45 Z

0

0

0

9

4

4

5

1

2

3

=

===

X

X

X

X

X

NX

BX

X

Como punto aparte, conviene explicar claramente el significado de jj cz − , que tiene dos

interpretaciones: 1. jj cz − es la reducción (aumento) del valor de la función objetivo en el caso de maximización

(minimización), al aumentar en una unidad el valor de la actividad NjX j ∈, (no básica), o bien

2. jj cz − es el valor de cj debe aumentar (disminuir), en el caso de maximización (minimización),

para que NjX j ∈, se convierta de una actividad no básica a básica.

En este caso, se debe evaluar los cambios de los siguientes términos:

)(ˆ

)(ˆ

jjjj

jj

czcc

czZZ

−+=

−−=

3.2.1.5.- Adición De Nuevas Restricciones: Si al añadir k nuevas restricciones del tipo:

Page 78: Apunte Investigación Operativa I

78

km,1,mi ,1

++=>=<

∑=

Kn

jijij bXa

al problema original, la solución óptima XB asociada al problema original las satisface, entonces XB es también óptima solución del problema nuevo. En caso contrario, si XB viola alguna de las restricciones habrá que restablecer la factibilidad del problema nuevo y obtener su optimalidad vía método simplex dual. Al ser necesario la aplicación del método simplex dual, cada una de las k restricciones se deben añadir en el tableau óptimo del problema original con sus correspondientes variables de holgura. Todos los vectores unitarios asociado al tableau óptimo del PO deben restablecerse por medio de operaciones elementales matriciales. De esta manera, el método dual simplex se debe aplicar hasta obtener una solución óptima. Ejemplo: a.- Retomemos nuevamente el siguiente problema:

)(

02X,1X

1022X15X

1525X13X

s.a.23X15X Z

PO

Max

≤+

≤+

+=

Z X1 X2 X3 X4 Z0 1 0 0 5/19 16/19 235/19 X2 0 0 1 5/19 -3/19 45/19 X1 0 1 0 -2/19 5/19 20/19

La solución óptima del PO es:

235/19 Z

0

0

19/20

19/45

4

3

1

2

=

===

X

X

X

X

NX

BX

X

Supongamos que la nueva restricción es:

12 ≤X Reemplazando el valor de la variable X2:

⇒⇐≥ 119

45

Es obvio que la solución óptima del problema original viola la nueva restricción, ya que no es menor o igual que uno. Entonces, el problema nuevo a resolver es:

)(

02X,1X

12

X

1022X15X

1525X13X

s.a.23X15X Z

PN

Max

≤+

≤+

+=

Page 79: Apunte Investigación Operativa I

79

Agregando las variables de holgura, se tiene que:

05

,4

,3

,2X,1X

15 2

X

10 4 22X15X

15 325X13X

s.a.23X15X Z

=+

=++

=++

+=

XXX

X

X

X

Max

De esta manera, el tableau óptimo del problema original queda:

Z X1 X2 X3 X4 X5 Z0 1 0 0 5/19 16/19 0 235/19 X2 0 0 1 5/19 -3/19 0 45/19 X1 0 1 0 -2/19 5/19 0 20/19 X5 0 0 1 0 0 1 1

Como el vector columna de Y2 no es el vector unitario, por medio de operaciones matriciales elementales se vuelve a generar la identidad (factibilidad):

Z X1 X2 X3 X4 X5 Z0 1 0 0 5/19 � 16/19 0 235/19 X2 0 0 1 5/19 -3/19 0 45/19 X1 0 1 0 -2/19 5/19 0 20/19 X5 0 0 0 -5/19 3/19 1 -26/19 �

Aplicando el método dual simplex, se obtiene el tableau óptimo:

Z X1 X2 X3 X4 X5 Z0 1 0 0 0 1 1 11 X2 0 0 1 0 0 1 1 X1 0 1 0 0 1/5 -2/5 8/5 X3 0 0 0 1 -3/5 -19/5 26/5

La nueva solución óptima es:

11 Z

0

0

5/26

5/8

1

5

4

3

1

2

=

===

X

X

X

X

X

NX

BX

X

b.- Supongamos que la nueva restricción es:

102 ≤X Reemplazando nuevamente el valor de X2:

101945 ≤

Es obvio analizar que la solución óptima del problema original no viola la nueva restricción, ya que es menor o igual que diez, por lo cual, la solución óptima del problema original sigue siendo óptima para el problema nuevo. Para analizar este suceso, veamos como queda el problema nuevo, aunque no es necesario efectuar este análisis:

Page 80: Apunte Investigación Operativa I

80

)(

02X,1X

102

X

1022X15X

1525X13X

s.a.23X15X Z

PN

Max

≤+

≤+

+=

Agregando las variables de holgura, se tiene que:

05

,4

,3

,2X,1X

105 2

X

10 4 22X15X

15 325X13X

s.a.23X15X Z

≤+

≤++

≤++

+=

XXX

X

X

X

Max

De esta manera, el tableau óptimo del problema nuevo queda:

Z X1 X2 X3 X4 X5 Z0 1 0 0 5/19 16/19 0 235/19 X2 0 0 1 5/19 -3/19 0 45/19 X1 0 1 0 -2/19 5/19 0 20/19 X5 0 0 1 0 0 1 10

Como el vector columna de Y2 no es el vector unitario, por medio de operaciones matriciales elementales se vuelve a generar la identidad (factibilidad):

Z X1 X2 X3 X4 X5 Z0 1 0 0 5/19 16/19 0 235/19 X2 0 0 1 5/19 -3/19 0 45/19 X1 0 1 0 -2/19 5/19 0 20/19 X5 0 0 0 -5/19 3/19 1 145/19

La nueva solución óptima es la misma que la original, a excepción de la variable de holgura X5 que se agrega a las variables del problema, quedando finalmente:

37,1219

235 Z

0

0

19/145

19/20

19/45

4

3

5

1

2

==

===

X

X

X

X

X

NX

BX

X

3.2.2.- Cambios Continuos Y Programación Paramétric a Como vimos anteriormente, los cambios continuos pueden en tres elementos del problema primal: 1. Parametrización o cambio continuo en el vector C, 2. Parametrización o cambio continuo en el vector b, 3. Parametrización o cambio continuo en un vector tecnológico no básico Nja j ∈, .

Ya vimos cambios específicos en los parámetros del modelo, en cambio, el enfoque paramétrico hace variar de manera continua uno o más parámetros sobre el intervalo (o intervalos).

3.2.2.1.- Cambio Continuo En El Vector Cr

El problema nuevo a resolver es:

Page 81: Apunte Investigación Operativa I

81

)(

0

:

)(

PN

X

bAX

sa

XCZ

MAX

≥≤

Θ+= β

Donde: C: vector con n componentes, que representa el precio unitario actual. Θ: vector con n componentes, que representa el porcentaje de aumento de precios.

Θ+ βC : vector paramétrico que indica los cambios continuos, con ∞<<∞− β . El estudio se restringirá al caso de en que 0≥β , puesto que para el caso de 0<β , todos los resultados que se obtengan serán análogos. De esta manera, cuando el vector paramétrico Θ+ βC varia, también lo hacen los costos reducidos Ajcz jj ∈∀− , . Para analizar esta variación, se establecerá que B0 es la base óptima

asociada al problema original cuando 0=β , es decir:

)(

0

: PO

X

BAX

sa

CXZ

MAX

≥≤

=

De esta manera, el nuevo valor de los Ajcz jj ∈∀− , , denotado por jj cz ˆˆ − :

AjaBczcz

aBcaBCcaBaBCcz

AjcaBCcz

jjBjjjj

jjBjjBjjjBjBjj

jjjBBjj

∈∀Θ−Θ+−=−

Θ−Θ+−=Θ−−Θ+=−

∈∀Θ+−Θ+=−

−−−−

),(ˆˆ

ˆˆ

),()(ˆˆ

100

100

100

100

100

1000

β

ββββ

ββ

Donde CB0 y ΘΒ0 son las componentes de C y Θ asociada a la base óptima B0. Ahora, debemos preguntarnos si existe algún valor crítico de β, por ejemplo β∗, tal que para valores mayores que β∗ la base óptima B0 dejaría de ser óptima. Sabemos que la optimalidad, para cualquier valor de β se obtiene cuando Ajcz jj ∈∀≥− ,0ˆˆ y,

además sabemos que jcz jj ∀≥− ,0 , por que B0 es óptimo para 0=β , por lo cual, sólo nos queda

analizar el segundo término de jj cz ˆˆ − , es decir:

jjB aB Θ−Θ −100

De esta manera: 1. Si AjaB jjB ∈∀≥Θ−Θ − ,01

00 , entonces la base óptima B0, asociada al tableau óptimo del

problema original, sigue siendo óptimo para cualquier valor de 0≥β .

2. Si para algún Aj ∈ existiese un valor correspondiente a 0100 <Θ−Θ −

jjB aB , entonces existe un

valor crítico para β, denotado por β∗, el cuál se calcula de la siguiente manera:

Θ−Θ−−= −

jjB

kk

aB

cz1

00

* )(β

<Θ−Θ

Θ−Θ−

−= −−∈

0/)( 1

00100

*jjB

jjB

jj

NjaB

aB

czMínβ

Para el cual B0 deja de ser óptimo para valores de *ββ ≥ y la solución óptima seria:

Page 82: Apunte Investigación Operativa I

82

0000 )(ˆBBBB XCZ Θ+= β

Pero que pasa cuando *ββ ≥ , la respuesta indica que es necesario reoptimizar el tableau óptimo correspondiente a 0=β , generando dos casos: a. Cuando β∗, dada por la ecuación anterior, tiene un valor mínimo único:

i. Si miYik ,,1,0 K=≤ , entonces No existe un óptimo finito para valores de *ββ ≥ , es decir, en

este caso el problema lineal para valores *ββ ≥ , tiene como solución óptima el infinito. ii. Si miYik ,,1,0 K=≤ , el método simplex se aplica de la manera usual hasta obtener una

nueva solución óptima, con la salvedad de que todos los valores Ajcz jj ∈∀− , deben de

actualizarse y la base asociada a esta nueva solución óptima es B1 Se debe volver a analizar, en este sentido, si existe un valor crítico de β, en este caso β∗∗, de manera tal que B1 sigue siendo óptima para el rango de **** ββββ +≤≤ . En este caso, el valor de β∗∗ es:

<Θ−Θ

Θ−Θ−

−= −−∈

0/)(

1111

11

**jjB

jjB

jj

NjaB

aB

czMínβ

b. Cuando β∗, dada por la ecuación anterior, no tiene un valor mínimo único: En este caso, es necesario hacer varios cambios en la base, utilizando para ello el método simplex hasta corroborar que no existe ciclaje, en cuyo caso, según lo explicado en el caso a, se aplica aquí, o bien demostrar que no existe una solución óptima finita para valores de *ββ ≥ . Ejemplo: Considere el siguiente problema nuevo

( ) ( ) ( )

)(

0,0,0

4204

46023

4302

:..

552263max

321

21

31

321

321

PN

XXX

XX

XX

XXX

as

XXXZ

≥≥≥≤+≤+≤++

++−+−= βββ

Para este caso:

( ) ( )( ) ( )526

523

321

321

−−=ΘΘΘ=Θ== cccC

Para β=0, se vuelve al problema original:

)(

0,0,0

4204

46023

4302

:..

523max

321

21

31

321

321

PN

XXX

XX

XX

XXX

as

XXXZ

≥≥≥≤+≤+≤++

++=

El Tableau inicial y óptimo, respectivamente, del problema original es el siguiente: Z X1 X2 X3 X4 X5 X6 Z* 1 -3 -2 -5 0 0 0 0 X2 0 1 2 1 1 0 0 430 X3 0 3 0 2 0 1 0 460 X6 0 1 4 0 0 0 1 420

Z X1 X2 X3 X4 X5 X6 Z* 1 4 0 0 1 2 0 1350 X2 0 -1/4 1 0 1/2 -1/4 0 100 X3 0 3/2 0 1 0 1/2 0 230 X6 0 2 0 0 -2 1 1 20

Page 83: Apunte Investigación Operativa I

83

Para β=0, los resultados óptimos son los siguientes:

350.1

0

0

0

20

230

100

5

4

1

6

3

2

=

=

=

=

Z

X

X

X

X

X

X

X

XX

N

B

Además, los elementos necesarios a reconocer son:

( )( )5410

6320

10

112

02/10

04/12/1

XXXVN

XXXVB

B

==

−=−

Es así, que es necesario calcular si existe un valor crítico β*, de manera tal, que la base óptima no cambie:

<Θ−Θ

Θ−Θ−

−= −−∈

0/)( 1

00100

*

0jjB

jjB

jj

NjaB

aB

czMínβ

De esta manera, hay que analizar:

( ) ( ) ( )5415411

06321

00

100 5,4,1,0

ΘΘΘ−ΘΘΘ=Θ−Θ⇒

=∀<Θ−Θ

−−

YYYBaB

jaB

jjB

jjB

Para cada caso se tiene que:

( ) ( )006

001

103

011

112

02/10

04/12/1

052001

00 −−

−−=Θ−Θ −

NNB aB

( ) ( ) ( ) ( )006318006

001

103

011

031001

00 −−−=−−

−=Θ−Θ −NNB aB

( )3114001

00 −=Θ−Θ −NNB aB

Es fácil ver ahora que:

014111

00 <=Θ−Θ − aBB

01441

00 <−=Θ−Θ − aBB

03551

00 <=Θ−Θ − aBB De esta manera, el único elemento que es relevante es la variación asociada a X4, por lo tanto, nuestro candidato genera el valor crítico de β*, es cual es:

11

1)(

441

00

44* =

−−=

Θ−Θ−

−= − aB

cz

B

β

De esta manera, el rango de β esta acotado por 10 ≤≤ β , los cuales generan las siguientes soluciones óptimas.

Page 84: Apunte Investigación Operativa I

84

=

=

=

0

0

0

20

230

100

5

4

1

6

3

2

X

X

X

X

X

X

X

XX

N

B

( ) ( )

+−=

Θ+Θ+Θ+=Θ+=20

230

100

05522)(ˆ

6

3

2

6633220000 ββββββX

X

X

cccXCZ BBBB

βββ 950350.1150.1150.1200200ˆ0 +=++−=BZ

Por ejemplo, si β=1/2, se tiene que

825.12

1950350.1ˆ

0 =+=BZ

Se puede analizar si existe algún otro rango de β, el cual genera el intervalo **** ββββ +≤≤ . Para efectuar este análisis, del tableau óptimo cuando β=0, se actualizan los costos reducidos

Njcz jj ∈∀− , , para β*=1:

18)14(14)(ˆˆ 111

00*

1111 =+=Θ−Θ+−=− − aBczcz Bβ

0)1(11)(ˆˆ 441

00*

4444 =−+=Θ−Θ+−=− − aBczcz Bβ

5)3(12)(ˆˆ 551

00*

5555 =+=Θ−Θ+−=− − aBczcz Bβ El valor de la función objetivo en el tableau, se obtiene también cuando β=1, es decir:

300.21950350.1ˆ0 =×+=BZ .

Analizando los elementos anteriores, se puede apreciar que X4 debe entrar a la base del problema original y aplicando el método simplex se obtiene el nuevo tableau óptimo, según se muestra a continuación:

Z X1 X2 X3 X4 X5 X6 Z* 1 18 0 0 0 5 0 2300 X2 0 -1/4 1 0 1/2 -1/4 0 100 X3 0 3/2 0 1 0 1/2 0 230 X6 0 2 0 0 -2 1 1 20

Z X1 X2 X3 X4 X5 X6 Z* 1 18 0 0 0 5 0 2300 X4 0 -1/2 2 0 1 -1/2 0 200 X3 0 3/2 0 1 0 ½ 0 230 X6 0 1 4 0 0 0 1 420

Los resultados óptimos para el rango de β, que esta acotado por **11 ββ +≤≤ son:.

=

=

=

0

0

0

420

230

200

5

2

1

6

3

4

X

X

X

X

X

X

X

XX

N

B

( ) ( )

+=

Θ+Θ+Θ+=Θ+=20

230

100

0550)(ˆ

6

3

4

6633440000 βββββX

X

X

cccXCZ BBBB

Page 85: Apunte Investigación Operativa I

85

β150.1150.1ˆ0 +=BZ

Los elementos necesarios a reconocer en este rango son:

( )( )5211

6341

11

110

02/10

02/11

XXXVN

XXXVB

B

==

−=−

Sólo falta calcular si efectivamente existe un valor crítico β**, de manera tal que acote las soluciones y la función, a través de:

( ) ( ) ( )5215211

16341

11

111 5,2,1,0

ΘΘΘ−ΘΘΘ=Θ−Θ

=∀<Θ−Θ

−−

YYYBaB

jaB

jjB

jjB

Para cada caso se tiene que:

( ) ( )026

041

103

021

110

02/10

02/11

050111

11 −−−

−=Θ−Θ −

NNB aB

( ) ( )0262

50

2

15026

041

103

021

02

5011

111 −−−

=−−−

=Θ−Θ −NNB aB

=Θ−Θ −

2

52

2

2711

111 NNB aB

Es fácil ver ahora que:

⇒⇐<=Θ−Θ − 02

2711

111 aBB

02221

11 <−=Θ−Θ − aBB

⇒⇐<=Θ−Θ − 02

555

111 aBB

Por lo cual, ninguno cumple la condición que: 5,2,1,0111 =∀<Θ−Θ − jaB jjB , indicando que β** es

igual a infinito, es decir que ∞≤≤ β1 . Finalmente, se puede concluir que la solución óptima es: • Para el rango entre 11 ≤≤ β

=

=

=

0

0

0

420

230

100

5

4

1

6

3

2

X

X

X

X

X

X

X

XX

N

B

β950350.1ˆ0 +=BZ

Page 86: Apunte Investigación Operativa I

86

• Para el rango entre ∞≤≤ β1

=

=

=

0

0

0

420

230

200

5

2

1

6

3

4

X

X

X

X

X

X

X

XX

N

B

β150.1150.1ˆ0 +=BZ

3.2.2.2.- Cambio Continuo En El Vector br

El problema a resolver es el siguiente:

)(

0

:.

max

PN

X

bAX

as

CXZ

≥∆+≤

=

α

donde: ∆+ αb : vector paramétrico que indica los cambios continuos en la disponibilidad de recursos b,

con ∞<<∞− α ∆ : vector de m componentes Este estudio estará restringido solo para 0≥α , puesto que para el caso de 0<α , todos los resultados que se obtienen son análogos. Sea B0, la base óptima asociada al problema original, es decir, cuando α = 0.

)(

0

:.

max

PO

X

bAX

as

CXZ

≥≤

=

Un cambio en el parámetro ∆+αb hace variar el XB0 y el valor de la función objetivo en el problema original. Sabemos que:

bBXB1−=

Si efectivamente en b ocurre un cambio paramétrico:

000

100

ˆˆ

)(ˆ

BBB

B

XCZ

bBX

=

∆+= − α

Debemos determinar si existe algún valor crítico de α∗, tal que para valores mayores de α∗, la sabe B0 dejaría de ser óptima: 1. Si 0)(ˆ 1

00 ≥∆+= − αbBX B , para cualquier valor de α, entonces la base sigue siendo óptima. 2. Si alguna componente de 0)(ˆ 1

00 <∆+= − αbBXB , B0 deja de ser óptima y el valor de α* se determina mediante la siguiente relación:

<∆∆

−=

∆+=∆+=

−−=

−−−

0/min

ˆ

101

0

0

,,1

*

100

10

100

ii

iB

mi

BB

BB

X

BXBbBX

αα

Donde:

iBX 0 : es la i-ésima componente, i=1,…,m del vector básico XB0

i∆ : es la i-ésima componente, i=1,…,m del vector ∆

α: el rango asociado sería *0 αα ≤≤ .

Page 87: Apunte Investigación Operativa I

87

Cuando *αα = , se puede obtener una nueva solución factible, utilizando el método simplex dual, una vez actualizado 0

ˆBX y *Z el tableau óptimo del problema original. Cuando se efectúa la

operación respectiva, se obtiene una nueva solución óptima 1ˆ

BX , la cual esta asociada a una nueva base B1, lo cual nos permite, nuevamente, obtener un segundo valor crítico de α, siendo éste α∗∗, por lo tanto, el rango asociado sería **** αααα +≤≤ . Ejemplo: Consideremos el siguiente caso de programación lineal paramétrica:

)(

0,0,0

4004204

20046023

1004302

:..

523max

321

21

31

321

321

PN

XXX

XX

XX

XXX

as

XXXZ

≥≥≥+≤+−≤++≤++

++=

ααα

Dónde:

=

=420

460

430

3

2

1

b

b

b

b ,

−=

∆∆∆

=∆400

200

100

3

2

1

Si α=0, se tiene el problema original:

)(

0,0,0

4204

46023

4302

:..

523max

321

21

31

321

321

PO

XXX

XX

XX

XXX

as

XXXZ

≥≥≥≤+≤+≤++

++=

De esta manera, aplicando los conceptos ya utilizados, se forma la base inicial y mediante el método simplex se obtiene el tableau óptimo del problema original:

Z X1 X2 X3 X4 X5 X6 Z* 1 4 0 0 1 2 0 1350 X2 0 -1/4 1 0 1/2 -1/4 0 100 X3 0 3/2 0 1 0 1/2 0 230 X6 0 2 0 0 -2 1 1 20

Los resultados óptimos para este caso son:

La base óptima, las variables básicas y no básicas que constituyen el problema son:

( )( )5410

6320

10

112

02/10

04/12/1

XXXVN

XXXVB

B

==

−=−

350.1

0

0

0

20

230

100

5

4

1

6

3

2

=

=

=

=

Z

X

X

X

X

X

X

X

XX

N

B

Page 88: Apunte Investigación Operativa I

88

De esta manera, el valor de α* queda determinado por:

<∆∆

−= −−=

0/min 101

0

0

,,1

*i

i

iB

miB

B

XK

α

−=

−=∆−

0

100

100

400

200

100

112

02/10

04/12/11

0B

Como 01003

10 <−=∆−B , efectivamente existe un valor crítico de α*, siendo este:

3,2100230

10

0* =

−−=

∆−= −

i

iB

B

Es así que para el rango de 3,20 ≤≤ α , la solución óptima esta estructurada como:

−+

−=∆+=∆+=

= −−−

0

100

100

420

460

430

112

02/10

04/12/1

)(ˆ 10

10

10

6

3

2

0 ααα BbBbB

X

X

X

XB

−+

=

=20

100230

100100ˆ

6

3

2

0 αα

X

X

X

XB

La función objetivo viene dada por 3,20 ≤≤ α , entonces:

( ) ( )

−+

=

==20

100230

100100

052ˆˆ

6

3

2

632000 αα

X

X

X

cccXCZ BBB

α300350.1ˆ0 −=BZ

Que pasa para valores de 3,2>α , se deberá actualizar el vector XB0 y la función objetivo para α=2,3, generando que:

=

×−×+

=

=20

0

330

20

3,2100230

3,2100100ˆ

6

3

2

0

X

X

X

XB

6603,2300350.1ˆ0 =×−=BZ

De esta manera, al tableau actualizado se le aplica el método simplex dual, pero en este caso, aunque ningún XBi es negativo, se debe obligar a X3=0 a salir de la base inicial:

Z X1 X2 X3 X4 X5 X6 Z* 1 4 0 0 1 2 0 660 X2 0 -1/4 1 0 1/2 -1/4 0 330 X3 0 3/2 0 1 0 1/2 0 0 � X6 0 2 0 0 -2 1 1 20

Lamentablemente, al aplicar el método simplex dual, no es posible determinar el vector de entrada, ya que todos los 03 ≥jY , lo cual indica que el problema paramétrico no tiene solución para

cualquier valor de 3,2>α .

3.2.2.3.- Cambio Continuo En Una Columna Tecnológic a No Básica ja De A

El nuevo problema a resolver es:

)(

0

ˆ

: PN

X

bXA

sa

CXZ

Max

≥≤

=

Page 89: Apunte Investigación Operativa I

89

A difiere de la matriz A, únicamente en una columna no básica (la columna j), dónde:

Njaa jjj ∈Φ+= ,ˆ γ

Con Aa j ∈ y ∞<<∞− γ y jΦ vector columna de m componentes.

El análisis se restringirá sólo para el caso de 0≥γ , ya que para 0<γ , todos los resultados obtenidos serán análogos. Hay que aclarar que, a diferencia de los dos casos anteriores, una vez obtenido el valor crítico de γ (por ejemplo γ∗), el análisis no se puede volver a realizar para valores de *γγ ≥ , ya que en este

caso ja se convierte de un vector no básico ( *0 γγ ≤≤ ) a un vector básico ( *γγ ≥ ). Dicho este

comentario, se continuará el estudio paramétrico de esta variable. Sea B0 la base óptima asociada al problema original, es decir, 0=γ :

)(

0

PO

X

bAX

sa

CXZ

Max

≥≤

=

El cambio paramétrico en el vector ja ocasiona que los costos reducidos se modifiquen de

jcz jj ∀≥− ,0 a jj cz ˆˆ − , de la siguiente manera:

jjBjBjjjBjj

jjBjj

cBCaBCcaBCcz

NjcaBCcz

−Φ+=−Φ+=−

∈∀−=−−−−

γγ 100

100

100

100

)(ˆˆ

,ˆˆˆ

NjBCczcz

BCcaBCcz

jBjjjj

jBjjBjj

∈∀Φ+−=−

Φ+−=−−

−−

,ˆˆ

ˆˆ

100

100

100

γ

γ

De esta manera, se tiene que: 1. Si 0ˆˆ ≥− jj cz y para cualquier valor de 0>γ , entonces B0 sigue siendo óptima para el nuevo

problema. 2. Si 0ˆˆ <− jj cz para algún valor de Nj ∈ , entonces existe un γ∗, el cual se determina por la

siguiente relación (como se ha efectuado en los casos anteriores):

( )

Φ−

−= −−=

0/ 1001

00,,1

*jB

jB

jj

mjBC

BC

czMín

En este caso, B0 es óptima solamente para el rango de *0 γγ ≤≤ y nada se puede decir para

valores de *γγ ≥ . Ejemplo: Resuelva el siguiente PPL:

)(

0,0,0

4204

4602)3(

4302)1(

:..

523max

321

21

31

321

321

PN

XXX

XX

XX

XXX

as

XXXZ

≥≥≥≤+≤+−≤+++

++=

γγ

Donde el vector tecnológico paramétrico 1a es:

Page 90: Apunte Investigación Operativa I

90

−+

=

Φ+=

0

1

1

1

3

1

ˆ

1

11

γ

γ

a

aa

Para γ=0, el problema original es el siguiente:

)(

0,0,0

4204

46023

4302

:..

523max

321

21

31

321

321

PO

XXX

XX

XX

XXX

as

XXXZ

≥≥≥≤+≤+≤++

++=

El tableau asociado es: Z X1 X2 X3 X4 X5 X6 Z* 1 4 0 0 1 2 0 1350 X2 0 -1/4 1 0 1/2 -1/4 0 100 X3 0 3/2 0 1 0 1/2 0 230 X6 0 2 0 0 -2 1 1 20

Los resultados óptimos para este caso son:

Como existe un cambio paramétrico, asociado a la variable X1 en sus actividades tecnológicas, ocasiona que los costos reducidos 11 cz − sufran cambios y, por ende, debemos determinar si existe un valor crítico de γ∗, entonces debemos evaluar la siguiente expresión:

11

001111 ˆˆ Φ+−=− −BCczcz Bγ Entonces:

411 =− cz

( ) [ ] 1

0

1

1

021

0

1

1

112

02/10

04/12/1

05211

00 −=

−=

−=Φ−BCB

De esta manera, el γ∗:

41

4* =

−−=γ

Los costos reducidos, asociados a X1 y 40 ≤≤ γ son:

γγ −=−+=− 4)1(4ˆˆ 11 cz Finalmente, se puede decir que para valores de γ, en el rango de 40 ≤≤ γ , la solución óptima para el problema nuevo es:

350.1

0

0

0

20

230

100

5

4

1

6

3

2

=

=

=

=

Z

X

X

X

X

X

X

X

XX

N

B

Page 91: Apunte Investigación Operativa I

91

350.1

0

0

0

20

230

100

5

4

1

6

3

2

=

=

=

=

Z

X

X

X

X

X

X

X

XX

N

B

Por ejemplo, si γ=4, entonces:

0ˆˆ 11 =− cz El tableau asociado seria:

Z X1 X2 X3 X4 X5 X6 Z* 1 0 0 0 1 2 0 1350 X2 0 -1/4 1 0 1/2 -1/4 0 100 X3 0 3/2 0 1 0 1/2 0 230 X6 0 2 0 0 -2 1 1 20

¿Qué sucede con este tableau óptimo?. Lamentablemente, al tratar de ingresar X1 a la base, se genera un problema, producto de ingresar una variable que no era básica a ser básica.

Page 92: Apunte Investigación Operativa I

92

CAPITULO III:

PROBLEMA DE TRANSPORTE, TRANSBORDO Y ASIGNACIÓN

3.1.- MODELO DE TRANSPORTE En este capítulo nos referiremos al modelo de transporte estándar, aunque existen variantes, los cuales son más complicados, no es el objetivo de este capítulo. En estricto rigor, el modelo de transporte busca determinar el mejor plan de envíos desde uno o más centros de oferta (producción de algún producto) hacia los centros de consumo (demanda por dicho producto), es así, que se cuenta con la siguiente información:

1. Nivel de oferta en cada origen y cantidad de demanda en cada destino. 2. El costo de transporte unitario de la mercadería entre las fuentes y los destinos. 3. Un supuesto es que existe una única mercadería o producto.

Hay que tener presente que cada destino puede absorber, a través de su demanda, la producción de los distintos orígenes, por lo cual, el objetivo principal es determinar la cantidad óptima que se debe enviar desde cada origen a cada destino, de manera tal que el costo total de transporte sea mínimo. La siguiente figura representa el modelo de transporte como una red con “m” centros de oferta, que tienen que surtir a “n” centros de consumo, dónde cada nodo representa un origen o destino y los arcos indican una conexión entre un origen y destino indica que se puede transportar un producto.

Donde: ai : Capacidad de oferta del origen i bJ : Demanda del centro de consumo i CiJ : Costo de enviar una unidad de producto del origen i al destino j XiJ : Cantidad de productos a enviar desde el origen i al centro de consumo j

Page 93: Apunte Investigación Operativa I

93

3.1.1.- Estructura de Transporte El problema se reduce a determinar cuantas unidades de producto deben enviarse desde el origen i al centro de consumo j, tal que se minimicen los costos de transporte, se satisfaga la demanda del centro de consumo j y no se exceda la capacidad de oferta del origen i. El problema de transporte (PT), modelado usando P.L. queda como:

jiijX

nji jbijX

jmiiaijX

as

m

i

n

j ijXijCMin

m

n

,,0

,,1 ,1

1,,,1 ,

..

1 1 Z

∀≥

=∀∑=

∑=

=∀≤

∑=

∑=

=

K

K

El primer conjunto de restricciones indica que la suma de envíos a distintos destinos, no puede exceder el nivel de producción de cada origen y el segunda conjunto de restricciones indica que la suma de recepciones de los distintos orígenes, no puede ser menor que el nivel de demanda de de cada destino. Este problema indica que:

∑ ∑= =

≥m

i

n

jji ba

1 1

lo cual, nos permite definir el siguiente teorema. Teorema 1: Una condición necesaria y suficiente para que el problema de transporte, tenga solución es que la oferta sea igual a la demanda:

∑ ∑= =

=

m

i

n

j

ji ba

1 1

Con esto, el problema a resolver es:

jiijX

nji jbijX

jmiiaijX

as

m

i

n

j ijXijCMin

m

n

,,0

,,1 ,1

1,,,1 ,

..

1 1 Z

∀≥

=∀∑=

=

∑=

=∀=

∑=

∑=

=

K

K

Esta última estructura de programación lineal, se conoce como estructura de transporte. Si escribiésemos el Problema de Transporte de forma condensada, sería:

0

:

≥=

=

X

dAX

sa

CXZ

Min

Page 94: Apunte Investigación Operativa I

94

Donde: ( )

( )( )

renglones

renglonesn

renglones m

columnas

10000

00100

00010

000012121

212222111211

212222111211

nm

nm

IIIII

A

bbbamaad

CCCCCCCCCC

XXXXXXXXXX

nnnnn

nT

mnmmnn

mnmmnnT

+

×

=

=

==

44444 344444 21

L

MMOMMM

L

L

L

KK

KKKK

KKKK

El vector 1 y el vector 0 de la matriz A son vectores fila conteniendo, respectivamente, n unos y n ceros, y I n es la matriz identidad de nn× componentes, tal como se muestra a continuación:

( )

( )444 3444 21

K

44 344 21K

scomponente

00000

scomponente

11111

n

n

=

=

scomponenten

scomponenten

1000

0010

0001

=

444 3444 21L

MMOMM

L

L

nI

Esta estructura y dos propiedades sobre la matriz A, permiten el desarrollo de un nuevo algoritmo, llamado de transporte, que resuelve este tipo de problema de manera más eficiente (menos tiempo e iteraciones) que el método simplex. De acuerdo a lo ya estudiado, podemos analizar que la aplicación del método simplex generaría un sin fin de iteraciones, partiendo de una base inicial y llegando a la solución óptima, pero por la cantidad de variables puede resultar engorroso este desarrollo. Pero mediante ciertos trucos que permiten simplificar este problema lineal y mediante la simplificación del cambio de las variables básicas, le permitio a Dr. Dantzig desarrollar el algoritmo de transporte.

3.1.2.- Algoritmo de Transporte Como hemos mencionado, lo que se quiere resolver es:

jiijX

nji jbijX

jmiiaijX

as

m

i

n

j ijXijCMin

m

n

,,0

,,1 ,1

1,,,1 ,

..

1 1 Z

∀≥

=∀∑=

=

∑=

=∀=

∑=

∑=

=

K

K

Este problema se facilita, como indicamos anteriormente, si se establecen dos matrices: una de costos y la otra de flujos, tal como se muestra a continuación:

Page 95: Apunte Investigación Operativa I

95

costos de Matriz

321

321

333332313222322212111312111

321

nbbbbDemandamamnCmCmCmCm

anCCCC

anCCCC

anCCCC

Ofertan

L

L

MMLMMMM

MMLMMMM

L

L

L

L

flujos de Matriz

321

321

333332313222322212111312111

321

nbbbbDemandamamnXmXmXmXm

anXXXX

anXXXX

anXXXX

Ofertan

L

L

MMLMMMM

MMLMMMM

L

L

L

L

Nota: Este algoritmo también se conoce como Stepping Stone Algorithm o Algoritmo de Saltando Piedras. En el caso que la oferta total sea mayor que la demanda total, entonces se tendrá:

∑ ∑= =

>m

i

n

jj

bi

a1 1

Para solucionar este conflicto, se introduce un Centro de Consumo Artificial, cuya demanda estará dado por:

∑=

∑=

−=+m

i

n

j jbianb1 11

Los costos unitarios hacia ese centro de consumo bn+1 serán todos ceros, es decir, la matriz de costos asociada quedará:

3

2

1

1321

0321

033332313

022322212

011312111

1321

na

a

a

a

Oferta

nbnbbbbDemandamnCmCmCmCm

nCCCCnCCCCnCCCC

nn

M

M

L

L

MMLMMMM

MMLMMMM

L

L

L

L

+

+

Por otro lado, si la demanda total excede a la oferta total, es decir:

∑ ∑= =

>n

j

n

iiajb

1 1

Entonces, se añade un Centro de Oferta Artificial, cuya oferta será:

∑ ∑−=+ ia

jb

ma

1

Los costos unitarios hacia ese centro d oferta an+1, serán todos ceros, es decir, la matriz de costos queda:

Page 96: Apunte Investigación Operativa I

96

nbbbDemandamam

namnCmCmCm

anCCC

anCCC

Ofertan

L

L

L

MMMMM

L

L

L

21

1000121

22221221121111

21

++

Una vez que el problema de transporte está balanceado, ya sea agregando centros de demanda o centros de oferta ficticios o artificiales, se asegura que cumple con la condición necesaria y suficiente para que el problema tenga solución. Con lo anterior, se requiere que dicha solución inicial que sea básica (SBFI) y factible. Para obtener dicha solución básica factible inicial, se utilizan distintos mecanismos para su obtención, siendo en nuestro caso tres: Método de la Esquina Noroccidental, Método del Mínimo Costo y Método de Vogel.

3.1.2.1.- Método Del Extremo Noroccidental (MEN) El punto de partida es una matriz con orígenes, destinos, ofertas y demandas de un problema balanceado, como se muestra a continuación:

nbbbbDemandamam

a

a

a

Ofertan

L

MMMM

MMMM

L

321

332211

321

Para obtener una solución básica factible se empieza a construir una matriz de flujos de la siguiente manera:

Paso 1: En la posición (1,1), que es la esquina N-0 de la matriz (de ahí su nombre), se asigna el siguiente flujo a dicha posición:

( )

1111ˆ

1111ˆ

1,111

Xbb

Xaa

baMinX

−=

−=

=

Si se estuviera en una posición cualesquiera (i, j): ( )

ijXi

bj

b

ijXiaa

baMinijX

i

ji

−=

−=

=

ˆ

ˆ

,

Paso 2: Ocurrirá que una de los componentes, ya sea demanda u oferta será igual a cero, por lo cual: Si 0

1ˆ =a , pasar a la posición (2,1) y hacer ( ) ( )

111,

21ˆ,221 XbaMinbaMinX −== .

Si 01ˆ =b , pasar a la posición (1,2) y hacer ( ) ( )

2,

1112,1ˆ12

bXaMinbaMinX −==

Esta condición de manera general, posición (i, j) indica que: 1. Si )(0ˆ ↓⇒=ia , descender a la posición (i+1, j) y hacer ( )ji baMinjiiX ˆ,, 1+=+ .

Page 97: Apunte Investigación Operativa I

97

2. Si )(0ˆ →⇒=j

b , avanzar a la posición (i, j+1) y hacer

+=+ 1,ˆ

1, jbaMin

jiX i

Paso 3: Continuar con la misma lógica hasta llegar a la posición (m, n). La matriz de flujos que se obtenga será factible y básica para el problema de transporte. Ejemplo: Se tiene tres plantas, las cuales abastecen a 5 regiones; como se indica a continuación:

6040704030

90201815183

6016191620152

4016211419201

54321

Demanda

M

Oferta

Nota: La letra M indica que la planta 3 no abastece a la región 5, dónde es un valor muy alto (Penalización). Solución: Se debe analizar si la demanda es igual a la oferta, es decir:

240190

6040704030906040

=/++++=++

=∑∑j

ji

i ba

Como existe una mayor demanda que oferta, implica que de acuerdo a nuestras definiciones, es necesario agregar un centro de oferta artificial (m+1=3+1=4), así la matriz queda con un Centro de Oferta Artificial 4 y una oferta a4=50 y los costos asociados a cada centro de demanda es igual a cero, entonces la matriz de costos asociada es la siguiente:

6040704030

50000004

90201815183

6016191320152

4016211419201

54321

Demanda

M

Oferta

Con la matriz anterior, nos permite buscar nuestro objetivo, el cual es obtener la matriz de flujos, siendo inicialmente igual a:

6040704030

504

903

602

401

54321

Demanda

Oferta

A continuación, se obtendrá la solución básica falible inicial, aplicando la MEN: Iteración 1: Paso 1:

( ) ( )

030301ˆ

1030401ˆ

3040,30Min 1,111

=−=

=−=

===

b

a

baMinX

Page 98: Apunte Investigación Operativa I

98

De esta manera, el centro de consumo 1 ha sido abastecido completamente y con el resto del centro de demanda 1, se puede abastecer a otro mercado. Paso 2: Como ( )→⇒= 01b , se pasa a la posición (1,2), entonces:

( )

3010402ˆ

010101ˆ

10)4,10(2,1ˆ12

=−=

=−=

===

b

a

baMinX

De acá en adelante, no se indicarán los pasos 1 y 2, ya que estos se traslapan:

Iteración 2: Como ( )↓⇒= 0ˆ1a , se pasa a la posición (2,2):

( ) ( )

030302

ˆ

3030602

ˆ

3030,602ˆ,222

=−=

=−=

===

b

a

baMinX

Iteración 3: Como ( )→⇒= 0ˆ2b , entonces pasa a la posición (2,3)

( ) ( )

4030703ˆ

030302

ˆ

3070,303,2ˆ23

=−=

=−=

===

b

a

MinbaMinX

Iteración 4: Como ( )↓⇒= 02

ˆa , entonces pasa a la posición (3,3)

( ) ( )

040403ˆ

5040903

ˆ

4040,903ˆ,333

=−=

=−=

===

b

a

baMinX

Iteración 5: Como ( )→⇒= 0ˆ3b , entonces pasa a la posición (3,4)

( ) ( )

040404

ˆ

1040503

ˆ

4040,504,3ˆ34

=−=

=−=

===

b

a

baMinX

Iteración 6: Como ( )→⇒= 0ˆ

4b , entonces pasa a la posición (3,5)

( ) ( )

5010605

ˆ

010103

ˆˆ

1060,105,3ˆ

35

=−=

=−=

===

b

a

baMinX

Iteración 7: Como ( )↓⇒= 0ˆˆ3a , entonces pasa a la posición (4,5)

( ) ( )

050505

ˆ

050504

ˆ

5050,505ˆ,445

=−=

=−=

===

b

a

baMinX

Notemos que la posición (4, 5) es efectivamente la última posición. La solución básica factible inicial de la matriz de flujos es:

Page 99: Apunte Investigación Operativa I

99

604070403050500000490104040003

6000303002

4000010301

54321

7

654

32

1

Demanda

Oferta

↓→→↓→

↓→

Costo MEN:

MMi j ij

Xij

C 10300.3$50*010*40*2040*1830*1330*2010*1930*20 +=+++++++=∑ ×∑

Los números sobre las flechas indican las iteraciones de MEN. La solución inicial es básica, ya que hay ( ) 81541 =−+=−+ nm flujos que 0≥ijX y el resto, es decir, ( ) 128541 =−×=−+−× nmnm

flujos son iguales acero 0=ijX . Lo anterior indica que se satisfacen las restricciones de oferta y

las restricciones de demanda y además, la solución inicial es no-degenerada, porque hay exactamente ( )1−+ nm flujos en la base que son positivos. Aunque este método es sencillo, tiene como desventaja que la SBFI de la región de soluciones del PT, se encuentra demasiado alejado de la solución óptima, es decir, desde este punto hasta la solución óptima se requerirán varias iteraciones, lo cual puede ser costoso desde el punto de uso del computador. La cusa principal de este problema es que este método no toma en cuenta el costo, sólo la oferta y la demanda. Del ejemplo anterior, se puede analizar que existe un valor extremadamente elevado (10M), el cual no favorece para nada el costo del transporte, asociado a la solución inicial del problema.

3.1.2.2.- Método De Vogel Este método, que nos entrega una solución básica factible inicial para el algoritmo de transporte, nos proporciona una solución más cercana al punto óptimo. Los pasos a seguir son los siguientes: Paso 1: Construya la matriz de costos y flujos asociados al problema balanceado y vaya al paso 3. Paso 2: Utilice el remanente de la matriz de costos y flujos una vez que estos últimas se hayan asignado. Paso 3: Se entiende por diferencia de fila (de columna) a la diferencia entre los dos números más pequeños que hay en la fila (columna). Calcule todas las diferencias de filas o columnas de la matriz de costos. Paso 4: Seleccione aquella fila o columna con mayor diferencia. Los empates se rompen de manera arbitraria. Paso 5: Seleccione el costo más pequeño en la matriz de costos, ya sea en la fila o columna seleccionada en el paso anterior. Designe a esta posición como Cij. Paso 6: En la matriz de flujo, hágase ( ) , ji baMinijX = , donde la posición (i,j) fue identificada en el paso

anterior. Hágase la oferta ai igual a:

ˆ ijXiaai −=

y la demanda bj igual a:

ijXi

bj

b −=ˆ

Page 100: Apunte Investigación Operativa I

100

Paso 7: 1. Si 0ˆ =

ia , llénese la fila i de la matriz de flujos con ceros, a excepción de la posición (i,j) y

elimínese esa fila de cualquier consideración futura en la matriz de costos. 2. Si 0ˆ =

jb , llénese la columna j de la matriz de flujos con ceros, a excepción de la posición (i,j) y

elimínese a esa columna de cualquier consideración futura en la matriz de costos. Regrese al paso 2

Ejemplo Resolvamos el mismo problema anterior, pero utilizando el método de Vogel: Iteración 1: Matriz de Costos y Flujos:

6040704030

504

903

602

401

54321

6040704030

50000004

90201815183

6016191320152

4016211419201

54321

Demanda

Oferta

Demanda

M

Oferta

Paso 3:

1 2 3 4 5 Oferta Diferencia 1 20 19 14 � 21 16 �� 40 2 2 15 �� 20 13 �� 19 � 16 � 60 2 3 18 � 15 �� 18 � 20 M 90 3 4 0 �� 0 �� 0 �� 0 �� 0 �� 50 0

Demanda 30 40 70 40 60 Diferencia 15 15 13 19 16

Rojo: mínimos por fila �. Azul: mínimos por columna �. Paso 4: Se selecciona la columna cuatro por tener la mayor diferencia que es 19. Paso 5: El costo más pequeño corresponde a 044 == CCij .

Paso 6: 40)40,50min(),min( 4444 === baX

1040504444 =−=−=∧

Xaa 040404444 =−=−=∧

Xbb Paso 7:

Como 04 =∧b , todos los elementos de la columna 4, a excepción de X44, se hacen igual a cero y la

columna 4 se elimina para cualquier consideración futura. Iteración 2: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 40 2 0 60 3 0 90 4 40 50

Demanda 30 40 70 40 60 Paso 3: Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:

Page 101: Apunte Investigación Operativa I

101

1 2 3 4 5 Oferta Diferencia 1 20 19 14 � 16 �� 40 2 2 15 �� 20 13 �� 16 � 60 2 3 18 � 15 �� 18 � M 90 3 4 0 �� 0 �� 0 �� 0 �� 10 0

Demanda 30 40 70 0 60 Diferencia 15 15 13 16

Paso 4: Se selecciona la columna cinco por tener la mayor diferencia que es 16. Paso 5: El costo más pequeño corresponde a 045 == CCij .

Paso 6: 10)60,10min(),ˆmin( 5445 === baX

01010ˆˆ4544 =−=−= Xaa 5010604555 =−=−=

∧Xbb

Paso 7:

Como 0ˆ4 =a , todos los elementos de la fila 4 se hacen cero, a excepción de X45 y la fila 4 se

elimina para cualquier consideración futura. Iteración 3: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 40 2 0 60 3 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Paso 3: Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:

1 2 3 4 5 Oferta Diferencia 1 20 19 � 14 �� 16 �� 40 2 2 15 �� 20 13 �� 16 � 60 2 3 18 �� 15 �� 18 � M 90 3 4 0

Demanda 30 40 70 0 50 Diferencia 3 4 1 0

Paso 4: Se selecciona la columna dos por tener la mayor diferencia que es 4. Paso 5: El costo más pequeño corresponde a 1532 == CCij .

Paso 6: 40)40,90min(),min( 2332 === baX

054090ˆ 3233 =−=−= Xaa 04040ˆ3222 =−=−= Xbb

Paso 7:

Como 0ˆ2 =b , todos los elementos de la columna 2 se hacen cero, a excepción de X32 y la

columna 2 se elimina para cualquier consideración futura. Iteración 4:

Page 102: Apunte Investigación Operativa I

102

Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 0 40 2 0 0 60 3 40 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Paso 3: Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:

1 2 3 4 5 Oferta Diferencia 1 20 14 �� 16 �� 40 2 2 15 �� 13 �� 16 � 60 2 3 18 �� 18 � M 50 0 4 0

Demanda 30 0 70 0 50 Diferencia 3 1 0

Paso 4: Se selecciona la columna uno por tener la mayor diferencia que es 3. Paso 5: El costo más pequeño corresponde a 1521 == CCij .

Paso 6: 30)30,60min(),min( 1221 === baX

033060ˆ 2122 =−=−= Xaa 03030ˆ2111 =−=−= Xbb

Paso 7:

Como 01 =b , todos los elementos de la columna 1 se hacen cero, a excepción de X21 y la columna 1 se elimina para cualquier consideración futura. Iteración 5: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 0 0 40 2 30 0 0 60 3 0 40 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Paso 3: Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:

1 2 3 4 5 Oferta Diferencia 1 14 �� 16 �� 40 2 2 13 �� 16 �� 30 3 3 18 � M� 50 M-18 4 0

Demanda 0 0 70 0 50 Diferencia 1 0

Page 103: Apunte Investigación Operativa I

103

Paso 4: Se selecciona la fila tres por tener la mayor diferencia que es M-18. Paso 5: El costo más pequeño corresponde a 1833 == CCij .

Paso 6: 50)70,50min(),ˆmin( 3333 === baX

05050ˆˆ3333 =−=−= Xaa 205070ˆ

3333 =−=−= Xbb Paso 7:

Como 0ˆ3 =a , todos los elementos de la fila 3 se hacen cero, a excepción de X33 y la fila 3 se

elimina para cualquier consideración futura. Iteración 6: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta

1 0 0 0 40 2 30 0 0 60 3 0 40 50 0 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Paso 3: Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:

1 2 3 4 5 Oferta Diferencia 1 14 �� 16 �� 40 2 2 13 �� 16 �� 30 3 3 0 4 0

Demanda 0 0 20 0 50 Diferencia 1 0

Paso 4: Se selecciona la fila dos por tener la mayor diferencia que es 3. Paso 5: El costo más pequeño corresponde a 1323 == CCij .

Paso 6: 20)20,30min()ˆ,ˆmin( 3223 === baX

102030ˆˆ2322 =−=−= Xaa 02020ˆˆ

2333 =−=−= Xbb Paso 7:

Como 0ˆ3 =b , todos los elementos de la columna 3 se hacen cero, a excepción de X23 y la columna

3 se elimina para cualquier consideración futura. Iteración 7: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

Page 104: Apunte Investigación Operativa I

104

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 0 0 0 40 2 30 0 20 0 60 3 0 40 50 0 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Paso 3: Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:

1 2 3 4 5 Oferta Diferencia 1 16 �� 40 16 2 16 �� 10 16 3 0 4 0

Demanda 0 0 0 0 50 Diferencia 0

Paso 4: Se selecciona la fila uno o dos (arbitrariamente se rompe este empate) por tener la mayor diferencia que es 16. Paso 5: El costo más pequeño corresponde a 1615 == CCij .

Paso 6: 40)50,40min()ˆ,min( 5115 === baX

04040ˆ 1511 =−=−= Xaa 104050ˆˆ1555 =−=−= Xbb

Paso 7: Como 0ˆ1 =a , todos los elementos de la fila 1 se hacen cero, a excepción de X15 y la fila 1 se elimina para cualquier consideración futura. Iteración 8: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 0 0 0 40 40 2 30 0 20 0 60 3 0 40 50 0 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Paso 3: Se calcula nuevamente las diferencias por fila y columna de la matriz de costo:

1 2 3 4 5 Oferta Diferencia 1 0 2 16 �� 10 16 3 0 4 0

Page 105: Apunte Investigación Operativa I

105

Demanda 0 0 0 0 10 Diferencia 0

Paso 4: Se selecciona la fila dos por tener la mayor diferencia que es 16. Paso 5: El costo más pequeño corresponde a 1625 == CCij .

Paso 6:

10)10,10min()ˆ,ˆmin( 5225 === baX

01010ˆˆˆ 2522 =−=−= Xaa 01010

ˆˆˆ

2555 =−=−= Xbb Paso 7:

Como 0ˆ0ˆ51 =∧= ba , todos los elementos de la fila 2 y la columna 5 se hacen cero, a excepción de

X25 y la fila 1 y la columna 5 se eliminan para cualquier consideración futura. Iteración 9: Paso 2: Notemos que efectivamente la iteración anterior fue la última, por lo cual, se obtiene la Matriz de Costos (sin tarjar) y La Matriz de Flujos final: Matriz de Costos:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

Matriz de Flujos: 1 2 3 4 5 Oferta

1 0 0 0 0 40 40 2 30 0 20 0 10 60 3 0 40 50 0 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Para calcular el costo del Método de Vogel se multiplican los flujos y costos respectivos, correspondiente a la SBFI, obteniendo el siguiente valor:

010.3$100*4018*5015*4016*1013*2015*3016*40 =+++++++=∑ ×∑i j ij

Xij

C

3.1.2.4.- Método del Costo Mínimo Este método, que nos entrega una solución básica factible inicial para el algoritmo de transporte, nos proporciona una solución cercana al punto óptimo. Los pasos a seguir son los siguientes: Paso 1: Construya la matriz de costos y flujos asociados al problema balanceado y vaya al paso 3. Paso 2: Utilice el remanente de la matriz de costos y flujos una vez que estas últimas se hayan asignado. Paso 3: Seleccione el costo más pequeño en la matriz de costos, ya sea en fila o columna. Designe a esta posición como Cij. Paso 4:

Page 106: Apunte Investigación Operativa I

106

En la matriz de flujo, hágase ( ) , ji baMinijX = , donde la posición (i,j) fue identificada en el paso

anterior. Hágase la oferta ai igual a:

ˆ ijXiaai −=

Hágase la demanda bj igual a:

ijXi

bj

b −=ˆ

Paso 5: 3. Si 0ˆ =

ia , llénese la fila i de la matriz de flujos con ceros, a excepción de la posición (i,j) y

elimínese esa fila de cualquier consideración futura en la matriz de costos. 4. Si 0ˆ =

jb , llénese la columna j de la matriz de flujos con ceros, a excepción de la posición (i,j) y

elimínese a esa columna de cualquier consideración futura en la matriz de costos. Regrese al paso 2

Ejemplo Resolvamos el mismo problema anterior, pero utilizando el método de Vogel:

6040704030

50000004

90201815183

6016191320152

4016211419201

54321

Demanda

M

Oferta

Iteración 1: Paso 1:

1 2 3 4 5 Oferta 1 20 19 14 21 16 40 2 15 20 13 19 16 60 3 18 15 18 20 M 90 4 0 0 0 0 0 50

Demanda 30 40 70 40 60 Paso 3: El costo más pequeño de la matriz, corresponde completamente a la fila 4, por lo cual, se elije arbitrariamente la posición (4,5): 045 == CCij .

Paso 4: 50)60,50min(),min( 5445 === baX

05050ˆ 4444 =−=−= Xaa 105060ˆ4555 =−=−= Xbb

Paso 5: Como 0ˆ4 =a , todos los elementos de la fila 4, a excepción de X45, se hacen igual a cero y la fila 4 se elimina para cualquier consideración futura. Iteración 2: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 40 2 60

Page 107: Apunte Investigación Operativa I

107

3 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Paso 3:

1 2 3 4 5 Oferta 1 20 19 14 21 16 40 2 15 20 13 19 16 60 3 18 15 18 20 M 90 4 0

Demanda 30 40 70 40 10 El costo más pequeño de la matriz, corresponde a la posición (2,3): 1323 == CCij .

Paso 4: 60)70,60min(),min( 3223 === baX

06060ˆ 2322 =−=−= Xaa 106070ˆ2333 =−=−= Xbb

Paso 5: Como 0ˆ2 =a , todos los elementos de la fila 2, a excepción de X23, se hacen igual a cero y la fila 2 se elimina para cualquier consideración futura. Iteración 3: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 40 2 0 0 60 0 0 60 3 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Paso 3:

1 2 3 4 5 Oferta 1 20 19 14 21 16 40 2 0 3 18 15 18 20 M 90 4 0

Demanda 30 40 10 40 10 El costo más pequeño de la matriz, corresponde a la posición (1,3): 1413 == CCij .

Paso 4: 60)10,40min()ˆ,min( 3113 === baX

0310401311 =−=−=∧

Xaa 01010ˆˆ2333 =−=−=

Xbb Paso 5:

Como 0ˆ3 =b , todos los elementos de la columna 3, a excepción de X13, se hacen igual a cero y la

columna 3 se elimina para cualquier consideración futura. Iteración 4: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

Page 108: Apunte Investigación Operativa I

108

1 2 3 4 5 Oferta 1 10 40 2 0 0 60 0 0 60 3 0 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Paso 3:

1 2 3 4 5 Oferta 1 20 19 21 16 30 2 0 3 18 15 20 M 90 4 0

Demanda 30 40 0 40 10 El costo más pequeño de la matriz, corresponde a la posición (3,2): 1532 == CCij .

Paso 4: 40)40,90min(),min( 2332 === baX

0540903233 =−=−=∧

Xaa 040403222 =−=−=∧

Xbb Paso 5: Como 0ˆ

2 =b , todos los elementos de la columna 2, a excepción de X32, se hacen igual a cero y la columna 2 se elimina para cualquier consideración futura. Iteración 5: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 10 40 2 0 0 60 0 0 60 3 40 0 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Paso 3:

1 2 3 4 5 Oferta 1 20 21 16 30 2 0 3 18 20 M 50 4 0

Demanda 30 0 0 40 10 El costo más pequeño de la matriz, corresponde a la posición (1,5): 1615 == CCij .

Paso 4:

10)10,30min()ˆ,min( 5115 === baX

011010ˆ 1511 =−=−= Xaa 021030ˆˆ1555 =−=−= Xbb

Paso 5:

Como 0ˆ5 =b , todos los elementos de la columna 5, a excepción de X15, se hacen igual a cero y la

columna 5 se elimina para cualquier consideración futura. Iteración 6: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

Page 109: Apunte Investigación Operativa I

109

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 10 10 40 2 0 0 60 0 0 60 3 40 0 0 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Paso 3:

1 2 3 4 5 Oferta 1 20 21 20 2 0 3 18 20 50 4 0

Demanda 30 0 0 40 0 El costo más pequeño de la matriz, corresponde a la posición (3,1): 1631 == CCij .

Paso 4: 30)30,50min(),ˆmin( 1331 === baX

023050ˆˆ3133 =−=−= Xaa 03030ˆ

3111 =−=−= Xbb Paso 5: Como 01 =b , todos los elementos de la columna 1, a excepción de X31, se hacen igual a cero y la columna 1 se elimina para cualquier consideración futura. Iteración 7: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 0 10 10 40 2 0 0 60 0 0 60 3 30 40 0 0 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Paso 3:

1 2 3 4 5 Oferta 1 21 20 2 0 3 20 20 4 0

Demanda 0 0 0 40 0 El costo más pequeño de la matriz, corresponde a la posición (3,4): 2034 == CCij .

Paso 4:

20)40,20min(),ˆmin( 4334 === baX

02020ˆˆˆ 3133 =−=−= Xaa 022040ˆ

3444 =−=−= Xbb Paso 5:

Page 110: Apunte Investigación Operativa I

110

Como 0ˆˆ3 =a , todos los elementos de la fila 3, a excepción de X34, se hacen igual a cero y la fila 3

se elimina para cualquier consideración futura. Iteración 8: Paso 2: Al regresar, la matriz de costos y flujos quedan de la siguiente manera:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

1 2 3 4 5 Oferta 1 0 0 10 10 40 2 0 0 60 0 0 60 3 30 40 0 20 0 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Paso 3:

1 2 3 4 5 Oferta 1 21 20 2 0 3 0 4 0

Demanda 0 0 0 20 0 El costo más pequeño de la matriz, corresponde a la posición (1,4): 2114 == CCij .

Paso 4: 0)20,20min()ˆ,ˆmin( 4114 === baX

02020ˆˆ1411 =−=−= Xaa 02020ˆˆ

1444 =−=−= Xbb Paso 5:

Como 0ˆ

0ˆ41 =∧= ba , todos los elementos de la fila 1 y columna 4, a excepción de X14, se hacen

igual a cero y la fila 1 y columna 4 se elimina para cualquier consideración futura. Iteración 9: Paso 2: Notemos que efectivamente la iteración anterior fue la última, por lo cual, se obtiene la Matriz de Costos (sin tarjar) y La Matriz de Flujos final: Matriz de Costos:

6040704030

5000004

90201815183

6016191320152

4016211419201

5321

0

4

Demanda

M

Oferta

Matriz de Flujos:

1 2 3 4 5 Oferta 1 0 0 10 20 10 40 2 0 0 60 0 0 60 3 30 40 0 20 0 90 4 0 0 0 0 50 50

Demanda 30 40 70 40 60 Para calcular el costo del Método de Costo Mínimo, se multiplican los flujos y costos respectivos, correspondiente a la SBFI, obteniendo el siguiente valor:

Page 111: Apunte Investigación Operativa I

111

040.3$0*5020*2015*4018*3013*6016*1021*2014*10 =+++++++=∑ ×∑i j ij

Xij

C

3.1.2.4.- Desarrollo Algoritmo De Transporte La metodología del algoritmo de transporte y obtener la solución óptima es: Paso 1: Balancear el problema de transporte, a fin de cumplir la condición necesaria y suficiente para obtener una solución óptima, es decir:

∑=

∑=

=m

i

n

jjbia

1 1

Paso 2: Generar una solución inicial que sea básica y factible, utilizando, ya sea: Método de Vogel o Método De Extremo NorOccidental o Método de Mínimo Costo. Paso 3: Construir una matriz de costos ijC , asociada a la solución básica factible que se tenga, donde:

base laen está no Si , 0

base laen está Si ,

ijX

ijC

ijX

ijC

ijC

=

=

Paso 4: Con esta matriz de costos, calcular el valor de todas las variables duales:

n1,.....,j , m1,....,i , =∧= conj

vconi

u .

Utilizando la expresión: n1,...,j ; m1,...,i 0 ===−+ ijCjviu

Como hay nm+ variables (m variables ui, n variables vj) y solamente 1−+ nm ecuaciones

0=−+ij

Cj

vi

u (existe sólo un grado de libertad). Esto equivale a dar un valor arbitrario (se

recomienda el valor cero) a cualquiera de las variables duales y así queda por resolver un sistema de 1−+ nm ecuaciones con 1−+ nm variables. Paso 5: Los parámetros ijcijz − se calculan por medio de la ecuación ijcjviuijcijz −+=− )( . Como

estamos usando el PT como minimización, si todos los jiijCijZ ,,0 ∀≤− , la solución actual es

óptima. En caso contrario, si jiijCijZ ,,0 ∀>− , se elije el valor más positivo, correspondiente a ijX ,

correspondiente a la variable de flujo ijX para debe entrar a la base.

Para seguir la coherencia general de la programación, el PT será aplica mediante reglas de maximización, lo cual: si todos los jiijCijZ ,,0 ∀≥− , la solución actual es óptima. En caso contrario,

si jiijCijZ ,,0 ∀<− , se elije el valor más negativo, correspondiente a la variable de flujo ijX para

debe entrar a la base. Paso 6: Si la variable ijX entra a la base con un cierto valor 0>θ , la oferta ia y la demanda jb se

desequilibran en θ± , a menos que exista un mecanismo de compensación. Veamos como se produce este desequilibrio, antes de conocer el mecanismo: supongamos que para el PT se tiene la siguiente solución básica factible: Matriz de Flujos Inicial:

Page 112: Apunte Investigación Operativa I

112

nj

mmnm

iin

j

bbbDemanda

aXXm

aXi

aXX

Ofertanj

LL

MM

MM

LL

1

1

11111

1

Tengamos presente que los cinco flujos generan una solución básica factible inicial (m+n-1=5), ya que:

0,0,0,0,0 1111

1

1111

1

111

≥≥≥≥≥=+==+=+==+

mnminj

nmnin

jj

m

mmnm

iin

ij

XXXXX

bXX

bX

bXX

aXX

aX

aXX

Supongamos que ijcijz − , es la más negativa y por lo tanto, ijX entra a la nueva base con un

determinado valor 0≥θ , ( θ=ijX , entra a la base por que 0zij <− ijc ). Tabularmente se tiene lo

siguiente:

nj

mmnm

iinij

j

bbbDemanda

aXXm

aXXi

aXX

Ofertanj

LL

MM

MM

LL

1

1

1111

/

1

1

θ

Si 0>θ , esta nueva solución ya no es básica, porque m+n=6 elementos en la base y no m+n-1=5, como debiese ser. También la solución no es, ya que por un lado la oferta del origen i es mayor que ai, siendo:

ia

ia

inX >+=+ θθ

y por el otro lado, la demanda del destino j es mayor que bj, siendo:

jb

jb

jX >+=+ θθ

1.

Existe un desequilibrio que únicamente puede desaparecer si se resta o suma θ unidades en ciertos puntos de la matriz de flujos; lo anterior, permite construir un circuito, tal como se indica a continuación:

nj

mmnm

iin

j

bbbDemanda

aXXm

aXi

aXX

Ofertanj

LL

MM

MM

LL

1

1

11111

1

θθ

θθ

θθ

+←←←←−↓↑−→→↑

↓↑−→+

Se puede apreciar, que dependiendo de las posiciones de la matriz de flujos, se ha sumado el valor de θ en otras posiciones y se ha restado el valor de θ en otras posiciones, para mantener el equilibrio entre la oferta y demanda. De acuerdo a lo anterior, se ha regenerado la factibilidad, más no lo básico del efecto, es decir:

Page 113: Apunte Investigación Operativa I

113

( ) ( )( ) ( )

( ) ( )( ) ( )( ) ( )( ) ( ) nmnin

jj

m

mmnm

iin

ij

bXX

bX

bXX

aXX

aX

aXX

=++−=+−=−++=++−=−+=−++

θθθθ

θθθθθθθθ

1

1111

1

111

Para que esta solución sea básica, es decir, que solamente están m+n-1 elementos en la base, θ debe ser lo suficientemente grande como para reducir el valor de uno o varios flujos básicos a cero. Si analizamos la matriz anterior, vemos que si θ aumenta, los siguientes flujos disminuyen:

1,,

1 mX

inX

jX , por lo tanto:

=

1,,

1min

mX

inX

jXθ

Este circuito es único, por lo cual, el paso 6 se puede resumir como sigue: 6.a.- Construya el circuito único que contiene a la variable Xij que entra a la base. Nota: Un reglón o una columna pueden tener más de dos celdillas en el circuito, pero no pueden ser consecutivas más de dos de ellas. 6.b.- θ=ijX , donde θ es el mínimo de los vectores básicos en el circuito que disminuyen su valor

a medida que θ aumenta. Ejemplo: Sea el problema de transporte, que tiene tres orígenes con capacidad de 40, 60 y 90 unidades, respectivamente y cinco destinos con demandas de 30, 40, 70, 40 y 60 unidades, respectivamente y los costos unitarios están dados en la siguiente tabla: Matriz de Costos:

1 2 3 4 5 Oferta 1 20 19 14 21 16 40 2 15 20 13 19 16 60 3 18 15 18 20 No surte 90

Demanda 30 40 70 40 60 Por razones técnicas, el origen 3 no puede abastecer al destino 5. Iteración 1: Paso 1: El problema esta desbalanceado, puesto que la oferta total es menor que la demanda total en 50 unidades. Como se muestra a continuación:

2401 1

1904 5

=∑=

∑=

<=i j jbia

De esta manera, para balancear el problema se debe crear un centro de oferta artificial a5, el cual tiene una oferta de 50 unidades y cuyos costos son 5,,,04 KjC j ∀= . El problema ya balanceado,

genera la siguiente matriz de costos: 1 2 3 4 5 Oferta 1 20 19 14 21 16 40 2 15 20 13 19 16 60 3 18 15 18 20 M 90 4 0 0 0 0 0 50

Demanda 30 40 70 40 60 Paso 2: Utilizando el Método de Vogel, se obtiene la solución básica factible inicial, con un costo de $3.010. La matriz de flujos asociada es:

1 2 3 4 5 Oferta 1 0 0 0 0 40 40

Page 114: Apunte Investigación Operativa I

114

2 30 0 20 0 10 60 3 0 40 50 0 0 90 4 0 0 0 40 10 50

Demanda 30 40 70 40 60 Paso 3: Se construye la matriz de costos ijC , donde:

016

013

1815

1516

4525

4423

3321

3215

========

CC

CC

CC

CC

El resto de los 0=ijC . A continuación, hay que asociar las variables duales ui a los orígenes ( 4,,1K=i ) y las vj a los destinos ( 5,,1K=j ), generándose la siguiente matriz de costos actualizada:

1 2 3 4 5 1 0 0 0 0 16 u1 2 15 0 13 0 16 u2 3 0 15 18 0 0 u3 4 0 0 0 0 0 u4 v1 v2 v3 v4 v5

Paso 4: Se generan las ecuaciones: n1,...,j ; m1,...,i 0 ===−+ ijCjviu

De esta manera:

05115 =−− vuC

01221 =−− vuC

03223 =−− vuC

05225 =−− vuC

02332 =−− vuC

03333 =−− vuC

04444 =−− vuC

05445 =−− vuC Se puede analizar que se puede, específicamente, utilizar tanto u2 o v5, las cuales están tres veces en las ecuaciones anteriores y por conveniencia asignaremos en este caso u2=0. Las ecuaciones anteriores, nos permiten conocer v1, v3 y v5:

150 2111221 ==⇒=−− CvvuC

130 2333223 ==⇒=−− CvvuC

160 2555225 ==⇒=−− CvvuC Conocidos las variables duales v1, v3 y v5, se calculan ahora u1, u3, u4, v2 y v4:

016160 51515115 =−=−=⇒=−− vCuvuC

513180 33333333 =−=−=⇒=−− vCuvuC

161600 54545445 −=−=−=⇒=−− vCuvuC

105150 33222332 =−=−=⇒=−− uCvvuC

16)16(00 44444444 =−−=−=⇒=−− uCvvuC En resumen:

Page 115: Apunte Investigación Operativa I

115

16

16,16

13,5

10,0

15,0

5

44

33

22

11

==−=======

v

vu

vu

vu

vu

Paso 5: Utilizando la formula: Nji

jv

iu

ijC

ijc

ijz ∈∀+−=− ,),( , se obtienen los indicadores de optimalidad:

5)150(20)11

(111111

=+−=+−=− vuCcz

9)100(19)21

(121212

=+−=+−=− vuCcz

1)130(14)31

(131313

=+−=+−=− vuCcz

5)160(21)41

(141414

=+−=+−=− vuCcz

10)100(20)22

(222222

=+−=+−=− vuCcz

3)160(19)42

(242424

=+−=+−=− vuCcz

2)155(18)13

(313131

−=+−=+−=− vuCcz

1)165(20)43

(343434

−=+−=+−=− vuCcz

21)165()53

(353535

−=+−=+−=− MMvuCcz

1)1516(0)14

(414141

=+−−=+−=− vuCcz

6)1016(0)24

(424242

=+−−=+−=− vuCcz

3)1316(0)34

(434343

=+−−=+−=− vuCcz

Si 0≥−

ijc

ijz , indica que la solución es óptima, pero dos elementos son negativos, por lo cual

se elije el más negativo, es decir: 023131

<−=− cz , por lo tanto, X31 entra a la base.

Pase 6: El circuito queda representado, tabularmente, en la matriz de flujos:

1 2 3 4 5 Oferta 1 40 40 2 30- θ θ θ θ 20+ θ θ θ θ 10 60 3 θθθθ 40 50- θ θ θ θ 90 4 40 10 50

Demanda 30 40 70 40 60 El valor que debe tomar θ, debe ser el mínimo de los flujos que disminuyen al aumentar θ, es decir: { } { } 3050,30

33,

21=== MinXXMinθ

La nueva solución al PT en la Matriz de Flujos es:

1 2 3 4 5 Oferta 1 40 40 2 50 10 60 3 30 40 20 90 4 40 10 50

Demanda 30 40 70 40 60 El costo asociado a la nueva solución es:

950.2$)2(30010.3)(010.3 313131 =−×+=−+= czXCT Volver al paso 3. Iteración 2:

Page 116: Apunte Investigación Operativa I

116

Paso 3: Se construye la matriz de costos ijC , donde:

018

016

1813

1516

4531

4425

3323

3215

========

CC

CC

CC

CC

El resto de los 0=ijC . A continuación, hay que asociar las variables duales ui a los orígenes ( 4,,1K=i ) y las vj a los destinos ( 5,,1K=j ), generándose la siguiente matriz de costos actualizada:

1 2 3 4 5 1 0 0 0 0 16 u1 2 0 0 13 0 16 u2 3 18 15 18 0 0 u3 4 0 0 0 0 0 u4 v1 v2 v3 v4 v5

Paso 4: Se generan las ecuaciones: n1,...,j ; m1,...,i 0 ===−+ ijCjviu . De esta manera:

05115 =−− vuC

03223 =−− vuC

05225 =−− vuC

01331 =−− vuC

02332 =−− vuC

03333 =−− vuC

04444 =−− vuC

05445 =−− vuC En este caso se puede utilizar u3, la cual está tres veces en las ecuaciones anteriores, entonces u3=0. Las ecuaciones anteriores, nos permiten conocer v1, v2 y v3:

180 3111331 ==⇒=−− CvvuC

150 3222332 ==⇒=−− CvvuC

180 3333333 ==⇒=−− CvvuC Conocidos las variables duales v1, v2 y v3, se calculan ahora u1, u2, u4, v4 y v5:

521160 51515115 −=−=−=⇒=−− vCuvuC

518130 32323223 −=−=−=⇒=−− vCuvuC

21)5(160 22555225 =−−=−=⇒=−− uCvvuC

21)21(00 44444444 =−−=−=⇒=−− uCvvuC

21)21(00 54545445 −=−=−=⇒=−− vCuvuC En resumen:

21

21,21

18,0

15,5

18,5

5

44

33

22

11

==−====−==−=

v

vu

vu

vu

vu

Paso 5: Utilizando la formula: Nji

jv

iu

ijC

ijc

ijz ∈∀+−=− ,),( , se obtienen los indicadores de optimalidad:

Page 117: Apunte Investigación Operativa I

117

7)185(20)11

(111111

=+−−=+−=− vuCcz

9)155(19)21

(121212

=+−−=+−=− vuCcz

1)185(14)31

(131313

=+−−=+−=− vuCcz

5)215(21)41

(141414

=+−−=+−=− vuCcz

2)185(15)12

(212121

=+−−=+−=− vuCcz

10)155(20)22

(222222

=+−−=+−=− vuCcz

3)215(19)42

(242424

=+−−=+−=− vuCcz

1)210(20)43

(343434

−=+−=+−=− vuCcz

21)210()53

(353535

−=+−=+−=− MMvuCcz

3)1821(0)14

(414141

=+−−=+−=− vuCcz

6)1521(0)24

(424242

=+−−=+−=− vuCcz

3)1821(0)34

(434343

=+−−=+−=− vuCcz

Si 0≥−

ijc

ijz , indica que la solución es óptima, pero un solo elemento es negativo, por lo cual:

013434

<−=− cz , por lo tanto, X34 entra a la base.

Pase 6: El circuito queda representado, tabularmente, en la matriz de flujos:

1 2 3 4 5 Oferta 1 40 40 2 50+θθθθ 10-θθθθ 60 3 30 40 20-θ θ θ θ θθθθ 90 4 40-θθθθ 10+θθθθ 50

Demanda 30 40 70 40 60 El valor que debe tomar θ, debe ser el mínimo de los flujos que disminuyen al aumentar θ, es decir: { } { } 1040,20,10

44,

33,

25=== MinXXXMinθ

La nueva solución al PT en la Matriz de Flujos es:

1 2 3 4 5 Oferta 1 40 40 2 60 60 3 30 40 10 10 90 4 30 20 50

Demanda 30 40 70 40 60 El costo asociado a la nueva solución es:

940.2$)1(10950.2)(950.2 313134 =−×+=−+= czXCT Volvemos al paso 3: Tercera Iteración: Paso 3: Se construye la matriz de costos ijC , donde:

015

018

2013

1816

4532

4431

3423

3315

========

CC

CC

CC

CC

Page 118: Apunte Investigación Operativa I

118

El resto de los 0=ijC . A continuación, hay que asociar las variables duales ui a los orígenes ( 4,,1K=i ) y las vj a los destinos ( 5,,1K=j ), generándose la siguiente matriz de costos actualizada:

1 2 3 4 5 1 0 0 0 0 16 u1 2 0 0 13 0 0 u2 3 18 15 18 20 0 u3 4 0 0 0 0 0 u4 v1 v2 v3 v4 v5

Paso 4: Se generan las ecuaciones: n1,...,j ; m1,...,i 0 ===−+ ijCjviu . De esta manera:

05115 =−− vuC

03223 =−− vuC

01331 =−− vuC

02332 =−− vuC

03333 =−− vuC

04334 =−− vuC

04444 =−− vuC

05445 =−− vuC En este caso se puede utilizar u3, la cual está cuatro veces en las ecuaciones anteriores, entonces u3=0. Las ecuaciones anteriores, nos permiten conocer v1, v2, v3 y v4:

180 3111331 ==⇒=−− CvvuC

150 3222332 ==⇒=−− CvvuC

180 3333333 ==⇒=−− CvvuC

200 3444334 ==⇒=−− CvvuC Conocidos las variables duales v1, v2, v3 y v4, se calculan ahora u1, u2, u4 y v5:

420160 51515115 −=−=−=⇒=−− vCuvuC

518130 32323223 −=−=−=⇒=−− vCuvuC

20)20(00 44444444 −=−=−=⇒=−− vCuvuC

20)20(00 44555445 =−−=−=⇒=−− uCvvuC En resumen:

20

20,20

18,0

15,5

18,4

5

44

33

22

11

==−====−==−=

v

vu

vu

vu

vu

Paso 5: Utilizando la formula: Nji

jv

iu

ijC

ijc

ijz ∈∀+−=− ,),( , se obtienen los indicadores de optimalidad:

6)184(20)11

(111111

=+−−=+−=− vuCcz

8)154(19)21

(121212

=+−−=+−=− vuCcz

0)184(14)31

(131313

=+−−=+−=− vuCcz

5)204(21)41

(141414

=+−−=+−=− vuCcz

Page 119: Apunte Investigación Operativa I

119

2)185(15)12

(212121

=+−−=+−=− vuCcz

10)155(20)22

(222222

=+−−=+−=− vuCcz

4)205(19)42

(242424

=+−−=+−=− vuCcz

1)205(16)52

(252525

=+−−=+−=− vuCcz

20)200()53

(353535

−=+−=+−=− MMvuCcz

2)1820(0)14

(414141

=+−−=+−=− vuCcz

5)1520(0)24

(424242

=+−−=+−=− vuCcz

2)1820(0)34

(434343

=+−−=+−=− vuCcz

Si Nji

ijc

ijz ∈∀≥− ,,0 , indica que la solución anterior es óptima

Finalmente, se puede resumir que la solución óptima al Problema de Transporte (Matriz de Flujos) es:

1 2 3 4 5 Oferta 1 0 0 0 0 40 40 2 0 0 60 0 0 60 3 30 40 10 10 0 90 4 0 0 0 30 20 50

Demanda 30 40 70 40 60 El costo de la solución es: 940.2$=TC De manera esquemática, el problema de transporte es:

Notemos que la oferta total era de 190 unidades y de demanda total de 240 unidades, por lo cual, existe una demanda insatisfecha de 50 unidades y de acuerdo al problema de transporte, la manera óptima de no satisfacer esta demanda es dejando insatisfecho a los centro de consumo 4 en 30 unidades (flujo X44) y al centro de consumo 5 en 20 unidades (flujo X45).

Page 120: Apunte Investigación Operativa I

120

3.1.3.- Problemas de Transporte Degenerados Como hemos visto, siempre los m+n-1 vectores básicos eran siempre mayores que cero, pero se puede dar el caso que durante alguna iteración del algoritmo de transporte se obtenga una solución básica, factible y degenerada, es decir, de los m+n-1 vectores de la base, uno o mas de dichos vectores básicos obtenga el valor cero. Lo anterior puede acarrear que no se pudiera construir las ecuaciones necesarias para generar la nueva base o, de manera práctica, en la matriz de flujos no se podría construir un circuito único que se pueda cerrar. Para solucionar dicha situación, ya que se puede confundir en las distintas iteraciones cuales son las variables básicas que tienen valor cero, con respecto a las variables no básicas que efectivamente tienen valor cero, se plantea lo siguiente: • Asigne de forma y manera arbitraria un valor Ε (para representar el cero) a cualquiera de los

elementos que se hayan anulado y que se requieren para mantener los m+n-1 componentes de la base. Este valor Ε sólo es útil para distinguir los ceros de las variables básicas con respecto a las variables no básicas. La aplicación del algoritmo de transporte se mantiene igual.

3.2.- EL PROBLEMA DE TRANSBORDO Uno de los requisitos esenciales del problema de transporte es que se debe conocer de antemano la forma en que se van a distribuir las unidades de cada origen i a cada destino j, para poder determinar el costo por unidad Cij. No obstante, en ciertas ocasiones no es evidente cuál es el mejor medio de distribución, pues existe la posibilidad de transbordos en los que los embarques pasarían a ser puntos de transferencia o intermedios, lo que a su vez, pueden ser otros orígenes o destinos.

3.2.1.- Modelo de Transbordo Se describe el problema de transbordo como aquel que se ocupa de asignar las mercaderías y encontrar la mejor ruta para dichas unidades desde los centros de suministro (oferta) hacia los centros de recepción (demanda), pasando por puntos de transbordo (que pueden ser efectivamente conexiones, otros centros de suministros y otros centros de recepción). Las unidades que se mandan de cada centro de suministro genera un superávit neto de unidades (valor positivo) que se deben distribuir y cada centro de recepción absorbe un déficit neto de unidades dado (valor negativo), mientras que las conexiones no generan ni absorben unidades, ya que sólo son un punto de reparto de unidades de manera transitoria. En este caso, el problema original consta de m orígenes (enumerados de m,,1K ), p centros de de conexión (enumerados de pmm ++ ,,1K ) y n destinos (enumerados de npmpm ++++ ,,1K ), y se permite, a diferencia del problema de transporte, la dirección del flujo en ambos sentidos, es decir, de origen a destino, pasando por las conexiones y viceversa. De esta manera, se puede hablar de un problema que esta constituido por npm ++ orígenes y npm ++ destinos (haciendo una similitud con el problema de transporte ya conocido), el cual conoceremos como Problema de Transbordo. De acuerdo a esta condición, el modelo matemático es el siguiente:

Page 121: Apunte Investigación Operativa I

121

npmj

npmiX

mjbXX

pkXX

miaXX

as

XCZ

Min

ij

j

npm

jpmtt

tjpm

npm

jpmtt

jpmt

npm

kmtt

kmt

npm

kmtt

tkm

i

npm

itt

ti

npm

itt

it

npm

i

npm

j

jiijij

++=∀

++=∀≥

=∀=−

=∀=−

=∀=−

=

∑∑

∑∑

∑∑

∑ ∑

++

++≠=

++

++

++≠=

++

++

+≠=

+

++

+≠=

+

++

≠=

++

≠=

++

=

++

=

,,1

,,,1 ,0

,,1 ,

,,1 ,0

,,1 ,

:.

,

1,

1,

1,

1,

11

)(

1

)(

1

)(

K

K

K

K

K

Dónde: • La primera restricción son nodos de origen, donde: (arcos que salen - arcos que entran). • La segunda restricción son nodos de transbordo, donde: (puntos de conexión). • La tercera restricción son nodos de demanda, donde: (arcos que entran - arcos que salen). Esquemáticamente se puede ver como:

Page 122: Apunte Investigación Operativa I

122

El modelo anterior, se puede representar, tradicionalmente, con la matriz de costos:

nj

npmnpmpmnpmpmnpmmnpmmnpmnpm

jpmjpmkmjpmijpm

npmpmpmpmpmpmmpmmpmpm

npmpmpmpmpmpmmpmmpmpm

jpmkmkmkmikm

npmmpmmpmmmmmmm

jnpmmpmmpmmmmmmm

ijpmikmiii

npmpmpmmmi

bbbDemanda

ccccccnpm

cccjpm

ccccccpm

ccccccpm

ccckm

ccccCcm

accccccm

accci

accccccc

Ofertanpmjpmpmpmkmmmi

LLLLLL

LLL

MONONONM

MMMMMM

MNONONOM

LL

LLL

MONONONM

MMMMMM

MNONONOM

LL

LLL

MONONONM

MMMMMM

MNONONOM

LL

LLLLLL

1

,1,,1,,1,

,,,

,11,1,11,1,11,1

,1,,1,,1,

,,,

,11,1,11,1,11,1

,1,,1,1

,,

1,11,1,11,11111

000000

0

0

01

0

0

01

1

111

++++++++++++++++++

+++++++++

++++++++++++++++++

++++++++++++

++++++

++++++++++++

++++++

+++

++++++

++

++

+++

+

+

+++++++++

Podemos apreciar que la oferta de los orígenes npmm +++ ,,1K es igual a cero, ya que son originalmente centros de demanda o conexiones y la demanda de los destinos pm+,,1K es igual a cero, ya que eran inicialmente centros de oferta y conexiones. El problema tiene soluciones factibles, sólo si el superávit neto total generado en los centros de suministro es igual al déficit neto total absorbido por los centros de recepción. Por fortuna, existe una manera muy sencilla de reformular el problema de transbordo para que se ajuste al formato del problema de transporte, aunque también se puede resolver por el método simplex, pero sería poco eficiente, desde el punto de vista del tiempo de ejecución.

3.2.2.- Formulación del Problema de Transbordo en u n PT Como es un problema lineal se podría resolver fácilmente como un problema de transporte, si se supiera de antemano la cantidad de flujo que entrará y saldrá de cada uno de los m+n+p puntos, pero estas cantidades son parte del problema de decisión y se les desconoce, sin embargo, es posible asignar una cota superior a cada una de estas variables. Como se obtiene dicha solución, de la siguiente manera: Solución: Se sabe que en una base óptima, no se pueden encontrar simultáneamente los flujos

jiXX jiij ≠∧ , , ambos con valores positivos. Se puede observar que el costo se reduce si se envía

el flujo neto, es decir: ji , si , ≠≥− jiijjiij XXXX

ó ji , si , ≠≥− ijjiijji XXXX

Podemos concluir que un flujo jiX ij ≠ , no debe pasar más de una vez por un determinado punto

t, pnmt ++= ,,1K . De esta manera, el valor máximo que jiX ij ≠ , puede alcanzar es de θ , dónde:

∑ ∑= =

==m

i

n

jji ba

1 1

θ

Los flujos no deseables, es decir, los flujos en exceso en un punto t, pnmt ++= ,,1K , se previenen mediante una absorción del tipo ,ttX a un costo de pnmtCtt ++== ,,1 ,0 K . Entonces, si se incrementan las demandas de todos los destinos en θ unidades, las ofertas en todos los orígenes en θ unidades y se hacen los costos pnmtCtt ++== ,,1 ,0 K , de esta manera, el problema

Page 123: Apunte Investigación Operativa I

123

anterior se transforma en un problema de transporte con las siguientes características, asociada a su matriz de costos: Matriz de Costos:

θθθθθθθθθθ

θ

θθ

θ

θθ

θ

θ

+++++

++

+++

+

++

+

++++++++++

++++++++++++++

+++++

++++++++++++++

++++++++++

++++

++++++++++

++++++

+++

++++++

nj

pmnpmpmnpmmnpmmnpmnpm

kmjpmijpm

npmpmpmpmmpmmpmpm

npmpmpmpmmpmmpmpm

jpmkmikm

npmmpmmpmmmmm

jnpmmpmmpmmmmm

ijpmikmi

npmpmpmmmi

bbbDemanda

cccccnpm

ccjpm

cccccpm

cccccpm

cckm

cccCcm

acccccm

acci

acccccc

Ofertanpmjpmpmpmkmmmi

LLLLLL

LLL

MONONONM

MMMMMM

MNONONOM

LL

LLL

MONONONM

MMMMMM

MNONONOM

LL

LLL

MONONONM

MMMMMM

MNONONOM

LL

LLLLLL

1

1,,1,,1,

,,

,1,11,1,11,1

,1,1,,1,

,,

,11,1,1,11,1

,1,,1,1

,,

1,11,1,11,111

0

0

01

0

0

01

0

0

01

111

Con las transformaciones efectuadas, el problema de transbordo se puede ahora resolver como un problema de transporte. Hay que hacer especial hincapié cuando en el problema de transbordo, pueda suceder que ciertos centros de suministros y otros de recepción no pueden actuar como puntos de transbordo, es decir, no pueden actuar como fuente y destino transitoriamente. Para efectuar la reformulación del problema de transbordo (como un problema de transporte), una manera sencilla de manejar este tipo de centros es quitar su columna (si es un centro de suministro) o su renglón (si es un centro de recepción) en la matriz de costos y requerimientos, junto con no agregar nada a sus cantidades originales de oferta o demanda, respectivamente.

Ejemplo 1: Después de una mayor investigación, la empresa agroindustrial AZAPAN encontró que puede disminuir los costos de transporte de sus arvejas congeladas si elimina su propia operación de distribución y usa servicios comerciales de distribución. Como ninguna compañía de servicios a toda área completa de las plantas y los almacenes, será necesario transferir muchos de los embarques a otro camión, por lo menos una vez en el camino. Esta transferencia se puede llevar a cabo en alguna de las plantas o almacenes intermedios, o en otras cinco localidades (A, B, C, D, E) conocido como conexiones. Los costos se dan en la tabla. El problema global es determinar como debe mandarse la producción de todas las plantas para cumplir con las demandas de todos los almacenes y minimizar el costo total de embarque.

Matriz de Costos de transporte por camión:

Planta Conexión Almacén De/A 1 2 3 A B C D E 1 2 3 4 Prod.

1 146 -- 324 286 -- -- -- 452 505 -- 871 75 2 146 -- 393 212 570 609 -- 335 407 688 784 125 Planta 3 -- -- 658 -- 405 419 158 -- 685 359 678 100 A 322 371 656 262 398 430 -- 303 234 329 -- 0 B 284 210 -- 262 406 421 644 305 207 464 558 0 C -- 369 403 398 406 81 272 397 253 171 282 0 D -- 608 418 431 422 81 287 613 280 236 229 0

Cone- xión

E -- -- 158 -- 467 274 288 831 301 293 482 0 1 453 336 -- 305 307 399 615 831 359 306 587 0 2 305 407 683 235 208 254 281 500 357 362 340 0 3 -- 687 357 329 464 171 236 200 705 362 457 0

Almacén

4 868 781 670 -- 358 282 229 480 587 340 457 0 Asig. 0 0 0 0 0 0 0 0 80 65 70 85

Solución: Como es un problema de transbordo, hay que reformular el problema a uno de transporte, de la siguiente manera:

Page 124: Apunte Investigación Operativa I

124

• Cualquier localidad: 4 plantas, 5 conexiones y 4 almacenes se pueden convertir en origen, destino o centro de distribución, por lo tanto, el problema de transporte contraría 12 orígenes y 12 destinos.

• Los costos unitarios Cij se vieron en la tabla anterior. A continuación, para seguir con su reformulación, es necesario obtener las cantidades demandadas y ofertadas. El número de cargas transferidas en cualquier localidad se debe incluir tanto en su demanda, cuando actúa como destino, como en los recursos con que cuenta si es un origen. Como este número no se conoce de antemano, se puede agregar simplemente una cota superior, además, no sería conveniente regresar una carga para hacer un transbordo, más de una vez en la misma localidad, una cota superior segura para este número en cualquier localidad es el número total de cargas, que en nuestro caso será de 300 (u), según lo siguiente: Producción: 75+125+100=300(u) Asignación: 80+65+70+85=300(u) Nota: Hay que tener presente siempre que la condición necesaria y suficiente para plantear el problema de transporte es que:

∑ ∑= =

=m

i

n

jji ba

1 1

En caso de no ocurrir esta igualdad, hay que crear un centro de demanda u oferta ficticio, tal como lo hemos efectuado anteriormente. Por lo tanto, sumamos 300(u) a cada centro de demanda y oferta, donde existen rayas se asigna un costo M (no existe conexión entre ellas) y en los espacios vacíos se la asigna cero (según lo explicado anteriormente), generando la matriz de costos siguiente: Matriz de Costos de Transbordo:

Destino De/A 1 2 3 A B C D E 1 2 3 4 Ofta.

1 0 146 M 324 286 M M M 452 505 M 871 375 2 146 0 M 393 212 570 609 M 335 407 688 784 425 3 M M 0 658 M 405 419 158 M 685 359 678 400 A 322 371 656 0 262 398 430 M 303 234 329 M 300 B 284 210 M 262 0 406 421 644 305 207 464 558 300 C M 369 403 398 406 0 81 272 397 253 171 282 300 D M 608 418 431 422 81 0 287 613 280 236 229 300 E M M 158 M 467 274 288 0 831 301 293 482 300 1 453 336 M 305 307 399 615 831 0 359 306 587 300 2 305 407 683 235 208 254 281 500 357 0 362 340 300 3 M 687 357 329 464 171 236 200 705 362 0 457 300

Origen

4 868 781 670 M 358 282 229 480 587 340 457 0 300 Dda. 300 300 300 300 300 300 300 300 380 365 370 385

En rojo los cambios efectuados sobre la matriz original. Con la matriz anterior, ahora se puede resolver el problema de transbordo como un modelo de transporte. Ejemplo 2: Una empresa necesita transportar 70(u) de un cierto producto del sitio 1 a los sitios 2 y 3, en cantidades de 45 y 25 (u), respectivamente. Las tarifas Cij ( $ u.m.) de carga aérea entre los sitios comunitarios se dan en la tabla y las líneas indican que no hay servicio disponible, según la siguiente tabla:

De/A 1 2 3 4 Producción 1 -- 38 56 34 70 2 38 -- 27 -- 3 56 27 -- 19 4 34 -- 19 --

Asignación 45 25 Determinar un programa de embarque que asigne el número requerido de artículos a cada destino, a un costo de mínimo de transporte. Ningún embarque requiere de vuelo directo; se permiten los envíos empleando puntos intermedios. Solución:

Page 125: Apunte Investigación Operativa I

125

Veamos como se presenta el siguiente problema de manera esquemática:

La oferta se presenta con valores positivos y la demanda con valores negativos De esta manera, los sitios: Sitio 1: origen Sitio 2 y 3: destinos Sitio 4: conexión Podemos analizar que el problema consta de cuatro orígenes y cuatro destinos. Notemos que, para este caso, no es óptimo enviar artículos del sitio 1 para que estos después regresen, en algún momento y nuevamente sean embarcados; de esta manera, es necesario no permitir que existan embarques hacia el origen 1, restringiéndolo a ser el único origen efectivo, lo cual el problema se simplifica, mediante la eliminación de su columna y mantener su oferta fija (no se debe incrementar). De esta manera la matriz de costos queda:

1 4 2 3 Oferta 1 0 34 38 56 70 4 34 0 M 19 0 2 38 M 0 27 0 3 56 19 27 0 0

Demanda 0 0 45 25 Eliminar columna 1 y oferta fija del sitio 1. A continuación, se obtiene la cota superior para balancear el problema de transbordo, siendo su valor de: Producción 1: 70 (u) Asignación 2 y 3: 45+25=70 (u) De esta manera, la matriz de costos queda representada por:

4 2 3 Oferta 1 34 38 56 70 4 0 M 19 70 2 M 0 27 70 3 19 27 0 70

Demanda 70 115 95 Finalmente, se ha reformulado el problema de transbordo en un problema de transporte y, con la matriz de costos asociada, se puede utilizar la metodología de solución del PT para obtener la solución óptima.

Page 126: Apunte Investigación Operativa I

126

3.3.- PROBLEMA DE ASIGNACIÓN Consiste en un tipo especial de PPL, en que los recursos se asignan a las actividades sobre una base de uno a uno. Entonces, cada recurso asignado (empleado, máquina o intervalo de tiempo) debe asignarse a una actividad en particular o asignación (tarea, lugar o evento).

3.3.1.- Modelación Matemática El problema de asignación, considera que existe un costo Cij, asociado con el asignado i que realiza la asignación j, entonces el objetivo es determinar la manera de hacer la asignación Xij con el fin de minimizar los costos totales. La formulación del PA es: Variable de Decisión Xij: variable binaria (0 ó 1), que representa la decisión no o si

=contrario casoen ,0

j asignación la realiza i asignado el si ,1ijX

ji, binaria,y 0

,,1 ,1

,,1 ,1

:.

1

1

1 1

∀≥

=∀=

=∀=

=

∑∑

=

=

= =

Xij

njX

miX

as

XCZ

Min

n

iij

m

jij

n

i

n

jijij

K

K

Dónde: • La primera restricción especifica que cada asignado realiza exactamente una asignación (y una

máquina es asignada a un determinado lugar). • La segunda restricción especifica que se requiere que cada asignación sea realizada

exactamente por un asignado. El problema de asignación sólo es un caso especial de los problemas de transporte, dónde los orígenes son ahora los asignados y los destinos las asignaciones, dónde:

(n) destinos de nº(m) origenes de nº =

Cada Recurso Si=1: Cada Demanda Dj=1 La restricción Xij binaria puede ser eliminada, puesto que como toda oferta Si y demanda Dj son enteros e iguales a 1, esto significa que toda solución básica factible es entera. Las restricciones funcionales evitan que las variables sean mayores que uno y las restricciones de no negatividad evitan valores menores que cero, por lo tanto, la solución que se tiene satisface automáticamente la restricción binaria.

Page 127: Apunte Investigación Operativa I

127

El problema queda estructurado de la siguiente manera:

111

1

1

11

Re1

1

1

1111

LL

LL

MMOMOMM

LL

MMOMOMM

LL

LL

Demanda

CCCnm

CCCi

CCC

cursomnj

nnnjn

iniji

nj

=

=

Se puede pensar que en el problema de asignación, los orígenes son personas buscando trabajo y los destinos son trabajos disponibles, con lo cual, existe un costo Cij por asignar al la persona i a un trabajo j, lo cual evita que un especialista este efectuando actividades que no son de su competencia y se le asigna un sólo trabajo o a cada trabajo se le asigna sólo una persona. Este tipo de problema puede ser resuelto de la misma forma que un Problema de Transporte, es decir, buscar una solución básica inicial factible y luego obtener la solución óptima, pero sería muy ineficiente resolver este problema mediante esta metodología o incluso resolverlo mediante nuestros conocido método simplex. Debido a lo anterior, existen métodos de solución, llamados algoritmos de asignación, más eficientes que el método simplex o el algoritmo general de transporte y que resuelve específicamente los problemas de asignaciones, como el conocido Método Húngaro, desarrollado por König y Egervary (matemáticos), el cual emplea como entrada la matriz de costos balanaceada.

3.3.2.- Algoritmo Húngaro: Paso 0: La condición necesaria y suficiente para que este tipo de problema tenga solución, es que debe estar balanceado. Si el problema esta desbalanceado, su restitución se logra como se efectuó en los problemas de transporte, es decir:

• Si m > n (m siendo los orígenes y n los destinos), se introducen m – n destinos con demanda unitaria igual a uno y costo nulo.

• Si m < n (m siendo los orígenes y n los destinos), se introducen n – m orígenes con oferta unitaria en cada uno y costo nulo.

Paso 1: Dada una matriz de costos de un problema de asignación balanceado, reste en cada columna el número más pequeño de esa columna del resto de los elementos en dicha columna. Repita este procedimiento, es decir, reste en cada fila el número más pequeño de esa fila del resto de los elementos en dicha fila (este procedimiento se efectúa después de haber realizado la resta por columnas). Es decir:

miCMinCC

njCMinCC

ijj

ijij

iji

ijij

,,1 ,

,,1 ,

K

K

=∀−=

=∀−=

La matriz revisada de costos tendrá al menos un cero en cada renglón y columna. Paso 2: En la nueva matriz de costos, selecciónese un cero en cada renglón y columna. Elimine durante el proceso de selección la columna y el renglón al que pertenece el cero seleccionado. Si al finalizar este paso se ha efectuado una asignación completa de ceros, es decir, cada origen tiene asignado un solo destino y cada destino tiene asignado un solo origen, se ha encontrado la asignación óptima. En caso contrario, continúe al paso 3.

Page 128: Apunte Investigación Operativa I

128

Paso 3: Los paso a seguir son: 3.1.- Cúbranse todos los ceros de la matriz de costos revisada, con el menor número de líneas verticales y horizontales que sea posible. Cada línea vertical debe pasar por todos los elementos del renglón (sea p el número de líneas verticales) y cada línea horizontal debe pasar por todos los elementos de la columna (sea q el número de líneas horizontales). El total de líneas cubiertas (filas y columnas) deberá cumplir con:

),( nmmáxqp ≤+

3.2.- Seleccione el número más pequeño de los elementos no cubiertos por una tachadura, de la matriz de costos revisada. Reste el valor de este elemento a cada elemento no tachado (cubierto por una línea) y sume este valor a los elementos tachados por la intersección de una línea vertical y horizontal. Los elementos cruzados por una sola tachadura no cambian. Regrese al paso 2. Ejemplo: Una competencia de relevos de 400 m. Incluye a 4 nadadores diferentes, quienes nadan sucesivamente 100 m. De dorso, de pecho, de mariposa y libre. El entrenador tiene seis nadadores muy veloces, cuyos tiempos esperados (en segundos) en los eventos individuales se dan en la siguiente tabla:

Nadador\Estilo Dorso Pecho Mariposa Libre 1 65 73 63 57 2 67 70 65 58 3 68 72 69 55 4 67 75 70 59 5 71 69 75 57 6 69 71 66 59

El objetivo del entrenador es asignar los mejores nadadores de cada especialidad a la posta de relevos, con el fin de minimizar la suma de sus tiempos por relevos. Solución: Iteración 1 Paso 0: Se debe analizar si la oferta = demanda (m = n), en nuestro caso:

Nº Nadador = Nº Estilo 46 ≠

Como esta desequilibrado la matriz de costos, se debe agregar 6 – 4 = 2 centros ficticios de demanda: Estilo A y Estilo B, con lo cual matriz de costos actualizada es:

Dorso Pecho Mariposa Libre Estilo A Estilo B Recurso 1 65 73 63 57 0 0 1 2 67 70 65 58 0 0 1 3 68 72 69 55 0 0 1 4 67 75 70 59 0 0 1 5 71 69 75 57 0 0 1 6 69 71 66 59 0 0 1

Demanda 1 1 1 1 1 1 La matriz de asignación inicial es:

Dorso Pecho Mariposa Libre Estilo A Estilo B Recurso 1 1 2 1 3 1 4 1 5 1 6 1

Demanda 1 1 1 1 1 1

Page 129: Apunte Investigación Operativa I

129

Paso 1: Primero encontremos el menor Cij por columna:

1 2 3 4 5 6 1 65 73 63 57 0 0 2 67 70 65 58 0 0 3 68 72 69 55 0 0 4 67 75 70 59 0 0 5 71 69 75 57 0 0 6 69 71 66 59 0 0

Menor Cij 65 69 63 55 0 0 A continuación, efectuemos la resta por columna con respecto al menor valor Cij, quedando la siguiente matriz de Costos Revisado:

1 2 3 4 5 6 Recurso 1 0 4 0 2 0 0 1 2 2 1 2 3 0 0 1 3 3 3 6 0 0 0 1 4 2 6 7 4 0 0 1 5 6 0 12 2 0 0 1 6 4 2 3 4 0 0 1

Demanda 1 1 1 1 1 1 Ahora encontremos el menor Cij por fila:

1 2 3 4 5 6 Menor Cij 1 0 4 0 2 0 0 0 2 2 1 2 3 0 0 0 3 3 3 6 0 0 0 0 4 2 6 7 4 0 0 0 5 6 0 12 2 0 0 0 6 4 2 3 4 0 0 0

Finalmente, efectuemos la resta por fila con respecto al menor valor Cij, quedando la última matriz de Costos Revisado:

1 2 3 4 5 6 Recurso 1 0 4 0 2 0 0 1 2 2 1 2 3 0 0 1 3 3 3 6 0 0 0 1 4 2 6 7 4 0 0 1 5 6 0 12 2 0 0 1 6 4 2 3 4 0 0 1

Demanda 1 1 1 1 1 1 Paso 2: Con la matriz del paso 1, se buscan las posibles asignaciones factibles:

1 2 3 4 5 6 Recurso 1 0 4 0 2 0 0 1 2 2 1 2 3 0 0 1 3 3 3 6 0 0 0 1 4 2 6 7 4 0 0 1 5 6 0 12 2 0 0 1 6 4 2 3 4 0 0 1

Demanda 1 1 1 1 1 1

Rojo: posibles asignaciones

Page 130: Apunte Investigación Operativa I

130

Una posible asignación es: 1-1: se elimina la fila 1 y la columna 1. 2-5: se elimina la fila 2 y la columna 5. 3-4: se elimina la fila 3 y la columna 4. 4-6: se elimina la fila 4 y la columna 6. 5-2: se elimina la fila 5 y la columna 2. No es posible asignar el nadador 6 y la especialidad 3. Se pasa al paso 3. Paso 3: 3.1.- En nuestro caso, el número máximo de líneas a utilizar son seis (seis nadadores y cuatro estilos), de acuerdo a lo indicado:

),max( nmqp ≤+ 6)6,4max( =≤+ qp

De esta manera, el número de líneas por columna y fila no puede exceder esta cantidad, así, la matriz queda:

1 2 3 4 5 6 Recurso 1 0 4 0 2 0 0 1 2 2 1 2 3 0 0 1 3 3 3 6 0 0 0 1 4 2 6 7 4 0 0 1 5 6 0 12 2 0 0 1 6 4 2 3 4 0 0 1

Demanda 1 1 1 1 1 1 En este caso, el número mínimo de líneas fue cinco 3.2.- Para revaluar la matriz, se busca el mínimo valor de los Cij no tachados, en este caso es: C22=1, con lo cual la nueva matriz es:

1 2 3 4 5 6 Recurso 1 0 4 0 2 1 1 1 2 1 0 1 2 0 0 1 3 3 3 6 0 1 1 1 4 1 5 6 3 0 0 1 5 6 0 12 2 1 1 1 6 3 1 2 3 0 0 1

Demanda 1 1 1 1 1 1 Iteración 2: Paso 2: Se buscan las posibles asignaciones factibles:

1 2 3 4 5 6 Recurso 1 0 4 0 2 1 1 1 2 1 0 1 2 0 0 1 3 3 3 6 0 1 1 1 4 1 5 6 3 0 0 1 5 6 0 12 2 1 1 1 6 3 1 2 3 0 0 1

Demanda 1 1 1 1 1 1 Una posible asignación es: 1-1: se elimina la fila 1 y la columna 1. 2-2: se elimina la fila 2 y la columna 2. 3-4: se elimina la fila 3 y la columna 4. 4-5: se elimina la fila 4 y la columna 5. 6-6: se elimina la fila 6 y la columna 6. No es posible asignar el nadador 5 y la especialidad 3. Se pasa al paso 3.

Page 131: Apunte Investigación Operativa I

131

Paso 3: 3.1.- Según lo analizado, el número máximo de líneas a utilizar son seis (seis nadadores y cuatro estilos). De esta manera, el número de líneas por columna y fila no puede exceder esta cantidad, así, la matriz queda:

1 2 3 4 5 6 Recurso 1 0 4 0 2 1 1 1 2 1 0 1 2 0 0 1 3 3 3 6 0 1 1 1 4 1 5 6 3 0 0 1 5 6 0 12 2 1 1 1 6 3 1 2 3 0 0 1

Demanda 1 1 1 1 1 1 En este caso, el número mínimo de líneas fue cinco 3.2.- Para revaluar la matriz, se busca el mínimo valor de los Cij no tachados, en este caso es: C22= C23= C41=1, con lo cual la nueva matriz es:

1 2 3 4 5 6 Recurso 1 0 5 0 3 2 2 1 2 0 0 0 2 0 0 1 3 2 3 5 0 1 1 1 4 0 5 5 3 0 0 1 5 5 0 11 2 1 1 1 6 2 1 1 3 0 0 1

Demanda 1 1 1 1 1 1 Iteración 3: Paso 2: Se buscan nuevamente las posibles asignaciones factibles:

1 2 3 4 5 6 Recurso 1 0 5 0 3 2 2 1 2 0 0 0 2 0 0 1 3 2 3 5 0 1 1 1 4 0 5 5 3 0 0 1 5 5 0 11 2 1 1 1 6 2 1 1 3 0 0 1

Demanda 1 1 1 1 1 1 Una posible asignación es: 1-1: se elimina la fila 1 y la columna 1. 2-3: se elimina la fila 2 y la columna 3. 3-4: se elimina la fila 3 y la columna 4. 4-5: se elimina la fila 4 y la columna 5. 5-2: se elimina la fila 5 y la columna 2. 6-6: se elimina la fila 6 y la columna 6. Como existe una única asignación posible (existen mas, pero al mismo costo), se termina la iteración La matriz de flujo final será la siguiente:

Dorso Pecho Mariposa Libre Estilo A Estilo B Recurso 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1

Demanda 1 1 1 1 1 1

Page 132: Apunte Investigación Operativa I

132

La asignación óptima es: El nadador 1 realiza la especialidad de nado de dorso. El nadador 2 realiza la especialidad de nado mariposa. El nadador 3 realiza la especialidad de nado libre. El nadador 4 realiza la especialidad de nado Estilo A. El nadador 5 realiza la especialidad de nado de pecho. El nadador 6 realiza la especialidad de nado Estilo B. Gráficamente la asignación es:

1

B

L

P

D

6

4

2

“6” Nadadores(Origen)

“6” Estilos(Destino)

C1D=65X1D= 1

3

5 A

M

C6B=0X6B= 1

C5P=69X5P= 1

C4A=0X4A= 1

C3L=55X3L= 1

C2M=65X2M= 1

Ficticio

Ficticio

El tiempo mínimo total (en segundos) se calcula a partir de:

∑∑= =

+++++=6

16666525245453434232311

6

111 ******

i jijij XCXCXCXCXCXCXC

∑∑= =

=+++++=+++++=6

16652453423

6

111 )(2540690556565

i jijij segCCCCCCXC

Page 133: Apunte Investigación Operativa I

133

CAPITULO 4: PROGRAMACION ENTERA

4.1.- INTRODUCCION La programación entera se refiere a la solución de problemas en los cuales se fuerza a los resultados a no tener valores fraccionales, es decir, desde el punto de vista de conjuntos, los resultados pertenecen a Z+ (incluyendo el cero). El PPL asociado a este tipo de problemas presenta la siguiente estructura:

ℵ∈≤

=

x

bAX

sa

CXZ

Max

:

Existen varios métodos que convergen a soluciones óptimas enteras, pero algunos son dependiendo de las circunstancias, demasiados lentos o demorosos, lo cual es injustificable sus operaciones, desde el punto de vista del costo. La diferencia con los problemas de programación lineal (PPL), es que esta última se minimiza o maximiza sobre un área factible de solución (factibilidad convexa), mientras que la programación entera se maximiza una función sobre una región de factibilidad que, generalmente, no es convexa, por lo cual, es de muchos órdenes de magnitud más complicados que los PPL ya conocidos. Los métodos que se presentarán resumen el estado de la programación entera, pero les falta para ser 100% eficientes en la solución de todos los tipos de problemas enteros. Dado el estado del arte de los métodos de programación entera, estos no aseguran que un problema entero pueda ser resuelto en un tiempo razonable, por lo tanto, los algoritmos seleccionados en este capítulo obedecen a los siguientes criterios: • Históricos.- presentaron avances en la teoría al ser descubiertos. • Prácticos.- resuelven eficientemente ciertos problemas enteros. • De vanguardia.- representan la materia actual de investigación que probablemente abrirá la

brecha en el futuro. Problemas de naturaleza entera, pueden ser resueltos por: • Planos de corte.- no son eficientes para resolver problemas de tamaño modesto (medios), pero

fueron los primeros estudios de este tipo de programación (entera). • Enumeración implícita.- trabajan adecuadamente para problemas de tipo binario (0,1). • Bifurcación y acotación (ramificación y acotación o también llamado método de Branch and

Bound).- son los que aparentemente se comportan mejor en la solución de problemas enteros con dimensiones intermedias.

• Teorías de grupos.- requieren de ítemes profundos de álgebra moderna. • Algoritmos heurísticos.- para poder resolver problemas de características de combinatoria, tal

como secuenciación de rutas y determinación del tamaño de flota de vehículos. Dentro de los métodos heurísticos se resuelven los problemas de estructura: Problema Entero (PE), Problema Entero-Mixto (PEM) y Problema Entero cero-uno (PECU), llamados también problemas binario (PB), los cuales requieren de técnicas especiales, ya que el simplex, dual simplex, revisado, etc. no trabajan estos casos. Si al desarrollar un problema de programación lineal tradicional y sus resultados son enteros, obviamente también es un resultado óptimo de la programación entera, pero un resultado resuelto por métodos de programación entera no necesariamente es un resultado de la PPL.

Page 134: Apunte Investigación Operativa I

134

En el estudio de la investigación de operaciones, existen una variedad de problemas que caen dentro de los problemas enteros: • Todos los problemas de programación lineal donde las actividades por su estructura deben ser

no divisibles son programas enteros (producción de autos, prendas de vestir, etc). • Todos los problemas de transporte, transbordo, asignación y redes de optimización (se verá

mas adelante) con soluciones particulares. • Problemas de secuenciación.- problemas fácil de formular y difíciles de resolver. • Problemas del agente viajero o TSP (Travel Salesman Problem) • Problemas tipo mochila.- se puede utilizar o enfocar de dos formas para llenar un espacio con

el conjunto de objetos más valiosos sin exceder los límites de dicho espacio o la otra forma es dividir un objeto en varias porciones de diferente valor, el problema consiste en encontrar la división de mayor valor. Los problemas tipo mochila se utilizan para resolver problemas de inversiones, confiabilidad de redes, subrutinas en métodos de descomposición de programación lineal, problemas de determinación del tamaño de flota de vehículos.

• Problemas de inversión. • Problemas de costo fijo.- generalmente problemas mixtos, de variables continuas y variables

enteras. • Problemas de cubrimiento y partición de un conjunto. • Dicotomías y problemas de aproximación.- una dicotomía ocurre en un programa matemático,

cuando se tiene condiciones del tipo “esta restricción o la otra restricción”, pero no ambas. • Balance de líneas de producción.- este tipo de problema consiste en decidir que actividades

deben ser desempeñadas por cada trabajador, a medida que u producto se desplaza por una línea de producción. El objetivo consiste en minimizar el número de trabajadores (o de estaciones de trabajo) en función de una tasa de producción.

• Asignación cuadrática.- para problemas de localización, existe un conjunto de n posibles lugares en donde se piensa construir m plantas (m < n).

En general, los algoritmos de resolución más utilizados son: • Planos de corte.- aumenta y refuerza las restricciones que generan la solución entera. • Enumeración implícita o bifurcación y acotación.- enumera implícitamente todas las posibles

situaciones al examinar un conjunto selecto de las mismas. Utilizando cierta información generada durante el proceso.

• Constructivas.- son heurísticas que construyen la solución óptima vía algoritmos que ajustan sistemáticamente los valores de las variables.

4.2.- METODOS DE BIFURCACION Y ACOTACION También se le llama método de Branch and Bound (B&B). Este método redondea y acota las variables enteras, cuya resultante viene dado por la solución de los PPL correspondientes. Este proceso de acotamiento y redondeo se hace de una manera secuencial lógica heurística, que permite eliminar con anticipación un buen número de soluciones factibles alejadas del óptimo a medida que se itera. De manera tal que, si una variable entera xj está acotada entre un límite inferior entero di y un límite superior entero ui con ni ,,1K= ; el proceso de bifurcación y acotación solo se analiza un número muy pequeño de todas las posibles soluciones. En pocas palabras se reduce la posibilidad de combinaciones que la variable puede tomar, eliminando las alejadas del óptimo real. Uno de los métodos de bifurcación y acotación mas conocido es el propuesto por A. H. Land y A. G. Doig.

Page 135: Apunte Investigación Operativa I

135

4.2.1.- Algoritmo de Land-Doig: Problemas Enteros El primer algoritmo de bifurcación y acotación lo presenta este autor, pero el nombre propiamente tal se lo dieron por los autores Litle, Murty, Sweeney, Karen. Lo que hizo Land-Doig fue modificado posteriormente por Dakin, haciéndolo más general y es lo que se presentará, suponiendo que se maximiza la función objetivo. Paso1: Resuelva el problema entero relajado, es decir, sin las condiciones de integralidad, por medio del método simplex de programación lineal:

0

:

)(

≥≤

=

x

bAX

sa

CXZ

MaxPk

Definamos Z

~ como incumbente o mejor solución entera, que inicialmente tiene valor de 0

~ =Z . Si la solución es entera, se ha conseguido la solución óptima y la incumbente toma el valor del problema resuelto. En caso contrario, continúe al paso 2. Paso 2: En el nodo del árbol se obtuvieron las soluciones, entonces escoja arbitrariamente una variable entera iX , cuyo resultado en el paso 1 sea fraccional e igual a BiX , es decir Bii XX = . Paso 3: Efectué una ramificación del problema original, es decir, resuelva un par de nuevos problemas, similares al problema anterior, pero se le adicionará a cada problema una restricción que impida tomar el valor Bii XX = , es decir:

1. El problema original con una restricción adicional Bii XX ≤ :

0

:

)(

≥≤≤

=

x

XX

bAX

sa

CXZ

MaxP

Bii

k

2. El problema original con una restricción adicional 1+≥ Bii XX :

0

1

:

)(

≥+≥

=

+

x

XX

bAX

sa

CXZ

MaxP

Bii

k

La notación iX se refiere al entero menor de iX , (a modo de ejemplo: 4125,3325,3 =+∧= ). La resolución de este tipo de problemas, se puede hacer por análisis de sensibilidad agregando una restricción.

Page 136: Apunte Investigación Operativa I

136

Paso 4: De los programas lineales resueltos en el paso 3, inclúyase en el análisis a seguir solo aquellos programas cuya solución (entera o fraccional) sea mejor a cualquiera de las soluciones enteras conocidas (esto es el mayor en el caso de maximizar o menor en el caso de minimizar). Lo anterior indica el proceso de acotamiento (o poda) de una rama, ya que un nodo del árbol puede no requerir más ramificaciones. En este caso puede ocurrir: 1. El problema en el nodo es infactible, por lo que todos los subproblemas generados a partir de

él serán infactibles también. 2. El problema en el nodo tiene un valor óptimo *Z peor que la mejor solución entera encontrada

ZZ ≤* , por lo que todos los subproblemas generados a partir de él serán peores. 3. El problema en el nodo tiene una solución entera. Si el valor óptimo *Z es mejor que la mejor

solución encontrada hasta el momento ZZ ≥* , actualizamos el incumbente como *ZZ = . Paso 5: Seleccione aquel programa lineal que tenga el mejor valor de la incumbente, es decir, máximo valor de la función objetivo del subproblema (o mínimo en caso de minimización de la función objetivo). Si las variables definidas enteras tienen valor entero se ha conseguido la solución óptima. En caso contrario, regrese al paso 2 con la estructura del problema lineal resuelto en este paso.

Bii XX ≤ 1+≥ Bii XX

Fuente: Prawda.

Page 137: Apunte Investigación Operativa I

137

Ejemplo 1:

enterosix

xx

xx

as

xxzP

i ,,0

113

922

:.

25max)(

21

21

210

∀≥≤+

≤+

+=

Desarrollo: Iteración 1: Paso 1 Al resolver el PPL se llega como resultado al siguiente tableau óptimo

X1 X2 X3 X4 XB

Z 0 0 0,25 1.5 18,75 X2 0 1 0,75 -0,5 1,25 X1 1 0 -0,25 0,5 3,25

Como ninguna de las variables básicas es entera entonces se va al paso 2 Paso2 Se escoge arbitrariamente una de las soluciones fraccionales, a modo de ejemplo se evaluará

25,12 =X Paso 3 Se resuelven dos problemas lineales distintos uno con restricción adicional 125,12 =≤X y el otro

problema con otra restricción adicional, la cual es 2125,12 =+≥X , es decir: Problema 1:

enterosiX

X

XX

XX

as

XXZP

i ,,0

1

113

922

:.

25max)(

2

21

21

211

∀≥≤

≤+≤+

+=

Problema 2:

enterosiX

X

XX

XX

as

XXZP

i ,,0

2

113

922

:.

25max)(

2

21

21

212

∀≥≥

≤+≤+

+=

Aplicando análisis de sensibilidad cuando se agrega una restricción adicional a un PPL (se utilizará la técnica de la cota superior) y solucionándolo, quedan los siguientes tableau: Problema 1:

X1 2X X3 X4 XB

Z1 0 0,33 0 1,67 18,67 X3 0 -1,33 1 -0,67 0,33 X1 1 -0,33 0 0,33 3,33

Problema 2

X1 2X X3 X4 XB

Z2 0 3 2,5 0 16,5 X4 0 -2 -1,5 1 1,5 X1 1 1 0,5 0 2,5

Page 138: Apunte Investigación Operativa I

138

Paso 4 Como no hubo solución entera en todo el proceso, se incluyen ambos tableaus en el análisis. Paso 5 Como el mejor valor de la función objetivo hasta el momento corresponde al problema 1, entonces este nuevo problema se toma como base y se vuelve al paso 2 Iteración 2: Paso 2 Se escoge arbitrariamente de esta nueva estructura un resultado fraccional, a modo de ejemplo x1 = 3,33 Paso 3 Se resuelven los dos problemas lineales nuevamente cada uno con una restricción adicional diferente: 333,31 =≤X y 4133,31 =+≥X

enterosiX

X

X

XX

XX

as

XXZP

i ,,0

3

1

113

922

:.

25max)(

1

2

21

21

213

∀≥≤≤

≤+≤+

+=

enterosiX

X

X

XX

XX

as

XXZP

i ,,0

4

1

113

922

:.

25max)(

1

2

21

21

214

∀≥≥≤

≤+≤+

+=

Resolviendo estos problemas mediante análisis de sensibilidad o cualquier otro método, se obtiene que la solución al tercer problema es consistente, no así la solución del cuarto problema que, efectivamente, no tiene solución (inconsistente), por lo que este último se descarta su estructura para análisis posteriores (no existirá ramificación asociada a este nodo). El tableau del tercer problema es el siguiente:

1X 2X X3 X4 XB

Z3 5 2 0 0 17 X3 -2 -2 1 0 1 X4 -3 -1 0 1 1

Paso 4 Por ser una solución entera, se incluye en el análisis Paso 5 Los valores finales del problema tercero, nos permitirán llegar al óptimo del problema original, es decir:

1

1

110

330

17

4

3

222

111

==

=⇒−==

=⇒−==

=

X

X

XXX

XXX

Z

, o sea:

1

1

1

3

17

4

3

2

1

====

=

X

X

X

X

Z

Page 139: Apunte Investigación Operativa I

139

El problema anterior, se puede representar como una red con estructura de árbol:

12 ≤X 22 ≥X

31 ≤X 41 ≥X

Ejemplo 2: Dado el siguiente problema, resuélvalo mediante el algoritmo B&B:

enterosy 0,

4595

6

:

85

21

21

21

21

≥≤+≤+

+=

XX

XX

XX

sa

XXZ

Max

Desarrollo: Lo primeros que debemos hacer, es inicializar el incumbente en 0

~ =Z e inicializar la lista de problemas con la relajación lineal del problema:

0,

4595

6

:

85

)(

21

21

21

21

0

≥≤+≤+

+=

XX

XX

XX

sa

XXZ

MaxP

Como es el único problema en la lista, lo resolvemos; en un caso real, esta relajación se debe resolver mediante el método simplex, pero para fines académicos se aplicará el método gráfico, del cual se obtiene la solución óptima:

Page 140: Apunte Investigación Operativa I

140

Z 0=41

,25

X 1=2,

25

X 2=3

,75

75,3;25,2;25,41 210 === XXZ

Como vemos, las dos variables son fraccionales, por lo cual, se puede tomar cualquiera de ellas como variable de ramificación. Escojamos arbitrariamente X2 para ramificar, por lo cual, se generan los siguientes problemas:

0,X

3

4595

6

:

85 )(

21

2

21

21

211

≥≤≤+≤+

+=

X

X

XX

XX

sa

XXZMaxP

0,X

4

4595

6

:

85 )(

21

2

21

21

212

≥≥≤+≤+

+=

X

X

XX

XX

sa

XXZMaxP

Tenemos ahora en la lista dos problemas pendientes: { })(),( 21 PPL = . Sin embargo, como no hemos encontrado ninguna solución entera, la incumbente no se actualiza. Resolviendo el (P1) gráficamente, se tiene que la solución óptima es:

Z 1=3

9X 1

=3X 2

=3

3;3;39 211 === XXZ Resolviendo el (P2) gráficamente, se tiene que la solución óptima es:

Z 2=4

1X 1

=1,8

X 2=4

4;8,1;41 212 === XXZ

Page 141: Apunte Investigación Operativa I

141

En este caso, el (P1) tiene soluciones enteras y nos permite actualizar el incumbente a 33

~ =Z , por lo cual, esta rama se acota (corta) y no se ramifica nuevamente hasta una futura revaluación. Pero notemos que (P2) tiene un valor objetivo mayor que el incumbente, por lo cual, es posible encontrar posibles soluciones enteras y con mejor valor de la incumbente anterior. De esta manera, se generán dos nuevos problemas a resolver al tener que restringir X1, ya que X2 es

entera:

0 ,X

1 X

4

4595

6

:

85 )(

21

1

2

21

21

213

≥≤

≥≤+≤+

+=

X

X

XX

XX

sa

XXZMaxP

0 ,X

2 X

4

4595

6

:

85 )(

21

1

2

21

21

214

≥≥

≥≤+≤+

+=

X

X

XX

XX

sa

XXZMaxP

Resolviendo el (P3) gráficamente, se tiene que la solución óptima es:

Z 2=4

0,5X 1

=1X 2

=4,4

44,4;1;55,40 213 === XXZ Resolviendo el (P4) gráficamente, se tiene que la solución óptima es:

Infa

ctib

le

}InfactibleXXZ 214 ;; En este caso, el (P4) no puede ser resuelto, debido a su infactibilidad, generando que no sea posible su ramificación. Notemos que (P3) tiene un valor objetivo mayor que el incumbente, por lo cual, es posible encontrar posibles soluciones enteras y con mejor valor de la incumbente. De esta manera, se generan dos nuevos problemas a resolver al tener que restringir X2, ya que X1 es

entera:

Page 142: Apunte Investigación Operativa I

142

0,X

4

1

4

4595

6

:

85 )(

21

2

1

2

21

21

215

≥≤≤

≥≤+≤+

+=

X

X

X

X

XX

XX

sa

XXZMaxP

0,X

5

1

4

4595

6

:

85 )(

21

2

1

2

21

21

216

≥≥≤

≥≤+≤+

+=

X

X

X

X

XX

XX

sa

XXZMaxP

Resolviendo el (P5) gráficamente, se tiene que la solución óptima es:

Z 2=37

X 1=1

X 2=4

4;1;37 215 === XXZ Resolviendo el (P6) gráficamente, se tiene que la solución óptima es:

Z 2=40

X 1=0

X 2=5

5;0;40 216 === XXZ Notemos que el (P5) y (P6) tienen soluciones enteras, por lo cual es necesario actualizar la incumbente: si analizamos el (P5), el valor objetivo es mayor que la incumbente anteriormente establecida, es decir, es necesario actualizar dicho valor a 37

~ =Z , pero si analizamos ahora el (P6), el valor de esta solución es mejor que la incumbente recién obtenida, por lo cual, hay que actualizar nuevamente dicho valor a 40

~ =Z . Esto nos permite indicar que cualquier valor que se obtenga, ya sea al ramificar (P3) o (P5) siempre nos dará una peor incumbente. Finalmente, la solución óptima del problema viene dado por:

5

0

40

*2

*

*

1

=

=

=

X

X

Z

El árbol de la ramificación y acotamiento se presenta a continuación:

Page 143: Apunte Investigación Operativa I

143

32 ≤X 42 ≥X

11 ≤X 21 ≥X

42 ≤X 52 ≥X

4.2.2.- Algoritmo de Land Doig: Problemas Entero - Mixto Los problemas entero mixto (PEM) se refieren a que algunos valores de las variables puedan ser fraccionales y otros, los que se especifican, deben ser enteros, entonces el conjunto solución del problema está compuesto por valores enteros y decimales. La resolución de este tipo de problemas es igual al del problema entero, pero cuando se debe elegir una variable arbitrariamente, se tiene que elegir entre las variables que se especifican que sean enteras. El proceso termina totalmente de iterar cuando las variables que deberían ser enteras, efectivamente lo son.

Page 144: Apunte Investigación Operativa I

144

Apéndice:Resumen Método Simplex Revisado -Inicialización: Igual que el método Simplex original -Paso iterativo: Determine la variable básica que entra; igual que el método Simplex original. Determine la variable básica que sale; igual que el método original excepto, que se calculan únicamente los miembros requeridos para esto (los coeficientes de la variable básica que entra en todas las ecuaciones, menos la cero) y después el segundo miembro de cada ecuación para cada coeficiente estrictamente positivo. Ejemplo:

0 ; 0

182x23x1

12x2

4x1

..

53:

21

21

≥≥≤+≤≤

−−=

XX

as

XXZMin

1,5i : 0X

18x52x23x1

12x42x2

4x3x1

..

53X Z

:

i

21

=≥=++=+=+

+=as

X

Max

Solución:

C = (3,5) ( )

=10003

01020

00101

, IA

=

=

=

5

4

3

S2

1 x; x

x;

18

12

4

x

x

x

xb

Iteración 0:

1

5

4

3

100

010

001

B −=

=

= B

X

X

X

xB

=

=

=18

12

4

18

12

4

100

010

001

x

18

12

4

Bb

[ ] [ ] 0

18

12

4

000 Z 000 =

=⇒=BC

Page 145: Apunte Investigación Operativa I

145

Iteración 1:

=

=

= −

11-0

01/20

001

120

020

001

B 1

5

2

3

B

x

x

x

xB

[ ] 30

6

6

4

050

6

6

4

18

12

4

1 1- 0

0 1/2 0

0 0 1

5

2

3

=

=

=

=

=

Z

x

x

x

xB

Iteración 2:

[ ]

[ ] 36 Z 36

2

6

2

350

350

2

6

2

18

12

4

3/13/10

02/10

3/13/11

1

2

3

==

=

=

=

−=

=

Z

C

x

x

x

x

B

B

Ejercicio en la iteración 2:

[ ] [ ]

[ ] [ ] [ ]0033

01

10

00

350

12/30

3/11/3-0

01/20

3/11/31

350

01

10

00

23

20

01

3/13/10

02/10

3/13/11

1

1

1

=−

=−

=

−=

=

−=

CABC

BC

AB

B

B

36 Z

2

6

2

36X

Z

3/13/10010

02/10100

3/13/11000

12/30001

5

4

3

2

1

=

=

X

X

X

X

Page 146: Apunte Investigación Operativa I

146

Método Alternativo: Como B (y por tanto B-1) cambian tan poco de una iteración a otra, resulta más eficiente obtener:

11 −− = AN EBB

vector.elpor areemplazad columna ésima-msu excepto identidad, matriz:E

anterioriteración la de B de matriz:

B de nueva :1-1

-11

A

N

B

matrizB

=

=

≠−

=ri Si ;

'1

ri Si ;'

'

i donde ;2

1

rka

rka

ika

mn

n

n

n ηM

sale. que básica variablela tienequeecuación la de Número:r

m,1,2,i para actual iecuación laen xde :a

base la a entra que :

Kik L=eCoeficient

VariablexK

Ejemplo: Iteración 1

Z x1 x2 x3 x4 x5 1 -3 -5 0 0 0 0

x3 0 1 0 1 1 0 4 x4 0 0 2 0 0 0 12 x5 0 3 2 0 0 1 18

−=

−=

=

−=

=

110

02/10

001

100

010

001

110

02/10

001

11-0

01/20

001

E

1

2/1

0

1

5

4

3

N

B

B

X

X

X

x

η

( ) ( ) ( )

( ) ( )0,2/5,0

110

02/10

001

0,5,0

,3,3

- 3

- 0

- 1

110

02/10

001

0,5,0

6

6

4

18

12

4

110

02/10

001

1

1

1

=

−=

−−=−−−

−=−

=

−==

BC

CABC

bBx

B

NBNBB

B

Page 147: Apunte Investigación Operativa I

147

Iteración 2: Z x1 x2 x3 x4 x5 1 -3 - 0 5/2 0

x3 0 1 - 1 0 0 4 x2 0 0 - 0 1/2 0 6

x5 0 3 - 0 -1 1 6

( ) ( )

( ) 36

2

6

2

3,5,0

2

6

2

18

12

4

3/13/10

02/10

3/13/11

1,2/3,

3/13/1

02/1

3/13/1

3,5,0

3/13/10

02/10

3/13/11

110

02/10

001

3/100

010

3/101

1

1

1

1

=

==

=

−==

−=

−−−

−−=

−=

−=

BBCZ

bBx

BC

B

B

B

B

N

Z x1 x2 x3 x4 x5

1 - - - 3/2 1 36 x3 0 - - 1 1/3 -1/3 2 x2 0 - - 0 ½ 0 6 x1 0 - - 0 -1/3 1/3 2

Las soluciones son:

( ) ( ) $36 Z 6 2 21 === uXuX