Está en la página 1de 6

UNIVERSIDAD ANDRES BELLO

FACULTAD DE INGENIERÍA
ESCUELA DE INDUSTRIAS
Ingenierı́a Civil Industrial - Advance

Taller 02
Investigación de Operaciones - AIND3103

Lenguajes de modelado de problemas de optimización


Alternativas para el desarrollo de modelos de optimización
Se tienen varias alternativas a la hora de implementar un modelo de optimizaciónn lineal en un computador. Cada
una presenta sus ventajas e inconvenientes, por lo que la elección deberá hacerse en cada caso en función del uso que
se le vaya a dar al modelo. Podemos señalar cuatro alternativas principales:

1. Ms Excel con Solver. Se trata de la alternativa más simple y asequible para especificar y resolver modelos
pequeños de optimización lineal. La entrada y salida de datos se beneficia de todas las facilidades que presenta
el entorno de la hoja, especialmente la posibilidad de representar gráficamente los resultados. El principal incon-
veniente proviene de la dispersión en que queda la especificación del modelo, al tener que expresarse a través de
fórmulas asociadas a las diferentes celdas. Si el modelo tiene tamaño grande, la implantación y mantenimiento se
hace muy tedioso. Esta alternativa resulta válida a la hora de resolver pequeños prototipos de modelos.

2. Entornos de cálculo numérico y / o simbólico. Muchos entornos de desarrollo matemático, numéricos o


simbólicos, como Matlab, Maple o Mathematica, disponen de paquetes asociados que se pueden utilizar desde el
propio medio de programación del entorno. La presentación de los resultados, como en el caso de las hojas de
cálculo, se ve potenciada por las abundantes herramientas de visualización gráfica de que disponen. El principal
inconveniente proviene de la ausencia de recursos especı́ficos para la expresión de los modelos y la depuración de
su funcionamiento.

3. Biblioteca de algoritmos de optimización + lenguaje de programación de propósito general (Java,


Fortran, C++, etc.). Esta alternativa se ha venido utilizando cuando el modelo debı́a integrarse en una aplicación
y requerı́a interfaces especı́ficas para la entrada y salida de datos. Se benefician de las facilidades que proporcionan
los entornos de desarrollo para estos lenguajes, pero carecen de recursos de depuración orientados a un problema
de optimización con restricciones. Requieren un tiempo largo de desarrollo y presentan dificultades a la hora del
mantenimiento y modificación del modelo.

4. Lenguajes algebraicos de modelado. Estos lenguajes permiten expresar el modelo con una sintaxis próxima
a la propia especificación matemática. Suelen disponer de recursos especı́ficos para ayudar a la depuración del
modelo. Las modificaciones y ampliaciones del modelo resultan relativamente fáciles, permitiendo una estrategia
incremental de desarrollo. Los modernos lenguajes como OPL permiten la integración del modelo final en cualquier
entorno de programación, por lo que en este aspecto no existe diferencia con la alternativa anterior. El principal
inconveniente proviene de la limitación que presentan para el acceso a determinados recursos del paquete sobre el
que ejecuta el modelo. Por ejemplo, OPL no tiene acceso a las restricciones especı́ficas ni a las variables indicadoras
de especiales de CPLEX, muy importantes en la expresión eficiente de comportamientos no lineales. Esto se puede
superar manipulando el modelo generado con OPL desde un lenguaje (C, Java, C++) que disponga de una interfaz
(API) con OPL.
2

Resolviendo problemas de PL en Ms Excel - Solver


Funciones matriciales y matrices
Para ejecutar funciones matriciales en Ms Excel necesitamos hacerlo a través de la secuencias de teclado Ctrl+Shift+Enter.

Ejemplo: Multiplicación de Matrices en Ms Excel


Consideremos las siguientes matrices
 
  3 2  
0 1 2 4 2
A= , B= 2
 0 , C= .
−1 1 −1 1 3
1 1

Ahora a modo de ejemplo, calculemos los productos: AB, ABC y calculemos C −1 .

Un referencia circular
Usaremos un problema elemental de álgebra para ver una importante limitación de Ms Excel. Consideremos el siguiente

Problema:
Encuentre los valores de x e y que satisfacen las ecuaciones

x = 6 − 0.5y
y = 2 + 0.5x

Es fácil encontrar las soluciones x = 4 e y = 4. Al ingresar esta fórmulas en Ms Excel, obtenemos:


3

Ecuaciones Lineales
Consideremos el siguiente problema: Encontrar los valores de A, B y C que satisfacen las ecuaciones:

2A + 3B + 4C = 10,
2A − 2B − C = 6,
A+B+C =1

Ingresando a Excel este problema tenemos:

Utilizando el complemento Solver de Ms Excel, podemos resolver este problema.

Obteniendo como solución:


4

Problema (Vehı́culos Todo Terreno)


Una fábrica, que consiste de cinco talleres, construye tres modelos de Vehı́culos Todo Terreno (VTT). La siguiente tabla
indica los modelos de los vehı́culos y los talleres. Se especifica la capacidad de cada taller y el tiempo de manufactura
de cada vehı́culo en cada taller. También se especifica la contribución (beneficio) ganado por cada vehı́culo fabricado.
El Gerente de planta desea determinar las tasas de producción (número de cada vehı́culo a producir por semana) que
maximice el beneficio que se puede ganar por esta fábrica.

Tiempos de fabricación
Taller Capacidad Estándar Lujo Súper Lujo
Motor 120 3 2 1
Carrocerı́a 80 1 2 3
Terminado Estándar 96 2 0 0
Terminado Lujo 102 0 3 0
Terminado Super Lujo 40 0 0 2
Contribución 840 1120 1200

Nota sobre las unidades de medida: En la tabla, la capacidad está medida en horas por semana, el tiempo de manu-
factura en horas por vehı́culo, y la contribución en dólares por vehı́culo.

Las variables de decisión:


+ S = tasa de producción de vehı́culos modelo Estándar.
+ F = tasa de producción de vehı́culos modelo Lujo.
+ L = tasa de producción de vehı́culos modelo Súper Lujo.

El modelo correspondiente es:



 max 840S + 1120F + 1200L
s.a 3S + 2F + 1L ≤ 120,







 1S + 2F + 3L ≤ 80,
LP : 2S ≤ 96,




 3F 102,

2L ≤ 40,




S ≥ 0, F ≥ 0, L ≥ 0

La siguiente tabla en Ms Excel nos servirá para resolver este problema con Solver.
5

El cuadrado de diálogo Solver para el problema es:

La solución que entrega el Solver es:


6

Ejercicios.
E.1 Un problema de transporte. Tres proveedores (S1 , S2 y S3 ) satisfacen la demanda, de un determinado
producto, de cuatro clientes (T1 , T2 , T3 y T4 ) durante un año. Las capacidades anuales de los proveedores y las
demandas de los clientes se muestran a continuación (en unidades adecuadas)

Proveedores S1 S2 S3
Capacidades (por año) 135 56 93
Clientes T1 T2 T3 T4
Demandas (por año) 62 83 39 91

Los costos unitarios por abastecer a cada cliente desde cada proveedor están dado en la siguiente tabla,

Clientes
Proveedor T1 T2 T3 T4
S1 132 - 97 103
S2 85 91 - -
S3 106 89 100 98

- indica la imposibilidad de que cierto proveedor abastezca a cierto cliente.


¿Cuál es la cantidad de producto que se debe enviar desde Si a Tj , al año, de manera de optimizar los recursos?

E.2 Un problema de flujo a costo mı́nimo. La rede la figura tiene dos fuentes 0 y 1 con disponibilidades de
10 y 15. Hay tres receptores 5 , 6 y 7 con los requisitos 9, 10 y 6, respectivamente. Cada arco tiene un
costo unitario de flujo asociado a él.

El problema consiste en satisfacer los requisitos de flujo a través de la red desde las fuentes a los requisitos a un
costo total mı́nimo.

Referencias
+ “Model Building in Mathematical Programming, H. Paul Williams, 2013.
+ “Introducción a la Investigación de Operaciones, Frederick S. Hillier, Gerald J. Lieberman, 2010.
+ “Investigación de Operaciones, Hamdy A. Taha, 2011.
+ “Linear Programming and Generalizations, A Problem-based Introduction with Spreadsheets”, Eric V. Denardo,
2011.

+ “Microsoft Excel 2010 Data Analysis and Business Modeling”, Wayne L. Winston, 2011.
RMR/rmr
Marzo de 2018

También podría gustarte