Sei sulla pagina 1di 25

VELAZQUEZ TENORIO CARLOS

18070790

VELAZQUEZ TENORIO CARLOS

18070790

INGENIERIA INDUSTRIAL

INVESTIGACION DE OPERACIONES

TRABAJO DE INVESTIGACION
VELAZQUEZ TENORIO CARLOS
18070790

3.1 DEFINICION Y MODELOS DE PROGRAMACIÓN LINEAL ENTERA


Los modelos de programación entera son una extensión de los modelos lineales en los que algunas
variables toman valores enteros.

Con frecuencia las variables enteras solo toman valores en 0-1, ya que este tipo de variables
permiten representar condiciones lógicas.

Este tipo de modelos permite representar sistemas mucho más complejos. A cambio, la resolución
de los mismos se complica excesivamente. No se puede utilizar la suavidad de las funciones para
inferir el comportamiento de las mismas cerca del óptimo. Problemas con unas solas decenas de
variables pueden ser casi imposibles de resolver.

 Tipos de modelos

Problemas 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. Por ejemplo los
problemas de transporte. 

Ejemplo: 
VELAZQUEZ TENORIO CARLOS
18070790

Problemas Enteros Mixtos

Un modelo de programación lineal entera mixta (PLEM) es un


problema en el que solo se requieren que algunas variables
tengan valores enteros mientras que otras pueden asumir
cualquier valor continuo. Por ejemplo, los modelos de
dicotomía. 

Ejemplo: 
VELAZQUEZ TENORIO CARLOS
18070790

Problemas Enteros Binarios

En los problemas enteros binarios se restringe el valor de las


variables a 0 ó 1. Son de particular interés debido a que se
pueden usar las variables 0-1 para
representar decisiones dicotomicas (si ó no). Diversos
problemas de asignación, ubicación de plantas, producción y
elaboración de cartera, son de programación lineal entera 0-
1. 

Ejemplo: 
VELAZQUEZ TENORIO CARLOS
18070790

grafica las rectas correspondientes a las restricciones de


tal modo que delimita la región factible de solución.

Posteriormente se identifican los puntos enteros más


próximos al límite de la zona de solución y se unen por
medio de una línea de modo que habremos generado una
nueva zona de solución formada por ésta y los ejes, estando
la solución del problema de programación entera en uno de
los vértices, que será aquel que optimice la función objetivo

3.2 METODO GRAFICO DE PROGRAMACION


ENTERA
Grafica las rectas correspondientes a las restricciones de
tal modo que delimita la región factible de solución.
Posteriormente se identifican los puntos enteros más
próximos al límite de la zona de solución y se unen por
medio de una línea de modo que habremos generado una
nueva zona de solución formada por ésta y los ejes, estando
la solución del problema de programación entera en uno de
los vértices, que será aquel que optimice la función
objetivo.

EJEMPLO:

La Carpintería Pérez.

La Carpintería Pérez desea saber cómo programar la


producción de 2 tipos diferentes de recámaras: provenzal y
americana.

La carpintería cuenta con 200 pies cúbicos de madera y con


50 horas de tiempo disponible, la recámara del tipo provenzal
necesita para su fabricación de 42 pies cúbicos de madera y
12 horas de tiempo; mientras que el tipo americano requiere
35 pies cúbicos de madera y 9.5 horas de tiempo. ¿ Cuánto
deberá de producirse de cada tipo, a fin de maximizar el
ingreso, si el provenzal se vende a N$ 21,000.00 y el
americano a N$ 18,500.00 ?

El planteamiento matemático será:


VELAZQUEZ TENORIO CARLOS
18070790

En la figura VIII.1 se presenta la gráfica del problema,


en donde puede observarse que la segunda restricción es la
que delimita la zona de solución factible para el caso de
programación lineal, cuya solución es X1 = 0, X2 = 5.263, con Z
= 97,368.42 ( punto R en la figura VIII.1 )

Esta solución es inadmisible para el caso, dado que no se


van a producir recámaras por parte de la carpintería en
números fraccionarios, puesto que nadie compraría una
fracción de recámara. Para hallar la solución entera del
problema, se localizan los puntos de combinaciones
enteras que quedan más próximos a la línea de la restricción
(2), pues es la parte de la zona factible de solución hacia
VELAZQUEZ TENORIO CARLOS
18070790

donde la función objetivo aumenta.

Estos puntos son el A(X1=0,X2=5), B(X1=1,X2= 4),


C(X1=1,X2=3), D(X1=2,X2=2), E(X1=3,X2=1) y el F (X1 = 4, X2=
0).

La solución al problema de programación entera quedará


necesariamente en uno de estos vértices y será aquel que
maximice la función objetivo. Esto gráficamente se obtiene
moviendo rectas paralelas a la función objetivo hacia el origen
y ver cuál es el primer vértice que es tocado por una de ellas.
En la figura VIII.1 se muestra con una línea punteada la recta
que corresponde a Z = 105,000.00. Si movemos ésta hacia el
origen, el primer vértice de los puntos enteros que será
tocado es el B, que es la solución entera óptima, la cual es:

X1 = 1

X2 = 4

Z = 95,000.00

Otra manera posible de obtener el óptimo del problema


hubiera sido calcular Z de los puntos enteros A, B, C, D, E y F.
Este método es aplicable para un máximo de 3 variables de
decisión, al igual que en el caso de la programación lineal,
puesto que no podríamos graficar más de 3 dimensiones.

Para casos de minimización la metodología es la misma, con


la única diferencia de que el movimiento de las rectas de la
función objetivo será del origen hacia arriba.

3.3 Método de ramificación y acotación.


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 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. En este contexto resolver el
modelo lineal asociado a un modelo de Programación
VELAZQUEZ TENORIO CARLOS
18070790

Entera se conoce frecuentemente como resolver la relajación


continua del modelo entero.

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:
VELAZQUEZ TENORIO CARLOS
18070790

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
VELAZQUEZ TENORIO CARLOS
18070790

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
VELAZQUEZ TENORIO CARLOS
18070790

las restricciones X2<=1 y X2>=2.

3.4 MÉTODO DE PLANOS CORTANTES.


ALGORITMO DE GOMORY
La idea fundamental detrás del algoritmo de planos cortantes
es comenzar con una solución inicial factible para el problema
relajado, para después “cortar” o sacar dicha solución y
cambiarla por otra que mejore el valor de la función objetivo
que se está optimizando (es decir el valor del Problema Dual
Lagrangeano).

Además, para iniciar este método es necesario tener una


consideración especial:

El conjunto de puntos que constituyen las soluciones enteras


factibles del problema relajado debe ser acotado.

¿Por qué?: Debido a que el algoritmo de planos cortantes


utiliza estos puntos, por lo que si el conjunto fuera no
acotado, entonces el algoritmo nunca convergería (es decir,
nunca terminaría de iterar). Este conjunto acotado se conoce
como la envoltura convexa, pero cuidado: no es cualquiera, es
la envoltura convexa de las soluciones enteras del problema
relajado.

Veamos entonces cómo funciona este método de forma


general. Supongamos que tenemos el siguiente problema, en
VELAZQUEZ TENORIO CARLOS
18070790

donde el segundo conjunto de restricciones   


es “difícil” y complica la resolución, por lo tanto lo sacamos y
lo llevamos a la función objetivo, a lo cual llamaremos el
problema relajado:

Además, supongamos que es posible enumerar todos los


puntos que son factibles para nuestro problema relajado (es
decir, los que están dentro de la envoltura convexa). Si
pudiéramos hacer eso, entonces bastaría con evaluar en la
función objetivo todos esos puntos, y ver cuál entrega el
menor valor: este punto sería entonces nuestra solución
óptima.

Lo que se menciona anteriormente, se puede representar


matemáticamente de la siguiente forma, donde p es la
cantidad de puntos que pertenecen a las soluciones enteras
de este problema relajado:

Con lo anterior en consideración, podemos entonces expresar


nuestro Problema Dual Lagrangeano de la siguiente forma:

Lo cual, se puede volver a reformular y expresar mediante un


problema de optimización. Esta reformulación se conoce
como el Problema Maestro, en donde ocupamos una variable
auxiliar u y queda expresado de la siguiente forma:

Esta reformulación es importante de entender, ya que gracias


a que se dispone de cada uno de los puntos que pertenecen a
VELAZQUEZ TENORIO CARLOS
18070790

las soluciones enteras del problema relajado (recuerda que


dijimos que se podían enumerar), entonces cada una de las
restricciones del tipo:

Constituyen un corte para nuestro problema.

Esto nos lleva a la siguiente pregunta: ¿si tenemos todos los


puntos, entonces agregamos todos los cortes inmediatamente
(simultáneamente)?

La respuesta es NO, ya que esto sería un trabajo muy tedioso,


y tomaría mucho tiempo computacional. Para esto existe el
algoritmo de los planos cortantes, para ir
agregando iterativamente los cortes, de manera tal que tome
menos tiempo que agregarlos todos en conjunto.

Como hemos llamado a la reformulación anterior el Problema


Maestro, entonces necesitamos un sub-problema, o problema
esclavo. Este sub-problema corresponde al problema relajado
que discutimos al principio del desarrollo:

Finalmente, la última pregunta que nos podemos hacer es con


cuántos cortes partir. Para la pregunta anterior no hay una
respuesta que pudiésemos dar a priori como exacta, pero una
buena aproximación es que la cantidad de cortes iniciales (o
puntos iniciales a utilizar) sea igual a la cantidad de variables o
penalizadores, incrementado en una unidad, es decir:

Número de Cortes Iniciales = Número de Penalizadores + 1

Algoritmo de Planos Cortantes

El algoritmo de planos cortantes se puede enunciar mediante


los siguientes pasos. Además, luego encontrarás un resumen
mediante un diagrama de flujo:

Sea k=1. Sea x1, x2 ,x3 ,…, xr la cantidad de puntos necesarios


para iniciar el algoritmo. Crear los cortes del
tipo   con dichos puntos.
VELAZQUEZ TENORIO CARLOS
18070790

Resolver el Problema Maestro.

El problema maestro entregará una actualización para los


valores de los Multiplicadores de Lagrange. Con ellos, resolver
el sub-problema.

Al resolver el sub-problema, se encontrará un nuevo punto


perteneciente a las soluciones factibles del problema relajado.
Verificar el criterio de parada. Si se cumple, terminar; sino,
crear un nuevo corte.

Agregar el corte al Problema Maestro, hacer k=k+1 y volver a


2.

La teoría de este procedimiento puede ser un poco


complicada, así que veamos un ejemplo.

Ejemplo Método de Planos Cortantes

Supongamos el siguiente problema de optimización, en donde


las primeras cuatro inecuaciones serán las que permanecen
en el problema relajado, y las ultimas 4 son las
inecuaciones “complicadas” que serán incorporadas a la
función objetivo.
VELAZQUEZ TENORIO CARLOS
18070790

Sin embargo, antes de ello presentaremos una representación


gráfica del problema propuesto. El área achurada de
color verde corresponde al dominio de soluciones factibles de
la relajación continua del problema, es decir, omitiendo las
condiciones de integralidad para las variables de decisión.

En este contexto la solución óptima de la relajación


continua es el vértice B donde x=30/11 e y=42/11, con valor
óptimo V(PL)=186/11=16,909 (aprox).

De forma análoga, la solución óptima del problema entero se


encuentra identificado con la letra F con x=3 e y=3, siendo el
valor óptimo V(PE)=15.
VELAZQUEZ TENORIO CARLOS
18070790

Notar que la representación gráfica anterior y la obtención de


la solución óptima de la relajación continua y del modelo
de Programación Entera propuesto tiene un fin
sólo ilustrativo, de modo que favorezca la comprensión de los
conceptos que presentamos más adelante.

A continuación retomamos el procedimiento del Algoritmo de


Planos Cortantes. Para ello escribiremos el problema relajado
(no confundir con la relajación continua!) de la siguiente
forma:
VELAZQUEZ TENORIO CARLOS
18070790

Al escribir este problema, los puntos pertenecientes a


la envoltura convexa de las soluciones enteras del problema
relajado son los siguientes:

Una representación gráfica de la envoltura convexa del


problema relajado se muestra a continuación:
VELAZQUEZ TENORIO CARLOS
18070790

A pesar de que el método sugiere una cantidad de cortes


iniciales, como se puede ver en este ejemplo son
sólo 8 puntos (denotados por E, F, G, H, I, J más las
coordenadas (2,3) y (3,2)), por lo que no seguiremos esta
sugerencia. Para iniciar, hacemos k=1 y utilizaremos el
punto (1,4) para crear el siguiente corte:

Por lo que el Problema Maestro en la iteración k=1 es:

Al resolver este problema, la solución óptima


es:  .

Con estos valores para los Multiplicadores de Lagrange,


resolvemos el problema relajado:
VELAZQUEZ TENORIO CARLOS
18070790

El cual, entrega como resultado los valores x=5 e y=1, con un


valor objetivo de 58,5.

Luego verificamos el criterio de parada ( ) por lo que


el nuevo punto que nos permite generar un nuevo corte:

Hacemos k=2 y el nuevo Problema Maestro es:

Al resolver este problema, la solución óptima


es:  .

Con estos valores para los Multiplicadores de Lagrange,


resolvemos el problema relajado:

El cual, entrega como resultado los valores x=2 e y=4, con un


valor objetivo de 15,882.

Verificamos el criterio de parada ( ) por lo


que el nuevo punto que nos permite generar un nuevo corte:
VELAZQUEZ TENORIO CARLOS
18070790

Hacemos k=3 y el nuevo Problema Maestro es:

Al resolver este problema, la solución óptima


es:  .

Con estos valores para los Multiplicadores de Lagrange,


resolvemos el problema relajado:

El cual, entrega como resultado los valores x=5 e y=1, con un


valor objetivo de 15,6, verificamos el criterio de parada
(15,6=15,6), por lo que como se cumple el criterio de parada y
el algoritmo se detiene.

Al estar optimizando los valores para una Relajación


Lagrangeana, hemos encontrado un valor que cumple con lo
siguiente:

Particularmente para este problema se cumple que:

3.5. MÉTODO HEURÍSTICO PARA PROBLEMAS


BINARIOS.
En los planteamientos metodológicos sobre el aprendizaje de
las matemáticas hay dos enfoques el heurístico y el deductivo,
que, aunque no podemos considerar opuestos porque tienen
VELAZQUEZ TENORIO CARLOS
18070790

procesos comunes, como la lógica y la deducción, están


absolutamente diferenciados.

En este tema se pretende destacar las ventajas del método


heurístico frente al deductivo, analizando y reflexionando
sobre procesos generales del razonamiento matemático que
intervienen en él y favorecen la creatividad.

El contexto adecuado para ejercitar el método heurístico es la


resolución de problemas, ya que permite múltiples formas de
ejercitar y reflexionar sobre procesos, como son la inducción,
la deducción, la generalización y la particularización, que son
las claves del pensamiento heurístico y aunque están
presentes en otros campos de la actividad humana y de las
matemáticas, la resolución de problemas los dotan de un
significado muy preciso.

El enfoque heurístico consiste en formular


conjeturas(apoyándonos en el comportamiento de casos
particulares), que intentamos refutar mediante
contraejemplos concretos, que nos permiten rechazarla o nos
dan la clave para justificarla. En el extremo opuesto de los
planteamientos metodológicos está el que Lakatos denomina
"estilo deductivista", de uso habitual en las clases de
matemáticas, basado en la metodología euclídea.

Consiste en enunciar una lista de definiciones y axiomas,


impuestas de forma autoritaria, que suelen ser artificiales y
complicadas, y que nos permiten establecer una serie de
teoremas matemáticos mediante la deducción formal. Así las
matemáticas se presentan como un conjunto de verdades
eternas que no podemos refutar ni criticar. Se oculta la
historia de cualquier descubrimiento matemático, que está
llena de sucesivas formulaciones y pruebas aproximadas, para
sólo destacar la infalibilidad del resultado final.

PARTICULARIZAR Y GENERALIZAR

Los procesos de generalización y particularización son


especialmente importantes en la resolución de problemas.

A pesar de que parecen conceptos opuestos cada uno


interviene decisivamente en el otro. Además si particularizar
es una de las bases cuando empezamos a enfrentarnos al
problema, generalizar es imprescindible en el momento de
VELAZQUEZ TENORIO CARLOS
18070790

hacer conjeturas y cuando después de encontrar la solución,


intentamos establecerla en contextos más amplios.

Particularizar consiste en concentrar la atención en ejemplos


concretos, para entender mejor el significado del problema. Es
además una sugerencia muy útil para salir de una situación en
la que nos encontramos atascados, porque proporciona
seguridad en momentos clave en los que hay peligro de
abandonar la tarea, también se utiliza para verificar una
solución.

En este caso es conveniente, que aunque pensemos que una


hipótesis es cierta, tengamos la habilidad suficiente de
encontrar, si existen, las excepciones para refutar la regla.

Generalizar significa pasar de un conjunto de objetos a otro


conjunto más amplio que contenga al primero. Es también
descubrir una ley general que permita justificar una conjetura,
así como buscar un planteamiento más

amplio del problema, cambiando el contexto, los datos o la


solución. La generalización permite hacer conjeturas a partir
de unos pocos ejemplos. Ser sistemático y ordenado a la hora
de particularizar ayuda mucho para generalizar, aunque es
fácil engañarse y es preciso conseguir el equilibrio entre el
crédulo que acepta toda generalización y el demasiado
escéptico que no es capaz de dar un salto en el vacío.

EJEMPLO

En un papel cuadriculado trazamos rectángulos que tengan un


número entero de cuadraditos en cada lado. Una diagonal del
rectángulo puede cortar o no a los cuadraditos por los que
atraviesa, se considera que no corta si sólo contiene a un
vértice. Se trata de encontrar una regla para poder calcular
(sin necesidad de contarlos) el número de cortes de la
diagonal de un rectángulo cualquiera.

El primer paso es comprender bien el enunciado. Lo normal


cuando se plantea este problema en clase, es que comiencen
a dibujar casos particulares.

Trazan distintos rectángulos y cuentan el número de cortes, a


veces hay que aconsejarles que realicen una tabla con los
datos obtenidos.
VELAZQUEZ TENORIO CARLOS
18070790

Es importante que elijan una buena notación para los datos y


la incógnita llamando, por ejemplo, a y b a los lados del
rectángulo y c al número de cortes.

Otra forma de particularizar más sistemática, que aparece


usualmente cuando se propone este problema en clase es
confeccionar una tabla considerando primero el caso de un
cuadrado y continuación dejando un lado fijo.

En esa tabla la primera regularidad que observan es que al


aumentar una unidad uno de los lados, el corte va también
aumentando en una unidad. Y después de esta observación lo
normal es lanzarse a formular hipótesis.

La primera conjetura que establecen es que el número de


cortes c es igual a+b-1 (ya que al añadir una unidad a un lado,
tenemos un corte más) salvo en el caso específico de un
cuadrado que entonces no se verifica. Aunque parece correcta
la solución encontrada, no resulta satisfactorio que no se
verifique para un cuadrado, es decir, que no se cumpla para
"un caso límite".

Una vez que han formulado esta conjetura se les aconseja


volver a leer el enunciado y a particularizar más con otros
datos por ejemplo cambiando a=5 por a=4.

Después de considerar a=4 con b=5, b=6, b=7, b=8, llegan a la


conclusión de que si a+b es impar c es igual a a+b-1, si es par c
vale a+b-2 y si uno es múltiplo del otro c es igual al mayor.

Cuando preguntas ¿Qué pasa cuando dos números


verificandos de las condiciones? o ¿Cuál de ellas hay que
aplicar primero? observas que el objetivo que tienen es
VELAZQUEZ TENORIO CARLOS
18070790

encontrar rápidamente una fórmula general, sin la menor


intención de justificarla, haciendo gala del principio de que si
una fórmula se verifica para cinco casos se verifica para todos.

Ante este bloqueo y con la suerte de tener quien les dirija,


cosa que a todos nos gustaría tener cuando nos enfrentamos
a un problema, se les propone que consideren a=12 b=9 c=18.

Aún así les cuesta mucho aceptar que cualquier hipótesis ha


de estar justificada. En este caso lo importante es considerar
los casos en los que la diagonal pase exactamente por el
punto que es vértice común de dos de los cuadraditos y esto
ocurre precisamente cuando los lados tienen divisores
comunes. Por ejemplo en el caso a=4 y b=8 el número de
cortes es 8, y cada dos cuadrados consecutivos, el corte es el
mismo que los dos cuadrados siguientes. Luego la solución es
cuatro veces lo que ocurre en el rectángulo a=2 y b=1, luego
c=4.(2+1-1). Por tanto la hipótesis c = a + b - 1 es válida
cuando a y b son primos entre sí. En caso contrario como
a/mcd(a,b) y b/mcd(a,b) son primos entre sí, tenemos que el
valor de c es igual a mcd(a,b).(a/mcd(a,b)+b/mcd(a,b)-1),
luego c vale a+b-mcd(a,b). De esta manera, al intentar
justificar la conjetura, encontramos la solución.
VELAZQUEZ TENORIO CARLOS
18070790

Potrebbero piacerti anche