Prog Entera III - Pontificia Universidad Católica de Chile

Anuncio
ICS 1102 (3)
Optimización
Departamento de Ingeniería Industrial y de Sistemas
Pontificia Universidad Católica de Chile
Programación Entera III
Prof. Claudio Seebach -
2do Semestre 2006
Ejemplos de modelación (1)
• Distribución de las tareas semanales entre dos
hermanos:
• La siguiente tabla refleja las tareas semanales y el
número de horas que tardaría cada uno
Compras
Cocinar
Lavar platos Lavar ropa
Juan
4,5
7,8
3,6
2,9
Luis
4,9
7,2
4,3
3,1
• Las tareas no son divisibles y cada uno debe tomar
dos.
• Cómo se asignan de modo de minimizar el tiempo
total requerido para llevarlas adelante?
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (2)
• Se debe decidir en qué proyectos invertir de una cartera
de alternativas:
• La siguiente tabla presenta un listado de proyectos y la
ganancia y capital requerido (en millones de dólares)
para cada uno
1
2
3
4
5
6
7
Ganancia
17
10
15
19
7
13
9
Capital
43
28
34
48
17
32
23
•
•
•
•
Se cuenta con 100 millones de dólares.
Los proyectos 1 y 2 son mutuamente excluyentes
Los proyectos 3 y 4 son mutuamente excluyentes
Para realizar el proyecto 3 se debe realizar uno de los
dos primeros proyectos. Lo mismo para el proyecto 4.
• ¿Qué proyectos realizar de modo de maximizar las
ganancias?
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación
• Variable:
• xi=1 si se ejecuta proyecto i, 0 en otro caso.
7
Max $ xi gi
i =1
s.a.
7
$xc
i i
! 100
i =1
x1 + x2 ! 1
x3 + x4 ! 1
x3 ! x1 + x2
x4 ! x1 + x2
xi " {0,1} #i " {1,..., 7}
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (3)
• Supongamos que se debe cumplir una de dos
restricciones (por ejemplo hay recursos alternativos).
• Equivale a la condición lógica “o”, es decir se cumple
esta restricción “o” esta otra.
• Por ejemplo
sujeto a
4 x1 + 2 x2 ! 18
"o" 3 x1 + x2 ! 16
• z=1 si se satisface primera restricción, 0 si la segunda
sujeto a
4 x1 + 2 x2 ! 18 + M (1 " z )
3 x1 + x2 ! 16 + Mz
• En que M es un número suficientemente grande.
• Notar que en los modelos de optimización se exige que
se cumplan todas las restricciones para que el punto sea
factible. Esto equivale a condición lógica “y”.
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (3)
• Supongamos que se
deben cumplir k de un
conjunto de m
restricciones (k<m).
sujeto a
"o"
f 2 ( x1 , x2 ,...xn ) ! d 2
"o"
...
• Siguiendo una lógica
análoga, se definen
variables auxiliares yi
sujeto a
para cada restricción
que corresponde a 1 si
no se satisface la
restricción i, y 0 si sí se
satisface
• En que M es un número
suficientemente grande.
Prof. Claudio Seebach
f1 ( x1 , x2 ,...xn ) ! d1
f m ( x1 , x2 ,...xn ) ! d m
f1 ( x1 , x2 ,...xn ) ! d1 + My1
f 2 ( x1 , x2 ,...xn ) ! d 2 + My2
...
f m ( x1 , x2 ,...xn ) ! d m + Mym
m
#y
i
= m"k
i=1
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (4)
• Supongamos que una función puede tomar un número finito
de valores posibles.
! d1
"d
"
f1 ( x1 , x2 ,...xn ) = # 2
"M
"$d m
• Se definen variables auxiliares yi para cada posible valor que
corresponde a 1 si la función toma el valor di, y 0 si no
m
f ( x1 , x2 ,...xn ) = # di yi
i =1
m
#y
i
=1
i=1
yi ! {0,1}, "i ! {1,...., m}
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (5)
• Se debe escoger a lo sumo k productos de entre n para
producción.
• yi=1 si se produce producto i, 0 en otro caso
• xi= cantidad a producir del producto i
xi ! Myi , "i # {1,...., n}
n
$y
i
!k
i=1
yi # {0,1}, "i # {1,...., n}
• En que M es un número suficientemente grande.
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (6)
• Problema de localización de plantas. Se debe localizar un
conjunto de plantas de entre un conjunto de posibles m
sitios de modo de servir a n clientes.
• Existe un costo fi por instalarse en el sitio i
• Cada cliente demanda dj
• El costo unitario de despachar productos de i a j es cij
• yi=1 si se instala planta en i, 0 en otro caso
• xij= cantidad a enviar del sitio i al cliente j
Min
n
m
n
$$ c x + $ f y
ij ij
i =1 j =1
sujeto a
i
i
i =1
n
$x
ij
= dj,
i=1
xij # Myi ,
!j " {1,...., n}
!i " {1,...., n}, !j " {1,...., m}
yi " {0,1}, !i " {1,...., n}
xij % 0,
!i " {1,...., n}, !j " {1,...., m}
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (7)
• Consideremos una función objetivo lineal a trazos en la
variable y especificada por sus puntos (ai,f(ai))
f(y)
a1
a2
a3
a4
a5
a6 y
• ¿Cómo especificar una función como ésta en un problema
de optimización? Definamos la siguiente variable:
• xi=1 si y está en el tramo i, 0 en otro caso. (i en {1,…,r-1})
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (7)
• Supongamos que y está en el tramo i (que va de ai a ai+1).
En ese caso podemos definirla como una combinación lineal
de los extremos del tramo. Es decir:
y = !i ai + !i +1ai +1 ; !i + !i +1 = 1;
!i , !i +1 " 0
• En términos más generales podemos decir:
r
y = % !i ai ;
i =1
r
%!
i
= 1;
!i " 0, #i $ {1,.., r}
i =1
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Ejemplos de modelación (7)
• Claramente debe suceder que !i sea positivo sólo si y está
en el tramo i o i+1. Es decir:
!1 # x1
!i # xi "1 + xi , $i % {2,.., r " 1}
!r # xr "1
r "1
&x
i
=1
i =1
xi % {0,1}, $i % {1,.., r " 1}
• Y la función buscada queda como:
r
f ( y ) = % !i f (ai );
i =1
r
%!
i
i =1
= 1;
!i " 0, #i $ {1,.., r}
• Ese modelo es lineal en las variables
Prof. Claudio Seebach
ICS 1102 – Optimización / Clase 25
Descargar