A pesquisa Operacional e os Recursos Renováveis 4 a 7 de novembro de 2003, Natal-RN
ESPECIALIZAÇÃO DE SERVIDORES EM UM SISTEMA DE FILAS
M/G/c
Roberto Quirino do Nascimento
Departamento de Estatística – UFPB
Cond. Resid. Mãe Bienga I Casa 58 Cx Postal 8045 - João Pessoa – PB
CEP 58075-420
e-mail:
Quirino@de.ufpb.br
Luciano da Costa Silva
Departamento de Estatística - UFPB
Av. João Maurício, 1553, Ap. 101B.
CEP 58038-000 – João Pessoa – PB.
e-mail:
luciano@de.ufpb.br
RESUMO
Tratamos aqui do problema de distribuir tarefas entre c servidores de fila idênticos. O problema é apresentado na seção 1: supomos que há N tipos de clientes, chegando, cada um, segundo um processo de Poisson de parâmetro λj a uma central de triagem. O tempo de serviço de cada tipo de cliente tem uma distribuição do tipo geral. Na seção 2, usando a fórmula de Pollaczeck-Khintchine, modelamos este processo como um problema de programação não-linear com variáveis inteiras que minimiza o tamanho médio da maior fila. Um método de solução é então apresentado na seção 3. Um resultado numérico é apresentado na seção 4.
Palavras-chave: Filas M/G/c, programação geométrica, programação não-linear, programação inteira.
ABSTRACT
We consider the problem of distribution of jobs for c identical queue servers. The problem is presented in section 1: we suppose that there are N types of clients, whose times of arrival follow a Poisson process with rate λj. The service time of each kind of client follows a distribution of generic type. In section 2 we model this process using the Pollaczeck-Khintchine formula to find the minimum mean size of the largest queue. A solution method is then presented in section 3 and a
numerical result is presented in section 4.
Keywords: M/G/c queues, mathematical programming, nonlinear programming, integer programming.
1. Introdução
Consideramos o problema de atribuir tarefas a c servidores idênticos, rotulados por i=1,...,c. Há
N tipos de clientes, rotulados j=1,...,N e cada um deles chega a uma triagem segundo um
processo de Poisson de parâmetro λj, de modo que a taxa de chegada de clientes na triagem é:
∑
= N
λ
Na triagem, os clientes de cada tipo são encaminhados aos servidores correspondentes. O servidor i deverá atender os clientes do conjunto { 1,..., }
i n
i j j
J = de modo que cada tipo de
cliente é atendido por um e apenas um servidor. O tempo de serviço depende do tipo de cliente e tem uma distribuição de tipo geral, não necessariamente exponencial, com média mj e variância
2
j
σ
. Portanto, segundo a conhecida fórmula de Pollaczek-Khintchine, o número médio, no longo prazo, de clientes na fila do servidor i - incluindo o que estiver sendo atendido - será dado por: ) 1 ( 2 2 2 2 2 i i i i i i i i iM
S
M
M
L
Λ
−
Λ
+
Λ
+
Λ
=
(2) onde∑
∈ = Λ i J j j iλ
(3)é a taxa de chegada de clientes ao servidor i e
∑
∈=
i J j j i j im
q
p
M
(4)é o tempo médio de serviço no servidor i. Aqui, pj é a probabilidade do cliente que chega na triagem ser do tipo j, ou seja:
λ
λ
jj
p
= (5)e qi é a probabilidade de um cliente que chega na triagem ser enviado para o servidor i, ou seja:
∑
∈ = i J j j i p q (6)Por último,
S
i2 é a variância do tempo de serviço no servidor i. Pode-se mostrar que esta variância é a média das variâncias mais a variância das médias:2 2 2 2 i J j j i j J j j i j i
m
M
q
p
q
p
S
i i−
+
=
∑
∑
∈ ∈σ
(7)Podemos agora colocar o problema: nosso objetivo é encontrar a partição J ={J1,...,Jc}que minimiza o tamanho esperado da maior fila. Ou seja, queremos encontrar i
i
J
max
L
min
.1. Modelo Matemático
Das equações (2)-(7), temos:
)
1
(
2
i i i i iq
L
π
γ
λ
π
−
+
=
(8) onde:∑
∈ = i J j j j iλ
p mπ
(9) e:∑
∈ + = i J j j j j iλ
p (σ
2 m2)γ
(10)As variáveis πi têm uma interpretação conhecida em Teoria das Filas: proporção de tempo em que o servidor i estará ocupado, no longo prazo. Assim, 1-πi é a proporção de tempo ocioso do
servidor i e, portanto, devemos ter πi < 1. Caso contrário, a fila deixa de ser recorrente positiva e aumenta indefinidamente de tamanho (Li = ∞).
Introduzindo as variáveis ∈ = contrário caso , 0 se , 1 i ij J j
δ
(11) o problema torna-se: onde hj = λpjmj e uj =λ
pj(σ
2j +m2j).2. Solução por Programação Geométrica
Para resolver o problema (12)-(18), precisamos colocá-lo em uma forma conveniente. Usando a transformação de variáveis
x
ij=
exp(
δ
ij),
π
~
i=
exp(
π
i),
γ
~
i=
exp(
γ
i)
e a aproximação
ln
≈
1
(
ε−
1
)
ε
x
x
, para ε suficientemente pequeno, (19) o problema (12)-(18) torna-se:)
18
(
.
,...,
1
,
,...,
1
},
1
,
0
{
)
17
(
.
,...,
1
,
0
,
1
0
)
16
(
.
,...,
1
,
1
)
15
(
.
,...,
1
,
)
14
(
.
,...,
1
,
)
13
(
,...,
1
,
0
2
:
a
sujeito
)
12
(
Min
1 1 1 2N
j
c
i
c
i
N
j
c
i
u
c
i
h
c
i
q
ij i i c i ij i N j ij j N j i j ij i i i i i=
=
∈
=
≥
<
<
=
=
=
=
=
=
=
≤
−
−
+
+
∑
∑
∑
= = =δ
γ
π
δ
γ
δ
π
δ
θ
π
θπ
γ
λ
π
θ
)
23
(
.
,...,
1
,
)
22
(
.
,...,
1
,
1
1
)
21
(
.
,...,
1
1
1
1
1
2
:
a
sujeito
)
20
(
N 1 1 N 1 2 2 2 N 1 N 1 2 / ) ( N 1 2
c
i
e
x
N
j
x
e
c
i
x
x
x
x
Min
j j h ij c i ij j j h ij j j h ij j j u p h ij j j h ij j j=
<
=
=
=
≤
+
−
−
−
+
∏
∏
∏
∏
∏
∏
= = = = = + + =θ
ε
ε
ε
ε
θ
ε
ε
θ
ε ε λ ε εAlém disto, passamos a considerar os xij como variáveis contínuas.
O problema (20)-(24) é um Problema de Programação Geométrica Signomial (PPGS). Para garantir que a solução deste problema seja uma aproximação aceitável da solução de (12)-(18), devemos impor uma penalidade sobre as variáveis contínuas xij. Usaremos a função
) 1 ( 1 1 ) 1 ( ) ( 2 2 − − − − − = x e e M x M x pM ε ε
ε
ε
, x∈[1,e], (25)que tem as seguintes propriedades:
(i) pM(x) > 0, ∀ x ∈ (1,e).
(ii) pM(1) = pM(e) = 0.
(iii)
lim
p
M(
x
)
,
x
(
1
,
e
).
M→∞
=
∞
∀
∈
(iv) pM(x) é uma função signomial.
Assim, o problema de otimização considerado passa a ser:
(24) -(21) restrições às sujeito ) ( Min 1 1
∑∑
= = + c i N j ij M x pθ
(26)3.1 O problema primal de programação geométrica signomial
O problema primal de programação geométrica signomial pode ser escrito na seguinte forma:
Minimize g0(t) sujeito a (27) gk(t)≤1, k = 1,...p. onde ∑ ∏ ∈ = = ] [ 1 ) ( k J i m j a j i i k t c t ij g σ , (28) com J[k]=
{
mk,mk +1,mk +2,...,nk}
, k= 1,...,p, m0 = 1, m1 = n0+1,...,np= n. As constantes cij são positivas, os aij são números reais e σi =±1. Quandoσ
i =1, para todo i, dizemos que trata-se de um problema de programação geométrica posinomial.3.2 Condensação em programação geométrica signomial
A abordagem mais comum para resolver este problema é a condensação, que consiste em aproximar termos com vários posinômios, isto é, termos da forma ∑ ∏
∈J[k] =1 i m j a j i ic t ij σ , por um
único termo da forma ∏
= m j a j i t ij c 1
. Para tanto, faz-se uso da seguinte desigualdade:
i ij ij K J i i m j a j i k J i m j a j i t c t c ω ω ∏ ∏ ≥ ∑ ∏ ∈ =
Passo 2 Resolva o problema de Prog. Geom. Posinomial encontrado no passo1, sendo tk sua solução.
Passo 3 faça t0 = tk
k = k+1 Fim de enquanto
Se
δ
é a solução obtida pelo algoritmo façaδ
= log(δ
) e calcule os valores de π e γ 4. Resultados NuméricosImplementamos esta metodologia em MATLAB e aplicamos ao seguinte exemplo fictício: um sistema com c servidores idênticos, processo de chegada de clientes com distribuição de Poisson de parâmetro λ = 0.2, divididos em N = 7 tipos diferentes, segundo os dados abaixo:
j pj mj σj 1 0,2167 0,2 1,4115 2 0,0527 8,2 3,2527 3 0,1384 4,4 0,0394 4 0,1109 6,2 0,5556 5 0,2033 7,9 0,8111 6 0,1738 9,2 0,7949 7 0,1041 7,4 2,4152 Os resultados encontrados foram:
= 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0
δ
O vetor de cargas de dedicação foi:
T ) 568956 , 0 0 580522 , 0 ( =
π
E o tamanho médio de cada fila no longo prazo é, respectivamente:
L1 = 1,63; L2 = 0; L3 = 1,886966. 5.Conclusão
O problema de especialização de servidores é um problema de programação não linear inteira, neste trabalho optou-se por uma abordadgem de penalidade inédita, a qual resolveu satisfatoriamente o problema, esperamos que ao resolver problemas maiores esta técnica também apresente a mesma performance apresentada aqui.
6. BIBLIOGRAFIA
[1] Beightler, C.S. and Phillips, D.T., (1976), ``Applied Geometric Programming'', John Wiley \& Sons, New York.
[2] Dembo, R.S., (1976), ``A Set of Geometric Programming test problems and their Solutions'', Mathematical Programming, 10, 192--213.
[3] Duffin, R.J., Peterson, E.L. and Zener, C., (1967), ``Geometric Programming -- Theory and Applications'', John Wiley & Sons, New York, 1967.
[4] Fang, S.C., Peterson, E.L. and Rajasekara, J.R., (1988), ``Controlled dual perturbations for posinomial Programs'', European Journal of Operation Research 35, 111--117.
[5] Karlin, S., Taylor, H. M., ``A First Course in Stochastic Processes”, Academic Press, 1975. [6] Kortanek, K.O., Xu, X. and Ye, Y., (1995), ``An Infeasible Interior Point Method for Solving Primal and Dual Geometric Programs'', Mathematical Programming 76, 155-181
[8] Nascimento, R. Q., Oliveira P.R. '' A globally convergente Infeasible Interior Point Method for Linearly Constrained convex programming '' Interior Points On Line 2000
http://www.mcs.anl.gov/otc/InteriorPoint.
[9 ] Nascimento, R. Q., Filho M. G.A. “Otimização de Um Sistema Hidrotérmico via Programação Geométrica” Anais do XXXIII SBPO Campos do Jordão pág 530-537
[10]Yang, H. S, Bricker D. L. ''Investigation of Path-Following algorithms for Signomial Geometric Programming Problems '' European Journal of Operations Research 103 pag 230-241.