Escolar Documentos
Profissional Documentos
Cultura Documentos
Operativa
Daro
Blanco
Iturriaga
con
la
colaboracin
de
alumno
Annimo
CURSO
2010-2011
UNIVERSIDAD
POLITCNICA
DE
MADRID
INGENIERA
EN
INFORMTICA
max ! =
!!!
!! !! min ! = ! = !
!!!
!! !!
2. Las
constantes
a
la
derecha
de
las
restricciones
(xB)
han
de
ser
no
negativas.
Si
no
lo
fueran,
podemos
transformar
las
restricciones
multiplicando
ambos
miembros
por
-1.
Esta
multiplicacin
cambia
el
sentido
de
las
desigualdades.
! !
!!" !! !!
!!! !!!
!!" !! !!
3. Todas
las
restricciones
han
de
ser
de
igualdad.
Si
no
lo
fueran,
podemos
transformar
las
desigualdades
en
igualdades
aadiendo
variables
de
holgura.
Si
la
desigualdad
es
sumaremos
una
variable
de
holgura,
si
es
,
la
restaremos.
Las
variables
de
holgura
las
incorporaremos
a
la
funcin
objetivo
con
coeficiente
cero.
! !
!!" !! !!
!!! ! !!! !
!!" !! + !! = !!
!!" !! !!
!!! !!!
!!" !! !! = !!
4. Todas las variables han de ser no negativas (tener una restriccin de no negatividad). Si esto no fuera as, sustituiremos las variables no restringidas por la resta de dos variables restringidas, de modo que el resultado final pueda ser negativo. !"# !! !" !"#$!%&'%() !! = !! ! !!! !"# ! !! ! !!! 0
!"
Inicializacin
0. Poner
el
programa
en
forma
estndar
de
maximizacin,
aadiendo
variables
artificiales
si
es
necesario.
Fase
I
1. Crear
una
nueva
funcin
objetivo
artificial
z
del
siguiente
modo:
Tomamos
la
funcin
objetivo
del
paso
0
(ya
en
forma
estndar
de
maximizacin
y
con
variables
artificiales)
y
cambiamos
los
coeficientes,
asignando
-1
a
las
variables
artificiales
y
0
al
resto.
2. Aplicamos
el
mtodo
del
simplex
al
programa
construido
con
la
nueva
funcin
z
y
las
restricciones
originales
salidas
del
paso
0.
El
proceso
termina
cuando
o
bien
el
valor
de
la
funcin
objetivo
artificial
z
=
0,
o
bien
todo
valor
indicador
zj
cj
0.
Si
no
hay
variables
artificiales
en
la
base
con
valor
positivo,
ir
al
paso
3.
En
otro
caso,
el
problema
es
infactible,
parar.
Fase
II
3. Tomamos
ahora
la
funcin
objetivo
original
z
y
asignamos
coeficiente
0
a
todas
las
variables
artificiales
que
aparezcan
en
la
base
(con
valor
0)
al
final
de
la
fase
I
y
prescindimos
de
todas
las
variables
artificiales
no
bsicas,
as
como
de
sus
columnas
asociadas
en
la
tabla
final
de
la
Fase
I.
4. La
tabla
del
simplex
inicial
de
la
Fase
II
es
la
tabla
final
de
la
Fase
I,
pero
sin
las
columnas
de
las
variables
artificiales
que
no
figuran
en
la
funcin
objetivo
construida
en
el
paso
anterior
(paso
3).
Adems,
hay
que
calcular
de
nuevo
los
valores
zj
cj
de
la
fila
indicador
como
ya
sabemos,
con
la
! frmula
!! !! = !! !! !! y
el
valor
de
z,
con
los
valores
de
xB.
5. Si
la
funcin
construida
en
el
paso
3
no
tiene
variables
artificiales,
aplicar
el
mtodo
del
Simplex.
En
otro
caso,
ir
al
paso
siguiente
(paso
6).
6. Aplicamos
el
mtodo
del
Simplex
con
la
siguiente
modificacin
en
la
regla
para
elegir
la
variable
de
salida:
Si
xk
es
la
variable
de
la
columna
pivote
(xk
es
la
variable
de
entrada),
considerar
los
valores
yik
de
las
variables
artificiales
de
la
base
(es
decir,
los
elementos
del
vector
yk
que
corresponden
a
una
variable
artificial
de
la
base)
y
si
alguno
de
estos
es
negativo,
tomar
como
variable
de
salida
alguna
de
las
variables
artificiales
con
yik
<
0.
En
otro
caso
(no
hay
variables
artificiales
en
la
base
o
ningn
yik
correspondiente
a
dichas
variables
artificiales
es
negativo),
aplicar
la
regla
de
la
variable
de
salida
del
mtodo
del
Smplex.
3.
El objetivo de un problema es de maximizacin y el del otro, de minimizacin. En el problema de maximizacin todas las restricciones son desigualdades de la forma y en el de minimizacin de la forma . Todas las variables duales y primales son no negativas. Los elementos del vector de recursos o constantes en un problema, son los coeficientes de la funcin objetivo en el otro. Por cada variable en un problema se tiene una restriccin en el otro y viceversa. La matriz de coeficientes tecnolgicos de las restricciones en un problema es la traspuesta de la matriz de coeficientes en el otro.
Cambio
en
un
recurso
Si
llamamos
!
al
nuevo
vector
de
recursos
resultante
de
cambiar
un
recurso,
! !!
a
la
inversa
de
la
actual
matriz
bsica
y
!!
al
nuevo
vector
correspondiente
al
lado
derecho
de
la
presente
tabla,
tenemos:
! !! = ! !! ! ! ! = !! !!
Si
con
ese
cambio
!! 0,
la
tabla
permanece
ptima.
Sin
embargo,
si
algn
xBi
pasa
a
ser
negativo,
habr
que
aplicar
el
mtodo
del
smplex
dual
hasta
alcanzar
la
factibilidad.
Para
determinar
! !!
seguiremos
las
siguientes
reglas:
- Las
columnas
!!
de
! !!
van
asociadas
con
las
variables
bsicas
iniciales
(primera
tabla
del
smplex)
y
estn
ordenadas
de
la
misma
forma
que
dichas
variables.
- Los
valores
de
los
vectores
yk
son
aquellos
que
aparecen
en
la
tabla
actual.
!!" !! ! = 1, , !
!!! !
!!" !! ! = 1, , !
!!!
Si la suma de las disponibilidades en los orgenes es menor que la suma de las demandas en los destinos ( !! < !! ), nunca se podrn satisfacer las demandas, mientras que si la suma de las disponibilidades es mayor que las demandas ( !! > !! ), entonces habr unidades en los orgenes que no habrn sido transportadas. Un problema de transporte est equilibrado cuando la suma de las disponibilidades es igual a la de las demandas !! = !! . Si est equilibrado, las desigualdades de las restricciones en el problema lineal pasan a ser igualdades. Para equilibrar un problema de transporte, seguimos estas dos reglas: - - Si hay menos demanda que disponibilidad ( !! > !! ) creamos un destino ficticio cuya demanda es el exceso de disponibilidad: !!!! = !! !! . Si hay ms demanda que disponibilidad ( !! < !! ) se crear un origen ficticio cuya disponibilidad es el exceso de demanda: !!!! = !! !! .
!!" 0 !, !
O1 O2 : Om DEM
DISP
a1
a2
:
am
COSTES
DISPONIBILIDADES
Esta es la tabla inicial del transporte, sus casillas se denominan posiciones. En cada posicin aparecen tres valores: cij es el coste de enviar 1 unidad de producto desde el origen Oi al destino Dj. - - ij es el valor indicador y nos dice si una solucin es ptima o no. - xij representa las unidades de producto transportada desde Oi hasta Dj. Solo escribiremos en la tabla los valores de xij distintos de cero. A las posiciones que tienen asignado un valor de xij entero positivo (distinto de cero) las llamaremos posiciones localizadas. El coste total del transporte asociado a cualquier solucin factible se obtiene sumando los productos de los costes por las unidades asignadas a las posiciones localizadas. Podramos enfrentarnos a problemas de transporte que tengan beneficios en lugar de costes multiplicando los beneficios por -1. Si no estuviera permitido el transporte entre determinados orgenes y destinos, les asignamos un coste grande.
DEMANDAS
Problema
de
la
Mochila
El
problema
de
la
mochila
consiste
en
que
un
excursionista
debe
elegir
entre
varios
objetos
para
transportar
en
su
mochila,
que
no
debe
exceder
de
determinado
peso
y
donde
el
objetivo
consiste
en
maximizar
el
valor
de
la
mochila,
es
decir,
de
los
objetos
que
se
eligen.
Consideremos
n
objetos,
donde
el
objeto
j
tiene
asociado
un
determinado
peso
pj
y
un
valor
vj.
Para
cada
objeto
hay
que
decidir
si
se
incluye
o
no
en
la
mochila,
de
manera
que
es
posible
definir
las
variables
de
decisin
1
si
se
incluye
el
objeto
j
en
la
mochila.
xj
=
0
en
caso
contrario.
El
problema
se
puede
formular
de
la
siguiente
forma:
!
max ! =
!. !.
!!! !!! !
!! !!
!! !! !
!! = 0 1 !
Donde P es el lmite de peso de la mochila. Tenemos as un problema de programacin entera 0-1 con importantes aplicaciones a problemas reales, como el de corte ptimo (rollos de papel, tela, etc.), empaquetamiento de piezas o carga de vasos con capacidad limitada, entre otros. El lugar ms probable en el examen para encontrar un problema de este tipo, es en los ejercicios de modelizacin.
min ! =
!!! !!! !!! ! !
!!" !!"# (! !)
!!"# = 1 (! = 1, , !)
!!! !!! ! !
!!"# = 1 (! = 1, , !)
!!! !!! ! !
!!"# = 1 (! = 1, , !)
!!! !!!
!!"# =
!!! !!!
!!"(!!!)
donde el primer conjunto de restricciones expresa que desde cualquier ciudad i nicamente se puede ir a otra ciudad; el segundo, que se puede asignar una nica ruta a un determinado arco k de la solucin; el tercero, que se puede tener un arco final en j desde solamente otra ciudad; y el ltimo, que suponiendo que el k-simo arco finaliza en la ciudad j, el k + 1 debe tener su origen en esa ciudad j. Esta formulacin como problema 0-1 lleva a programas de tamao muy grande, incluso para un nmero pequeo de ciudades. Existen otros mtodos alternativos de solucin, ms eficientes, pero que no se estudiarn.
!!"# = 0 1 !, !, !
Ramificacin
y
Acotacin
Llamamos
problema
lineal
relajado
(PR)
asociado
a
un
problema
lineal
entero,
al
mismo
problema
entero,
pero
prescindiendo
de
la
condicin
de
que
sus
variables
sean
enteras.
Ramificacin
y
Acotacin
es
un
mtodo
de
solucin
de
programas
enteros
que
consiste
en
ir
particionando
el
conjunto
factible
continuo
del
problema
lineal
relajado
en
subproblemas
o
subconjuntos
tambin
continuos
(ramificacin),
prescindiendo
de
aquellas
partes
del
conjunto
factible
del
problema
lineal
relajado
que
no
lo
sean
del
problema
entero.
Por
otro
lado,
la
acotacin
se
refiere
a
la
cota
superior
(para
la
forma
de
maximizacin)
que
se
obtiene
del
problema
lineal
relajado
y
a
la
cota
inferior
que
se
obtiene
del
valor
de
los
objetivos
de
los
subproblemas
obtenidos
en
el
proceso
de
ramificacin,
para
ordenar
las
soluciones
de
los
subproblemas
y
as,
determinar
la
solucin
ptima
del
problema
entero,
descartando
conjuntos
que
no
contienen
el
ptimo.
Presentamos
el
algoritmo
sistemtico
para
aplicar
este
mtodo:
0. (Inicializacin)
Resolver
el
problema
lineal
relajado
(PR)
asociado
al
problema
entero.
Si
la
solucin
ptima
obtenida
es
entera,
parar
y
tal
solucin
lo
es
del
problema
entero
(PE).
En
caso
contrario,
asignar
como
cota
inferior
al
valor
ptimo
del
objetivo
el
valor
o
bien,
si
fuera
posible,
el
valor
de
la
funcin
objetivo
en
algn
punto
factible
del
PE.
1. (Ramificacin)
Mediante
alguna
regla
de
ramificacin,
seleccionar
un
subconjunto
(o
subproblema)
de
soluciones
factibles
que
quede
sin
sondear
(inicialmente
se
selecciona
F)
y
una
componente
no
entera
de
la
solucin
del
subproblema
en
cuestin.
Hacer
una
particin
en
el
subconjunto
elegido
en
dos
subconjuntos
ms
pequeos,
obtenidos
al
aadir
restricciones
que
excluyan
los
valores
fraccionarios
de
la
componente
elegida.
2. (Acotacin)
Para
cada
nuevo
subconjunto,
determinar
una
cota
superior
zS
para
el
valor
del
objetivo
del
PE.
3. (Sondeo)
Analizar
los
subconjuntos
que
pueden
contener
la
solucin
ptima
y
considerar
como
terminales
aquellos
que
cumplan
alguno
de:
a. El
subconjunto
es
infactible
b. zS
zI
c. zS
se
alcanza
en
un
punto
factible
para
el
PE
y
zS
>
zI
4. (Convergencia)
Si
todos
los
subconjuntos
son
terminales
parar
y
la
solucin
ptima
viene
dada
por
c).
En
caso
contrario,
ir
al
paso
1.
Las
reglas
de
ramificacin
(para
el
paso
1)
nos
deben
indicar
la
variable
no
entera
sobre
la
que
ramificar.
Es
importante
que
cuando
se
implementa
en
un
ordenador,
haya
una
regla
definida,
para
hacerlo
a
mano
escogeremos
aleatoriamente.
Para
elegir
algn
conjunto
no
sondeado
para
ramificacin
podemos
usar
dos
reglas:
la
mejor
cota
(conjunto
con
mayor
valor
para
el
objetivo,
mayor
cota
superior)
o
la
cota
ms
reciente
(selecciona
el
ltimo
conjunto
surgido,
el
ms
reciente).
Formada por las probabilidades de transicin en un paso. P matriz cuadrada no negativa cuyas filas suman la unidad (matriz estocstica) 1 = 1 En la matriz, las posiciones indican la probabilidad de pasar al siguiente estado. En este caso, la posicin (0,0) indica que para pasar del estado 0 al 0 tenemos una probabilidad p, y la posicin (0,1) nos dice que para pasar del estado 0 al 1 hay una probabilidad 1-p. Es un grafo dirigido finito (refleja los resultados de la matriz) donde: 1. Cada nodo representa un estado de la cadena. 2. Cada arco representa las posibles transiciones entre estados. 3. Sobre los arcos se indican las probabilidades de transicin entre estados. 1-p
Diagramas de transicin
0 p 1-p
1 p
Estudio de los tiempos de permanencia de cada cadena en cada estado. Es la probabilidad de que la cadena permanezca en el estado i exactamente m pasos.
Ecuaciones de Chapman-Kolmogorov Para poder calcular la probabilidad de transicin en n pasos, se eleva la matriz de transicin al nmero de pasos deseado. La matriz resultante nos dir la probabilidad con la que se podr transitar a cada estado (una nueva matriz de probabilidades de transicin, pero en vez probabilidad de un paso, indicar la probabilidad en n pasos). (!!!) = (!) (!)
Probabilidad de transicin para dos pasos: (!) = (!) (!) Probabilidad de transicin para tres pasos: (!) = (!) (!) Probabilidad de transicin para MAXIMUM pasos: (!) = (!) Distribucin marginal en el paso n-simo Esta es la distribucin de probabilidad en n pasos (expresado de forma matricial): ! = ! !
Comportamiento
estacionario
Estudio
de
la
cadena
a
largo
plazo.
Consideramos
que
las
CMTD
son
siempre
finitas
(espacio
de
estados
finito).
Clasificacin
de
estados
Las
clases
de
equivalencia
se
designan
por
{i,j}
(siendo
i
y
j
los
estados
pertenecientes
a
la
clase),
son
relaciones
que
verifican
las
propiedades
reflexiva,
simtrica
y
transitiva.
Cada
clase
de
equivalencia
cumple
que
desde
cualquier
estado
de
la
misma
se
pueda
transitar
a
cualquier
otro
(ya
sea
con
un
solo
paso
o
con
varios).
CMTD
irreductible
Cuando
todos
los
estados
de
la
CMTD
se
comunican
entre
s
(y
por
lo
tanto,
constar
de
una
sola
clase
de
equivalencia).
0.8 0.3
0 0.7 0.2
Ilustracin
1
-
CMTD
irreductible
CMTD no irreductible Cuando existe ms de una clase de equivalencia. A partir de ahora se consideran a las clases de equivalencia como si fuera un solo estado, ya que todos los estados de la clase de equivalencia tienen la misma clasificacin.
0 0.5 0.2
0.2
0.3 3 0.7 4
{3,4}
Estado recurrente Si comenzando en el estado recurrente, el nmero esperado de instantes que la cadena est en el propio estado (o clase de equivalencia) es infinito. Es decir, una vez entra el proceso en l, no sale. En el ejemplo anterior, la clase {3,4} es una clase de equivalencia recurrente. Al ser una CMTD finita, todos los estados recurrentes son estados recurrentes positivos. Estado transitorio Si comenzando en el estado transitorio, el nmero esperado de instantes que la cadena est en el propio estado (o clase de equivalencia) es finito. Es decir, existe la posibilidad de que se pueda salir de ah. En el ejemplo anterior, la clase {0, 1, 2} es una clase de equivalencia transitoria. Estado peridico Su perodo es mayor que 1. El perodo de un estado se calcula con el mximo comn divisor del nmero de pasos necesarios para volver a ese estado (suponiendo que se ha partido de l). Los estados de una clase de equivalencia comparten el mismo perodo, calculando el perodo de un estado de esa clase, sabremos el de la clase. Estado aperidico Cuando su perodo es 1. Estado absorbente Si ningn otro estado de la cadena es accesible desde l.
Estado ergdico Si es aperidico y recurrente positivo. Si todos los estados de la CMTD son ergdicos, se la considera una CMTD ergdica. {0,1} 0.2
0.3
{2,3} 1
Ilustracin
3
-
Ejemplo
de
clasificacin
de
estados
Recurrente No S No
0.5
0.5
0.5
Teoremas lmite Si la CMTD es irreductible (si no lo es, debemos coger una clase de equivalencia), existir una distribucin de probabilidad estacionaria. Clculo del vector de probabilidad estacionario Sea: 0.7 0.3 = 0.3 0.7 Cogemos por columnas las ecuaciones y el vector de probabilidad estacionario ser: ! = 0.7! + 0.3! ! = 0.3! + 0.7! ! + ! = 1 En la ltima ecuacin se suman todos los componentes (siempre) y se iguala a 1. Resolviendo el sistema de ecuaciones: = ! , ! = (0.5, 0.5) La distribucin lmite es un caso particular de la distribucin estacionaria, es el nico vector de probabilidades de equilibrio del CMTD. Para que exista distribucin lmite en la CMTD, esta debe ser finita (siempre lo es), irreductible y aperidica. Esta nica distribucin debe verificar que: =
Es absorbente si al menos tiene un estado absorbente, y si es posible ir de cada estado no absorbente al estado absorbente (en uno o varios pasos).
Es reversible si la tasa de transiciones de i a j coincide con la de transiciones de j a i, para i,j siendo estados cualesquiera.
Comportamiento Estacionario
La
distribucin
estacionaria
se
puede
definir
de
forma
anloga
a
la
de
las
CMTD.
Primero
voy
a
poner
la
frmula
general
y
la
explicacin
de
cada
variable
infernal,
de
esta
manera
se
crearn
las
llamadas
ecuaciones
de
equilibrio:
! ! =
!
!" !
! = 1
! ! ! ! !" !" ! !" ! Diris, pero qu es esto. Muy sencillo. El famoso v hace referencia a la suma de las tasas de salida del estado j, y el puetero q sern las tasas de entrada a j (de los estados que se comunican con j). El sumatorio de del final es igual que en CMTD (para poder sacar las soluciones). 2 2
4
Ilustracin
1
Diagrama
de
transicin
CMTC
2! = 4! 4 + 2 ! = 2! + 4! 4! = 2! ! + ! + ! = 1 Se despejan y a tope ah con el resultado, ya tenemos las proporciones de tiempo que el proceso estar en cada estado.
=
!!!
! = 1 = ! + !
Tiempo medio que algo pasa en el sistema (Frmula de Little) = = + ! ! algo ! ! Nmero medio de algo en la cola Bsicamente es L pero quitando del sumatorio aquellos correspondientes a estados donde no se est en la cola. Comnmente se le denomina ! . Proporcin de tiempo que hay cierto estado en el sistema Al hacer las ecuaciones de equilibrio, el resultado de ! es la proporcin de tiempo del estado i en el sistema. Nmero medio de algo que est siendo procesado, por unidad de tiempo, en el sistema Se tienen en cuenta todos los correspondientes a estados donde se est procesando algo en el sistema. Se le llama ! .
REDES
DE
COLAS
Estos
sern
sistemas
con
mltiples
nodos
en
los
que
el
cliente
requiere
servicio
en
ms
de
uno.
Los
clientes
pueden
entrar
al
sistema
por
varios
nodos,
encolarse
para
ser
servidos
y
salir
de
un
nodo
dado
para
entrar
en
otro
y
recibir
servicio
adicional
o
para
abandonar
el
sistema
definitivamente.
Las
redes
de
colas
son
un
conjunto
de
nodos
interrelacionados
que
funcionan
de
forma
asncrona
y
concurrente.
Se
clasifican
en
dos
grupos:
Redes
abiertas:
los
clientes
pueden
entrar
y
salir
del
sistema
Redes
cerradas:
no
entran
nuevos
clientes
y
los
existentes
nunca
salen.
Notacin de Kendall
A/B/c/K/m/z A: distribucin de tiempo entre llegadas B: distribucin de tiempo de servicio c: nmero de canales de servicio (c >= 1) k: capacidad del sistema m: tamao de la poblacin z: disciplina de la cola (LIFO, FIFO, )
Servidor 1 q
Servidor 2
En este caso, llegan clientes con lambda 3 al servidor 1, pero al procesarles, pueden volver a este servidor con probabilidad p, ir al servidor 2 con probabilidad r o abandonar el sistema con probabilidad q. A su vez, al procesar a los clientes en el servidor 2, abandonan el sistema (z sera probabilidad 1). Por lo tanto, para este caso en particular, las tasas se calculan de la siguiente manera: ! = 3 + p!
! = !
Esta frmula es muy importante (en vez de clientes puede ser trabajos, dependiendo del sistema enunciado). Seguimos suponiendo que tenemos dos servidores: ! ! = ! + ! = + ! ! ! !
Utilizacin
o
uso
del
servidor
()
No
confundir
la
p
de
probabilidad
con
la
de
utilizacin.
= =
c
hace
referencia
al
nmero
de
canales
del
servicio
(nmero
de
servidores),
! a
la
hora
de
medir
un
servidor
tendremos
que
= =
ya
que
c
=
1.
!
Normalmente
nos
pedirn
la
tasa
de
produccin
mxima
que
puede
soportar
un
servidor
(o
el
sistema
entero),
en
este
caso
deberamos
verificar
que
! todos
los
! < 1 ! = !
,
y
calcular
la
!
para
que
cumpla
la
restriccin
<
1
(o
lo
! que
nos
pidan).
!
Productividad del sistema o caudal o paso a travs del sistema ~ ~ ( ) Sistema con capacidad ilimitada: ~ = min {, }
Cantidades medias de clientes (frmulas de Little) = ! = ! ! = ! = ! + ! = ! + Ojito con las lambdas porque depende del problema y es necesario saber si tienen una o varias lambdas (y no confundirlas con las tasas de entrada calculadas anteriormente). ! har referencia al nmero medio de clientes en cola y ! al nmero medio de clientes en el sistema.
Bibliografa
Sixto
Ros
Insua,
Alfonso
Mateos,
Concha
Bielza
y
Antonio
Jimnez.
Investigacin
Operativa:
Modelos
Determinsticos
y
Estocsticos,
Centro
de
Estudios
Ramn
Areces,
S.A.,
Madrid.
(2004)