oad
TRANSCRIPT
Apontamentos Optimizao em Apoio Decisode
Ano Lectivo de 2004/2005
Lus Nunes Vicente Departamento de Matemtica da F.C.T.U.C.
O curso de Optimizao em Apoio Deciso, com a durao 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.
Aula 1 Optimizao em Apoio Deciso
Aula 1: Modelos de Diviso e Combinao de RecursosOs modelos de diviso (
3
allocation)
e combinao (
blending)
de recursos formam alguns
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.).
Exemplo de um Modelo de Diviso de Recursos.tem
Suponha que uma empresa
3
tcnicos superiores a trabalhar em
4
projectos, que decorrero nas duas prximas
semanas. Cada tcnico dispe de dado por:
80
horas de trabalho para dividir pelos projectos. O
tempo o recurso a dividir. O nmero de horas necessrio para concluir os projectos
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
1
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
Seja tij , com
i = 1, 2, 3 e j = 1, 2, 3, 4, o tempo que o tcnico i dispender no projecto j .
Neste modelo, pretende-se maximizar a capacidade total
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.
Aula 1 Optimizao em Apoio DecisoO programa linear que modela o problema inclui a no negatividade das variveis e a garantia de que cada tcnico trabalhar as maximizar sujeito a
4
tij
80
horas previstas:
3 4 i=1 j=1 cij tij 3 i=1 tij = dj , 4 j=1 tij = 80,
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,
dj , j = 1, 2, 3, 4, so os elementos coluna j da segunda tabela.
da primeira tabela e
i
Uma soluo para este programa linear a tabelada por:
Projectos Tcnicos 1 2 3 1 70 0 0 2 10 40 0 3 0 5 80 4 0 35 0
A capacidade total correspondente a esta soluo de gastar
18825.
O tcnico
1, por exemplo,
70
horas no projecto
1
e
10
horas no projecto
2,
ignorando os outros dois.
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
3
4
tij = 240,i=1 j=1o 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.
Aula 1 Optimizao em Apoio Deciso
5
Exemplo de um Modelo de Combinao de Recursos.3).tipo:
Imagine um negcio
baseado na comercializao de um equipamento, com trs tipos de funcionalidade (1,
2
e
O custo de comercializao de uma unidade do equipamento, varia consoante o seu
24
para o primeiro;
14
para o segundo;
8
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
e
x3
o nmero de equipamentos dos tipos
1, 2
e
3
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
4x1 + 3x2 + x3 100.A restrio correspondente aos clientes da classe B, em nmero no inferior a seguinte:
65,
a
2x1 + x2 + x3 65.O programa linear que modela este problema de combinao de recursos escreve-se na forma minimizar sujeito a
24x1 + 14x2 + 8x3 4x1 + 3x2 + x3 100, 2x1 + x2 + x3 65, x1 , x2 , x3 0.
A soluo consiste em comercializar do equipamento do tipo de
0
unidades do equipamento do tipo
1, 17.5
unidades
2
e
47.5
unidades do equipamento do tipo
3,
com um custo total
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
ponto bsico admissvel.x1
O
custo reduzido
(ou custo de oportunidade) associado
varivel
o custo unitrio procurado.
A resposta segunda questo requer a formulao do programa linear original. Os valores da soluo dual cliente desejados.
problema dual associado ao (preos-sombra) so os custos por
Aula 2 Optimizao em Apoio Deciso
Aula 2: Conceitos Gerais em Programao Linear Custos ReduzidosUm programa linear escrito na forma padro ( minimizar sujeito a
6
standard) escreve-se na forma
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
4x1 5x2 + 3x3 3x1 2x2 + 7x3 = 7, 8x1 + 6x2 + 6x3 = 5 x1 , x2 , x3 , 0,
encontra-se escrito na forma padro. Em termos matriciais, temos que
x1 x = x2 , x3
4 c = 5 , 3
A =
3 2 7 8 6 6
,
b =
7 5
.
Informaes a reter sobre a forma padro:
Minimiza-se, em vez de se maximizar. As variveis s podem tomar valores no negativos. As componentes do vector
b
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
4x1 3x2 + 6x3 1e passar a
=c x ,
o truque multiplicar essa funo por minimizar
4x1 + 3x2 6x3
= c x ,
Uma restrio de desigualdade, do tipo
2x1 + 7x2 + 3x3 10 equivalente a
2x1 + 7x2 + 3x3 + s1 = 10
e
s1 0.
Aula 2 Optimizao em Apoio DecisoA varivel adicional
7
s1
designada por
varivel de folga.x1 5,pode ser substituda por
Uma varivel com limite inferior diferente de zero,
x1 = x1 5 x1 x1 = 5
e x1 0. Finalmente, uma varivel sem limites (
varivel livre)
substituda por um par de com
variveis com valores no negativos: O conjunto
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.
Um programa linear um problema de optimizao convexo (a funo objectivo uma
funo convexa e a regio admissvel um conjunto convexo).
Por este motivo, no podem
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.
Existem, essencialmente, duas classes de mtodos para resolver programas lineares.
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 pontosinteriores. 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
No primeiro grupo esto o
mtodo simplex
e as suas vrias variantes (e, em particular, o
exponencial em anlise de pior instncia).
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
custos reduzidos e dar uma
resposta primeira das questes levantadas no nal da aula anterior, torna-se necessrio
Aula 2 Optimizao em Apoio Decisoabordar o conceito de
8
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,
no singular (consequncia da denio de ponto escreve-se
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,
o valor objectivo igual a
cB B 1 b.
No entanto, o vector
cN = cN N (B 1 ) cB , que o transposto de
cN cB B 1 N ,
desempenha um papel relevante em diversas apli-
caes. As componentes deste vector so conhecidas por
custos reduzidos.
Um ponto bsico admissvel uma soluo do programa linear quando:
cN 0.
Um ponto bsico admissvel uma soluo nica do programa linear quando:
cN > 0.
Aula 2 Optimizao em Apoio DecisoSe tentarmos aumentar o valor de uma vriavel no bsica aumento ter um custo unitrio
9
i (que tem o valor zero), esse
(N )i c
no valor da funo objectivo. esta a interpretao
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
1
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
ponto, variando a partio em variveis bsicas e no bsicas.
o mesmo
Ilustrar, geometricamente, o conceito de ponto bsico admissvel, no admissvel e degenerado. Ilustrar a anlise de sensibilidade.
Aula 3 Optimizao em Apoio Deciso
Aula 3: Dualidade em Programao Linear PreosSombraAssociado a um programa linear est outro programa linear designado por
10
dual ou, simplesmente, por dual.
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 formapadro. Por um lado, no se exige que
b
tenha componentes no negativas. Por outro, as
igualdades do lugar a desigualdades do tipo
. 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)
e no seu dual, os papis dos
b
e
c
aparecem trocados. Alm disso, a matriz das restries a transposta uma
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
10y1 + 18y2 4y1 + 8y2 6, 3y1 + y2 2, 2y1 + 2y2 1, 2y1 + 4y2 2, y1 , y2 0.
Aula 3 Optimizao em Apoio Deciso
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
e
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:
Restries primais do tipo Restries primais do tipo
=
correspondem a variveis duais no positivas. correspondem a variveis duais livres.
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, x3livre
o programa linear minimizar sujeito a
y1 + 9y2 + 5y3 4y1 + 6y2 + 2y3 6, 3y1 2y2 + 3y3 1, 2y1 + 9y2 + 8y3 = 1, y1livre,
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, ylivre.
Aula 3 Optimizao em Apoio Deciso
12
A teoria da dualidade diz-nos que:
Dado um ponto admissvel admissvel
x
para o primal (escrito na forma padro) e um ponto
y
para o seu dual, ento
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
y
representa a soluo ptima do dual, vem que cada componente As componentes de
j
de
y
cor-
responde ao custo/lucro unitrio que se obteria aumentando/diminuindo o recurso ou requisito
bj .
y
so conhecidas, assim, por preos-sombra. Assim sendo, no caso de ser pos-
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
taridade das variveis de folga.
complemen-
Suponhamos o programa primal escrito na forma padro.
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).
Aula 4 Optimizao em Apoio Deciso
Aula 4: Problemas de Fluxo em RedesOs problemas de com o transporte ou distribuio de bens e mercadorias entre diversos locais. Um outro tipo de problemas de uxo em redes, os de mente como subproblema em operaes complexas. planos de evacuao de segurana atravs de problemas de uxo mximo.
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
quantidade armazenada na origem
i, j.
dj =
def
quantidade procurada no destino
O objectivo transportar toda a mercadoria das origens para os destinos, com um custo mnimo. Para esse efeito, seja
cij =
def
custo de transporte de uma unidade de mercadoria de
i
para
j.
Designem-se por Designando por
I
e
J,
respectivamente, os conjuntos das origens e dos destinos.
xij
o nmero de unidades de mercadoria a enviar de
i para j , o programa
linear que modela o problema em causa formulado na forma: minimizar sujeito a
iI jJ iI
jJ
cij xij i I, j J, j J.
xij = si , xij = dj , i I,
xij 0,
Exemplo de um Problema de Transportes.
Suponhamos que em duas origens
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,
50 e 30, enquanto respectivamente, 20, 10, 30 e 20.
gura seguinte retrata o grafo orientado deste problema de transportes.
Aula 4 Optimizao em Apoio Deciso
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.
Uma soluo para este problema dada por
x11 = 20,
x13 = 30,
x22 = 10,
x24 = 20
(com as restantes variveis a tomar o valor zero).
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:
N
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.
Aula 4 Optimizao em Apoio Deciso
15
i
Nodos de entreposto: por onde toda a mercadoria que entra, sai necessariamente.
Associados aos arcos esto custos de transporte: para o nodo
cij
o custo de transporte do nodo
j,
quando
(i, j) A.
Associado a todo o nodo est uma quantidade de
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
xij uij < +.
Chama-se a
uij
a capacidade do arco
(i, j) A.
A formulao geral de um problema de uxo de custo mnimo dada pelo programa
(i,j)A cij xij (i,k)A
xik
(k,j)A
xkj = bk ,
para todo o
k N,
0 xij uijNos 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
traduzem a conservao de uxo nesses nodos (tudo o que entra sai).
Exemplo de um Problema de Fluxo de Custo Mnimo.problema de uxo de custo mnimo com
Um exemplo de um
2
origens (nodos
1
e
2), 3
destinos (nodos
5, 6
e
7)
e
2
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
e
300
(ou seja, provises
(4, 3)). 500 e
Aula 4 Optimizao em Apoio Deciso
16
300).
A procura nos trs nodos de destino
200, 200
e
300,
respectivamente. Como a
quantidade abastecida supera a quantidade procurada, houve necessidade de incluir um nodo articial de destino (o nodo
8),
ligado s origens com custo zero. A gura seguinte
retrata o grafo orientado correspondente a este problema.
O valor ptimo deste programa linear
10500.
Uma soluo dada por:
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),
por estar associada ao transporte de mercadorias de meios
navais para ferrovirios ou viceversa.
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,
No h nodos de entreposto nos problemas de transportes.
Aula 4 Optimizao em Apoio Deciso
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.kNEsta 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,
para todo o entreposto
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
totalmente unimodular se toda a sua submatriz quadrada tiver determinante igual a
+1, 0
ou
1.
por este motivo que, se as componentes do termo independente forem
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).
Aula 5 Optimizao em Apoio Deciso
Aula 5: Introduo Programao Linear Multi-Objectivo frequente encontrar, em problemas de ndole prtica, mais do que uma funo objectivo a optimizar, para a mesma regio admissvel. Esta ocorrncia altera o conceito clssico de soluo ou soluo ptima, que deixa de fazer sentido. Entre os problemas mais simples de optimizao multi-objectivo, mas com um campo de aplicaes muito vasto, encontra-se a programao linear multi-objectivo. A programao linear multi-objectivo motivada, neste curso, atravs do problema de gesto de
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.
optimizar simultaneamente (e, como se ver, conituosamente).
Exemplo de um Problema de Gesto de Cash-Flows.Estima-se, para estes dois projectos, que a evoluo de de euros) seja a seguinte:
Uma empresa tem dois
projectos em carteira (projecto A e projecto B), com um tempo de vida de trs anos.
cash-ows (em dezenas de milhares
Anos Projectos A B 2005 -0.5 -1.0 2006 0.4 1.25 2007 0.6 1.75
O projecto A, por exemplo, necessitar de um investimento de retorno de
0.5
em 2005, dando um
0.4
em 2006 e de
0.6
em 2007 (em dezenas de milhares de euros).
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 admissvelprojectos 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.)
Teramos, neste cenrio, o seguinte
Aula 5 Optimizao em Apoio Decisoprograma linear a resolver: maximizar sujeito a
19
x1 + 3x2 0.5x1 + x2 1, 0 x1 1, 0 x2 0.75.
A soluo deste programa linear dada por
x1 = 0.5
e
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)
e
(1, 0.5).
Resolver, geometricamente, no quadro ou com o
software, os dois programas lineares.
Se tomarmos ambas as funes objectivo, obtemos o programa linear multi-objectivo (neste caso bi-objectivo): maximizar maximizar sujeito a
x1 + 3x2 x1 0.5x1 + x2 1, 0 x1 1, 0 x2 0.75.
pontos ecientes deste programa linear bi-objectivo so os pontos de S que no so dominados por nenhum outro, ou seja, so todos os pontosSeja
S
a sua regio admissvel. Os
(x1 , x2 )
em
S
para os quais no existe
(y1 , y2 ) Se
tal que
y1 + 3y2 > x1 + 3x2
y1 > x 1 .
Os pontos ecientes deste programa linear bi-objectivo so os pertencentes ao conjunto
F = {(x1 , x2 ) R2 : 0.5x1 + x2 = 1, 0.5 x1 1} {(x1 , x2 ) R2 : x1 = 1, 0 x2 0.5} .
Aula 5 Optimizao em Apoio DecisoDado um ponto em Os
20
F,
no existe nenhum outro ponto em
S
melhor do que ele em ambos
os objectivos simultaneamente.
pontos estritamente ecientesem
deste programa linear bi-objectivo so os pontos
(x1 , x2 )
S
para os quais no existe e
(y1 , y2 ) S (com
tal que
y1 + 3y2 x1 + 3x2
y1 x1
pelo menos uma desigualdade
>).
Os pontos estritamente ecientes deste programa linear bi-objectivo so os que esto em
Fe =
(x1 , x2 ) R2 : 0.5x1 + x2 = 1, 0.5 x1 1 .
software, as fronteiras de ecincia e de ecinciaestrita.
Ilustrar, geometricamente, no quadro ou com o
De uma forma geral, um programa linear multi-objectivo (com escrito na forma maximizar . . . maximizar sujeito a em que
q
objectivos) pode ser
(c1 ) x. . .
(cq ) x x S,
a denio dos conjuntos Os
S designa a regio admissvel. A ordenao das funes objectivo irrelevante para F e Fe . Se o problema inclusse minimizaes, estas poderiam
ser passadas a maximizaes. no so
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 quaisyStal que
no existe
(ci ) y > (ci ) x,Ao conjunto Os
i = 1, . . . , q.
pontos estritamente ecientes de um programa linear multi-objectivo so os pontospara os quais no existe
F
contendo todos os pontos ecientes d-se o nome de
fronteira de ecincia.
x
em
S
yS
tal que
(ci ) y (ci ) x,O conjunto estrita.
i = 1, . . . , q
(com
pelo menos uma desigualdade
>).
Fe
dos pontos estritamente ecientes designado por fronteira de ecincia
Trs propriedades bsicas da programao linear multi-objectivo so as seguintes:
Aula 5 Optimizao em Apoio Deciso
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 . Fepode ser obtido aplicando o
Um ponto em objectivo.
mtodo lexicogrco,
em que se ma-
ximizam as funes objectivo sucessivamente.
Primeiro maximiza-se a primeira funo
Suponhamos que o conjunto das solues ptimas obtido no era singular.
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 ,
atravs da ponderao das
Para o efeito, considere o programa linear (dependente dos pesos maximizar sujeito a
1 , . . . , q )
q i=1
i (ci ) x
x S,
que designaremos por Para descrever
P L().tomam-se todos os pesos em
F,
q
=
R :i=1
q
i = 1,
i 0, i = 1, . . . , q
.
De facto, a fronteira de ecincia pode ser caracterizada por
F = {x Rn : x Fe = {x Rn : x em que
soluo de
P L() para } .
A fronteira de ecincia estrita pode ser descrita por soluo de
P L() para e } ,
q
e =
R :i=1
q
i = 1,
i > 0, i = 1, . . . , q i ,
.
Assim sendo, atribuindo valores apropriados aos pesos exemplo anterior, se escolhessemos
determinam-se pontos na Por exemplo, no caso do
fronteira de ecincia ou na fronteira de ecincia estrita.
1 = 0.25obter-se-ia o programa linear maximizar sujeito a
e
2 = 0.75,
P L(0.25, 0.75) 0.25(x1 + 3x2 ) + 0.75x1 = x1 + 0.75x2 0.5x1 + x2 1, 0 x1 1, 0 x2 0.75.
Aula 5 Optimizao em Apoio DecisoA soluo deste programa linear o ponto Se a escolha fosse
22
(1, 0.5).e
1 = 0.75obter-se-ia o programa linear maximizar sujeito a
2 = 0.25,
P L(0.75, 0.25) 0.75(x1 + 3x2 ) + 0.25x1 = x1 + 2.25x2 0.5x1 + x2 1, 0 x1 1, 0 x2 0.75.
A soluo deste programa linear o ponto Com a escolha
(0.5, 0.75).obter-se-ia o resto da fronteira de ecincia
1 = 2/3
e
2 = 1/3,e
estrita, ou seja, o segmento de recta que os pontos Somente a escolha
(1, 0.5)
e
(0.5, 0.75).
1 = 0
2 = 1
permitiria determinar a parte da fronteira de
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
goal programming), em que a optimizao dos objectivos substituda pela tentativa demaximizar maximizar sujeito a
satisfazer determinadas metas escolhidas para os mesmos. No caso de um programa linear bi-objectivo,
(c1 ) x (c2 ) x x S,
as metas (m1 e sem
m2 ) seriam satisfeitas se consegussemos encontrar pontos x que vericas(c1 ) x m1 , (c2 ) x m2 , 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.
Aula 5 Optimizao em Apoio DecisoAs variveis
23
d1
e
d2
so conhecidas por
variveis de inecincia.
A sua funo permitir
uma violao das metas. O problema linear acima descrito tem por objectivo tornar esta violao o mais pequena possvel.
Aula 6 Optimizao em Apoio Deciso
Aula 6: Anlise de Ecincia de Organizaes (Metodologia DEA)A metodologia
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
com a soma ponderada dos
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
inputs e outputs podem ser quaisquer. Uma inputs e de outputs dados emPretende-
Exemplo de um Modelo de Anlise de Ecincia de Unidades.hospitais. os
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
de cada unidade, so disponibilizados o nmero de
cirurgias, a percentagem de ocupao de camas e o nmero de consultas externas, num dado perodo de tempo. Os dados so os seguintes:
Unidade 1 Unidade 2 Unidade 3 Unidade 4 Unidade 5
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
As trs primeiras colunas de dados referem-se aos
outputs e as duas ltimas aos inputs.
Uma medida de ecincia da unidade 1 denida atravs do quociente entre uma soma ponderada do seu
output e uma soma ponderada do seu input, ou seja, atravs deu1 40 + u2 100 + u3 100 , v1 6 + v2 5
para uma determinada escolha dos pesos ou factores de ponderao aos
outputs)
e
v1
e
v2
(relativos aos
inputs).
u 1 , u2
e
u3
(relativos
A atribuio de valores aos factores de
ponderao pode colidir com a diculdade prtica em valorizar subjectivamente os vrios desempenhos.
Aula 6 Optimizao em Apoio Deciso
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
e
outputs.
[0, 1]
para poder ser facilmente interpretada em
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
(trata-se de um problema de progra-
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
u1 40 + u2 100 + u3 100 v1 6 + v2 5 = 1, u1 40 + u2 100 + u3 100 1, u1 30 + u2 85 + u3 110 v1 7 v2 10 0, u1 25 + u2 80 + u3 70 v1 4 v2 8 0, u1 32 + u2 95 + u3 20 v1 5 v2 5 0, u1 28 + u2 50 + u3 60 v1 6 v2 5 0, u1 , u2 , u3 , v1 , v2 ,
em que ptimo
um nmero pequeno (por exemplo,
= 108 ).
Este programa linear tem valor
1.
Uma soluo corresponde aos valores das varaveis dados por:
u 10.0190 O facto do valor ptimo ser restantes.
u 20.0024
u 3
v10.1667
v2
1
signica que a unidade
1
eciente relativamente s
Os valores das variveis de folga das restries de desigualdade (correspon-
dentes s cinco unidades) foram os seguintes:
s 10
s 20.3918
s 30
s 40
s 50.3477
Aula 6 Optimizao em Apoio Deciso
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
u1 30 + u2 85 + u3 110 v1 7 + v2 10 = 1, u1 40 + u2 100 + u3 100 v1 6 v2 5 0, u1 30 + u2 85 + u3 110 1, u1 25 + u2 80 + u3 70 v1 4 v2 8 0, u1 32 + u2 95 + u3 20 v1 5 v2 5 0, u1 28 + u2 50 + u3 60 v1 6 v2 5 0, u1 , u2 , u3 , v1 , v2 ,
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
restries de desigualdade so dados por:
s 10
s 20.0806
s 30
s 40.5343
s 50.3343
As unidades 1 e 3 constituem, assim, referncia para a unidade 2. A soluo obtida foi a seguinte:
u 1
u 2
u 30.0084
v10.1343
v20.0060
O facto de
u = u = 1 2
signica que a unidade 2 no atingiu o melhor desempenho possvel
nos dois primeiros indicadores de
input,
para os mesmos indicadores de Em alternativa, como
output. Seria possvel com 91.94% dos recursos de output, tornar esta unidade eciente relativamente1.0877,seria possvel fazer com que esta
s outras.
1/0.9194
unidade casse eciente relativamente s outras se se conseguisse melhorar em indicadores de
output para os mesmos nveis de input.
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.
Aula 6 Optimizao em Apoio DecisoUnidades 1 2 3 4 5 Ecincia Referncias 3,4 (alternativas) 1,3 1,4 (alternativas) 1,3 (alternativas) 1
27
100% 91.94% 100% 100% 70%
A exibilidade desta metodologia pode tornar relativamente eciente (= grau de articialidade. vamente ineciente ( 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
de funcionamento de uma mquina. Seja
contrrio da original que era linear). O novo problema deixa de ser um programa linear.
M
um nmero real positivo
sucientemente grande.ci xi + fi yi
xi
pode ser substitudo, equivalentemente, por
e
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 ,
M
poderia ser substitudo por
xi 0 j tivesse um limite superior (xi ui ) ui .
No exemplo da Aula 1, minimizar sujeito a
24x1 + 14x2 + 8x3 4x1 + 3x2 + x3 100, 2x1 + x2 + x3 65, x1 , x2 , x3 0,
Aula 9 Optimizao em Apoio Decisosuponhamos que o custo de comercializar o equipamento do tipo
39
3
passaria a ser
100 + 14x2 0
se se
x2 > 0, x2 = 0,
inteiro misto
com um custo xo
f2 = 100.
Neste caso, o programa linear daria lugar ao
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
Os limites inferior e superior de capacidade do tipo
(estudados nos problemas de uxo em redes) podem, em determinados casos
concretos, dar lugar a uma imposio da forma {xk fcil vericar que a condio {xk
=0
ou
= 0 ou xk = uk }. xk = uk } equivalente
a
x k = uk y k ,A incluso da restrio de igualdade
yk {0, 1}.
xk uk y k = 0
permitem, desta forma, contornar a natureza
disjuntiva da imposio.
e a introduo da varivel binria
yk
Restries Disjuntivas.
No enquadramento da programao linear, um problema
pode apresentar duas restries impostas disjuntivamente
a1 x b 1Se a primeira restrio for satisfeita em
ou
a2 x b 2 .
x ento a segunda no precisa de o ser, e viceversa. a2 x b 2 ,
Note-se que restries impostas disjuntivamente,
Sd =
x R n : a1 x b 1
ou
Aula 9 Optimizao em Apoio Deciso
40
relaxam a imposio conjuntiva das mesmas,Sc =no sentido em que Seja
x R n : a1 x b 1 , a 2 x b 2 ,
S c Sd .
M
um nmero real positivo sucientemente grande. A obrigatoriedade da satis-
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
e
y1 , y2 {0, 1}. mrestries,
Este tipo de transformao aplicvel ao caso mais geral em que, de entre
k
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
set covering) especicam que a soluo tem de conter peloJ {1, . . . , nb } xj 1.jJ
{0, 1}, j = 1, . . . , nb ).
As restries de empacotamento (
set packing) no permitem que a soluo tenha maisJ xj 1.jJ
do que um elemento de um subconjunto
(Rera-se que a condio de exclusividade no modelo de oramento de investimentos era deste tipo.) elemento de um subconjunto As restries de partio (
set partitioning) requerem que a soluo tenha um e um sxj = 1.jJ
J
Exemplo de Problemas de Cobertura, Partio e Empacotamento.cinco aparelhos com funcionalidades diferentes. Aparelhos
Uma
empresa de informao geogrca pretende adquirir equipamento e tem sua considerao
Deteco Remota Fotogrametria SIGPreo (em K euros)
Funcionalidades
1
2
3
4
5
4 5
11
9
15
Aula 9 Optimizao em Apoio Deciso
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
4x1 + 5x2 + 11x3 + 9x4 + 15x5 x1 + x3 + x5 1, x3 + x4 + x5 1, x1 + x2 + x3 + x4 + x5 1, xi {0, 1}, i = 1, . . . , 5.
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
4x1 + 5x2 + 11x3 + 9x4 + 15x5 x1 + x3 + x5 = 1, x3 + x4 + x5 = 1, x1 + x2 + x3 + x4 + x5 = 1, xi {0, 1}, i = 1, . . . , 5.
(O valor ptimo deste programa linear inteiro no pode ser inferior ao do anterior, pois ao passar uma igualdade a desigualdade estamos a
relaxar a regio admissvel.)
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
4x1 + 5x2 + 11x3 + 9x4 + 15x5 x1 + x3 + x5 1, x3 + x4 + x5 1, x1 + x2 + x3 + x4 + x5 1, xi {0, 1}, i = 1, . . . , 5.
Exemplo de um Problema de Cobertura em Planeamento de Localizaes.A administrao central pretente equipar os distritos das regies norte e centro com unidades geradoras de energia elica, considerando a colocao de 12 geradores. Cada gerador pode servir mais do que um distrito, de acordo com a gura. O nmero mnimo
Aula 9 Optimizao em Apoio Decisode geradores necessrios o valor ptimo do problema de cobertura: minimizar sujeito a
42
12 i=1
xiViana do Castelo, Braga, Porto, Vila Real, Bragana, Aveiro, Viseu, Guarda, Coimbra, Leiria, Castelo Branco,
x1 1, x1 + x2 1, x2 + x3 + x6 1, x2 + x3 + x4 + x5 1, x4 + x5 1, x6 + x8 1, x3 + x5 + x6 + x7 + x8 1, x5 + x7 + x9 + x12 1, x8 + x9 + x10 1, x10 + x11 1, x9 + x11 + x12 1, xi {0, 1}, i = 1, . . . , 12.
A soluo deste programa inteiro binrio dada por:
x1 = x4 = x6 = x10 = x12 = 1 5.
e
x2 = x3 = x5 = x7 = x8 = x9 = x11 = 0.
Os geradores 1, 4, 6, 10 e 12 seriam os escolhidos. O valor ptimo do problema igual a
Aula 9 Optimizao em Apoio Deciso
43
Aula 10 Optimizao em Apoio Deciso
Aula 10: Problemas de Afectaoimportantes desta classe, o
44
Quando estudmos os problemas de uxos em redes, omitimos um dos problemas mais
problema da afectao.
Exemplo de um Problema de Afectao (1).
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
Este problema modelado atravs do programa inteiro binrio: minimizar
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.
Aula 10 Optimizao em Apoio Deciso
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
i
feita pelo trabalhador
j,
caso contrrio, correspondente a uma atribuio admissvel.
(i, j)
A soluo encontrada tem o valor objectivo
45
e consiste em tomar:
x12 = x24 = x33 = x45 = x51 = 1,
com as restantes iguais a zero.
De uma forma geral, o problema da afectao pode ser escrito como minimizar sujeito a
(i,j) admissvel cij xij j:(i,j) admissvel i:(i,j) admissvel
xij = 1, xij = 1,
i I, j J,
xij {0, 1}em que os ndices
para
(i, j) admissvel, Ie
i
e
j
pertencem a dois conjuntos nitos
J
com o mesmo cardinal.
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,
xij {0, 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...).
Aula 10 Optimizao em Apoio Deciso
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).
Exemplo de um Problema de Afectao (2).passaria a ter mais trs colunas:
Regressemos ao exemplo anterior e
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
Este problema modelado atravs do programa inteiro binrio: minimizar
funo objectivo original + 20x16 + 13x18 + 10x27 + 9x28+ 8x36 + 12x37 + 10x38 + 9x46 + 5x48 + 16x56 + 10x57 + 12x58 x11 + x12 + x15 + (x16 + x18 ) = 1, x21 + x22 + x23 + x24 + x25 + (x27 + x28 ) = 1, x31 + x33 + x34 + x35 + (x36 + x37 + x38 ) = 1, x42 + x44 + x45 + (x46 + x48 ) = 1, x51 + x54 + (x56 + x57 + x58 ) = 1,
sujeito a
(restries originais relativas aos primeiros 5 trabalhadores),x16 + x36 + x46 + x56 = 1, x27 + x37 + x57 = 1, x18 + x28 + x38 + x48 + x58 = 1, xij {0, 1}para
(i, j) admissvel.
Aula 10 Optimizao em Apoio Deciso
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
funo objectivo anterior (restries anteriores relativas s 5 tarefas),x61 + x62 + x63 + x64 + x65 + x66 + x67 + x68 = 1 (tarefa articial), x71 + x72 + x73 + x74 + x75 + x76 + x77 + x78 = 1 (tarefa articial), x81 + x82 + x83 + x84 + x85 + x86 + x87 + x88 = 1 (tarefa articial), x11 + x21 + x31 + x51 + (x61 + x71 + x81 ) = 1, x12 + x22 + x42 + (x62 + x72 + x82 ) = 1, x23 + x33 + (x63 + x73 + x83 ) = 1, x24 + x34 + x44 + x54 + (x64 + x74 + x84 ) = 1, x15 + x25 + x35 + x45 + x55 + (x65 + x75 + x85 ) = 1, x16 + x36 + x46 + x56 + (x66 + x76 + x86 ) = 1, x27 + x37 + x57 + (x67 + x77 + x87 ) = 1, x18 + x28 + x38 + x48 + x58 + (x68 + x78 + x88 ) = 1, xij {0, 1}para
(i, j) admissvel. 36e consiste em fazer: com as restantes iguais a zero.
A soluo encontrada tem o valor objectivo
x12 = x25 = x36 = x48 = x51 = 1,
Terminamos este resumo com os chamados
problemas de afectao generalizados, que
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
Aula 10 Optimizao em Apoio DecisoTrabalhadores Tarefa 2 Tarefa 5 1 10 20 2 20 3 15 4 12 10 5 9 6 5 7 20 13 8 18 15
48
O novo programa inteiro binrio passa a ser o seguinte: minimizar sujeito a
funo objectivo anterior (restries originais relativas aos primeiros 5 trabalhadores),x16 + x36 + x46 + x56 = 1, x27 + x37 + x57 = 1, x18 + x28 + x38 + x48 + x58 = 1, 10x21 + 20x22 + 15x23 + 12x24 + 9x25 + 20x27 + 18x28 12, 20x51 + 10x54 + 5x56 + 13x57 + 15x58 12, xij {0, 1}para
(i, j) admissvel.
A soluo encontrada tem o valor objectivo 66 e consiste em tomar:
x21 = x42 = x33 = x34 = x45 = x36 = x37 = x48 = 1,
com as restantes iguais a zero.
Relaxando as duas restries de capacidade, o valor ptimo desce para 64, correspondendo a
x21 = x42 = x33 = x24 = x45 = x36 = x27 = x48 = 1,
com as restantes iguais a zero.
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.
Aula 11 Optimizao em Apoio Deciso
Aula 11: Modelos de Localizao de Equipamentos e de Projecto de RedesA programao linear inteira (ou inteira mista) permite modelar inmeras situaes relacionadas com a gesto de equipamentos ou instalaes e a gesto de redes de comunicao ou distribuio. Os instrumentos de modelao em programao linear inteira vo ser aplicados, nesta aula, a dois tipos de problemas com vasta aplicao (a localizao de equipamentos e o projecto de redes de distribuio). Existem situaes mais complexas, onde se pretende, simultaneamente, tros de distribuio e a estas situaes.
49
projectar
localizar
cen-
as respectivas redes de distribuio.
Os dois modelos
apresentados poderiam ser adaptados e combinados num modelo nico para dar resposta
Exemplo de um Modelo de Localizao de Equipamentos.medicamentos.
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
i
for
fi
e, nesse caso, pode enviar at
ui
xij ,
contnuas
e no negativas, para descrever a quantidade a enviar da central
i
para o concelho
j
e
yi
para indicar se uma central
i
est aberta ou fechada. O programa
linear inteiro misto que modela este problema pode ser escrito na forma: minimizar sujeito a
6 18 i=1 j=1 cij xij + 6 j i=1 xij = dj , 18 j=1 xij ui yi ,
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
seriam restringidas aos valores
dj = 1, j = 1, . . . , 18. 0 e 1.
Neste
A seguir, vamos apresentar um modelo simplicado de um projecto de redes (traduo do ingls
network design).
Aula 11 Optimizao em Apoio Deciso
50
Exemplo de um Modelo de Projecto de Redes.
Uma empresa de telecomu-
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.
As ligaes entre as cidades podem no ser estabelecidas. cidades
Uma ligao entre as
i
e
j
acarreta um custo xo (fij ).
Por cada unidade de dados que for trans-
mitida de
i
para
j,
incorre-se num um custo unitrio de
cij .
As ligaes tm uma largura
de banda mxima (uij ). Os dados deste problema so descritos na tabela:
Ligao Custos Variveis (cij ) Custos Fixos (fij ) Capacidades (uij )
(1,2) 20 800 150
(1,4) 20 800 200
(1,6) 50 1000 150
(2,3) 20 800 150
(4,2) 10 500 200
(4,3) 10 500 200
(4,5) 10 500 200
(5,6) 20 800 200
(6,4) 20 800 150
Para formular o problema, associam-se duas variveis a cada ligao ou arco. primeira varivel (xij a segunda varivel estabelecida.
A
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
Aula 11 Optimizao em Apoio Deciso
51
Se a empresa desejar a soluo de custo mnimo dever formular o programa linear inteiro misto: minimizar sujeito a
(i,j) admissvel
[cij xij + fij yij ]
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:
(i, j) yij xij
(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.
Se o custo xo associado ligao
(1, 6) descesse de 1000 para
800
passaria a existir uma soluo alternativa (com o mesmo valor ptimo), dada por:
(i, j) yij xij
(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
Aula 12 Optimizao em Apoio Deciso
Aula 12: Optimizao de Rotas de Veculosresduos slidos urbanos, reduzindo os custos de combustvel, laborais ou outros.
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
Traveling Salesman Problem (TSP), ou suas variaes. dado um conjunto de
problema do caixeiro viajante,
n
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
ie
j igual distncia j = 1, . . . , n (i = j ).ao nodo
entre o nodo
j
e o nodo
i (dij = dji ),
para
i = 1, . . . , n
Dada a simetria das distncias entre nodos, as variveis do problema,
xij =
1 0
quando um percurso inclui a ligao entre caso contrrio,
i
e
j,
so denidas apenas para os ndices formulao: minimizar sujeito a
i
e
j
tais que
i < j.
O TSP simtrico apresenta a
n n i=1 j=1,j>i n j=1,ji
xij = 2,
i = 1, . . . , n,
restries impeditivas de subpercursos,
xij {0, 1},As primeiras
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
n
restries, no formem um nico percurso envolvendo
todos os n nodos.
O
nmero destas restries varia factorialmente com
n. n=6o TSP simtrico, formula-se na
Exemplo de um TSP simtrico.forma: minimizar
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
Aula 12 Optimizao em Apoio Deciso
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 = 1e
subconjuntos de
x45 = x46 = x45 = 1
(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
(x14 + x24 + x34 ) + (x15 + x25 + x35 ) + (x16 + x26 + x36 ) 2.Basicamente, esta restrio obriga a que o que entra e sai de a
{1, 2, 3} no possa ser inferior
2.
Este problema apresentaria
1 2restries 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.
Exemplo de um Modelo de Optimizao de Rotas de Veculos.problema so os seguintes:
Os dados do
Aula 12 Optimizao em Apoio Deciso
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,
veculos de recolha (1, . . . , m) com capacidades dadas por
tempos mximos de recolha dados por
Tk , k = 1, . . . , m; i = 0, . . . , n, j = 0, . . . , n). ie o nodo
as distncias ou custos entre todos os nodos (cij ,
O custo
cij
pode ser, por exemplo, a distncia mais curta entre o nodo
Este custo , geralmente, simtrico, no sentido em que
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 0e
se o veculo
k
recolheu no ponto
i,
caso contrrio,
i = 0, . . . , n, k = 1, . . . , m, xk = ij 1 0
se o veculo
k
faz a ligao
i j ,
recolhendo em ambos,
caso contrrio, dos custos, apenas introduzire-
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 ,
fcil formular as restries de capacidade
n k ri yi Uk , i=1e 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
e que todos os veculos partam do ponto de partida e cheguem a este mesmo
m k y0 = m. k=1
Aula 12 Optimizao em Apoio Deciso
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
0
e chegando ao nodo
0,
para visitar todos os pontos em que recolhe.
Deste modo, surgem as restries associadas a um TSP para cada veculo
k , k = 1, . . . , m,
n
n
xk jij=0,ji
k xk = 2yi , ij
i = 0, . . . , n.no recolhe em i, a restrio
k yi = 0, ou seja, que quando o veculo k
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
n
n
m
ciji=0 j=0,j>i k=1
xk ij
.
Reunindo todas as restries, formulamos o problema da seguinte forma: minimizar sujeito a
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, k = 1, . . . , m.
xk {0, 1}, ij
Bibliograa1. 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
3. F. S. Hillier e G. J. Lieberman, McGraw-Hill, Boston, 2001. 4. S. G. Nash e A. Sofer, Iorque, 1996.
Linear and Nonlinear Programming,
5. M. Ramalhete, J. Guerreiro e A. Magalhes, Hill, Lisboa, 1984. J. Guerreiro, A.
near, Vol.
Programao Linear, Vol. I, McGrawMagalhes e M. Ramalhete, Programao LiPrentice Hall, Upper Saddle
II, McGraw-Hill, Lisboa, 1985.
6. R. L. Rardin, River, 1998.
Optimization in Operations Research,
7. H. P. Williams,
Model Building in Mathematical Programming, terceira edio, John
Wiley & Sons, Nova Iorque, 1990.
SoftwareDurante este curso recorreu-se, frequentemente, ao programa
57
WinQSB: Software and Manual, Version 2.0,
2001, 2002, (de Y.-Long Chang e K.
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
software para as mais diversas classes de problemas de optimizao
pode ser encontrada nos guias:
Decision Tree for Optimization Software:
http : //plato.la.asu.edu/guide.html, NEOS Guide:
http : //www fp.mcs.anl.gov/otc/Guide.