modelos de programación matemática -...

22
Modelos de Programación Matemática Las proposiciones matemáticas, en cuanto tienen que ver con la realidad, no son ciertas; y en cuanto que son ciertas, no tienen nada que ver con la realidad ” A. Einstein 10/03/2011 1 [email protected]

Upload: trinhthu

Post on 06-Feb-2018

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Modelos de Programación Matemática

Las proposiciones matemáticas, en cuanto tienen que ver con la realidad, no son ciertas; y en cuanto que son ciertas, no tienen nada que ver con la realidad ” A. Einstein

10/03/20111 [email protected]

Page 2: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Modelos de Programación Matemática Una clasificación de los modelos de Programación

Matemática podría tener en cuenta las siguientes características: Estructura objetivos y restricciones (lineal o no lineal) Características de las Variables (Reales, Discretas -enteras-,

Binarias) Certidumbre de los Parámetros (Ciertos e Inciertos) Número de Objetivos (Ninguno, Uno o más de Uno) Número de Restricciones (Ninguna, Más de Cero)

10/03/20112 [email protected]

Page 3: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Pasos en la Construcción de un Modelo de Programación Matemático Análisis de Problema Conjuntos de Datos, y por tanto de Índices Parámetros Objetivo Variables de Control Variables de Decisión Restricciones Más Variables de Control Modelo Completo Validación

10/03/20113 [email protected]

Page 4: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Validaciones de los Modelos Validación del Modelo

Modelos Incompatibles Modelos no acotados Modelos Resolubles

Resultados Lógicos Comparación con resultados reales Modificación de Coeficientes en la función objetivo

Cómo construir un buen modelo Facilidad para entender el modelo Facilidad para detectar errores en el modelo Facilidad para computar la solución

10/03/20114 [email protected]

Page 5: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Programación Lineal Se denomina Programación Lineal a aquel problema definido

por un objetivo y un conjunto de restricciones, en los quecada una de ellas es una función lineal de variables reales.

Algunos de los problemas clásicos de Programación Lineal son: Blending (Mezcla). Product Mix (Catálogo de Productos). Decisión de Inversiones. Problema del Transporte

http://thales.cica.es/rd/Recursos/rd98/Matematicas/29/intro.html

10/03/20115 [email protected]

,

min

. . ·

0

i ii

i j i ji

i

c x

s aa x b

x

Page 6: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Interpretación y Uso de la Solución de un Modelo de Programación Lineal Interpretaciones Económicas

El Modelo Dual Precios Sombra Costes Reducidos

Análisis de Sensibilidad y Estabilidad de un Modelo Rangos en las restricciones Rangos en el objetivo Modelos Estables

10/03/20116 [email protected]

Page 7: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Programación Entera Programación Entera se produce cuando el dominio de las variables no es real sino discreto.

Diferentes áreas dónde se aplica la PE Problemas con inputs o outputs discretos

Problemas con condiciones lógicas

Problemas de combinatorias

Problemas No-Lineales

Problemas de Redes

El uso de variables discretas Cantidades indivisibles

Variables de decisión

Variables Indicadoras

En programación lineal cuantas más restricciones, en general, peor. En programación Entera cuantas más restricciones en general mejor.

10/03/20117 [email protected]

2857.14)3,0,1428.1(),,( 321

zxxx

Problema 1

1667.14 )667.2,5.1,1(),,(

2

321

zxxx

Subproblema 2

42857.9 )2,5.1,714.0(),,(

4

321

zxxx

Subproblema 4

14 )3,0,1(),,(

5

321

zxxx

Subproblema 5

Subproblema 3 No factible

)1( 1 x )2( 1 x

)2( 3 x )3( 3 x

Page 8: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Programación No-Lineal Objetivos y Restricciones No Lineales

Economías de Escala y Elasticidad de Precios Relaciones entre variables

Funciones y Regiones Convexas Región Convexa: Región del espacio entre el segmento que une dos puntos cualesquiera

está en la región Función Convexa: Una función es convexa si el conjunto de puntos (x,y) donde y f(x)

forma una región convexa Modelo de PM convexo: Se dice que un modelo de Programación Matemática es convexo

si implica la minimización de una función convexa sobre una región convexa.

Óptimos Locales y Globales Programación Separable

Se dice que una función es separable si puede expresarse como la suma de funciones de una única var.

La mayor parte de las funciones pueden separarse. Convertir un modelo no-lineal en modelo separable

10/03/20118 [email protected]

Page 9: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Programación Lineal 0-1 Es un tipo especial de Programación Entera donde las variables

sólo pueden adoptar 0 o 1. Reciben también el nombre de Problemas de Combinatoria. Suelen ser de muy difícil resolución. Algunos de los problemas clásicos son:

Problema de la Mochila Cubrimiento Partición Empaquetado Viajante de Comercio Problemas de Corte

10/03/20119 [email protected]

Page 10: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Programación Estocástica La Programación Estocástica concentra el estudio, formulación y resolución

de modelos de optimización que incorporan explícitamente parámetros aleatorios, ya sea a través de diferentes escenarios o de variables aleatorias con distribuciones de probabilidad discreta o continua. En particular, los modelos con recurso comprende una clase especial de modelos de programación estocástica que permiten enfrentar la presencia de parámetros aleatorios mediante el uso de dos grupos de variables de decisión, un primer grupo eligido entre aquellas variables cuyo valor se toma independiente de la realización (futura) de los parámetros y, el otro, entre aquellas decisiones en respuesta a esa realización (recurso), que permiten dar la flexibilidad necesaria al modelo, tomando en cuenta para la elección de una solución óptima las desviaciones o el valor esperado asociado a este recurso.

http://users.iems.nwu.edu/~jrbirge//html/dholmes/StoProIntro.html

http://stoprog.org/

10/03/201110 [email protected]

Page 11: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Definición de Objetivos Lineales Objetivos Simples

Minimizar el valor absoluto

Minimizar el Máximo (o Maximizar el Mínimo)

Objetivos de Ratio

jji

jij

xb

xaMax

1

jjj xb

t

1j

jjwb

txw jj

exdj

jj

0 etwd

jjj

j

jjwaMax

10/03/201111 [email protected]

Min x y

j

ijj xaMini

Max

Page 12: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Programación Multiobjetivo y Objetivos No Optimizables Múltiples Objetivos

Combinación Lineal de Objetivos:

Programación Multinivel. Goal Programming

Soluciones No-Dominadas. Optimos de Pareto.

Objetivos no optimizables: Por ejemplo Sobrevivir

min 3:. . 2 1.1* 2. . 1 1.01* 1.

Objs t Obj Cotas t Obj Cotas t El resto de restricciones

10/03/201112 [email protected]

min 1 2 3.

OBJ Obj Obj Objs t El resto de restricciones

Page 13: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Restricciones según su relación con la realidad.

Restricciones de capacidad Disponibilidad de materia prima Limitaciones en la demanda del mercado Continuidad o Balance Restricciones de Calidad. Restricciones Lógicas

10/03/201113 [email protected]

Page 14: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Linealizando relaciones Lógicas.

10/03/[email protected]

1 j jj

a x b bMMxaj

jj

1j jj

a x b ·j jj

a x m b

1j jj

a x b ( )j jj

a x m b

1 j jj

a x b j jj

a x m m b

1j jj

a x b ·j j

ja x M b

1j jj

a x b ( )j jj

a x M b

Page 15: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Restricciones según su relación con otras restricciones. Restricciones Duras y Blandas

Restricciones Conflictivas Restricciones Redundantes (precio sombra nulo) Cotas Simples y Generalizadas.

Restricciones de Rango.

bxaj

jj buxaj

jj

10/03/201115 [email protected]

Page 16: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Un problema sencillo? Una empresa fabrica 2 productos P y Q.

P se vende a 90 € y Q a 100 €. La demanda de cada producto es de P=100 unidades/semana y de Q=50 unidades/semana.

Los dos productos requieren de una misma pieza central, la Materia Prima de la cual vale a 20€ la unidad. Para fabricar la pieza central hacen falta 15 minutos del recurso B y 5 minutos del recurso C. Para fabricar el componente 1 del producto P hace falta materia prima por valor de 20€/unidad, 15 minutos del recurso A y 10 minutos del recurso C. Al ensamblar la pieza central con el componente 1 utilizamos otro componente 3 que se compra al precio de 5€/unidad, lo ensambla el recurso D en 15 minutos cada unidad.

El producto Q sigue un procedimiento similar. El componente 2 utiliza Materia Prima por valor de 20€/unidad, pasa por el recurso A donde está 10 minutos y luego por el proceso B donde está 15 minutos. Finalmente es ensamblado por el recurso D en 5 minutos. El mes tiene 20 días de 8 horas. Los gastos totales son 3600€/semana ¿Cual es el mejor plan de producción para la empresa? ¿Qué beneficio le aporta?

¿Cuál es el valor de una hora más de cada recurso productivo?

Establecer un objetivo que pretenda maximizar el ratio beneficio entre horas totales de trabajo.

Establecer un objetivo que pretenda

¿Cómo incorporar limitaciones en la disponibilidad de materia prima?

¿Cómo incorporar un número indefinido de productos al modelo?

10/03/[email protected]

Page 17: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Problemas de Programación Lineal Una compañía fabrica dos modelos de sombrero: Bae y

Viz. La fabricación de los sombreros se realiza en las secciones de moldeado, pintura y montaje. La fabricación de cada modelo Bae requiere 2 horas de moldeado, 3 de pintura y una de montaje. La fabricación del modelo Viz requiere tres horas de moldeado, 2 de pintura y una de montaje. Las secciones de moldeado y pintura disponen, cada una, de un máximo de 1.500 horas cada mes, y la de montaje de 600.Si el modelo Bae se vende a 10 € y el modelo Viz a 12 € ¿qué cantidad de sombreros de cada tipo ha de fabricar para maximizar el beneficio mensual?

10/03/201117 [email protected]

Page 18: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Problemas de Programación Lineal Una persona tiene 5.000 € para invertir en dos tipos de

acciones A y B. El tipo A tiene bastante riesgo con un interés anual del 10% y el tipo B es bastante seguro con un interés anual del 7%. Decide invertir como máximo 2.000 € en A y como mínimo 1.000 € en B, e invertir en A por lo menos tanto como en B. ¿Cómo deberá invertir sus 5.000 € para maximizar sus intereses anuales?

10/03/201118 [email protected]

Page 19: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Problemas de Programación Lineal

Imaginemos que las necesidades semanales mínimas de una persona en proteínas, hidratos de carbono y grasas son 10, 9, 12 unidades respectivamente. Supongamos que debemos obtener un preparado con esa composición mínima mezclando los productos A y B cuyos contenidos por kilogramo son los que se indican en la tabla ¿Cuántos kilogramos de cada producto deberán comprarse semanalmente para que el costo de preparar la dieta sea mínimo?

Proteínas Hidratos Grasas Coste(kg)

Producto A 2 5 2 600

Producto B 3 1 3 400

10/03/2011 [email protected]

Page 20: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Problemas de Programación Lineal Una empresa fabrica 7 productos distintos, para los que utiliza 5 tipos de

Máquinas (Fresas(4), Tornos(2), Sierras(3), Soldadoras(1) y Rectificadoras(1)). Aunque la cantidad de ellas puede variar a lo largo del tiempo.

También varía el número de días en cada uno de los meses Se trabaja 16 horas al día y no es posible utilizar horas extras.

Cada producto utiliza cada máquina durante una cierta cantidad de tiempo. Cada unidad de producto aporta un determinado beneficio.

La demanda de cada producto es variable según los meses, cómo también lo son el número de días laborables en cada uno de ellos. Consideramos un horizonte de planificación de 6 meses.

Inicialmente no se dispone de stock de ningún producto, y el número total de unidades al final de cada mes almacenadas está limitado a 400 unidades. El coste de almacén de cada unidad que quede al final de mes es 0.5€

10/03/201120 [email protected]

Page 21: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

Mezcla de Productos Una empresa con tres secciones productivas (tornos(3), fresas(2),

Montaje (8 montadores por turno)) fabrica 5 productos distintos 6 días a la semana, 2 turnos de 8 horas al día.

Los beneficios de los productos, y la necesidad en horas de cada recurso, se expresa en la siguiente tabla

PR1 PR2 PR3 PR4 PR5

Beneficio unit. 550 600 350 400 200

Requerimientos

Torno 12 20 25 15

Fresa 10 8 16

Montaje 20 20 20 20 20

10/03/201121 [email protected]

Page 22: Modelos de Programación Matemática - personales.upv.espersonales.upv.es/jpgarcia/LinkedDocuments/MCOIProgramacionMat… · pieza central con el componente 1 utilizamos otro componente

El modelo MPL Mezcla de Productos

INDEX i= 1..5 j= (torno,fresa,montaje)DATA benef[i] := (550,600,350,400,200) prodhoras[j,i] :=(12,20,0,25,15, 10,8,6,0,0, 20,20,20,20,20) rechoras[j] := (288,192,384)VARIABLES x[i]

MAX SUM( i : benef*x)

SUBJECT TO restr[j] : SUM(i : prodhoras*x)<=rechoras

10/03/201122 [email protected]