You are on page 1of 57

Apontamentos Optimizao em Apoio Deciso

de

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 Recursos


Os modelos de diviso (

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

tcnicos superiores a trabalhar em

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

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 Deciso


O programa linear que modela o problema inclui a no negatividade das variveis e a garantia de que cada tcnico trabalhar as maximizar sujeito a

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

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

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

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.

Aula 1  Optimizao em Apoio Deciso

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,

O custo de comercializao de uma unidade do equipamento, varia consoante o seu

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

o nmero de equipamentos dos tipos

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

4x1 + 3x2 + x3 100.


A restrio correspondente aos clientes da classe B, em nmero no inferior a seguinte:

65,

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

unidades do equipamento do tipo

1, 17.5

unidades

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

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 Reduzidos


Um programa linear escrito na forma padro ( minimizar sujeito a

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

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 1


e 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

s1 0.

Aula 2  Optimizao em Apoio Deciso


A varivel adicional

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 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

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 Deciso


abordar o conceito de

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 Deciso


Se tentarmos aumentar o valor de uma vriavel no bsica aumento ter um custo unitrio

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

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  PreosSombra


Associado 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 forma
padro. Por um lado, no se exige que

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

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

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, x3
livre

o programa linear minimizar sujeito a

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.

Aula 3  Optimizao em Apoio Deciso

12

A teoria da dualidade diz-nos que:

Dado um ponto admissvel admissvel

para o primal (escrito na forma padro) e um ponto

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

representa a soluo ptima do dual, vem que cada componente As componentes de

de

cor-

responde ao custo/lucro unitrio que se obteria aumentando/diminuindo o recurso ou requisito

bj .

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 Redes


Os 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

para

j.

Designem-se por Designando por

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:

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

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 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

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

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

(ou seja, provises

(4, 3)). 500 e

Aula 4  Optimizao em Apoio Deciso

16

300).

A procura nos trs nodos de destino

200, 200

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.
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,

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 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.)

Teramos, neste cenrio, o seguinte

Aula 5  Optimizao em Apoio Deciso


programa 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

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).

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 pontos
Seja

a sua regio admissvel. Os

(x1 , x2 )

em

para os quais no existe

(y1 , y2 ) S
e

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 Deciso


Dado um ponto em Os

20

F,

no existe nenhum outro ponto em

melhor do que ele em ambos

os objectivos simultaneamente.

pontos estritamente ecientes


em

deste programa linear bi-objectivo so os pontos

(x1 , x2 )

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 ecincia


estrita.

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

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 quais
yS
tal que

no existe

(ci ) y > (ci ) x,


Ao conjunto Os

i = 1, . . . , q.

pontos estritamente ecientes de um programa linear multi-objectivo so os pontos


para os quais no existe

contendo todos os pontos ecientes d-se o nome de

fronteira de ecincia.

em

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 . Fe
pode 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,

R :
i=1

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 } ,

e =

R :
i=1

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.25
obter-se-ia o programa linear maximizar sujeito a

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 Deciso


A soluo deste programa linear o ponto Se a escolha fosse

22

(1, 0.5).
e

1 = 0.75
obter-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

2 = 1/3,
e

estrita, ou seja, o segmento de recta que os pontos Somente a escolha

(1, 0.5)

(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 de


maximizar 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 Deciso


As variveis

23

d1

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 em


Pretende-

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 de


u1 40 + u2 100 + u3 100 , v1 6 + v2 5

para uma determinada escolha dos pesos ou factores de ponderao aos

outputs)

v1

v2

(relativos aos

inputs).

u 1 , u2

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

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 1
0.0190 O facto do valor ptimo ser restantes.

u 2
0.0024

u 3

v1
0.1667

v2

signica que a unidade

eciente relativamente s

Os valores das variveis de folga das restries de desigualdade (correspon-

dentes s cinco unidades) foram os seguintes:

s 1
0

s 2
0.3918

s 3
0

s 4
0

s 5
0.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 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

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 relativamente
1.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 Deciso


Unidades 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 (<

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%),

existe a garantia de que nem a escolha dos factores de

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

p indicadores unidade j . Seja yrj o


relativamente

da unidade

O programa linear que determina a ecincia da unidade s demais formulado na forma: maximizar sujeito a

{1, . . . , n}

q r=1 yr ur p s=1 xs vs q r=1 yrj ur

= 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

n programas lineares com q

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:

Aula 6  Optimizao em Apoio Deciso


Unidade 1 Unidade 2 Unidade 3 Unidade 4 Unidade 5 2 2 4 1 0.5 4 2 1 2 2 1 1 1 1 1

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.

Os seus valores de ecincia relativa

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.

Aula 7  Optimizao em Apoio Deciso

Aula 7: Modelos de Gesto de Projectos


de projectos envolve um conjunto de

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.

Exemplo de um Modelo de Gesto de Projectos1 .

Suponhamos que uma em-

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

Precedncias   1 1 2 2 4,5 4,5,6 3,7 3,7,8

Os tempos so dados em semanas e os custos em milhares de euros. cedncias ilustrado de seguida.

O grafo das pre-

1 Gentilmente

cedido pelo Doutor Pedro Coimbra Martins.

Aula 7  Optimizao em Apoio Deciso

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

a varivel que indica

i.

Como as actividades 1 e 2 no dependem de nenhuma

outra, podem arrancar imediatamente, ou seja, tem-se que minimizar dada por

d1 = d2 = 0.

Dadas as caractersticas dos custos especicadas anteriormente, a funo objectivo a

10

cmin i
i=1
Fazendo as contas, obtm-se

cmin cmax i i (t tmin ) . i max min i ti ti

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

Aula 7  Optimizao em Apoio Deciso


o seguinte: minimizar

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

podem ser facilmente eliminadas deste problema.

A soluo encontrada foi: Actividades Incios Duraes 1 0 6 2 0 8 3 10 24 4 6 14 5 8 12 6 10 10 7 20 14 8 20 16 9 34 12 10 36 10

O valor ptimo do programa linear

968750 (custo mnimo da obra em milhares de euros).

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

Aula 7  Optimizao em Apoio Deciso

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

250 1000 250

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

semanas (resp. para

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,

o custo em retardar a actividade 9 em

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 (

Critical Path Method).

Optmos por uma abordagem, partida

Aula 7  Optimizao em Apoio Deciso

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.

O modelo apresentado nesta aula pode ser

visto como uma generalizao de uma formulao dual associada ao grafo orientado das

Aula 8  Optimizao em Apoio Deciso

Aula 8: Modelos de Oramento de Investimentos  Introduo Programao Linear Inteira


Exemplo de um Modelo de Oramento de Investimentos.
investir Uma rma pretende

34

10

milhes de euros em imobilirio e est a ponderar a possibilidade de comprar De acordo com um estudo de mercado, o

seis imveis, cujos preos foram negociados.

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

O modelo pode ser descrito recorrendo a seis variveis.

Cada varivel

xj

(com

{1, 2, 3, 4, 5, 6})

pode tomar apenas dois valores:

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

programao (linear) inteira binria, conhecido por problema


0 ou 1  binrios neste x2 = x6 = 1 6
(com as

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

(com as restantes variveis nulas), com impe o

13.4

(milhes de euros).

Neste modelo, a restrio uma restrio oramental.

4.0x1 + 3.8x2 + 6.0x3 + 7.2x4 + 2.0x5 + 5.1x6 10

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

2, 4 e 6 esto na posse do mesmo vendedor e que este pretende comercializar x2 + x4 + x6 1.

apenas um dos seus trs bens. Esta situao modelada pela restrio

Aula 8  Optimizao em Apoio Deciso


O problema passaria a ser maximizar sujeito a

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

(com as restantes variveis nulas), a

13.7

milhes de euros.

Um programa (linear) inteiro um problema de optimizao da forma maximizar sujeito a

c x Ax b, x 0, xi Z, i = 1, . . . , n,
a matriz das restries e

em que

x Rn

o vector das incgnitas,

A Rmn

o termo independente das restries. os requisitos de integralidade:

relaxao linear deste programa linear inteiro o programa linear que se obtm relaxando
maximizar sujeito a

(No exemplo anterior,

n = 6

b Rm m = 1.) A

c x Ax b, x 0.

A soluo da relaxao linear no tem, necessariamente, componentes inteiras.

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

branch and bound, que exploram, se necessrio exaustivamente,

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

polinomial, ao contrrio da dos problemas em programao linear.

Aula 8  Optimizao em Apoio Deciso


Quando as componentes de

36

apenas puderem tomar os valores

ou

estamos na

presena de um programa (linear) inteiro binrio: maximizar sujeito a

c x Ax b, xi {0, 1}, i = 1, . . . , n.

As restries de no negatividade (x

0) c x

so, obviamente, desnecessrias. A relaxao

linear deste programa inteiro binrio o programa linear maximizar sujeito a

Ax b, xi [0, 1], i = 1, . . . , n.

Fazer exemplos com duas variveis no quadro e com o

software.

Explicar o alcane e a limitao das relaxaes lineares.

Exemplo de um Modelo de Oramento de Projectos.

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).

milhares de euros no segundo ano. Os restantes dados do m2 , e custos de

projectos rea ganha custo no ano 1 custo no ano 2

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,

Aula 8  Optimizao em Apoio Deciso


para

37

j = 1, 2, 3, 4, 5,

ento a estratgia que maximiza o ganho, em rea, da interveno

a soluo do problema maximizar sujeito a

620x1 + 280x2 + 100x3 + 550x4 + 430x5 40x1 + 18x2 + 2x3 + 36x4 + 25x5 70, 40x1 + 18x2 + 15x3 + 40x4 + 25x5 90, x1 , x2 , x3 , x4 , x5 {0, 1}.

A soluo dada por 1150 m2 .

x1 = x3 = x5 = 1

x2 = x4 = 0,

com um acrscimo em rea de Por

frequente, neste tipo de problemas, existirem por razes tcnicas, da execuo do projecto tomasse o valor

dependncias entre projectos.


1

exemplo, para o modelo em causa, a execuo do projecto

poderia estar dependente,

2.

Em tal caso, gostaramos que se

x1

ento

x2

tambm fosse igual a

1,

exigindo a execuo do projecto 2.

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}.

A soluo ptima passaria a ser objectivo de

x3 = x4 = x5 = 1

x1 = x2 = 0,

com um valor da funo

1080,

evitando, deste modo, a execuo do projecto

1.

Aula 9  Optimizao em Apoio Deciso

Aula 9: Formas de Modelao em Programao Linear Inteira


Dois dos processos de modelao em programao (linear) inteira foram introduzidos anteriormente, quando foram mencionadas as condies de exclusividade e as relaes de dependncia, no mbito da programao inteira binria. Vamos, seguidamente, estudar trs outras formas de modelao com recurso a variveis binrias.

38

Variveis com Custo Fixo.

Dado um programa linear, escrito numa forma qual-

quer, consideremos uma alterao sua formulao em que a contribuio para a funo objectivo de uma das variveis no negativas (a varivel

xi ),

em vez de ser igual a

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

de funcionamento de uma mquina. Seja

contrrio da original que era linear). O novo problema deixa de ser um programa linear.

um nmero real positivo

sucientemente grande.
ci xi + fi yi

xi

pode ser substitudo, equivalentemente, por

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 ,

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 Deciso


suponhamos que o custo de comercializar o equipamento do tipo

39

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

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 1
Se 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 .

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

y1 , y2 {0, 1}. m
restries,

Este tipo de transformao aplicvel ao caso mais geral em que, de entre

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 pelo


J {1, . . . , nb } xj 1.
jJ

{0, 1}, j = 1, . . . , nb ).

As restries de empacotamento (

set packing) no permitem que a soluo tenha mais


J 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 s


xj = 1.
jJ

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 SIG


Preo (em K euros)

Funcionalidades

2  

4 


4 5


11


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 Deciso


de geradores necessrios o valor ptimo do problema de cobertura: minimizar sujeito a

42

12 i=1

xi
Viana 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.

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 Afectao


importantes 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

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, I
e

pertencem a dois conjuntos nitos

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. 36
e 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 Deciso


Trabalhadores 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 Redes


A 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

for

fi

e, nesse caso, pode enviar at

ui

xij ,

contnuas

e no negativas, para descrever a quantidade a enviar da central

para o concelho

yi

para indicar se uma central

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

acarreta um custo xo (fij ).

Por cada unidade de dados que for trans-

mitida de

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.

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 Veculos


resduos 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,

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

Dada a simetria das distncias entre nodos, as variveis do problema,

xij =

1 0

quando um percurso inclui a ligao entre caso contrrio,

j,

so denidas apenas para os ndices formulao: minimizar sujeito a

tais que

i < j.

O TSP simtrico apresenta a

n n i=1 j=1,j>i n j=1,j<i xji +

dij xij
n j=1,j>i

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

restries, no formem um nico percurso envolvendo

todos os n nodos.

nmero destas restries varia factorialmente com

n. n=6
o 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 = 1
e

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 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.

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). i
e 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 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,

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=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

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

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,

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

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

cij
i=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 xji +

i = 0, . . . , n,

k = 1, . . . , m,

restries impeditivas de subpercursos,

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

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.

Software
Durante 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.

You might also like