Resumen Completo PDF
Resumen Completo PDF
Resumen Completo PDF
HIDALGO
INGENIERÍA INDUSTRIAL
PROGRAMACIÓN ENTERA
INVESTIGACIÓN DE OPERACIONES
Alumno:
GARCÍA VICENTE JESÚS EDCEL 18011375
A este tipo de resoluciones se les dio el nombre de métodos exactos. Por otro
lado, se desarrollaron otro tipo de técnicas que recibieron el nombre de métodos
heurísticos, los cuales hacen referencia a la intuición y conducen a una solución
próxima a la óptima en un tiempo razonable. Si se requiere que todas las variables
sean enteras se habla de programación lineal entera pura; si se necesita que
algunas de las variables de decisión sean números enteros, se tiene un problema
de programación lineal entera mixta. En otro tipo de problemas sólo se permite
que las variables tomen un valor de cero o de uno; en estos casos se habla de
programación lineal entera binaria (digital); si se requiere que solamente algunas
de las variables tomen valores de cero o uno, se tiene un problema de
programación lineal entera binaria mixta.
1
ANÁLISIS DE TIPOS DE PROBLEMAS DE LA CLASIFICACIÓN ENTERA
2
En esta categoría encontramos aquellos modelos de Programación Entera que
consideran exclusivamente variables de decisión que adoptan valores enteros o
binarios. Un ejemplo de ello son las siguientes aplicaciones:
1. Problema de Asignación
2. Problema de Corte de Rollos
3. Selección de Invitados a una Boda
4. Programación de la Explotación Forestal
5. Problema de la Mochila
Notar que en los problemas anteriores (PEP) el conjunto de las soluciones
factibles (o dominio de soluciones factibles) es finito. Esto ocurrirá generalmente
con los problemas de Programación Entera (puros).
3
En este contexto y dada la naturaleza de los problemas propuestos, el valor
óptimo del Problema Lineal (PL) será una cota superior del valor óptimo del
Problema Entero (PE). También se concluye que el dominio de soluciones
factibles de un modelo de Programación Lineal (cuando existe) representa un
conjunto convexo (los problemas de Programación Lineal son convexos) y en el
caso del problema de Programación Entera Pura su conjunto de soluciones
factibles es discreto.
CLASIFICACIÓN:
Existen tres tipos de modelos por programación entera
B) BINARIA : Estos modelos lineales , las variables sólo toman valores 0 y 1 , son
usadas para uso probabilistico Donde 0 se rechaza la opción y 1 se acepta
la opción
Forma General :
Max (Min ) = A1Y1+A2Y2+A3Y3+A4Y4+A5Y5+..........+AnYn
Sujeto a : y1+y2+y3+y4+..........+yn >= (<=)(=) Bi
No negatividad : yi >= 0 v 1
C) MIXTA : En estos tipos de modelos , integra las variables puras y las mixtas
Max (Min )
5
= A1X1+A2X2+A3X3+A4X4+A5X5+..........+AnXn+A1Y1+A2Y2+A3Y3+A4Y4+A5Y
5+..........+AnYn
Sujeto a :
A1X1+A2X2+A3X3+A4X4+A5X5+..........+AnXn >= (<=)(=) Bi
y1+y2+y3+y4+..........+yn >= (<=)(=) Bi
No negatividad :
Xi >= 0 y ENTERO
Xi >= 0 v 1
Ejemplo Aplicativo
A $ 3000 $5 2100
B 2000 4 1800
C 1000 7 3000
V.D.
Restricciones:
Demanda en el periodo 1:
7
xa1 +xb1+xc1 >= 2900
Demanda en el periodo 2:
xa2+xb2+xc2>= 3900
Capacidad de generador A:
Capacidad de generador B:
Capacidad de generador C:
Función Objetivo:
Costo Cargo x
Proveedor Condiciones
Unitario Entrega
1 500 5000 A lo más 500
2 350 4000 Cuanto mucho
900
3 250 6000 A lo más 400
Variables de Decisión:
Xi = Cantidad de computadoras a comprar del proveedor i (i = 1, 2,3)
Yi = Decisión de compra de computadoras a comprar del proveedor i (i = 1, 2,3)
basándose en el costo fijo
Función Objetivo:
Min Z = 500X1 + 350X2 + 250X3 + 5000Y1 + 4000Y2 + 6000Y3
Restricciones:
X1 <= 500
X2 <= 900
X3 <= 400
X1 + X2 + X3 <= 1100
Xi >= 0 y ENTERO
Yi = 0, 1
9
Hallco tiene un turno diurno y un turno nocturno No importa cuantas unidades se
producen, el único costo de producción durante un turno es un costo de
preparación Cuesta 8000 dólares la corrida del día y 4500 dólares la corrida de la
noche. la demanda para los dos días siguientes es como se indica: Día 1, 2000;
noche 1, 3000; Día 2, 2000; noche 2, 3000. Cuesta un dólar por unidad conservar
una unidad en inventario durante un turno. Determine un programa de producción
que minimice la suma de los costos de preparación y de inventario. se debe
cumplir con la demanda justo a tiempo
SOLUCIÓN
Variables de Decisión:
Xi = Cantidad de productos a fabricar en el turno i (i = 1, 2) y en el día j (j=1,2)
Yi = Decisión de fabricación en el turno i (i = 1, 2,) y en el día j (j=1,2) basándose
en el costo fijo
Función Objetivo:
Min Z = X11 + X12 + X21 + X22 8000(Y11 + Y12) + 3500(Y21 + Y22)
Restricciones:
X11 <= 2000
X12 <= 3000
X21 <= 2000
X22 <= 3000
Xi >= 0 y ENTERO
Yi = 0, 1
10
11
Método Gráfico
Características
Cada punto situado en la frontera del espacio del área factible, es decir que
satisfacen todas las restricciones, representa un punto factible.
El problema
Variables
Restricciones
Función objetivo
XT = x
XT‟ = y
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.
0,2y = 500
500/0,2 = y
2500 = y
y para un y = 0
0,12x = 500
x = 500/0,12
x = 4167
Seguimos con la segunda restricción
Función objetivo,
x = 555,55
0,2y = 433,334
y = 433,334 / 0,2
y = 2166,67
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
Zmax = 13.055.550
Ahora podemos cotejar los resultados con los obtenidos mediante resolución
por Solver – Excel, sin embargo recuerden que el método de búsqueda de la
solución óptima en el método gráfico que utilizamos es el geométrico y que
existe una posibilidad mucho más compleja pero igualmente efectiva, este es el
método de iteración por vértice, y que consiste en hallar todas las coordenadas
de los vértices y luego en cada coordenada se evalúa la función objetivo, (cada
coordenada nos proporciona un valor en «x» y otro en «y», luego
reemplazamos estos valores en la función objetivo «4000x + 5000y = ?» y
luego evaluamos los resultados seleccionando la mayor cantidad).
sujeto a sujeto a
Ax ≤ b Ax ≤ b
x ≥ 0y entero x≥0
∗ ∗
.
PR PE
Dado que la solución candidata puede ser la solución óptima del problema
entero, una vez obtenida una solución candidata se debe mantener hasta
obtener otra mejor. El valor de la función objetivo para la solución candidata
fija una cota inferior zI para el problema entero. Esta cota sirve para cortar las
ramas donde la función objetivo sea menor o igual que zI porque indica que
en esas ramas no se encuentra la solución óptima del problema entero. Un
problema de ese tipo es llamado problema terminal. Además, también son
problemas terminales aquellos que tienen un valor objetivo mayor que la cota
inferior pero cuya solución es entera; en este caso esta solución pasa a ser
la candidata y se actualiza la cota inferior. Por último, un problema es terminal
si es infectable.
Objetivo maximizar.
En otro caso, fijar una cota inferior zI para el valor óptimo del problema
entero. Si no se conoce ninguna solución candidata para el
problema entero, hacer zI = −∞.
Paso 3. Acotación. Resolver cada uno de los dos problemas recién creados
en el paso de ramificación.
(2) zS ≤ zI.
Primera iteracio´n.
x1 x2 x3 x4
0 0 20 5 440
12 1
a2 0
7
a1 1
x1 x2 x3 x4 x5
0 0 20 5 0 440
12 −1 24
a2 0 1 7
0 7
a1 1 0 −5 1
7
0 25
7
a5 1 0 0 0 1 3
Operación elemental en la fila 3 de la tabla: fila 3 − fila 2.
x1 x2 x3 x4 x5
0 0 20 5 0 440
a2 0 1 12
7 −17 0 24
7
a1 1 0 −57 1
7 0 25
7
a5 0 0 5 − 1 1 −4
7 7 7
Esta tabla no tiene factibilidad primal. Aplicando el algoritmo simplex dual se tiene la
siguiente tabla que es óptima para el problema P2.
x1 x2 x3 x4 x5
0 0 45 0 35 420
a2 0 1 1 0 −1 4
a1 1 0 0 0 1 3
a4 0 0 −5 1 −7 4
Solución del problema P3. Partiendo de la tabla óptima del PR, para añadir
la restricción x1 ≥ 4 se multiplica por −1, −x1 ≤ −4, para poder sumar una variable
de holgura x5 que permite ampliar la base. Se tiene la siguiente tabla:
x1 x2 x3 x4 x5
0 0 20 5 0 440
a2 0 1 12 −1 0 24
7
1 25
a1 1 0 −5 7
0 7
a5 −1 0 0 0 1 −4
a1 1 0 −57 1
7 0 25
7
a5 0 0 −5 1 1 −3
7 7 7
x1 x2 x3 x4 x5
0 0 0 9 28 428
1 12 12
a2 0 1 0 5 5 5
a1 1 0 0 0 −1 4
Segunda iteración.
Tercera iteración.
Paso 3. Acotación. Resolver los dos problemas recién creados. Para ello
procedemos como en la primera iteración siendo en este caso la tabla de
partida la tabla óptima para el problema P4. Se obtienen las soluciones
recogidas en el diagrama de la Figura 5.4.
x∗ = 3, x∗ = 4, z∗ = z = 420.
1 2 PE I
0
Definición y características del método heurístico para problemas binarios
En el lenguaje coloquial, optimizar significa poco más que mejorar; sin embargo, en
el contexto científico la optimización es el proceso de tratar de encontrar la mejor
solución posible para un determinado problema. En un problema de optimización
existen diferentes soluciones, un criterio para discriminar entre ellas y el objetivo es
encontrar la mejor. De forma más precisa, estos problemas se pueden expresar
como encontrar el valor de unas variables de decisión para los que una determinada
función objetivo alcanza su valor máximo o mínimo. El valor de las variables en
ocasiones está sujeto a unas restricciones.
En contraposición a los métodos exactos que proporcionan una solución óptima del
problema, los métodos heurísticos se limitan a proporcionar una buena solución del
problema no necesariamente óptima. Lógicamente, el tiempo invertido por un
método exacto para encontrar la solución óptima de un problema difícil, si es que
existe tal método, es de un orden de magnitud muy superior al del heurístico
(pudiendo llegar a ser tan grande en muchos casos, que sea inaplicable).
Métodos de Descomposición
El problema original se descompone en subproblemas mas sencillos de resolver,
teniendo en cuenta, aunque sea de manera general, que ambos pertenecen al
mismo problema.
Métodos Inductivos
La idea de estos métodos es generalizar de versiones pequeñas o más sencillas al
caso completo. Propiedades o técnicas identificadas en estos casos más fáciles de
analizar pueden ser aplicadas al problema completo.
Métodos de Reducción
Consiste en identificar propiedades que se cumplen mayoritariamente por las buenas
soluciones e introducirlas como restricciones del problema. El objeto es restringir el
espacio de soluciones simplificando el problema. El riesgo obvio es dejar fuera las
soluciones óptimas del problema original.
Métodos Constructivos
Consisten en construir literalmente paso a paso una solución del problema.
Usualmente son métodos deterministas y suelen estar basados en la mejor elección
en cada iteración. Estos métodos han sido muy utilizados en problemas clásicos
como el del viajante.
Si bien todos estos métodos han contribuido a ampliar nuestro conocimiento para la
resolución de problemas reales, los métodos constructivos y los de búsqueda local
constituyen la base de los procedimientos metaheurísticos. Por ello, estudiaremos en
el capítulo segundo los métodos constructivos en el problema del viajante y en el
capítulo tercero los métodos de búsqueda local en este mismo problema. El lector
podrá encontrar alusiones a lo largo del texto a cualquiera de los métodos de
descomposición, inductivos o de reducción, pero no dedicaremos una sección
específica a su estudio. Alternativamente, prestaremos especial atención a los
métodos resultantes de combinar la construcción con la búsqueda local y sus
diferentes variantes en el capítulo tercero, puesto que puede considerarse un punto
de inicio en el desarrollo de método metaheurísticos.
En los últimos años han aparecido una serie de métodos bajo el nombre de
Metaheurísticos con el propósito de obtener mejores resultados que los alcanzados
por los heurísticos tradicionales. El término metaheurístico fue introducido por Fred
Glover en 1986. En este libro utilizaremos la acepción de heurísticos para referirnos
a los métodos clásicos en contraposición a la de metaheurísticos que reservamos
para los más recientes y complejos. En algunos textos podemos encontrar la
expresión “heurísticos modernos” refiriéndose a los meta-heurísticos (Reeves, 1995)
tal y como se menciona: "The modern-coin comes from ... the way they attempt to
simulate some naturally-occurring process.".. Los profesores Osman y Kelly (1995)
introducen la siguiente definición:
“An iterative master process that guides and modifies the operations of
subordinate heuristics to efficiently produce high-quality solutions. It may
manipulate a complete (or incomplete) single solution or a collection of solutions
at each iteration. The subordinate heuristics may be high (or low) level
procedures, or a simple local search, or just a construction method." Voß et al
(1997)
“It is a heuristic framework which combines a non-problem-specific control
procedure with a subordinate heuristic in order to commonly find better
solutions than the latter one would be able on its own. The control process
mentioned can be implemented for different problems without changing its
ingredients significantly.” Greistorfer (2000)
Problema de la Mochila
Se tienen n objetos donde cada objeto j tiene un peso wj y un valor vj. El problema
consiste en seleccionar los objetos a incluir en una mochila sin exceder el peso
máximo W, de modo que el valor total de los mismos sea máximo.
Para formular el problema se define una variable xi , por cada objeto i, de modo que
vale 1 si el objeto es seleccionado y 0 en caso contrario.
MAX
v1x1+v2x2+…+vnxn
s.a.:
w1x1+w2x2+…+wnxn W
x 0, entero
La denominada Cutting Stock, en donde hay que cortar una plancha de acero en
diferentes piezas.
Determinar los artículos que puede almacenar un depósito para maximizar su
valor total.
Maximizar el beneficio en asignación de inversiones cuando sólo hay una
restricción.
Este problema, también conocido como “Set Covering”, se puede enunciar del
siguiente modo: Sea un conjunto de objetos S={1,2,..,m} y una clase H de
subconjuntos de S, H={H1,H2,. .,Hn} donde cada Hi tiene un coste ci asociado. El
problema consiste en cubrir con coste mínimo todos los elementos de S con
subconjuntos Hi.
Para formular el problema se define una variable xi que vale 1 si Hi está en la
solución y 0 en otro caso. También se introduce una matriz A={a ij} en donde el aij
vale 1 si el elemento j de S está en Hi y 0 en otro caso.
MIN
c1x1+c2x2+…+cnxn
s.a.:
a1jx1+a2jx2+…+anjxn 1 j=1,…,m
xi = 1,0 i=1,…,n
Este problema tiene diferentes aplicaciones, entre las que podemos destacar la
localización de servicios, tales como hospitales, bomberos, etc. y, la asignación de
tripulaciones a vuelos.
En cierto modo, la relajación lineal del Set Covering y la del Set Packing son
problemas duales. Sin embargo esto no sirve para establecer una relación entre los
problemas enteros originales.
Este problema también es conocido como Set Partitioning y, al igual que en los dos
anteriores, se tienen los conjuntos S y H. Así como en el Set Covering cada
elemento de S tiene que aparecer al menos en uno de H, en este problema cada
elemento de S tiene que aparecer exactamente en uno de H, por lo tanto la solución
representa una partición del conjunto S. La función objetivo puede ser maximizar o
minimizar, según la aplicación.
Aplicaciones:
Asignación de tripulaciones en una versión más restringida que la anteriormente
mencionada.
Creación de distritos Electorales: Asignación de electores a un colegio electoral.
Los tres problemas vistos pueden ser muy útiles para mostrar la transformación y
relaciones entre problemas. Así podemos ver que el Set Packing y el Set
Partitioning son equivalentes. Para pasar del primero al segundo basta con añadir
variables de holgura. La transformación inversa se realiza mediante variables
artificiales. Estos dos problemas son más “fáciles” de resolver de forma exacta que
el Set Covering ya que en ellos las restricciones lineales están más ajustadas
respecto al conjunto de soluciones enteras posibles, por lo que los óptimos de las
relajaciones lineales están más cerca de las soluciones enteras.
Este problema, también conocido como Traveling Salesman Problem (TSP), ha sido
uno de los mas estudiados en Investigación Operativa, por lo que merece una
atención especial. Cuando la teoría de la Complejidad Algorítmica se desarrolló, el
TSP fue uno de los primeros problemas en estudiarse, probando Karp en 1972 que
pertenece a la clase de los problemas difíciles (NP-hard).
Un ciclo es un camino (e1, e2, …, ek) en el que el vértice final de ek coincide con el
inicial de e1.
Un subtour es un ciclo simple que no pasa por todos los vértices del grafo.
Un tour o ciclo hamiltoniano es un ciclo simple que pasa por todos los vértices
del grafo.
8 5 4
1
6
4
3 6
5
4 3
10
2 5 6
8 10
6 7
4
4 8 4
3 8
Figura 1. Ciclo Hamiltoniano
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ónde 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.
DS for Windows
Software para la producción / gestión de operaciones, métodos cuantitativos,
ciencias de la gestión y la investigación de operaciones.
Ejemplos
2.1 El problema
Se consideró una situación hipotética en la que se necesita obtener un plan de
cortas para una unidad de producción forestal, tal que permita abastecer de madera
en forma continua a una planta de producción de pulpa y minimice los costos totales
de aprovechamiento. La unidad de producción forestal está conformada por seis
rodales de una misma especie (eucalipto), el período de planificación es de cinco
años y las necesidades anuales de materia prima de la planta son de 20.000
toneladas.
CONCLUSIONES
Durante esta investigación llevada a cabo pude conocer los diferentes modelos de o
métodos de programación lineal, ya que La programación entera es el método
empleado para resolver problemas que tienen variables de decisión enteras. Estos
modelos se han considerado submodelos de la programación lineal con la
característica de enteridad. Es por esto que se vuelve una herramienta muy
importante para nosotros como ingenieros industriales. Es por esto la gran
importancia que este tiene para poder maximizar cualquier tipo de ingresos.
Un modelo de programación entera es aquel que contiene restricciones y una
función objetivo idénticas a la formuladas en programación lineal , la única diferencia
en que una o más variables de decisión deben tomar valor entero en
la solución final.