Está en la página 1de 12

¿Qué es?

Disciplina que utiliza métodos analíticos avanzados en apoyo al proceso de la toma de


decisiones. Se ayuda de modelamiento matemático, análisis estadístico y optimización
matemática.
Es considerada la ciencia que ayuda en la toma de decisiones en la empresa, porque además
se ayuda del método científico.
Cabe destacar que la investigación operativa es aplicable en cualquiera de procesos
administrativos de una empresa y facilita la planeación, organización, dirección y control de
todos sus procesos.

Características
• Para investigar los inconvenientes es utilizado el método científico.
• El problema deberá ser representado de manera cuantitativa para así realizar su
evaluación y análisis.
• El proceso inicia con la observación del o los problemas y recolección de datos.
• Tiene el objetivo de encontrar la mejor alternativa para la solución de conflictos.
• Se debe hacer en equipo y debe estar formado por expertos.

Modelo de optimización
Ayuda de mejor manera mediante los siguientes pasos:
1. Definición del problema: se realiza para proponer un curso de acción, contestando a las
siguientes preguntas; ¿Es relevante el problema? ¿Es necesario un modelo? ¿Cuáles
son sus alcances? ¿Cuáles son los factores?
2. Construcción de un modelo de optimización: se realiza una creación abstracta de la
realidad, se busca que sea representativo del problema real y al mismo tiempo que sea
simple utilizando un algoritmo.
3. Alternativas de resolución: mediante programas computacionales con algoritmos de
resolución específico. Por ejemplo para resolver un problema de programación lineal
representado con ecuaciones lineales se puede utilizar el método simplex, así como
diagramas de flujo, organigramas.
4. Validación: se verifica que la solución cumpla con las condiciones o restricciones
impuestas al problema.
5. Implementación y control de la solución: una vez verificada, procedemos a su
implementación, esto dará lugar a actualizaciones en el modelo como en el valor de los
parámetros modificados. Por ejemplo en el cambio de valor de Hora/Hombre de
trabajadores.
Ejemplo

>>Método simplex
Este método apareció por primera vez durante la Segunda Guerra Mundial y era utilizado para
generar estrategias y técnicas efectivas. Algoritmo desarrollado hasta 1947 por George Dantzig.
A partir de los años 50 se adaptó al gobierno, industria y negocios para aplicación de problemas
de programación lineal.
El modelo matemático para la resolución de problemas es la base de la programación lineal.
El método simplex utilizado en lo que es la investigación de operaciones abarcan los siguientes
elementos:
Variables: representan las incógnitas del problema.
Restricciones: se contemplan las limitaciones a las que se encuentra sujeta la resolución del
problema. Considerando la escasez de recursos en tiempo y espacio.
Función objetivo: es la meta que se pretende alcanzar y en la cual se basan todas las
decisiones principales, con el fin de maximizar beneficios o minimizar costos.
Objetivo de maximización:
• Condición de parada: cuando en la fila z no aparee ningún valor negativo.
• Condición de entrada a la base: el menor valor negativo en la fila z
Condición de salida de la base: una vez obtenida la variable entrante, la variable resultante se
determina por los valores estrictamente positivos.
Objetivo de minimización:
• Condición de parada: cuando en la fila z no aparece ningún valor positivo.
• Condición de entrada a la base: el mayor valor positivo en Z indica la variable que entra
a la base.
• Condición de salida de la base: una vez obtenida la variable entrante, la variable que
resulta se determina entre los valores estrictamente negativos.

Restricciones
• De tipo “<“: para normalizar este tipo de restricción, habrá que añadir una nueva variable
de holgura con la condición de no negatividad: xs>o). Esta nueva variable aparece con
coeficiente cero en la nueva función objetivo, y sumando en la ecuación correspondiente
(que ahora si será de igualdad).

• De tipo “>”: igualmente habrá que añadirse una variable de exceso xs (con la condición
de no negatividad: xs > 0). Esta nueva variable aparece con coeficiente cero en la función
objetivo, y restando en la ecuación correspondiente. Surge un problema con esta
variable, la forma quedaría de la siguiente manera:

• Al realizar la primera iteración con el método Simplex, las variables básicas no estarán
en la base y tomarán valor cero. En este caso la nueva variable xs, tras hacer cero a x1 y
x2, tomará el valor -b1 y no cumpliría la condición de no negatividad. Es necesario añadir
otra nueva variable xr, llamada variable artificial, que también aparecerá con coeficiente
cero en la función objetivo y sumando en la restricción correspondiente. Quedando
entonces de la siguiente manera:

• De tipo "="Al contrario de lo que cabría pensar, para las restricciones de tipo "=" (aunque
ya son identidades) también es necesario agregar variables artificiales xr. Como en el
caso anterior, su coeficiente será cero en la función objetivo y aparecerá sumando en la
restricción correspondiente.

Quedando de la siguiente manera:

Tipo de desigualdad Tipo de variable que aparece

≥ - exceso + artificial
= + artificial

≤ + holgura
Ejemplo
Las capacidades de producción del producto P de las fábricas A y B, los costos por unidad
transportada a los centros de consumo C1 y C2 y las demandas de estos se muestran a
continuación en la siguiente tabla:

Se desea formular el problema y minimizar el costo total de transporte.


Simplex Calculator - El Algoritmo del Simplex on line (mathstools.com)

SOLUCIÓN
Xij: unidades transportadas de la fábrica i (i = 1, 2), al centro de consumo j (j = 1, 2)

Función Objetivo: min Z = 5X(1,1) + 10X(1,2) + 12X(2,1) + 3X(2,2)

Restricciones: Fábrica A: X(1,1) + X(1,2) <= 300


Fábrica B: X(2,1) + X(2,2) <= 400

Centro de Consumo C1: X(1,1) + X(2,1) >= 250


Centro de Consumo C2: X(1,2) + X(2,2) >= 350

Este problema consiste en minimizar los costos de transporte mediante un modelo matemático
considerando restricciones que se dan en la producción (capacidad de fábrica) y en la
demanda.
En la función objetivo se toma los costos unitarios por las unidades transportadas de cada
fábrica hacia cada centro de consumo.

Dualidad y análisis de sensibilidad


Obtener el modelo de optimización es sólo un paso del proceso, ahora el cuestionamiento sería:
¿qué pasa si varía alguno de los parámetros del problema?
Es vital obtener su primal y dual para entender el análisis de sensibilidad.
A cada problema de programación lineal se le asocia otro problema de programación lineal,
llamado el problema de programación dual. La solución óptima del problema de programación
dual, proporciona la siguiente información respecto del problema de programación original:
1. La solución óptima del problema dual proporciona los precios en el mercado o los beneficios
de los recursos escasos asignados en el problema original.

2. La solución óptima del problema dual aporta la solución óptima del problema original y
viceversa.

Formulación del problema dual

El problema dual es un problema de PL auxiliar que se define directa y sistemáticamente a


partir del modelo de PL original o primal.

El problema de programación lineal (primal) es:


Maximizar Z = C’X
sujeto a: AX £ B
X³0

Su dual asociado es el problema de PL dado por:

Minimizar Z’ = B’W
sujeto a: AW³ C
W£0

Algunos teoremas de dualidad. Consideremos el siguiente par primal-dual:

(P) m ́ın z = c·xs.a A·x ≥ b xi ≥ 0

Teorema Débil de Dualidad: Si x ̄ e y ̄ son factibles para (P) y (D) respectivamente, entonces
z(x ̄) ≥ w(y ̄).

Teorema Fundamental de Dualidad: Dados un par de problemas primal-dual, si uno de ellos


admite solución óptima, entonces el otro también la admite y los respectivos valores óptimos
son iguales.

Sensibilidad
Como ya se dijo, nos interesa ver cómo se ve afectada la solución de un problema de
optimización si cambia alguno de los parámetros del problema. En este ámbito, podemos
distinguir 2 tipos de análisis:
Análisis de sensibilidad: Consiste en determinar cuál es el rango de variación de los parámetros
del problema de modo que la base ́optima encontrada siga siendo óptima.
Análisis post-optimal: Consiste en determinar cómo varía la base óptima si cambia alguno de
los parámetros del problema.

Ejemplo
Problema 1
Una florista sabe hacer solo 2 tipos distintos de arreglos florales (x1 y x2) para los cuales
dispone de 3 tipos distintos de flores: rozas, tulipanes e ibizcos. Los requerimientos de flores
para cada arreglo, la disponibilidad de flores y los precios de cada arreglo vienen dados por:

Requerimientos
1. Formule un PPL que resuelva el problema de maximización de ingresos por ventas sujeto
a la disponibilidad de recursos.
2. ¿Cuál es el problema dual asociado? ¿Qué situación podría estar optimizando?
3. Usando el teorema de holgura complementaria, encuentre el o ́ ptimo del problema dual
sabiendo que el óptimo primal viene dado por (x1 = 80, x2 = 60).
4. Suponga que retorna frustrado después que una bella dama le cerrara la puerta cuando
usted le llevaba amablemente una rosa, un tulipán y un ibizco . Si se encuentra con la
florista, ¿Cuánto cree que estar ́ıa dispuesta a pagar ella por sus flores?
Solución
Programación entera
Un modelo de Programación Entera (PE) permite abordar aplicaciones donde la solución tiene
sentido si una parte o todas las decisiones toman valores restringidos a números enteros. Por
ejemplo, consideremos que tenemos el siguiente problema de Programación Lineal:

Si todas las variables restringen sus valores a números enteros, entonces estamos frente a un
modelo de Programación Entera (puro). Por el contrario, si al menos algún conjunto de variables
no está acotada a adoptar valores o números enteros, se trata de un modelo de Programación
Entera (Mixta).
Luego, si consideramos que estamos a un modelo de Programación Entera (puro o mixto) y
resolvemos el modelo de Programación Lineal asociado (esto es, admitiendo valores continuos
para las variables), estaremos obteniendo la solución de la Relajación Continua del modelo
entero. Para un modelo de maximización, la relajación continua nos proporciona una cota
superior del valor óptimo del modelo de Programación Entera asociado.
En el caso particular que la Relajación Continua nos proporcione una solución entera, entonces
ésta será también la solución del modelo de Programación Entera asociado. En caso contrario
deberemos utilizar alguna estrategia o algoritmo para obtener la solución del modelo de PE.
Una herramienta eficiente para abordar estos casos es el algoritmo de Branch & Bound.
• Ejemplo del Algoritmo de Branch and Bound (Ramificación y Acotamiento)

El método de Branch and Bound (o Ramificación y Acotamiento) es un algoritmo diseñado para


la resolución de modelos de Programación Entera. Su operatoria consiste en linealizar el
modelo de Programación Entera, es decir, resolver éste como si fuese un modelo de
Programación Lineal y luego generar cotas en caso de que al menos una variable de decisión
(entera) adopte un valor fraccionario.
El algoritmo genera en forma recursiva cotas (o restricciones adicionales) que favorecen la
obtención de valores enteros para las variables de decisión.

Programación entera ejemplo


Resuelva el siguiente modelo de Programación Entera utilizando el Algoritmo de Branch &
Bound:
• El dominio de puntos factibles para el modelo de Programación Lineal asociado es el
área demarcada con verde. Dicho modelo tiene valor óptimo igual a 39, con X1=1,9 y
X2=0. Esto corresponde a la relajación continua del PLE y nos proporciona una cota
superior del valor óptimo de dicho problema.
• Además, claramente la solución de la relación continua no satisface la condición de
integralidad del modelo de PLE. Finalmente, en el gráfico anterior se han marcado todas
aquellas combinaciones que satisfacen las restricciones del modelo de PLE (A, D, E, B,
G, F y C). Claramente esto corresponde a un subdominio del problema lineal asociado
lo que justifica que la relajación continua nos entrega una cota superior del valor óptimo
del PLE.
• Al aplicar el algoritmo de Branch & Bound, el nodo inicial corresponde a la relajación
continua y se van agregando las ramas o nodos necesarios hasta alcanzar la(s)
soluciones que satisfacen las condiciones de integralidad.

• P0: Corresponde a la relajación continua del PLE.


• P1: Po + x1<=1. (solución inicial X1=1,9 aproximada al entero inferior)
• P2: Po + x1>=2 (solución inicial X1=1,9 aproximada al entero superior). Infactible.
• P11: P1 + x2<=1 (solución óptima X1=1 y X2=1. Valor Óptimo Z=33. Debido a que la
solución satisface las restricciones de integralidad, se termina este nodo).
• P12: P1 + x2>=2 (solución X1=5/7 y X2=2. No es solución óptima de PLE debido a que
X1 es aún fraccionario. Se continua el método debido a que el Valor Óptimo Z=37 es
mayor que el Valor Óptimo de P11, en caso contrario se detiene el método y P11 sería
la solución óptima de PLE).
• P121: P12 + x1<=0 (X1=0 y X2=13/4. Z=35,75. Se continua siguiendo el mismo
razonamiento anterior)
• P122: P12 + X1>=1 Infactible.
• P1211: P121 + X2<=3 (X1=0 y X2=3. Z=33 es el valor en la función objetivo más alto
obtenido para los nodos con soluciones enteras). Se agota este nodo.
• P1212: P121 + x2>=4 Infactible.
• Luego la Solución Óptima del PLE) es X1=0 y X2=3 con Valor Óptimo Z=33.

Uso de software
• Linear Programming (LP) e Integer Linear Programming (ILP): Para resolver los
problemas de LP, este Programa usa el método simplex o el método gráfico y para los
problemas de ILP usa el procedimiento branch-and-bound.
• Linear Goal Programming (GP) e Integer Linear Goal Programming (IGP): Este
programa, para resolver los problemas de GP, usa el método simplex modificado o el
método gráfico y para los problemas de IGP usa el procedimiento branch-and-bound.
• Quadratic Programming (QP) e Integer Quadratic Programming (IQP): Este programa
usa el método simplex modificado o el método gráfico, para resolver los problemas de
QP y el procedimiento branch-and-bound para los problemas de IQP.
• Nonlinear Programming (NLP): Este programa resuelve los problemas no lineales no
forzados con el método de búsqueda y los problemas no lineales forzados con el método
de la función de castigo.
• Network Modeling (NET): Este módulo, resuelve los problemas de red, inclusive, por
ejemplo, flujo de red (transbordo), transporte, asignación, caminos cortos, máximo flujo,
cruces mínimos y problemas de viajes de vendedores.

También podría gustarte