Escolar Documentos
Profissional Documentos
Cultura Documentos
de
22.5
horas, constitui
uma das partes do mdulo de Matemtica (na Deciso) do Curso de Ps-Graduao em Informao (Geogrca) e Deciso do Departamento de Matemtica da Faculdade de Cincias e Tecnologia da Universidade de Coimbra. meio acadmico. O curso foi organizado em torno dos seguintes tpicos: 1. Modelos de Diviso e Combinao de Recursos. 2. Conceitos Gerais em Programao Linear Custos Reduzidos. 3. Dualidade em Programao Linear Preos-Sombra. 4. Problemas de Fluxo em Redes. 5. Introduo Programao Linear Multi-Objectivo. 6. Anlise de Ecincia de Organizaes (Metodologia DEA). 7. Modelos de Gesto de Projectos. 8. Modelos de Oramento de Investimentos Introduo Programao Linear Inteira. 9. Formas de Modelao em Programao Linear Inteira. 10. Problemas de Afectao. 11. Modelos de Localizao de Equipamentos e de Projecto de Redes. 12. Optimizao de Rotas de Veculos. Cada tpico corresponde a, sensivelmente, uma aula de 7590 minutos. Os exemplos Este curso de ps-graduao funciona em horrio ps-laboral, para tcnicos e quadros superiores a trabalhar fora do
numricos foram todos corridos com o . Os apontamentos no incluem 2 as ilustraes em R feitas na aula, no quadro ou com o .
software WinQSB
WinQSB
Foi feito um esforo em reduzir a um mnimo o material sobre optimizao. Essencialmente, procurou-se dar os conhecimentos bsicos de optimizao para modelar os problemas e interpretar e utilizar os resultados numricos obtidos. O curso foi complementado com dois seminrios sobre casos prticos da utilizao da optimizao em apoio deciso:
Afectao de Trabalhadores a Escalas de Horrios numa Estao de Tratamento de Correio. Doutor Antnio Pais Antunes (Dep. de Eng. Civil, FCTUC), Modelos de Optimizao Inteira para o Planeamento de Redes Educativas: O Caso de Condeixa-a-Nova.
Doutor Pedro Coimbra Martins (ISCAC, IPC), Coimbra, 20 de Janeiro de 2005, LNV.
allocation)
e combinao (
blending)
dos exemplos mais simples da programao linear. Nos modelos de diviso de recursos, pretende-se dividir ou distribuir recursos por elementos em competio entre si. Os recursos podem ser os mais variados possveis (nanciamento, tempo, combustvel, imobilirio,
etc.).
80
Projecto Durao
1 70
2 50
3 85
4 35
A forma de contribuir para os projectos varia consoante os tcnicos, de acordo com as suas qualicaes e com a natureza do trabalho dos projectos. O gestor da empresa estima a capacidade de contribuio dos tcnicos aos projectos, medida numa escala de a
100,
da seguinte forma:
Projectos Tcnicos 1 2 3 1 90 60 70 2 80 70 40 3 10 50 80 4 50 65 85
90t11 + 80t12 + 10t13 + 50t14 + 60t21 + 70t22 + 50t23 + 65t24 + 70t31 + 40t32 + 80t33 + 85t34 .
A maximizao desta capacidade total est restringida durao de cada projecto:
t11 + t21 + t31 = 70, t12 + t22 + t32 = 50, t13 + t23 + t33 = 85, t14 + t24 + t34 = 35.
tij
80
horas previstas:
j = 1, 2, 3, 4, i = 1, 2, 3, j = 1, 2, 3, 4. cij
o elemento da linha
tij 0,
em que e da
i = 1, 2, 3,
da primeira tabela e
Projectos Tcnicos 1 2 3 1 70 0 0 2 10 40 0 3 0 5 80 4 0 35 0
18825.
O tcnico
1, por exemplo,
70
horas no projecto
10
horas no projecto
2,
Curiosamente, este problema pode ser visto como um problema de transportes (a ser apresentado mais frente neste curso). Se substitussemos as trs restries relativas ao nmero de horas de cada tcnico por uma nica restrio, da forma
tij = 240,
i=1 j=1
o problema deixaria de ser visto como um problema de transportes. A soluo deste novo problema corresponde a:
Projectos Tcnicos 1 2 3 1 70 0 0 2 50 0 0 3 0 0 85 4 0 35 0
Nos problemas de combinao de recursos, estes ltimos so partilhados de forma a vericar determinados requisitos da melhor forma possvel. Neste tipo de problemas, os recursos so, geralmente, ingredientes, produtos ou materiais. Alguns dos problemas mais conhecidos desta classe so o problema da dieta e o problema da mistura em produo de materiais.
Imagine um negcio
24
para o primeiro;
14
para o segundo;
para o terceiro.
H duas classes de clientes a satisfazer (A e B). O cliente da classe A menos exigente do que o cliente da classe B. Sejam
x1 , x2
x3
1, 2
a comercializar.
1 pode ser partilhada por 4 clientes da classe A, 2 satisfaz 3 clientes da classe A e uma unidade do equipamento do tipo 3 partilhada por apenas um cliente desta classe. H, pelo menos, 100 clientes da classe A a satisfazer, o que
Uma unidade do equipamento do tipo satisfazendo as suas necessidades. Uma unidade do equipamento do tipo traduzido por
65,
2x1 + x2 + x3 65.
O programa linear que modela este problema de combinao de recursos escreve-se na forma minimizar sujeito a
1, 17.5
unidades
47.5
3,
625.
Este modelo coloca duas questes, relevantes em programao linear: 1. Se se pretender comercializar algumas unidades do equipamento de tipo custo unitrio dessa operao? 2. No caso de ser possvel fornecer equipamento a mais clientes, qual a classe de cliente qual se deve dar primeiro resposta (no sentido de acarretar um custo por cliente inferior)? E qual esse custo por cliente?
1,
qual o
A primeira questo levantada no nal do modelo de combinao de recursos, apresentado em cima, respondida atravs da representao da soluo obtida na forma de um
custo reduzido
varivel
A resposta segunda questo requer a formulao do programa linear original. Os valores da soluo dual cliente desejados.
c x Ax = b, x 0,
com
n Nesta formulao, x R o vector das incgnitas, m restries e b R o termo independente das restries.
b 0.
A Rmn
a matriz das
Por exemplo, o programa linear (com trs variveis e duas restries) minimizar sujeito a
x1 x = x2 , x3
4 c = 5 , 3
A =
3 2 7 8 6 6
b =
7 5
Minimiza-se, em vez de se maximizar. As variveis s podem tomar valores no negativos. As componentes do vector
so no negativas.
Note-se que todo o programa linear pode ser escrito na forma padro. Se o problema tiver uma funo a ser maximizada, por exemplo, maximizar
=c x ,
= c x ,
s1 0.
s1
designada por
varivel de folga.
x1 5,
pode ser substituda por
x1 = x1 5 x1 x1 = 5
varivel livre)
x2
livre d lugar a
x2 = x2 x2
x1 , x2 0.
{x Rn : Ax = b, x 0}
regio admissvel do programa linear (ou o conjunto dos pontos admissveis). A funo c x designada por funo objectivo.
chama-se a A regio admissvel pode ser um conjunto vazio (programa linear inadmissvel). Se for um conjunto no vazio, ento podem acontecer trs coisas:
A soluo (ou soluo ptima) nica. Existem uma innidade de solues ptimas para as quais a funo objectivo tem o mesmo valor (num conjunto limitado e fechado). O programa linear diz-se ilimitado e no existe soluo ptima.
existir minimizantes locais (ou relativos) com valores objectivos diferentes. Num problema de optimizao convexo todo o minimizante local global (ou absoluto).
software.
Fazer exemplos com duas variveis no quadro e com o Falar, informalmente, sobre pontos extremos, direces de ilimitao e restries activas.
mtodo dual-simplex). Trata-se de mtodos de restries activas, que percorrem pontos extremos da regio admissvel. A outra classe de mtodos conhecida por mtodos de pontos
interiores. Nestes, a soluo alcanada pelo interior da regio admissvel. Os mtodos de pontos interiores so conhecidos por serem numericamente ecientes para problemas de grandes dimenses e por atingirem uma complexidade de resoluo simplex atinge um desempenho
mtodo simplex
polinomial (o mtodo
Para problemas
de dimenso pequena ou mdia (at milhares de variveis ou restries), o mtodo simplex revela-se satisfatrio do ponto de vista da ecincia numrica. Este mtodo mostra-se adequado em contextos prticos, por fornecer, de imediato ao utilizador, a informao de uma forma interpretvel economicamente. Para poder interpretar melhor o signicado dos chamados
resposta primeira das questes levantadas no nal da aula anterior, torna-se necessrio
ponto bsico admissvel. Sabe-se que qualquer programa linear (que no seja ilimitado ou inadmissvel) tem pelo menos uma soluo ptima que um ponto bsico admissvel. Sabe-se, tambm, que um ponto extremo se e s se for um ponto bsico admissvel.
O conceito de ponto bsico admissvel vai ser ilustrado para programas lineares escritos
x for um ponto bsico admissvel ento existe uma partio de x em variveis bsicas (em nmero m) e variveis no bsicas (em nmero n m). Suponhamos que as bsicas aparecem todas em primeiro lugar:
na forma padro. A sua denio (rigorosa) omitida. Se
x =
De forma anloga, tem-se que
xB xN B N
A =
A matriz bsico). A partir desta partio e de
B,
de dimenses
m m,
Ax = b,
BxB + N xN = b,
o que equivalente a
xB = B 1 b B 1 N xN .
As variveis no bsicas tomam o valor zero n na forma padro. Se a regio admissvel fosse dada por {x R : Ax = b, x u}, n com e u vectores em R , ento uma varivel no bsica xi toma o valor i ou ui . 1 Como o ponto bsico em considerao admissvel vem que B b 0. O valor da funo objectivo num ponto bsico admissvel dado por: Como o ponto em causa bsico,
xN = 0.
c x = cB xB + cN xN = cB B 1 b + cN cB B 1 N xN .
Como
xN = 0,
cB B 1 b.
No entanto, o vector
cN = cN N (B 1 ) cB ,
que o transposto de
cN cB B 1 N ,
custos reduzidos.
cN 0.
cN > 0.
(N )i c
econmica do signicado de um custo reduzido. No exemplo do modelo de combinao de recursos da Aula 1, como o custo reduzido associado varivel no bsica a 24, o custo a suportar por cada unidade do equipamento de tipo de 24.
x1
igual
a comercializar seria
Um ponto bsico admissvel (ou no admissvel) diz-se degenerado quando uma das 1 componentes de B b nula. Neste caso, h outras formas de representar
o mesmo
Ilustrar, geometricamente, o conceito de ponto bsico admissvel, no admissvel e degenerado. Ilustrar a anlise de sensibilidade.
10
programa linear
O dual de um programa linear admite uma interpretao econmica relevante (para alm de diversas propriedade tericas e manipulaes importantes). Para introduzirmos o dual de um programa linear, vamos considerar que este est escrito na
forma cannica:
minimizar sujeito a
c x Ax b, x 0,
n mn Nesta formulao, x R o vector das incgnitas, A R a matriz das restries e m b R o termo independente das restries. H duas diferenas relativamente forma
padro. Por um lado, no se exige que
. b y A y c, y 0,
O dual de um programa linear, escrito na forma cannica, dado por: maximizar sujeito a
Tambm se chama cannica a esta forma de representar o dual. Repare-se que, no programa linear original ( vectores
primal)
da outra. O primal um problema de minimizao, enquanto o dual de maximizao. Por exemplo, o dual de minimizar sujeito a
6x1 + 2x2 x3 + 2x4 4x1 + 3x2 2x3 + 2x4 10, 8x1 + x2 + 2x3 + 4x4 18, x1 , x2 , x3 , x4 0,
maximizar sujeito a
11
Qualquer programa primal, que no esteja escrito na forma cannica, pode ser reformulado, equivalentemente, de modo a passar a estar escrito nesta forma. exemplo, note-se que uma restrio de igualdade, A ttulo de
x1 + 5x2 = 6
equivalente s duas seguintes restries de desigualdade
x1 + 5x2 6
x1 5x2 6.
O outro tipo de tcnicas necessrias para efectuar a converso na forma cannica foram exemplicadas para o caso da forma padro. Assim, possvel deduzir todas as regras de passagem ao dual. Estas regras so aplicveis a qualquer formulao primal. Basicamente, as regras so as seguintes:
Vriveis primais no positivas correspondem a restries duais do tipo Vriveis primais livres correspondem a restries duais do tipo Maximizao primal passa a minimizao dual.
=.
Aplicando estas regras, vemos que o dual do programa linear primal maximizar sujeito a
6x1 + x2 + x3 4x1 + 3x2 2x3 = 1, 6x1 2x2 + 9x3 9, 2x1 + 3x2 + 8x3 5, x1 0, x2 0, x3
livre
y1 + 9y2 + 5y3 4y1 + 6y2 + 2y3 6, 3y1 2y2 + 3y3 1, 2y1 + 9y2 + 8y3 = 1, y1
livre,
y2 0, y3 0.
Como outro exemplo, diga-se que o dual de um primal escrito na forma padro dado por maximizar sujeito a
b y A y c, y
livre.
12
c x b y (dualidade fraca).
Se o primal ilimitado ento o dual inadmissvel (a sua regio admissvel um conjunto vazio), e viceversa (consequncias da dualidade fraca). Se um deles (primal ou dual) tem soluo ptima o outro tambm e, nesse caso, os valores objectivos das solues ptimas do primal e do dual coincidem (
forte).
dualidade
A dualidade forte permite uma interpretao econmica dos valores da soluo ptima do dual. Como o valor objectivo correspondente soluo ptima do primal (neste caso na forma padro) se pode escrever na forma
b y
= = b (B 1 ) cB , y
em que
de
cor-
bj .
Os preos-sombra associados s duas restries do exemplo do modelo de combinao de recursos da Aula 1 so 3 e 5, respectivamente. classe A (com um custo por cliente igual a 3). O dual ocupa um papel relevante no aproveitamento da estrutura do problema, tendo em vista a ecincia da resoluo numrica. Quando o nmero de restries muito superior ao nmero de variveis, torna-se prefervel resolver o programa dual, cujo nmero de restries vai ser inferior ao nmero de variveis. Na base desta observao est o facto da dimenso das matrizes dos sistemas a resolver pelo mtodo simplex para determinar pontos bsicos estar relacionado com o nmero de restries. simplex d lugar ao mtodo dual-simplex. Uma outra propriedade importante, em contextos prticos, a chamada Nestes casos, o mtodo svel fornecer equipamento a mais clientes, dever-se-ia dar primeiro resposta ao cliente da
complemen-
Esta propriedade diz, essencialmente, que se uma varivel primal ptima positiva ento a correspondente desigualdade dual activa na soluo dual (e a correspondente varivel de folga associada a esta restrio dual nula).
13
uxo de custo mnimo em redes aparecem ligados a situaes relacionadas uxo mximo, ocorre frequente possvel, por exemplo, modelar
Um dos casos mais simples de problemas de uxo de custo mnimo em redes e, consequentemente, de programao linear o
problema de transportes.
Suponhamos que uma determinada mercadoria vai ser transportada de um conjunto de locais onde se encontra armazenada (origens) para um outro conjunto de locais onde a mercadoria no existe e procurada (destinos). Sejam
si =
e
def
i, j.
dj =
def
O objectivo transportar toda a mercadoria das origens para os destinos, com um custo mnimo. Para esse efeito, seja
cij =
def
para
j.
J,
xij
i para j , o programa
iI jJ iI
jJ
cij xij i I, j J, j J.
xij = si , xij = dj , i I,
xij 0,
est armazenada uma mercadoria, pronta a ser enviada para quatro destinos. Os custos unitrios de transporte das origens para os destinos so dados por: Destinos Origens 1 2 1 5 10 2 4 1 3 8 7 4 9 1 as A
As quantidades armazenadas nas origens so, respectivamente, quantidades procuradas nos destinos so iguais a,
14
O programa linear correspondente a este problema de transportes formulado na forma: minimizar sujeito a
5x11 + 4x12 + 8x13 + 9x14 + 10x21 + x22 + 7x23 + x24 x11 + x12 + x13 + x14 = 50, x21 + x22 + x23 + x24 = 30, x11 + x21 = 20, x12 + x22 = 10, x13 + x23 = 30, x14 + x24 = 20, x11 , x12 , x13 , x14 , x21 , x22 , x23 , x24 0.
x11 = 20,
x13 = 30,
x22 = 10,
x24 = 20
Como dissemos anteriormente, um problema de transportes um caso particular de um problema de uxo de custo mnimo, que passamos a descrever. Consideremos uma rede orientada (grafo orientado com informao suplementar em nodos e arcos), com um conjunto de nodos nodos podem ser de trs tipos:
e um conjunto de arcos
A N N.
Os
Nodos de origem: onde a mercadoria est armazenada para ser fornecida. Nodos de destino: onde a mercadoria procurada.
15
Nodos de entreposto: por onde toda a mercadoria que entra, sai necessariamente.
cij
j,
quando
(i, j) A.
procura, que no caso dos nodos de origem negativa (procura negativa signica proviso) e no caso dos nodos de entreposto nula. As variveis no negativas do problema (xij para todo o limite superior de uxo: linear: minimizar sujeito a
(i, j) A)
correspondem ao
uxo de mercadoria que passa em cada arco. Associado ainda a cada arco, pode estar um
Chama-se a
uij
a capacidade do arco
(i, j) A.
xik
(k,j)A
xkj = bk ,
para todo o
k N,
0 xij uij
Nos nodos de entreposto, tem-se que
para todo o
(i, j) A.
bk = 0,
e as restries
xik
(i,k)A (k,j)A
xkj = 0
Um exemplo de um
origens (nodos
2), 3
destinos (nodos
5, 6
7)
nodos de entreposto (3 e
4)
o seguinte:
minimizar sujeito a
5x13 + 8x14 + 8x23 + 5x24 + 10x35 + 10x36 + 10x37 + 10x45 + 10x46 + 10x47 x13 x14 x18 = 500, x23 x24 x28 = 300, +x13 + x23 + x43 x34 x35 x36 x37 = 0, +x14 + x24 + x34 x43 x45 x46 x47 = 0, +x35 + x45 = 200, +x36 + x46 = 200, +x37 + x47 = 300, +x18 + x28 = 100, x34 100, xij 0 x43 100, (i, j) A. (3, 4)
e para todo o
Apenas dois arcos apresentam restries de capacidade de uxo (os arcos Os dois nodos de origem tm procuras dadas por
500
300
16
300).
200, 200
300,
respectivamente. Como a
quantidade abastecida supera a quantidade procurada, houve necessidade de incluir um nodo articial de destino (o nodo
8),
10500.
x13 = 400,
x24 = 300,
x43 = 100,
x36 = 200,
x37 = 300,
x45 = 200,
x18 = 100
(com as restantes variveis a tomar o valor zero). Esta classe de problemas de uxo de custo mnimo conhecida por problemas de transbordo (
transshipment),
A formulao de uxo de custo mnimo para o problema de transportes dada por minimizar sujeito a
iI
jJ
cij xij i I, j J. j J,
jJ iI
xij = si , i I,
xij = dj ,
xij 0,
17
Os problemas de uxo de custo mnimo so inadmissveis (regio admissvel vazia) se a soma das quantidades procuradas no coincidir com a soma das quantidades a fornecer, ou seja, se
bk = 0.
kN
Esta condio, nos problemas de transportes, assume a forma
si =
iI jJ
dj .
Uma forma de contornar este problema introduzir um nodo articial, respectivamente de origem ou de destino, ligado por arcos de custo unitrio nulo a todos os nodos de destino ou de origem (respectivamente) do problema em causa. No exemplo anterior, aplicou-se este procedimento incluindo um nodo de destino articial (com procura igual a ligado aos dois nodos de origem a custo zero. Os problemas considerados at ao momento envolvem apenas o transporte de um tipo mercadoria. No difcil, no entanto, modelar a situao em que existe mais do que um tipo de mercadoria. Nos problemas de uxo mximo, h apenas um nodo de origem e um nodo de destino. Todos os restantes nodos so entrepostos que conservam o uxo de passagem. Pretendese enviar o mximo uxo (pessoas no caso de um plano de evacuao) da origem para o destino. Nestes problemas, as restries de capacidade de uxo nos arcos desempenham um papel mais relevante. A formulao geral de um problema de uxo mximo dada por: maximizar sujeito a
100),
(i,j)A (i,k)A
xij xik
(k,j)A
xkj = 0,
k,
0 xij uij
para todo o
(i, j) A.
As matrizes das restries destes problemas de uxo em redes (que descrevem a variao de uxo em todos os nodos) so designadas por matrizes de incidncia nodo-arco. Estas matrizes gozam de uma propriedade especial, a
unimodularidade total.
Uma matriz
+1, 0
ou
1.
inteiras, qualquer ponto bsico (e em particular uma soluo ptima que seja bsica) tem componentes tambm inteiras. Observmos este fenmeno ao longo desta aula e, tambm, na primeira verso do problema de diviso de recursos apresentado anteriormente (por este ser um caso particular do problema de transportes).
18
cash-ows,
apresentado de seguida, que pode ser visto luz dos modelos Neste problema, sero denidos dois objectivos a
de diviso/combinao de recursos.
projectos em carteira (projecto A e projecto B), com um tempo de vida de trs anos.
Anos Projectos A B 2005 -0.5 -1.0 2006 0.4 1.25 2007 0.6 1.75
0.5
em 2005, dando um
0.4
em 2006 e de
0.6
A empresa no dispe de mais de uma dezena de milhares de euros para investir nos
x1 e x2 as proporces (de 0 a 1) de investimento nos projectos A e B, respectivamente. Quando x2 = 1, a impresa investe a 100% no projecto B. Se x2 = 0.4 ento o investimento neste projecto passa a ser somente de 40%. Por razes tcnicas, a empresa est impedida de investir mais de 75% no segundo projecto. A regio admissvel
projectos em 2005. Sejam que delimita as escolhas possveis , assim, denida por
0.5x1 + x2 1,
0 x1 1,
0 x2 0.75.
A maior parte dos gestores da empresa valoriza o retorno em ambos os projectos (nos dois anos subsequentes), indiferentemente. Neste sentido, a funo a maximizar seria
x1 + 3x2 .
(Note que
1 = 0.4 + 0.6
e que
3 = 1.25 + 1.75.)
19
x1 = 0.5
x2 = 0.75.
Existe, porm, uma parte da administrao que privilegia, por razes estratgicas, o retorno do projecto A. O programa linear a considerar, neste caso, seria dado por maximizar sujeito a
x1 0.5x1 + x2 1, 0 x1 1, 0 x2 0.75.
Este programa no tem soluo nica. So solues deste programa linear os pontos no segmento de recta de extremidades
(1, 0)
(1, 0.5).
Se tomarmos ambas as funes objectivo, obtemos o programa linear multi-objectivo (neste caso bi-objectivo): maximizar maximizar sujeito a
pontos ecientes deste programa linear bi-objectivo so os pontos de S que no so dominados por nenhum outro, ou seja, so todos os pontos
Seja
(x1 , x2 )
em
(y1 , y2 ) S
e
tal que
y1 > x 1 .
20
F,
os objectivos simultaneamente.
(x1 , x2 )
(y1 , y2 ) S (com
tal que
y1 + 3y2 x1 + 3x2
y1 x1
>).
Fe =
De uma forma geral, um programa linear multi-objectivo (com escrito na forma maximizar . . . maximizar sujeito a em que
(c1 ) x
. . .
(cq ) x x S,
S designa a regio admissvel. A ordenao das funes objectivo irrelevante para F e Fe . Se o problema inclusse minimizaes, estas poderiam
pontos ecientes de um programa linear multi-objectivo so os pontos de S que dominados por nenhum outro, ou seja, so todos os pontos x em S para os quais
yS
tal que
no existe
i = 1, . . . , q.
fronteira de ecincia.
em
yS
tal que
(ci ) y (ci ) x,
O conjunto estrita.
i = 1, . . . , q
(com
>).
Fe
21
Fe F .
Todas as solues (nicas ou no) dos programas lineares individuais esto em
F.
Pelo menos uma das solues de cada um dos programas lineares individuais est em
Fe . Fe
pode ser obtido aplicando o
Um ponto em objectivo.
mtodo lexicogrco,
em que se ma-
A seguir maximiza-se a segunda funo objectivo neste conjunto de solues ptimas, e assim sucessivamente. Um outro processo de obter pontos em funes objectivo.
F,
ou em
Fe ,
Para o efeito, considere o programa linear (dependente dos pesos maximizar sujeito a
1 , . . . , q )
q i=1
i (ci ) x
x S,
P L().
tomam-se todos os pesos em
F,
R :
i=1
i = 1,
i 0, i = 1, . . . , q
F = {x Rn : x Fe = {x Rn : x
em que
soluo de
P L() para } .
P L() para e } ,
e =
R :
i=1
i = 1,
i > 0, i = 1, . . . , q i ,
Assim sendo, atribuindo valores apropriados aos pesos exemplo anterior, se escolhessemos
1 = 0.25
obter-se-ia o programa linear maximizar sujeito a
2 = 0.75,
22
(1, 0.5).
e
1 = 0.75
obter-se-ia o programa linear maximizar sujeito a
2 = 0.25,
(0.5, 0.75).
obter-se-ia o resto da fronteira de ecincia
1 = 2/3
2 = 1/3,
e
(1, 0.5)
(0.5, 0.75).
1 = 0
2 = 1
ecincia que no est contida na fronteira de ecincia estrita. A escolha dos pesos ou factores de ponderao est associada preferncia dos agentes de deciso. frequente ser mais simples ao agente de deciso especicar metas a atingir (em termos quantitativos) para cada um dos objectivos do que expressar, em factores de ponderao, as suas preferncias. ( Uma tcnica relacionada com a optimizao multi-objectivo a optimizao por metas
satisfazer determinadas metas escolhidas para os mesmos. No caso de um programa linear bi-objectivo,
(c1 ) x (c2 ) x x S,
Como esta nova regio admissvel pode ser um conjunto vazio, a programao por metas consiste, neste caso bi-objectivo, na resoluo do programa linear minimizar sujeito a
d1 + d2 (c1 ) x + d1 m1 , (c2 ) x + d2 m2 , x S, d1 , d2 0.
23
d1
d2
so conhecidas por
variveis de inecincia.
uma violao das metas. O problema linear acima descrito tem por objectivo tornar esta violao o mais pequena possvel.
24
Data Envelopment Analysis (DEA) tem por objectivo analisar a ecincia inputs (por exemplo, investimento, nanciamento, materiais) e um conjunto de outputs (por exemplo, lucro, outputs,
detectando a ecincia ou inecincia de
relativa do desempenho de unidades ou organizaes. Esta anlise de ecincia aplica-se quando o desempenho de cada unidade foi medido, quantitativamente, por um conjunto de recursos humanos, recursos produo, atendimento, formao). A metodologia DEA constri uma medida simples para relacionar a soma ponderada dos
inputs
uma unidade relativamente s outras. Os pesos ou factores de ponderao so calculados pela prpria metodologia e no esto sujeitos a critrios de escolha subjectivos. O nmero de unidades e o nmero dos seus medies diferentes. outra vantagem desta metodologia admitir indicadores de
se analisar a ecincia relativa de cinco unidades de cirurgia localizadas em diferentes Em cada unidade, conhece-se o nmero de cirurgies e o nanciamento em em causa. Como medicao (medido em dezenas de milhares de euros), constituindo estas duas quantidades
inputs
outputs
cirurgias, a percentagem de ocupao de camas e o nmero de consultas externas, num dado perodo de tempo. Os dados so os seguintes:
40 30 25 32 28
100 85 80 95 50
100 110 70 20 60
6 7 4 5 6
5 10 8 5 5
Uma medida de ecincia da unidade 1 denida atravs do quociente entre uma soma ponderada do seu
outputs)
v1
v2
(relativos aos
inputs).
u 1 , u2
u3
(relativos
ponderao pode colidir com a diculdade prtica em valorizar subjectivamente os vrios desempenhos.
25
A ideia central da metodologia DEA passa por determinar um conjunto de pesos que maximize a ecincia de uma unidade relativamente s restantes. Deste modo, possvel atribuir pesos de forma diferente, de unidade para unidade, aos vrios Toda a ecincia medida no intervalo percentagem. No caso da unidade 1, os pesos resultariam da resoluo do problema de optimizao maximizar sujeito a
inputs
outputs.
[0, 1]
u1 40+u2 100+u3 100 v1 6+v2 5 u1 40+u2 100+u3 100 1, v1 6+v2 5 u1 30+u2 85+u3 110 1, v1 7+v2 10 u1 25+u2 80+u3 70 1, v1 4+v2 8 u1 32+u2 95+u3 20 1, v1 5+v2 5 u1 28+u2 50+u3 60 1. v1 6+v2 5
u1 , u2 , u3 , v1 , v2 > 0.
A funo objectivo deste problema
fraccionria
mao fraccionria). No entanto, assumindo que os pesos no podem tomar o valor zero, possvel reescrever este problema como um programa linear (com cinco variveis e seis restries) maximizar sujeito a
em que ptimo
= 108 ).
1.
u 1
0.0190 O facto do valor ptimo ser restantes.
u 2
0.0024
u 3
v1
0.1667
v2
eciente relativamente s
s 1
0
s 2
0.3918
s 3
0
s 4
0
s 5
0.3477
26
possvel concluir que as unidades 3 e 4 atingiram uma ecincia mxima (1) para a escolha dos factores de ponderao que tornaram a unidade 1 o mais eciente relativamente a todas as outras. Desta forma, as unidades 3 e 4 podem ser consideradas como unidades de referncia alternativa da unidade 1. No caso da unidade 2, a sua ecincia relativa seria determinada resolvendo o programa linear maximizar sujeito a
que tem a mesma estrutura do anterior (com cinco variveis e seis restries). A soluo obtida tem o valor objectivo lativamente s restantes (0.9194
0.9194, o que mostra que a unidade 2 no eciente re< 1). Os valores obtidos para as variveis de folga das
s 1
0
s 2
0.0806
s 3
0
s 4
0.5343
s 5
0.3343
As unidades 1 e 3 constituem, assim, referncia para a unidade 2. A soluo obtida foi a seguinte:
u 1
u 2
u 3
0.0084
v1
0.1343
v2
0.0060
O facto de
u = u = 1 2
input,
output. Seria possvel com 91.94% dos recursos de output, tornar esta unidade eciente relativamente
1.0877,
seria possvel fazer com que esta
s outras.
1/0.9194
8.77%
os
E assim se procederia at unidade 5, calculando a ecincia relativa de todas as unidades. A tabela apresentada a seguir mostra o grau de ecincia relativa, bem como as unidades de referncia obtidas para as cinco unidades.
27
A exibilidade desta metodologia pode tornar relativamente eciente (= grau de articialidade. vamente ineciente (<
100%)
uma
unidade ao calcular um conjunto de pesos ptimos que, na prtica, podem revelar algum Por outro lado, quando uma unidade rotulada como relati-
100%),
ponderao mais favorvel possvel conseguiu evitar essa rotulao. Considere-se, agora, um cenrio mais geral em que existem
de
input
valor do
output r
indicadores de
output.
j.
Seja
xsj
o valor do
input s
unidades,
da
da unidade
O programa linear que determina a ecincia da unidade s demais formulado na forma: maximizar sujeito a
{1, . . . , n}
= 1,
p s=1
xsj vs 0,
j = 1, . . . , n,
u 1 , . . . , u q , v1 , . . . , v p ,
com um nmero positivo perto de zero. A metodologia DEA requer a resoluo de
variveis e
n+1
restries, o que pode ser computacionalmente custoso se existirem muitas unidades para analisar. A abordagem DEA pode mostrar-se sensvel a mau escalonamento dos dados ou comportar-se menos bem na presena de rudo nos mesmos. Existem diversas alternativas abordagem original, da autoria de Charnes, Cooper e Rhodes. Algumas destas alternativas so obtidas modicando, apropriadamente, o dual do programa linear descrito em cima. Para terminar este brevssimo resumo sobre a metodologia DEA e para que se possa compreender melhor o seu signicado, vamos considerar o caso em que existe um nico indicador de deramos
input para dois de output. A m de simplicar ainda mais as coisas, consiinputs unitrios para todas as unidades. Um caso concreto com cinco unidades
seria o seguinte:
28
fcil constatar que as unidades 1 e 3 so pontos estritamente ecientes, se considerarmos o problema de maximizar ambos os na abordagem DEA so, ambos, de
outputs.
100%. 71.43%.
A unidade 2 corresponde a um ponto eciente (mas no estritamente eciente) para o mesmo problema bi-objectivo. A sua ecincia relativa na metodologia DEA de As suas referncias de ecincia so as unidades 1 e 3. As unidades 4 e 5 so dominadas por outras, quando se considera o mesmo problema bi-objectivo. As suas ecincias relativas na metodologia DEA coincidem (50%). Ambas tm por referncia nica de ecincia a unidade 1.
29
Os modelos de gesto de projectos constituem um instrumento til na gesto de projectos relacionados com grandes empreitadas ou operaes logsticas complexas. Este tipo
actividades,
cujo
custo, incio
ou
durao
importa
monitorizar. Os faseamentos das actividades podem estar entre si relacionos. As relaes mais frequentes so as de precedncia temporal, que se traduzem na exigncia de estarem concludas um subconjunto de actividades antes de ser possvel dar incio actividade em considerao.
presa de construo civil pretende construir uma obra envolvendo 10 grandes actividades. Cada actividade tem uma durao mnima e uma durao mxima. O custo de cada actividade varia linearmente com a sua durao. Este ltimo o custo regular da actividade. obra). Para cada actividade i, lista-se, de seguida, os tempos de durao mnima e mxima min max min max (ti e ti ) e os seus respectivos custos (ci e ci ), bem como as actividades que a devem preceder. Conhece-se, por exemplo, o custo associado durao mnima e o custo atribudo durao mxima. O custo associado durao mnima superior ao da durao mxima por necessitar de recursos suplementares (
e.g.,
mo de
Actividade 1 2 3 4 5 6 7 8 9 10
tmin i
6 8 16 14 8 6 10 4 12 2
tmax i
12 16 24 20 12 10 15 16 16 12
cmin i
8000 12000 14500 9500 10000 8500 15000 19000 14500 6500
cmax i
5000 9000 10000 6500 5500 7000 10000 10000 11000 4000
1 Gentilmente
30
O gestor da obra pretende elaborar um plano para a sua execuo que minimize o seu custo total. A durao mxima da obra so
46
semanas.
Seja ti a varivel que mede o tempo gasto na actividade i. Seja a data de incio da actividade
di
i.
outra, podem arrancar imediatamente, ou seja, tem-se que minimizar dada por
d1 = d2 = 0.
10
cmin i
i=1
Fazendo as contas, obtm-se
174750 500t1 375t2 562.5t3 500t4 1125t5 375t6 1000t7 750t8 875t9 250t10 .
As relaes de precedncia modelam-se, linearmente, requerendo que a data de uma determinada actividade seja no inferior data da actividade precedente mais o seu tempo de durao. Desta forma, o programa linear que modela esta forma de gerir o projecto
31
174750 500t1 375t2 562.5t3 500t4 1125t5 375t6 1000t7 750t8 875t9 250t10 d1 = 0, d2 = 0, d1 + t1 d3 , d1 + t1 d4 , d2 + t2 d5 , d2 + t2 d6 , d4 + t4 d7 , d5 + t5 d7 , d4 + t4 d8 , d5 + t5 d8 , d6 + t6 d8 , d3 + t3 d9 , d7 + t7 d9 , d3 + t3 d10 , d7 + t7 d10 , d8 + t8 d10 , d9 + t9 46, d10 + t10 46, tmin ti tmax , i i di 0, i = 1, . . . , 10, i = 1, . . . , 10.
sujeito a
As variveis
d1
d2
Os valores das variveis de folga correspondentes s restries de desigualdade so apresentados na tabela seguinte. Cada restrio corresponde a uma relao de precedncia, que explicitada na tabela. Lista-se, tambm, o preo-sombra associado a cada
32
restrio (ou seja, a componente da soluo do dual correspondente restrio) e os limites inferior e superior do intervalo no qual o coeciente da restrio pode variar sem alterar a partio em variveis bsicas e no bsicas da soluo ptima do primal. preo-sombra actua, somente, entre estes limites. O
Precedncias
Folgas 4 0 0 0 2 0 0 0 0 0 0 0 2 2 0 0
PreosSombra 0
Inferior
Superior
3 1 4 2 5 2 6 4 7 5 7 4 8 5 8 6 8 3 9 7 9 3 10 7 10 8 10 9 m 10 m
1
4
0
+
6 0
500 750
0
4 2
0 0
+
0 0
500 500
0
250
0 0
1000
0 0
0 8 2 4 4 2 2 8
42 38
+
0
+
2 1
+ +
2 47 48
A informao associada aos preos-sombra til, por exemplo, para a analisar a sensibilidade da obra a variaes no prazo dado para completar as actividades terminais (9 e 10). Da penltima linha desta tabela, conclui-se que a diminuio (resp. aumento) no custo total da obra se o prazo dado para completar a actividade 9 passasse de para
46 semanas
45
47
semanas) seria de
1000
milhares de euros.
Outro tipo de sensibilidade a analisar seria o atraso do arranque de uma actividade. Suponhamos que o incio da actividade 9 teria que acontecer quatro semanas depois da actividade 7 terminar. Isso corresponderia a substituir a restrio
d7 + t7 d9
por
d7 + t7 + 4 d9 ,
ou seja, por
d7 + t7 d9 4.
Como o correspondente preo-sombra duas semanas seria de o actividade 9 uma semana seria de
1000,
do termo
4000 milhares de euros. De forma anloga, o ganho em antecipar a 1000 milhares de euros. Rera-se que, para esta anlise, independente da restrio d7 + t7 d9 0 pode variar no intervalo [4, 1],
de acordo com a tabela. A introduo clssica aos modelos de gesto de projectos costuma incluir as chamadas redes de projecto CPM (
33
diferente, que nos oferece maior exibilidade na generalizao do modelo e na anlise de sensibilidade. A abordagem CPM trabalha directamente sobre o grafo orientado das precedncias, calculando os chamados precedncias.
caminhos crticos.
visto como uma generalizao de uma formulao dual associada ao grafo orientado das
34
10
milhes de euros em imobilirio e est a ponderar a possibilidade de comprar De acordo com um estudo de mercado, o
agente responsvel pela deciso dispe de estimativas sobre o preo de mercado desses bens daqui a dez anos. Os preos e as estimativas so dados em baixo, em milhes de euros. imveis preo estimativa 1 4.0 4.5 2 3.8 4.7 3 6.0 8.0 4 7.2 7.0 5 2.0 4.2 6 5.1 9.2
Cada varivel
xj
(com
{1, 2, 3, 4, 5, 6})
xj =
1 0
se o imvel
for adquirido,
caso contrrio.
A estratgia que maximiza o retorno deste investimento em dez anos a soluo do problema maximizar sujeito a
4.5x1 + 4.7x2 + 8.0x3 + 7.0x4 + 4.2x5 + 9.2x6 4.0x1 + 3.8x2 + 6.0x3 + 7.2x4 + 2.0x5 + 5.1x6 10, x1 , x2 , x3 , x4 , x5 , x6 {0, 1}.
Trata-se de um problema de
da mochila. As varaveis podem apenas assumir os valores inteiros caso. Existe uma nica restrio. A soluo ptima deste programa inteiro binrio dada por
restantes variveis iguais a zero). O valor da funo objectivo para esta soluo (milhes de euros). Se a estimativa do valor de mercado do imvel soluo ptima passaria a ser um valor de descesse para
13.9 8.5, a
x1 = x2 = x5 = 1
13.4
(milhes de euros).
oramento disponvel para o investimento em causa. Podem existir, porm, mais do que Outras alteraes ao modelo poderiam incluir que os imveis
condies de exclusividade.
Suponhamos
apenas um dos seus trs bens. Esta situao modelada pela restrio
35
4.5x1 + 4.7x2 + 8.0x3 + 7.0x4 + 4.2x5 + 9.2x6 4.0x1 + 3.8x2 + 6.0x3 + 7.2x4 + 2.0x5 + 5.1x6 10, x2 + x4 + x6 1, x1 , x2 , x3 , x4 , x5 , x6 {0, 1},
mantendo a estrutura de um programa inteiro binrio, mas deixando de ser um problema da mochila. A soluo passaria a ser que corresponde um retorno de
x1 = x6 = 1
13.7
milhes de euros.
c x Ax b, x 0, xi Z, i = 1, . . . , n,
a matriz das restries e
em que
x Rn
A Rmn
relaxao linear deste programa linear inteiro o programa linear que se obtm relaxando
maximizar sujeito a
n = 6
b Rm m = 1.) A
c x Ax b, x 0.
O seu
valor ptimo superior ao valor ptimo do programa linear inteiro. Uma forma de calcular uma soluo aproximada para um programa linear inteiro seria arredondar para inteiros as componentes da soluo da sua relaxao linear. Colocar-se-ia, de imediato, a questo de como arredondar. Mas mesmo o melhor arredondamento possvel (aquele que, de entre todos os admissveis, correspondeu ao menor valor da funo objectivo) pode no ser a soluo do programa linear inteiro e, para alm disso, pode requerer um clculo computacionalmente muito dispendioso. Uma classe de tcnicas que determinam uma soluo ptima para um programa linear inteiro so os mtodos de
partes da regio admissvel onde as variveis tomam valores inteiros. Note-se que a grande maioria dos problemas de programao linear inteira no apresenta uma complexidade de resoluo
36
ou
estamos na
c x Ax b, xi {0, 1}, i = 1, . . . , n.
As restries de no negatividade (x
0) c x
Ax b, xi [0, 1], i = 1, . . . , n.
software.
Suponhamos que a
administrao de um parque industrial necessita de aumentar a rea oferecida s empresas instaladas. Para este efeito, considera vrios projectos, que podem passar por obras de infra-estrutura ou por um melhor aproveitamento dos terrenos existentes. Dados os custos envolvidos e a complexidade da operao, a administrao sabe que no pode executar todos os projectos de ampliao simultaneamente e considera o seu faseamento em dois anos. euros no primeiro ano e de Para efectuar as obras, a empresa dispe de
70
milhares de
90
problema so expostos na tabela seguinte (ganhos em rea, medidos em execuo nos dois anos, dados em milhares de euros).
1 620 40 48
2 280 18 18
3 100 2 15
4 550 36 40
5 430 25 25
Se assumirmos que
xj =
1 0
se o projecto
for escolhido,
caso contrrio,
37
j = 1, 2, 3, 4, 5,
620x1 + 280x2 + 100x3 + 550x4 + 430x5 40x1 + 18x2 + 2x3 + 36x4 + 25x5 70, 40x1 + 18x2 + 15x3 + 40x4 + 25x5 90, x1 , x2 , x3 , x4 , x5 {0, 1}.
x1 = x3 = x5 = 1
x2 = x4 = 0,
frequente, neste tipo de problemas, existirem por razes tcnicas, da execuo do projecto tomasse o valor
2.
x1
ento
x2
1,
Esta situao pode ser facilmente modelada atravs da incluso, no problema, da restrio
x1 x2 .
O problema de programao inteira binria a resolver passaria a ser maximizar sujeito a
620x1 + 280x2 + 100x3 + 550x4 + 430x5 40x1 + 18x2 + 2x3 + 36x4 + 25x5 70, 40x1 + 18x2 + 15x3 + 40x4 + 25x5 90, x1 x2 0, x1 , x2 , x3 , x4 , x5 {0, 1}.
x3 = x4 = x5 = 1
x1 = x2 = 0,
1080,
1.
38
quer, consideremos uma alterao sua formulao em que a contribuio para a funo objectivo de uma das variveis no negativas (a varivel
xi ),
ci xi ,
como at ao momento tem sido estudado, passa a ser dada por
fi + ci xi 0
Pretende-se, assim, impor um custo xo com frequncia quando
se se
xi > 0, xi = 0. xi > 0,
uma situao que ocorre
fi ,
sempre que
xi
est associada ao incio de uma actividade ou de um perodo Esta contribuio no linear e descontnua (ao O novo custo associado a
contrrio da original que era linear). O novo problema deixa de ser um programa linear.
sucientemente grande.
ci xi + fi yi
xi
x i M yi ,
yi {0, 1}. M yi 0)
e com mais uma varivel
Desta forma, o novo custo passa a ser expresso linearmente na funo objectivo. O novo problema ca com mais uma restrio linear (xi do tipo binrio. Se, no programa linear original, a varivel ento o nmero
yi ,
39
passaria a ser
100 + 14x2 0
se se
x2 > 0, x2 = 0,
inteiro misto
f2 = 100.
programa linear
minimizar sujeito a
24x1 + 14x2 + 8x3 + 100y2 4x1 + 3x2 + x3 100, 2x1 + x2 + x3 65, x2 M y2 0, x1 , x2 , x3 0, y2 {0, 1}.
Os valores de
0, 17.5 e 47.5, respectivamente. O valor ptimo do programa passa para 725 (correspondendo a y2 = 1). Se o custo xo f2 fosse alterado para 200 ento as componentes de x na soluo passariam a ser 0, 100 e 0 (e o valor ptimo 800, correspondente a y2 = 0).
e da soluo mantm-se a Um programa linear, em que um ou mais dos custos lineares na funo objectivo so substitudos por custos com componente xa, pode, como acabmos de ver, ser transformado num
x1 , x2
x3
programa (linear) inteiro misto, em que apenas parte das variveis do problema
tomam valores inteiros (neste caso binrios). As duas situaes seguintes so, igualmente, modelveis por programao inteira (binria) mista.
Variveis Tudo-ou-Nada.
0 xk uk
concretos, dar lugar a uma imposio da forma {xk fcil vericar que a condio {xk
=0
ou
= 0 ou xk = uk }. xk = uk } equivalente
x k = uk y k ,
A incluso da restrio de igualdade
yk {0, 1}.
xk uk y k = 0
disjuntiva da imposio.
yk
Restries Disjuntivas.
a1 x b 1
Se a primeira restrio for satisfeita em
ou
a2 x b 2 .
Sd =
x R n : a1 x b 1
ou
40
x R n : a1 x b 1 , a 2 x b 2 ,
S c Sd .
fao de apenas uma das restries pode ser expressa, equivalentemente, por
a1 x M y 1 b 1 ,
h somente
a2 x M y2 b2 , k < m)
y1 + y 2 = 1
y1 , y2 {0, 1}. m
restries,
restries (com
obrigatoriamente impostas.
De entre os problemas de programao inteira mais utilizados encontram-se os que recorrem s restries de
cobertura,
de
empacotamento
e de
partio.
Estas restries
aplicam-se a um conjunto de variveis binrias (xj As restries de cobertura ( menos um elemento de um subconjunto
{0, 1}, j = 1, . . . , nb ).
As restries de empacotamento (
(Rera-se que a condio de exclusividade no modelo de oramento de investimentos era deste tipo.) elemento de um subconjunto As restries de partio (
Uma
Funcionalidades
2
4
4 5
11
15
41
Se a empresa desejasse minimizar o preo da aquisio, garantindo que todas as funcionalidades fossem cobertas, consideraria a soluo do problema de cobertura: minimizar sujeito a
Se a empresa pretendesse minimizar o preo da aquisio, exigindo que as funcionalidades fossem satisfeitas por um e um s dos aparelhos, resolveria o problema de partio: minimizar sujeito a
(O valor ptimo deste programa linear inteiro no pode ser inferior ao do anterior, pois ao passar uma igualdade a desigualdade estamos a
Se os nmeros dados para os preos fossem indicadores de qualidade e a empresa estivesse interessada na compra que melhor qualidade oferecesse, com, no mximo, um aparelho para cada funcionalidade, ento formularia o seguinte problema de empacotamento: maximizar sujeito a
42
12 i=1
xi
Viana do Castelo, Braga, Porto, Vila Real, Bragana, Aveiro, Viseu, Guarda, Coimbra, Leiria, Castelo Branco,
x1 = x4 = x6 = x10 = x12 = 1 5.
x2 = x3 = x5 = x7 = x8 = x9 = x11 = 0.
43
44
problema da afectao.
Consideremos a elaborao de um
plano de trabalho, em que se pretende afectar 5 trabalhadores a 5 tarefas, de forma a que cada tarefa seja feita por um e um s trabalhador e que cada trabalhador faa uma e uma s tarefa. Na instncia do problema em causa, o objectivo minimizar o custo total da afectao (medido em centenas de euros). Um objectivo alternativo seria maximizar a produtividade total. Os custos em afectar os trabalhadores s tarefas so dados na tabela em baixo. Um custo correspondente a um par tarefatrabalhador omitido quando no possvel (ou admissvel) afectar esse trabalhador a essa tarefa .
Trabalhadores Tarefas 1 2 3 4 5 1 15 7 9 8 2 10 15 7 3 18 15 4 9 9 10 11 5 12 5 7 3
15x11 + 10x12 + 12x15 + 7x21 + 15x22 + 18x23 + 9x24 + 5x25 + 9x31 + 15x33 + 9x34 + 7x35 + 7x42 + 10x44 + 3x45 + 8x51 + 11x54 x11 + x12 + x15 = 1, x21 + x22 + x23 + x24 + x25 = 1, x31 + x33 + x34 + x35 = 1, x42 + x44 + x45 = 1, x51 + x54 = 1, x11 + x21 + x31 + x51 = 1, x12 + x22 + x42 = 1, x23 + x33 = 1, x24 + x34 + x44 + x54 = 1, x15 + x25 + x35 + x45 = 1, xij {0, 1}
para
sujeito a
(i, j) admissvel.
45
As cinco primeiras restries asseguram que cada tarefa feita por um e um s trabalhador. As cinco restries seguintes garantem que cada trabalhador faz uma e uma s tarefa. As variveis do problema tomam valores binrios:
xij =
para todo o par ordenado
1 0
se a tarefa
j,
(i, j)
45
e consiste em tomar:
De uma forma geral, o problema da afectao pode ser escrito como minimizar sujeito a
xij = 1, xij = 1,
i I, j J,
xij {0, 1}
em que os ndices
para
(i, j) admissvel, I
e
padro
Quando no existem pares inadmissveis, o problema de afectao reduz-se sua minimizar sujeito a
forma
iI jJ iI
jJ
cij xij i I, j J, i I, j J.
xij = 1, xij = 1,
A relaxao linear deste programa inteiro binrio dada por: minimizar sujeito a
iI jJ iI
jJ
cij xij i I, j J, i I, j J.
xij = 1, xij = 1,
0 xij 1,
A matriz das restries deste programa linear, por ser uma matriz de incidncia nodo-arco, goza da propriedade de unimodularidade total. Assim, e porque o termo independente tem componentes inteiras, este programa linear tem soluo ptima com componentes inteiras. Dito por outras palavras, a soluo da relaxao linear do programa de afectao uma soluo do prprio problema de afectao (uma ocorrncia afortunada em programao linear inteira...).
46
Alm disso, a relaxao linear do problema de afectao pode ser simplicada, uma vez que as restries de igualdade impedem que as variveis tomem valores maiores que 1. Deste modo, a relaxao linear equivalente ao programa linear: minimizar sujeito a
iI jJ iI
jJ
cij xij i I, j J, j J.
xij = 1, xij = 1, i I,
xij 0,
Observamos que o problema da afectao (na sua forma padro) um caso particular do problema de transportes com provises e procuras unitrios (e, assim sendo, constitui um problema de uxo de custo mnimo).
suponhamos que existiam mais trs trabalhadores do que tarefas. A nova tabela de custos
Trabalhadores Tarefas 1 2 3 4 5 1 15 7 9 8 2 10 15 7 3 18 15 4 9 9 10 11 5 12 5 7 3 6 20 8 9 16 7 10 12 10 8 13 9 10 15 12
sujeito a
(i, j) admissvel.
47
Este problema tem uma regio admissvel vazia, como acontece nos problemas de transportes, quando a soma das quantidades procuradas no coincide com a soma das quantidades a fornecer. Tal como sucede nos problemas de uxo de custo mnimo em redes, uma forma de contornar a situao passaria por acrescentar trs tarefas (nodos) articiais 6, 7 e 8 com ligaes admissveis a todos os trabalhadores e com custos nulos na funo objectivo: minimizar sujeito a
(i, j) admissvel. 36
e consiste em fazer: com as restantes iguais a zero.
ilustraremos recorrendo ao problema de afectao com 5 tarefas e 8 trabalhadores dado em cima. Nesta nova variante, cada tarefa pode car por fazer ou ser feita por mais do que um trabalhador. Desta forma, as restries associadas s tarefas so retiradas do problema. Deixam de ser necessrias as trs tarefas articiais. No entanto, cada trabalhador continua a realizar uma e uma s tarefa (e, assim, as restries correspondentes aos trabalhadores permanecem no problema). Estes problemas de afectao generalizada incluem restries de capacidade especiais. No nosso problema, por exemplo, as capacidades dizem respeito a restries de tempo impostas s tarefas. so dados em baixo. Vamos supor que as tarefas 2 e 5 tm um limite de tempo de 12 horas. Os tempos, em horas, que cada trabalhador demora a efectuar estas duas tarefas
48
(i, j) admissvel.
Relaxando as duas restries de capacidade, o valor ptimo desce para 64, correspondendo a
Os problemas de afectao generalizada so menos tratveis computacionalmente do que os problemas de afectao. Em particular, uma soluo da relaxao linear de um problema de afectao generalizado pode no ter componentes inteiras.
49
projectar
localizar
cen-
Os dois modelos
apresentados poderiam ser adaptados e combinados num modelo nico para dar resposta
Consideremos um
distrito com 18 concelhos nos quais se pretende instalar 6 centrais de distribuio de So conhecidos os custos xos de funcionamento de cada central. Se a central aberta ento incorre num custo xo de funcionamento unidades de medicamentos. Fazem parte dos dados do problema, os custos de transporte unitrios das centrais para os centros de sade em cada concelho (cij ), bem como as necessidades de medicamento de cada centro de sude (dj ). O objectivo do problema determinar quais os centros que devero ser abertos de forma a minimizar o custo total da operao. variveis binrias So necessrias variveis
for
fi
ui
xij ,
contnuas
para o concelho
yi
linear inteiro misto que modela este problema pode ser escrito na forma: minimizar sujeito a
6 i=1
fi yi
= 1, . . . , 18, i = 1, . . . , 6, j = 1, . . . , 18,
xij 0,
i = 1, . . . , 6,
yi {0, 1},
i = 1, . . . , 6.
Este problema poderia admitir uma verso puramente binria se os medicamentos fossem empacotados em caixotes ou contentores e as necessidades dos centros de sade fossem expressas em nmero de contentores, por exemplo, exemplo, as variveis
xij
dj = 1, j = 1, . . . , 18. 0 e 1.
Neste
network design).
50
nicaes estuda a possibilidade distribuir dados de uma cidade (1) para quatro outras cidades (2, 3, 5 e 6) atravs da instalao de uma rede de cabo, de acordo com a gura em baixo. O modelo inclui um posto de redistribuio (4), que funciona como um nodo de entreposto.
mitida de
para
j,
cij .
Para formular o problema, associam-se duas variveis a cada ligao ou arco. primeira varivel (xij a segunda varivel estabelecida.
0) descreve a quantidade de dados a enviar de i para j quando (yij {0, 1}) tomar o valor 1. Se yij = 0 a ligao i j no
51
Se a empresa desejar a soluo de custo mnimo dever formular o programa linear inteiro misto: minimizar sujeito a
(i,j) admissvel
x12 x14 x16 = 250, x12 + x42 x23 = 70, x23 + x43 = 50, x14 + x64 x42 x43 x45 = 0, x45 x56 = 50, x16 + x56 x64 = 80, 0 xij uij yij yij {0, 1}
para para
(i, j) admissvel,
(i, j) admissvel.
As seis primeiras restries correspondem ao uxo de dados a distribuir, enquanto que as ltimas nove impem as restries associadas s larguras de banda das ligaes. A soluo obtida foi:
(1,2) 1 70
(1,4) 1 180
(1,6) 0 0
(2,3) 0 0
(4,2) 0 0
(4,3) 1 50
(4,5) 1 130
(5,6) 1 80
(6,4) 0 0
O valor ptimo de
11800.
800
passaria a existir uma soluo alternativa (com o mesmo valor ptimo), dada por:
(1,2) 1 70
(1,4) 1 100
(1,6) 1 80
(2,3) 0 0
(4,2) 0 0
(4,3) 1 50
(4,5) 1 50
(5,6) 0 0
(6,4) 0 0
52
A determinao de percursos ptimos em transporte de pessoas e de mercadorias constitui um aspecto relevante numa poltica integrada de reduo de custos em transportes. Nas autarquias ou nas reas metropolitanas, por exemplo, existe a necessidade de optimizar os recursos disponveis associados aos transportes pblicos rodovirios e ao transporte de Os modelos de optimizao de rotas de veculos so, de uma forma geral, complexos, envolvendo um elevado nmero de variveis inteiras ou binrias. As suas formulaes assentam em componentes associadas a vrios submodelos particulares. Um dos submodelos que aparece com mais frequncia est relacionado com o problema do caixeiro viajante, em ingls No
nodos e so especicadas
as distncias entre eles. O objectivo calcular um percurso de distncia mnima que passe por cada nodo uma nica vez. Vamos apresentar, apenas, a verso simtrica do TSP, em que a distncia do nodo
i
e
j igual distncia j = 1, . . . , n (i = j ).
ao nodo
entre o nodo
e o nodo
i (dij = dji ),
para
i = 1, . . . , n
xij =
1 0
j,
tais que
i < j.
dij xij
n j=1,j>i
xij = 2,
i = 1, . . . , n,
j > i.
n restries asseguram que quando existe um j tal que xji = 1 ento tambm existe um tal que xi = 1. Estas restries fazem com que se chegue sempre ao mesmo nodo de onde se partiu, mas no evitam a formao de subpercursos com menos de n nodos. O segundo grupo de restries impede a formao de subpercursos que, satisfazendo as primeiras
todos os n nodos.
n. n=6
o TSP simtrico, formula-se na
Quando
d12 x12 + d13 x13 + d14 x14 + d15 x15 + d16 x16 + d23 x23 + d24 x24 + d25 x25 + d26 x26 + d34 x34 + d35 x35 + d36 x36 + d45 x45 + d46 x46 + d56 x56
53
sujeito a
x12 + x13 + x14 + x15 + x16 = 2, x12 + x23 + x24 + x25 + x26 = 2, x13 + x23 + x34 + x35 + x36 = 2, x14 + x24 + x34 + x45 + x46 = 2, x15 + x25 + x35 + x45 + x56 = 2, x16 + x26 + x36 + x46 + x56 = 2,
restries impeditivas de subpercursos,
x12 , x13 , x14 , x15 , x16 , x23 , x24 , x25 , x26 , x34 , x35 , x36 , x45 , x46 , x56 {0, 1}.
As restries impeditivas de subpercursos teriam que actuar sobre todos os subpercursos com trs nodos (os nicos possveis a satisfazer as primeiras seis restries, uma vez que nodos
n = 6). Consideremos os dois subpercursos correspondentes aos {1, 2, 3} e {4, 5, 6}. As variveis tomariam, neste caso, os valores: x12 = x23 = x13 = 1
e
subconjuntos de
(com as restantes a valer zero). Estes valores das variveis satisfazem as primeiras seis restries do problema. satisfariam a seguinte: A restrio impeditiva de subpercursos que estes valores no
2.
1 2
restries impeditivas de subpercursos.
6 3
= 10
Os modelos de optimizao de rotas envolvem, usualmente, um conjunto de veculos, cujos percursos importa determinar de forma ptima. Os modelos conhecidos diferem entre si em variadssimos aspectos. Em muitos casos, o nmero de veculos um dado do problema. Noutros, o nmero de veculos uma incgnita do problema. suposto os veculos passarem por um conjunto de nodos para entrega ou recolha, sendo variadas as restries de tempo ou capacidade impostas aos veculos. Os prprios pontos de partida e de chegada dos veculos podem ser iguais ou diferentes (ou coincidirem com pontos de recolha). O exemplo seguinte descreve um modelo prtico para a determinao de percursos ptimos em recolha de resduos slidos urbanos.
Os dados do
54
um ponto ou nodo (0) de partida e de chegada de todos os veculos; nodos de recolha (1, . . . , n), com quantidades a recolher dadas por e tempos de recolha denidos por
n pontos ou i = 1, . . . , n, m j.
ri ,
e
ti , i = 1, . . . , n; Uk , k = 1, . . . , m,
Tk , k = 1, . . . , m; i = 0, . . . , n, j = 0, . . . , n). i
e o nodo
O custo
cij
cij = cji
(o que o caso se as
distncias entre todos os nodos forem, igualmente, simtricas). Existem vrias formulaes para este problema. Adoptamos uma formulao que se baseia nas variveis binrias
k yi =
1 0
e
se o veculo
recolheu no ponto
i,
caso contrrio,
i = 0, . . . , n, k = 1, . . . , m, xk = ij 1 0
se o veculo
faz a ligao
i j ,
recolhendo em ambos,
i = 0, . . . , n, j = 0, . . . , n, k = 1, . . . , m. Dada a simetria mos estas variveis para ndices i e j tais que i < j .
Com as variveis
k yi ,
n k ri yi Uk , i=1
e de tempo
k = 1, . . . , m,
n k ti yi Tk , i=1
k = 1, . . . , m,
de todos os veculos. preciso impor, tambm, que cada ponto seja recolhido por um e um s veculo
m k yi = 1, k=1
i = 1, . . . , n
m k y0 = m. k=1
55
Para calcular o custo total de toda a recolha preciso identicar o custo de recolha de cada veculo. Este custo, por sua vez, est associado ao percurso que o veculo faz, partindo do nodo
e chegando ao nodo
0,
k , k = 1, . . . , m,
xk ji
j=0,j<i
Rera-se que quando
+
j=0,j>i
k xk = 2yi , ij
i = 0, . . . , n.
no recolhe em i, a restrio
correspondente obriga a que todas as variveis envolvidas sejam nulas. O modelo teria que incluir ainda as restries impeditivas de subpercursos. Finalmente, a funo objectivo do programa inteiro binrio mede o custo de todos os percursos de recolha
cij
i=0 j=0,j>i k=1
xk ij
m n n k k=1 xij i=0 j=0,j>i cij m k i = 1, . . . , n, k=1 yi = 1, m k k=1 y0 = m, n k k = 1, . . . , m, i=1 ri yi Uk , n k k = 1, . . . , m, i=1 ti yi Tk , n n k k k j=0,j>i xij = 2yi , j=0,j<i xji +
i = 0, . . . , n,
k = 1, . . . , m,
k yi {0, 1},
i = 0, . . . , n, i = 0, . . . , n,
k = 1, . . . , m, j = 0, . . . , n, j > i, k = 1, . . . , m.
xk {0, 1}, ij
Bibliograa
1. e L. Valadares Tavares, McGraw-Hill, Lisboa, 2000. 2. V. Chvtal,
56
Casos Prticos da Investigao Operacional, coordenao de C. Henggeler Antunes Linear Programming, W. H. Freeman, Nova Iorque, 1983. Introduction to Operations Research, stima edio,
McGraw-Hill, Nova
near, Vol.
Programao Linear, Vol. I, McGrawMagalhes e M. Ramalhete, Programao LiPrentice Hall, Upper Saddle
7. H. P. Williams,
Software
Durante este curso recorreu-se, frequentemente, ao programa
57
Desai, publicado pela John Wiley & Sons, Inc.), para resolver programas lineares e programas lineares inteiros ou inteiros mistos. O cdigo permitiu, tambm, tirar proveito da estrutura de problemas de uxo em redes (incluindo transportes, afectao, uxo mximo e uxo de custo mnimo sem restries de capacidade). Um dos cdigos mais utilizados para resolver programas lineares chama-se
CPLEX,
Este cdigo
http : //www.ilog.com/products/cplex,
e permite correr mtodos do tipo simplex e mtodos de pontos interiores. partido da estrutura dos problemas lineares de uxo em redes. Mais informao sobre
est preparado, tambm, para resolver problemas de programao linear inteira e tirar
http : //plato.la.asu.edu/guide.html,
NEOS Guide: