Vous êtes sur la page 1sur 30

INSTITUTO TÉCNOLOGICO DE

VILLAHERMOSA

MATERIA ASIGNADA:

INVESTIGACIÓN DE OPERACIONES I

3° UNIDAD: PROGRAMACIÓN ENTERA

INVESTIGACIÓN TERCERA UNIDAD

ALUMNO:

LUIS FERNANDO CALLES CASTELLANOS

MAESTRO:

JORGE ALBERTO ROSADO RAMOS


Contenido:

Introducción: ................................................................................................................................... 3
Introducción y casos de aplicación: ......................................................................................... 4
Definición y modelos de programación entera: ..................................................................... 5
Método gráfico de programación entera: ................................................................................ 6
Método de ramificación y acotación: ...................................................................................... 12
Método heurístico para problemas binarios:........................................................................ 18
Uso de software:........................................................................................................................... 20
Conclusiones: ............................................................................................................................... 29
Referencias: ................................................................................................................................... 30
Introducción:

En el presente trabajo se compone de una investigación por varios marcos de


referencia de los subtemas de la tercera unidad de la asignatura investigación de
operaciones I. Primero tendremos que definir que es programación entera y cuáles
son los campos cotidianos en donde sea de mayor utilidad, cuáles son sus
características y porque se le llama programación entera. La programación entera
está relacionada con la resolución de problemas de optimización en los cuales al
menos algunas de las variables deben tomar sólo valores enteros. Cuando todos
los términos son lineales se habla de programación lineal entera.

Se presenta una útil información acerca de del método grafico ya que presento
graficas e imágenes ilustrativas para que la explicación del método sea más
significativa a su vez en los subtemas de los métodos posteriores igual los ilustro
con ejemplos de problemas resueltos a través de estos métodos para que así la
información y el conocimiento sea significativo.

Investigación que se llevó a cabo con minuciosa atención para seleccionar la


información más clara y concisa ya que en los marcos de referencia hay mucha
información complicada que no puede ser entendible para alguien que no es muy
estudioso de investigación de operaciones.
Introducción y casos de aplicación:

Por medio de la programación lineal se pueden formular y resolver problemas de


una gran variedad de campos del quehacer humano, entre los que se puede
mencionar: asignación de recursos en la planificación de gobierno, análisis de redes
para planificación urbana y regional, planificación de la producción en la industria, y
la administración de sistemas de transporte y distribución. Por esto la programación
lineal es uno de los éxitos de la moderna teoría de la optimización.

La programación entera está relacionada con la resolución de problemas de


optimización en los cuales al menos algunas de las variables deben tomar sólo
valores enteros. Cuando todos los términos son lineales se habla de programación
lineal entera.

Muchos problemas de naturaleza combinatoria se pueden formular en términos de


programación entera. Entre los ejemplos prácticos se puede citar: ubicación de
insumos, secuenciamiento de trabajos en líneas de producción, balance de líneas
de montaje, problemas de asignación biunívoca, control de inventarios, y reemplazo
de máquinas.

Uno de los métodos importantes para resolver esos problemas, se basa en parte,
en el método simplex, Otro método es de naturaleza combinatoria y consiste en
reducir el problema original a otros más pequeños, y tal vez más fáciles, y partir el
conjunto de soluciones posibles en subconjuntos más pequeños que pueden ser
analizados más fácilmente. (Facultad de Ingeniería, 2012)

Por lo general, las aplicaciones de programación lineal entera (PLE) caen dentro de
dos categorías: directa y transformada. En la categoría directa, la naturaleza de la
situación impide la asignación de valores fraccionarios a las variables del modelo.
Por ejemplo, el problema puede implicar la determinación de si se emprende o no
un proyecto (variable binaria), o la determinación del número óptimo de máquinas
necesarias para realizar una tarea (variable general entera). En la categoría
transformada se utilizan variables enteras auxiliares para convertir analíticamente
situaciones insolubles en modelos que pueden resolverse por medio de algoritmos
de optimización disponibles.
Por ejemplo, en la secuencia de dos trabajos, A y B, en una sola máquina, el trabajo
A puede preceder al trabajo B o viceversa. La naturaleza “o” de las restricciones es
lo que hace al problema analíticamente insoluble, porque todos los algoritmos de
programación matemáticos tratan con sólo restricciones “y”. (Taha, 2012)

Definición y modelos de programación entera:

Programación Entera es un término general para los modelos de programación


matemática que presentan condiciones de integridad (condiciones que estipulan
que algunas o todas las variables de decisión deben tener valores enteros). Ya
hemos apuntado que los modelos de programación lineal entera son modelos de
programación lineal que tienen la característica adicional de que algunas de las
variables de decisión deben tener valores enteros. Existen diversas clasificaciones
de esta categoría de modelos.

Programas Enteros Puros: Un modelo entero puro (PLE) es, como su nombre lo
indica, un problema en el que se exige que todas las variables de decisión tengan
valores enteros.

Programas Enteros Mixtos: Un problema en el que solo se requieren que algunas


variables tengan valores enteros mientras que otras pueden asumir cualquier
número no negativo (es decir, cualquier valor continuo) se llama programación lineal
entera mixta (PLEM).

Programas Enteros 0–1: En algunos problemas se restringe el valor de las variables


a 0 o 1. Dichos problemas se llaman binarios o programas lineales enteros 0–1. Son
de particular interés debido a que se pueden usar las variables 0–1 para representar
decisiones dicotómicas (sí o no). Diversos problemas de asignación, ubicación de
plantas, planes de producción y elaboración de cartera, son de programación lineal
entera 0–1.
Atendiendo al criterio del tipo de problema:

Directo: Si el problema de decisión involucra variables enteras.

Codificado: Cuando se trata de un problema que contiene además de aspectos


cuantitativos, alguna consideración de tipo cualitativos, y por ello para tratar este
tipo de aspectos se requiere el uso de variable entera o binaria.

Transformado: Cuando el problema no incluye variables enteras, pero para ser


tratado analíticamente requiere el uso de variable enteras “artificiales”.

Método gráfico de programación entera:

El método gráfico es un procedimiento de solución de problemas de programación


lineal muy limitado en cuanto al número de variables (2 si es un gráfico 2D y 3 si es
3D) pero muy rico en materia de interpretación de resultados e incluso análisis de
sensibilidad. Este consiste en representar cada una de las restricciones y encontrar
en la medida de lo posible el polígono (poliedro) factible, comúnmente llamado el
conjunto solución o región factible, en el cual por razones trigonométricas en uno de
sus vértices se encuentra la mejor respuesta (solución óptima).

Para hacer la explicación del método más fácil incluí un problema resuelto para ver
así los pasos que se deben de seguir para solucionarlo.

VARIABLES
XT: Cantidad de metros diarios de tejido tipo T a fabricar
XT’: Cantidad de metros diarios de tejido tipo T’ a fabricar

RESTRICCIONES
0,12XT + 0,2XT’ <= 500 Hilo “a”
0,15XT + 0,1XT’ <= 300 Hilo “b”
0,072XT + 0,027XT’ <= 108 Hilo “c”
Las restricciones de no negatividad no son necesarias en este ejemplo dado que se
trata de un ejercicio de maximización, cuando el ejercicio sea de minimización lo
más recomendado es incluirlas.

FUNCIÓN OBJETIVO
ZMAX = 4000XT + 5000XT’

Paso 1: graficar las restricciones


Para iniciar con el trazado de las restricciones es indispensable igualar las
restricciones a 0, de esta manera podemos mediante despeje de ecuaciones iniciar
con la tabulación que nos otorgará las coordenadas para esbozar cada una de las
gráficas. Además dado que se trabajará en el plano cartesiano sería prudente
renombrar las variables
XT = x
XT' = y
Igualamos las restricciones,
0,12X + 0,2y = 500
0,15X + 0,1y = 300
0,072X + 0,027y = 108

Acto seguido iniciamos con la primera restricción, hallamos las primeras dos
coordenadas. Para hallar las coordenadas regularmente llevamos una de las
variables a cero, para de esta manera despejar más fácilmente la segunda.
Por ejemplo, para un x = 0
0,12(0) + 0,2y = 500
0,2y = 500
500/0,2 = y
2500 = y
y para un y = 0
0,12x + 0,2(0) = 500
0,12x = 500
x = 500/0,12
x = 4167

Seguimos con la segunda restricción,


0,15X + 0,1y = 300

Tercera restricción,
0,072X + 0,027y = 108

En el siguiente gráfico se muestra el polígono solución de color gris, en este


conjunto es donde cada coordenada cumple con todas las restricciones, las cuales
se caracterizan por ser restricciones de menor o igual y esta característica se
representa con una flecha hacía abajo.
Una vez se llega a este punto es indispensable saber que las soluciones óptimas
se alojan en los vértices del polígono solución (color gris) y que identificar a la
solución óptima es cuestión de elegir la mejor alternativa dependiendo de las
herramientas disponibles (tecnológicas y conocimientos matemáticos).
La primera opción es la geométrica, esta depende de trazar la ecuación que
representa a la función objetivo (este paso consiste en realizar el mismo
procedimiento de las restricciones).

Función objetivo,
ZMAX = 4000x + 5000y
Luego igualamos a 0.
4000x + 5000y = 0

Luego tabulamos para obtener las coordenadas necesarias para esbozar la gráfica
correspondientes a la ecuación (en esta ocasión es recomendable más de dos
coordenadas, incluyendo la coordenada (x = 0, y = 0).

Una vez se ha esbozado la función objetivo sacamos replicas paralelas a esta que
se encuentren con cada vértice, y solo en el caso en que la línea imaginaria
paralela a la función objetivo no corte el polígono solución se ha encontrado la
solución óptima. En otras palabras trasladamos la función objetivo por todo el
polígono conservando su forma paralela con la original, la detenemos en los vértices
y evaluamos si esta corta o no el conjunto solución.
Claramente solo en el punto "B", es decir en el vértice formado por la intersección
de las ecuaciones 1 y 2, la línea imaginaria no corta el polígono solución, entonces
es este punto el correspondiente a la coordenada óptima.
Para hallar el valor de esta coordenada es indispensable recurrir a la resolución de
ecuaciones lineales 2x2, y se pueden considerar varios métodos de solución entre
ellos:

- Método por sustitución


- Método por igualación
- Método por reducción o Eliminación
- Método por eliminación Gauss
- Método por eliminación Gauss - Jordán
- Método por determinantes

La riqueza de las matemáticas nos deja suficientes alternativas, para mi gusto el


método de reducción o eliminación es muy sencillo de aplicar.
El método por reducción o eliminación consiste en igualar los coeficientes de una
de las variables multiplicando una o las dos ecuaciones, teniendo en cuenta que
estos coeficientes queden iguales pero con signos contrarios.
Ecuación 1 0,12x + 0,2y = 500
Ecuación 2 0,15x + 0,1y = 300 multiplicamos por (-2)
Ecuación 3 (2*(-2)) -0,30x - 0,2y = -600
Sumamos 1 y 3 -0,18x = -100
Despejamos "x" x = -100 / (-0,18)
x = 555,55

Luego reemplazamos x = 555,55 en cualquiera de las dos ecuaciones originales


con el objetivo de despejar "y".

Ecuación 1 0,12x + 0,2y = 500


Reemplazamos "x" 0,12(555,55) + 0,2y = 500
Despejamos "y" 66,666 + 0,2y = 500
0,2y = 500 - 66,666
0,2y = 433,334
y = 433,334 / 0,2
y = 2166,67

De esta forma hemos obtenido los valores para "x" y "y".


Recordemos que x y y fueron los nombres que recibieron las variables originales XT
y XT'

x = XT
y = XT'

XT = 555,55
XT' = 2166,67
Y la contribución obtenida (reemplazando las variables en la función objetivo) es de:

Zmax = 4000XT + 5000XT'


Zmax = 4000(555,55) + 5000(2166,67)
Zmax = 13.055.550

(López., 2014)
Método de ramificación y acotación:

El método de bifurcación y acotación (B&B, de Branch and Bound) resuelve un


PPLE resolviendo una secuencia ordenada de PPLs que se obtienen relajando las
restricciones de integralidad y añadiendo restricciones adicionales. El número de
restricciones adicionales crece a medida que el método B&B progresa. Estas
restricciones permiten separar la región factible en subregiones complementarias.

El método B&B establece inicialmente cotas inferior y superior del valor óptimo de
la función objetivo. El mecanismo de bifurcación aumenta progresivamente el valor
de la cota inferior y disminuye también progresivamente el valor de la cota superior.
La diferencia entre estas cotas es una medida de la proximidad de la solución actual
a la óptima, si ésta existe.

Al minimizar, se obtiene una cota inferior de la solución óptima relajando las


restricciones de integralidad del PPLE inicial y resolviendo el PPL resultante.
Además, el valor de la función objetivo para cualquier solución del PPLE original es
una cota superior de la solución óptima. De manera análoga, al maximizar, la
solución del PPL relajado es una cota superior para el óptimo y cualquier solución
del PPLE original es una cota inferior de la solución óptima.

A continuación se enumeran los pasos del algoritmo B&B para un PPLE Mixta:

Paso 1: Iniciación1.

Se establece una cota superior (∞) y una cota inferior (−∞) de la solución óptima.

2. Se resuelve el PPLE Mixta inicial relajando las restricciones de integralidad.

3.A) Si el problema relajado es infactible, el original también lo es y no hay solución.

4. B) Si la solución obtenida satisface las condiciones de integralidad, es óptima.

5.C) En cualquier otro caso, se actualiza el valor de la cota correspondiente con el


valor de la función objetivo resultante.
Pasó 2: Bifurcación
1. Empleando la variable xk que ha de ser entera y no lo es, se generan mediante
bifurcación dos problemas. Si el valor de la variable que ha de ser entera xk es a.b,
donde a y b son sus partes entera y fraccional respectivamente, los problemas fruto
de la bifurcación son los siguientes.
2.A) El primer problema es el PPLE relajado al que se la añade la restricción xk≤a
B) El segundo es el PPLE relajado al que se le añade la restricción xk≥a+13.

Estos problemas se colocan ordenadamente en una lista de problemas a procesar


que son resueltos secuencialmente o en paralelo.
Obsérvese que la técnica de bifurcación propuesta cubre completamente el espacio
de soluciones.

Pasó 3: Solución
3.1 Se resuelve el siguiente problema en la lista de problemas a procesar.

Pasó 4: Acotación
4.1 Si la solución del problema actual satisface las condiciones de integralidad y el
valor óptimo de su función objetivo es menor que la cota superior actual, dicha cota
se actualiza al valor óptimo de la función objetivo del problema resuelto, y el
minimizador actual se almacena como el mejor candidato a minimizador del
problema original. En caso de maximizaciones, la cota inferior actual se actualiza al
valor óptimo de la función objetivo del problema resuelto si éste es menor que dicha
cota inferior.
4.2 Si, por el contrario, la solución obtenida no satisface las restricciones de
integralidad y el valor de la correspondiente función objetivo está entre las cotas
inferior y superior, se actualiza el valor de la cota inferior al valor de la función
objetivo del problema resuelto y se procede a bifurcar de nuevo. En caso de
maximizaciones, se actualiza el valor de la cota superior al valor de la función
objetivo del problema resuelto y se procede a bifurcar de nuevo.
4.3 Los problemas generados en el proceso de bifurcación se añaden a la lista de
problemas que han de resolverse.

Pasó 5: Poda

5.1 Poda por cotas: Tiene lugar si la solución no satisface las condiciones de
integralidad y además el valor de la función objetivo del problema resuelto es mayor
que la cota superior para minimizaciones o menor que la cota inferior para
maximizaciones. En este caso no es posible obtener soluciones mediante
bifurcaciones adicionales de esa rama.

5.2 Poda por infactibilidad: Tiene lugar si el problema es infactible.

5.3 Poda por integralidad: Tiene lugar si la solución del problema actual cumple las
restricciones de integralidad.

Pasó 6: Optimalidad

6.1 Si la lista de problemas a procesar no está vacía, se continúa con el paso 3.

6.2 Si la lista de problemas a procesar está vacía, el procedimiento concluye.

6.3 Concluido el problema, si existe un candidato aminimizador, dicho candidato es


el minimizador; en caso contrario, el problema es infactible.

El algoritmo de B&B devuelve la solución óptima o notifica la infactibilidad bien en


el paso 1 ó en el paso 6. El proceso de bifurcación concluye por la poda de la rama
correspondiente como consecuencia de una de las tres razones siguientes:

1. La solución del problema relajado es mayor que la cota superior disponible en el


caso de minimizaciones, o menor que la cota inferior disponible para el caso de
maximizaciones.

2. El problema considerado es infactible.

3. La solución obtenida satisface las condiciones de integralidad.


Como puede verse, los pasos centrales del algoritmo B&B son la bifurcación, la
acotación y la poda. La diferencia entre un algoritmo B&B u otro radica en las
diferentes estrategias que pueden llevarse a cabo a la hora de implementar tales
pasos.

Estrategias de bifurcación y procesamiento Cualquier variable que deba ser entera


pero que no lo sea en la solución actual, es una variable candidata para bifurcación.
Cuál escoger no es una cuestión trivial, y su respuesta ha de basarse en la
estructura del problema.

Ejemplo Branch & Bound (Ramificación y Acotamiento)

Consideremos el siguiente modelo de Programación Entera el cual resolveremos


con el algoritmo de Branch and Bound:

El paso inicial consiste en resolver este problema como si fuese un modelo


de Programación Lineal (relajación continua). Si la solución de dicho problema
llegara a respetar las condiciones de integralidad para las variables de decisión,
ésta ya sería la solución óptima del problema entero.

Si bien este procedimiento se puede extender a problemas de mayor dimensión,


utilizamos un modelo en 2 variables para poder representar los pasos del algoritmo
gráficamente. El gráfico a continuación muestra dicha resolución:
La solución óptima del problema lineal asociado (que llamaremos P0)
es X1=2,8 y X2=1,6 con valor óptimo V (P0)=20,8. Claramente esta
solución no cumple las condiciones de integralidad para las variables de decisión
por tanto es necesario generar cotas o restricciones adicionales de modo de poder
obtener soluciones enteras. Para ello debemos seleccionar una de las 2 variables
de decisión con valores fraccionarios para poder generar cotas. En estricto rigor
es indistinto cuál de ellas seleccionemos debido a que el método nos debe llevar a
conclusiones similares (aun cuando la cantidad de pasos requeridos o rapidez de
convergencia cambie).

En nuestro ejemplo generaremos cotas adicionales para la variable X1 aproximando


su valor actual al entero inferior más cercano (P1) y entero superior más cercano
(P2).

La resolución gráfica del problema 1 (P1) nos da como solución


óptima X1=2 y X2=2 que es una solución entera. El valor óptimo del problema 1
es V(P1)=20. Notar que V(P1)<V(P0) lo cual es natural dado que el dominio de
soluciones factibles del P1 es menor (subconjunto) al dominio de soluciones
factibles de P0.
Análogamente la resolución gráfica (Método Gráfico) del problema 2 (P2) determina
que X1=3 y X2=4/3 con V(P2)=20 según se observa a continuación:

Luego no sería del todo necesario seguir desarrollando el algoritmo dado que si
generamos cotas para la variable X2 del P2 en ningún caso podríamos obtener una
solución entera con valor óptimo superior a 20 (valor que reporta en la función
objetivo la actual solución entera de P1) y por tanto podríamos concluir
que X1=2 y X2=2 es la solución óptima del problema entero. No obstante el
siguiente diagrama muestra los pasos adicionales en caso que quisiera agregar
cotas adicionales a partir del P2.

Un argumento similar al expuesto previamente en este caso explicaría la no


necesidad de seguir ramificando el P21. Se propone al lector verificar que se obtiene
la misma solución óptima si luego del P0 ramificamos a través de X2 agregando las
restricciones X2<=1 y X2>=2.

Método heurístico para problemas binarios:

La idea más general del término heurística está relacionada con la tarea de resolver
inteligentemente problemas reales usando el conocimiento disponible. La palabra
heurística proviene del griego Heurískein que puede traducirse por encontrar,
descubrir, hallar (Melián et al, 2003).

Una definición intuitiva es la propuesta por Zeneckis et al. (1981): “Las heurísticas
son procedimientos simples basados en el sentido común que se supone que
obtendrán una buena solución (no necesariamente la mejor) a un problema difícil
de un modo sencillo y rápido”.

Una característica de los métodos heurísticos es que pueden encontrar una solución
de alta calidad pero que no necesariamente es la óptima, e incluso, en muchos
casos no se llega a establecer lo cerca que está una solución heurística de la
solución óptima.

El problema de asignación es una variación del problema original de transporte,


variación en la cual las variables de decisión X(i,j) solo pueden tomar valores
binarios, es decir ser cero (0) o uno (1) en la solución óptima, lo que supone que la
oferta y la demanda están perfectamente alineadas, de hecho ambas son iguales a
uno (1).

Método Húngaro:

El método Húngaro es un método de optimización de problemas de asignación,


conocido como tal gracias a que los primeros aportes al método clásico definitivo
fueron de Dénes König y Jenő Egerváry dos matemáticos húngaros. El algoritmo tal
como se detallará a continuación está diseñado para la resolución de problemas
de minimización únicamente, será entonces cuestión de agregar un paso adicional
para abordar ejercicios de maximización.

ALGORITMO HÚNGARO, PASO 1

Antes que nada cabe recordar que el método húngaro trabaja en una matriz de
costos n*m (en este caso conocida como matriz m*m, dado que el número de filas
es igual al número de columnas n = m), una vez construida esta se debe encontrar
el elemento más pequeño en cada fila de la matriz.

ALGORITMO HÚNGARO, PASO 2

Una vez se cumple el procedimiento anterior se debe construir una nueva matriz
n*m, en la cual se consignarán los valores resultantes de la diferencia entre cada
costo y el valor mínimo de la fila a la cual cada costo corresponde (valor mínimo
hallado en el primer paso).

ALGORITMO HÚNGARO, PASO 3


Este paso consiste en realizar el mismo procedimiento de los dos pasos anteriores
referidos ahora a las columnas, es decir, se halla el valor mínimo de cada columna,
con la diferencia que este se halla de la matriz resultante en el segundo paso, luego
se construirá una nueva matriz en la cual se consignarán los valores resultantes de
la diferencia entre cada costo y el valor mínimo de la columna a la cual cada costo
corresponde, matriz llamada "Matriz de Costos Reducidos".

ALGORITMO HÚNGARO, PASO 4

A continuación se deben de trazar líneas horizontales o verticales o ambas


(únicamente de esos tipos) con el objetivo de cubrir todos los ceros de la matriz de
costos reducidos con el menor número de líneas posibles, si el número de líneas es
igual al número de filas o columnas se ha logrado obtener la solución óptima (la
mejor asignación según el contexto de optimización), si el número de líneas es
inferior al número de filas o columnas se debe de proceder con el paso 5.

ALGORITMO HÚNGARO, PASO 5

Este paso consiste en encontrar el menor elemento de aquellos valores que no se


encuentran cubiertos por las líneas del paso 4, ahora se restará del restante de
elementos que no se encuentran cubiertos por las líneas; a continuación este mismo
valor se sumará a los valores que se encuentren en las intersecciones de las líneas
horizontales y verticales, una vez finalizado este paso se debe volver al paso 4.

Uso de software:

WINQSB es un paquete de herramientas muy versátil que permite el análisis y


resolución de modelos matemáticos, problemas administrativos, de producción,
proyectos, inventarios, transporte, entre muchos otros. Ofrece una interfaz básica
pero amigable, y es la aplicación por excelencia utilizada por profesionales de
Ingeniería Industrial y áreas administrativas para la resolución de sus modelos de
programación lineal, continua o entera.
A continuación se mostrara un ejemplo de un problema resuelto en el programa
WinQSB de versiones anteriores.

El PROBLEMA

Un herrero con 80 Kg. de acero y 120 Kg. de aluminio quiere hacer bicicletas de
paseo y de montaña que quiere vender, respectivamente a 20.000 y 15.000 pesos
cada una para sacar el máximo beneficio. Para la de paseo empleará 1 Kg. De acero
y 3 Kg. de aluminio, y para la de montaña 2 Kg. de ambos metales. ¿Cuántas
bicicletas de paseo y de montaña deberá fabricar para maximizar las utilidades?

EL MODELO MATEMÁTICO

Acero Aluminio Precio de Venta

Bicicleta de paseo (x) 1 kg 3 kg $ 20.000

Bicicleta de montaña (y) 2 kg 2 kg $ 15.000

Disponibilidad 80 kg 120 kg

Declaración de variables

x = Cantidad de bicicletas de paseo a producir

y = Cantidad de bicicletas de montaña a producir

Restricciones de capacidad

Aluminio: x + 2y <= 80

Acero: 3x + 2y <= 120

Función Objetivo

Zmax = 20000x + 15000y


INGRESANDO A LINEAR AND INTEGER PROGRAMMING (WINQSB)

Una vez se haya ingresado al módulo Linear and Integer Programming, se abrirá
una ventana de inicio del módulo, tal como se muestra a continuación:

En esta ventana podremos entonces crear un nuevo problema, o cargar uno que ya
hayamos desarrollado. Una vez demos clic en "Nuevo Problema (New Problem)" se
abrirá un menú emergente que nos permitirá ingresar los parámetros básicos del
problema:
El programa requiere que se definan las especificaciones del problema, que incluye
el nombre de problema, el número de variables, el número de restricciones, el
criterio de la función objetivo, los tipos de variable por defecto, y el formato de
entrada de datos, ya sea en forma de matriz o en forma de modelo normal.

El nombre de problema, los nombres de variables, nombres de restricción, el


número de variables, número de restricciones , el criterio de la función objetivo, tipos
de variables, y la entrada de datos formato se pueden modificar mediante el menú
Formato y menú Editar una vez se haya abierto el modelo.

Para el problema que estamos abordando es necesario que ingresemos los


siguientes parámetros:

Número de variables: 2 (x , y )

Número de restricciones: 2 (Disponibilidad de Aluminio y Acero)

Función Objetivo: Maximizar (Utilidades)

Tipos de variables por defecto: Enteras no negativas (Serán bicicletas, unidades


enteras)

Formato de entrada: Matriz (Recomendado)

Una vez se registren los parámetros y al dar clic en el botón OK, se mostrará
la siguiente ventana, en aras de utilizar las mismas variables que en el modelo,
mostraremos el método de renombrar las variables:
Desde el menú EDIT, también podremos modificar el nombre de las restricciones,
tal como se aprecia en la siguiente imagen:

La interfaz para ingresar los valores que controlan el problema es la siguiente:

En ella hemos registrado los datos que controlan nuestro problema de estudio. El
siguiente paso, consiste en resolver el problema, para ello damos clic en el botón
"Solve and Analize": Este comando resuelve el problema. Si se especifica alguna
variable como un entero o binario, el programa utilizará automáticamente el método
de Branch and Bound (Rama y Cotas) para resolver el problema. El método simplex
modificado es utilizado para resolver problemas de programación lineal continua.

Esta opción mostrará automáticamente un tabulado resumen de la solución si el


problema tiene una solución óptima, mostrará la inviabilidad de análisis si el
problema no es factible, o mostrará si el análisis no acotación si el problema no está
acotado en función objetivo o valores de las variables.
Este mensaje nos indica que el problema ha sido resuelto, y que existe una solución
óptima que ha sido encontrada. Al dar clic en Aceptar, nos llevará al cuadro resumen
de la solución:

Interpretar cada uno de los valores del cuadro solución, es cuan o más importante
que obtener la solución óptima, dado que de dicha interpretación podremos extraer
un buen análisis de sensibilidad:

Solution value: Valor solución, es el valor que toman las variables de decisión en
nuestra solución óptima, en este caso nos indica que se deberán producir 20
bicicletas tipo paseo y 30 bicicletas tipo montaña.

Unit Cost or Profit: El costo unitario o contribución es el valor que les fue asignado
a las variables por nosotros en la función objetivo.

Total Contribution: Es la contribución total a la solución objetivo, es el producto del


valor solución * costo unitario o contribución.

Basic Status: Después de que el problema se resuelve, esto representa si la variable


es una variable de base, en el límite inferior, o en el límite superior en la tabla
simplex final.
Allowable MIN, MAX C(j): Para un coeficiente de la función objetivo en particular.
Este es el rango en que la base actual de la solución sigue siendo la misma.

Objective Function: Nos muestra el resultado de nuestra función objetivo, en este


caso la solución óptima tiene una función objetivo (utilidad) de $ 850.000

Left Hand Side: Del lado izquierdo, es el valor que toma la ecuación de cada
restricción luego de reemplazar las variables que la componen por los valores
solución. Por ejemplo, la ecuación de la restricción de Acero que es x + 2y <= 80, al
reemplazar los valores solución quedará: (20) + 2(30) <= 80, el valor del lado
izquierdo será entonces 80.

Right Hand Side: Del lado derecho, es el valor asignado por nosotros a las
restricciones como máximo o mínimo recurso disponible.

Slack o Surplus: Cuando la restricción en cuestión tiene el operador <=,


corresponde a una holgura, es decir, se puede interpretar como el recurso no
utilizado. Cuando la restricción en cuestión tiene el operador >=, corresponde a un
exceso, es decir, se puede interpretar como el recurso utilizado por encima de la
restricción de mínimo uso.

Shadow Price: El precio sombra de una restricción, es el cambio marginal de la


función objetivo cuando el valor del lado derecho de la restricción aumenta en una
unidad. En nuestro ejemplo sería así: por cada kg de acero adicional que tengamos
disponible, la función objetivo aumentará en $ 1250. (Schmalbach)

Tora:

El software TORA de optimización es un programa basado en Windows® que tiene


por objeto usarse con muchas de las técnicas presentadas en el libro Investigación
de Operaciones de TAHA. TORA es una aplicación muy simple, con una interfaz
gráfica de baja calidad. Una de las ventajas de TORA es que puede utilizarse en
procesadores de 32 y 64 bits, hoy por hoy su principal desventaja es que deberá
ajustarse la configuración de pantalla para adecuarse a sus ajustes de presentación
de 800 x 600 y 1024 x 768 pixeles. Se recomienda el segundo ajuste, porque
produce una distribución más proporcionada de la pantalla.

Lingo:

Lingo es una herramienta diseñada para construir y resolver modelos de


optimización matemática. LINGO proporciona un paquete integrado que incluye un
potente lenguaje para expresar modelos de optimización, un ambiente con todas las
funciones para los problemas de construcción y edición, y un conjunto de
solucionadores rápidos incorporados, capaces de resolver de manera eficiente la
mayoría de las clases de modelos de optimización.

Resolver de manera eficiente la mayoría de las clases de modelos de optimización.


Aprender acerca del acceso a las herramientas más poderosas de LINGO a través
de su lenguaje es una tarea compleja, sin embargo los modelos que no precisan de
un complejo uso de recursos pueden resolverse con una sintaxis sumamente
sencilla.
Conclusiones:

Es un gran aprendizaje significativo el que obtengo al realizar esta investigación ya


que uno mismo se va limitando la cantidad de información que quiere estudiar o
analizar para integrarla en la investigación, por lo cual uno aprende hasta que
quiere. Puedo decir que sé que es programación entera su definición y para que se
utiliza que no es nada más que una variante de los métodos de programación lineal
pero con la característica que una de sus variables sea entera y dando resultados
óptimos o no en algunos casos enteros. Lo que busca la programación entera es
resultados enteros.

La programación entera tiene distintos modelos y que para cada modelo hay
distintos métodos de resolución de problemas de este estilo que el campo de
aplicación de esta programación y estilo de sistemas es muy grande y de gran ayuda
para la vida cotidiana. Me quedó claro la metodología para graficar los problemas
de este estilo y como resolverlos por el método de ramificación y acotación que en
muchas fuentes leí que este método puede dar resultados enteros pero muchas
veces no óptimos para la función objetivo y que esta era una gran desventaja al
momento de emplearlo.
Referencias:

Arnold, K. (1984). metodos y modelos de Investigacion de Operaciojnes (Quinta


ed.). CECSA.

Facultad de Ingeniería, U. d. (2012). Obtenido de


https://www.fing.edu.uy/inco/cursos/io/archivos/teorico/todo.pdf

G.D, E., & Gould, F. (s.f.). Investigacion de Operaciones en la Ciencia


Administrativa.

Hiller, F. (1991). Introduccion a la Investigacion de operaciones (Quinta ed.). MC


GRAW HILL.

López., B. S. (05 de 11 de 2014). ingenieria industrial online. Obtenido de


https://www.ingenieriaindustrialonline.com/herramientas-para-el-ingeniero-
industrial/investigaci%C3%B3n-de-operaciones/m%C3%A9todo-
gr%C3%A1fico/

Lumberger, D. (1989). Programacion Lineal y no Lineal. EUA: Wesley ED Addison


Iberoamericana.

Nagui, M. (1996). Investigacion de Operaciones. Interpretacion de Modelos y


Casos. México.

Schmalbach, J. C. (s.f.). Analisis cuantitativo con WINQSB. Universidad de


Cartagena.

Taha, H. A. (2012). Investigacion de operaciones (Novena ed.). México: Pearson.

Vous aimerez peut-être aussi