UMA RESOLUCÃO PARA PROGRAMAS M I S T O S P E L O &TODO DE DRIEBEEK
H u m b e r t o do N a s c i m e n t o C a r r e i r a
R I O DE J A N E I R O COMO PARTE DOS R E Q U I S I T O S NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS ( M . S c . )
A p r o v a d a p o r : P r o f . N e l s o n M a c u l a n ~ A l h o P r e s i d e n t e
-
4
a
.
o L i z a r d o R.H. d d r a ú j o p r ó £ . P a u l o O . B o a v n t u r a N e t o1
R I O DE J A N E I R O , B R A S I L A B R I L DE 1 9 7 7CARREIRA, HUMBERTO DO NASCIMENTO
UMA RESOLUÇÃO PARA PROGRAMAS M I S T O S P E L O M ~ T O
-
DO DE DRIEBEEK I ~ i o de ~ a n e i r o l 1 9 7 7 . I X , 1 1 7 p . 2 9 , 7 c m ( C O P P E - U F R J , M . S c . , E n g e n h a r i a de S i s t e m a s e ~ o m p u t a ç ã o , 1 9 7 7 ) . T e s e-
U n i v . Fed. R i o de J a n e i r o . Fac. E n g e - n h a r i a 1. p r o g r a m a ç ã o I n t e i r a I . C O P P E / U F R J 11. UMA RESOLUÇÃO PARA PROGRAMAS M I S T O S P E L OMETODO
DE D R I E B E E K .A m e m ó r i a de minha
mãe
E r z i l a N . C a r r e i r aiii
A Mauriceia, A Isabela.
AGRADECIMENTOS
A s p r o v a s d e amizade que r e c e b i foram inúmeras. A t o d o s que cooperaram p a r a que e s t e t r a b a l h o f o s s e c o n c r e t i z a d o , o meu mais s i n c e r o agradecimento.
Ao P r o f . Nelson Maculan F i l h o , que sempre m e o r i e n t o u com de- d i c a ç ã o i n i g u a l á v e l . Ao Maculan que e s t á sempre d i s p o s t o a a j u d a r e que f o i d e uma c a p a c i d a d e d e compreensão i n c a l c u l á - v e l d u r a n t e momentos extremamente d i f í c e i s p e l o s q u a i s p a s s e i . Q u a l q u e r forma d e agradecimento é i n s i g n i f i c a n t e ; a minha e- t e r n a g r a t i d ã o .
Aos P r o f e s s o r e s ~ o ã o L i z a r d o R.H. de ~ r a Ú j o e P a u l o Oswaldo Boaventura Neto p e l a s s u g e s t õ e s e c r í t i c a s f e i t a s a o t r a b a l h o .
A P r o f a . ~ u l c i n g i a d e Lourdes V a r e l a F e r r e i r a , minha mestra no IMUFRJ, que muito me a j u d o u e i n c e n t i v o u , o meu r e c o n h e c i - mento.
A C e l i a Regina d e Carvalho, b i b l i o t e c á r i a da B i b l i o t e c a do C e n t r o de T e c n o l o g i a da UFRJ p e l o a p o i o e i r r e s t r i t a amizade.
Aos P r o f e s s o r e s T e r c i o de Albuquerque ~ a r a n h ã o (FERP) e Anto- n i o Braga C o s c a r e l l i (USU) p e l o a p o i o e i n c e n t i v o que me de- r a m .
A Mauriceia, Yeda, Marilda e Getulio.
A Suely Klajman que datilografou os originais o meu mais sin
-
Foi estudado neste trabalho um método de reso- lução para programas mistos, que contem poucas variáveis in- teiras em nfveis pequenos, idealizado por Norrnan J. Driebeek.
As referentes ao método são poucas e procurou-se
tornar o método mais compreensível sob o ponto de vista didá- tico. O trabalho está dividido em três partes contendo ainda um apêndice que reune dois programas para os exmplos escolhidos. Na primeira parte é feito um estudo sobre os métodos em pro- gramação inteira-mista; a segunda compõe-se da construção do ~ é t o d o de Driebeek, que tem a particularidade de limitar o espaço solução viável a um simples ponto inteiro, seguido de dois exemplos de aplicação; a terceira trata de estudar o mé
-
tbdo de Driebeek segundo Stanley Zionts com uma comparaçãov i i
T h i s work p r e s e n t s a method due t o Norman J. Driebeek f o r s o l v i n g mixed programming problems c o n t a i n i n g few i n t e g e r v a r i a b l e s on s m a l l l e v e l s . R e f e r e n c e s t o t h i s method a r e s c a r c e and we t r i e d t o make t h e p r e s e n t a t i o n from
a d i d a c t i c a l v i e w p o i n t . T h i s work i s devided i n t o t h r e e
p a r t s , p l u s an appendice c o n t a i n i n g two programs f o r t h e g i v e n examples. The f i r s t p a r t c o n t a i n s a s t u d y a b o u t mixed and integer-programming methods; t h e second p a r t p r e s e n t s t h e Driebeek method, which l i m i t s t h e s e t of p o s s i b l e s o l u t i o n s t o a s i n g l e ( i n t e g e r ) p o i n t , two examples a r e g i v e n ; t h e t h i r d p a r t s t u d i e s t h e Driebeek method a c c o r d i n g t o S t a n l e y Z i o h t s making a comparison w i t h t h e o r i g i n a l p a p e r of Driebeek.
viii
' . 'ÍNDI'CE
páginas
CAP~TULO I
-
INTRODUÇÃO 11.1. Métodos de Corte 1
1.1.1.
-
Algoritmo ~racionário para Progra-mação Inteira 1
1.1.2.
-
Algoritmo (Dual) totalmente Inteiro 21.1.3.
-
Algoritmo (Primal) totalmente Intei-
r0 3
1.2. Métodos de Enumeração ~mplicita 4
1.2.1.
-
~ ê t o d o denumeração
~mplicita deBalas 4
1.2.2.
-
Método de Driebeek1.3. Método de Branch and Bound
1.4. situação do algoritmo de Driebeek
CAPÍTULO I1
-
construção do algoritmo de Driebeek 122.1. Generalidades sobre o método simplex 12
2.2. Aplicação na resolução do sistema As=6
-
-
152.3. Desenvolvimento do algoritmo de Driebeek 20
2.4. Exploração de ~stratégias 30
2.5. Algoritmo de Driebeek 31
2.6. Exemplos de Aplicação do algoritmo de
p á g i n a s
7 3
3.1. O método de Driebeek segundo S t a n l e y
Z i o n t s 73
3.2. Exemplo d e a p l i c a ç ã o 75
3.3. Comparação e n t r e o método d e Driebeek segundo o a r t i g o o r i g i n a l e segundo S t a n l e y Z i o n t s
3.4. Algoritmo de Driebeek segundo S t a n l e y Z i o n t s
BIBLIOGRAFIA APÊNDICE
O s problemas envolvendo v a r i á v e i s do t i p o 0-1 e v a r i á v e i s i n t e i r a s
t ê m
s i d o amplamente examinados por v á r i o s métodos em programação l i n e a r i n t e i r a ; as i d é i a s b á s i c a s d e a 1-
guns d e s s e s métodos s e r ã o d e s c r i t a s a s e g u i r . O s métodos d e programação i n t e i r a s ã o c l a s s i f i - cados em:-
Métodos d e C o r t e-
Métodos d enumeração
~ m p l k i t a-
~ ê t o d o d e Branch and Bound1.1.- Metodos d e C o r t e
1.1.1.
-
Algoritmo f r a c i o n á r i o p a r a programação i n t e i r aeste a l g o r i t m o
6
baseado no a r t i g o d e Gomory,1 1
" A n a l g o r i t h m f o r i n t e g e r s o l u t i o n s t o l i n e a r Programming"-
P r i n c e t o n-
I B M-
November 1958. O problema l i n e a r é r e s o l - ' v i d o s e j a p e l o p r i m a l , p e l o d u a l ou ,pelo p r i m a l - d u a l . Se o problema t e m s o l u ç ã o f i n i t a , a coluna z e r o do quadro ó t i m o nos f o r n e c eãio
-
> O. Se t o d o s o sãio
forem i n t e i r o s , e n t ã o a s so-l u ç õ e s do problema l i n e a r e do problema l i n e a r i n t e i r o c o i n -
+
cidem. Se . o c o r r e que um c e r t o
ã
L
Z+uIO}
( Z , é o con-jun- i ot o d o s i n t e i r o s p o s i t i v o s ) , uma r e s t r i ç ã o é a d i c i o n a d a (Cor- t e d e Gomory) provocando uma i n v i a b i l i d a d e no p r i m a l d o qua- d r o Ótimo. E s t a e n v i a b i l i d a d e é removida usando o método do d u a l do simplex e e s t e procedimento é r e p e t i d o a t é que t e n h a
-
mos t o d o s o sã
> O i n t e i r o s . Cada r e s t r i ç ã o a d i c i o n a l ( c o ri o
-
-
t e ) t r a n s f o r m a o quadro p r i m a l v i á v e l e m p r i m a l não v i á v e l , e s i g n i f i c a que a s o l u ç ã o v i g e n t e r e p r e s e n t a um v é r t i c e do p o l i e d r o d e s o l u ç õ e s não s a t i s f a z e n d o a r e s t r i ç ã o a d i c i o n a l Se a r e s t r i ç ã o não suprime nenhuma s o l u ç ã o i n t e i r a v i á v e l , e de s e e s p e r a r que após um c e r t o número d e c o r t e s , s e t e n h a uma s o l u ç ã o i n - b e i r a Ótima. A prova d e c o n v e r g ê n c i a é f e i t a
supondo-se um l i m i t e i n f e r i o r p a r a a no c a s o d e maximiza-
O 0
ção e que após um c e r t o número f i n i t o d e i t e r a ç õ e s , t o d o s o s componentes d a coluna z e r o do quadro, tornam-se i n t e i r o s não n e g a t i v o s , ou que não há s o l u ç ã o v i á v e l .
1 . 1 . 2 . - Algoritmo (Dual) Totalmente I n t e i r o
0
E s t e a l g o r i t m o é baseado no a r t i g o d e Gomory,
1 ' 1
A 1 1-
I n t e g e r I n t e g e r Programming Algorithm"-
IBM-
Research C e n t e r Report-
RC-
189-
J a n u a r y 1960.O método simplex d u a l l e x i c o g r á f i c o é usado e a p a r t i r d e q u a l q u e r l i n h a p r i m a l i n v i á v e l é gerado um c o r t e , c u j a r e s t r i ç ã o é a d i c i o n a d a no f i n a l do quadro. pós a d i c i o
-
n a r e s t a r e s t r i ç ã o , e mediante c e r t o s c r i t é r i o s d e e s c o l h a , teremos o b t i d o um pivÔ i g u a l a -1, e este s e e n c o n t r a na me- n o r c o l u n a no s e n t i d o l e x i c o g r á f i c o . A e s c o l h a d e s s e p i v õ f a z com que o quadro s e j a sempre d u a l v i á v e l e a o mesmo t e m - po d á o maior decréscimo na c o l u n a d e í n d i c e z e r o do q u a d r o . A prova d a convergencia d e s t e a l g o r i t m o é f e i - t a p o r a b s u r d o , p a r t i n d o d a s h i p ó t e s e s d e que aoo é l i m i t a d o i n f e r i o r m e n t e e d e que o a l g o r i t m o não é f i n i t o . 1 . 1 . 3 . - Algoritmo ( ~ r i m a l ) Totalmente I n t e i r o
este
a l g o r i t m o é baseado no a r t i g o d e R . D . ' ~ o u n ~ ,1
1 2 1 "A s i m p l i f i e d P r i m a 1 ( M 1 - I n t e g e r ) I n t e g e rProgramrning Algorithm"
-
J . ORSA, 1 6 ( 4 ) ( J u l y-
August 1968).
Sua c a r a c t e r i s t . i c . a é em cada e t a p a o b t e r uma s o l u ç ã o não p i o r que a a n t e r i o r e t e m uma g r a n d e vantagem s o b r e o u t r o s métodos que é a p o s s i b i l i d a d e d e i n t e r r o m p e r o s c á l c u l o s a o f i n a l d e q u a l q u e r e t a p a , a n t e s d e a t i n g i r a s o l u ç ã o ó t i m a , conseguin- do a s s i m uma s o l u ç ã o "boa" v i á v e l p a r a o problema, a q u a l se -r ã
t a n t o melhor q u a n t o maior f o r o número d e e t a p a s , d e s d e que não h a j a d e g e n e r e s c ê n c i a .A a l t e r a ç ã o e s s e n c i a l c o n s i s t e na g e r a ç ã o d e um c o r t e d e Gomory a p a r t i r d a l i n h a n a t u r a l do pivÕ, provo- cando com i s t o um pivÔ e f e t i v o c u j o v a l o r é i g u a l a 1 e que g a r a n t e a prima1 v i a b i l i d a d e após o pivoteamento.
Tendo em v i s t a o f a t o de poder o c o r r e r degene
-
r e s c ê n c i a , i . e , o fenômeno d e c i c l a g e m , a prova d e convergên-
tia d e s t e a l g o r i t m o é f e i t a mediante c e r t a s m o d i f i c a ç õ e s ne- c e s s á r i a s , e e s t a s fazem com que o fenômeno d e c i c l a g e m p e r - s i s t a por um c e r t o número f i n i t o d e i t e r a ç õ e s . E s t a s m o d i f i - c a ç õ e s , p r o p o s t a s p o r GLOVER, podem s e r e n c o n t r a d a s em:1. INTEGER PROGRAMMING AND NETWORK FLOWS T.C.HU
-
PG.292/3102 . L I N E A R AND INTEGER PROGRAMMING S.ZIONTS
-
PG.3531 . 2 . 1 . - ~ é t o d o d e
numeração
~ m p l i c i t a d e B a l a sO p r i n c i p i o d e enumeração i m p l í c i t a é o d e s e n
-
volvimento em forma d e a r b o r e s c ê n c i a t a l que p a r a um PPL com n v a r i á v e i s d o t i p o 0-1 s e g a r a n t a a enumeração d e t o d a s a s-
n 2 s o l u ç õ e s d o PPL d e maneira i m p l í c i t a . A i d é i a do a l g o r i t-
mo d e B a l a s é p a r t i r d e uma s o l u ç ã o 6 v i á v e l , i n t r o d u z i n d o Ouma r e g r a de p a r a d a e uma r e g r a de r e t o r n o 5 enumeração, de- senvolvendo d e s c e n d e n t e s d e 6
.
P a r a cada s o l u ç ã o examinadaO
e s t a r á a s s o c i a d o um v a l o r
s o l da função o b j e t i v o a s s o c i a d o
ã
melhor s o l u ç ã o v i á v e l e n c o n t r a d a a n t e r i o r m e n t e à s o l u ç ã o examinada. - Se a t é o momento d e examinar uma c e r t a s o l u ç ã o ,não t i v e r a p a r e c i d o uma s o l u ç ã o v i á v e l e n t ã o
Z
= + ws o l f c 2
s o d e minimização. (se maximização
E
-
-
s o l-
Parada p a r a r - s e - á e m uma s o l u ç ã o 6 i . e , não s e r ã o P ' examinados s e u s d e s c e n d e n t e s s e : a ) 6p é uma s o l u ç ã o v i á v e l N~ = @,
onde N P é a u n i ã o do c o n j u n t o de i n-
dites que não pertencem a J (con j.
dos h d i -P c e s d a s v a r i á v e i s x =1) e J
j P
c ) Quando N
#
fl
,
porém, não e x i s t e nenhuma Pcombinação d o s x j E N
,
que dê uma so-j
'
Pl u ç ã o d e s c e n d e n t e v i á v e l .
O r e t o r n o a enumeração é f e i t o d a s e g u i n t e forma:
A t i n g i d a uma s o l u ç ã o d o problema, consideram- se t o d a s as s o l u ç õ e s que pertencem a o caminho, d e s d e a s o l u - ção d e p a r t i d a a t é à s o l u ç ã o a t i n g i d a , c l a s s i f i c a n d o - a s e m ordem d e c r e s c e n t e . Encontrada uma o u t r a s o l u ç ã o no caminho, aplicam-se a s r e g r a s d a s o l u ç ã o d e s c e n d e n t e , que s e r á g e r a d a mediante c e r t o s c r i t é r i o s d e g e r a ç ã o e a s r e g r a s d e p a r a d a d a d a s a n t e r i o r m e n t e .
Quando t o d a s a s s o l u ç õ e s não puderem m a i s ge- r a r d e s c e n d e n t e s , e n t ã o o p r o c e s s o p a r a .
Se 5 0 1 =
+
en- t ã o o problema não tem s o l u ç ã o v i á v e l ;solução associada a
Z
sol será a solução ótima.Este método foi apresentado por Normam J . D r i e beek na revista Management Science
-
Vol. 12-
No 7-
March 1966 e foi desenvolvido essencialmente para problemas de pro-
gramação que continham um grande número de variáveis contínuas bem como algumas variáveis com valores discretos. Primeira- mente é resolvido o problema linear não inteiro, subsequente-
mente uma pesquisa para a solução Ótima inteira é feita to- mando por base mudanças no valor da função objetivo, pela ati-
vação de restrições inteiras do problema.O método se baseia na penalização das variáve- is que assumem valores discretos, examinando-se uma posslvel solução de acordo com o exame de uma tabela de penalidades a ser formada mediante certos critérios. Tanto o método sim- plex, quanto o dual do simplex são usados e a essência está na modificação da coluna zero do quadro ótimo pelo uso da ma- triz inversa do simplex, fazendo com que o quadro Ótimo que é
primal viável, passe à condição de primal não viável. Esta inviabilidade é removida pelo dual do simplex.
O algoritmo termina quando todas as soluções prováveis tiverem sido examinadas e a solução inteira mista 9:a melhor solução encontrada antes da parada. Mais adiante
s e r á mostrado d e t a l h a d a m e n t e o método, que é o o b j e t i v o d e s t e t r a b a l h o .
O p r i n c í p i o d a "Branch-and-Bound" ganhou impul
-
s o em 1960 p o r A. H. LAND e A. G. D O I G em s e u a r t i g o "AnAutomatic Method o£ S o l v i n g D i s c r e t e Programrning Problems"
-
Economebrica, 2 8 , pgs.497-520, 1960.O método r e q u e r o uso do s i m p l e x e t a n t o pode r e s o l v e r um problema i n t e i r o - m i s t o como um problema t o t a l m e n
-
t e i n t e i r o . Achada uma s o l u ç ã o xk não i n t e i r a , um c o r t e ér e a l i z a d o d a s e g u i n t e forma:
Cada d e s i g u a l d a d e acima dá origem a uma nova r e s t r i ç ã o e um novo problema pode ser r e s o l v i d o tomando as r e s t r i ç õ e s do problema o r i g i n a l e a r e s t r i ç ã o o r i g i n á r i a do c o r t e r e a l i z a d o . E s t e procedimento pode s e r r e p e t i d o a t é que tenhamos a s o l u ç ã o i n t e i r a d e s e j a d a . A l i s t a d e s o l u ç õ e s ob- t i d a s pode s e r esquematizada p o r meio d e uma á r v o r e b i n á r i a , sendo a r a i z d a á r v o r e a s o l u ç ã o não i n t e i r a , obsenve-se que p a r a cada c o r t e r e a l i z a d o , d o i s novos problemas devem ser r e
-
solvidos.
A fim de a l c a n ç a r a solução desejada, é p o s s i
-
v e l a p l i c a r conhecimentos de programação h e u r i s t i c a a e s t e método.1 . 4 . - SITUAÇÃO DO ALGORITMO DE DRIEBEEK
"Um algoritmo para a solução de problemas de ~rogramação in t e i r a - m i s t a "
.
Na construção de modelos de programação l i n e - a r , aparece frequentemente a necessidade de s e r e s t r i n g i r a 1
-
gumas v a r i á v e i s a v a l o r e s i n t e i r o s .Tais r e s t r i ç õ e s podem s e r motivadas p e l a natu
-
reza do problema: por exemplo, o número de aviões voando en- t r e d o i s aeroportos ou a construção de uma e s t r u t u r a com um número d i s c r e t o de l a j e s . Por o u t r o lado, a s r e s t r i ç õ e s i n - t e i r a s são v a l i o s a s quando usadas emcombinações
com um gru- po de aproximações l i n e a r e s para descrever curvas não conve- xas. Este Último aspecto f o i o movimento i n i c i a l para pes- quisa em d i r e ç ã o aos métodos para resolução de problemas de programação i n t e i r a - m i s t a .G. B. D a n t z i g , l l l em seu a r t i g o "On t h e
S i g n i f i c a n c e of Solving Linear Programrning Problems w i t h some I n t e g e r V ~ i a b l e s '
-
Econometrica, 28, NQ 1, January 1 9 6 0 ,pp.30-40, descreveu a necessidade de resolver problemas de programação linear com algumas variáveis inteiras. Dantzig aponta que históricamente, problemas não lineares não conve- xos tem sido difícies de serem resolvidos. Quando variáveis inteiras assumem valores elevados em uma solução Ótima contí- nua viável, o estudo da vizinhança dessas variáveis nos permi
-
te aproximar os resultados, algumas vêzes de maneira aceitá- vel, embora nada garanta a obtenção de uma solução Ótima in- teira neste local.Quando as variáveis inteiras tem limites supe- riores pequenos (digamos 5 ou menos); estudar a vizinhança da solução para o mais próximo valor inteiro não produzirá, co- mumente uma solução viável aceitável. A determinação de uma solução Ótima global inteira-mista é difícil e esta dificul- dade aumenta com o número de variáveis inteiras contidas no problema, tanto mais se são requeridas muitas variáveis intei
-
ras.
O algoritmo de Normam J. Driebeek é formulado especificamente para resolver grandes problemas de programa- ção linear que contenham poucas variáveis inteiras em níveis baixos.
As principais virtudes deske algoritmo são:
a) convergência garantida para a solução ótima global inteira-mista desde que exista.
b) Insensibilidade à degeneração e a erros de arredondamento, porque soluções diversas são todas encontradas a partir de uma solu- ção Ótima continua viável, não restringida
a v a l o r e s i n t e i r o s .
No a l g o r i t m o , a s v a r i á v e i s i n t e i r a s s ã o i n i c i
-
a l m e n t e d e s c r i t a s como uma soma d e v a r i á v e i s c o n t i n u a s , cada q u a l com c o t a s u p e r i o r i g u a l a 1. Adicionam-se v a r i á v e i s d e f o l g a p a r a complementar e s t a s v a r i á v e i s c o n t í n u a s 0 - 1 e ob-
tém-se uma s o l u ç ã o p a r a um programa l i n e a r comum. Faz-se a
s e g u i r uma a n á l i s e d e s e n s i b i l i d a d e s o b r e cada v l a r i á v e l i n - t e i r a r e s t r i n g i d a . O s r e s u l t a d o s d a a n á l i s e d e s e n s i b i l i d a - d e s ã o usados p a r a c o n s t r u i r uma t a b e l a d e p e n a l i d a d e s , a s * q u a i s são i n d i c a t i v a s d e uma r e d u ç ã o no v a l o r do f u n c i o n a l l i n e a r , quando o e s p a ç o s o l u ç ã o v i á v e l é r e d u z i d o p a r a v á r i o s n í v e i s i n t e i r o s . A m a t r i z o r i g i n a l é c o n s t r u i d a d e uma maneira e s p e c i f i c a , d e modo que a s s o l u ç õ e s i n t e i r a s podem s e r d e f i - n i d a s a t r a v é s da i n t r o d u ç ã o d e um v e t o r Ab
-
no quadro d a s o l u-
eção Ótima c o n t i n u a . ( c o l u n a
Z
do quadro ó t i m o ) . s o l u ç õ e s i n t e i r a s v á l i d a s s ã o o b t i d a s p e l o d u a l do s i m p l e x a q u i a p l i c a - do algumas v ê z e s .Uma e s c o l h a p a r a a s o l u ç ã o Ótima i n t e i r a - m i s t a
é f e i t a tomando-se por b a s e a t a b e l a d e p e n a l i d a d e s . pós uma s o l u ç ã o ótima t e r s i d o o b t i d a , a e s c o l h a p a r a a s o l u ç ã o Ó t i - ma i n t e i r a - m i s t a 6 r e s t r i n g i d a p a r a somente a q u e l a s s o l u ç õ e s i n t e i r a s c u j a s p e n a l i d a d e s mínimas combinadas s ã o menores que a d i f e r e n ç a e n t r e o v a l o r d a função objetivo no quadro Ótimo c o n t i n u o e a mais r e c e n t e s o l u ç ã o i n t e i r a - m i s t a v á l i d a .
A busca p a r a a s o l u ç ã o Ótima i n t e i r a - m i s t a é
r e a l i z a d a e f e t u a n d o - s e c o r t e s no quadro Ótimo c o n t i n u o do s i m p l e x , que obrigam a o problema a d m i t i r uma s o l u ç ã o i n t e i r a -
mista. Desta forma não são constituidos erros de arredonda
-
mento durante a pesquisa para uma solução inteira-mista. Por outro lado, o algoritmo completa a pesquisa usando os custos das variáveis básicas na solução Ótima continua.Durante uma solução-teste, os níveis efetivos que as variáveis inteiras assumem não são considerados. Por causa disso, o algoritmo é altamente insensivel a alguns er- ros de arredondamento que porventura possam ocorrer. A pes- quisa para a solução Ótima inteira-mista é completada pelo método dual do simplex. Uma variável que assume o nível 0-0 não será removida para a base pelo dual do simplex. Uma so- lução que contenha uma ou mais variáveis no nivel 0-0 é uma solução degenerada. O uso do algoritmo dual do simplex para problemas de programação inteira-mista (Gomory) efetivamente causa dificuldades de convergência, pois êste método só ga- rante a convergência quando a solução ótima da função obje- to for inteira.
CONSTRUÇÃO DO ALGORITMO DE DRIEBEEK
Como foi visto anteriormente, este algoritmo tem a particularidade de envolver poucas variáveis inteiras,
cada uma delas sendo expressa como soma de um conjunto de va
-
riáveis definidas em @,1].
2.1.- Generalidades sobre o método sim~lex
Consideremos o PPL abaixo:
min x O
min x o
C o m c , X E R ~ 0 & R m , e b & R m
Por o u t r o lado, podemos e s c r e v e r o sistema acima como:
onde :
Considerando Ax
-
= b,
s e j a B uma matriz qua-- .
drada associada à solução b á s i c a de Ax = b formada por m co-
e
-
-
lunas de A. S e j a x o v e t o r das v a r i á v e i s b á s i c a s e
cB
o ve-B
-
t o r c u s t o associado a x Escolhamos (xOl
E ~ )
para r e p r e --B'
s e n t a r a s v a r i a v e i s b á s i c a s , então a matriz % formada por ( m + l ) colunas de  s e r á :
Como Det B
#
O então Det#
O e então temos:e para resolver AX
- -
= 6 fazemos:B -1
C B A - C
B -1
C
-
B A-C-
= ( z ~ - C ~ , ~ ~ - C ~ , . . . , ~ n n -C ) poisPor o u t r o lado,
e definindo -1
B b
-
= -B ( v a l o r e s assumidos p e l a s v a r i á v e i s b á s i c a s )B -1
-
bo
+
C-
B b-
= x o ( v a l o r assumidos p e l a função obje- t i v o )o PPL pode s e r e s c r i t o :
A matriz
8-I
dada acima é usada no algoritmo de Driebeek como no simplex, para colocar o quadro em d i a quando modificaçÕes, t a i s como a introdução de uma nova r e s - t r i ç ã o , são r e a l i z a d a s2 . 2 . - Vamos considerar uma a p l i c a ç ã o na resolução de A 2
-
= 6Exemplo :
M i n x = x + x 2 + x
o 1 3
As variáveis básicas de
-
=d
são representadasM
; d e t B = 1
Evidentemente E 3 - l ~ = A
Portanto
zl-C1 z2-C*
.
. . .
. .
8-1, =B -1
b o + C B b = 0 + 1 3 = 1 3
-
-
P o r t a n t o o sistema poderá s e r e s c r i t o como:
e
x
são o s v a l o r e s assumidos p e l a s v a r i á v e i s b á s i c a s -B(-i
-
= (5,3,5) ),
x é o v a l o r assumido p e l a função o b j e t i v oO
Q
(%
= 13)2.3.- Desenvolvimento do algoritmo de Driebeek
Consideremos agora que no PPL uma variável x
j deva ser inteira, de modo que x
j 1' Onde
'
é um inteiro
j positivo.
A relação de desigualdade acima é equivalente as restrições :
Mostraremos que o sistema p r i m i t i v o contém n ( B j + l ) r e s t r i ç õ e s . Suponhamos x I ' X 2 t D - , x n v a r i á v e i s j =i i n t e i r a s e = 5 um l i m i t e s u p e r i o r j
Considerando a l a . d e s i g u a l d a d e d e ( 3 ) vem: P a r a ( 3 ) c o r r e s p o n d e n t e a xl temos ( 8 .+1) = 6 7 r e s t r i ç õ e s . Como o s i s t e m a p r i m i t i v o tem n v a r i á v e i s , e n t ã o
-
o t o t a l d e r e s t r i ç õ e s é S e j a b-
o v e t o r d e f i n i d o p e l o s têrmos indepen- d e n t e s d e ( 2 ) ; e n t ã o passando a forma de q u a d r o vem:A s l i n h a s d e r e s t r i ç õ e s a s s o c i a d a s com a s v a r i
-
-
a v e i s d e f o l g a a na s o l u ç ã o i n i c i a l s ã o c o n s i d e r a d a s como i j
r e s t r i ç õ e s i n t e i r a s não a t i v a d a s ; porém e s t a s poderão ser a t i
-
vadas após a obtenção da s o l u ç ã o Ótima c o n t i n u a p e l a s u b t r a - ção do v e t o r Ab-
do v e t o r b.Cada l i n h a a s s o c i a d a com uma v a r i á v e l d e f o l g a i n t e i r a , pode s e r usada como p o s s í v e l l i m i t e do espaço s o l u - ção, p a r a um dado i n t e i r o d e s d e O a t é n.
--1 E s t e v e t o r Ab em combinação com a m a t r i z B é usado p o r Driebeek p a r a p r o v o c a r uma mudança do quadro ó t i - mo p r i m a l v i á v e l em p r i m a l não v i á v e l com o p r o p ó s i t o d e che- g a r ã s o l u ç ã o .
Quando ativamos o 2 9 membro d e ( 2 ) p o r
i = O ,
9
vemos que x toma o v a l o r i p a r a t o d a s o l u ç ã o d ej
-
De f a t o , s e o 2 9 membro d e ( 2 ) f o r e s c r i t o co-
então
então
Se o 2 0 membro de (2) for escrito como
temos :
como x =
l J
tijk + x = lj j
Observamos que quando fazemos b
-
-
Abl, começa-
mos a resolver o sistema acima pela segunda equação e os ou-Concluimos e n t ã o que s e o 2 9 membro d e ( 2 ) f o r a t i v a d o p o r Ab teremos:
-
iP o r t a n t o x = i. j
Quando a m a t r i z é c o n s t r u i a a p e l a maneira des- c r i t a no quadro, a i n t r o d u ç ã o do v e t o r Ab reduz o v a l o r da
-
função o b j e t i v o p a r a um ó t i m o c o n t i n u o ( b c o n t ) d e ii. Ab, on-O
-
-
de-
il é o d u a l a s s o c i a d o à m a t r i z 8-I c o r r e s p o n d e n t e a b a s e d e v e t o r e s da s o l u ç ã o ótima c o n t i n u a . Ab- .
e
o v e t o r p a r a m é t r i c o usado p a r a l i m i t a r o e s p a ç o s o l u ç ã o v i á v e l e r e p r e s e n t a um decréscimo no v a l o r da f u n ç ã o o b j e t i v o quando a s r e s t r i ç õ e s a d i c i o n a i s s ã o a t i v a d a s . A i n t r o d u ç ã o d o v e t o r Ab pode pro--
d u z i r algumas i n v i a b i l i d a d e s , que podem s e r e l i m i n a d a s usan- do o c r i t é r i o d e pivoteamento do d u a l do simplex.N ~ O se pode. e s t a r c e r t o d a i n t r o d u ç ã o d e i n v i -
a b i l i d a d e s , mas sabe-se que a v a r i a ç ã o E.Ab será i n c o r r i d a , a
w
-
e s t a v a r i a ç ã o chamamos p e n a l i d a d e mínima ou p e n a l i d a d e v e r d a - d e i r a . Q u a n d o . o c o r r e i n v i a b i l i g a d e p o r n.Ab- -
,
a pena- l i d a d e v e r d a d e i r a é i n c o r r i d a e o espaço s o l u ç ã o do problema em r e l a ç ã o às v a r i á v e i s i n t e i r a s é r e d u z i d o p a r a um s i m p l e sponto i n t e i r o . Neste p o n t o , n o t a - s e que na m u l t i p l i c a ç ã o ii.Ab
,
a p e n a l i d a d e v e r d a d e i r a (mínima) é a soma dos c u s t o s-
-
r e d u z i d o s d o s a que e s t ã o a s s o c i a d o s com a s r e s t r i ç õ e s i n - i j
t e i r a s a t i v a d a s .
Por exemplo:
n.Ab
-
-
= 2.+
2 . 4 = 4 . 4,
que r e p r e s e n t a a pena- l i d a d e mínima p a r a f a * z e r a p r i m e i r a v a r i á v e l i n t e i r a i g u a l a 2 e a 2a. v a r i á v e l i n t e i r a i g u a l a 1. Observemos que c a d a va-
r i á v e l i n t e i r a6
soma d e um c o n j u n t o de v a r i á v e i s b i n á r i a s nos n í v e i s 0 , 1 , 2 , e no c a s o do exemplo acima o n í v e l e s c o l h i d o pa- r a l i m i t a r o e s p a ç o s o l u ç ã o f o i o n z v e l ( 2 , l ) .Quando uma v a c i á v e l d e f o l g a e s t á na b a s e , s u a p e n a l i d a d e v e r d a d e i r a é z e r o ( p o i s o c u s t o da v a r i á v e l d u a l 6
z e r o ) , e m c a s o c o n t r á r i o o v a l o r d a p e n a l i d a d e v e r d a d e i r a é o v a l o r da v a r i á v e l d u a l como no c a s o d e a 1 2 e a 2 1 '
Cabe p e r g u n t a r como s e poderá. a t i v a r uma restri
-
ção s e uma v a r i á v e l d e f o l g a e s t á na b a s e ( i . e , o c u s t o da va-
r i á v e l d u a l é z e r o ) . I s t o poderá s e r f e i t o estimando-se aque-
l a p e n a l i d a d e v e r d a d e i r a (mínima) p o r uma pseudo-penalidade.Suponhamos que a v a r i á v e l d e f o l g a a e s t e j a i j
na b a s e Ótima, e n t ã o s e u n í v e l a* ( v a l o r o b t i d o no quadro da i j
s o l u ç ã o Ótima) pode s a t i s f a z e r a O
-
< a < 1. Desde que s e j a i j-
s u b t r a í d o o v e t o r Ab
-
com Abi = 1 e examinando a s o l u ç ã o p a r a e s t e problema modificado, a s s o c i a d o com a b a s e Ótima do n o s s o problema o r i g i n a l , podemos e n c o n t r a r uma nova v a r i á v e l a ' c u i j-
j o v a l o r é:e n t ã o
e a r e l a ç ã o acima nos mostra q u e podemos p r o v o c a r i n v i a b i l i d a
-
d e , i . e , o quadro Ótimo que é p r i m a l v i á v e l , p a s s a a c o n d i ç ã o d e p r i m a l não v i á v e l . Exceto no c a s o em que a ' = 0 , uma i n -i j v i a b i l i d a d e é i n t r o d u z i d a e pode ser e l i m i n a d a p e l o a l g o r i t m o d u a l do s i m p l e x ; s u a e l i m i n a ç ã o reduz o v a l o r d a função o b j e - t i v o no r.:,iniriio de : : onde A = (a ) é a m a t r i z do Ótimo c o n t í n u o , a o c u s t o r e d u j k ok
-
z i d o d a k-ésima v a r i á v e l d a s o l u ç ã o ótima c o n t í n u a e-
R o i n d i-
c e d a mesma l i n h a ocupada p o r a i j na b a s e do Ótimo c o n t í n u o .A r e l a ç ã o ( * ) é chamada-pseudo-penalidade a s s o c i a d a com a r e s
-
t r i ç ã o do a o r i g i n a l .i j
~ n t ã o p a r a c a d a v a r i á v e l de f o l g a a i j o r i g i n a l , temos a s s o c i a d o uma p e n a l i d a d e v e r d a d e i r a e uma pseudo-penali
-
dade. E s t a s p e n a l i d a d e s r e p r e s e n t a m a r e d u ç ã o no v a l o r da fiunção o b j e t i v o , quando o e s p a ç o s o l u ç ã o é r e d u z i d o p a r a um n í v e l d e v a r i á v e l i n t e i r a c o r r e s p o n d e n t e . S e queremos p e s q u i-
sar um ponto inteiro específico como Ótimo de um problema in- teiro-misto, sabemos que estamos ao menos incorrendo em:
i) soma das penalidades verdadeiras associadas com aquela solução
ii) a maior das peseudo-penalidades
Quando o prima1 é inviável, pela ativação de uma restrição inteira, esta viabilidade sendo removida por uma transformação da base Ótima contínua pelo método dual do sim- plex, causa uma redução imediata no valor da função objetivo e esta redução é no mínimo igual 5 pseudo-penalidade associa- da com a variável que está sendo removida para a base. No a1
-
goritmo dual do simplex, a variável a deixar a base é escolhi da por diferentes critérios; no algoritmo dual convenciona1,a variável a deixar a base é selecionada por.
min {bi(
b. <01
1
Um critério diferente é a selação do pivÔ mos- trado em ( * ) , o qual é equivalente a escolher o decréscimo to
-
tal no valor da função objetivo, quando uma variável especi- ficada é removida para a base. A seleção da variáve1.a dei-i
xar a base é feita de modo que se consiga a maior degradação (redução máxima) no valor da função objetivo.
A política de enumeração das posslveis soluções inteiras do problema é chamada estratégia. A cada possível so
-
lução está associada uma função de custo. Seja ps o custo as- sociado ao desenvolvimento de uma possível solução S onde S éuma combinação dos valores de x admissiveis. A escolha de j
ps será feita de acordo com o seguinte critério:
= {E* p'
,
máx pl!) j J-
I
onde p! é a penalidade verdadeira e pl! é a pseudo-penalidade.
3
I
convém observar que as penalidades verdadeiras são aditivas. No caso de termos dois níveis O e 1 para as va
-
riáveis binárias que compõem o problema, podemos definir O conjunto de soluções S a serem exploradas, pelas possíveis com-
binações dos níveis O e 1, i.e, S pode ser:2 . 5 .
-
ALGORITMO DE-
DRIEBEEKDO
-
Resolva o PPL c o r r e s p o n d e n t e .D 1
-
S e l e c i o n e um n i v e l d e s e j a d o p a r a c a d a v a r i á v e l i n - t e i r a . Usualmente s e l e c i o n e o n í v e l i n t e i r o que corresponda a mais b a i x a p e n a l i d a d e em c a d a conjun-
t o .D 2
-
Construa um v e t o r Ab, o que l i m i t a o e s p a ç o s o l u --
ção v i á v e l p a r a o s n í v e i s i n t e i r o s d e s e j a d o s . D3-
M u l t i p l i q u e 8 - ' ( - ~ b )-
e a d i c i o n ebcont
d c o n t é o v e t o r s o l u ç ã o do quadro ótimo c o n t i-
nuo.
D 4-
Faça as i t e r a ç õ e s do d u a l quando n e c e s s á r i o p a r a-
e l i m i n a r t o d a s a s i n v i a b i l i d a d e s i n c o r r i d a s e m bnovo. Quando uma s o l u ç ã o d u a l i l i m i t a d a (prima1 i n v i á v e l )é e n c o n t r a d a , vá p a r a D 6 .
Se o v a l o r da função o b j e t i v o d e c r e s c e p a r a uma s o
-
l u ç ã o i n t e i r a préviamente c a l c u l a d a vá p a r a D6, senão vá p a r a D5.D5
-
Quando todas as inviabilidades tiverem sido elimi- nadas, uma solução inteira válida é encontrada. Guarde a solução e o valor da função objetivo.D6
-
Selecione uma nova solução inteira desejada. Se a soma das penalidades verdadeiras ou a maior das pseudo-penalidades excede (b bo, cont o,int ) volte a D6, senão vá para D2; mas se todas as combinações possíveis para os diversos niveis tiverem sido ex- ploradas dessa maneira, pare. A
melhor
solução en-
contrada antes de parar 6 a solução ótima inteira- mista.FLUXOGRAMA DO A L G O R I T M O DE D R I E B E E K
-
SELECIONE UM NfVEZ DESEZACO LIE VAF&%VEL INTEIRA. EM GERAL O ~ V E L DE MAIS BAIXA P k 1 D A J X
APÕS A ELDENA@~ DE TODAS AS INVI
A B I L I D A E S , GUARDE O V K D R DA l?UNX @O O R J E T I W E A S O L ~ O IXTEIRA ENCONTRADA
2.6.- Exem~ios de a ~ l i c a c ã o do alaoritmo de Driebeek Exemplo 1: Consideremos o PPL max Z = 1 0
-
x-
x-
x-
3x3-
3x4 1 2 3I
-07 = -x+
0 . 4 ~ ~ -i- x 1 3-
X4 Podemos e s c r e v e r o PPL max z = 1 0-
xl-
x-
2 Introduzimos na função da s e g u i n t e forma: o b j e t i v o uma v a r i á v e l a r t i f i - c i a l de grande c o e f i c i e n t e em v a l o r a b s o l u t o tendo em v i s t a a l a . r e s t r i ç ã o do problema. ( ~ é t o d o E I G M) Por o u t r o l a d o ,Como n=l vem:
Sabe-se que:
Teremos aqui 2 níveis de variáveis possiveis, i.e, O e 1.
Formando o quadro do simplex vem:
quadro 1
Como xa está na base
,
6 preciso tornar o custo 1da variável dual nulo, sendo assim, multipliquemos a 2a. li- nha por M e subtraiamos a la. linha do quadro
q u a d r o 2 EscoLhendo min ( 1 - M , 3-M) = 1-M min (
o.
7 1 1,
-) 1 = 0.7 a temos q u e xl s a i d a b a s e , e n t r a x na b a s e e 1 1 é o pivõ.quadro 3
O quadro 3 nos dá u m a ~ s o l u ç ã o ótima do PPL, porém x não a t e n d e a i n d a às c o n d i ç õ e s do problema e x 2 não se en-
1 c o n t r a na b a s e . Vamos i n t r o d u z i r x2 na b a s e , escolhendo min ( 0.3 1 ) =
-
3 0.4 1 4 e n t ã o x 2 e n t r a na b a s e , a s a i da b a s e e 0 . 4 é o pivÔ. Pro- 1 0quadro 4
Na linha z do quadro 4, existe a < O entao es-
0 j
1
colhendo min (
,
o, 75 ) =-
32.5 10 temos que a 10 entrana ba- se, a21 sai da base e 2.5 6 o pivÔ.
quadro 5
O quadro 5 nos dá uma solução Ótima do PPL onde x = 0.7 e x2 = O. Apenas x2 satisfaz as condições do problema
1
inteiro-misto; como o propósito do problema é ter também
x
= . O1 ou 1, recorreremos ao critério das penalidades deste algoritmo para encontrar a solução desejada.
41
Do quadro 5 temos que:
A p e n a l i d a d e v e r d a d e i r a p a r a c a d a v a r i á v e l b i n á r i a é dada p e l o c u s t o d a s v a r i á v e i s d u a i s na f u n ç ã o o b j e
-
t i v o , a s s i m Tabela de p e n a l i d a d e v e r d a d e i r a (mínima) A pseudo-penalidade é dada p o r : Do quadro 5 o s n í v e i s a? p a r a a s v a r i á v e i s ij b i n á r i a s na b a s e são:Calculando as peseudo-penalidades vem:
a) aiO = 0.3 ; a54 = -1
,
aO4 = 2Lembremos que as penalidades verdadeiras são aditivas enquanto que as falsas não o são. Consideraremos a penalidade falsa de uma variável binária que não esteja na base como sendo zero para efeito de formação da tabela de pe
-
nalidades e para a escolha da estratégia a ser pesquisada.Tabela de penalidades
Uma vez tendo os níveis 0-1, as possíveis so- Penalidades verdadeiras
I
O
luções a serem pesquisadas são:
a
= o
ps = máx{C p' j
,
máx p!'}JDevemos escolher uma solução que produza a de
-
gradação máxima da função objetivo, pois nosso problema é de maximiza~ão, caso contrário escolheríamos aquela que produz a degradação mínima da função objetivo.Seja ps o custo associado ao desenvolvimento de uma solução S a ser pesquisada. Temos que p é escolhido
S como :
Como p = 1.05 é escolhido teremos que S
Introduzamos agora o vetor A-b. a fim de produ- /
zir uma inviabilidade no quadro Ótimo do simplex, pela subs- tituição de
bcont=
Como xl = 1 p e l a pç e s c o l h i d a vem: e n t ã o reentremos
(3
Como x = O p e l a pS e s c o l h i d a vem: 2 e n t ã o r e e n t r e m o s P o r t a n t oO novo vetor b do quadro
-
é:b - -
-novo (-Ab)
-
+bcont
onde
8-1
é a matriz citada no início e b-
con t o vetor da solução Ótima continua
I M L- P mB O rl. rn O O O
.
. I+
+
ooorlrlo0
II I I 1 cycyrlcyrlcy I.
.
L
ri ri& 4 0 O O I I I r1 0 O O I I 0000r(0 0000rl0 000rl00 000rl00 00000rl 00000rlS u b s t i t u i n d o
dcont
dnovoquadro 6
no quadro 5 vem:
Notemos que há uma i n v i a b i l i d a d e no prima1 pe- l o quadro 6 , i . e , o n í v e l a i l = - 0 . 3 < O . A f i m de remover e s t a i n v i a b i l i d a d e , usemos o c r i t é r i o de s e l e ç ã o do pivÔ no método d u a l do simplex.
4 1 . 4
Escolhendo m i n { l T l r
I
= 1 . 4 0.4temos que aZ1 e n t r a n a b a s e , a s a i da b a s e e -0.4 é o pivÔ. 11
quadro 7 O v a l o r da função o b j e t i v o p a s s o u de 9.3 p a r a 8.25, a r e d u ç ã o 1.05 (9.3-8.25 = 1.05) c o r r e s p o n d e a pseudo pe- n a l i d a d e a s s o c i a d a a a como f o i d i t o a n t e r i o r m e n t e , i . e , a e- 11 l i m i n a ç ã o de
ali
da b a s e reduz o v a l o r da f u n ç ã o o b j e t i v o no m í-
a ok-
nimo d e ( a * -1).
máx{ i j aI
k = l , n ; aRk < O}. Rk convém l e m b r a r a q u i que a p e n a l i d a d e v e r d a d e i r a (mínima) p a r a f a z e r a l a . v a r i á v e l i n t e i r a i g u a l2a. v a r i á v e l i n t e i r a i g u a l a O(X2=0) é dada p o r :
. A
-
-
= ( - 1 , 0 0 0 4 )I;]=
o
-
P e l o quadro 7 temos que o n z v e l aqo < O
e n t ã o p e l o c r i t é r i o de s e l e ç ã o do pivÔ no método d u a l do s i m - p l e x vem:
Escolhendo min{
1
0 . 5 - 2 . 5I ' =
2 . 5 vem q u ex
3 e n t r a na b a s e , a s a i da b a s e e - 2 . 5 é o pivÔ. 2 0 quadro 8-
z :
x X X - X a 1 : 2 : 3 . 4:
X 1O quadro 8 nos mostra que uma s o l u ç ã o i n t e i r a f o i e n c o n t r a d a
x = 1 e x2 = O atendem a s condições do pro-
1
blema
b = 8 . 1 o , i n t
Suponhamos agora a seleção de um novo n í v e l de solução desejada, considerando o item D 6 do algoritmo. Temos ainda 3 p o s s í v e i s soluções que s ã o ( 0 . 0 )
,
( 0 , I ) e (1,l)a ) Para p
( 0 1 0 ) temos xl = x 2 = O E p ; = O e p i = 1 . 4
Sabe-se que b
-
-
9 . 3 e boIint = 8 . 1 o , cont b b = 1 . 2 o, cont o , i n t L p; < (bo,cont - b o , i n t1
b) Para p ( 0 1 1 ) temos x 1 = O e x2 = 1 c ) Para p (111) temos xl = x2 = 1 E P; (bolcont b o , i n t1
P; < (bo,cont - b o , i n t1
Obseryando a s r e l a ç õ e s (1) em a ) , ( 2 ) em b) e( 3 ) em c ) vemos que nenhuma d e s t a s soluções melhorara o v a l o r da função o b j e t i v o . Mostremos que i s t o é verdade consideran- do P ( 0 , l ) e voltando ao item D 2 do algoritmo.
paço solução viável. Como x =O e x =1 vem: 1 2
"
i
x+
alo = 1 1+
a 10 = l então -x+
asl =o
1 a 11 = O reentremos1
3 entao reentremos(
Portanto Ab = wO quadro acima nos mostra que há uma i n v i a b i l i
-
dade. Escolhendo min (1
1 )
= 2, x e n t r a n a b a s e , 4 alo s a i da b a s e e -1 é o pivÔ. f Em r e l a ç ã o á s o l u ç ã o e n c o n t r a d a a n t e r i o r m e n t e (X1 = 1 e x2 = O ) , pode-se n o t a r que a s o l u ç ã o o b t i d a no Ú l t i-
mo quadro (xl = O e x = 1) é p i o r do que a q u e l a e n c o n t r a d a 2
a n t e r i o r m e n t e ( s o l u ç ã o Ótima i n t e i r a - m i s t a )
.
Tomaremos agora um exemplo maior que o a n t e r i - o r , a fim de que possamos p o s t e r i o r m e n t e f a z e r uma compara- ção, t e n d o e m v i s t a uma modificação p r o p o s t a p o r S t a n l e y Z i o n t s 1 1 3 1 . Exemplo 2 Consideremos o PPL Max Z = 5x
+
2x2 1\
x1,
x2 i n t e i r o sO exame d a s r e s t r i ç õ e s acima nos mostra que u- ma c o t a s u p e r i o r p a r a x é 3 (2a. r e s t r i ç ã o ) e que uma c o t a
1
s u p e r i o r p a r a x é 4 ( l a . r e s t r i ç ã o )
.
2Tomando xl e x como soma de v a r i á v e i s b i n á r i -
2
S u b s t i t u i n d o xl e x2 no PPL o r i g i n a l e a c r e s c e n t a n d o a s r e s t r i ç õ e s p a r a c a d a n i v e l de v a r i á v e l i n - t e i r a vem:
4 . O . k :
a .
r d . 5 .a .
4
O O
U
CI) 'a,
% o n t = (1811/2,1/2,1,111,111,1/211/2,0,0)'
No quadro 6
,
8 2 2 > 1. Como 62; deve s e r Oou 1 p e l a s condições do problema, teremos que b e l a de p e n a l i d a d e s .
c r i t é r i o de pseudo-penalidade:
J
c o n s t r u i r a t a
-
P e n a l i d a d e mínima ou v e r d a d e i r a ( a d i t i v a s ) : Custo d a s v a r i á v e i s d u a i s no quadro ótimo con
-
t inuo.
Para uma v a r i á v e l que não se e n c o n t r e na ba- s e , admitiremos s u a pseudo p e n a l i d a d e como sendo z e r o p a r a e f e i t o da t a b e l a a ser formada.
Tabela d e p e n a l i d a d e s v e r d a d e i r a s
a06 = O ; a 0 7 = O ; aO8 = 1
o
o
(O. 5-1)
. ~ Z X { ~ ,
-
1T a b e l a de p e n a l i d a d e s
P e n a l i d a d e s v e r d a d e i r a s
Pseudo-penalidades P;
Escolha da solução a ser pesquisada:
Escolhendo min ps temos 4 possibilidades
Vamos tomar p
(3,l) para pesquisar a solução
(3,l)
,
então x1=3 e x2=1 ( a l = 1, a2 = 1).
Foi verifica- do para este exemplo que o vator Ab = ( 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 1 1 0 1 0 1 0 1 0 )-1
dnovo = 8% ( - ~ b )
+
Gcont
tem-seSubstituindo
Gcont
por %ovo no quadro ótimo
3.1- O método d e Driebeek segundo S t a n l e y Z i o n t s
S. Z i o n t s
,I
'
1
u s a apenas uma r e s t r i ç ã o p a r a cada v a r i á v e l i n t e i r a , a o i n v é s de um c o n j u n t o de r e s t r i ç õ e s p a r a cada n í v e l a c e i t á v e l de v a r i á v e l i n t e i r a . A m o d i f i c a ç ã o r e a l i z a d a p o r S. Z i o n t s não t e m s i d o usada em progxamas de computador, porque r e q u e r e x t e n s a s modificações n o s c ó d i g o s computacionais de programação l i n e a r e x i s t e n t e s . Segundo S. Z i o n t s , s e o PPL r e q u e r x como i v a r i á v e l i n t e i r a , e n t ã o x é e s c r i t o da s e g u i n t e forma: i n x = j a i j onde a = O ou 1 e i j = O i j n é um l i m i t e s u p e r i o r ( c o t a s u p e r i o r ) p a r a xi.-
P o r t a n t o xi=j s e a = 1 ( B a s t a que um c e r t o i j a = 1 , k s ' ( 0 , 1 , 2,...,
n ) p a r a q u e a = a = i k i 0 i1...
=a
i , k - l = = a-
-
i , k + l....
= a i n = 0.A s v a r i á v e i s i n t e i r a s e s c r i t a s s o b a forma a- cima s ã o s u b s t i t u í d a s no PPL o r i g i n a l , dando-nos a s s i m um no- vo problema.em termos d a s v a r i á v e i s b i n á r i a s i n t e i r a s e d a s v a r i á v e i s não n e g a t i v a s do PPL dado, a c r e s c i d o da r e s t r i ç ã o
( * )
.
A s o l u ç ã o Ótima é p e s q u i s a d a empregando o mé- t o d o simplex ou o d u a l do simplex conforme s e j a n e c e s s á r i o . Encontrada a s o l u ç ã o Ótima, escolhemos a s s o l u ç õ e s a serem p e s q u i s a d a s , de acordo com a t a b e l a de . p e n a l i d a d e s p r o p o s t a p o r Driebeek. ~ p Ó s a e s c o l h a d e s t a s soluçÕes, teremos encon- t r a d o um c e r t o a =1 p a r a uma v a r i á v e l x e e n t ã o o espaço s o i j i
-
l u ç ã o s e r á l i m i t a d o p o r um c o r t e , a c r e s c e n t a n d o no quadro do Ótimo c o n t í n u o a s s e g u i n t e s r e s t r i ç õ e s : E s t e f a t o não o b r i g a a encontramos a s o l u ç ã o d e s e j a d a p a r a c e r t a e s t r a t é g i a ; s e i s t o o c o r r e é n e c e s s á r i o s e l e c i o n a r um novo n í v e l de s o l u ç ã o d e s e j a d a . A m a t r i z B-Ie o v e t o r Ab-não s ã o usados comho p r o p ó s i t o de p r o d u z i r i n v i
-
5-
S. Zionts
Consideraremos aqui o 20 exemplo dado no capí- tulo 11, o qual foi desenvolvido segundo o artigo original de Norman J. Driebeek.
Seja o PPL
Max Z = 5x
+
2x2 1xl, x2 inteiros
Como x e x tem limites superiores respectiva
1 2
-
S u b s t i t u i n d o (1) e ( 2 ) na função o b j e t i v o e n a s r e s t r i ç õ e s do PPL dado vem:
3 ( a l 1 + 2 a i 2 + 3 a 1 3 )
+
a 2 1 + 2 a 2 2 + 3 a 2 3 + 4 a 2 4 + ~ 4 = 11Tomando o quadro do simplex vem: Quadro 1 Escolhendo Min(-5,-10,-15,-2,-4,-6,-8) = -15 9 11 1 M i n ( T r y r T ) = 1
,
a i a e n t r a n a b a s e , s a i x 4 d a b a s e e 9 é o pivÔ Quadro 2 Escolhendo Min ( - 2 , - 4 , -6, -8) = -8 e n t r a n a b a s e , s a i xg d a b a s e e 8 é o pivÔ.O quadro 3 nos dá uma s o l u ç ã o ótima do PPL
3
*
*
(2*=18; a * =
--
2 4 8 a , , = l , x2=1/2; a ~ ~ = 5 / 8 ) , porém a24 e a20 não s a t i s f a z a s c o n d i ç õ e s do problema i n t e i r o - m i s t o ; teremos p o i s que c o n s t r u i r a t a b e l a de p e n a l i d a d e s p a r a a s v a r i á v e i s b i n á r i a s . P e n a l i d a d e v e r d a d e i r a : c u s t o d a s v a r i á v e i s du- a i s no quadro da s o l u ç ã o ótima c o n t i n u a . Tabela de p e n a l i d a d e v e r d a d e i r a ~ á l c u l o d a s pseudo-penalidades
*
a ) a , 3 = 1 e a 2 k < O não e x i s t e p e l o quadro 3 , (1-1).
*
= Oa = 9 ; a = 6 ; a = 3 01' 02 0 3 9 6 3 5 (--
-
1) máx {-12,-12,-12) = ( --
15 8 8 ) ( - 1 2 ) =-
2 Tabela de p e n a l i d a d e s P e n a l i d a d e v e r d a d e i r a Pseudo-penalidade ~ s t r a t é g i a a ser explorada:Escolhendo min ps temos 3 p o s s i b i l i d a d e s
Tendo em v i s t a a r e s o l u ç ã o do 2 0 exemplo no c a p i t u l o 11, escolheremos p
( 3 r 1) e n t ã o :
Como a l 3 e s t á na base do ótimo contínuo, a c r e s
tentemos p o i s uma nova r e s t r i ç ã o envolvendo a21, p o i s e s t a v a r i á v e l p e l a solução e s c o l h i d a deve s e r i g u a l a 1 e não s e encontra na base.
Pelo f a t o de a 2 ~ s e r i g u a l a 1, então podemos a c r e s c e n t a r a s r e s t r i ç õ e s :
Colocando v a r i á v e i s de folga vem:
Acrescentando agora o c o r t e r e a l i z a d o ao qua- dro 4 vem:
Quadro 4 método dual do O quadro 5 é prima1 inviável; simplex vem:
o
min(1-I)= O,
a21 entra na -1 então base, pelo critério de seleção-
sai da base e -1 é do pivô do o pivô.Quadro 5 ... . . ... ... ... O quadro 6 é prima1 inviável, escolhendo ~in(l 1 -1/8
I
) = 8,
x3 entra na base, azo sai da base e-
-
é o pivõ. 8Suponhamos u s a r o c u s t o p
( 3 A i e n t ã o a s o l u -
ç ã o a s e r p e s q u i s a d a
6
S = (3,2)l o g o a l 3 =' 1 ( j = 3 ) ; a 2 2 = 1 ( j = 2 )
Considerando o quadro do Ótimo c o n t i n u o , a l e s t á na b a s e com v a l o r 1; porém a22 não e s t á n a b a s e . Como a2 2 = 1, a c r e s c e n t a n d o a s r e s t r i ç õ e s
o
O quadro 6 prima1 inviãvel, introduzindo a22 na base (rninl-1) -1£h2
sai da base e -1 é o piv6.rd
a
rl k a, 5 tsl a, k rd \a, O 16 F: rd a rd k c, Ft o:
a, o \ rd 0' 5 rl O (I] rd a, 5 tsl.
-
P o3
rd 5 tP O rl a, PI a, rn I rd 3 k a, (I] A O I a, k a, ci.
h M.
M V O 1 rd Un 5 rl$
rl a, 3 ,ri rn rn O Ql d rd k rd Ql O E$
E O k a, N rdv
(I] O E rd k 5 U O k PI rd T I 3 rd a O ci a, C/1.
8
a, rl A O ka
O rl a, Ql rda
rd k c, c o U F: a, rd c, (I] a,3 . 3 . - comparação e n t r e um problema r e s o l v i d o segundo o a r t i - go de Norman J . Driebeek e a r e s o l u ç ã o p e l a m o d i f i c a - ç ã o p r o p o s t a p o r S t a n l e y Z i o n t s
A vantagem do a r t i g o o r i g i n a l s o b r e a d e s c r i - ç ã o de Z i o n t s é o não aumento da m a t r i z A do Ótimo c o n t í n u o , porém o problema de c o n v e r g ê n c i a mais ou menos r á p i d a , depen
-
de do t i p o de problema que e s t á sendo examinado.P a r a o exemplo a n t e r i o r , a s o l u ç ã o segundo o a r t i g o o r i g i n a l e x i g i u 10 i t e r a ç õ e s ; a formação da m a t r i z 8-I a s s i m como a i n t r o d u â ã o do v e t o r Ab
-
,
embora não s e j a m complicadas, fazem com q u e demoremos um pouco mais do que se t i v é s s e m o s i n t r o d u z i d o mais uma r e s t r i ç ã o no PPL como Z i o n t s propôs. N e s t e exemplo, c o n s i d e r a n d o o modo, de Z i o n t s e s c r e - v e r uma v a r i á v e l i n t e i r a , a convergência f o i muito mais r á p i-
d a , porém convém r e s s a l t a r que i s t o f o i um c a s o i s o l a d o .3 . 4 . - O a l g o r i t m o de Driebeek segundo S t a n l e y Z i o n t s
Considerando Z i o n t s , o a l g o r i t m o de Driebeek pode s e r enunciado como s e segue:
(1) ~ e s o l u ç ã o do PPL c o r r e s p o n d e n t e
( 2 ) s e l e ç ã o de um n í v e l d e s e j a d o p a r a cada v a r i á v e l i n t e i - r a . Usualmente s e l e c i o n a - s e o n í v e l que c o r r e s p o n d e a