You are on page 1of 21

20/09/2017

Complementos de
Investigao Operacional
(Parte I)

Ano letivo 2017/2018


1 Semestre
Ana Moura
(ana.moura@ua.pt)
Gabinete 10.3.23

Programa
1. Programao Inteira (Programao linear inteira mista)
a. Introduo e Aplicaes de programao inteira
b. Modelao com variveis inteiras e modelao com variveis 0-1
c. Mtodos e tcnicas de resoluo
i. Algoritmo Branch-and-Bound
ii. Tcnicas enumerativas

1
20/09/2017

Problemas de Otimizao
Linear No Linear

Contnua Inteira Combinatria

Mtodo grfico
Simplex
Ponto Interior

Problemas de Otimizao
Linear No Linear

Contnua Inteira Combinatria


Mtodo grfico

Pesquisa em rvore Ramificao e Limitao


(Branch and Bound)
Planos de Corte

2
20/09/2017

Programao Linear Inteira


Um problema de Programao Linear Inteira (PLI) um problema de
Programao Linear (PL) em que todas ou alguma(s) das suas variveis so
discretas (tm de assumir valores inteiros):
Quando todas as variveis de deciso so inteiras -> Programao Linear Inteira Pura
(PLIP);
Se parte das variveis de deciso so inteiras -> Programao Linear Inteira Mista (PLIM);
Se todas as variveis de deciso so binrias -> Programao Inteira Binria Pura (PIBP);
Se parte das variveis de deciso so binrias -> Programao Inteira Binria Mista (PIBM).

Modelo Formal

Problema Linear correspondente


(Relaxao do PI, dado que se alarga o domnio das
variveis de deciso de N0 para R)

3
20/09/2017

Problemas tpicos de PI
Problema de Afetao
Problema do Caixeiro Viajante
Problema da Mochila
Problema de Cobertura
Problema de Partio de Conjuntos
Problema de Seleo de Projetos
Problema de Localizao

Aplicaes de PI(B)
Anlise de Investimentos
Escolha de Local
Desenho de uma rede de produo e distribuio
Distribuio de mercadorias
Programao de atividades inter-relacionadas
Aplicaes em linhas areas
etc..

4
20/09/2017

Condies expressas atravs de variveis


binrias
Restries mutuamente exclusivas (ou-ou, ento)
K de N restries devem ser vlidas
Funes com N valores possveis
Representao binria de variveis inteiras genricas

Mtodos de resoluo de problemas PI


Comparativamente com os problemas PL, os problemas PI tm um menor nmero de solues a
serem consideradas, o que no quer dizer que mesmo assim no seja um nmero muito grande.
Ex: Um problema PIB com n variveis tem 2n solues a serem consideradas. Se:
n=10 -> <1000 solues
n=100 -> 1.000.000 solues
Tem um crescimento exponencial.
A maioria dos algoritmos bem sucedidos para PI incorpora o mtodo Primal do Simplex (ou o
Dual), relacionando partes do problema PI, com o correspondente problema PL.
Isto , o mesmo problema exceto com o facto da restrio inteira ter sido eliminada ->
Relaxamento PL ou Relaxao Linear.

5
20/09/2017

Mtodos de resoluo de problemas PI


Porque no se resolve ento por um procedimento aproximado, aplicando o Simplex
relaxao PL e depois arredondam-se os valores?

Mtodos de resoluo de problemas PI


Conclui-se assim que so necessrios mtodos que examinem apenas uma parte do conjunto
de solues admissveis e que aproveitem as vantagens do algoritmo Simplex.
Exatamente com estas caractersticas, existem dois mtodos: o Mtodo dos Planos de Cortes
(Cutting Planes) e o Mtodo de Partio e Avaliao Sucessivas (Branch and Bound).
De facto, ambos utilizam o algoritmo Simplex para chegar soluo tima de problemas de
PL, cuja regio admissvel vai sendo sucessivamente reduzida, at se alcanar a soluo do
problema de PLI. Estes mtodos so gerais, pois podem ser aplicados a qualquer modelo de
PLI.

6
20/09/2017

Mtodo dos planos de corte


O mtodo dos Planos de Corte (Cutting Planes) foi o primeiro mtodo a ser desenvolvido
e deve-se a Gomory (1958).
Consiste em introduzir, sucessivamente, novas restries na relaxao linear do PLI.
Essas restries cortam o conjunto das solues possveis, eliminando algumas delas e a
prpria soluo tima do PL (por isso se chamam planos de corte), sem contudo eliminar
qualquer soluo inteira.

Mtodo dos planos de corte


Exemplo:
Antnio, proprietrio da empresa de brinquedos Toys r Tony, decidiu criar uma seco de
brinquedos tradicionais de madeira, comeando por apenas dois tipos de brinquedos:
pequenos cavalos de baloio (lucro unitrio de 2400u.m.)
comboios antigos (lucro unitrio de 1500u.m.).
Cada cavalo requer uma hora de trabalho e 9 m2 de madeira, enquanto que cada comboio
requer uma hora de trabalho e 5 m2 de madeira. Supondo que esto disponveis 6 horas de
trabalho e 45 m2 de madeira, que quantidades deve fabricar, de forma a maximizar o lucro?

7
20/09/2017

Mtodo dos planos de corte

Mtodo dos planos de corte


O primeiro passo consiste na resoluo da relaxao linear do PLI

8
20/09/2017

Mtodo dos planos de corte


Como na soluo tima da relaxao linear, os valores das variveis no so inteiros, h que
gerar um plano de corte.
Para tal, basta considerar a restrio, do quadro timo do Simplex da relaxao linear, cujo
termo independente tenha a parte fracionria mais prxima de 0.5, e reescrever essa
restrio separando a parte inteira da parte fracionria.
Qualquer uma das partes fracionrias dos
termos independentes se encontram
igualmente prximas de 0.5.

Qualquer das restries pode ser considerada

Mtodo dos planos de corte


Escolhendo a 1 restrio: x1- 1.25f1+0.25f2=3.75
e escrevendo-a sob a forma: membro com coeficientes inteiros = membro com
coeficientes fracionrios: x1- 2f1-3=0.75-0.75f1-0.25f2
O novo plano de corte a acrescentar ao modelo, traduz a restrio, membro com
coeficientes fracionrios, ou seja:
0.75-0.75f1-0.25f2<=0

Pela definio de variveis de folga, f1=6-x1-x2 e f2=45-9x1-5x2

x1- 2x2<=15

9
20/09/2017

Mtodo dos planos de corte

Mtodo dos planos de corte


1. A nova restrio cortou o
conjunto das solues possveis,
eliminando a soluo tima da
relaxao linear, mas no
eliminando qualquer soluo
inteira.
2. Como a soluo tima deste
novo modelo de PL inteira, ela
a soluo tima do PLI.
3. Se a soluo encontrada ainda
no fosse inteira, gerar-se-ia
novo corte, e assim
sucessivamente.

10
20/09/2017

Mtodo dos planos de corte


Qualquer corte gerado por este mtodo tem, ento, duas propriedades:
1) Qualquer soluo possvel do PLI, satisfaz o corte.
2) A soluo tima da relaxao linear, no satisfaz o corte.

Demonstra-se (Gomory, 1958) que se atinge a soluo tima do PLI aps um nmero finito de
cortes.

(Apesar desta propriedade o mtodo dos planos de corte caiu em desuso)

Mtodo dos planos de corte


Desvantagens do mtodo de Gomory:

Elevado trabalho computacional envolvido na resoluo de problemas de grandes dimenses.


Embora o nmero de cortes seja finito, o seu nmero pode ser muito elevado (centenas ou milhares);
De cada vez que se gera um novo corte acrescenta-se uma nova restrio ao modelo original, o que significa que a
complexidade desse modelo sempre crescente, podendo o trabalho computacional vir a tornar-se proibitivo apesar
de se dispor de um algoritmo de resoluo muito eficiente como o Simplex.

Se se interromper o mtodo, antes de ele chegar ao fim, no se dispe de qualquer soluo inteira, ainda que no
seja tima.

11
20/09/2017

Branch-and-Bound
(Mtodo de partio e avaliaes sucessivas)

O mtodo Branch and Bound (mtodo de ramificao e limitao) consiste:


Na partio (Ramificao) sucessiva do conjunto de solues possveis do problema de PLI em subconjuntos;
E na limitao (Avaliao) do valor timo da funo objetivo (limite inferior se se tratar de maximizao,
ou superior se se tratar de minimizao);
de modo a excluir os subconjuntos que no contenham a soluo tima.

Branch-and-Bound
(Mtodo de partio e avaliaes sucessivas)
Comea-se por resolver a relaxao linear do PLI inicial:
se as variveis que no problema de PLI so inteiras tomam, na soluo tima do PL, valores inteiros, ento foi
encontrada a soluo tima do PLI;
Caso contrrio, divide-se o problema de PL em dois, atravs da introduo de restries adicionais que fazem
a partio do conjunto das solues possveis.

Vo-se resolvendo sucessivos problemas de PL, estabelecendo-se limites para o valor timo
da funo objetivo e, assim, eliminando diversos sub-conjuntos, at se alcanar a soluo
tima do PLI.

12
20/09/2017

Branch-and-Bound - PIM
1) Resolve-se a relaxao linear do problema:
I. Se a soluo inteira, ento obtm-se a soluo tima.
II. Caso contrrio, criam-se dois novos sub-problemas ramificando-se uma varivel fracionria.
2) Um sub-problema no ramificado quando:
I. Todas as variveis na soluo so inteiras;
II. A soluo do sub-problema no admissvel.
3) Escolhe-se um sub-problema onde existem variveis fracionrias e ramifica-se sobre uma
delas.
4) Repete-se at que j no hajam variveis fracionrias.

Branch-and-Bound PIM
(Exemplo)
Exemplo anterior:

Soluo relaxada

13
20/09/2017

Branch-and-Bound PIM
(exemplo)
Sabe-se que, o valor timo da funo objetivo no pode exceder 12375.

Como na soluo tima deste problema x1 e x2 no so inteiras, h a necessidade de efetuar


a sua partio, dando origem a dois novos sub-problemas (A e B), pela introduo de novas
restries de eliminao de solues no-inteiras: x1<=3 e x1>=4

Poder-se-ia escolher fazer a partio segundo a varivel x2

Branch-and-Bound PIM
(Exemplo)
Partio

14
20/09/2017

Branch-and-Bound PIM
(Exemplo)
A soluo tima do sub-problema A inteira, o que significa que se encontrou uma soluo
inteira cujo valor da funo objetivo 11700.
O valor timo da funo objetivo estar compreendido entre estes dois limites, 11700 <= F
<= 12375.
Como a soluo tima do sub-problema B no inteira e o valor da funo objetivo 12300
(> 11700), este sub-problema pode conter uma soluo inteira melhor que a do sub-
problema A;
Logo, necessrio efetuar a sua partio, dando origem aos sub-problemas B1 e B2, pela
introduo das restries x2 >= 2 e x2 <= 1

Branch-and-Bound PIM
(Exemplo)
Partio O sub-problema B1 no tem solues possveis, sendo por isso
excludo.
O sub-problema B2, pelas mesmas razes do sub-problema B, objeto
de partio e d origem aos sub-problemas B21 e B22, pela
introduo das restries x1 <= 4 e x1 >= 5

15
20/09/2017

Branch-and-Bound PIM
(Exemplo)
Quer o subproblema B21, quer o subproblema B22, tm solues inteiras.
Partio
O valor timo da funo objetivo do subproblema B21 11100 < 11700, ou
seja, pior do que a soluo de que j dispnhamos.
O valor timo da funo objetivo do subproblema B22 12000, logo
atualizamos os limites e teremos 12000 <= F <= 12000.

Branch-and-Bound- PIM
(Exemplo)

16
20/09/2017

Branch-and-Bound- PIM
(Exemplo)
medida que se vai descendo na rvore, vo-se atualizando os limites inferior e superior
ao valor timo da funo objetivo (F*):
No n inicial (raiz da rvore), 0 <= F* <= 12375.
Ao nvel dos subproblemas A e B, 11700 <= F* <= 12300.
No nvel imediatamente inferior, 11700 <= F* <= 12167.
Por fim, no quarto e ltimo nvel, 12000 <= F* <= 12000.
Podemos ento concluir que (x1, x2) = (5, 0) ; F* = 12000 a soluo tima, no fazendo
sentido efetuar uma nova partio.

Branch-and-Bound- PIM
Vemos assim que:
1. efetuada a partio de um sub-problema, cuja soluo tima tem pelo menos uma
varivel que, sendo uma varivel inteira no PLI inicial, assume valores no-inteiros, se esse
sub-problema puder conter uma soluo inteira melhor do que a j existente.

2. So logo eliminados os sub-problemas que no tenham solues possveis ou que no


possam conter uma soluo possvel melhor do que a j existente.

17
20/09/2017

Branch-and-Bound- PIM
Para alm de ser, de um modo geral, menos trabalhoso resolver um modelo
de PLI atravs deste mtodo, do que atravs do mtodo dos planos de corte,
ele apresenta a vantagem de:
possvel interromper o mtodo antes de encontrar a soluo tima e de dispor de
uma soluo inteira, em relao qual se pode ter uma ideia de quo prxima estar da
soluo tima, graas aos limites que se vo determinando.

Branch-and-Bound para problemas PIB


Pr-Processamento automtico para problemas de PIB pura:
Fixar variveis se o valor de uma varivel, no puder satisfazer uma dada restrio mesmo quando as
outras satisfazem a restrio no seu melhor valor, ento essa varivel deve ser fixada noutro valor.

Eliminar restries redundantes Se uma restrio funcional satisfizer at mesmo a mais desafiadora
soluo binria, ento ela foi tornada redundante pelas restries binrias e pode ser eliminada.

Reduo de coeficientes ou gerao de planos de corte - Um plano de corte uma nova restrio que
reduz o espao de solues admissveis para a relaxao linear sem eliminar nenhuma soluo admissvel do
problema PI.

18
20/09/2017

Pesquisa em rvore ou Enumerao Implcita


em PIB
Um n corresponde a uma possvel soluo binria para x;
Dois ns interligados possuem a mudana no valor de uma varivel;
Cada varivel pode ter um de trs estados: fixado em 1, fixado em 0 ou livre.

Passo adiante (Forward step): fixar uma varivel em 1;


Passo atrs (Backtrack step): fixar uma varivel em 0;

Pesquisa em rvore - PIB

Iterao tpica para problemas de Maximizao:


Ramificao (Branching) :
Foward

Backtrack
Dos ns criados mais recentemente, seleciona um
(desempate - o que tem maior limite) e relaxar a varivel (xi)
atribuindo o valor 1; Variveis Variveis
Livres Livres

Resolver o sub-problema com as restantes variveis livres;


Fixar a mesma varivel no valor 0 e repetir o processo para o sub-problema com xi= 0;

19
20/09/2017

Pesquisa em rvore - PIB

Iterao tpica para problemas de Maximizao:


Limitar (Bounding):
Resolver, em cada n, o problema PL correspondente e determinar o valor timo do
problema PL.
Arredondar (para baixo) o valor no-inteiro.
Este ser o valor do limite do sub-problema do respetivo n.

Pesquisa em rvore - PIB


Iterao tpica para problemas de Maximizao:
Avaliar (Fathoming):
1. Soluo inteira: Se um dos novos ns tem uma soluo inteira, o seu limite
comparado aos limites das outras solues similares. Se no tiver o melhor valor,
fathomed. Se tiver o melhor valor passa a ser a nova melhor soluo corrente Z
(Incumbent).
2. Valor limite: se algum dosnovos ns, tem um limite menor do que do melhor n
corrente Z (Fathom o n).
3. No-admissvel - A sua relaxao linear no tem soluo admissvel (Fathom o
n);

20
20/09/2017

Pesquisa em rvore - PIB

Iterao tpica para problemas de Maximizao:


Paragem do algoritmo:
Pra quando no houverem mais sub-problemas. O n com o melhor valor
a soluo do problema.
Caso contrrio, se ainda existirem ns para ser ramificados, faz-se uma nova
iterao.

21

You might also like