Programacion Entera (Finalizado)PDF

March 31, 2019 | Author: Anonymous TlSkcq | Category: Heuristic, Linear Programming, Física y matemáticas, Mathematics, Sicología y ciencia cognitiva
Share Embed Donate


Short Description

tec de cintalapa...

Description

Página 1 de 24

INSTITUTO TECNOLÓGICO SUPERIOR DE CINTALAPA. CATEDRÁTICO: NELSON ARCHILA LÓPEZ

INVESTIGACIÓN DE OPERACIONES UNIDAD 3: PROGRAMACIÓN ENTERA REPORTE DE INVESTIGACIÓN ING. IND. SEMESTRE:”4”

GRUPO:”B”

INTEGRANTES: JOSÉ ISAACK VELÁZQUEZ MENDOZA. GUILLERMO CRUZ MOTA. HERNÁN CABRERA HERNÁNDEZ. JOSÉ ALBERTO OVANDO VÁZQUEZ. JOSÉ TOMÁS ESPEJO CRUZ. PABLO BARRAGÁN VILLA. REYNOL GERARDO PÉREZ DÍAZ

CINTALAPA DE FIGUEROA CHIAPAS; A 27 DE MAYO DEL 2018.

Página 2 de 24

INTRODUCCIÓN: La problemática de la programación entera radica mucho con la programación lineal simple, ya que como bien se sabe se hacen diferentes formas para hacer y desarrollar funciones con sus debidas debida s restricciones principalmente con maximizar y minimizar sobre la región de factibilidades. Al usar la programación entera se maximiza una función sobre una región de factibilidad que generalmente no es convexa como bien se entiende que la programación entera tiene más complicaciones que la programación lineal simple. La investigación de operaciones o investigación operativa o investigación operacional (conocido también como teoría de la toma de decisiones o programación matemática) es una rama de la administración a dministración que consiste en el uso de modelos matemáticos, estadísticos y algorítmicos con objeto de realizar un proceso de torno de decisiones. Esto frecuentemente trata del estudio complejo de los sistemas reales, con la finalidad de mejorar u optimizar su funcionamiento. Entonces es así como las Investigaciones In vestigaciones de Operaciones permiten el análisis a nálisis de la toma de decisiones teniendo en cuenta la escasez de recursos, para determinar cómo se puede optimizar un objetivo definido, como la maximización de los beneficios o minimización de los costos de nuestra producción.

Página 3 de 24

ÍNDICE:

Pág.

-UNIDAD 3: PROGRAMACIÓN ENTERA……………………………….…4 3.1- INTRODUCCIÓN Y CASOS DE APLICACIÓN……………………..…….…4 3.2- DEFINICIÓN Y MODELOS DE PROGRAMACIÓN ENTERA……………………………………………………..…………… .….…….…8 3.3- MÉTODO GRÁFICO DE PROGRAMACION ENTERA…………………....10 3.4- MÉTODO DE RAMIFICACION Y ACOTACION…………………….….…..12 3.5- METODO HEURISTICO PARA PROBLEMAS BINARIOS…….…………16 3.6- USO DE SOFTWARE…………………………………….………….…..…….19 CONCLUSION…………………………………………………..……….….………..23

BIBLIOGRAFÍA………………………………………………..…………..…………24

Página 4 de 24

UNIDAD 3 - PROGRAMACIÓN ENTERA  3.1 INT I NTR R OD UC C IÓN IÓ N Y C A S OS D E A P L IC A C IÓ N.

Es frecuente al tener que resolver problemas en los cuales las soluciones tienen que ser valores enteros como, por ejemplo: números de unidades a producir por máquina, número de máquinas necesarias, etc. Parte del problema de la programación entera radica en la diferencia esencial que existe la programación lineal y la entera, en la programación lineal se maximiza o minimiza una función sobre una región de factibilidad convexa, mientras que al usar los métodos de programación entera se maximiza una función sobre una región de factibilidad que generalmente no es convexa. De tal manera que la programación entera tiene más complicaciones que la programación lineal. En este tema se presenta un tipo de problemas formalmente similares a los problemas de Programación Lineal, ya que en su descripción solo se establecen expresiones lineales. Sin embargo, no responden a problemas lineales ya que algunas (o todas) las variables del problema toman valores que no están en un conjunto continuo. Por ejemplo, pueden ser variables que toman valores 0 o 1(binarias), 0 variables que toman valores enteros no negativos (0, 1, 2,), etc. Tras introducir el tipo de problemas se dedica un importante apartado para presentar las posibilidades de modelado que esta herramienta proporciona: problemas binarios, problemas de carga, problemas con restricciones condicionales o con dicotomías, etc. Tras dedicar una parte importante del tema a presentar estas herramientas de modelado y a plantear numerosos problemas con ellas se procede a mostrar dos métodos de resoluci6n. Uno de ellos dedicado a problemas en los que todas las variables son binarias y otro para problemas generales. Ambos métodos tienen en común que desarrollar un proceso proce so de enumeración que permite comprobar explícita o implícitamente todas las soluciones del problema hasta encontrar la Óptima, y entran dentro del tipo de métodos de ramificación y acotación. En algunos casos se requiere que la solución Óptima se componga de valores enteros para algunas de las variables. La resolución de este problema se obtiene

Página 5 de 24

analizando las posibles alternativas de valores enteros de esas variables en un entorno alrededor de la solución obtenida considerando las variables reales. Muchas veces la solución del programa lineal truncado está lejos de ser el Óptima entero, por lo que se hace necesario usar algún algoritmo para hallar esta solución de forma exacta. El más famoso es el método de “Ramificación y Acotación' o “Branch and Bound” por su nombre en inglés. El método de Ramificación y

 Acotación, parte de la adición de nuevas restricciones para cada variable de decisión (acotar) que al ser evaluado independientemente (ramificar) lleva al Óptima entero.

La programación entera se divide en 3 tipos de modelos: 

Programación Entera Pura: Todas las variables de decisión tienen valores enteros.



Programación Entera Mixta (PEM): Algunas de las variables de decisión tienen valores enteros. Las demás cumplen con la suposición de divisibilidad.



Programación Entera Binaria (PEB): Utiliza variables binarias.

CASOS DE APLICACIÓN.  A continuación, se presenta la variedad de problemas que caen dentro de la programación entera y binaria: 

Todos Ios Ios problemas de programación lineal, donde Ias Ias actividades, actividades, por su estructura deben ser no-divisibles, son programas enteros. Por ejemplo, problemas de producción de automóviles, prendas de vestir, etc. ¿Que significado tendría la producción de 577.83 automóviles?



Todos los problemas de transportes, asignación y redes de optimización. Este tipo de problemas son enteros y dada la estructura tan especial de estos problemas, tienen métodos de solución propios.



Problemas de secuenciación. Este tipo de problemas, aunque son fáciles de formular, resultan bastantes difíciles de resolver. Se supone por ejemplo en el caso de un taller que puede pu ede efectuar un solo tipo de trabajo a la vez (orden), el que se tiene contratado a entregar en g días, a partir de una cierta fecha base, y que además, tiene una gran duración de trabajo de d. (d. > 0) días y al cuales asocian una multa de p. pesos por día de retrasos después de los g. días estipulados. Se supone que el taller recibe n órde nes de trabajo en la

Página 6 de 24

lecha base. @Cual debe ser el orden de secuenciación de trabajos que minimice el costo penal total? 

El problema del agente viajero. Este problema concierne en un agente agente viajero viajero que saliendo de una terminal de ciudad debe visitar una sola vez n-l ciudades diferentes, y regresar al punto pu nto de partida. Si el costo de dirigirse a la ciudad j desde la ciudad 1' es: 1 (q a q), se debe terminar la secuencia de visita de ciudades, tal que el costo total asociado sea el mínimo. Este problema se presentó por primera vez en 1960, en un artículo de Miller, Tucker, Zemling, pero hay una variedad de métodos que resuelven el problema dependiendo del tamaño de: 1, el número de ciudades.



Problema tipo mochila. Este tipo de problemas de optimización optimización de carácter entero puede darse en dos versiones. En la primera se proporciona un cierto espacio con determinado volumen o capacidad, y este debe ser llenado con objetos de valor y volumen o capacidades especificados. El problema consiste en llenar ese espacio con el conjunto de objetos más valioso, sin exceder los límites físicos de dicho espacio. La segunda versión consiste en dividir a un objeto en varias porciones de diferente valor, el problema consiste en encontrar la división de mayor valor.



Problemas de inversión. Se supone supone por ejemplo que el organismo organismo Nacional Financiera S.A, tiene que escoger una alternativa en cada uno de tres proyectos de inversión. El primer proyecto está relacionado con la construcción de panes de generadores eléctricos. El segundo proyecto con el ensamblado de esas partes de generadores eléctricos y el tercer proyecto con la distribución y venta de los generadores eléctricos incluyendo a su posible exportación. Cada proyecto tiene una serie de alternativas.  Asociadas a cada alternativa se tiene calculado el valor presente del retorno total de la inversión (en millones de pesos), el número de empleos que se generan y el flujo de inversión (en millones de pesos) que se necesitan para

los próximos 5 años. Las restricciones re stricciones del sistema son que no hay capacidad económica para generar más de 10 mil empleos y que los flujos máximos de capital son 700 millones en el año 1, 300 millones en el año 2, 150 millones

Página 7 de 24

respectivamente en los años 3,4 y 5. ¿Qué alternativas conviene seleccionar de los proyectos I, II y III a fin de maximizar el ingreso total neto anual? 

Problemas con costos fijos. Todos Ios problemas que en su función de costo

influyen un costo fijo. Este tipo de costos aparecen frecuentemente en problemas de transportes, inventarios, localización de plantas, distribución geográfica de electores, etc. 

Problemas de cubrimiento y partición de un conjunto. Este tipo de modelos de carácter entero se ha utilizado en problemas de acceso de información, programación de entrega de paquetería por transporte terrestre, distribución política electoral, problemas matemáticos de coloración y programación de horarios de tripulación aéreos, ferrocarrileros, terrestres y marítimos.



Dicotomías y problemas de aproximación. Una dicotomía ocurre en un programa matemático cuando se tienen condiciones de tipo esta restricción o la otra restricción, pero no ambas. Este tipo de condiciones se pueden representar por medio de una estructura entera.



Balance de líneas líneas de de producción. Este tipo de problemas consisten consisten en decidir decidir qué actividades deben se desempeñadas por cada trabajador, a medida que un producto se desplaza por una línea de producción.

Página 8 de 24

 3.2 DE D E F IN IC IÓN IÓ N Y MOD E L OS D E P R OG R A MA C IÓ N E NTE NT E R A

Un modelo de programación entera es un modelo que contiene restricciones y una función objetivo idénticas a las formuladas por planea ción lineal. La única diferencia es que una o más de las variables de decisión tienen que tomar un valor entero en la solución final. Existen tres tipos de modelos de programación entera: Pura, Binaria, Mixta

PROGRAMACIÓN ENTERA PURA. Un modelo entero puro (PLE) (PL E) 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

PROGRAMACIÓN ENTERA MIXTA DEFINICIÓN: Un modelo de programación entera es aquel que contiene restricciones y una función objetivo idénticas a las 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.  Algunas de las variables de decisión tienen valores enteros. Las demás cumplen con la suposición de divisibilidad. 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). Por ejemplo, supóngase que en el problema solo x1 y x2 deben ser enteros y x3 no.

TIPOS DE RESTRICCIONES USADAS EN LA PROGRAMACIÓN ENTERA MIXTA: 1) Excluyentes: Solo sirve para elegir una alternativa de varias posibles 2) Pre-requisito: Cuando necesitas realizar una acción antes de proceder con la siguiente 3) Incluyente: Dicha restricción se da para cuando realizas una acción "A" entonces

Página 9 de 24

debes hacer la acción "B" 4) Costo Fijo: Cuando se nombra un costo fijo, es sinónimo de uso de variable mixta

PROGRAMACIÓN ENTERA BINARIA En algunos problemas se restringe el valor de las variables a 0 o 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. Existen dos métodos para generar las restricciones especiales que fuercen la solución óptima del problema, hacia la solución óptima entera deseada: Método de ramificar y acotar. Método de planos de corte. Desafortunadamente, ninguno de los dos métodos es efectivo en la solución de problemas de programación lineal entera.

Página 10 de 24

 3.3 MÉ TOD TO D O G R Á F IC O DE P R OG R A MA C IÓN IÓ N E NTE NT E R A

Cada una de las ecuaciones que forman un sistema lineal de dos ecuaciones con dos incógnitas es la de una función de primer grado, es decir, una recta. El método gráfico para resolver este tipo de sistemas consiste, por tanto, en representar en unos ejes cartesianos, o sistema de coordenadas, ambas rectas y comprobar si se cortan y, si es así, dónde. Esta última afirmación contiene la filosofía del proceso de discusión de un sistema por el método gráfico. Hay que tener en cuenta, que, en el plano, dos rectas sólo pueden tener tres posiciones relativas (entre sí): se cortan en un punto, son paralelas o son coincidentes (la misma recta). Si las dos rectas se cortan en un punto, las coordenadas de éste son el e l par (x, y) que conforman la única solución so lución del sistema, ya que son los únicos valores de ambas incógnitas que satisfacen las dos ecuaciones del sistema, por lo tanto, el mismo es compatible determinado. Si las dos rectas son paralelas, no tienen ningún punto en común, por lo que no hay ningún par de números que representen a un punto que esté en ambas rectas, es decir, que satisfaga las dos ecuaciones del sistema a la vez, por lo que éste será incompatible, o sea sin solución. Por último, si ambas rectas son coincidentes, hay infinitos puntos que pertenecen a ambas, lo cual nos indica que hay infinitas soluciones del sistema (todos los puntos de las rectas), luego éste será compatible indeterminado.

Método Gráfico El procedimiento geométrico, es únicamente adecuado para resolver problemas muy pequeños (con no más de dos variables debido al problema de (dimensional dad). Este método provee una gran introducción a los problemas de Programación Lineal.

Página 11 de 24

PASOS A SEGUIR PARA DAR SOLUCIÓN POR MÉTODO GRÁFICO 1.- Identificar el tipo de problema, ya sea maximización o Minimización. 2.- Tabular cada una de las ecuaciones para graficarlas (obtenga para cada ecuación dos puntos dando un valor cero a una de las variables, para luego obtener el valor de la otra variable, después a la otra variable a sígnele un valor de cero cer o para obtener el valor de la otra variable). Entonces grafique estos puntos. 3.- Asigne un valor inicial a Z, que sea un múltiplo de los coeficientes de las variables en la función objetivo y obtenga dos punto Como en el paso 2 para graficar esta función, ahora asigne otro valor de z tal que la función objetivo mejore y obtenga dos puntos para que esta sea graficada. 4.- Determinar la zona de soluciones factibles, observe en que dirección se encuentran los puntos que satisfacen a cada ecuación, esto es; evaluar el origen (punto (0,0)) en cada ecuación, si este satisface a la ecuación, entonces todos los puntos hacia donde se encuentre el origen satisfacen a la ecuación. Caso contrario su sentido será opuesto a donde se encuentre el origen. 5. - Obtener la solución óptima moviendo la línea de Z paralelamente en la dirección en que optimice a la función objetivo y dentro de la zona de soluciones factibles. El último punto que esta línea toque en esta zona será el punto óptimo.

Página 12 de 24

 3.4 MÉ TOD TO D O DE R A MIF IC A C IÓ N Y A C OTA OT A C IÓN. IÓ N.

El método de ramificación y acotación, más conocido por su nombre en inglés Branch and Bound, recibe su nombre precisamente por las dos técnicas en las que basa su desarrollo, que que son la ramificación y la acotación. El método de ramificación ramificación y acotación comienza por resolver el PLA, de modo que que si la solución al PLA verifica las condiciones de integridad, entonces también es la solución al problema entero, en caso contrario se comienza con la ramificación del problema. La ramificación ramificación consiste en dividir cada problema en dos nuevos subproblemas, obtenidos mediante la imposición de restricciones excluyentes que dividen el conjunto de oportunidades del problema original original en dos partes, partes, pero eliminando en ambas partes la solución no entera del problema original. Cuando Cuando en la solución al PLA una variable que ha de ser entera e ntera xi toma el valor xbi no entero, entonces se generan a partir de dicho valor dos do s restricciones xi ≤ [xbi] y xi ≥ [xbi]+1 (siendo [xbi] la parte entera por defecto de xbi), que añadidas cada uno por separado al problema problema original, da lugar a dos nuevos subproblemas. Vamos a explicar este proceso a través de un ejemplo particular: Consideremos el siguiente problema Max F(x) = 4x1 + 5x2 (1) S.a. 2x1 + x2 ≤ 8 X2 ≤ 5 X1, x2 ≥ 0 y enteras

La solución al PLA, prescindiendo de la condición de que las variables han de ser enteras es: X1 = 1,5, x 2 =5 y F(x) = 31 Como dicha solución solución no verifica verifica las condiciones de integridad se elige la variable x1 que no es entera y a partir de ella se generan dos restricciones X1 ≤ 1 y x1 ≥ 2

Que añadidas cada una de ellas al problema original dan lugar a dos nuevos subproblemas que serían los siguientes: Max F(x) = 4x1 + 5x2 (1.1)

Max F(x) = 4x1 + 5x2 (1.2)

S.a. 2x1 + x2 ≤ 8

s.a. 2x1 + x2 ≤ 8

X2 ≤ 5

x2 ≤ 5

X1 ≤ 1

x1 ≥ 2

X1, x2 ≥ 0

x1, x2 ≥ 0

Página 13 de 24

De este modo se han eliminado todas las posibles soluciones no enteras del conjunto de oportunidades tales que 1< x1 < 2. El proceso se repite con cada uno de los dos subproblemas obtenidos, obtenidos, los cuales dará lugar a otros dos subproblemas cada uno de ellos y así sucesivamente hasta que en todos los subproblemas tengan solución entera o infactible. Utilizando únicamente la la ramificación, el número de subproblemas a resolver crece exponencialmente, por este motivo para evitar el tener que resolver todos los subproblemas, la ramificación se combina con la acotación. La acotación se basa en el hecho de que dado que los conjuntos de oportunidades del subproblema 1.1. (S11) y del subproblema 1.2 (S12) son a su vez subconjuntos del conjunto de oportunidades del problema 1 (S1) la solución óptima de los dos subproblemas siempre siempre será inferior (problema de máximo o superior para para problemas de mínimo) que que la solución óptima del problema 1 por ser los los conjuntos de elección menores. Así pues, el proceso de acotación consiste, para problemas de máximo, en tomar como cota inferior aquella aquella solución entera con mayor valor de la función objetivo obtenida obtenida y dado que cualquier otro subproblema con solución no entera sabemos que al ramificarlo nos dará como resultado valores de la función objetivo menores o iguales, nos permite descartar como subproblemas a ramificar ramificar todos aquellos que tengan como solución óptima un valor de la función inferior a la cota establecida. De este modo se reduce el número de subproblemas a ramificar y por lo tanto el tiempo necesario para la resolución de los problemas enteros. El proceso a seguir en la resolución de problemas enteros mediante el método de ramificación y acotación se resume en el siguiente esquema algorítmico: Esquema del algoritmo de ramificación y acotación. Ejemplo Max F(X) = 8x1 + 10x2 S.a. 4x1 + 6x2 ≤ 24 8x1 + 3x2 ≤ 24 x1≥0, x2≥0, x1, x2∈Z+

Resolviendo en primer lugar el PLA, es decir Max F(X) = 8x1 + 10x2 S.a. 4x1 + 6x2 ≤ 24 8x1 + 3x2 ≤ 24

Página 14 de 24

x1≥0, x2≥0

Se obtiene la solución x1 = 2, x2 = 8/3, f(x) = 128/3, dado que ésta solución no es entera se ramifica a partir de la variable x2 del siguiente modo subproblema 1 y subproblema 2: Max F(X) = 8x1 + 10x2

Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 ≤ 24

s.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤ 24

8x1 + 3x2 ≤ 24

X2 ≥ 3

x2>2

x1≥0, x2≥0

x1≥0, x2≥0

Solución x1=1,5, x2=3, F(x)=42 F(x)=3

solución x1=2,5, x2=2,

Como la solución del subproblema 1, tiene el e l mayor valor de la función objetivo y no es entera ramificaremos este subproblema a partir de la variable x1, del siguiente modo: subproblema 1.1 subproblema 1.2 Max F(X) = 8x1 + 10x2.

Máx. (x) = 8x1 + 10x2

S.a. 4x1 + 6x2 ≤ 24.

S.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤ 24

8x1 + 3x2 ≤ 24

X2 ≥ 3

x2>3

X1 ≤ 1

x1>2

x1≥0, x2≥0

Solución x1=1, x2=10/3, F(x)=124/3.

x1≥0, x2≥0

Solución infactible.

Dado que de todos los subproblemas todavía no ramificados (subproblemas 2, 1.1 y 1.2) el que tiene una mayor solución factible no entera es el subproblema 1.1, ramificaremos este subproblema a partir de la variable x2, es decir subproblema 1.1.1 subproblema 1.1.2 Max F(X) = 8x1 + 10x2.

Max F(X) = 8x1 + 10x2

S.a. 4x1 + 6x2 ≤ 24

s.a. 4x1 + 6x2 ≤ 24

8x1 + 3x2 ≤ 24

8x1 + 3x2 ≤ 24

X2 ≥ 3

x2 ≥ 3

Página 15 de 24

X1 ≤ 1

x1 ≤ 1

X2 ≤ 3

x2 ≥ 4

x1≥0, x2≥0.

Solución x1=1, x2=3, F(x)=38

x1≥0, x2≥0

solución x1=0, x2=4, F(x)=40

Dado que ya conocemos una solución entera x1=0, x2=4, x2=4, F(x)=40, ésta solución actuará como cota inferior y solamente deberán ser ramificados aquellos subproblemas con soluciones factible no enteras que tengan un valor para la función objetivo que 40. Como el único subproblema por ramificar es el subproblema 2 y la función objetivo vale 38, el proceso se da por terminado, siendo por tanto la solución óptima al problema entero X1 = 0, x2 = 4, F(x) = 40. 40 .

Página 16 de 24

 3.5 MÉ TOD TO D O HE UR ÍS TIC TI C O P A R A P R OB L E MA S B IN A R IOS IO S .

Se basa en la utilización de reglas empíricas para llegar a una solución. El método heurístico conocido como “IDEAL”, formulado por Bransford y Stein (1984), incluye

cinco pasos: Identificar el problema; definir y presentar el problema; explorar las estrategias viables; avanzar en las estrategias; y lograr la solución y volver para evaluar los efectos de las actividades (Bransford & Stein, 1984). El matemático Polya (1957) también formuló un método heurístico para resolver problemas que se aproxima mucho al ciclo utilizado para programar computadores. A lo largo de este curso se utilizará este método propuesto por Polya. Según Polya (1957), cuando se resuelven problemas, intervienen cuatro operaciones mentales: 1. Entender el problema 2. Trazar un plan 3. Ejecutar el plan (resolver) 4. Revisar Numerosos autores de textos escolares de matemáticas hacen referencia a estas cuatro etapas planteadas por Polya. Sin embargo, es importante notar que estas son flexibles y no una simple lista de pasos como a menudo se plantea en muchos de esos textos (Wilson, Fernández & Hadaway, 1993). Cuando estas etapas se siguen como un modelo lineal, resulta contraproducente para cualquier actividad encaminada a resolver problemas. Es necesario hacer énfasis en la naturaleza dinámica y cíclica de la solución de problemas. En el intento de trazar un plan, los estudiantes pueden concluir que necesitan entender mejor el problema y deben regresar la etapa anterior; o cuando han trazado un plan y tratan de ejecutarlo, no encuentran cómo hacerlo entonces, la actividad siguiente puede ser intentar con un nuevo plan o regresar y desarrollar una nueva comprensión del problema (Wilson, Fernández & Hadaway, 1993; Guzdial, 2000).

1. COMPRENDER EL PROBLEMA. Leer el problema varias veces Establecer los datos del problema Aclarar lo que se va a resolver (¿Cuál es la pregunta?) p regunta?) Precisar el resultado que se desea lograr Determinar la incógnita del problema Organizar la información Agrupar los datos en categorías Trazar una figura o diagrama. 2.  HACER EL PLAN. Escoger y decidir las operaciones a efectuar. Eliminar los datos inútiles. Descomponer el problema en otros más pequeños. 3. EJECUTAR EL PLAN. Ejecutar en detalle cada operación. Simplificar antes de calcular. Realizar un dibujo o diagrama. 4.  ANALIZAR LA SOLUCIÓN. Dar una respuesta completa Hallar el mismo resultado de otra manera. Verificar por apreciación que la respuesta es adecuada.

Página 17 de 24

HEURÍSTICA: Ciencia que estudia los procesos de decisión respecto a un campo de conocimiento concreto, como son las estrategias cognitivas. Su contrapartida formal en computación es el algoritmo, la heurística es aplicable a cualquier ciencia e incluye la elaboración de medios auxiliares, principios, reglas, estrategias y programas que faciliten la búsqueda de vías de solución a problemas; o sea, para resolver tareas de cualquier tipo para las que no se cuente con un procedimiento algorítmico de solución. Según Horst Müller: Los Procedimientos Heurísticos son formas de trabajo y de pensamiento que apoyan la realización consciente de actividades mentales exigentes. Los Procedimientos Heurísticos como Método científico pueden dividirse en principios, reglas y estrategias. Principios Heurísticos: constituyen sugerencias para encontrar (directamente) la idea de solución; posibilita determinar, por tanto, a la vez, los medios y la vía de solución. Dentro de estos principios se destacan la analogía y la reducción. Reglas Heurísticas: actúan como impulsos generales dentro del proceso de búsqueda y ayudan a encontrar, especialmente, los medios para resolver los problemas. Las Reglas Heurísticas que más se emplean son: * Separar lo dado de lo buscado. * Representar magnitudes dadas y buscadas con variables. * Determinar si se tienen fórmulas adecuadas. * Utilizar números (estructuras más simples) en lugar de datos. * Reformular el problema. Estrategias Heurísticas: se comportan como recursos organizativos del proceso de resolución, que contribuyen especialmente a determinar la vía de solución del problema abordado. Existen dos estrategias: >El trabajo hacia adelante: se parte de lo dado para realizar las reflexiones r eflexiones que han de conducir a la solución del problema. >El trabajo hacia atrás: se examina primeramente lo que se busca y, apoyándose de los conocimientos que se tienen, se analizan posibles resultados intermedios de lo que se puede deducir lo buscado, hasta llegar a los dados. Se denomina heurística a la capacidad de un sistema para realizar de forma inmediata innovaciones positivas para sus fines. La capacidad heurística es un rasgo característico de los humanos, desde cuyo punto de vista puede describirse como el arte y la ciencia del descubrimiento y de la invención o de resolver problemas mediante la creatividad y el pensamiento lateral o pensamiento divergente. La palabra heurística procede del término griego εὑρίσκειν, que significa «hallar, inventar» (etimología que comparte con eureka). La

palabra heurística aparece en más de una categoría gramatical. Cuando se usa como sustantivo, identifica el arte o la ciencia del descubrimiento, una disciplina

Página 18 de 24

susceptible de ser investigada formalmente. Cuando aparece como adjetivo, se refiere a cosas más concretas, como estrategias heurísticas, reglas heurísticas o silogismos y conclusiones heurísticas. Claro está que estos dos usos están íntimamente relacionados ya que la heurística usualmente propone estrategias heurísticas que guían el descubrimiento. La popularización del concepto se debe al matemático George Pólya, con su libro Cómo resolverlo r esolverlo (How to solve it). Habiendo estudiado tantas pruebas matemáticas desde su juventud, quería saber cómo los matemáticos llegan a ellas. El libro contiene la clase de recetas heurísticas que trataba de enseñar a sus alumnos de matemáticas. Cuatro ejemplos extraídos de é l ilustran el concepto mejor que ninguna definición: * Si no consigues entender un problema, dibuja un esquema. * Si no encuentras la solución, haz como si ya la tuvieras y mira qué puedes deducir de ella (razonando a la inversa). * Si el problema es abstracto, prueba a examinar un ejemplo concreto. * Intenta abordar primero un problema más general (es la “paradoja del inventor”:

el propósito más ambicioso es el que tiene más posibilidades de éxito). Existen muchos métodos heurísticos de naturaleza muy diferente, por lo que es complicado dar una clasificación completa. Además, muchos de ellos han sido diseñados para un problema específico sin posibilidad de generalización o aplicación a otros problemas similares. El siguiente esquema trata de dar unas categorías amplias, no excluyentes, en donde ubicar a los heurísticos más conocidos: Métodos de Descomposición El problema original se descompone en subproblemas más sencillos de resolver, teniendo en cuenta, aunque sea de manera general, que ambos pertenecen al mismo problema. Métodos Induc tivos 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. Algoritmos Heurísticos. R. Martí / 3 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. Métodos de Búsqueda Local A diferencia de los métodos anteriores, los procedimientos de búsqueda o mejora local comienzan con una solución del problema y la mejoran progresivamente. El procedimiento realiza en cada paso un movimiento de una solución a otra con mejor valor. El método finaliza cuando, para una solución, no existe ninguna solución accesible que la mejore.

Página 19 de 24

 3.6 US O DE S OF TWA TW A R E

Programación Lineal Entera (PLE) con Lindo y Excel En muchas situaciones de la vida real, debido a la indivisibilidad indivisibilidad la mayoría de los productos, no será suficiente con obtener como solución s un problemas de PL valores decimales. Así, por ejemplo, no tiene mucho sentido que la solución a nuestros problemas de maximizar beneficios sea fabricar 20,3 lámparas de tipo l y 13,8 lámparas de tipo ll, ni que la forma de minimizar |os costes de transporte sea haciendo 5,4 viajes con el camión A y 32 con el B. En tales situaciones deberemos incluir en el planteamiento la restricción adicional de que todas las variables han de ser valores enteros, por lo que estaremos ante un problema de Programación Lineal Entera (PLE). Una primera aproximación a la solución de un problema PLE podría obtenerse resolviendo el problema PL asociado (es decir, olvidándose de la restricción sobre Ia no divisibilidad de las variables). De hecho, si la solución del PL resulta se r entera, entonces esta será también la solución del PLE. Si alguna de las variables de la solución no es entera, podríamos pensar en redondear el valor obtenido por el entero más próximo (y que este' en la región factible). Este procedimiento puede ser relativamente bueno cuando los valores redondeados son muy grandes, pero resulta muy peligroso si estos valores son pequeños (en tal caso, es muy probable que la solución del PLE sea muy diferente a la que se obtiene redondeando los valores del PL). Los procedimientos teóricos que se emplean en la resolución de estos problemas de PLE son básicamente dos: el método Brancha Branc ha & Bound, y el de Planos de Corte Cor te de Gomory. Desde el punto de vista computacional, tanto e| LINDO como la hoja de cálculo Excel facilitan sobremanera la resolución de un PLE: tan solo es necesario indicarle al| programa qué variables han de tomar valores enteros. Veamos un ejemplo con LINDO:

Página 20 de 24

 Aquí |e hemos indicado s| programa que ambas variables variables eran enteras mediante e| comando GIN, y LINDO nos ha devuelto en el output |s solución entera X = 6, Y = 0, con Ia que el valor de la función objetivo es de 66. Podemos ver la diferencia entre este problema PLE y su asociado PL en el siguiente output:

Observamos que la solución del PL es X = 5,286 e Y =1,429 (solución que no tendrá sentido si X e Y representan objetos indivisibles), con la cual se obtiene un valor para |s función objetivo de 72,429. Notar, fina lmente, que si redondeásemos estos valores, tomaríamos como solución X =5 e Y= 1, con lo que nuestra función objetivo ob jetivo valdría 65, i.e.: la “solución  de redondeo" nos da un valor peor que el Logrado usando PLE (esto en el supuesto de que esta solución sea factible). En este ejemplo puede parecer que Ia diferencia es poco, pero basta con imaginar e| caso extremo de que cada unidad supusiese 1 millón de € para  darse cuenta de las grandes pérdidas que este “redondeo” causaría a nuestra empresa.

Página 21 de 24

En ocasiones, puede ocurrir que la variable no solo tenga que ser entera, sino que además deba ser binaria (i.e., únicamente pueda tomar los valores 0 o 1). Estaremos pues ante un problema de PLE Binaria. Este tipo de variables es típico de las situaciones “todo o nada", como por ejemplo el tener que decidir si construir o no una nueva factoría, o comprar o no un lote grande de algún recurso para obtener descuentos (deberemos tener en cuenta el coste de mantener el recurso en stock). LINDO ofrece la posibilidad de indicar que una variable es binaria mediante el comando INT. Veamos un ejemplo:

De no haber exigido que la variable X fuese binaria, hubiésemos obtenido como solución los valores X 0,4, A = 4, y B = 7, con una función objetivo de 124. Si ahora redondeásemos el valor obtenido para X en esta solución, tomaríamos X = 0, con lo que nuestra función objetivo serla de 84. Por supuesto, la solución que hemos obtenido usando INT e5 mejor, pues nos da un valor para la función objetivo de 112. El lado negativo de este comando es que si se utiliza con muchas variables en un problema muy extenso aumentara el tiempo de computación necesario para obtener la solución del programa.

Página 22 de 24

Resolver un problema con variables enteras o binarias b inarias usando Excel e5 tan sencillo sen cillo como añadir las correspondientes restricciones en la macro de Solver. Conviene tener cuidado con la notación de ambos programas, pues para las variables enteras LINDO usa el comando GIN  y Solver la expresión int, mientras que para las variables binarias LINDO usa el comando INT y Solver las letras bin. A continuación se muestran las ventanas correspondientes al ejemplo binario anterior:

Página 23 de 24

CONCLUSIÓN:

Como ya vimos en los problemas de programación entera, surgen con f recuencia cuando los valores de algunas o todas las variables de decisión que deben de restringirse a valores enteros. Normalmente existen también muchas aplicaciones que necesitan decisiones de sí o no incluyendo de las relaciones que se puedan representar por variables binarias. Estos problemas son más difíciles de lo que serían sin la restricción de variables enteras, en general podríamos decir que son menos eficientes que el método símplex. Dice que los factores que determinan el tiempo de cálculo son el número de variables enteras y la estructura del problema porque para un número fijo de variables enteras, se puedan agregar variables continuas y esto puede no significar un incremento en el tiempo de cálculo. Para estos problemas especiales de PEB que contienen alguna estructura especial que se puede aprovechar mediante un algoritmo especial, por ello es posible resolver problemas muy grandes y extensos y que pueda que problemas muy pequeños no se puedan resolver.

Página 24 de 24

BIBLIOGRAFÍA:

https://universidad-une.com/contenido/a77731228_archivo_guia_estudio.pdf http://www.est.uc3m.es/esp/nueva_docencia/comp_col_leg/ing_info/io/doc_generic a/archivos/pe.pdf Hemaruce.angelfire.com>metodografico https://www.google.com.mx/search?rlz=1C1CHBD_esMX786MX786&ei=eAUGW4 rYF4yksAXp2bKwCg&q=metodo+heur%C3%ADstico+para+problemas+binarios+& oq=metodo+heur%C3%ADstico+para+problemas+binarios+&gs_l=psyab.3..33i21k1j33i160k1l2.3865.5987.0.6224.9.9.0.0.0.0.291.872.0j2j2.4.0....0...1c.1 .64.psy-ab..5.4.869....0.sBxk2s-G0-Q#

https://www.inf.utfsm.cl/~esaez/fio/s2_2003/apuntes/entera_s2_2003.pdf

http://gfebres.net/Downloads/eCourses/Docs/2012.Taha.InvestigacionDeOperacio nes9naEdicion.pdf

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF