Está en la página 1de 55

Unidad 1: Programación Líneal

Prof. John Ortega

1
Investigación de Operaciones
Es una disciplina que se ocupa de la aplicación de métodos
analíticos avanzados para ayudar a tomar mejores decisiones:
Todos los modelos de constan de 3 componentes básicas:
• Las variables de decisión que pretendemos determinar
• El objetivo (la meta) que necesitamos optimizar (maximizar o
minimizar)
• Las restricciones que la solución debe satisfacer
La IO es un abordaje sistemático para la solución de problemas.
Recurre al trabajo en equipo para capitalizar el talento de los
especialistas en IO en la evaluación, coordinación e
incorporación de conocimientos relevantes aportados por
expertos en otras áreas, apuntando a la Solución de un
determinado problema.
Mediante la aplicación de un abordaje científico, los gerentes
también pueden realizar predicciones exactas de lo que no
tienen bajo control.
Programación Líneal
La programación lineal (PL) es un método matemático de
optimización, que permite representar modelos lineales para
reducir costos o maximizar ganancias en diferentes áreas de una
organización.
Por lo que, es utilizada para la administración eficiente de los
procesos en todos los ámbitos de la economía. En este sentido, su
campo de aplicación es muy amplio.
Áreas de aplicación
• La PL como herramienta de optimización es utilizada en
aspectos relacionados a la administración eficiente de procesos
en todos los ámbitos de la economía; convirtiéndose en una
práctica habitual en la ciencia, la ingeniería y en los negocios.
• La PL es una valiosa herramienta para minimizar los costos de
transporte en una red de cadena de suministro.
• La PL permite diseñar una red de suministro. Encontrando la
ubicación óptima de centros de distribución, que minimice los
costos de transporte y cumpla con la demanda del cliente.
Áreas de aplicación
• La PL permite realizar un plan agregado para aumentar la
capacidad de producción de una empresa; al mismo tiempo que
se minimizan los costos de producción y se cumple con la
demanda del cliente.
• La PL es una valiosa herramienta para minimizar los costos de
transporte en una red de cadena de suministro.
• La PL permite diseñar una red de suministro. Encontrando la
ubicación óptima de centros de distribución, que minimice los
costos de transporte y cumpla con la demanda del cliente.
Características generales

1. Variables no negativas: Las variables que intervienen en un


problema las anotamos como 𝑥1 , 𝑥2 , 𝑥3 , … , 𝑥𝑛 , entonces deberá
ser ∀𝑗: 𝑥𝑗 ≥ 0
2. Restricciones lineales de las variables: Las variables
estan sometidas a ciertas restricciones que se expresan
matemáticamente a través de un conjunto de inecuaciones y/o
ecuaciones lineales de la forma que sigue:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ 𝑏2

𝑎𝑚1 𝑥1 + 𝑎𝑚1 𝑥2 + ⋯ + 𝑎𝑚1 𝑥𝑛 ≤ 𝑏𝑚
Si bien las restricciones pueden responder a condiciones de ≤, ≥
, =, se acepta esta notación genérica a efectos de facilitar su
presentación, ya que si una inecuación fuera de ≥, se puede
transformar en una inecuación de ≤ multiplicando ambos
miembros de la inecuación por -1; si una restricción fuera una
ecuación, se puede reemplazar a esta por dos inecuaciones; una
de ≤ y otra de ≥ con los mismos miembros que la ecuación
3. Existencia de una función líneal de las variables cuyo valor se
desea optimizar.
Se desea optimizar una función líneal de las incógnitas
𝑓(𝑥1 , 𝑥2 , … , 𝑥1 ) = 𝐶1 𝑥1 + 𝐶2 𝑥2 + ⋯ + 𝐶𝑛 𝑥𝑛
Llamada funcion objetivo o funcional (contracción de función y
líneal), Por Optimizar se entiende tanto maximizar (por ejemplo
si 𝑓 representa una utilidad) como minimizar (por ejemplo si 𝑓
representa un costo)
Usando Notación matricial y llamando:
𝑥1 𝑎11 𝑎12 … 𝑎1𝑛 𝑏1
𝑥2 𝑎21 𝑎22 … 𝑎2𝑛 𝑏2
𝑋= ,𝐴 = … … … ,𝐵=
… …
𝑥𝑛 𝑎 𝑚1 𝑎𝑚2 … 𝑎 𝑚𝑛 𝑏𝑛
y 𝐶 = 𝑐1 𝑐2 … 𝑐𝑛 , las características básicas de cualquier
problema de programación líneal se pueden escribir como sigue:
1. 𝑋 ≥ 𝑁 𝑁 = 𝑚𝑎𝑡𝑟𝑖𝑧 𝑛𝑢𝑙𝑎
2. 𝐴. 𝑋 ≤ 𝐵 𝑜 𝐴. 𝑋 ≥ 𝐵
3. 𝑓 𝑋 = 𝐶. 𝑋
Como resolver un problema de programación
líneal
1. Identificar las incógnitas del problema
2. Determinar las restricciones del problema
3. Hallar la función objetivo
4. Representar todas las restricciones en una gráfica y determinar el
espacio de soluciones
5. Determinar las coordenadas de todos los vértices del espacio de
soluciones (soluciones factibles)
6. Evaluar la función objetivo en cada uno de los vértices
7. El vértice en el que la función objetivo tome el mejor valor
corresponde a la solución óptima (solución óptima)
Supuestos básicos de la programación líneal
• Los coeficientes, tanto de la función objetivo como de las
restricciones, son conocidos con exactitud y además no
varían durante el período de tiempo en que se realiza el
estudio (supuesto de certidumbre).

• Tanto en la función objetivo como en las restricciones hay


proporcionalidad: si para la producción de un bien empleamos
5 horas de un determinado recurso (mano de obra,
maquinaria, etc.), para producir diez unidades de dicho bien
serán necesarias 50 horas del mismo recurso.
Supuestos básicos de la programación líneal
• Aditividad de actividades: tanto en la función objetivo como en las
restricciones, la contribución de cada variable es independiente de
los valores del resto de las variables, siendo el total de todas las
actividades igual a la suma de cada actividad individual. Así, por
ejemplo, si producimos dos tipos de bienes, uno que nos reporte un
beneficio de 20 $/unidad, y otro que nos reporte un beneficio de 10
$/unidad, la producción de un bien de cada tipo supondrá un
beneficio total de 30 $
Supuestos básicos de la programación líneal
• Las soluciones del problema serán, en general, números reales
no necesariamente enteros (supuesto de divisibilidad). Para
aquellos problemas en los cuales sólo tenga sentido obtener
soluciones enteras (cuando las soluciones se refieran a objetos
indivisibles), se usarán técnicas de Programación Lineal Entera
(PLE).

• Las variables de nuestro modelo tomarán siempre valores


positivos (supuesto de no negatividad), dado que no tiene
sentido hablar de cantidades negativas de objetos físicos.
Solución Gráfica de un modelo de programación
líneal
La solución gráfica incluye dos pasos:

1. Determinar el espacio de soluciones factibles.

2. Determinar la solución óptima de entre todos los puntos


localizados en el espacio de soluciones.
Unidad 1: Programación Líneal

Prof. John Ortega

1
Solución Gráfica de un modelo de programación
líneal
El método gráfico es una técnica que permite resolver los problemas
de programación lineal de manera intuitiva y visual. Consiste en la
representación geométrica de las restricciones para formar la región
factible y trazar la función objetivo en el punto óptimo.

La solución gráfica incluye dos pasos:

1. Determinar el espacio de soluciones factibles.

2. Determinar la solución óptima de entre todos los puntos


localizados en el espacio de soluciones.
Cuando se utiliza el Método Gráfico?
El método gráfico es muy útil para problemas de dos variables
de decisión. También se puede utilizar en ejercicios de 3
variables; sin embargo, se hace más difícil visualizar la
representación gráfica. Debido a la imposibilidad de ilustrar más
de tres dimensiones no se puede utilizar para problemas de más
de tres variables. Para problemas con mayor número de
variables puedes optar por utilizar Solver (Excel) o el Método
Simplex.
Pasos para resolver un problema de PL por el
Método Gráfico
Paso 1: Plantear el problema de Programación Lineal
El paso más importante para resolver un problema de
programación lineal es un correcto planteamiento matemático.
Paso 2: Trazar el gráfico de las restricciones
Cada una de las restricciones deben representarse en el gráfico.
Para ello deben determinarse los puntos de intersección con
cada eje y sombrear el área correspondiente (de ser el caso). Se
debe incluir las restricciones de no negatividad.
Pasos para resolver un problema de PL por el
Método Gráfico
Paso 3: Determinar la región factible
La zona que se genera de la intersección de las restricciones se
conoce como región factible. Esta región puedes ser acotada o
no acotada, así mismo en algunos casos las restricciones no
forman ninguna región factible. Cualquier punto que se ubique
dentro de esta región es una solución válida para la función
objetivo.
Pasos para resolver un problema de PL por el
Método Gráfico
Paso 4: Trazar la función objetivo
Dado que el método gráfico normalmente se utiliza para
problemas de dos variables, la función objetivo es una recta. Una
forma de graficarla es dándole un valor aleatorio como resultado
y calcular su dirección en el plano.
Paso 5: Encontrar la solución visual
Debes ubicar el punto óptimo donde pasará la función objetivo
dependiendo si el problema es de maximización o minimización.
El punto óptimo se encontrará en uno de los vértices de la región
factible.
Pasos para resolver un problema de PL por el
Método Gráfico
Paso 6: Calcular las coordenadas del punto óptimo
Para calcular las coordenadas del punto óptimo, debes resolver
algebraicamente el sistema de ecuaciones que generan las
restricciones que cruzan el punto óptimo.
Paso 7: Determinar el valor óptimo
Finalmente reemplazamos las coordenadas calculadas en el
paso anterior en la función objetivo para determinar su valor
óptimo.
Maximización
En el caso de problemas de maximización, la solución se
determina en la parte interior formada por el polígono
convexo. En este caso las restricciones serán representadas
por la expresión ≤, lo cual indica que en el caso de estudio no
podrán utilizarse más recursos que aquellos de los que se
dispone (finitud) y los coeficientes de las variables del
problema de acuerdo a las necesidades técnicas.
Minimización
En el caso de problemas de minimización, se utilizará en
las restricciones la expresión ≥, la zona de solución se
ajusta al conjunto convexo hacia afuera e identificando el
un punto exterior (vértice) que minimice la función
objetivo.
Unidad 1: Programación Líneal

Prof. John Ortega


Método Simplex
Se utiliza cuando los modelos matemáticos contienen
más de dos variables, ya no se pueden resolver por el
método gráfico, entonces se tiene un método alternativo
llamado Método Simplex, que permite resolver de
manera algebraica modelos de dos o más variables. .
¿Qué es el método simplex?
El método simplex es un procedimiento iterativo para
resolver problemas de programación lineal, donde se
busca obtener la solución óptima de la función objetivo
que logre cumplir el conjunto de restricciones
Conceptos Básicos

1.El conjunto de posibles soluciones o conjunto factible


de cualquier problema de programación lineal puede
representarse mediante un poliedro convexo.

2.Si un problema de programación lineal tiene una


solución óptima y finita, ésta estará en un vértice del
poliedro convexo que representa al problema.
El algoritmo simplex parte de uno de los vértices del
poliedro, y verifica si es el óptimo; si no lo es, busca un
nuevo vértice adyacentes que va mejorando el valor de
la función objetivo. Se continúa iterando hasta llegar al
vértice que representa la solución óptima.
En la siguiente imagen vemos el poliedro que representa
la solución factible y cómo realiza el recorrido el
algoritmo simplex:
Pasos del método Simplex
1. Definir el problema en la forma estándar y generar nuestra matriz.
2. Determinar la solución básica inicial.
3. Seleccionar la variable de entrada utilizando la condición de
optimalidad. Si no se puede seleccionar una variable de entrada,
quiere decir que estamos en la condición óptima y finalizan las
iteraciones. De otro modo se continúa con el siguiente paso.
4. Seleccionar la variable de salida utilizando la condición de
factibilidad.
5. Actualizar nuestra matriz realizando las operaciones de Gauss-
Jordan. Volver al paso número 3.
Un problema de PL tiene la siguiente forma:
Donde 𝑥1,𝑥2, 𝑥3…𝑥𝑛 son las variables del problema.
Antes de llevar nuestro modelo a la forma estándar debemos
verificar que todas las restricciones tienen el lado derecho no
negativo. Es decir:
𝑏1,𝑏2, 𝑏3…𝑏𝑚 ≥ 0
¿Qué hago si el lado derecho de la restricción es negativo?
Cuando el término independiente de la restricción es negativo,
se debe multiplicar por -1 toda la restricción para convertir el
valor del lado derecho en positivo
Esta multiplicación también afectará al signo de la restricción de
la siguiente forma:
• Si la restricción es del tipo mayor igual (≥), se deberá cambiar
a menor igual (≤).
• En caso la restricción sea del tipo menor igual (≤), se deberá
cambiar a mayor igual (≥).
• Si la restricción es una igualdad, el signo se mantiene.
Un caso especial es cuando el término independiente de la
restricción es 0 y el signo es mayor igual (≥); en dicha situación,
podemos multiplicar la restricción por (-1) para convertirla en
menor igual (≤). Esto nos servirá para no utilizar variables
artificiales.
Convertir restricciones en igualdades
Para convertir las restricciones en igualdades va a depender de
su signo:
• Si la restricción es menor igual (≤): Para este tipo de
restricciones debemos introducir una variable no negativa
llamada de holgura y que son auxiliares para el problema. Por
ejemplo:
Convertir restricciones en igualdades
• Cuando la restricción es mayor igual (≥): En este tipo de
restricciones se debe restar una variable de exceso y así
mismo agregar una variable artificial. Por ejemplo:
Convertir restricciones en igualdades
• Si la restricción es igual (=): En este tipo de restricciones
debemos agregar una variable artificial de la siguiente forma:
Para las restricciones que utilizan variables artificiales debemos
utilizar el método de 2 fases o el método de la M Grande.
Una vez convertidas las restricciones en ecuaciones podemos
generar la matriz
Condición de optimalidad
Seleccionamos la variable de entrada utilizando la condición de
optimalidad.
La condición de optimalidad consiste en verificar si la solución
actual que tenemos en la matriz es la óptima o si se puede
mejorar. Se verifica de la siguiente manera:
En un problema de maximización si todos los coeficientes de la
función Objetivo son mayores o iguales que cero, quiere decir
que estamos en el punto óptimo y finaliza el problema.
En un problema de minimización si todos los coeficientes de la
función Objetivo son menores o iguales que cero, quiere decir
que estamos en el punto óptimo y finaliza el problema
Condición de Factibilidad

La condición de factibilidad, para cualquier problema ya sea de


maximización o minimización, se verifica evaluando los valores
de los coeficientes de la matriz de restricciones que se
encuentran en la columna que corresponde a la variable de
entrada.
Se debe verificar que al menos uno de sus valores sea mayor
que 0 para obtener nuestra variable de salida. Si no se cumple
esa condición significa que el problema tiene solución ilimitada
no acotada.
Tabla Simplex

El Método Simplex se hace un poco más sencillo (y esto es mucho decir si estamos
abordando una resolución manual), mediante el uso de tabulados simplex.
Se pueden agregar o retirar elementos del tabulado, de acuerdo a su utilidad
Elementos de la tabla Simplex

Variable Solución = Todo parte de definir las variables que harán parte de la solución. En
esta columna se escribe la solución básica inicial, y a partir de esta en cada iteración se van
incluyendo las variables que formarán parte de la solución final.

Solución: En esta fila se escribe el segundo término de la solución, es decir, el coeficiente


de las variables de la columna variable solución, lo más adecuado es que estas se escriban
de manera ordenada, tal cual como se escribieron en la definición de restricciones.

𝑪𝒃 = En esta columna se escribe el valor que tiene la variable que se encuentra a su


derecha «Variable solución» en la función objetivo.

𝑪𝒋 = Dado que en cada columna se registra una variable (título de la columna), la fila «𝑪𝒋 »
hace referencia al coeficiente que tiene cada una de ellas en la función objetivo en la función
objetivo.
Elementos de la tabla Simplex

𝒁𝒋 = En esta fila se consigna la contribución total, es decir la suma de los productos entre el
término de cada columna y 𝑪𝒃 .

𝑪𝒋 – 𝒁𝒋 = En esta fila se realiza la diferencia entre la fila 𝑪𝒋 y la fila 𝒁𝒋 , su significado es un


«Precio Sombra», es decir, la utilidad que se deja de recibir por cada unidad de la variable
correspondiente que no forme parte de la solución. Y representa también el precio dual de
las restricciones representadas por las variables de holgura y exceso.
Iteraciones en el Método Simplex

El Método Simplex es un algoritmo iterativo, y por ende, los criterios para pasar de una
iteración a otra son definitivos.

El Método Simplex consiste en realizar intentos o recorridos mientras el modelo va de un


vértice del poliedro objetivo a otro. Cada recorrido de un vértice a otro estará representado
por un tabulado de Simplex o iteración.

¿Qué es lo que pasa en cada iteración? Básicamente una variable entra a la solución inicial,
por ende, una variable sale de la solución inicial, y al final de la iteración nos preguntamos si
hemos hallado o no la solución óptima.
Finalización del Método Simplex

Las iteraciones se repiten cuantas veces sea necesario y solo se dará por terminado el
método según los siguientes criterios.
Problema de Maximización Nro 1

La empresa el SAMÁN, dedicada a la fabricación de muebles, ha ampliado su producción en


dos líneas más. Por lo tanto actualmente fabrica mesas, sillas, camas y bibliotecas. Cada
mesa requiere de 2 piezas rectangulares de 8 pines, y 2 piezas cuadradas de 4 pines. Cada
silla requiere de 1 pieza rectangular de 8 pines y 2 piezas cuadradas de 4 pines, cada cama
requiere de 1 pieza rectangular de 8 pines, 1 cuadrada de 4 pines y 2 bases trapezoidales
de 2 pines y finalmente cada biblioteca requiere de 2 piezas rectangulares de 8 pines, 2
bases trapezoidales de 2 pines y 4 piezas rectangulares de 2 pines. Se dispone de un
inventario de 24 piezas rectangulares de 8 pines, 20 piezas cuadradas de 4 pines, 20 piezas
de bases trapezoidal y 16 piezas rectangulares de 2 pines. Cada mesa cuesta producirla
$10000 y se vende en $ 30000, cada silla cuesta producirla $ 8000 y se vende en $ 28000,
cada cama cuesta producirla $ 20000 y se vende en $ 40000, cada biblioteca cuesta
producirla $ 40000 y se vende en $ 60000. El objetivo de la fábrica es maximizar las
utilidades.
Problema de Maximización Nro 2
Maximizar
𝑧= 3𝑥1 + 2𝑥2 + 5𝑥3
Sujeto a
𝑥1+ 2𝑥2 + 𝑥3 ≤ 430
3𝑥1+2𝑥3 ≤ 460
𝑥1+ 4𝑥2 ≤ 420
𝑥1, 𝑥2, 𝑥3≥0
Problema de Maximización Nro 3
Producción: Una compañía fabrica tres tipos de muebles para patio:
sillas, mecedoras y sillones. Cada uno requiere madera, plástico y
aluminio, como se muestra en la tabla siguiente:
Madera Plastico Aluminio
Silla 1 unidad 1 unidad 2 unidades
Mecedora 1 unidad 1 unidad 3 unidades
Sillón 1 unidad 2 unidades 5 unidades

La compañía tiene disponibles 400 unidades de madera, 500


unidades de plástico y 1450 unidades de aluminio. Cada silla,
mecedora y sillón se vende en $21, $24 y $36, respectivamente.
Suponiendo que todos los muebles pueden venderse, determine la
producción para que el ingreso total sea máximo. Cual es el ingreso
máximo?
Problema de Maximización Nro 4

Una compañía produce 3 tipos de galletas, de chocolate, vainilla y


arequipe, utiliza tres máquinas para su fabricación, la máquina I, produce
en 2 minutos, una caja de galletas de chocolate, en 1 minuto, una caja de
galletas de vainilla y en 3 minutos una caja de galletas de arequipe. La
máquina II produce en 1 minuto, una caja de galletas de chocolate, en 3
minutos una caja de vainilla y 2 minutos una caja de arequipe, la máquina
III, produce en dos minutos, una caja chocolate, en un minuto, una caja de
vainilla y en 2 minutos una caja de arequipe. La compañía tiene una
disponibilidad de 180 minutos para la máquina I, 300 minutos para la
máquina II y 240 minutos para la máquina III diariamente. La ganancia que
produce una caja de galletas de chocolate es de $6, la de vainilla $5 y las
de arequipe $4. ¿Cuántas cajas de cada galleta debe producir la compañía
para maximizar la ganancia? ¿Cuál es la ganancia máxima?
Unidad 1: Programación Líneal

Prof. John Ortega


Problema de Minimización Nro 1

Maximizar
𝑧= 3𝑥1 + 8𝑥2
sujeto a
𝑥1+ 4𝑥2 ≥ 3.5
𝑥1+2𝑥2 ≥ 2.5
𝑥1, 𝑥2 ≥0
Problema de Minimización Nro 2

Se desea preparar una dieta que contenga los nutrientes


básicos, N1 y N2, en cantidades mínimas de 15 y 10 unidades
respectivamente. En el mercado existen 3 alimentos A, B y C
que contienen esos nutrientes, Cada envase de A contiene 3
unidades de N1 y una unidad de N2. El alimento B contiene una
unidad de cada nutriente y el alimento C una y dos unidades por
envase respectivamente. El costo por envase de A es $9, B y C
cuestan $6 y $8 respectivamente. Se quiere conocer la cantidad
de envases de cada alimento cuya mezcla satisface las
exigencias y además minimizar su costo
Problema de Minimización Nro 3

Roberto administra la granja de la familia. Para completar varios


alimentos que se cultivan en la granja, Roberto también cría
cerdos para la venta y desea determinar las cantidades de los
distintos tipos de alimentos disponibles, maíz, vitaminas y alfalfa,
que debe dar a cada cerdo. Como los cerdos se comerán
cualquier mezcla de estos alimentos, el objetivo es determinar
que combinación de alimento cumple con los requisitos nutritivos
a un costo mínimo.
Problema de Minimización Nro 3

En la siguiente tabla se presentan las unidades de cada


ingrediente nutritivo básico que contiene una libra de cada tipo
de alimento junto con los requisitos de nutrición diarios y los
costos de los alimentos:
Ingrediente Maíz Trigo Alfalfa Requerimientos
mínimos
Nutriente (Nutriente/Lb) (Nutriente/Lb) (Nutriente/Lb) (Nutriente/día)
Carbohidratos 90 20 40 200
Proteínas 30 80 60 180
Vitaminas 10 20 60 150
Costo ($/Lb) 84 72 60

También podría gustarte