SlideShare una empresa de Scribd logo
1 de 148
Descargar para leer sin conexión
Universidad de Manizales

INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




                           JULIAN GONZÁLEZ LÓPEZ
                               ALVARO SALAS SALAS
UNIVERSIDAD DE MANIZALES




INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




                 JULIÁN GONZÁLEZ LÓPEZ
                        Profesor Asociado
    Universidad de Manizales –Departamento de Matemáticas
 Universidad de Caldas - Facultad de Ciencias Exactas y Naturales
                 Departamento de Matemáticas


                   ALVARO SALAS SALAS
                         Profesor Auxiliar
 Universidad de Caldas - Facultad de Ciencias Exactas y Naturales
                 Departamento de Matemáticas




                   Manizales, Octubre de 2000
UNIVERSIDAD DE MANIZALES




                           4
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



                             TABLA DE CONTENIDO



CAPÍTULO I. PROGRAMACIÓN LINEAL.


INTRODUCCIÓN                                                         1


1.1. Modelos de programación lineal                                  3
1.1.1. Forma matricial del modelo de programación lineal             4
1.1.2. Forma estándar de un modelo de programación lineal            4


1.2. Formulación de modelos de programación lineal                   8
Ejercicios propuestos                                                20



CAPÍTULO II. MÉTODO GRÁFICO PARA RESOLVER MODELOS DE
PROGRAMACIÓN LINEAL CON DOS VARIABLES DE DECISIÓN.


INTRODUCCIÓN                                                         23

2.1. Método gráfico para el caso de dos variables de decisión        23
2.1.1. Graficación de un sistema de desigualdades                    24
2.1.2. Isocuantas de la función objetivo                             27
Ejercicios propuestos                                                32




                                          5
UNIVERSIDAD DE MANIZALES



CAPÍTULO III. MÉTODO SÍMPLEX.

INTRODUCCIÓN                                                       35

3.1. Preparación para el método símplex                            37
3.1.1. Variables de holgura
3.2. Forma algebraica del método símplex                           41
3.3. Forma tabular del método símplex                              56
3.4. Método símplex usando la técnica M (método de penalización)   67
Ejercicios propuestos                                              71

HOJA DE RESPUESTAS                                                 73

BIBLIOGRAFIA                                                       76




                                       6
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



PRESENTACIÓN

La Investigación de Operaciones y en particular una de sus áreas “la programación lineal” ha
tenido bastante difusión y aplicación en los últimos años. La necesidad de asignar en forma
óptima, entre diversas actividades, recursos en general escasos como; dinero, mano de obra,
energía, materia prima y muchos otros factores limitados; es importante para el profesional
que en su ejercicio diario requiere tomar decisiones.

La “programación matemática” dentro de la cual se encuentran los modelos de programación
lineal difiere de los métodos de optimización clásica, ya que enfrenta problemas donde las
limitaciones o restricciones se expresan como desigualdades, lo que le imprime mayor realis-
mo a los modelos; en estos casos los métodos clásicos basados en el cálculo no funcionan.

Este libro presenta de una manera sencilla, los conceptos básicos de la programación lineal y
algunas de sus múltiples aplicaciones; va dirigido a estudiantes de las ciencias económico-
administrativas y solo requiere de parte del lector conocimientos básicos de álgebra matricial.

En el capítulo I se exponen los modelos de programación lineal y la solución de problemas
cuyo planteamiento conduce a este tipo de modelos. El capítulo II presenta la solución de
modelos de programación lineal con dos variables de decisión a través del método gráfico.
El capítulo III desarrolla el algoritmo simplex inicialmente en forma algebraica con lo cual se
busca una mejor comprensión de éste por parte del estudiante y posteriormente en su forma
tabular más eficiente desde el punto de vista computacional.

El capítulo IV muestra la implementación del algoritmo simplex en la plataforma del paquete
MATHEMATICA a través de un programa interactivo, el cual permite además analizar los
casos especiales que se presentan en estos modelos tales como; modelos sin solución, con
soluciones óptimas alternativas y no acotados, se proporcionan también los criterios para
detectar en el desarrollo del algoritmo la presencia de éstas situaciones.

Agradecemos a nuestros lectores sus sugerencias y comentarios a fin de mejorar este mate-
rial en futuras ediciones.



                                             JULIAN GONZALEZ LOPEZ

                                             ALVARO SALAS SALAS


Manizales, septiembre de 2000

                                              7
UNIVERSIDAD DE MANIZALES




                           8
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



                          CAPÍTULO I
                     PROGRAMACIÓN LINEAL

INTRODUCCIÓN


Uno de los problemas fundamentales en la toma de decisiones es elegir dentro de un conjunto
posible de alternativas (soluciones factibles de un problema de interés), la mejor decisión, o la
óptima, según un criterio previamente definido.


La optimización es una técnica que busca, con base en distintos modelos matemáticos,
la asignación eficiente de recursos, siempre escasos, requeridos en diversas activida-
des productivas que compiten entre sí, con el propósito de satisfacer los objetivos de-
seados en el sector productivo, financiero, agrícola, entre otros, y que suelen ser la
maximización o minimización de alguna cantidad tal como: costo, beneficio, tiempo,
desperdicio, etc.


Existen varios métodos de optimización; algunos clásicos utilizan el cálculo diferencial y fun-
cionan bien en muchos casos; los no clásicos, cuyo desarrollo es más reciente, se basan en
una serie de modelos llamados Modelos de Programación Matemática, como los modelos
de programación lineal, modelos de programación entera, modelos de programación no li-
neal, etc.


Los modelos de programación matemática relacionan una variable de interés “Z” que se
desea “optimizar” en términos de un conjunto de variables x1, x2, …, xn, denominadas
variables de decisión, conformando una función objetivo que matemáticamente se ex-
presa así:




                                               9
UNIVERSIDAD DE MANIZALES




                                    Z = f (x1, x2, … xn)


La optimización de la variable “Z” normalmente está sujeta o condicionada a un conjunto de
restricciones que son impuestas por el medio, o que reflejan limitaciones reales. Dichas
restricciones se expresan en función de las variables de decisión a través de ecuaciones o
inecuaciones según el tipo de limitación. Matemáticamente una restricción se expresa de la
siguiente forma:
                    gi (x1, x2, …, xn) ≤ = ≥ bi con i = 1, 2, 3, …, n


Por la naturaleza de las variables de decisión x1, x2, … xn, puede ser necesario agregar
restricciones adicionales; por ejemplo, que sean enteras, o que sean no negativas.


Resumiendo, un modelo de programación matemática adopta la siguiente forma:


            maximizar o minimizar. [ Z = f (x1, x2, …, xn)] Función Objetivo
Sujeta a:
                   g1 (x1, x2, …, xn) ≤ = ≥ b1
                   g2 (x1, x2, …, xn) ≤ = ≥ b2
                   .                                       Restricciones Principales
                   .
                   .
                   gm (x1, x2, …, xn) ≤ = ≥ bm


                   x1 ≥ 0, x2 ≥ 0, …, xn ≥ 0               Restricciones de no Negatividad


En este modelo de programación matemática los métodos clásicos de optimización basados
en el cálculo diferencial no funcionan debido a la presencia de restricciones expresadas como




                                             10
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



desigualdades, por lo cual es necesario desarrollar nuevos métodos para encontrar la solu-
ción óptima.


Los métodos de optimización no clásicos utilizan técnicas iterativas (paso a paso) los que
en la actualidad con ayuda de los ordenadores resultan relativamente fáciles de implementar,
permitiendo la solución de problemas donde intervienen gran cantidad de variables y de
restricciones.


1. 1. MODELOS DE PROGRAMACIÓN LINEAL


Un modelo de programación lineal es un modelo de programación matemática donde
la función objetivo y las restricciones son lineales; es decir, tiene la forma:


                  max. o min. [ Z = c1 x1 + c2 x2 + c3 x3 + … + cn xn ]
Sujeta a:
                   a11 x1 + a12 x2 + … + a1n xn ≤ = ≥     b1
                   a21 x1 + a22 x2 + … + a2n xn ≤ = ≥     b2
                   .                 .                     .
                   .                 .                     .
                   .                 .                     .
                   am1 x1 + am2 x2 + … + amn xn ≤ = ≥      bm


                          x1 ≥ 0, x2 ≥ 0 … xn ≥ 0



Las restricciones de no negatividad no son estrictamente necesarias, sin embargo, en proble-
mas de naturaleza económica o financiera, entre otros, suelen estar presentes.


                                            11
UNIVERSIDAD DE MANIZALES



En el modelo de programación lineal se tiene que: Z es la función objetivo o variable a
optimizar, x1, x2 , …, xn son las variables de decisión y c1, c2 , …, cn , a11, a12 , …, amn ,
b1, b2 , …, bm son los parámetros.


Los parámetros se pueden interpretar según el contexto donde surja el modelo; de esta forma
se tiene que: c1, c2 , …, cn , son beneficios unitarios, costos unitarios o precios unitarios, entre
otros, ai j para i= 1, 2, …, m ; j = 1, 2, …, n son los coeficientes tecnológicos y b1, b2
, …, bm pueden representar recursos disponibles, o bien demandas, etc.



1.1.1. FORMA MATRICIAL DEL MODELO DE PROGRAMACIÓN LINEAL


El modelo de programación lineal puede escribirse de una manera más compacta usando la
notación matricial, así:


                      c11
                                    a 11 a 12   .    .   . a 1n       x1            b1
                      c22
                                    a 21 a 22   .    .   . a 2n       x2            b2
                       .              .    .    .    .   . .           .             .
                C=     . , A=         .    .    .    .   . . , X=      . , B=        .
                       .              .    .    .    .   . .           .             .
                      cn            a m1 a m2   .    .   . a mn       xn            bm




                                                    12
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



El modelo queda:
                                 max. o min. [ Z = C’X ]
Sujeta a
                                      AX ≤ = ≥ B
                                        X ≥0
con C’ = Matriz transpuesta de C


1.1.2. FORMA ESTÁNDAR DE UN MODELO DE PROGRAMACIÓN LINEAL.


Un modelo de programación lineal puede escribirse de tal forma que sus restricciones princi-
pales sean todas de igualdad, es decir, que formen un sistema lineal de ecuaciones. Lo
anterior es necesario para su solución por el método Símplex. El modelo de programación
lineal así expresado se conoce como “Modelo de Programación Lineal en Forma Estándar”.


Para escribir una desigualdad como igualdad es necesario sumar o restar una variable adicio-
nal según sea del tipo menor o igual o mayor o igual, así:


                  gi (x1, x2, …, xn ) ≤ bi ↔ gi(x1, x2, …, xn) + Xi = bi
                  gk(x1, x2, …, xn) ≥ bk ↔ gk(x1, x2, …, xn) - Xk = bk


Las variables Xi o Xk se denominan Variables de holgura y excedente, deben ser no
negativas y su significado o interpretación económica se hace en el contexto de un problema
real.


Un modelo de programación lineal está en forma estándar si cumple las siguientes condicio-
nes:


                                            13
UNIVERSIDAD DE MANIZALES



Ÿ    Todas las restricciones, con excepción de las restricciones de no negatividad son igualdades.
Ÿ    Los elementos del lado derecho de cada igualdad son no negativos (≥ 0).
Ÿ    Todas las variables son no negativas (≥ 0).
Ÿ    Se tiene como objetivo maximizar o minimizar Z.

Ejemplo 1.1. Escriba el siguiente modelo de programación lineal en su forma estándar.

                                     min. [Z = x1 - 3x2 ]
sujeta a:
                                     -x1 + 2x2 ≤ 5
                                     x1 + 3x2 = 10
                                     x1 , x2 son irrestrictas en signo.
Nota: Cuando se dice que una variable es irrestricta en signo, significa que ella puede tomar
valores positivos, negativos o cero.

Solución: Se debe obtener un modelo con todas las variables de decisión no negativas,por
lo cual se definen x1 , x2 en terminos de las variables x1+, x1-, x2+, x2- no negativas.

                          x1 = x1+ - x1- con x1+ ≥ 0 y x1- ≥ 0 .
                          x2 = x2+ - x2- con x2+ ≥ 0 y x2- ≥ 0 .

Reemplazando x1 , x2, el modelo queda:

                             min. [ Z = x1+ - x1- - 3x2+ + 3x2- ]
sujeta a:
                                  -x1+ + x1- + 2x2+ - 2x2- ≤ 5
                                  x1+ - x1- + 3x2+ - 3x2- = 10
                                       x1+, x1-, x2+, x2- ≥ 0



                                                14
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Nota: Si al resolver este modelo se obtienen valores para x1+, x1- entonces en el modelo
original el valor de x1 será x1 = x1+ - x1- La misma aclaración es válida para las demás
variables.


Llevando la primera restricción a igualdad sumándole una variable de holgura X3 en el lado
izquierdo, obtenemos la forma estándar:


                          min. [Z = x1+ - x1- - 3x2+ + 3x2- ]
sujeta a:
                          -x1+ + x1- + 2x2+ - 2x2- + X3 = 5
                           x1+ - x1- + 3x2+ - 3x2-          = 10
                                 x1+, x1-, x2+, x2-, X3 ≥ 0


Ejemplo 1.2. Obtenga la forma estándar del modelo de programación lineal:


                              max. [Z = x1 - 2x2 + x3 ]
sujeta a:
                                    x1 + x2 + x3 ≤ - 3
                                  2x1 + x2 - x3 ≥ 1
                                    x1       + x3 ≤ 3
                                  x1 , x2 ≥ 0 , x3 ≤ 0


Solución:
Se define x3* = - x3 con lo que se obtiene x3*≥ 0




                                           15
UNIVERSIDAD DE MANIZALES




Reemplazando x3* y multiplicando por (-1) la primera restricción se llega al modelo:


                                max. [Z = x1 - 2x2 -x3*]
                                     - x1 - x2 + x3*≥ 3
                                     2x1 + x2 + x3*≥ 1
                                       x1        - x3*≤ 3
                                        x1, x2, x3* ≥ 0

Se agregan las variables de holgura X4 , X5 , X6 para obtener la forma estándar:

                              max. [Z = x1 - 2x2 - x3*]
sujeta a:
                           - x1 - x2 +x3* - X4                 = 3
                           2x1 + x2 +x3      *
                                                   - X5        = 1
                           x1 - x3*                     + X6 = 3
                                x1, x2 , x3 , X4 , X5 , X6 ≥ 0
                                           *




1.2. FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL


Sin duda la formulación de un modelo matemático para una situación real o un fenómeno
natural no es algo fácil. Sin embargo, existen algunas pautas que pueden orientar al alumno en
este proceso. No existen fórmulas mágicas ni recetas, pero sí estrategias que ayudan a
abordar los problemas.


Un problema de optimización, a menudo formulado verbalmente, debe expresarse en térmi-
nos matemáticos. Se recomienda la siguiente estrategia:




                                             16
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Ÿ Con base en una lectura cuidadosa, comprender el problema e identificar las variables
   involucradas (variable a optimizar, variables de decisión) y el objetivo (maximizar o mi-
   nimizar).
Ÿ Separar la información necesaria de la información que no se requiere en la construcción
   del modelo. Si es necesario organice adecuadamente la información en cuadros o tablas.
Ÿ Definir en forma apropiada las variables de decisión x1 , x2 , …, xn y la función objetivo.
   Puede realizarse de varias formas, aunque una buena definición de las variables facilita la
   construcción del modelo, mientras que otras pueden complicar innecesariamente este
   proceso.
Ÿ Construir la función objetivo en términos de las variables de decisión. No olvide conside-
   rar el análisis de dimensiones, el cual consiste en verificar que las unidades del lado iz-
   quierdo de una igualdad o desigualdad coincidan con las unidades del lado derecho. No
   tiene sentido, por ejemplo, una igualdad o desigualdad donde el lado izquierdo tiene
   unidades de tiempo y el lado derecho unidades de longitud.
Ÿ Construir las restricciones en términos de las variables de decisión, de acuerdo con los
   aspectos mencionados en el numeral anterior. Cerciórese de que para usted es claro el
   significado de expresiones como: por lo menos, a lo sumo, como máximo, cuando mu-
   cho, al menos, como mínimo, entre otras. No olvide incluir todas las restricciones.
Ÿ Exprese las restricciones implícitas o que aparecen disimuladas en el problema, pero que
   son claras por la naturaleza de las variables. Por ejemplo, las variables por su naturaleza
   pueden requerir que sean no negativas o enteras, o pueden carecer de restricciones.


Sin ser exhaustivas, las anteriores recomendaciones, a pesar de que no garantizan éxito en la
formulación de modelos, son de gran ayuda en el proceso. Recuerde que el factor principal
es el ingenio y la creatividad en combinación con la experiencia.




                                             17
UNIVERSIDAD DE MANIZALES




Veamos algunos ejemplos de formulación de modelos de programación lineal, en distintos
campos.


Ejemplo 1.3. Planeación de la Producción.


Una planta industrial puede manufacturar 5 productos (A, B, C, D, E) en cualquier combina-
ción. Cada producto requiere tiempo en 3 máquinas como se muestra en la tabla. Cada
máquina está disponible 128 horas a la semana. Los productos son netamente competitivos
y cualquier cantidad fabricada puede venderse a $5, $4, $5, $4, $4 la libra respectivamente.
Los costos variables por hora de trabajo son $4 para las máquinas 1 y 2, y $3 para la
máquina 3. Los costos de material para cada línea de producto son $2 para A y C y $1 para
B, D, E por libra.


Construya un modelo de programación lineal que permita determinar el nivel óptimo de pro-
ducción (ver Cuadro – Ejemplo 1.3)


Solución:
El nivel óptimo de producción es el número de unidades (libras) a producir de cada producto
A, B, C, D, E, con el fin de obtener la mayor utilidad.


Definición de variables.
Variable a optimizar :
Z :Utilidad en pesos.
Variables de decisión:
x1 , x2 , x3 , x4 , x5 : Número de libras a producir de A, B,C,D y E, respectivamente.


La información básica del sistema de producción se presenta en el siguente cuadro.


                                             18
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




                     Tiempo en minutos/libra
                         MÁQUINA

   PRODUCTO         1         2           3         Precio Venta   Costo Materia Prima
                                                      $/Libra            $/Libra

        A           12        8           5              5                 2
        B            7        9          10              4                 1
        C            8        4           7              5                 2
        D           10        0           3              4                 1
        E            7       11           2              4                 1

                                  Cuadro – Ejemplo 1.3


Construcción de la función objetivo: Para construir la función objetivo se requiere cono-
cer la utilidad por libra de cada producto.


Costos por libra de cada producto:


Una libra de producto A requiere:


Materia prima                                                               $2
                                         $      12            $
12 Minutos en la máquina A a        4        da    horas × 4      = $ 0.8
                                        hora    60           hora


                                         $       8            $
8 Minutos en la máquina B a         4        da    horas × 4      = $ 0.53
                                        hora    60           hora



                                               19
UNIVERSIDAD DE MANIZALES



                                           $       5            $
5 Minutos en la máquina C a           3        da    horas × 3      = $ 0.25
                                          hora    60           hora

Total Costo Libra producto A                                     $ 3.583


De igual forma obtenemos los costos por libra de los otros productos que aparecen en la tabla.


La utilidad por libra de cada producto se obtiene restando del precio de venta por libra el
costo por libra. Se propone al lector la verificación de las cifras en la siguiente tabla:



  PRODUCTO Precio × Libra en $ Costo × Libra en $ Utilidad × Libra en $

         A                     5                     3.583                    1.417
         B                     4                     2.567                    1.433
         C                     5                     3.150                    1.850
         D                     4                     1.817                    2.183
         E                     4                     2.300                    1.700

Por lo tanto la función de utilidad se construye sumando la utilidad total obtenida para x1 libras
de A, x2 libras de B, x3 libras de C, x4 libras de D, x5 libras de E obteniéndose:


                 Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5


Construcción de las restricciones: Cada máquina impone una restricción, pues la disponi-
bilidad en horas a la semana está limitada a 128 horas o sea 7680 minutos.




                                                20
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Totalizando el número de minutos que se ocupa la máquina 1 en la producción de x1 libras
de A, x2 libras de B, x3 libras de C, x4 libras de D, x5 libras de E, éste no debe
sobrepasar el tiempo total disponible, es decir debe ser menor o a lo sumo igual a 7680
minutos.


Máquina 1.
         min                     min
  12           x 1 libra A + 7         x 2 libra B + 8 x 3 + 10 x 4 + 7 x 5 ≤ 7680
       libra A                 libra B


La restricción queda:

                     12x1 + 7x2 + 8x3 + 10x4 + 7x5 ≤ 7680.

De igual forma se tiene restricción de tiempo para el uso de las máquinas 2 y 3 así:

Máquina 2               8x1 + 9x2 + 4x3               + 10x5 ≤ 7680


Máquina 3               5x1 + 10x2 + 7x3 + 3x4 + 2x5 ≤ 7680


Se deja como ejercicio la deducción de estas dos últimas restricciones.


Como las variables de decisión son el número de libras a producir de cada producto, ésta
debe ser una cantidad no negativa, es decir, 0 (cero) o positiva, por lo que son necesarias las
restricciones de no negatividad sobre las variables de decisión.




                                              21
UNIVERSIDAD DE MANIZALES




El modelo de programación lineal finalmente queda:


            max [ Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5 ]
sujeta a:
                    12x1 + 7x2 + 8x3 + 10x4 + 7x5 ≤ 7680
                    8x1 + 9x2 + 4x3 +            + 11x5 ≤ 7680
                    5x1 + 10x2 + 7x3 + 3x4 + 2x5 ≤ 7680
                              x1, x2, x3, x4, x5 ≥ 0


Ejemplo 1.4. Planeación Financiera
Un empresario tiene la opción de invertir su dinero en dos planes: el plan A le garantiza que
cada peso invertido ganará 70 centavos dentro de un año, el plan B le ofrece que en 2 años
su dinero se triplica, pero exige que las inversiones sean por periodos múltiplos de dos años.
Construya un modelo de programación lineal para saber cuál será un plan de inversión para
$1.000.000 con el fin de obtener el máximo dinero posible en el año 3.


Solución:
Con un diagrama de tiempo se definen las variables en forma apropiada, las flechas hacia
abajo son las inversiones y hacia arriba representan las rentas o ingresos.

Plan A




                                             22
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Plan B (Inversiones por períodos múltiplos de dos años)


                                                        3 X0B        3 X1B

                     0             1                2            3
                                                                     Años

                         X0 B          X1B




Sea Xi j : Cantidad de dinero a invertir en el plan j (j = A , B) en el año “ i ” ( i = 0, 1, 2 )

El objetivo es maximizar la suma de dinero disponible en el año 3. Sea Z suma de dinero a
retirar en el año 3, es decir Z = 1.7X2A + 3X1B


Las restricciones se relacionan con la cantidad de dinero disponible en cada período anual.

En “ 0 ” hay disponible 1000000. Por lo tanto, X0A + X0B ≤ 1000000

En “ 1 ” hay disponible 1.7XOA . Por lo tanto,           X1A + X1B ≤ 1.7XOA
En “ 2 ” hay disponible 1.7X1A + 3XOB, luego X2A ≤                   1.7X1A + 3X0B


Además,      X0A, X1A, X2A, X0B , X1B ≥ 0 , X2B = 0




                                               23
UNIVERSIDAD DE MANIZALES




El modelo de programación lineal queda:


                               max [ Z = 1.7X2A + 3X1B ]
Sujeta a:
                             X0A + X0B            < 1000000
                             1.7X0A - X1A - X1B          ≥0
                             1.7X1A - X2A + 3XOB         ≥0
                             X0A , X1A , X2A , X0B , X1B ≥ 0


Ejemplo 1.5. Puntos de Equilibrio Múltiple
La compañía “ATI S.A.” fabrica dos tipos de productos A y B. La firma ha contratado
800 unidades de A y desea saber cuál es el punto de equilibrio óptimo teniendo la siguiente
información:

                          Precio $/Unidad          Costo $/Unidad      Costos Fijos

       Producto A                500                    300              180000

       Producto B                750                    340              270000

Solución:


Sean X1 : Número de unidades del producto A vendidas y producidas.
     X2 : Número de unidades del producto B vendidas y producidas
     Y : Ingresos por la venta del número de unidades producidas de A y B.
     C : Costo de producir X1 unidades de A y X2 unidades de B.


El equilibrio se logra cuando los ingresos son iguales a los costos.



                                              24
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Como               Y = 500X1 + 750X2 $ (Ingresos)
                   C = 300X1 + 340X2 + 450000 $ (costos)

Equilibrio         Y - C = 0

Recta de Equilibrio: 200X1 + 410X2 = 450000

Si dibujamos la recta de equilibrio tenemos:




Para buscar el punto de equilibrio debe asumirse algún criterio.


Caso 1: Si el criterio es maximizar los ingresos se tiene el siguiente modelo:


                   max [ Y = 500X1 + 750X2 ]
Sujeta a:
                   200X1 + 410X2 = 450000     (Equilibrio)
                      X1         ≥ 800    (Demanda comprometida)
                       X1 , X2 ≥ 0



                                               25
UNIVERSIDAD DE MANIZALES




Caso 2: Si el criterio es minimizar costos se obtiene el modelo.


                   min. [ C = 300X1 + 340X2 ]
sujeta a:
                   200X1 + 410X2 = 450.000
                      X1        ≥ 800
                      X1, X2≥ 0


Ejemplo 1.6. Mezclas.


Un vinatero desea mezclar vino de 5 años diferentes para fabricar tres tipos de vino mezclados.
La oferta disponible en galones del año “ i ” (con i = 1, 2, 3, 4, 5) es de 800, 900, 500, 900
y 600 respectivamente. La mezcla A se considera especial por lo que no se producirán más
de 200 galones (ver Tabla – Ejemplo 1.6)
¿Cuántos galones debe producir de cada mezcla para maximizar el beneficio? Elabore un
modelo de programación lineal.


Solución:
Para definir las variables de decisión en este caso conviene usar doble subíndice.
Sea Xij : Cantidad en galones del año i (i = 1, 2, 3, 4 , 5) utilizados en la mezcla j ( j = A,
B, C). Luego se tienen 15 variables de decisión a saber:


                   X1A          X2A          X3A          X4A           X5A
                   X1B          X2B          X3B          X4B           X5B
                   X1C          X2C          X3C          X4C           X5C




                                              26
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




La siguiente tabla da los requerimientos y el beneficio por galón para cada tipo de vino

mezclado.



       MEZCLA                REQUISITO                   Beneficio por Galón en $

         A         Al menos el 60% debe provenir                    4000
                    de los años 1 y 2 y no más del
                        10% de los años 4 y 5.

         B         Al menos el 50% debe provenir                    3000
                        de los años 1, 2 y 3.

         C            No más del 50% del año 5.                     2500

                                 Tabla – Ejemplo 1.6

Función Objetivo: Z (utilidad en $)
Objetivo: Maximizar utilidad.
Se tiene además que:
 5
∑ XiA ; Cantidad total de galones producidos de la mezcla A.
i =1



 5
∑ XiB ; Cantidad total de galones producidos de la mezcla B.
i =1



 5
∑ XiC ; Cantidad total de galones producidos de la mezcla C.
i =1




                                          27
UNIVERSIDAD DE MANIZALES




La función utilidad queda entonces:


                                5                          5                      5
                 Z = 4.000     ∑ XiA         + 3.000      ∑ XiB        + 2.500   ∑ XiC
                               i =1                       i =1                   i =1



Restricciones asociadas con la calidad del vino mezclado: Las restricciones determinan
la calidad del la mezcla.


Para el vino mezclado tipo A: Por lo menos el 60% de los años 1 y 2;

                                        X 1A + X 2 A
                                              5
                                                               ≥ 0.6
                                             ∑ X iA
                                             i =1
Se obtiene la restricción lineal:
                                       5
                                0.6   ∑ XiA         - X1A - X2A ≤ 0
                                      i =1

No más del 10% de los años 4 y 5:

                                        X4A + X5A
                                              5
                                                               ≤ 0.1
                                             ∑ X iA
                                             i =1

Se obtiene la restricción lineal:
                                       5
                                0.1   ∑ XiA         - X4A - X5A ≥ 0
                                      i =1




                                                     28
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Para el vino mezclado tipo B: Al menos el 50% debe provenir de los años 1, 2 , 3:


                                     X 1B + X 2 B + X 3 B
                                                   5
                                                                       ≤ 0.5
                                               ∑ X iB
                                               i =1



Se obtiene la restricción lineal :
                                     5
                             0.5 ∑ XiB             - X1B - X2B - X3B ≤ 0
                                 i =1



Para el vino mezclado tipo C: No más del 50% del año 5.
                                                   X 5C
                                                   5
                                                               ≤ 0.5
                                               ∑ X iC
                                               i =1

De donde resulta la restricción lineal:
                                               5
                                     0.5   ∑ XiC              - X5C ≥ 0.
                                           i =1


Restricciones debido a la disponibilidad de recursos:


Oferta de vino del año 1             X1A   +       X1B    +    X1C     ≤   800
Oferta de vino del año 2             X2A   +       X2B    +    X2C     ≤   700
Oferta de vino del año 3             X3A   +       X3B    +    X3C     ≤   500
Oferta de vino del año 4             X4A   +       X4B    +    X4C     ≤   900
Oferta de vino del año 5             X5A   +       X5B    +    X5C     ≤   600


                                                          29
UNIVERSIDAD DE MANIZALES




De la mezcla A no se producirán más de 200 galones.


                       X1A + X2A + X3A + X4A + X5A           ≤ 200

Restricciones de no negatividad: Todas las variables deben ser no negativas.


                      Xij ≥ 0 para i = 1, 2, 3, 4, 5; j = A, B, C.


Finalmente, el modelo de 15 variables con 10 restricciones queda:


                                 5                  5                  5
            max [Z = 4.000      ∑ XiA    + 3.000   ∑ XiB    + 2.500   ∑ XiC ]
                                i =1               i =1               i =1



sujeto a:
                         5
                  0.6 ( ∑ XiA ) - X1A - X2A ≤ 0
                       i =1

                         5
                  0.1 ( ∑ XiA ) - X4A - X5A ≥ 0
                       i =1

                         5
                  0.5 ( ∑ XiB ) - X1B - X2B - X3B ≤ 0
                        i =1

                         5
                  0.5 ( ∑ XiC ) - X5C ≥ 0
                        i =1
                  X1A + X1B + X1C       ≤ 800
                  X2A + X2B + X2C       ≤ 700


                                            30
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



                  X3A + X3B + X3C       ≤ 500
                  X4A + X4B + X4C       ≤ 900
                  X5A + X5B + X5C       ≤ 600
                  X1A + X2A + X3A + X4A + X5A ≤ 200

                  Xij ≥ 0     i = 1, 2, 3, 4, 5     j = A, B, C


EJERCICIOS PROPUESTOS


1.1. Un inversionista puede elegir entre los planes de inversión A o B disponibles al
comienzo de cada uno de los próximos cinco años. Cada peso invertido en el plan A al
iniciar un año le reditúa el 42% dos años más tarde, y el plan B le reditúa por cada peso
invertido a principio de año 0.60 pesos tres años más tarde, cantidades que puede
reinvertir. Además cuenta con los planes C y D disponibles una sola vez sin posibilidad
de reinvertir. Cada peso invertido en C al comienzo del segundo año le produce $2
cuatro años más tarde. Cada peso invertido en D al final del tercer año, le produce
$1.70 dos años después. El inversionista comienza con $300.000 y desea conocer cuál
es el plan “óptimo” de inversión que le maximice la cantidad de dinero al final del
quinto año. Construya un modelo de programación lineal y resuélvalo con el paquete
que le recomiende su profesor.


1.2. Un editor imprime un nuevo libro, para lo cual considera dos alternativas de
empastado, en cartón duro o encolado. Un libro en cartón duro deja una utilidad de
$4.000, mientras que en pasta blanda o encolado la utilidad es de tan sólo $900. Para
empastar un libro en cartón duro se requieren 15 minutos y con pasta ordinaria 8 minutos.
Se dispone de 70 horas para empastar y se estima que las ventas serán hasta 200


                                            31
UNIVERSIDAD DE MANIZALES




copias para el libro con pasta dura y 400 copias a lo sumo del libro encolado. Formule
un modelo de programación lineal que permita saber el número de libros a empastar de
cada clase.


1.3. Un restaurante que presta servicio las 24 horas del día, requiere las siguientes
meseras:

 Horas del día      2-6        6 - 10        10 - 14    14 - 18    18 - 22        22 - 2

  No. Mínimo         4           8                11      6          12             4
  de Meseras


Cada mesera trabaja 8 horas consecutivas al día. Elabore un modelo de programación
lineal que permita hallar el número óptimo (mínimo requerido) de meseras para cumplir
los requisitos anteriores.


1.4. Una tienda de animales ha determinado que cada Hamster debe recibir al día por
lo menos 78 unidades de proteína, 110 unidades de carbohidratos y 16 unidades de
grasa. Si la tienda vende los 4 tipos de alimentos mostrados. ¿Qué mezcla de alimento
satisface las necesidades nutricionales de los Hamster a un mínimo costo para la tienda?
Elabore un modelo de programación lineal.

  Alimento        Proteinas      Carbohidratos            Grasa          Costo
                 Unidad/Onza     Unidad/Onza           Unidad/Onza    Centavo/Onza
      I               30                30                 9                 4
     II               40                25                 12                8
     III              27                23                 8                 10
     IV               18                45                 5                 3


                                             32
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



1.5.Una persona hereda US$6.000 y desea invertirlos. Al oír esta noticia dos amigos
distintos le ofrecen la oportunidad de participar como socio en dos negocios, cada uno
planeado por cada amigo. En ambos casos la inversión significa dedicar un poco de
tiempo el siguiente verano, al igual que invertir en efectivo. Con el primer amigo
tendría que invertir U$5.000 y 400 horas y la ganancia estimada (ignorando el valor
del tiempo) sería U$4.500. Las cifras correspondientes a la proposición del segundo
amigo son U$4.000 y 500 horas, con una ganancia de U$4.500. Sin embargo, ambos
amigos son flexibles y le permitirán entrar en el negocio con cualquier fracción de la
sociedad; la participación en las utilidades sería proporcional a esa fracción. Como el
heredero está buscando un trabajo interesante para el verano (600 horas a lo sumo) ha
decido participar en una o ambas propuestas, con la combinación que maximice la
ganancia total estimada. Formule el modelo de programación lineal para este problema.


1.6. Una compañía manufacturera descontinuó la producción de cierta línea de productos
no redituable, lo cual creó un exceso considerable en la capacidad de producción. La
gerencia quiere dedicar esta capacidad a uno o más de tres productos, llámense productos
1, 2 y 3. En la siguiente tabla se resume la capacidad disponible de cada máquina que
puede limitar la producción.

  Tipo de máquina            Disponibilidad              Coeficiente de productividad
                         Horas - Máquina/Semana           Horas - Máquina/Unidad
                                                         Prod.1 Prod.2 Prod.3
 FRESADORA                           500                    9          3        5
   TORNO                             350                    5          4        0
RECTIFICADORA                        150                    3          0        2




                                           33
UNIVERSIDAD DE MANIZALES




El departamento de ventas ha indicado que las ventas potenciales para los productos
1 y 2 exceden la tasa máxima de producción y que las ventas potenciales del producto
3 son 20 unidades por semana. La ganancia unitaria sería de $50, $20 y $25
respectivamente para los productos 1, 2 y 3. El objetivo es determinar cuántos productos
de cada tipo debe producir la compañía para maximizar la ganancia. Formule un modelo
de programación lineal para este problema.


1.7. En el ejemplo 1.3, verificar los datos del cuadro para la utilidad por libra de cada
producto y deducir las restricciones para las Máquinas 2 y 3.




                                           34
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



                                 CAPÍTULO II

   MÉTODO GRÁFICO PARA RESOLVER
 MODELOS DE PROGRAMACIÓN LINEAL CON
      DOS VARIABLES DE DECISIÓN


INTRODUCCIÓN
Cuando un modelo de programación lineal tiene dos variables de decisión, las restricciones
determinan regiones del plano. El conjunto de “m” restricciones define por lo tanto una
región del plano que contiene todos los puntos (x1 , x2) que las satisfacen. Esta región del
plano se denomina región de soluciones factibles, ya que cualquier punto de ella satisface
las restricciones y por lo tanto es una solución del problema.


De entre todas las soluciones factibles se trata de buscar la solución “óptima”, es decir,
aquella que maximice o minimice la función objetivo.

2.1. MÉTODO GRÁFICO PARA EL CASO DE DOS VARIABLES DE DECISIÓN

Los pasos a seguir para resolver un modelo de programación lineal de dos variables de
decisión usando el método gráfico son:


Paso 1: Dibujar la región de soluciones factibles.


Paso 2: Dibujar algunas isocuantas de la función objetivo, es decir curvas en el plano donde
para cualquier punto sobre cada una de ellas la función objetivo tiene un valor constante.
Las ecuaciones de estas curvas son de la forma Z = const.



                                            35
UNIVERSIDAD DE MANIZALES




Paso 3: Ubicar el vértice de la región factible donde ocurre el máximo o el mínimo
dependiendo de la dirección en que crecen o decrecen las isocuantas. Una isocuanta crece
en la dirección en que la función objetivo aumenta su valor y decrece en la dirección en que la
función objetivo disminuye su valor.


2.1.1. GRAFICACIÓN DE UN SISTEMA DE DESIGUALDADES


Para determinar la región del plano que satisface una desigualdad de la forma
aX1 + bX2 + c ≤ 0 se procede de la siguiente manera:


Ÿ Se dibuja en primer lugar la ecuación ignorando la desigualdad, es decir, graficamos
 aX1 + bX2 + c = 0:




                                                     c
                                                   _ __
                                                     a




La recta aX1 + bX2 + c = 0 determina en el plano dos semiplanos denominados I y II.

Los puntos sobre la recta satisfacen la igualdad aX1 + bX2 + c = 0, los puntos fuera de la

recta en los semiplanos I y II satisfacen las desigualdades ( > ó < ).




                                              36
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Ÿ Para determinar cuál de los dos semiplanos satisface la desigualdad
aX1 + bX2 + c < 0 se escoge un punto arbitrario del semiplano I o del II, y se reemplaza en
la desigualdad.


Por ejemplo, puede escogerse el origen (0, 0); si éste satisface la desigualdad, entonces
todos los puntos del semiplano I que contiene a (0, 0) la satisfacen, en caso contrario la
desigualdad la verifican los puntos de la región II.



Ejemplo 2.1. Gráficar la región del plano que satisface la desigualdad 2x1 + 3x2 ≤ 6


Solución: Se grafica la ecuación 2x1 + 3x2 = 6 :


                      X2



                                      II
                                                 II
                                           2X1 + 3X2 = 6
                                  I
                              I


                                                                    X1




                                            37
UNIVERSIDAD DE MANIZALES



Tomamos (0, 0) como punto de prueba:

             2(0) + 3(0) < 6

                   0       < 6         Verdadero

Por lo tanto la región sombreada que contiene el punto de prueba, satisface la desigualdad y

los puntos sobre la recta satisfacen la igualdad.




Ejemplo 2.2. Dibujar la región del plano cuyos puntos satisfacen las restricciones.

                                 2x1 + x2 ≤ 4
                                  x1 + x2 ≥ 1
                                 x1 ≥ 0 , x2 ≥ 0
Solucion:
2x1 + x2 = 4 ;

Punto de prueba (0, 0); 0 ≤ 4 Verdadero




                                              38
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




x1 + x2 = 1      :

Punto de prueba (0, 0): 0 ≥ 1 Falso.




x1≥ 0 y x2≥ 0 , primer cuadrante:


                                          39
UNIVERSIDAD DE MANIZALES




Por lo tanto, la región del plano que satisface las restricciones dadas es la intersección de las
tres regiones anteriores:




                                               40
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Para mayor claridad, la región se muestra en la gráfica siguiente:




2.1.2. ISOCUANTAS DE LA FUNCIÓN OBJETIVO


Para un modelo de programación lineal con dos variables de decisión se tiene que la función
objetivo es:
                                  Z = c1 x1 + c2 x2


Esta es la ecuación de un plano en el espacio tridimensional.


Las isocuantas (curvas de nivel) se obtienen dando valores fijos a la variable “ Z ” obteniéndose
una familia de rectas en el plano “ x1-x2 ”. Si Z = k con k constante tenemos:
c1 x1 + c2 x2 = k , distintos valores de k darán diferentes elementos de la familia de rectas.



                                               41
UNIVERSIDAD DE MANIZALES




Ejemplo 2.3. Dibujar las Isocuantas de la función Z = 3x1 + 2x2 ,cuando Z = 6, Z =
12, Z = 18 en el mismo plano.


Solución:
Si Z = 6         3x1 + 2x2 = 6
Si Z = 12        3x1 + 2x2 = 12
Si Z = 18        3x1 + 2x2 = 18




Ejemplo 2.4. Resolver el modelo de programación lineal.
              max. [Z = 2x1 + x2 ]
Sujeto a:
                    x2 ≤ 10              I
           2x1 + 5x2 ≥ 10                II
             x1 + x2 ≤ 14                III
           5x1 - 3x2 ≤ 20                IV
              x1 , x2 ≥ 0



                                         42
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Solución: Dibujamos la región de soluciones factibles. Las restricciones de no negatividad
indican que la región de soluciones factibles se encuentra en el primer cuadrante.




En el mismo plano se dibujan dos isocuantas de Z = 2x1 + x2


Si    Z = 4              se tiene:          4 = 2x1 + x2
      Z = 16             se tiene:         16 = 2x1 + x2



                                           43
UNIVERSIDAD DE MANIZALES




Si visualmente se sigue la dirección en que crece “Z ” se observa que el máximo valor de
“Z” se obtiene en el vértice “C ”. Las coordenadas del vértice “C” se obtienen resolviendo
por la regla de Cramer, el sistema de ecuaciones correspondientes a las restricciones III y
IV.


Solucion del sistema de ecuaciones, para hallar las coordenadas del vertice C:


                                       x1 + x2 = 14       III
                                      5x1 - 3x2 = 20       IV


                              14       1
                              20      −3         − 42 − 20 − 62 31
                      X1 =                   =            =    =
                              1         1         −3−5      −8   4 .
                              5        -3

                                  1    14
                                  5    20        20 − 70 − 50 25
                       X2 =                  =          =    =
                              1          1       −3−5     −8   4 .
                              5         -3


Por lo tanto los valores óptimos de x1 y x2 son: X1 = 31/4 y X2 = 25/4 y el máximo valor
de Z es, Zmax=87/4 .




                                                 44
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Ejemplo 2.5. Resolver el modelo de programación lineal.


                                      min. [Z = 50x1 + 20x2 ]
Sujeta a:
                                2x1 - x2 ≥ 0      I
                                x1 + 4x2 ≥ 80    II
                                x1 + x2 ≥ 40    III
                                4x1 + 3x2 ≤ 240 IV
                                     x1, x2 ≥ 0


Solución: Dibujamos la región de soluciones factibles y dos isocuantas.




                                           45
UNIVERSIDAD DE MANIZALES




Isocuantas de Z = 50x1 + 20x2

Si    Z = 1500           1500 = 50x1 + 20x2


      Z = 1700           1700 = 50x1 + 20x2

Se observa que el valor mínimo de Z se alcanza en el vértice A. Para obtener las coordenadas
de “A” resolvemos el sistema:


                                      2x1 - x2 = 0
                                      x1 + x2 = 40


obteniendose como solución     x1 = 40/3 , x2 = 80/3.


Luego, el nivel óptimo se alcanza cuando, X1 = 40/3 , X2 = 80/3 y Z min = 1200 .


EJERCICIOS PROPUESTOS DEL CAPÍTULO II


2.1. Una pequeña firma maneja dos procesos para combinar cada uno de dos productos:
fluido para marcha y fluido para encendedor. La firma está tomando la decisión de
cuántas horas correrá cada proceso. Por una hora del proceso I se consumen 3 unidades
de kerozeno y 9 de benceno para producir 15 unidades de fluido para marcha y 6
unidades de fluido para encendedor. Por una hora del proceso II se consumen 12 unidades
de kerozeno y 6 de benceno para producir 9 y 24 unidades de los dos tipos de fluidos
respectivamente. Debido a un programa federal de asignaciones, la máxima cantidad
de kerozeno y benceno disponibles son 300 y 400 unidades respectivamente. Los
compromisos de venta requieren que se produzcan al menos 600 unidades de fluido


                                             46
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



para marcha y 225 de fluido para encendedor. Las utilidades por hora que reditúan los
procesos I y II son 10 y 12 dólares por hora respectivamente. Formule un modelo de
programación lineal para maximizar la utilidades y resuélvalo usando el método gráfico.


2.2. Resolver los siguientes modelos de programación lineal.


a)                    max [ Z = 3x1 + 4x2 ]
sujeta a:                   -x1 + x2 ≤ 3
                            x1 + 2x2 ≤ 9
                            3x1 + 2x2 ≤ 13
                            x1 - x2 ≤ 1
                            x1 + x2 ≥ 1
                            x1, x2 ≥ 0


b)                     min [Z = 9x1 + 9x2 ]
sujeta a:                   x1 + x2 ≤ 10
                            5x1 + x2 ≥ 8
                            x1 + 2x2 ≥ 12
                            x2 ≤ 8
                            x1, x2 ≥ 0


c)                     min [ Z = 5x1 + 2x2 ]
sujeta a:                   3x1 + 6x2 ≥ 18
                            5x1 + 4x2 ≥ 20
                            8x1 + 2x2 ≥ 16
                            7x1 + 6x2 ≤ 42
                            x1, x2 ≥ 0


                                          47
UNIVERSIDAD DE MANIZALES




2.3. Una dieta se diseña de forma que contenga al menos 6 gramos de V1 y 15 gramos
de V2 (V1 y V2 son dos tipos de vitaminas). Estos requerimientos mínimos van a
obtenerse a partir de dos tipos de alimentos: F1 que contiene 1 gramo por libra de V1 y
2 gramos por libra de V2, y de F2 que contiene 1 gramo por libra de V1 y 5 gramos por
libra de V2. Si el costo de F1 y F2 es de 1.20 y 1.80 pesos por libra, ¿Qué cantidad de
cada tipo de cada tipo de alimento deberá comprarse y consumirse para satisfacer los
requerimientos mínimos de la dieta de la forma más económica?


2.4. Resolver el modelo del ejemplo 1.1.


2.5. Resolver los modelos del ejemplo 1.5.


2.6. Resolver el modelo del ejercicio propuesto 1.2.


2.7. Resolver el modelo del ejercicio propuesto 1.5.


2.8. Un propietario quiere pintar su casa y desea que sea suficiente con una pasada.
Para satisfacer este requisito la pintura debe tener una viscosidad de por lo menos 200
unidades. Otro requerimiento para obtener un nivel deseado de brillo es que debe
incluir como mínimo 14 gramos de un ingrediente químico “ Y ” por galón de
pintura. Además, para asegurar cierta durabilidad, también deberá tener por lo menos
30 gramos de una sustancia “Z” por cada galón de pintura. Hay dos tipos de pintura
(I y II) a su disposición. El tipo I cuesta 6 dólares y el tipo II 4 dólares por galón. Las
especificaciones de cada una de ellas son:




                                            48
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




                                         PINTURA I                PINTURA II
                                         (Por galón)                (Por galón)

   Viscosidad (Unidades)                      400                      100

   Y (Gramos)                                 20                        10

   Z (Gramos)                                 20                        60



El propietario decide mezclar I y II a efecto de cumplir con las tres condiciones a un costo
mínimo. ¿Qué cantidad de I y II han de mezclarse? ¿Cuál es el costo mínimo de la mezcla?


2.9. Una empresa local está planificando anunciar una venta especial de aniversario por radio
y televisión durante una semana, y para ello se aprueba un presupuesto máximo de 16.000
dólares. Se sabe que el costo por 30 segundos de anuncio en la radio comercial es de 800
dólares. Por otra parte, la televisión comercial cuesta 4.000 dólares por anuncio. A causa
de la fuerte demanda, solamente pueden realizarse 4 anuncios de televisión en la semana
prevista. Sobre la base del grado estimado de audiencia y otros factores, se cree que un
anuncio de televisión es 6 veces más efectivo que un anuncio de radio sobre los potenciales
consumidores. ¿Cómo distribuiría la empresa su publicidad para atraer el mayor número
posible de consumidores potenciales?




                                             49
UNIVERSIDAD DE MANIZALES




                           50
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




                                    Capítulo III
                               MÉTODO SÍMPLEX


INTRODUCCIÓN

El método símplex es un procedimiento general para resolver problemas de programación

lineal. Desarrollado por George Dantzig en 1947, ha probado ser un método extraordi-

nariamente eficiente que se usa en forma rutinaria para resolver problemas grandes en las

computadoras de hoy en día. Excepto en el caso de problemas muy pequeños, su ejecución

se hace siempre en una computadora y existe una amplia gama de complejos paquetes de

software para ello. Este capítulo describe y ejemplifica la características principales del

método símplex en su forma tanto algebraica como tabular. El método símplex es un

algoritmo. Aun cuando el lector no haya oido este nombre, sin duda se ha encontrado con

muchos algoritmo por ejemplo, el procedimiento familiar para hacer una división larga, es un

algoritmo. También lo es el procedimiento para calcular la raíz cuadrada. De hecho, cual-

quier procedimiento iterativo de solución es un algoritmo. Entonces, un algoritmo es

simplemente un proceso en el que se repite (se itera) un procedimiento sistemático una y

otra vez hasta obtener el resultado deseado. Cada vez que se lleva a cabo el procedimiento

sistemático se realiza una iteración. (¿Puede el lector ver cuál es la iteración para el algorit-

mo de la división?).


                                               51
UNIVERSIDAD DE MANIZALES




Este método se emplea para resolver el problema de programación lineal (forma estándar)

(ver Capítulo I, Sección 1.1.2)


TERMINOLOGIA PARA LAS SOLUCIONES DEL MODELO

Es posible que para el lector el término solución signifique la respuesta final a un problema,
pero en programación lineal la convención es bastante distinta. Mas aún, cualquier conjunto
de valores específicos para las variables de decisión x1 , x2 , ... xn se llama solución, sin
importar si es una posibilidad deseable o ni siquiera permitida. Los diferentes tipos de solu-
ciones se identifican usando un adjetivo apropiado.


Una solución factible es aquella para la que todas las restricciones se satisfacen. La región
factible es la colección de todas las soluciones factibles (puede suceder que esta región sea
el conjunto vacío). Una solución óptima es una solución factible que lleva al valor más
favorable de la función objetivo. El valor más favorable es el valor más grande o más
pequeño, dependiendo si el objetivo es maximizar o minimizar, de modo que una solución
óptima maximiza / minimiza la función objetivo sobre toda la región factible.


En programación lineal, un problema puede tener más de una solución óptima, aunque en la
práctica sólo hay una solución óptima. Otra posibilidad es que el problema carezca de solu-
ciones óptimas. Esto ocurre sólo si: a) no tiene soluciones factibles o b) las restricciones no
impiden que el valor de la función objetivo Z crezca indefinidamente en la dirección favora-
ble (positiva o negativa).


                                              52
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



3.1. PREPARACION PARA EL METODO SÍMPLEX.

3.1.1. Variables de holgura.

El primer paso en el método simplicial es llevar el modelo de programación lineal a su forma

estándar (ver Capítulo I, Sección 1.1.2), mediante la introducción de variables adicionales

llamadas variables residuales o variables de holgura, con lo que se obtiene para las res-

tricciones un sistema de m ecuaciones con n incógnitas, de la forma:

            a 11 x 1   + a 12 x 2   +   .   .   .   + a 1s x s + x s+1                                  =   b1
            a 12 x 1   + a 12 x 2   +   .   .   .   + a 2s x s +       + x s+2                          =   b2
               .       .    .       .   .   .   .   .    .                     .                        .    .
               .       .    .       .   .   .   .   .    .                       .                      .    .
               .       .    .       .   .   .   .   .    .                         .                    .    .
            a m1 x 1   + a m2 x 2   +   .   .   .   + a ms x s                     + x s+m              =   bm


                       x 1 m 0, x 2 m 0, . . ., x s m 0, x s+1 m 0, . . ., x s+m m 0

Aquí, x s+1 , x s+2 , . . ., x s+m son las variables de holgura.

El sistema de ecuaciones así obtenido puede escribirse en forma matricial como A x = b ,

con x ≥ 0 , en donde:

                         a 11 a 12      .   .   . a 1s   1    0   .   .   .   0           x1                b1
                         a 21 a 22      .   .   . a 2s   0    1   .   .   .   0           x2                b2
                           .    .       .   .   . .      .    .   .   .   .   .             .                .
               A=          .    .       .   .   . .      .    .   .   .   .   .   , x=      .    , b=        .
                           .    .       .   .   . .      .    .   .   .   .   .             .                .
                         a m1 a m2      .   .   . a ms   0    0   .   .   .   1          x s+m              bm


                                                             53
UNIVERSIDAD DE MANIZALES




Esta forma es mucho más conveniente para la manipulación algebraica y la identificación de
las soluciones factibles en un vértice. Esta se llama forma aumentada del problema, ya
que la forma original se ha aumentado con algunas variables adicionales necesarias (las
variables de holgura) para aplicar el método símplex..


Una solución aumentada es una solución para las variables originales que se ha aumenta-
do con los valores correspondientes de las variables de holgura. Una solución básica es
una solución en un vértice aumentada. Ahora, una solución básica factible es una solución
factible en un vértice aumentada. La única diferencia entre las soluciones básicas y las solu-
ciones en un vértice (o entre soluciones básicas factibles y soluciones factibles en un vértice)
es el que estén incluidos los valores de las variables de holgura. El siguiente ejemplo será
utilizado para ilustrar el método símplex en su forma tanto algebraica como tabular para
maximizar una función lineal en cinco variables. Lo llamaremos ejemplo prototipo.


Si el problema consiste en minimizar una función Z = c1 x1 + c2 x2 + c3 x3 + … + cn xn , se
maximiza la función Y= -Z , de modo que si Y* es el maximo de Y, entonces el minimo de
Z de -Y* .




                                              54
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




EJEMPLO 3.1. En el Ejemplo 1.3 del Capítulo I sobre plan de producción se debe
resolver el problema de maximizar la función


               Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5

sujeta a las restricciones
                         12x1 +        7x2 +      8x3 + 10x4 +         7x5 ≤ 7680
                             8x1 +    9x2 +      4x3 +           + 11x5 ≤ 7680
                             5x1 + 10x2 +        7x3 + 3x4      +      2x5 ≤ 7680
                                     x1, x2, x3, x4, x5 ≥ 0


En nuestro caso, s = 5 , m = 3. Introducimos tres variables de holgura x s + 1 = x6 ,
x s + 2 = x7 y x s + m = x n = x 8 para convertir las tres restricciones de desigualdad en
un conjunto de tres ecuaciones lineales con ocho incógnitas junto con las restricciones de no
negatividad:


               12x1 +        7x2 +    8x3 + 10x4 + 7x5          + x6                 = 7680
               8x1 +    9x2 +        4x3 +            + 11x5           + x7          = 7680
               5x1 + 10x2 + 7x3 + 3x4                + 2x5                    + x8   = 7680
                               x1, x2, x3, x4, x5, x6, x7, x8   ≥ 0




                                                55
UNIVERSIDAD DE MANIZALES




La forma matricial de este sistema es A x = b , x ≥ 0 , en donde:


                                    x1 
                                    
                                    x2 
                                   x 
          12 7 8 10 7 1 0 0       3                                         7680 
                                  x4                                             
     A =  8 9 4 0 11 0 1 0     x=                                      b =  7680 
                               ,                                       ,                .
          5 10 7 3 2 0 0 1        x5                                        7680 
                                 x                                               
                                    6
                                    x7 
                                    
                                    x8 

En este ejemplo el sistema de restricciones funcionales tiene cinco variables más (en total son
ocho variables) que ecuaciones (de las cuales tenemos tres). Este hecho proporciona cinco
grados de libertad o cinco variables libres para resolver el sistema, pues se pueden elegir
cinco variables cualesquiera y asignarles cualquier valor arbitrario para resolver las tres
ecuaciones en términos de las tres variables restantes (con esto se excluyen redundancias). El
método símplex usa cero para este valor arbitrario. Las variables que por el momento se
hacen igual a cero se llaman variables no básicas, todas las demás se llaman variables
básicas. La solución que resulta es una solución básica. Si todas las variables básicas son no
negativas, entonces se tiene una solución básica factible.


En términos generales, el número de variables no básicas de una solución básica siempre es
igual a los grados de libertad del sistema de ecuaciones y el número de variables básicas
siempre es igual al número de restricciones funcionales.


                                              56
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




Dos soluciones básicas factibles son adyacentes si todas menos una de sus variables no

básicas son las mismas (de manera que la misma aseveración se cumple para sus variables

básicas). Entonces, transladarse de una solución básica factible a una adyacente significa

cambiar el estado de una variable no básica a básica y viceversa para otra variable.

Sea c s + i = 0 , i = 1,2,...,m. Entonces


   n                                                            s
  ∑cj xj     = c 1 x 1 + L + c s x s + 0 x s +1 + L + 0 x n = ∑ c j x j = Z            (3.1.2)
  j =1                                                         j =1




La relación entre las soluciones del problema original y el problema en su forma aumentada

viene dada por el siguiente teorema.



Teorema. Supongamos que x* = (x1*, x2*,... , xs*, x*s+1 , x*s+2 , ... , x*s+m) es una solución
maximal factible para las restricciones transformadas ( 3.1.1 ) y la función objetivo ( 3.1.2 ) ,

siendo el máximo valor Z ∗ . Entonces los primeros s elementos x1*, x2*,... , xs* de x ∗

representan una solución maximal factible al modelo de programación lineal en la que Z ∗

es el valor máximo. Además, cada solución factible x de ( 3.1.1 ) y                ( 3.1.2 ) se
corresponde con una y sólo una solución factible del modelo; a saber, la solución que contie-

ne los primeros s elementos de x y cada solución maximal factible x ∗ de ( 3.1.1 ) y

( 3.1.2 ) se corresponde con una única solución maximal factible del modelo, o sea, la


                                               57
UNIVERSIDAD DE MANIZALES




solución que contiene los primeros s elementos de x ∗ .



Según el teorema anterior, si podemos encontrar una solución que maximice ( 3.1.2 ) sujeta

a las restricciones ( 3.1.1 ) , hemos resuelto el problema de la programación lineal.
De esta manera, dada cualquier solución básica, la solución en el vértice correspondiente se

obtiene con sólo quitar las variables de holgura.



Al trabajar con el problema en forma de igualdades conviene tomar en cuenta y manipular la

ecuación de la función objetivo al mismo tiempo que las nuevas ecuaciones de las restriccio-

nes. Antes de comenzar con el método símplex es necesario escribir el problema una vez más

en una forma equivalente:

Maximizar Z ,

sujeta a;

(0)   Z -1.417x1 - 1.433x2       - 1.85x3 - 2.183x4 - 1.7x5                     =   0
(1)   12x1 +        7x2 +        8x3 +      10x4 +      7x5 + x6               = 7680
(2)   8x1 +        9x2 +        4x3 +               + 11x5          + x7        = 7680
(3)   5x1 +       10x2 +        7x3 +       3x4     +   2x5                + x8 = 7680
      x1, x2, x3, x4, x5, x6, x7, x8      ≥ 0

Es justo como si la ecuación (0) fuera una de las restricciones originales que, como ya se
encuentra en forma de igualdad, no necesita variable de holgura. Con esta interpretación, las



                                              58
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



soluciones básicas no cambian, excepto que Z puede verse como una variable básica adi-
cional permanente.


3.2. FORMA ALGEBRAICA DEL METODO SÍMPLEX.

Una vez adaptado el problema inicial a la forma descrita por ( 3.1.1 ) y ( 3.1.2 ) debe-

mos proceder a contestar las siguientes preguntas:


Ÿ   Paso inicial: ¿Cómo se selecciona la solución factible en un vértice (la solución

    básica factible) inicial?


Ÿ   Paso iterativo: al buscar un traslado a una solución factible en un vértice adyacente

    (una solución básica factible adyacente)

        1. ¿ Cómo se selecciona la dirección del traslado? (¿Qué variable no básica se

            selecciona para que se convierta en básica ?)

        2. ¿A qué lugar se hizo el traslado? (¿Cuál variable básica se convierte en no

             básica?)

        3. ¿Cómo se identifica la nueva solución?


Ÿ   Prueba de optimalidad: ¿Cómo se determina que la solución factible en un vértice

    actual (solución básica factible) no tiene soluciones factibles en un vértice adyacen-

    tes (soluciones básicas factibles adyacentes) que sean mejores?




                                               59
UNIVERSIDAD DE MANIZALES




En la presente sección se responderán estas preguntas. Para propósitos didácticos, se mos-

trará el procedimiento en la solución del problema del ejemplo prototipo (ejemplo 3.1).



Ÿ      Paso inicial.

       El método símplex puede comenzar en cualquier solución factible en un vértice (solución

       básica factible), de manera que se escoge una que sea conveniente. Antes de tomar en

       cuenta las variables de holgura, esta elección es el origen (con todas las variables

       originales iguales a cero), es decir

                               ( x1 , x 2 , x 3 , x4 , x5 ) = ( 0 , 0 , 0 , 0 , 0 )
(la notación ( x 1 , x 2 , x 3 , x 4 , x 5 ) = ( a 1 , a 2 , a 3 , a 4 , a 5 ) significa que x 1 = a 1 ,

    x 2 = a 2 , etc)1 . En consecuencia, después de introducir las variables de holgura, las
variables originales son variables no básicas y las variables de holgura son las varia-

bles básicas de la solución básica factible inicial. Esta elección se muestra en el siguiente

sistema de ecuaciones en el que las variables básicas se escribieron con mayúscula:

12x1 +          7x2 +             8x3 +          10x4      + 7x5 + X6                                  = 7680
 8x1 +          9x2 +             4x3 +                     + 11x5    + X7                             = 7680
5x1 +          10x2 +            7x3 +          3x4        + 2x5          + X8                         = 7680



1
 Nótese que al escoger el origen el lado izquierdo de todas las restricciones funcionales en el problema original es igual
a cero. por lo tanto, bajo las suposiciones actuales sobre la forma del modelo, incluyendo restricciones del tipo ≤ y
lados derechos positivos, esta solución en un vértice es automáticamente factible



                                                           60
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Como las variables no básicas son iguales a cero, el resto de la solución se lee como si no
existieran: entonces, X 6 = 7680 , X 7 = 7680 y X 8 = 7680 , de ahí que la solu-
ción básica factible inicial resulta igual a ( 0 , 0 , 0 , 0 , 0 , 7680 , 7680 , 7680 ) .


Nótese que la razón por la que esta solución se puede leer de inmediato es porque cada

ecuación tiene sólo una variable básica, que tiene coeficiente + 1, y que esta variable básica

no aparece en ninguna otra ecuación. Pronto se verá que cuando el conjunto de variables

básicas cambia, el método símplex utiliza un procedimiento algebraico (el de eliminación de

Gauss) para poner las ecuaciones en esta forma tan conveniente para leer igual todas las

soluciones básicas factibles subsecuentes. Esta forma se llama la forma apropiada de eli-

minación gaussiana.


Ÿ   Paso iterativo.
En cada iteración el método símplex se mueve de la solución básica factible actual a una

solución factible básica adyacente mejor. Este movimiento consiste en convertir una varia-

ble no básica (llamada variable básica entrante) en variable básica, y al mismo tiempo

convertir una variable básica (llamada variable básica que sale) en variable no básica, y en

identificar la nueva solución básica factible.



PREGUNTA 1. ¿Cuál es el criterio para seleccionar la variable básica entrante ?

Los candidatos para la variable básica entrante son las s variables básicas actuales. La que



                                                 61
UNIVERSIDAD DE MANIZALES




se elija, cambiará su estado de no básica a básica, por lo que su valor aumentará de cero a
algún valor positivo y las otras se mantendrán en nivel cero. Como se requiere que la nueva
solución básica factible sea mejor (un valor más grande de Z) que la actual, es necesario que
la tasa de cambio en Z al aumentar el valor de la variable básica entrante sea positivo.
Usando la ecuación (0) para expresar Z sólo en términos de las variables no básicas, el
coeficiente de cada una de estas variables es la tasa a la que Z cambiaría si se incrementara
el valor de esa variable. Se elige como variable básica entrante 2 la que tiene el coeficien-
te positivo mayor, ya que es la que hace que Z se incremente a la tasa más rápida.
Como aclaración, los cinco candidatos para variable básica entrante en nuestro ejemplo son
las variables no básicas actuales x 1 , x 2 , x 3 , x 4 y x 5 . Como la función objetivo ya
está escrita sólo en términos de estas variables, puede analizarse tal como está:


                 Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5


Todas las variables tienen coeficientes positivos, así que al aumentar cualquiera de ellas, el
valor de Z aumenta pero con tasas distintas, iguales a 1.417 , 1.433 , 1.85, 2.183 y 1.7
por cada unidad de aumento en la variable. La mayor de estas tasas es 2.183 , la cual
corresponde a la variable x 4 , así que esta variable se convierte en variable básica en-
trante. Así, se incrementará el valor de x 4 y el de las demás variables no básicas se dejará
en cero.
2
  Nótese que este criterio no garantiza la elección de la variable que más aumenta a Z debido a que puede ser que las
restricciones no permitan que esta variable aumente tanto como otras. No obstante, los cálculos adicionales que se
requieren para verificar esto hacen que no valga la pena hacerlo.



                                                         62
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




PREGUNTA 2. ¿Cómo se identifica la variable básica que sale ?

Al aumentar el valor de x 4 mientras que el de las demás variables no básicas x 1 , x 2 , x 3

y x 5 se mantiene en cero, una o todas las variables básicas actuales X 6 , X 7 y X 8
deben cambiar sus valores para mantener satisfecho el sistema de ecuaciones. Algunas de

estas variables decrecerán al crecer x 4 . La solución básica factible adyacente se alcanza

cuando la primera variable básica (variable básica que sale), llega a cero. Ahí se debe

detener para evitar la no factibilidad. Entonces, una vez elegida la variable básica entrante, la

variable básica que sale no es cuestión de elección. Debe ser la variable básica actual cuya

restricción de no negatividad impone la cota superior más pequeña, sobre cuánto puede

aumentar el valor de la variable básica entrante, como se ilustra enseguida.



En nuestro ejemplo, las posibilidades para la variable básica que sale son las variables

básicas actuales X 6 , X 7 y X 8 . Al hacer las demás variables iguales a cero, excepto

 x 4 , el conjunto de restricciones se convierte en

                            10x4 + X6                     = 7680
                                         X7               = 7680
                            3x4     +               X8    = 7680
                       x4 ≥ 0 , X 6 ≥ 0 , X7 ≥ 0 , X 8 ≥ 0 .


La primera ecuación junto con la restricción X 6 ≥ 0 nos proporcionan la desigualdad




                                               63
UNIVERSIDAD DE MANIZALES




                                                     7680
0 ≤ X 6 = 7680 − 10 x 4 , y equivale a x 4 ≤              , lo cual nos dice que          si
                                                      10
       7680
x4 >        entonces X 6 < 0 , que violaría la condición de no negatividad sobre
        10
X 6 . La segunda de estas ecuaciones nos dice que x 4 puede crecer sin límite sin afectar el
valor de X7 , mientras que la tercera ecuación nos dice que x 4 debe cumplir la condición

       7680
x4 ≤        para que x8 sea no negativa.. De esta manera, tenemos dos cotas superiores
         3
                   7680                                             7680
para x 4 : x 4 ≤        impuesta por la variable básica X 6 y x 4 ≤      impuesta
                    10                                                3
                                           7680
por X 8 . De estas cotas, la menor es           , así que la variable básica que sale es
                                            10
X 6 . Por lo tanto, en la nueva solución factible debe ser        x 6 = 0 (no básica) y
        7680
X4 =         (básica).
         10


La variable básica que sale se puede determinar en términos de la matriz A y el vector

b;

         x1 x 2 x 3 x 4 x5 X 6 X 7 X 8
      12 7 8 10 7 1 0 0                                         b1   7680 
                                                                            
 A =  8 9 4 0 11 0 1 0                                ,    b =  b2  =  7680 
                                                                            
      5 10 7 3 2 0 0 1                                          b3   7680 

                                            64
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL



Dado que x 4 es la variable básica entrante, observamos que sus coeficientes en las ecuaciones

vienen dados por la cuarta columna de la matriz A , es decir, por el vector:



                                          a 14   10 
                                                 
                                    A4 =  a 24  =  0 
                                                          .
                                         a   3 
                                          34   
                                        bi
Enseguida calculamos los cocientes          para i = 1 , 2 , 3 ;
                                        ai4

           b1 7680           b   7680                       b 3 7680
                =    = 768 , 2 =      =∞,                        =   = 2560 .
           a 14   10        a 24   0                        a 34   3


Escogemos el menor cociente, el cual corresponde a i = 1 . Esto nos indica que la variable

básica saliente está ubicada en la primera fila de la matriz A. En nuestro caso, dicha variable

es , X6 pues en la primera fila su coeficiente es 1 y el de las demás es 0 .



PREGUNTA 3. ¿Cómo puede identificarse la nueva solución básica factible en una

forma conveniente?

Después de identificar las variables básicas entrante y saliente (incluyendo el nuevo valor de
la variable básica entrante), todo lo que se necesita hacer para identificar la nueva solución

básica factible es encontrar los nuevos valores de las variables básicas restantes. Con este

propósito reducimos el sistema de ecuaciones a la misma forma apropiada de eliminación


                                              65
UNIVERSIDAD DE MANIZALES




de Gauss que se tenía en el paso inicial (aquella en la que cada ecuación tiene sólo una

variable básica con coeficiente + 1 , y esta variable básica no aparece en ninguna otra ecua-

ción). Esta conversión se realiza con dos tipos de operaciones algebraicas:


      Operaciones algebraicas para resolver un sistema de ecuaciones lineales


1. Multiplicar (o dividir) una ecuación por una constante diferente de cero.

2. Sumar (o restar) un múltiplo de una ecuación a otra.



Estas operaciones son legítimas porque aplican sólo: 1) multiplicar cosas iguales (ambos

lados de una ecuación) por la misma constante y 2) sumar cosas iguales a cosas iguales.

Por tanto, una solución satisfará un sistema de ecuaciones después de estas operaciones si y

sólo si lo hacía antes de realizarlas.



Para ilustrar, considérese el sistema de ecuaciones original, en donde las nuevas variables

básicas se muestran en mayúscula (y donde Z tiene el papel de variable básica en la

ecuación de la función objetivo):

(0)     Z -1.417x1 - 1.433x2         - 1.85x3 - 2.183X4 - 1.7x5                   = 0

(1)     12x1 +         7x2 +         8x3 +   10X4 + 7x5 + x6                      = 7680
(2)     8x1 +         9x2 +         4x3 +         + 11x5     + X7                 = 7680
(3)     5x1 +        10x2 +         7x3 +    3X4 + 2x5           + X8             = 7680


                                             66
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




Así, x 4 ha sustituido a X 6 en la ecuación (1). Es necesario resolver este sistema de

ecuaciones para encontrar los valores de Z, X4 , X7 y X8 (Obsérvese que X4 ≡ x 4 ,

X7 ≡ x7 y X8 ≡ x 8 . La escritura en mayúscula es para distinguir las variables básicas de

las no básicas).



Como X 4 tiene coeficiente 10 en la ecuación (1) (se escoge la ecuación (1) y no otra
porque esta ecuación contiene a la variable que sale, la cual es x 6 ), ésta ecuación se

dividirá por 10 para que la nueva variable básica tenga un coeficiente igual a 1 (este es

un ejemplo de operación algebraica 1), de lo cual resulta el sistema:

(0) Z -1.417x1 - 1.433x2       - 1.85x3 - 2.183X4 - 1.7x5                        = 0

    12       7                  8                      7        1
(1)    x1 +    x +                x +         X4 +        x5 +    x              = 768
    10      10 2               10 3                   10       10 6
(2) 8x1 +   9x2 +              4x3 +                  11x5          + X7         = 7680
(3) 5x1 + 10x2 +               7x3 +        3X4     + 2x5               + X8     = 7680


Ahora debe eliminarse X 4 de las otras ecuaciones en que aparece. Con este fin realizamos
las siguientes operaciones:


a. Multiplicamos la ecuación (1) por 2.183 y la sumamos a la ecuación (0) .

b. Multiplicamos la ecuación (1) por - 3 y la sumamos a la ecuación (3) .




                                            67
UNIVERSIDAD DE MANIZALES




Una vez realizadas estas operaciones se obtiene el sistema:

(0)* Z +1.2026 x1 +0.0951x2         - 0.1036x3           - 0.1719x5 + 0.2183 x 6 1676.54

            12               7        8                          7             1
(1)*           x +             x2 +     x + X4           +         x +           x       = 768
            10 1            10       10 3                       10 5          10 6
(2)*        8x1 +           9x2 +   4x3 +                    11x5              + X7      = 7680
          7            79      23                         1            3
(3)*        x     +       x2 +    x                  −      x     −      x6       + X8   = 5376
          5 1          10      5 3                       10 5         10


Ahora, al comparar este último conjunto de ecuaciones con el conjunto inicial que se obtuvo

en el paso inicial, se observa que se encuentra en la misma forma apropiada de eliminación

de Gauss que permite leer de inmediato la solución básica factible actual después de ver que

las variables no básicas x1, x2, x3, x5 y x6 son iguales a cero. Igualando estas variables a

cero en las ecuaciones (1)*, (2)* y (3)* obtenemos de manera inmediata los valores de

las variables básicas; X4 = 768, X7 = 7680 y X8 = 5376.. Se cuenta ahora con la nueva

solución básica factible:

( x1, x2, x3, x4, x5, x6, x7 , x8 ) = (0,0,0,768,0,0,7680,5376), lo que significa un valor de
Z = 1676.54 .



Para dar una perspectiva más amplia a este procedimiento algebraico, se acaba de resolver el

conjunto original de ecuaciones para obtener la solución general para Z, x4, x7 y x8 en



                                               68
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




términos de x1, x2 , x3, x5 y x6. Esto se logra despejando Z , x4 , x7 y x8 en las ecuaciones

(0)*, (1)*, (2)* y (3)*, pero no se hará aquí. Después se obtuvo una solución específica (la

solución básica factible) haciendo de x1, x2 , x3 , x5 y x6 (las variables no básicas) iguales

a cero. Este procedimiento para obtener la solución simultánea de ecuaciones lineales se

llama método de eliminación de Gauss – Jordan o, en forma corta, eliminación gaussiana.

El concepto clave de este método es usar dos tipos de operaciones algebraicas para reducir

el sistema de ecuaciones original a la forma apropiada de eliminación de Gauss , en

donde cada variable básica se elimina de todas las ecuaciones menos una (su ecuación) y en

esa ecuación tiene coeficiente +1 . Una vez obtenida la forma apropiada de eliminación

de Gauss, la solución para las variables básicas se puede leer directamente en el lado dere-

cho de las ecuaciones.

Ÿ ¿Cómo se identifica la nueva solución?

Ÿ Prueba de optimalidad.



Para determinar si la solución básica factible actual es óptima, se usa la ecuación (0) para

reescribir la función objetivo, sólo en términos de las variables no básicas actuales,

Z = - 1.2026 x1 - 0.0951x2 + 0.1036x3 + 0.1719x5 - 0.2183 x 6 + 1676.54                  (∗)
Aumentar el valor de cualquiera de estas variables no básicas (con el ajuste de los valores de

las variables básicas para que cumplan todavía con el sistema de ecuaciones) significa tras-

ladarse a una de las dos soluciones básicas factibles adyacentes.



                                             69
UNIVERSIDAD DE MANIZALES




En términos generales, la solución básica factible actual es óptima si y sólo si todas las varia-

bles no básicas tienen coeficientes no positivos ( ≤ 0 ) en la forma actual de la función

objetivo. Esta forma actual se obtiene despejando Z en la ecuación (0)* (ecuación (0)

actual) después de haber convertido todas las ecuaciones a la forma apropiada de elimina-

ción de Gauss (que elimina las variables básicas de esta ecuación). En nuestro caso, esta es

la ecuación (∗). De acuerdo a esto, la solución básica factible actual
             x = ( x1, x2, x3, x4, x5, x6, x7 , x8 ) = (0,0,0,768,0,0,7680,5376),

no es óptima ya que, por ejemplo, en la ecuación (∗) el coeficiente de x 3 es positivo.

En forma equivalente, sin despejar Z, la prueba de optimalidad consiste en que todas las

variables no básicas tengan coeficientes no negativos ( ≥ 0 ) en la ecuación (0) actual.


La razón para usar la forma actual de la función objetivo en lugar de la original es que la

forma actual contiene todas las variables no básicas y ninguna variable básica. Se

necesitan todas las variables no básicas para poder comparar todas las soluciones básicas

factibles adyacentes con la solución actual. Las variables básicas no deben aparecer, pues

sus valores pueden cambiar cuando se incrementa alguna variable no básica, en cuyo caso el

coeficiente de la variable no básica ya no indica la tasa de cambio de Z. A causa de las
ecuaciones de las restricciones en forma de igualdad, las dos formas de la función objetivo

son equivalentes, por lo que se usa la que contiene toda la información necesaria.




                                               70
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




La ecuación (0) se incluye desde el principio en el sistema de ecuaciones de restricción y

después en el proceso de eliminación de Gauss precisamente para poder obtener esta nueva

forma, más conveniente, de la función objetivo.



Puesto que, según vimos, la solución básica actual no es óptima, debemos proseguir con el

método símplex hasta lograr una solución óptima, es decir, debemos proseguir con la si-

guiente iteración. Antes de realizarla, conviene hacer un resumen del método símplex.



Resumen del método símplex

1. PASO INICIAL.

Se introducen las variables de holgura. Si el modelo no se ajusta a la forma estándar del

problema general de programación lineal, se deben hacer los ajustes necesarios. Para obte-

ner la solución básica factible inicial, se seleccionan las variables originales como las variables

no básicas (es decir, iguales a cero) y las variables de holgura como las variables básicas (y

por tanto, iguales al lado derecho de las ecuaciones). Se realiza la prueba de optimalidad.



2. PASO ITERATIVO.

Parte 1: se determina la variable básica entrante; para esto se selecciona la variable no

básica que, al aumentar su valor, aumente el valor de Z más rápidamente. Esta elección se




                                                71
UNIVERSIDAD DE MANIZALES




puede hacer usando la ecuación (0) para expresar Z sólo en términos de las variables no

básicas y eligiendo aquella cuyo coeficiente positivo sea el mayor. 3


Parte 2: se determina la variable básica que sale: se elige la variable básica que primero

alcanza el valor cero cuando se incrementa la variable básica entrante. Cada variable básica

aparece sólo en su ecuación, de manera que esta ecuación se usa para determinar cuándo

llega a cero esta variable básica si se aumenta el valor de la que entra. Un procedimiento

algebraico formal para realizarlo es el siguiente: sea j el subíndice de la variable básica
                '
entrante . Sea a íj su coeficiente actual en la ecuación (i) y sea b'i el lado derecho actual

de esta ecuación i=1,2...,m. Entonces la cota superior para x j en la ecuación (i) es

                                               + ∞          si     a'ij ≤ 0
                                               
                                               
                                       xj    ≤  b'i
                                                '             si   a'ij > 0 ,
                                                a ij
                                               

en donde la variable básica de esta ecuación se hace cero en esta cota superior. Entonces se

determina la ecuación con la cota superior más pequeña y se elige la variable básica actual

en esta ecuación como la variable básica que sale.




3
 En forma equivalente la ecuación (0) actual se puede usar en forma directa, en cuyo caso se seleccionaría la variable
no básica con el coeficiente mas negativo. Esto es lo que se hace en la forma tabular del método simplex que se presenta
mas adelante.



                                                          72
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




Parte 3: se determina la nueva solución básica factible: comenzando con el conjunto

actual de ecuaciones, se despejan las variables básicas y Z en términos de las soluciones no

básicas por el método de eliminación de Gauss–Jordan. Las variables no básicas se igualan

a cero y cada variable básica (y Z) es igual al nuevo lado derecho de la ecuación en que

aparece (con coeficiente +1).



3. PRUEBA DE OPTIMALIDAD. Se determina si la solución es óptima: se verifica si el

valor de Z puede aumentar al hacer que una de las variables no básicas crezca. Esto se

puede realizar al reescribir la función objetivo en términos de las variables no básicas y pasar

estas variables al lado derecho de la ecuación (0) (es decir, despejando Z en esta ecuación)

y al observar el signo de los coeficientes de cada una. Si todos los coeficientes son negativos

o cero, entonces la solución es óptima, y el proceso termina. De otra manera, se regresa al

paso iterativo.



A manera de aclaración, se aplicará este resumen a la siguiente iteración de nuestro

ejemplo prototipo.




                                              73
UNIVERSIDAD DE MANIZALES




ITERACIÓN 2 DEL EJEMPLO.

Parte 1: Como la ecuación (0) actual (o sea, la ecuación (0)*) da

Z = - 1.2026 x1 - 0.0951x2        + 0.1036x3 + 0.1719x5 - 0.2183 x 6 + 1676.54,
elegimos a x 5 como la variable básica entrante, pues ésta posee el mayor coeficiente

positivo.

Parte 2: Los límites superiores (o cotas superiores) sobre x 5 se muestran en la siguiente

tabla:

            Variable      Número de      Coeficiente     Parte derecha     Cota superior

            básica        ecuación       a'i 5 de x 5         b'i           para x 5

              x4              1              0.7             768             1097.14

              x7              2              11             7680             698.18

              x8              3             -0.1             5376              +∞



A partir de esta tabla se concluye que la menor cota superior para x 5 es igual a 4.698, la

cual corresponde a la variable básica x7 , es decir x7 tiene la menor cota superior sobre
x 5 . Por lo tanto, la variable x7 se convierte en variable básica que sale para dar lugar a la

variable entrante x 5 .



Parte 3: Debemos eliminar la variable x 5 de todas las ecuaciones, excepto de la ecuación

(2)* en la cual x 5 sustituye a x7 . El sistema correspondiente, junto con las nuevas



                                              74
INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL




variables básicas, las cuales aparecen en mayúscula, antes de dicha eliminación es

(0)* Z +1.2026 x1 + 0.0951x2 - 0.1036x3 - 0.1719X5 + 0.2183 x 6                             = 1676.54

               12      7        8                                7             1
(1)*              x1 +    x2 +    x + X4                   +        X +          x          = 768
               10      10      10 3                              10 5         10 6
(2)*            8x1 +   9x2 + 4x3 +                            11X5                + x7     = 7680
               7         79      23                                          3
(3)*             x   +      x2 +    x                       -0.1X5      −      x6     + X8 = 5376
               5 1       10      5 3                                        10


Se procede a eliminar x 5 de las ecuaciones (0)*, (1)* y (3)* por medio de las siguientes

operaciones:

Ÿ    Se dividen ambos miembros de la ecuación (2)* por el coeficiente de x 5 en dicha
     ecuación, es decir, por 11 para obtener la ecuación

       0.727 x 1 + 0.818 x 2 + 0.364 x 3 + X 5 + 0.091 x7 = 698.2                           (2)**

Ÿ    Se multiplica la ecuación (2)** por 0.1719 y se suma a la ecuación (0)*.

Ÿ    Se multiplica la ecuación (2)** por - 0.7 se suma a la ecuación (1)*.

Ÿ    Se multiplica la ecuación (2)** por 0.1 y se suma a la ecuación (3)*.

Una vez realizadas estas operaciones se obtiene el sistema :

    ( 0 )* *    Z + 1.328 x 1 + 0.236 x 2   − 0.04 x 3 +             0.218 x 6 + 0.016 x7         = 1797
    ( 1 )* *        0.691 x 1 + 0.127 x 2   + 0.545 x 3 + X 4 +       0.1 x 6 − 0.06 x7           = 279.3
    ( 2 )* *        0.727 x 1 + 0.818 x 2   + 0.364 x 3 +       X5 +              0.091 x7        = 698.2
    ( 3 )* *        1.473 x 1 + 7.982 x 2   + 4.636 x 3              − 0.3 x 6 + 0.009 x7 + X 8   = 5446



                                                     75
UNIVERSIDAD DE MANIZALES




Así, la nueva solución factible básica es :
 x = ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x7 , x 8 ) = ( 0 , 0 , 0 , 279.3 , 698.2 , 0 , 0 , 5446 )

Esta solución no es óptima, dado que en la ecuación (0)** el coeficiente de x 3 es

negativo. Por consiguiente, debemos realizar una iteración adicional..



ITERACIÓN 3 DEL EJEMPLO.

Parte 1: La ecuación (0)** es equivalente a

         Z = −1.328 x 1 − 0.236 x 2 + 0.04 x 3 − 0.218 x 6 − 0.016 x7 + 1797 .
La variable con mayor coeficiente positivo (¡ y único !) es x 3 , así que la escogemos como

variable básica entrante.

Parte 2: Los límites superiores (o cotas superiores) sobre x 3 se muestran en la siguiente

tabla:

    Variable básica          Número           Coeficiente   a'i 3   Parte derecha   Cota superior

                            de ecuación          de    x3                b'i         para   x3
           x4                   1                0.545                 279.3         512.477
           x5                   2                0.364                 698.2         1918.13
           x8                   3                4.636                 5446          1174.72


A partir de esta tabla se deduce que la variable que impone la menor cota superior sobre x 3

es x 4 , así que esta variable se convierte en variable que sale y en su lugar entra x 3 .


                                                  76
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales
Introduccion a programacion lineal   u de manizales

Más contenido relacionado

La actualidad más candente

Unmsm fisi - estudio de casos de problemas de programación lineal - io1 cl05
Unmsm   fisi - estudio de casos de problemas de programación lineal - io1 cl05Unmsm   fisi - estudio de casos de problemas de programación lineal - io1 cl05
Unmsm fisi - estudio de casos de problemas de programación lineal - io1 cl05Julio Pari
 
Programacion lineal presentacion (3)
Programacion lineal presentacion (3)Programacion lineal presentacion (3)
Programacion lineal presentacion (3)Ricardo Pesca
 
Como Usar Solver De Excel
Como Usar Solver De ExcelComo Usar Solver De Excel
Como Usar Solver De Excelguestb9bf58
 
Ficha tecnica de la canela
Ficha tecnica de la canelaFicha tecnica de la canela
Ficha tecnica de la canelaGITA
 
Ejercicios de programacion lineal-resueltos-mediante-el-metodo-simplex
Ejercicios de programacion lineal-resueltos-mediante-el-metodo-simplexEjercicios de programacion lineal-resueltos-mediante-el-metodo-simplex
Ejercicios de programacion lineal-resueltos-mediante-el-metodo-simplexSalvador Vasquez perez
 
Ejercicios programacion pseint
Ejercicios programacion pseintEjercicios programacion pseint
Ejercicios programacion pseintCarlos Martir
 
Resolucion problemas vi
Resolucion problemas viResolucion problemas vi
Resolucion problemas vilineal
 
Programación dinámica
Programación dinámica Programación dinámica
Programación dinámica Shin_Dan07
 
FICHA TECNICA MERMELADA DE FRESA
FICHA TECNICA MERMELADA DE FRESAFICHA TECNICA MERMELADA DE FRESA
FICHA TECNICA MERMELADA DE FRESAGITA
 
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...ADRIANA NIETO
 

La actualidad más candente (20)

Unmsm fisi - estudio de casos de problemas de programación lineal - io1 cl05
Unmsm   fisi - estudio de casos de problemas de programación lineal - io1 cl05Unmsm   fisi - estudio de casos de problemas de programación lineal - io1 cl05
Unmsm fisi - estudio de casos de problemas de programación lineal - io1 cl05
 
Programacion lineal presentacion (3)
Programacion lineal presentacion (3)Programacion lineal presentacion (3)
Programacion lineal presentacion (3)
 
Método gráfico
Método gráficoMétodo gráfico
Método gráfico
 
MÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTEMÉTODO DE TRANSPORTE
MÉTODO DE TRANSPORTE
 
Expo 2 método de dos fases
Expo 2   método de dos  fasesExpo 2   método de dos  fases
Expo 2 método de dos fases
 
Como Usar Solver De Excel
Como Usar Solver De ExcelComo Usar Solver De Excel
Como Usar Solver De Excel
 
Ficha tecnica de la canela
Ficha tecnica de la canelaFicha tecnica de la canela
Ficha tecnica de la canela
 
Practica de teoria de colas
Practica de teoria de colasPractica de teoria de colas
Practica de teoria de colas
 
Ejercicios de programacion lineal-resueltos-mediante-el-metodo-simplex
Ejercicios de programacion lineal-resueltos-mediante-el-metodo-simplexEjercicios de programacion lineal-resueltos-mediante-el-metodo-simplex
Ejercicios de programacion lineal-resueltos-mediante-el-metodo-simplex
 
Ejercicios programacion pseint
Ejercicios programacion pseintEjercicios programacion pseint
Ejercicios programacion pseint
 
El problema hungaro
El problema hungaroEl problema hungaro
El problema hungaro
 
Resolucion problemas vi
Resolucion problemas viResolucion problemas vi
Resolucion problemas vi
 
Problemas Resueltos de Teoría de Colas
Problemas Resueltos de Teoría de ColasProblemas Resueltos de Teoría de Colas
Problemas Resueltos de Teoría de Colas
 
investigacion de operaciones
investigacion de operacionesinvestigacion de operaciones
investigacion de operaciones
 
Programación dinámica
Programación dinámica Programación dinámica
Programación dinámica
 
Metodologia De Rand
Metodologia De RandMetodologia De Rand
Metodologia De Rand
 
Ejercicio 2
Ejercicio 2Ejercicio 2
Ejercicio 2
 
FICHA TECNICA MERMELADA DE FRESA
FICHA TECNICA MERMELADA DE FRESAFICHA TECNICA MERMELADA DE FRESA
FICHA TECNICA MERMELADA DE FRESA
 
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
Programación Lineal de un diagrama de red para un problema de Flujo Máximo a ...
 
Criterios
CriteriosCriterios
Criterios
 

Destacado

Ejercicios resueltos programacion lineal
Ejercicios resueltos programacion linealEjercicios resueltos programacion lineal
Ejercicios resueltos programacion linealJohana Rios Solano
 
Ejercicios y problemas sobre maximización y minimización por el método gráfico.
Ejercicios y problemas sobre maximización y minimización por el método gráfico.Ejercicios y problemas sobre maximización y minimización por el método gráfico.
Ejercicios y problemas sobre maximización y minimización por el método gráfico.yadipaosarchi
 
Bazaraa programacion-lineal
Bazaraa programacion-linealBazaraa programacion-lineal
Bazaraa programacion-linealAnni Zuñiga
 
Ejercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisionesEjercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisionesHéctor Antonio Barba Nanfuñay
 
Investigación de Operaciones 1/2
Investigación de Operaciones 1/2Investigación de Operaciones 1/2
Investigación de Operaciones 1/2CEMEX
 
Optimización corte de madera
Optimización corte de maderaOptimización corte de madera
Optimización corte de maderaflaminiovera
 
Programación Lineal
Programación LinealProgramación Lineal
Programación LinealMilena
 
Programacion lineal investigacion operaciones
Programacion lineal investigacion operacionesProgramacion lineal investigacion operaciones
Programacion lineal investigacion operacionesManuel Bedoya D
 
Metodo simplex - Elvis del Aguila L
Metodo simplex - Elvis del Aguila LMetodo simplex - Elvis del Aguila L
Metodo simplex - Elvis del Aguila Lelvisdelaguila
 
Clase 12. modelamiento matematico problemas de mezcla en pl
Clase 12. modelamiento matematico problemas de mezcla en plClase 12. modelamiento matematico problemas de mezcla en pl
Clase 12. modelamiento matematico problemas de mezcla en plLucas Mosquera
 
Programación lineal para administración
Programación lineal para administraciónProgramación lineal para administración
Programación lineal para administraciónSilver Mendoza A.
 
46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]Estudiantes Unamonagas
 
Dependencia lineal
Dependencia linealDependencia lineal
Dependencia linealrosy
 

Destacado (20)

Problemas rsueltos pl
Problemas rsueltos plProblemas rsueltos pl
Problemas rsueltos pl
 
Ejercicios resueltos programacion lineal
Ejercicios resueltos programacion linealEjercicios resueltos programacion lineal
Ejercicios resueltos programacion lineal
 
Ejercicios y problemas sobre maximización y minimización por el método gráfico.
Ejercicios y problemas sobre maximización y minimización por el método gráfico.Ejercicios y problemas sobre maximización y minimización por el método gráfico.
Ejercicios y problemas sobre maximización y minimización por el método gráfico.
 
Bazaraa programacion-lineal
Bazaraa programacion-linealBazaraa programacion-lineal
Bazaraa programacion-lineal
 
Ejercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisionesEjercicios de Programacion Lineal, LINDO, teoria de decisiones
Ejercicios de Programacion Lineal, LINDO, teoria de decisiones
 
Investigación de Operaciones 1/2
Investigación de Operaciones 1/2Investigación de Operaciones 1/2
Investigación de Operaciones 1/2
 
SISTEMAS DE GESTIÓN DE LA CALIDAD ISO 9001 2008
SISTEMAS DE GESTIÓN DE LA CALIDAD ISO 9001 2008SISTEMAS DE GESTIÓN DE LA CALIDAD ISO 9001 2008
SISTEMAS DE GESTIÓN DE LA CALIDAD ISO 9001 2008
 
GESTIÓN POR PROCESOS E INDICADORES DE GESTIÓN
GESTIÓN POR PROCESOS E INDICADORES DE GESTIÓNGESTIÓN POR PROCESOS E INDICADORES DE GESTIÓN
GESTIÓN POR PROCESOS E INDICADORES DE GESTIÓN
 
Optimización corte de madera
Optimización corte de maderaOptimización corte de madera
Optimización corte de madera
 
Programación Lineal
Programación LinealProgramación Lineal
Programación Lineal
 
Programacion lineal investigacion operaciones
Programacion lineal investigacion operacionesProgramacion lineal investigacion operaciones
Programacion lineal investigacion operaciones
 
Metodo simplex - Elvis del Aguila L
Metodo simplex - Elvis del Aguila LMetodo simplex - Elvis del Aguila L
Metodo simplex - Elvis del Aguila L
 
Clase 12. modelamiento matematico problemas de mezcla en pl
Clase 12. modelamiento matematico problemas de mezcla en plClase 12. modelamiento matematico problemas de mezcla en pl
Clase 12. modelamiento matematico problemas de mezcla en pl
 
Programación lineal para administración
Programación lineal para administraciónProgramación lineal para administración
Programación lineal para administración
 
Sesion 05a - Metodo Simplex
Sesion 05a - Metodo SimplexSesion 05a - Metodo Simplex
Sesion 05a - Metodo Simplex
 
05 programacion lineal a
05 programacion lineal a05 programacion lineal a
05 programacion lineal a
 
46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]46769481 guia-de-investigacion-de-operaciones-i[1]
46769481 guia-de-investigacion-de-operaciones-i[1]
 
Programación lineal
Programación linealProgramación lineal
Programación lineal
 
Ejercicio 2
Ejercicio 2Ejercicio 2
Ejercicio 2
 
Dependencia lineal
Dependencia linealDependencia lineal
Dependencia lineal
 

Similar a Introduccion a programacion lineal u de manizales

Programacion lineal......
Programacion lineal......Programacion lineal......
Programacion lineal......miguelrhve
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion linealluis fernandez
 
Metodos de Programacion no lineal
Metodos de Programacion no linealMetodos de Programacion no lineal
Metodos de Programacion no linealluisatero
 
Programación Lineal
Programación Lineal Programación Lineal
Programación Lineal adrianreinoza
 
Metodos de programacion no-lineal
Metodos de programacion no-linealMetodos de programacion no-lineal
Metodos de programacion no-linealRobert Rivero
 
Investigacion operaciones-modelos-y-aplicaciones-programacion-lineal
Investigacion operaciones-modelos-y-aplicaciones-programacion-linealInvestigacion operaciones-modelos-y-aplicaciones-programacion-lineal
Investigacion operaciones-modelos-y-aplicaciones-programacion-linealHenrry Lujan Acevedo
 
Resumen programacion lineal
Resumen programacion linealResumen programacion lineal
Resumen programacion linealSilvia Michay
 
323012985 investigacion-operativa-final
323012985 investigacion-operativa-final323012985 investigacion-operativa-final
323012985 investigacion-operativa-finalsaidharimsuarezlondo
 
Presentacion programacion lineal ivo
Presentacion programacion lineal ivoPresentacion programacion lineal ivo
Presentacion programacion lineal ivoJosPerdign
 

Similar a Introduccion a programacion lineal u de manizales (20)

Programacion lineal......
Programacion lineal......Programacion lineal......
Programacion lineal......
 
Trabajo programacion lineal
Trabajo  programacion  linealTrabajo  programacion  lineal
Trabajo programacion lineal
 
Metodos de Programacion no lineal
Metodos de Programacion no linealMetodos de Programacion no lineal
Metodos de Programacion no lineal
 
Programación Lineal
Programación Lineal Programación Lineal
Programación Lineal
 
Optimizacion
OptimizacionOptimizacion
Optimizacion
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Metodos de programacion no-lineal
Metodos de programacion no-linealMetodos de programacion no-lineal
Metodos de programacion no-lineal
 
Programacion no lineal
Programacion no linealProgramacion no lineal
Programacion no lineal
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Investigacion operaciones-modelos-y-aplicaciones-programacion-lineal
Investigacion operaciones-modelos-y-aplicaciones-programacion-linealInvestigacion operaciones-modelos-y-aplicaciones-programacion-lineal
Investigacion operaciones-modelos-y-aplicaciones-programacion-lineal
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Programacion lineal
Programacion linealProgramacion lineal
Programacion lineal
 
Resumen programacion lineal
Resumen programacion linealResumen programacion lineal
Resumen programacion lineal
 
323012985 investigacion-operativa-final
323012985 investigacion-operativa-final323012985 investigacion-operativa-final
323012985 investigacion-operativa-final
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Plantilla ensayo
Plantilla ensayoPlantilla ensayo
Plantilla ensayo
 
Presentacion programacion lineal ivo
Presentacion programacion lineal ivoPresentacion programacion lineal ivo
Presentacion programacion lineal ivo
 
Unidad 1 Introduccion.pptx
Unidad 1 Introduccion.pptxUnidad 1 Introduccion.pptx
Unidad 1 Introduccion.pptx
 

Último

SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 

Último (20)

Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 

Introduccion a programacion lineal u de manizales

  • 1. Universidad de Manizales INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL JULIAN GONZÁLEZ LÓPEZ ALVARO SALAS SALAS
  • 2.
  • 3. UNIVERSIDAD DE MANIZALES INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL JULIÁN GONZÁLEZ LÓPEZ Profesor Asociado Universidad de Manizales –Departamento de Matemáticas Universidad de Caldas - Facultad de Ciencias Exactas y Naturales Departamento de Matemáticas ALVARO SALAS SALAS Profesor Auxiliar Universidad de Caldas - Facultad de Ciencias Exactas y Naturales Departamento de Matemáticas Manizales, Octubre de 2000
  • 5. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL TABLA DE CONTENIDO CAPÍTULO I. PROGRAMACIÓN LINEAL. INTRODUCCIÓN 1 1.1. Modelos de programación lineal 3 1.1.1. Forma matricial del modelo de programación lineal 4 1.1.2. Forma estándar de un modelo de programación lineal 4 1.2. Formulación de modelos de programación lineal 8 Ejercicios propuestos 20 CAPÍTULO II. MÉTODO GRÁFICO PARA RESOLVER MODELOS DE PROGRAMACIÓN LINEAL CON DOS VARIABLES DE DECISIÓN. INTRODUCCIÓN 23 2.1. Método gráfico para el caso de dos variables de decisión 23 2.1.1. Graficación de un sistema de desigualdades 24 2.1.2. Isocuantas de la función objetivo 27 Ejercicios propuestos 32 5
  • 6. UNIVERSIDAD DE MANIZALES CAPÍTULO III. MÉTODO SÍMPLEX. INTRODUCCIÓN 35 3.1. Preparación para el método símplex 37 3.1.1. Variables de holgura 3.2. Forma algebraica del método símplex 41 3.3. Forma tabular del método símplex 56 3.4. Método símplex usando la técnica M (método de penalización) 67 Ejercicios propuestos 71 HOJA DE RESPUESTAS 73 BIBLIOGRAFIA 76 6
  • 7. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL PRESENTACIÓN La Investigación de Operaciones y en particular una de sus áreas “la programación lineal” ha tenido bastante difusión y aplicación en los últimos años. La necesidad de asignar en forma óptima, entre diversas actividades, recursos en general escasos como; dinero, mano de obra, energía, materia prima y muchos otros factores limitados; es importante para el profesional que en su ejercicio diario requiere tomar decisiones. La “programación matemática” dentro de la cual se encuentran los modelos de programación lineal difiere de los métodos de optimización clásica, ya que enfrenta problemas donde las limitaciones o restricciones se expresan como desigualdades, lo que le imprime mayor realis- mo a los modelos; en estos casos los métodos clásicos basados en el cálculo no funcionan. Este libro presenta de una manera sencilla, los conceptos básicos de la programación lineal y algunas de sus múltiples aplicaciones; va dirigido a estudiantes de las ciencias económico- administrativas y solo requiere de parte del lector conocimientos básicos de álgebra matricial. En el capítulo I se exponen los modelos de programación lineal y la solución de problemas cuyo planteamiento conduce a este tipo de modelos. El capítulo II presenta la solución de modelos de programación lineal con dos variables de decisión a través del método gráfico. El capítulo III desarrolla el algoritmo simplex inicialmente en forma algebraica con lo cual se busca una mejor comprensión de éste por parte del estudiante y posteriormente en su forma tabular más eficiente desde el punto de vista computacional. El capítulo IV muestra la implementación del algoritmo simplex en la plataforma del paquete MATHEMATICA a través de un programa interactivo, el cual permite además analizar los casos especiales que se presentan en estos modelos tales como; modelos sin solución, con soluciones óptimas alternativas y no acotados, se proporcionan también los criterios para detectar en el desarrollo del algoritmo la presencia de éstas situaciones. Agradecemos a nuestros lectores sus sugerencias y comentarios a fin de mejorar este mate- rial en futuras ediciones. JULIAN GONZALEZ LOPEZ ALVARO SALAS SALAS Manizales, septiembre de 2000 7
  • 9. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL CAPÍTULO I PROGRAMACIÓN LINEAL INTRODUCCIÓN Uno de los problemas fundamentales en la toma de decisiones es elegir dentro de un conjunto posible de alternativas (soluciones factibles de un problema de interés), la mejor decisión, o la óptima, según un criterio previamente definido. La optimización es una técnica que busca, con base en distintos modelos matemáticos, la asignación eficiente de recursos, siempre escasos, requeridos en diversas activida- des productivas que compiten entre sí, con el propósito de satisfacer los objetivos de- seados en el sector productivo, financiero, agrícola, entre otros, y que suelen ser la maximización o minimización de alguna cantidad tal como: costo, beneficio, tiempo, desperdicio, etc. Existen varios métodos de optimización; algunos clásicos utilizan el cálculo diferencial y fun- cionan bien en muchos casos; los no clásicos, cuyo desarrollo es más reciente, se basan en una serie de modelos llamados Modelos de Programación Matemática, como los modelos de programación lineal, modelos de programación entera, modelos de programación no li- neal, etc. Los modelos de programación matemática relacionan una variable de interés “Z” que se desea “optimizar” en términos de un conjunto de variables x1, x2, …, xn, denominadas variables de decisión, conformando una función objetivo que matemáticamente se ex- presa así: 9
  • 10. UNIVERSIDAD DE MANIZALES Z = f (x1, x2, … xn) La optimización de la variable “Z” normalmente está sujeta o condicionada a un conjunto de restricciones que son impuestas por el medio, o que reflejan limitaciones reales. Dichas restricciones se expresan en función de las variables de decisión a través de ecuaciones o inecuaciones según el tipo de limitación. Matemáticamente una restricción se expresa de la siguiente forma: gi (x1, x2, …, xn) ≤ = ≥ bi con i = 1, 2, 3, …, n Por la naturaleza de las variables de decisión x1, x2, … xn, puede ser necesario agregar restricciones adicionales; por ejemplo, que sean enteras, o que sean no negativas. Resumiendo, un modelo de programación matemática adopta la siguiente forma: maximizar o minimizar. [ Z = f (x1, x2, …, xn)] Función Objetivo Sujeta a: g1 (x1, x2, …, xn) ≤ = ≥ b1 g2 (x1, x2, …, xn) ≤ = ≥ b2 . Restricciones Principales . . gm (x1, x2, …, xn) ≤ = ≥ bm x1 ≥ 0, x2 ≥ 0, …, xn ≥ 0 Restricciones de no Negatividad En este modelo de programación matemática los métodos clásicos de optimización basados en el cálculo diferencial no funcionan debido a la presencia de restricciones expresadas como 10
  • 11. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL desigualdades, por lo cual es necesario desarrollar nuevos métodos para encontrar la solu- ción óptima. Los métodos de optimización no clásicos utilizan técnicas iterativas (paso a paso) los que en la actualidad con ayuda de los ordenadores resultan relativamente fáciles de implementar, permitiendo la solución de problemas donde intervienen gran cantidad de variables y de restricciones. 1. 1. MODELOS DE PROGRAMACIÓN LINEAL Un modelo de programación lineal es un modelo de programación matemática donde la función objetivo y las restricciones son lineales; es decir, tiene la forma: max. o min. [ Z = c1 x1 + c2 x2 + c3 x3 + … + cn xn ] Sujeta a: a11 x1 + a12 x2 + … + a1n xn ≤ = ≥ b1 a21 x1 + a22 x2 + … + a2n xn ≤ = ≥ b2 . . . . . . . . . am1 x1 + am2 x2 + … + amn xn ≤ = ≥ bm x1 ≥ 0, x2 ≥ 0 … xn ≥ 0 Las restricciones de no negatividad no son estrictamente necesarias, sin embargo, en proble- mas de naturaleza económica o financiera, entre otros, suelen estar presentes. 11
  • 12. UNIVERSIDAD DE MANIZALES En el modelo de programación lineal se tiene que: Z es la función objetivo o variable a optimizar, x1, x2 , …, xn son las variables de decisión y c1, c2 , …, cn , a11, a12 , …, amn , b1, b2 , …, bm son los parámetros. Los parámetros se pueden interpretar según el contexto donde surja el modelo; de esta forma se tiene que: c1, c2 , …, cn , son beneficios unitarios, costos unitarios o precios unitarios, entre otros, ai j para i= 1, 2, …, m ; j = 1, 2, …, n son los coeficientes tecnológicos y b1, b2 , …, bm pueden representar recursos disponibles, o bien demandas, etc. 1.1.1. FORMA MATRICIAL DEL MODELO DE PROGRAMACIÓN LINEAL El modelo de programación lineal puede escribirse de una manera más compacta usando la notación matricial, así: c11 a 11 a 12 . . . a 1n x1 b1 c22 a 21 a 22 . . . a 2n x2 b2 . . . . . . . . . C= . , A= . . . . . . , X= . , B= . . . . . . . . . . cn a m1 a m2 . . . a mn xn bm 12
  • 13. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL El modelo queda: max. o min. [ Z = C’X ] Sujeta a AX ≤ = ≥ B X ≥0 con C’ = Matriz transpuesta de C 1.1.2. FORMA ESTÁNDAR DE UN MODELO DE PROGRAMACIÓN LINEAL. Un modelo de programación lineal puede escribirse de tal forma que sus restricciones princi- pales sean todas de igualdad, es decir, que formen un sistema lineal de ecuaciones. Lo anterior es necesario para su solución por el método Símplex. El modelo de programación lineal así expresado se conoce como “Modelo de Programación Lineal en Forma Estándar”. Para escribir una desigualdad como igualdad es necesario sumar o restar una variable adicio- nal según sea del tipo menor o igual o mayor o igual, así: gi (x1, x2, …, xn ) ≤ bi ↔ gi(x1, x2, …, xn) + Xi = bi gk(x1, x2, …, xn) ≥ bk ↔ gk(x1, x2, …, xn) - Xk = bk Las variables Xi o Xk se denominan Variables de holgura y excedente, deben ser no negativas y su significado o interpretación económica se hace en el contexto de un problema real. Un modelo de programación lineal está en forma estándar si cumple las siguientes condicio- nes: 13
  • 14. UNIVERSIDAD DE MANIZALES Ÿ Todas las restricciones, con excepción de las restricciones de no negatividad son igualdades. Ÿ Los elementos del lado derecho de cada igualdad son no negativos (≥ 0). Ÿ Todas las variables son no negativas (≥ 0). Ÿ Se tiene como objetivo maximizar o minimizar Z. Ejemplo 1.1. Escriba el siguiente modelo de programación lineal en su forma estándar. min. [Z = x1 - 3x2 ] sujeta a: -x1 + 2x2 ≤ 5 x1 + 3x2 = 10 x1 , x2 son irrestrictas en signo. Nota: Cuando se dice que una variable es irrestricta en signo, significa que ella puede tomar valores positivos, negativos o cero. Solución: Se debe obtener un modelo con todas las variables de decisión no negativas,por lo cual se definen x1 , x2 en terminos de las variables x1+, x1-, x2+, x2- no negativas. x1 = x1+ - x1- con x1+ ≥ 0 y x1- ≥ 0 . x2 = x2+ - x2- con x2+ ≥ 0 y x2- ≥ 0 . Reemplazando x1 , x2, el modelo queda: min. [ Z = x1+ - x1- - 3x2+ + 3x2- ] sujeta a: -x1+ + x1- + 2x2+ - 2x2- ≤ 5 x1+ - x1- + 3x2+ - 3x2- = 10 x1+, x1-, x2+, x2- ≥ 0 14
  • 15. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Nota: Si al resolver este modelo se obtienen valores para x1+, x1- entonces en el modelo original el valor de x1 será x1 = x1+ - x1- La misma aclaración es válida para las demás variables. Llevando la primera restricción a igualdad sumándole una variable de holgura X3 en el lado izquierdo, obtenemos la forma estándar: min. [Z = x1+ - x1- - 3x2+ + 3x2- ] sujeta a: -x1+ + x1- + 2x2+ - 2x2- + X3 = 5 x1+ - x1- + 3x2+ - 3x2- = 10 x1+, x1-, x2+, x2-, X3 ≥ 0 Ejemplo 1.2. Obtenga la forma estándar del modelo de programación lineal: max. [Z = x1 - 2x2 + x3 ] sujeta a: x1 + x2 + x3 ≤ - 3 2x1 + x2 - x3 ≥ 1 x1 + x3 ≤ 3 x1 , x2 ≥ 0 , x3 ≤ 0 Solución: Se define x3* = - x3 con lo que se obtiene x3*≥ 0 15
  • 16. UNIVERSIDAD DE MANIZALES Reemplazando x3* y multiplicando por (-1) la primera restricción se llega al modelo: max. [Z = x1 - 2x2 -x3*] - x1 - x2 + x3*≥ 3 2x1 + x2 + x3*≥ 1 x1 - x3*≤ 3 x1, x2, x3* ≥ 0 Se agregan las variables de holgura X4 , X5 , X6 para obtener la forma estándar: max. [Z = x1 - 2x2 - x3*] sujeta a: - x1 - x2 +x3* - X4 = 3 2x1 + x2 +x3 * - X5 = 1 x1 - x3* + X6 = 3 x1, x2 , x3 , X4 , X5 , X6 ≥ 0 * 1.2. FORMULACIÓN DE MODELOS DE PROGRAMACIÓN LINEAL Sin duda la formulación de un modelo matemático para una situación real o un fenómeno natural no es algo fácil. Sin embargo, existen algunas pautas que pueden orientar al alumno en este proceso. No existen fórmulas mágicas ni recetas, pero sí estrategias que ayudan a abordar los problemas. Un problema de optimización, a menudo formulado verbalmente, debe expresarse en térmi- nos matemáticos. Se recomienda la siguiente estrategia: 16
  • 17. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Ÿ Con base en una lectura cuidadosa, comprender el problema e identificar las variables involucradas (variable a optimizar, variables de decisión) y el objetivo (maximizar o mi- nimizar). Ÿ Separar la información necesaria de la información que no se requiere en la construcción del modelo. Si es necesario organice adecuadamente la información en cuadros o tablas. Ÿ Definir en forma apropiada las variables de decisión x1 , x2 , …, xn y la función objetivo. Puede realizarse de varias formas, aunque una buena definición de las variables facilita la construcción del modelo, mientras que otras pueden complicar innecesariamente este proceso. Ÿ Construir la función objetivo en términos de las variables de decisión. No olvide conside- rar el análisis de dimensiones, el cual consiste en verificar que las unidades del lado iz- quierdo de una igualdad o desigualdad coincidan con las unidades del lado derecho. No tiene sentido, por ejemplo, una igualdad o desigualdad donde el lado izquierdo tiene unidades de tiempo y el lado derecho unidades de longitud. Ÿ Construir las restricciones en términos de las variables de decisión, de acuerdo con los aspectos mencionados en el numeral anterior. Cerciórese de que para usted es claro el significado de expresiones como: por lo menos, a lo sumo, como máximo, cuando mu- cho, al menos, como mínimo, entre otras. No olvide incluir todas las restricciones. Ÿ Exprese las restricciones implícitas o que aparecen disimuladas en el problema, pero que son claras por la naturaleza de las variables. Por ejemplo, las variables por su naturaleza pueden requerir que sean no negativas o enteras, o pueden carecer de restricciones. Sin ser exhaustivas, las anteriores recomendaciones, a pesar de que no garantizan éxito en la formulación de modelos, son de gran ayuda en el proceso. Recuerde que el factor principal es el ingenio y la creatividad en combinación con la experiencia. 17
  • 18. UNIVERSIDAD DE MANIZALES Veamos algunos ejemplos de formulación de modelos de programación lineal, en distintos campos. Ejemplo 1.3. Planeación de la Producción. Una planta industrial puede manufacturar 5 productos (A, B, C, D, E) en cualquier combina- ción. Cada producto requiere tiempo en 3 máquinas como se muestra en la tabla. Cada máquina está disponible 128 horas a la semana. Los productos son netamente competitivos y cualquier cantidad fabricada puede venderse a $5, $4, $5, $4, $4 la libra respectivamente. Los costos variables por hora de trabajo son $4 para las máquinas 1 y 2, y $3 para la máquina 3. Los costos de material para cada línea de producto son $2 para A y C y $1 para B, D, E por libra. Construya un modelo de programación lineal que permita determinar el nivel óptimo de pro- ducción (ver Cuadro – Ejemplo 1.3) Solución: El nivel óptimo de producción es el número de unidades (libras) a producir de cada producto A, B, C, D, E, con el fin de obtener la mayor utilidad. Definición de variables. Variable a optimizar : Z :Utilidad en pesos. Variables de decisión: x1 , x2 , x3 , x4 , x5 : Número de libras a producir de A, B,C,D y E, respectivamente. La información básica del sistema de producción se presenta en el siguente cuadro. 18
  • 19. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Tiempo en minutos/libra MÁQUINA PRODUCTO 1 2 3 Precio Venta Costo Materia Prima $/Libra $/Libra A 12 8 5 5 2 B 7 9 10 4 1 C 8 4 7 5 2 D 10 0 3 4 1 E 7 11 2 4 1 Cuadro – Ejemplo 1.3 Construcción de la función objetivo: Para construir la función objetivo se requiere cono- cer la utilidad por libra de cada producto. Costos por libra de cada producto: Una libra de producto A requiere: Materia prima $2 $ 12 $ 12 Minutos en la máquina A a 4 da horas × 4 = $ 0.8 hora 60 hora $ 8 $ 8 Minutos en la máquina B a 4 da horas × 4 = $ 0.53 hora 60 hora 19
  • 20. UNIVERSIDAD DE MANIZALES $ 5 $ 5 Minutos en la máquina C a 3 da horas × 3 = $ 0.25 hora 60 hora Total Costo Libra producto A $ 3.583 De igual forma obtenemos los costos por libra de los otros productos que aparecen en la tabla. La utilidad por libra de cada producto se obtiene restando del precio de venta por libra el costo por libra. Se propone al lector la verificación de las cifras en la siguiente tabla: PRODUCTO Precio × Libra en $ Costo × Libra en $ Utilidad × Libra en $ A 5 3.583 1.417 B 4 2.567 1.433 C 5 3.150 1.850 D 4 1.817 2.183 E 4 2.300 1.700 Por lo tanto la función de utilidad se construye sumando la utilidad total obtenida para x1 libras de A, x2 libras de B, x3 libras de C, x4 libras de D, x5 libras de E obteniéndose: Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5 Construcción de las restricciones: Cada máquina impone una restricción, pues la disponi- bilidad en horas a la semana está limitada a 128 horas o sea 7680 minutos. 20
  • 21. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Totalizando el número de minutos que se ocupa la máquina 1 en la producción de x1 libras de A, x2 libras de B, x3 libras de C, x4 libras de D, x5 libras de E, éste no debe sobrepasar el tiempo total disponible, es decir debe ser menor o a lo sumo igual a 7680 minutos. Máquina 1. min min 12 x 1 libra A + 7 x 2 libra B + 8 x 3 + 10 x 4 + 7 x 5 ≤ 7680 libra A libra B La restricción queda: 12x1 + 7x2 + 8x3 + 10x4 + 7x5 ≤ 7680. De igual forma se tiene restricción de tiempo para el uso de las máquinas 2 y 3 así: Máquina 2 8x1 + 9x2 + 4x3 + 10x5 ≤ 7680 Máquina 3 5x1 + 10x2 + 7x3 + 3x4 + 2x5 ≤ 7680 Se deja como ejercicio la deducción de estas dos últimas restricciones. Como las variables de decisión son el número de libras a producir de cada producto, ésta debe ser una cantidad no negativa, es decir, 0 (cero) o positiva, por lo que son necesarias las restricciones de no negatividad sobre las variables de decisión. 21
  • 22. UNIVERSIDAD DE MANIZALES El modelo de programación lineal finalmente queda: max [ Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5 ] sujeta a: 12x1 + 7x2 + 8x3 + 10x4 + 7x5 ≤ 7680 8x1 + 9x2 + 4x3 + + 11x5 ≤ 7680 5x1 + 10x2 + 7x3 + 3x4 + 2x5 ≤ 7680 x1, x2, x3, x4, x5 ≥ 0 Ejemplo 1.4. Planeación Financiera Un empresario tiene la opción de invertir su dinero en dos planes: el plan A le garantiza que cada peso invertido ganará 70 centavos dentro de un año, el plan B le ofrece que en 2 años su dinero se triplica, pero exige que las inversiones sean por periodos múltiplos de dos años. Construya un modelo de programación lineal para saber cuál será un plan de inversión para $1.000.000 con el fin de obtener el máximo dinero posible en el año 3. Solución: Con un diagrama de tiempo se definen las variables en forma apropiada, las flechas hacia abajo son las inversiones y hacia arriba representan las rentas o ingresos. Plan A 22
  • 23. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Plan B (Inversiones por períodos múltiplos de dos años) 3 X0B 3 X1B 0 1 2 3 Años X0 B X1B Sea Xi j : Cantidad de dinero a invertir en el plan j (j = A , B) en el año “ i ” ( i = 0, 1, 2 ) El objetivo es maximizar la suma de dinero disponible en el año 3. Sea Z suma de dinero a retirar en el año 3, es decir Z = 1.7X2A + 3X1B Las restricciones se relacionan con la cantidad de dinero disponible en cada período anual. En “ 0 ” hay disponible 1000000. Por lo tanto, X0A + X0B ≤ 1000000 En “ 1 ” hay disponible 1.7XOA . Por lo tanto, X1A + X1B ≤ 1.7XOA En “ 2 ” hay disponible 1.7X1A + 3XOB, luego X2A ≤ 1.7X1A + 3X0B Además, X0A, X1A, X2A, X0B , X1B ≥ 0 , X2B = 0 23
  • 24. UNIVERSIDAD DE MANIZALES El modelo de programación lineal queda: max [ Z = 1.7X2A + 3X1B ] Sujeta a: X0A + X0B < 1000000 1.7X0A - X1A - X1B ≥0 1.7X1A - X2A + 3XOB ≥0 X0A , X1A , X2A , X0B , X1B ≥ 0 Ejemplo 1.5. Puntos de Equilibrio Múltiple La compañía “ATI S.A.” fabrica dos tipos de productos A y B. La firma ha contratado 800 unidades de A y desea saber cuál es el punto de equilibrio óptimo teniendo la siguiente información: Precio $/Unidad Costo $/Unidad Costos Fijos Producto A 500 300 180000 Producto B 750 340 270000 Solución: Sean X1 : Número de unidades del producto A vendidas y producidas. X2 : Número de unidades del producto B vendidas y producidas Y : Ingresos por la venta del número de unidades producidas de A y B. C : Costo de producir X1 unidades de A y X2 unidades de B. El equilibrio se logra cuando los ingresos son iguales a los costos. 24
  • 25. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Como Y = 500X1 + 750X2 $ (Ingresos) C = 300X1 + 340X2 + 450000 $ (costos) Equilibrio Y - C = 0 Recta de Equilibrio: 200X1 + 410X2 = 450000 Si dibujamos la recta de equilibrio tenemos: Para buscar el punto de equilibrio debe asumirse algún criterio. Caso 1: Si el criterio es maximizar los ingresos se tiene el siguiente modelo: max [ Y = 500X1 + 750X2 ] Sujeta a: 200X1 + 410X2 = 450000 (Equilibrio) X1 ≥ 800 (Demanda comprometida) X1 , X2 ≥ 0 25
  • 26. UNIVERSIDAD DE MANIZALES Caso 2: Si el criterio es minimizar costos se obtiene el modelo. min. [ C = 300X1 + 340X2 ] sujeta a: 200X1 + 410X2 = 450.000 X1 ≥ 800 X1, X2≥ 0 Ejemplo 1.6. Mezclas. Un vinatero desea mezclar vino de 5 años diferentes para fabricar tres tipos de vino mezclados. La oferta disponible en galones del año “ i ” (con i = 1, 2, 3, 4, 5) es de 800, 900, 500, 900 y 600 respectivamente. La mezcla A se considera especial por lo que no se producirán más de 200 galones (ver Tabla – Ejemplo 1.6) ¿Cuántos galones debe producir de cada mezcla para maximizar el beneficio? Elabore un modelo de programación lineal. Solución: Para definir las variables de decisión en este caso conviene usar doble subíndice. Sea Xij : Cantidad en galones del año i (i = 1, 2, 3, 4 , 5) utilizados en la mezcla j ( j = A, B, C). Luego se tienen 15 variables de decisión a saber: X1A X2A X3A X4A X5A X1B X2B X3B X4B X5B X1C X2C X3C X4C X5C 26
  • 27. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL La siguiente tabla da los requerimientos y el beneficio por galón para cada tipo de vino mezclado. MEZCLA REQUISITO Beneficio por Galón en $ A Al menos el 60% debe provenir 4000 de los años 1 y 2 y no más del 10% de los años 4 y 5. B Al menos el 50% debe provenir 3000 de los años 1, 2 y 3. C No más del 50% del año 5. 2500 Tabla – Ejemplo 1.6 Función Objetivo: Z (utilidad en $) Objetivo: Maximizar utilidad. Se tiene además que: 5 ∑ XiA ; Cantidad total de galones producidos de la mezcla A. i =1 5 ∑ XiB ; Cantidad total de galones producidos de la mezcla B. i =1 5 ∑ XiC ; Cantidad total de galones producidos de la mezcla C. i =1 27
  • 28. UNIVERSIDAD DE MANIZALES La función utilidad queda entonces: 5 5 5 Z = 4.000 ∑ XiA + 3.000 ∑ XiB + 2.500 ∑ XiC i =1 i =1 i =1 Restricciones asociadas con la calidad del vino mezclado: Las restricciones determinan la calidad del la mezcla. Para el vino mezclado tipo A: Por lo menos el 60% de los años 1 y 2; X 1A + X 2 A 5 ≥ 0.6 ∑ X iA i =1 Se obtiene la restricción lineal: 5 0.6 ∑ XiA - X1A - X2A ≤ 0 i =1 No más del 10% de los años 4 y 5: X4A + X5A 5 ≤ 0.1 ∑ X iA i =1 Se obtiene la restricción lineal: 5 0.1 ∑ XiA - X4A - X5A ≥ 0 i =1 28
  • 29. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Para el vino mezclado tipo B: Al menos el 50% debe provenir de los años 1, 2 , 3: X 1B + X 2 B + X 3 B 5 ≤ 0.5 ∑ X iB i =1 Se obtiene la restricción lineal : 5 0.5 ∑ XiB - X1B - X2B - X3B ≤ 0 i =1 Para el vino mezclado tipo C: No más del 50% del año 5. X 5C 5 ≤ 0.5 ∑ X iC i =1 De donde resulta la restricción lineal: 5 0.5 ∑ XiC - X5C ≥ 0. i =1 Restricciones debido a la disponibilidad de recursos: Oferta de vino del año 1 X1A + X1B + X1C ≤ 800 Oferta de vino del año 2 X2A + X2B + X2C ≤ 700 Oferta de vino del año 3 X3A + X3B + X3C ≤ 500 Oferta de vino del año 4 X4A + X4B + X4C ≤ 900 Oferta de vino del año 5 X5A + X5B + X5C ≤ 600 29
  • 30. UNIVERSIDAD DE MANIZALES De la mezcla A no se producirán más de 200 galones. X1A + X2A + X3A + X4A + X5A ≤ 200 Restricciones de no negatividad: Todas las variables deben ser no negativas. Xij ≥ 0 para i = 1, 2, 3, 4, 5; j = A, B, C. Finalmente, el modelo de 15 variables con 10 restricciones queda: 5 5 5 max [Z = 4.000 ∑ XiA + 3.000 ∑ XiB + 2.500 ∑ XiC ] i =1 i =1 i =1 sujeto a: 5 0.6 ( ∑ XiA ) - X1A - X2A ≤ 0 i =1 5 0.1 ( ∑ XiA ) - X4A - X5A ≥ 0 i =1 5 0.5 ( ∑ XiB ) - X1B - X2B - X3B ≤ 0 i =1 5 0.5 ( ∑ XiC ) - X5C ≥ 0 i =1 X1A + X1B + X1C ≤ 800 X2A + X2B + X2C ≤ 700 30
  • 31. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL X3A + X3B + X3C ≤ 500 X4A + X4B + X4C ≤ 900 X5A + X5B + X5C ≤ 600 X1A + X2A + X3A + X4A + X5A ≤ 200 Xij ≥ 0 i = 1, 2, 3, 4, 5 j = A, B, C EJERCICIOS PROPUESTOS 1.1. Un inversionista puede elegir entre los planes de inversión A o B disponibles al comienzo de cada uno de los próximos cinco años. Cada peso invertido en el plan A al iniciar un año le reditúa el 42% dos años más tarde, y el plan B le reditúa por cada peso invertido a principio de año 0.60 pesos tres años más tarde, cantidades que puede reinvertir. Además cuenta con los planes C y D disponibles una sola vez sin posibilidad de reinvertir. Cada peso invertido en C al comienzo del segundo año le produce $2 cuatro años más tarde. Cada peso invertido en D al final del tercer año, le produce $1.70 dos años después. El inversionista comienza con $300.000 y desea conocer cuál es el plan “óptimo” de inversión que le maximice la cantidad de dinero al final del quinto año. Construya un modelo de programación lineal y resuélvalo con el paquete que le recomiende su profesor. 1.2. Un editor imprime un nuevo libro, para lo cual considera dos alternativas de empastado, en cartón duro o encolado. Un libro en cartón duro deja una utilidad de $4.000, mientras que en pasta blanda o encolado la utilidad es de tan sólo $900. Para empastar un libro en cartón duro se requieren 15 minutos y con pasta ordinaria 8 minutos. Se dispone de 70 horas para empastar y se estima que las ventas serán hasta 200 31
  • 32. UNIVERSIDAD DE MANIZALES copias para el libro con pasta dura y 400 copias a lo sumo del libro encolado. Formule un modelo de programación lineal que permita saber el número de libros a empastar de cada clase. 1.3. Un restaurante que presta servicio las 24 horas del día, requiere las siguientes meseras: Horas del día 2-6 6 - 10 10 - 14 14 - 18 18 - 22 22 - 2 No. Mínimo 4 8 11 6 12 4 de Meseras Cada mesera trabaja 8 horas consecutivas al día. Elabore un modelo de programación lineal que permita hallar el número óptimo (mínimo requerido) de meseras para cumplir los requisitos anteriores. 1.4. Una tienda de animales ha determinado que cada Hamster debe recibir al día por lo menos 78 unidades de proteína, 110 unidades de carbohidratos y 16 unidades de grasa. Si la tienda vende los 4 tipos de alimentos mostrados. ¿Qué mezcla de alimento satisface las necesidades nutricionales de los Hamster a un mínimo costo para la tienda? Elabore un modelo de programación lineal. Alimento Proteinas Carbohidratos Grasa Costo Unidad/Onza Unidad/Onza Unidad/Onza Centavo/Onza I 30 30 9 4 II 40 25 12 8 III 27 23 8 10 IV 18 45 5 3 32
  • 33. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL 1.5.Una persona hereda US$6.000 y desea invertirlos. Al oír esta noticia dos amigos distintos le ofrecen la oportunidad de participar como socio en dos negocios, cada uno planeado por cada amigo. En ambos casos la inversión significa dedicar un poco de tiempo el siguiente verano, al igual que invertir en efectivo. Con el primer amigo tendría que invertir U$5.000 y 400 horas y la ganancia estimada (ignorando el valor del tiempo) sería U$4.500. Las cifras correspondientes a la proposición del segundo amigo son U$4.000 y 500 horas, con una ganancia de U$4.500. Sin embargo, ambos amigos son flexibles y le permitirán entrar en el negocio con cualquier fracción de la sociedad; la participación en las utilidades sería proporcional a esa fracción. Como el heredero está buscando un trabajo interesante para el verano (600 horas a lo sumo) ha decido participar en una o ambas propuestas, con la combinación que maximice la ganancia total estimada. Formule el modelo de programación lineal para este problema. 1.6. Una compañía manufacturera descontinuó la producción de cierta línea de productos no redituable, lo cual creó un exceso considerable en la capacidad de producción. La gerencia quiere dedicar esta capacidad a uno o más de tres productos, llámense productos 1, 2 y 3. En la siguiente tabla se resume la capacidad disponible de cada máquina que puede limitar la producción. Tipo de máquina Disponibilidad Coeficiente de productividad Horas - Máquina/Semana Horas - Máquina/Unidad Prod.1 Prod.2 Prod.3 FRESADORA 500 9 3 5 TORNO 350 5 4 0 RECTIFICADORA 150 3 0 2 33
  • 34. UNIVERSIDAD DE MANIZALES El departamento de ventas ha indicado que las ventas potenciales para los productos 1 y 2 exceden la tasa máxima de producción y que las ventas potenciales del producto 3 son 20 unidades por semana. La ganancia unitaria sería de $50, $20 y $25 respectivamente para los productos 1, 2 y 3. El objetivo es determinar cuántos productos de cada tipo debe producir la compañía para maximizar la ganancia. Formule un modelo de programación lineal para este problema. 1.7. En el ejemplo 1.3, verificar los datos del cuadro para la utilidad por libra de cada producto y deducir las restricciones para las Máquinas 2 y 3. 34
  • 35. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL CAPÍTULO II MÉTODO GRÁFICO PARA RESOLVER MODELOS DE PROGRAMACIÓN LINEAL CON DOS VARIABLES DE DECISIÓN INTRODUCCIÓN Cuando un modelo de programación lineal tiene dos variables de decisión, las restricciones determinan regiones del plano. El conjunto de “m” restricciones define por lo tanto una región del plano que contiene todos los puntos (x1 , x2) que las satisfacen. Esta región del plano se denomina región de soluciones factibles, ya que cualquier punto de ella satisface las restricciones y por lo tanto es una solución del problema. De entre todas las soluciones factibles se trata de buscar la solución “óptima”, es decir, aquella que maximice o minimice la función objetivo. 2.1. MÉTODO GRÁFICO PARA EL CASO DE DOS VARIABLES DE DECISIÓN Los pasos a seguir para resolver un modelo de programación lineal de dos variables de decisión usando el método gráfico son: Paso 1: Dibujar la región de soluciones factibles. Paso 2: Dibujar algunas isocuantas de la función objetivo, es decir curvas en el plano donde para cualquier punto sobre cada una de ellas la función objetivo tiene un valor constante. Las ecuaciones de estas curvas son de la forma Z = const. 35
  • 36. UNIVERSIDAD DE MANIZALES Paso 3: Ubicar el vértice de la región factible donde ocurre el máximo o el mínimo dependiendo de la dirección en que crecen o decrecen las isocuantas. Una isocuanta crece en la dirección en que la función objetivo aumenta su valor y decrece en la dirección en que la función objetivo disminuye su valor. 2.1.1. GRAFICACIÓN DE UN SISTEMA DE DESIGUALDADES Para determinar la región del plano que satisface una desigualdad de la forma aX1 + bX2 + c ≤ 0 se procede de la siguiente manera: Ÿ Se dibuja en primer lugar la ecuación ignorando la desigualdad, es decir, graficamos aX1 + bX2 + c = 0: c _ __ a La recta aX1 + bX2 + c = 0 determina en el plano dos semiplanos denominados I y II. Los puntos sobre la recta satisfacen la igualdad aX1 + bX2 + c = 0, los puntos fuera de la recta en los semiplanos I y II satisfacen las desigualdades ( > ó < ). 36
  • 37. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Ÿ Para determinar cuál de los dos semiplanos satisface la desigualdad aX1 + bX2 + c < 0 se escoge un punto arbitrario del semiplano I o del II, y se reemplaza en la desigualdad. Por ejemplo, puede escogerse el origen (0, 0); si éste satisface la desigualdad, entonces todos los puntos del semiplano I que contiene a (0, 0) la satisfacen, en caso contrario la desigualdad la verifican los puntos de la región II. Ejemplo 2.1. Gráficar la región del plano que satisface la desigualdad 2x1 + 3x2 ≤ 6 Solución: Se grafica la ecuación 2x1 + 3x2 = 6 : X2 II II 2X1 + 3X2 = 6 I I X1 37
  • 38. UNIVERSIDAD DE MANIZALES Tomamos (0, 0) como punto de prueba: 2(0) + 3(0) < 6 0 < 6 Verdadero Por lo tanto la región sombreada que contiene el punto de prueba, satisface la desigualdad y los puntos sobre la recta satisfacen la igualdad. Ejemplo 2.2. Dibujar la región del plano cuyos puntos satisfacen las restricciones. 2x1 + x2 ≤ 4 x1 + x2 ≥ 1 x1 ≥ 0 , x2 ≥ 0 Solucion: 2x1 + x2 = 4 ; Punto de prueba (0, 0); 0 ≤ 4 Verdadero 38
  • 39. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL x1 + x2 = 1 : Punto de prueba (0, 0): 0 ≥ 1 Falso. x1≥ 0 y x2≥ 0 , primer cuadrante: 39
  • 40. UNIVERSIDAD DE MANIZALES Por lo tanto, la región del plano que satisface las restricciones dadas es la intersección de las tres regiones anteriores: 40
  • 41. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Para mayor claridad, la región se muestra en la gráfica siguiente: 2.1.2. ISOCUANTAS DE LA FUNCIÓN OBJETIVO Para un modelo de programación lineal con dos variables de decisión se tiene que la función objetivo es: Z = c1 x1 + c2 x2 Esta es la ecuación de un plano en el espacio tridimensional. Las isocuantas (curvas de nivel) se obtienen dando valores fijos a la variable “ Z ” obteniéndose una familia de rectas en el plano “ x1-x2 ”. Si Z = k con k constante tenemos: c1 x1 + c2 x2 = k , distintos valores de k darán diferentes elementos de la familia de rectas. 41
  • 42. UNIVERSIDAD DE MANIZALES Ejemplo 2.3. Dibujar las Isocuantas de la función Z = 3x1 + 2x2 ,cuando Z = 6, Z = 12, Z = 18 en el mismo plano. Solución: Si Z = 6 3x1 + 2x2 = 6 Si Z = 12 3x1 + 2x2 = 12 Si Z = 18 3x1 + 2x2 = 18 Ejemplo 2.4. Resolver el modelo de programación lineal. max. [Z = 2x1 + x2 ] Sujeto a: x2 ≤ 10 I 2x1 + 5x2 ≥ 10 II x1 + x2 ≤ 14 III 5x1 - 3x2 ≤ 20 IV x1 , x2 ≥ 0 42
  • 43. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Solución: Dibujamos la región de soluciones factibles. Las restricciones de no negatividad indican que la región de soluciones factibles se encuentra en el primer cuadrante. En el mismo plano se dibujan dos isocuantas de Z = 2x1 + x2 Si Z = 4 se tiene: 4 = 2x1 + x2 Z = 16 se tiene: 16 = 2x1 + x2 43
  • 44. UNIVERSIDAD DE MANIZALES Si visualmente se sigue la dirección en que crece “Z ” se observa que el máximo valor de “Z” se obtiene en el vértice “C ”. Las coordenadas del vértice “C” se obtienen resolviendo por la regla de Cramer, el sistema de ecuaciones correspondientes a las restricciones III y IV. Solucion del sistema de ecuaciones, para hallar las coordenadas del vertice C: x1 + x2 = 14 III 5x1 - 3x2 = 20 IV 14 1 20 −3 − 42 − 20 − 62 31 X1 = = = = 1 1 −3−5 −8 4 . 5 -3 1 14 5 20 20 − 70 − 50 25 X2 = = = = 1 1 −3−5 −8 4 . 5 -3 Por lo tanto los valores óptimos de x1 y x2 son: X1 = 31/4 y X2 = 25/4 y el máximo valor de Z es, Zmax=87/4 . 44
  • 45. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Ejemplo 2.5. Resolver el modelo de programación lineal. min. [Z = 50x1 + 20x2 ] Sujeta a: 2x1 - x2 ≥ 0 I x1 + 4x2 ≥ 80 II x1 + x2 ≥ 40 III 4x1 + 3x2 ≤ 240 IV x1, x2 ≥ 0 Solución: Dibujamos la región de soluciones factibles y dos isocuantas. 45
  • 46. UNIVERSIDAD DE MANIZALES Isocuantas de Z = 50x1 + 20x2 Si Z = 1500 1500 = 50x1 + 20x2 Z = 1700 1700 = 50x1 + 20x2 Se observa que el valor mínimo de Z se alcanza en el vértice A. Para obtener las coordenadas de “A” resolvemos el sistema: 2x1 - x2 = 0 x1 + x2 = 40 obteniendose como solución x1 = 40/3 , x2 = 80/3. Luego, el nivel óptimo se alcanza cuando, X1 = 40/3 , X2 = 80/3 y Z min = 1200 . EJERCICIOS PROPUESTOS DEL CAPÍTULO II 2.1. Una pequeña firma maneja dos procesos para combinar cada uno de dos productos: fluido para marcha y fluido para encendedor. La firma está tomando la decisión de cuántas horas correrá cada proceso. Por una hora del proceso I se consumen 3 unidades de kerozeno y 9 de benceno para producir 15 unidades de fluido para marcha y 6 unidades de fluido para encendedor. Por una hora del proceso II se consumen 12 unidades de kerozeno y 6 de benceno para producir 9 y 24 unidades de los dos tipos de fluidos respectivamente. Debido a un programa federal de asignaciones, la máxima cantidad de kerozeno y benceno disponibles son 300 y 400 unidades respectivamente. Los compromisos de venta requieren que se produzcan al menos 600 unidades de fluido 46
  • 47. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL para marcha y 225 de fluido para encendedor. Las utilidades por hora que reditúan los procesos I y II son 10 y 12 dólares por hora respectivamente. Formule un modelo de programación lineal para maximizar la utilidades y resuélvalo usando el método gráfico. 2.2. Resolver los siguientes modelos de programación lineal. a) max [ Z = 3x1 + 4x2 ] sujeta a: -x1 + x2 ≤ 3 x1 + 2x2 ≤ 9 3x1 + 2x2 ≤ 13 x1 - x2 ≤ 1 x1 + x2 ≥ 1 x1, x2 ≥ 0 b) min [Z = 9x1 + 9x2 ] sujeta a: x1 + x2 ≤ 10 5x1 + x2 ≥ 8 x1 + 2x2 ≥ 12 x2 ≤ 8 x1, x2 ≥ 0 c) min [ Z = 5x1 + 2x2 ] sujeta a: 3x1 + 6x2 ≥ 18 5x1 + 4x2 ≥ 20 8x1 + 2x2 ≥ 16 7x1 + 6x2 ≤ 42 x1, x2 ≥ 0 47
  • 48. UNIVERSIDAD DE MANIZALES 2.3. Una dieta se diseña de forma que contenga al menos 6 gramos de V1 y 15 gramos de V2 (V1 y V2 son dos tipos de vitaminas). Estos requerimientos mínimos van a obtenerse a partir de dos tipos de alimentos: F1 que contiene 1 gramo por libra de V1 y 2 gramos por libra de V2, y de F2 que contiene 1 gramo por libra de V1 y 5 gramos por libra de V2. Si el costo de F1 y F2 es de 1.20 y 1.80 pesos por libra, ¿Qué cantidad de cada tipo de cada tipo de alimento deberá comprarse y consumirse para satisfacer los requerimientos mínimos de la dieta de la forma más económica? 2.4. Resolver el modelo del ejemplo 1.1. 2.5. Resolver los modelos del ejemplo 1.5. 2.6. Resolver el modelo del ejercicio propuesto 1.2. 2.7. Resolver el modelo del ejercicio propuesto 1.5. 2.8. Un propietario quiere pintar su casa y desea que sea suficiente con una pasada. Para satisfacer este requisito la pintura debe tener una viscosidad de por lo menos 200 unidades. Otro requerimiento para obtener un nivel deseado de brillo es que debe incluir como mínimo 14 gramos de un ingrediente químico “ Y ” por galón de pintura. Además, para asegurar cierta durabilidad, también deberá tener por lo menos 30 gramos de una sustancia “Z” por cada galón de pintura. Hay dos tipos de pintura (I y II) a su disposición. El tipo I cuesta 6 dólares y el tipo II 4 dólares por galón. Las especificaciones de cada una de ellas son: 48
  • 49. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL PINTURA I PINTURA II (Por galón) (Por galón) Viscosidad (Unidades) 400 100 Y (Gramos) 20 10 Z (Gramos) 20 60 El propietario decide mezclar I y II a efecto de cumplir con las tres condiciones a un costo mínimo. ¿Qué cantidad de I y II han de mezclarse? ¿Cuál es el costo mínimo de la mezcla? 2.9. Una empresa local está planificando anunciar una venta especial de aniversario por radio y televisión durante una semana, y para ello se aprueba un presupuesto máximo de 16.000 dólares. Se sabe que el costo por 30 segundos de anuncio en la radio comercial es de 800 dólares. Por otra parte, la televisión comercial cuesta 4.000 dólares por anuncio. A causa de la fuerte demanda, solamente pueden realizarse 4 anuncios de televisión en la semana prevista. Sobre la base del grado estimado de audiencia y otros factores, se cree que un anuncio de televisión es 6 veces más efectivo que un anuncio de radio sobre los potenciales consumidores. ¿Cómo distribuiría la empresa su publicidad para atraer el mayor número posible de consumidores potenciales? 49
  • 51. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Capítulo III MÉTODO SÍMPLEX INTRODUCCIÓN El método símplex es un procedimiento general para resolver problemas de programación lineal. Desarrollado por George Dantzig en 1947, ha probado ser un método extraordi- nariamente eficiente que se usa en forma rutinaria para resolver problemas grandes en las computadoras de hoy en día. Excepto en el caso de problemas muy pequeños, su ejecución se hace siempre en una computadora y existe una amplia gama de complejos paquetes de software para ello. Este capítulo describe y ejemplifica la características principales del método símplex en su forma tanto algebraica como tabular. El método símplex es un algoritmo. Aun cuando el lector no haya oido este nombre, sin duda se ha encontrado con muchos algoritmo por ejemplo, el procedimiento familiar para hacer una división larga, es un algoritmo. También lo es el procedimiento para calcular la raíz cuadrada. De hecho, cual- quier procedimiento iterativo de solución es un algoritmo. Entonces, un algoritmo es simplemente un proceso en el que se repite (se itera) un procedimiento sistemático una y otra vez hasta obtener el resultado deseado. Cada vez que se lleva a cabo el procedimiento sistemático se realiza una iteración. (¿Puede el lector ver cuál es la iteración para el algorit- mo de la división?). 51
  • 52. UNIVERSIDAD DE MANIZALES Este método se emplea para resolver el problema de programación lineal (forma estándar) (ver Capítulo I, Sección 1.1.2) TERMINOLOGIA PARA LAS SOLUCIONES DEL MODELO Es posible que para el lector el término solución signifique la respuesta final a un problema, pero en programación lineal la convención es bastante distinta. Mas aún, cualquier conjunto de valores específicos para las variables de decisión x1 , x2 , ... xn se llama solución, sin importar si es una posibilidad deseable o ni siquiera permitida. Los diferentes tipos de solu- ciones se identifican usando un adjetivo apropiado. Una solución factible es aquella para la que todas las restricciones se satisfacen. La región factible es la colección de todas las soluciones factibles (puede suceder que esta región sea el conjunto vacío). Una solución óptima es una solución factible que lleva al valor más favorable de la función objetivo. El valor más favorable es el valor más grande o más pequeño, dependiendo si el objetivo es maximizar o minimizar, de modo que una solución óptima maximiza / minimiza la función objetivo sobre toda la región factible. En programación lineal, un problema puede tener más de una solución óptima, aunque en la práctica sólo hay una solución óptima. Otra posibilidad es que el problema carezca de solu- ciones óptimas. Esto ocurre sólo si: a) no tiene soluciones factibles o b) las restricciones no impiden que el valor de la función objetivo Z crezca indefinidamente en la dirección favora- ble (positiva o negativa). 52
  • 53. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL 3.1. PREPARACION PARA EL METODO SÍMPLEX. 3.1.1. Variables de holgura. El primer paso en el método simplicial es llevar el modelo de programación lineal a su forma estándar (ver Capítulo I, Sección 1.1.2), mediante la introducción de variables adicionales llamadas variables residuales o variables de holgura, con lo que se obtiene para las res- tricciones un sistema de m ecuaciones con n incógnitas, de la forma: a 11 x 1 + a 12 x 2 + . . . + a 1s x s + x s+1 = b1 a 12 x 1 + a 12 x 2 + . . . + a 2s x s + + x s+2 = b2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a m1 x 1 + a m2 x 2 + . . . + a ms x s + x s+m = bm x 1 m 0, x 2 m 0, . . ., x s m 0, x s+1 m 0, . . ., x s+m m 0 Aquí, x s+1 , x s+2 , . . ., x s+m son las variables de holgura. El sistema de ecuaciones así obtenido puede escribirse en forma matricial como A x = b , con x ≥ 0 , en donde: a 11 a 12 . . . a 1s 1 0 . . . 0 x1 b1 a 21 a 22 . . . a 2s 0 1 . . . 0 x2 b2 . . . . . . . . . . . . . . A= . . . . . . . . . . . . , x= . , b= . . . . . . . . . . . . . . . a m1 a m2 . . . a ms 0 0 . . . 1 x s+m bm 53
  • 54. UNIVERSIDAD DE MANIZALES Esta forma es mucho más conveniente para la manipulación algebraica y la identificación de las soluciones factibles en un vértice. Esta se llama forma aumentada del problema, ya que la forma original se ha aumentado con algunas variables adicionales necesarias (las variables de holgura) para aplicar el método símplex.. Una solución aumentada es una solución para las variables originales que se ha aumenta- do con los valores correspondientes de las variables de holgura. Una solución básica es una solución en un vértice aumentada. Ahora, una solución básica factible es una solución factible en un vértice aumentada. La única diferencia entre las soluciones básicas y las solu- ciones en un vértice (o entre soluciones básicas factibles y soluciones factibles en un vértice) es el que estén incluidos los valores de las variables de holgura. El siguiente ejemplo será utilizado para ilustrar el método símplex en su forma tanto algebraica como tabular para maximizar una función lineal en cinco variables. Lo llamaremos ejemplo prototipo. Si el problema consiste en minimizar una función Z = c1 x1 + c2 x2 + c3 x3 + … + cn xn , se maximiza la función Y= -Z , de modo que si Y* es el maximo de Y, entonces el minimo de Z de -Y* . 54
  • 55. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL EJEMPLO 3.1. En el Ejemplo 1.3 del Capítulo I sobre plan de producción se debe resolver el problema de maximizar la función Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5 sujeta a las restricciones 12x1 + 7x2 + 8x3 + 10x4 + 7x5 ≤ 7680 8x1 + 9x2 + 4x3 + + 11x5 ≤ 7680 5x1 + 10x2 + 7x3 + 3x4 + 2x5 ≤ 7680 x1, x2, x3, x4, x5 ≥ 0 En nuestro caso, s = 5 , m = 3. Introducimos tres variables de holgura x s + 1 = x6 , x s + 2 = x7 y x s + m = x n = x 8 para convertir las tres restricciones de desigualdad en un conjunto de tres ecuaciones lineales con ocho incógnitas junto con las restricciones de no negatividad: 12x1 + 7x2 + 8x3 + 10x4 + 7x5 + x6 = 7680 8x1 + 9x2 + 4x3 + + 11x5 + x7 = 7680 5x1 + 10x2 + 7x3 + 3x4 + 2x5 + x8 = 7680 x1, x2, x3, x4, x5, x6, x7, x8 ≥ 0 55
  • 56. UNIVERSIDAD DE MANIZALES La forma matricial de este sistema es A x = b , x ≥ 0 , en donde:  x1     x2  x   12 7 8 10 7 1 0 0   3  7680     x4    A =  8 9 4 0 11 0 1 0  x=  b =  7680  , , .  5 10 7 3 2 0 0 1   x5   7680    x     6  x7     x8  En este ejemplo el sistema de restricciones funcionales tiene cinco variables más (en total son ocho variables) que ecuaciones (de las cuales tenemos tres). Este hecho proporciona cinco grados de libertad o cinco variables libres para resolver el sistema, pues se pueden elegir cinco variables cualesquiera y asignarles cualquier valor arbitrario para resolver las tres ecuaciones en términos de las tres variables restantes (con esto se excluyen redundancias). El método símplex usa cero para este valor arbitrario. Las variables que por el momento se hacen igual a cero se llaman variables no básicas, todas las demás se llaman variables básicas. La solución que resulta es una solución básica. Si todas las variables básicas son no negativas, entonces se tiene una solución básica factible. En términos generales, el número de variables no básicas de una solución básica siempre es igual a los grados de libertad del sistema de ecuaciones y el número de variables básicas siempre es igual al número de restricciones funcionales. 56
  • 57. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Dos soluciones básicas factibles son adyacentes si todas menos una de sus variables no básicas son las mismas (de manera que la misma aseveración se cumple para sus variables básicas). Entonces, transladarse de una solución básica factible a una adyacente significa cambiar el estado de una variable no básica a básica y viceversa para otra variable. Sea c s + i = 0 , i = 1,2,...,m. Entonces n s ∑cj xj = c 1 x 1 + L + c s x s + 0 x s +1 + L + 0 x n = ∑ c j x j = Z (3.1.2) j =1 j =1 La relación entre las soluciones del problema original y el problema en su forma aumentada viene dada por el siguiente teorema. Teorema. Supongamos que x* = (x1*, x2*,... , xs*, x*s+1 , x*s+2 , ... , x*s+m) es una solución maximal factible para las restricciones transformadas ( 3.1.1 ) y la función objetivo ( 3.1.2 ) , siendo el máximo valor Z ∗ . Entonces los primeros s elementos x1*, x2*,... , xs* de x ∗ representan una solución maximal factible al modelo de programación lineal en la que Z ∗ es el valor máximo. Además, cada solución factible x de ( 3.1.1 ) y ( 3.1.2 ) se corresponde con una y sólo una solución factible del modelo; a saber, la solución que contie- ne los primeros s elementos de x y cada solución maximal factible x ∗ de ( 3.1.1 ) y ( 3.1.2 ) se corresponde con una única solución maximal factible del modelo, o sea, la 57
  • 58. UNIVERSIDAD DE MANIZALES solución que contiene los primeros s elementos de x ∗ . Según el teorema anterior, si podemos encontrar una solución que maximice ( 3.1.2 ) sujeta a las restricciones ( 3.1.1 ) , hemos resuelto el problema de la programación lineal. De esta manera, dada cualquier solución básica, la solución en el vértice correspondiente se obtiene con sólo quitar las variables de holgura. Al trabajar con el problema en forma de igualdades conviene tomar en cuenta y manipular la ecuación de la función objetivo al mismo tiempo que las nuevas ecuaciones de las restriccio- nes. Antes de comenzar con el método símplex es necesario escribir el problema una vez más en una forma equivalente: Maximizar Z , sujeta a; (0) Z -1.417x1 - 1.433x2 - 1.85x3 - 2.183x4 - 1.7x5 = 0 (1) 12x1 + 7x2 + 8x3 + 10x4 + 7x5 + x6 = 7680 (2) 8x1 + 9x2 + 4x3 + + 11x5 + x7 = 7680 (3) 5x1 + 10x2 + 7x3 + 3x4 + 2x5 + x8 = 7680 x1, x2, x3, x4, x5, x6, x7, x8 ≥ 0 Es justo como si la ecuación (0) fuera una de las restricciones originales que, como ya se encuentra en forma de igualdad, no necesita variable de holgura. Con esta interpretación, las 58
  • 59. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL soluciones básicas no cambian, excepto que Z puede verse como una variable básica adi- cional permanente. 3.2. FORMA ALGEBRAICA DEL METODO SÍMPLEX. Una vez adaptado el problema inicial a la forma descrita por ( 3.1.1 ) y ( 3.1.2 ) debe- mos proceder a contestar las siguientes preguntas: Ÿ Paso inicial: ¿Cómo se selecciona la solución factible en un vértice (la solución básica factible) inicial? Ÿ Paso iterativo: al buscar un traslado a una solución factible en un vértice adyacente (una solución básica factible adyacente) 1. ¿ Cómo se selecciona la dirección del traslado? (¿Qué variable no básica se selecciona para que se convierta en básica ?) 2. ¿A qué lugar se hizo el traslado? (¿Cuál variable básica se convierte en no básica?) 3. ¿Cómo se identifica la nueva solución? Ÿ Prueba de optimalidad: ¿Cómo se determina que la solución factible en un vértice actual (solución básica factible) no tiene soluciones factibles en un vértice adyacen- tes (soluciones básicas factibles adyacentes) que sean mejores? 59
  • 60. UNIVERSIDAD DE MANIZALES En la presente sección se responderán estas preguntas. Para propósitos didácticos, se mos- trará el procedimiento en la solución del problema del ejemplo prototipo (ejemplo 3.1). Ÿ Paso inicial. El método símplex puede comenzar en cualquier solución factible en un vértice (solución básica factible), de manera que se escoge una que sea conveniente. Antes de tomar en cuenta las variables de holgura, esta elección es el origen (con todas las variables originales iguales a cero), es decir ( x1 , x 2 , x 3 , x4 , x5 ) = ( 0 , 0 , 0 , 0 , 0 ) (la notación ( x 1 , x 2 , x 3 , x 4 , x 5 ) = ( a 1 , a 2 , a 3 , a 4 , a 5 ) significa que x 1 = a 1 , x 2 = a 2 , etc)1 . En consecuencia, después de introducir las variables de holgura, las variables originales son variables no básicas y las variables de holgura son las varia- bles básicas de la solución básica factible inicial. Esta elección se muestra en el siguiente sistema de ecuaciones en el que las variables básicas se escribieron con mayúscula: 12x1 + 7x2 + 8x3 + 10x4 + 7x5 + X6 = 7680 8x1 + 9x2 + 4x3 + + 11x5 + X7 = 7680 5x1 + 10x2 + 7x3 + 3x4 + 2x5 + X8 = 7680 1 Nótese que al escoger el origen el lado izquierdo de todas las restricciones funcionales en el problema original es igual a cero. por lo tanto, bajo las suposiciones actuales sobre la forma del modelo, incluyendo restricciones del tipo ≤ y lados derechos positivos, esta solución en un vértice es automáticamente factible 60
  • 61. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Como las variables no básicas son iguales a cero, el resto de la solución se lee como si no existieran: entonces, X 6 = 7680 , X 7 = 7680 y X 8 = 7680 , de ahí que la solu- ción básica factible inicial resulta igual a ( 0 , 0 , 0 , 0 , 0 , 7680 , 7680 , 7680 ) . Nótese que la razón por la que esta solución se puede leer de inmediato es porque cada ecuación tiene sólo una variable básica, que tiene coeficiente + 1, y que esta variable básica no aparece en ninguna otra ecuación. Pronto se verá que cuando el conjunto de variables básicas cambia, el método símplex utiliza un procedimiento algebraico (el de eliminación de Gauss) para poner las ecuaciones en esta forma tan conveniente para leer igual todas las soluciones básicas factibles subsecuentes. Esta forma se llama la forma apropiada de eli- minación gaussiana. Ÿ Paso iterativo. En cada iteración el método símplex se mueve de la solución básica factible actual a una solución factible básica adyacente mejor. Este movimiento consiste en convertir una varia- ble no básica (llamada variable básica entrante) en variable básica, y al mismo tiempo convertir una variable básica (llamada variable básica que sale) en variable no básica, y en identificar la nueva solución básica factible. PREGUNTA 1. ¿Cuál es el criterio para seleccionar la variable básica entrante ? Los candidatos para la variable básica entrante son las s variables básicas actuales. La que 61
  • 62. UNIVERSIDAD DE MANIZALES se elija, cambiará su estado de no básica a básica, por lo que su valor aumentará de cero a algún valor positivo y las otras se mantendrán en nivel cero. Como se requiere que la nueva solución básica factible sea mejor (un valor más grande de Z) que la actual, es necesario que la tasa de cambio en Z al aumentar el valor de la variable básica entrante sea positivo. Usando la ecuación (0) para expresar Z sólo en términos de las variables no básicas, el coeficiente de cada una de estas variables es la tasa a la que Z cambiaría si se incrementara el valor de esa variable. Se elige como variable básica entrante 2 la que tiene el coeficien- te positivo mayor, ya que es la que hace que Z se incremente a la tasa más rápida. Como aclaración, los cinco candidatos para variable básica entrante en nuestro ejemplo son las variables no básicas actuales x 1 , x 2 , x 3 , x 4 y x 5 . Como la función objetivo ya está escrita sólo en términos de estas variables, puede analizarse tal como está: Z = 1.417x1 + 1.433x2 + 1.85x3 + 2.183x4 + 1.7x5 Todas las variables tienen coeficientes positivos, así que al aumentar cualquiera de ellas, el valor de Z aumenta pero con tasas distintas, iguales a 1.417 , 1.433 , 1.85, 2.183 y 1.7 por cada unidad de aumento en la variable. La mayor de estas tasas es 2.183 , la cual corresponde a la variable x 4 , así que esta variable se convierte en variable básica en- trante. Así, se incrementará el valor de x 4 y el de las demás variables no básicas se dejará en cero. 2 Nótese que este criterio no garantiza la elección de la variable que más aumenta a Z debido a que puede ser que las restricciones no permitan que esta variable aumente tanto como otras. No obstante, los cálculos adicionales que se requieren para verificar esto hacen que no valga la pena hacerlo. 62
  • 63. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL PREGUNTA 2. ¿Cómo se identifica la variable básica que sale ? Al aumentar el valor de x 4 mientras que el de las demás variables no básicas x 1 , x 2 , x 3 y x 5 se mantiene en cero, una o todas las variables básicas actuales X 6 , X 7 y X 8 deben cambiar sus valores para mantener satisfecho el sistema de ecuaciones. Algunas de estas variables decrecerán al crecer x 4 . La solución básica factible adyacente se alcanza cuando la primera variable básica (variable básica que sale), llega a cero. Ahí se debe detener para evitar la no factibilidad. Entonces, una vez elegida la variable básica entrante, la variable básica que sale no es cuestión de elección. Debe ser la variable básica actual cuya restricción de no negatividad impone la cota superior más pequeña, sobre cuánto puede aumentar el valor de la variable básica entrante, como se ilustra enseguida. En nuestro ejemplo, las posibilidades para la variable básica que sale son las variables básicas actuales X 6 , X 7 y X 8 . Al hacer las demás variables iguales a cero, excepto x 4 , el conjunto de restricciones se convierte en 10x4 + X6 = 7680 X7 = 7680 3x4 + X8 = 7680 x4 ≥ 0 , X 6 ≥ 0 , X7 ≥ 0 , X 8 ≥ 0 . La primera ecuación junto con la restricción X 6 ≥ 0 nos proporcionan la desigualdad 63
  • 64. UNIVERSIDAD DE MANIZALES 7680 0 ≤ X 6 = 7680 − 10 x 4 , y equivale a x 4 ≤ , lo cual nos dice que si 10 7680 x4 > entonces X 6 < 0 , que violaría la condición de no negatividad sobre 10 X 6 . La segunda de estas ecuaciones nos dice que x 4 puede crecer sin límite sin afectar el valor de X7 , mientras que la tercera ecuación nos dice que x 4 debe cumplir la condición 7680 x4 ≤ para que x8 sea no negativa.. De esta manera, tenemos dos cotas superiores 3 7680 7680 para x 4 : x 4 ≤ impuesta por la variable básica X 6 y x 4 ≤ impuesta 10 3 7680 por X 8 . De estas cotas, la menor es , así que la variable básica que sale es 10 X 6 . Por lo tanto, en la nueva solución factible debe ser x 6 = 0 (no básica) y 7680 X4 = (básica). 10 La variable básica que sale se puede determinar en términos de la matriz A y el vector b; x1 x 2 x 3 x 4 x5 X 6 X 7 X 8  12 7 8 10 7 1 0 0   b1   7680        A =  8 9 4 0 11 0 1 0  , b =  b2  =  7680         5 10 7 3 2 0 0 1   b3   7680  64
  • 65. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Dado que x 4 es la variable básica entrante, observamos que sus coeficientes en las ecuaciones vienen dados por la cuarta columna de la matriz A , es decir, por el vector:  a 14   10      A4 =  a 24  =  0  . a   3   34    bi Enseguida calculamos los cocientes para i = 1 , 2 , 3 ; ai4 b1 7680 b 7680 b 3 7680 = = 768 , 2 = =∞, = = 2560 . a 14 10 a 24 0 a 34 3 Escogemos el menor cociente, el cual corresponde a i = 1 . Esto nos indica que la variable básica saliente está ubicada en la primera fila de la matriz A. En nuestro caso, dicha variable es , X6 pues en la primera fila su coeficiente es 1 y el de las demás es 0 . PREGUNTA 3. ¿Cómo puede identificarse la nueva solución básica factible en una forma conveniente? Después de identificar las variables básicas entrante y saliente (incluyendo el nuevo valor de la variable básica entrante), todo lo que se necesita hacer para identificar la nueva solución básica factible es encontrar los nuevos valores de las variables básicas restantes. Con este propósito reducimos el sistema de ecuaciones a la misma forma apropiada de eliminación 65
  • 66. UNIVERSIDAD DE MANIZALES de Gauss que se tenía en el paso inicial (aquella en la que cada ecuación tiene sólo una variable básica con coeficiente + 1 , y esta variable básica no aparece en ninguna otra ecua- ción). Esta conversión se realiza con dos tipos de operaciones algebraicas: Operaciones algebraicas para resolver un sistema de ecuaciones lineales 1. Multiplicar (o dividir) una ecuación por una constante diferente de cero. 2. Sumar (o restar) un múltiplo de una ecuación a otra. Estas operaciones son legítimas porque aplican sólo: 1) multiplicar cosas iguales (ambos lados de una ecuación) por la misma constante y 2) sumar cosas iguales a cosas iguales. Por tanto, una solución satisfará un sistema de ecuaciones después de estas operaciones si y sólo si lo hacía antes de realizarlas. Para ilustrar, considérese el sistema de ecuaciones original, en donde las nuevas variables básicas se muestran en mayúscula (y donde Z tiene el papel de variable básica en la ecuación de la función objetivo): (0) Z -1.417x1 - 1.433x2 - 1.85x3 - 2.183X4 - 1.7x5 = 0 (1) 12x1 + 7x2 + 8x3 + 10X4 + 7x5 + x6 = 7680 (2) 8x1 + 9x2 + 4x3 + + 11x5 + X7 = 7680 (3) 5x1 + 10x2 + 7x3 + 3X4 + 2x5 + X8 = 7680 66
  • 67. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Así, x 4 ha sustituido a X 6 en la ecuación (1). Es necesario resolver este sistema de ecuaciones para encontrar los valores de Z, X4 , X7 y X8 (Obsérvese que X4 ≡ x 4 , X7 ≡ x7 y X8 ≡ x 8 . La escritura en mayúscula es para distinguir las variables básicas de las no básicas). Como X 4 tiene coeficiente 10 en la ecuación (1) (se escoge la ecuación (1) y no otra porque esta ecuación contiene a la variable que sale, la cual es x 6 ), ésta ecuación se dividirá por 10 para que la nueva variable básica tenga un coeficiente igual a 1 (este es un ejemplo de operación algebraica 1), de lo cual resulta el sistema: (0) Z -1.417x1 - 1.433x2 - 1.85x3 - 2.183X4 - 1.7x5 = 0 12 7 8 7 1 (1) x1 + x + x + X4 + x5 + x = 768 10 10 2 10 3 10 10 6 (2) 8x1 + 9x2 + 4x3 + 11x5 + X7 = 7680 (3) 5x1 + 10x2 + 7x3 + 3X4 + 2x5 + X8 = 7680 Ahora debe eliminarse X 4 de las otras ecuaciones en que aparece. Con este fin realizamos las siguientes operaciones: a. Multiplicamos la ecuación (1) por 2.183 y la sumamos a la ecuación (0) . b. Multiplicamos la ecuación (1) por - 3 y la sumamos a la ecuación (3) . 67
  • 68. UNIVERSIDAD DE MANIZALES Una vez realizadas estas operaciones se obtiene el sistema: (0)* Z +1.2026 x1 +0.0951x2 - 0.1036x3 - 0.1719x5 + 0.2183 x 6 1676.54 12 7 8 7 1 (1)* x + x2 + x + X4 + x + x = 768 10 1 10 10 3 10 5 10 6 (2)* 8x1 + 9x2 + 4x3 + 11x5 + X7 = 7680 7 79 23 1 3 (3)* x + x2 + x − x − x6 + X8 = 5376 5 1 10 5 3 10 5 10 Ahora, al comparar este último conjunto de ecuaciones con el conjunto inicial que se obtuvo en el paso inicial, se observa que se encuentra en la misma forma apropiada de eliminación de Gauss que permite leer de inmediato la solución básica factible actual después de ver que las variables no básicas x1, x2, x3, x5 y x6 son iguales a cero. Igualando estas variables a cero en las ecuaciones (1)*, (2)* y (3)* obtenemos de manera inmediata los valores de las variables básicas; X4 = 768, X7 = 7680 y X8 = 5376.. Se cuenta ahora con la nueva solución básica factible: ( x1, x2, x3, x4, x5, x6, x7 , x8 ) = (0,0,0,768,0,0,7680,5376), lo que significa un valor de Z = 1676.54 . Para dar una perspectiva más amplia a este procedimiento algebraico, se acaba de resolver el conjunto original de ecuaciones para obtener la solución general para Z, x4, x7 y x8 en 68
  • 69. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL términos de x1, x2 , x3, x5 y x6. Esto se logra despejando Z , x4 , x7 y x8 en las ecuaciones (0)*, (1)*, (2)* y (3)*, pero no se hará aquí. Después se obtuvo una solución específica (la solución básica factible) haciendo de x1, x2 , x3 , x5 y x6 (las variables no básicas) iguales a cero. Este procedimiento para obtener la solución simultánea de ecuaciones lineales se llama método de eliminación de Gauss – Jordan o, en forma corta, eliminación gaussiana. El concepto clave de este método es usar dos tipos de operaciones algebraicas para reducir el sistema de ecuaciones original a la forma apropiada de eliminación de Gauss , en donde cada variable básica se elimina de todas las ecuaciones menos una (su ecuación) y en esa ecuación tiene coeficiente +1 . Una vez obtenida la forma apropiada de eliminación de Gauss, la solución para las variables básicas se puede leer directamente en el lado dere- cho de las ecuaciones. Ÿ ¿Cómo se identifica la nueva solución? Ÿ Prueba de optimalidad. Para determinar si la solución básica factible actual es óptima, se usa la ecuación (0) para reescribir la función objetivo, sólo en términos de las variables no básicas actuales, Z = - 1.2026 x1 - 0.0951x2 + 0.1036x3 + 0.1719x5 - 0.2183 x 6 + 1676.54 (∗) Aumentar el valor de cualquiera de estas variables no básicas (con el ajuste de los valores de las variables básicas para que cumplan todavía con el sistema de ecuaciones) significa tras- ladarse a una de las dos soluciones básicas factibles adyacentes. 69
  • 70. UNIVERSIDAD DE MANIZALES En términos generales, la solución básica factible actual es óptima si y sólo si todas las varia- bles no básicas tienen coeficientes no positivos ( ≤ 0 ) en la forma actual de la función objetivo. Esta forma actual se obtiene despejando Z en la ecuación (0)* (ecuación (0) actual) después de haber convertido todas las ecuaciones a la forma apropiada de elimina- ción de Gauss (que elimina las variables básicas de esta ecuación). En nuestro caso, esta es la ecuación (∗). De acuerdo a esto, la solución básica factible actual x = ( x1, x2, x3, x4, x5, x6, x7 , x8 ) = (0,0,0,768,0,0,7680,5376), no es óptima ya que, por ejemplo, en la ecuación (∗) el coeficiente de x 3 es positivo. En forma equivalente, sin despejar Z, la prueba de optimalidad consiste en que todas las variables no básicas tengan coeficientes no negativos ( ≥ 0 ) en la ecuación (0) actual. La razón para usar la forma actual de la función objetivo en lugar de la original es que la forma actual contiene todas las variables no básicas y ninguna variable básica. Se necesitan todas las variables no básicas para poder comparar todas las soluciones básicas factibles adyacentes con la solución actual. Las variables básicas no deben aparecer, pues sus valores pueden cambiar cuando se incrementa alguna variable no básica, en cuyo caso el coeficiente de la variable no básica ya no indica la tasa de cambio de Z. A causa de las ecuaciones de las restricciones en forma de igualdad, las dos formas de la función objetivo son equivalentes, por lo que se usa la que contiene toda la información necesaria. 70
  • 71. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL La ecuación (0) se incluye desde el principio en el sistema de ecuaciones de restricción y después en el proceso de eliminación de Gauss precisamente para poder obtener esta nueva forma, más conveniente, de la función objetivo. Puesto que, según vimos, la solución básica actual no es óptima, debemos proseguir con el método símplex hasta lograr una solución óptima, es decir, debemos proseguir con la si- guiente iteración. Antes de realizarla, conviene hacer un resumen del método símplex. Resumen del método símplex 1. PASO INICIAL. Se introducen las variables de holgura. Si el modelo no se ajusta a la forma estándar del problema general de programación lineal, se deben hacer los ajustes necesarios. Para obte- ner la solución básica factible inicial, se seleccionan las variables originales como las variables no básicas (es decir, iguales a cero) y las variables de holgura como las variables básicas (y por tanto, iguales al lado derecho de las ecuaciones). Se realiza la prueba de optimalidad. 2. PASO ITERATIVO. Parte 1: se determina la variable básica entrante; para esto se selecciona la variable no básica que, al aumentar su valor, aumente el valor de Z más rápidamente. Esta elección se 71
  • 72. UNIVERSIDAD DE MANIZALES puede hacer usando la ecuación (0) para expresar Z sólo en términos de las variables no básicas y eligiendo aquella cuyo coeficiente positivo sea el mayor. 3 Parte 2: se determina la variable básica que sale: se elige la variable básica que primero alcanza el valor cero cuando se incrementa la variable básica entrante. Cada variable básica aparece sólo en su ecuación, de manera que esta ecuación se usa para determinar cuándo llega a cero esta variable básica si se aumenta el valor de la que entra. Un procedimiento algebraico formal para realizarlo es el siguiente: sea j el subíndice de la variable básica ' entrante . Sea a íj su coeficiente actual en la ecuación (i) y sea b'i el lado derecho actual de esta ecuación i=1,2...,m. Entonces la cota superior para x j en la ecuación (i) es + ∞ si a'ij ≤ 0   xj ≤  b'i  ' si a'ij > 0 ,  a ij  en donde la variable básica de esta ecuación se hace cero en esta cota superior. Entonces se determina la ecuación con la cota superior más pequeña y se elige la variable básica actual en esta ecuación como la variable básica que sale. 3 En forma equivalente la ecuación (0) actual se puede usar en forma directa, en cuyo caso se seleccionaría la variable no básica con el coeficiente mas negativo. Esto es lo que se hace en la forma tabular del método simplex que se presenta mas adelante. 72
  • 73. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL Parte 3: se determina la nueva solución básica factible: comenzando con el conjunto actual de ecuaciones, se despejan las variables básicas y Z en términos de las soluciones no básicas por el método de eliminación de Gauss–Jordan. Las variables no básicas se igualan a cero y cada variable básica (y Z) es igual al nuevo lado derecho de la ecuación en que aparece (con coeficiente +1). 3. PRUEBA DE OPTIMALIDAD. Se determina si la solución es óptima: se verifica si el valor de Z puede aumentar al hacer que una de las variables no básicas crezca. Esto se puede realizar al reescribir la función objetivo en términos de las variables no básicas y pasar estas variables al lado derecho de la ecuación (0) (es decir, despejando Z en esta ecuación) y al observar el signo de los coeficientes de cada una. Si todos los coeficientes son negativos o cero, entonces la solución es óptima, y el proceso termina. De otra manera, se regresa al paso iterativo. A manera de aclaración, se aplicará este resumen a la siguiente iteración de nuestro ejemplo prototipo. 73
  • 74. UNIVERSIDAD DE MANIZALES ITERACIÓN 2 DEL EJEMPLO. Parte 1: Como la ecuación (0) actual (o sea, la ecuación (0)*) da Z = - 1.2026 x1 - 0.0951x2 + 0.1036x3 + 0.1719x5 - 0.2183 x 6 + 1676.54, elegimos a x 5 como la variable básica entrante, pues ésta posee el mayor coeficiente positivo. Parte 2: Los límites superiores (o cotas superiores) sobre x 5 se muestran en la siguiente tabla: Variable Número de Coeficiente Parte derecha Cota superior básica ecuación a'i 5 de x 5 b'i para x 5 x4 1 0.7 768 1097.14 x7 2 11 7680 698.18 x8 3 -0.1 5376 +∞ A partir de esta tabla se concluye que la menor cota superior para x 5 es igual a 4.698, la cual corresponde a la variable básica x7 , es decir x7 tiene la menor cota superior sobre x 5 . Por lo tanto, la variable x7 se convierte en variable básica que sale para dar lugar a la variable entrante x 5 . Parte 3: Debemos eliminar la variable x 5 de todas las ecuaciones, excepto de la ecuación (2)* en la cual x 5 sustituye a x7 . El sistema correspondiente, junto con las nuevas 74
  • 75. INTRODUCCIÓN A LA PROGRAMACIÓN LINEAL variables básicas, las cuales aparecen en mayúscula, antes de dicha eliminación es (0)* Z +1.2026 x1 + 0.0951x2 - 0.1036x3 - 0.1719X5 + 0.2183 x 6 = 1676.54 12 7 8 7 1 (1)* x1 + x2 + x + X4 + X + x = 768 10 10 10 3 10 5 10 6 (2)* 8x1 + 9x2 + 4x3 + 11X5 + x7 = 7680 7 79 23 3 (3)* x + x2 + x -0.1X5 − x6 + X8 = 5376 5 1 10 5 3 10 Se procede a eliminar x 5 de las ecuaciones (0)*, (1)* y (3)* por medio de las siguientes operaciones: Ÿ Se dividen ambos miembros de la ecuación (2)* por el coeficiente de x 5 en dicha ecuación, es decir, por 11 para obtener la ecuación 0.727 x 1 + 0.818 x 2 + 0.364 x 3 + X 5 + 0.091 x7 = 698.2 (2)** Ÿ Se multiplica la ecuación (2)** por 0.1719 y se suma a la ecuación (0)*. Ÿ Se multiplica la ecuación (2)** por - 0.7 se suma a la ecuación (1)*. Ÿ Se multiplica la ecuación (2)** por 0.1 y se suma a la ecuación (3)*. Una vez realizadas estas operaciones se obtiene el sistema : ( 0 )* * Z + 1.328 x 1 + 0.236 x 2 − 0.04 x 3 + 0.218 x 6 + 0.016 x7 = 1797 ( 1 )* * 0.691 x 1 + 0.127 x 2 + 0.545 x 3 + X 4 + 0.1 x 6 − 0.06 x7 = 279.3 ( 2 )* * 0.727 x 1 + 0.818 x 2 + 0.364 x 3 + X5 + 0.091 x7 = 698.2 ( 3 )* * 1.473 x 1 + 7.982 x 2 + 4.636 x 3 − 0.3 x 6 + 0.009 x7 + X 8 = 5446 75
  • 76. UNIVERSIDAD DE MANIZALES Así, la nueva solución factible básica es : x = ( x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x7 , x 8 ) = ( 0 , 0 , 0 , 279.3 , 698.2 , 0 , 0 , 5446 ) Esta solución no es óptima, dado que en la ecuación (0)** el coeficiente de x 3 es negativo. Por consiguiente, debemos realizar una iteración adicional.. ITERACIÓN 3 DEL EJEMPLO. Parte 1: La ecuación (0)** es equivalente a Z = −1.328 x 1 − 0.236 x 2 + 0.04 x 3 − 0.218 x 6 − 0.016 x7 + 1797 . La variable con mayor coeficiente positivo (¡ y único !) es x 3 , así que la escogemos como variable básica entrante. Parte 2: Los límites superiores (o cotas superiores) sobre x 3 se muestran en la siguiente tabla: Variable básica Número Coeficiente a'i 3 Parte derecha Cota superior de ecuación de x3 b'i para x3 x4 1 0.545 279.3 512.477 x5 2 0.364 698.2 1918.13 x8 3 4.636 5446 1174.72 A partir de esta tabla se deduce que la variable que impone la menor cota superior sobre x 3 es x 4 , así que esta variable se convierte en variable que sale y en su lugar entra x 3 . 76