(2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a)...

24
UPC UPC Investigación Operativa (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES PROBLEMAS DE PROGRAMACIÓN LINEAL. Función objetivo y restricciones. HIPÓTESIS DE MODELIZACIÓN. Ejemplos: problema de producción, problema de dietas. INTRODUCCIÓN AL LENGUAJE ALGEBRAICO AMPL. Características del lenguaje. Declaración de parámetros, variables, restricciones y función objetivo. El entorno AMPL Plus.

Transcript of (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a)...

Page 1: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

U P C I.O.E. Diplomatu

U P C Investigación Operativa

(2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES

• PROBLEMAS DE PROGRAMACIÓN LINEAL. Función objetivo y restricciones.

• HIPÓTESIS DE MODELIZACIÓN. Ejemplos: problema de producción, problema de dietas.

• INTRODUCCIÓN AL LENGUAJE ALGEBRAICO AMPL. Características del lenguaje. Declaración de parámetros, variables, restricciones y función objetivo. El entorno AMPL Plus.

tresteve
Cap. 2,3 "AMPL: A Modeling Language for M.P." Fourer, Gay, Kernighan Cap 3 "Introduction to Operations Research" Hillier, Lieberman
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 2: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

Identificar elproblema

Planificación delestudio

Recogida de datos

Formular eImplementar el

modelo

Pruebasdel

modeloValidar elmodelo

Ensayo dealternativasAnálisis deresultados

ResultadosInsatisfactorios

Ciclo metodológico de la I.O.

U P C I.O.E. Diplomatura de Estadística U P C

Implementar lassoluciones

SISTEMA REAL

MODELO(s)

Investigación Operativa

tresteve
4
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 3: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

U P CU P C

Modelo Matemático; Optimización

Max (Min): f0(x1, x2, …, xn) s. a: f1(x1, x2, …, xn)≤0

: fk(x1, x2, …, xn)≥0

: fm(x1, x2, …, xn)=0

• fj(x1, x2, …, xn) lineal, no lineal• xi continua o discreta (entera) ∀ i

Investigación Operativa Investigación Operativa

tresteve
función objetivo
tresteve
variables de decisión
tresteve
función objetivo
tresteve
función objetivo
tresteve
restricciones
tresteve
1
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 4: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

PROBLEMAS DE PROGRAMACIÓN LINEAL

NOTACIÓN MATRICIAL

U P CU P C Investigación Operativa

tresteve
1
tresteve
2
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 5: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN
tresteve
3
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 6: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

HIPÓTESIS BÁSICAS en P.P.L.

En el problema de producción:

ADITIVIDAD:F.obj: el beneficio total es la suma de losbeneficios parciales por cada producto.Restricciones: el consumo total de unrecurso es la suma de los consumosparciales por cada producto.

PROPORCIONALIDAD:

F.obj: cada beneficio parcial ci xi esproporcional a la cantidad de producto xi.Restricciones: el consumo parcial aji xi deun recurso j por la cantidad xi esproporcional a xi

tresteve
4
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 7: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN
tresteve
Cantidad mínima de nutriente básico
tresteve
Cantidad de nutriente básico en la mezcla
tresteve
5
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 8: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

LENGUAJES ALGEBRAICOS PARAOPTIMIZACIÓN: AMPL

• Los lenguajes algebraicos permiten formular modelos deoptimización comúnmente usados en I.O.

• Están orientados al desarrollo de modelos.• Las formulaciones son: inteligibles por otros usuarios y fácilmente

ampliables y modificables.• Utilizan otros programas para resolver los modelos (SOLVERS)• Proporcionan entornos (AMPL Plus) que permiten manipular,

controlar y depurar los modelos.• El lenguaje AMPL es uno de los mejor surtidos en cuanto a

potencialidades. Otros lenguajes: GAMS, CAMPS, LINGO.(http://www.ampl.com/)

tresteve
6
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 9: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

LENGUAJE AMPL: Características principales

tresteve
7
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 10: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

U P C I.O.E. Diplomatura de Estadística U P C

Parámetros:c Vector de costesa Vector de consumo de recursosb cantidad de recursosu vector de límites

Investigación Operativa

tresteve
8
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 11: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

U P C I.O.E. Diplomatura de Estadística U P C

set P;param a {j in P};param b;param c {j in P};param u {j in P};

var X {j in P};

maximize beneficio: sum {j in P} c[j] * X[j];

subject to tiempo: sum {j in P} a[j] * X[j]<=b;subject to Limites {j in P}: 0 <= X[j] <= u[j];

Fichero prod.mod

Investigación Operativa

tresteve
9
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 12: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

U P C I.O.E. Diplomatura de Estadística U P C

set P := bandas bobinas;param: a c u :=bandas 200 25 6000bobinas 140 30 4000 ;param b := 40;

Fichero prod.dat

set P := bandas bobinas;param: a:= bandas 200 bobinas 140;param: c:= bandas 25 bobinas 30;param: u:= bandas 6000 bobinas 4000;param b := 40;

Investigación Operativa

tresteve
10
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 13: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

set P;set ETAPA;

param tasa{P,ETAPA} > 0;param recurso{ETAPA} >= 0;param benef_u{P};param x_min{P} >= 0;param x_mercado{P} >= 0;

var X {p in P} >= x_min[p], <= x_mercado[p];

maximize total_benef_u: sum {p in P} benef_u[p]*X[p];

subject to Tiempo {s in ETAPA}: sum {p in P} tasa[p,s]* X[p] <= recurso[s];

INDICES DOBLES

CONDICIONES SOBREEL VALOR DEPARÁMETROS

COTAS SOBRE LASVARIABLES DE

DECISIÓN

GRUPOS DERESTRICCIONES

INDEXADAS

tresteve
11
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 14: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

OPERACIONES EN EL ENTORNO AMPL Plus:CREAR UN PROYECTO: .mod + .dat

tresteve
12
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 15: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

OPERACIONES EN EL ENTORNO AMPL Plus:Cargar modelo, datos y resolver el problema

Solve Problem

tresteve
13
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 16: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

expand;maximize beneficio:

25*X['bandas'] + 30*X['bobinas'];

s.t. tiempo:200*X['bandas'] + 140*X['bobinas'] <= 40;

s.t. Limites['bandas']:0 <= X['bandas'] <= 6000;

s.t. Limites['bobinas']:0 <= X['bobinas'] <= 4000;

OPERACIONES EN EL ENTORNO AMPL Plus:• EXAMINAR EL MODELO CARGADO

tresteve
14
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 17: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

display X;

X [*] := bandas 0bobinas 0.285714

tresteve
15
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 18: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

SESION DE PROBLEMAS

P6' P1 P2 P3 P4 P5 P6 P1'

tresteve
16
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 19: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

CRUDO B 4

PROCESO 1

PROCESO 2

CRUDO A Gasolina X

Gasolina Y

1

2

3

5020

30

80

tresteve
Crudo A
tresteve
Crudo B
tresteve
Proceso 1
tresteve
Proceso 2
tresteve
Gasolina X
tresteve
Gasolina Y
tresteve
1
tresteve
2
tresteve
17
Page 20: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

Para valores de k > 180 lascurvas de nivel de la f.obj. nointersectan la región factible:

k=180 es el mayor valor quepuede alcanzar la f.obj. en laregión factible.

Este valor se obtiene en elpunto xA =(20,60) :

ÓPTIMO (SOLUCIÓN) DE (P)

tresteve
18
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 21: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

CONVEXIDAD de la REGIÓN FACTIBLE

tresteve
19
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 22: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

NO TODOS LOSCONVEXOS TIENEN

VÉRTICES

tresteve
20
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 23: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

U P CU P C

FORMA STANDARD DE UN P. P.L.

Tras transformaciones, todo P.P.L. puede expresarse de la forma:

• Todas las variables xi están sujetas a xi ≥ 0, i = 1, 2, … n• Todos los términos de la derecha bi son no negativos: bi ≥ 0, i = 1, 2, … m• La matriz de coeficientes A es de pleno rango:

Hay m columnas de A tales que al formar una matriz B con ellas,ésta es inversible.

( m ≤ n )

Todos los paquetes para P.L. convierten automáticamente a la forma Standard

Investigación Operativa

tresteve
21
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa
Page 24: (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE … · UPC I.O.E.Investigación Operativa Diplomatu (2.a) INTRODUCCIÓN A LA FORMULACIÓN DE MODELOS LINEALES • PROBLEMAS DE PROGRAMACIÓN

Una estrategia para resolver el P.P.L. consiste en:

1. Determinar si F=∅ .

2. En caso contrario, determinar una s.b.f. (vértice) de F inicial

3. Visitar s.b.f's hasta encontrar una que sea solución de (P)

4. Determinar si la s.b.f. solución es única o existen otrassoluciones.

tresteve
22
tresteve
Transparencias de clase. Prof. E.Codina Investigación Operativa