federal university of rio de janeiro - uma resolucÃo para ... · os métodos de programação...

127
UMA RESOLUCÃO PARA PROGRAMAS MISTOS PELO &TODO DE DRIEBEEK Humberto do Nascimento Carreira RIO DE JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS (M.Sc. ) Aprovada por : Prof. Nelson Maculan ~Alho Presidente -4a. o Lizardo R.H. ddraújo pró£. Paulo O. Boav ntura Neto 1 RIO DE JANEIRO, BRASIL ABRIL DE 1977

Upload: others

Post on 01-Jan-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

UMA RESOLUCÃO PARA PROGRAMAS MISTOS

PELO &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 JANEIRO COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A

OBTENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS (M.Sc . )

A p r o v a d a por :

P r o f . N e l s o n M a c u l a n ~ A l h o

Pres idente

-4a. o L i z a r d o R.H. d d r a ú j o

pró£. P a u l o O. B o a v n t u r a N e t o 1

R I O DE JANEIRO, B R A S I L

ABRIL DE 1977

Page 2: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

CARREIRA, HUMBERTO DO NASCIMENTO

UMA RESOLUÇÃO PARA PROGRAMAS MISTOS PELO 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 (COPPE-UFRJ, M . S c . ,

E n g e n h a r i a de S i s t e m a s e ~omputação, 1 9 7 7 ) .

T e s e - U n i v . Fed. R i o de Janeiro. Fac. E n g e -

n h a r i a

1. p r o g r a m a ç ã o In te i r a I. COPPE/UFRJ 11. UMA

RESOLUÇÃO PARA PROGRAMAS MISTOS PELO METODO DE DRIEBEEK.

Page 3: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 a

(1927-1976)

Page 4: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

iii

A Mauriceia,

A Isabela.

Page 5: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

AGRADECIMENTOS

A s provas de amizade que receb i foram inúmeras. A todos que

cooperaram para que e s t e t r aba lho f o s s e concre t izado, o meu

mais s ince ro agradecimento.

Ao Prof . Nelson Maculan Fi lho , que sempre m e o r i en tou com de-

dicação in igua láve l . Ao Maculan que e s t á sempre d i s p o s t o a

a judar e que f o i de uma capacidade d e compreensão inca lcu lá -

v e l durante momentos extremamente d i f í c e i s pe los q u a i s passe i .

Qualquer forma de agradecimento é i n s i g n i f i c a n t e ; a minha e-

t e r n a g ra t idão .

Aos Professores ~ o ã o Lizardo R.H. de ~ r a Ú j o e Paulo Oswaldo

Boaventura Neto p e l a s sugestões e c r í t i c a s f e i t a s a o t r aba lho .

A Profa . ~ u l c i n g i a de Lourdes Varela F e r r e i r a , minha mestra

no IMUFRJ, que muito me ajudou e incent ivou, o meu reconheci-

mento.

A Cel ia Regina de 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

Centro de Tecnologia da UFRJ pe lo apoio e irrestri ta amizade.

Aos Professores Terc io 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) pe lo apoio e incen t ivo que me de-

r a m .

Page 6: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

A Mauriceia, Yeda, Marilda e Getulio.

A Suely Klajman que datilografou os originais o meu mais sin - cera agradecimento.

Page 7: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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

~étodo 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ção

sobre o artigo original de Driebeek.

Page 8: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

v i i

This work p resen t s a method due t o Norman J.

Driebeek f o r so lv ing mixed programming problems conta in ing

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 . References t o t h i s

method a r e sca rce 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 viewpoint. This work i s devided i n t o t h r e e

p a r t s , p l u s an appendice containing two programs f o r t h e given

examples. The f i r s t p a r t conta ins a study about mixed and

integer-programming methods; t h e second p a r t p resen t s t h e

Driebeek method, which l i m i t s t h e s e t of poss ib le 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 given; t h e

t h i r d p a r t s t u d i e s t h e Driebeek method according t o Stanley

Ziohts making a comparison with t h e o r i g i n a l paper of Driebeek.

Page 9: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

viii

' . 'ÍNDI'CE

páginas

CAP~TULO I - INTRODUÇÃO 1

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

1.1.3. - Algoritmo (Primal) totalmente Intei - r0 3

1.2. Métodos de Enumeração ~mplicita 4

1.2.1. - ~êtodo de numeração ~mplicita de Balas 4

1.2.2. - Método de Driebeek 1.3. Método de Branch and Bound

1.4. situação do algoritmo de Driebeek

CAPÍTULO I1 - construção do algoritmo de Driebeek 12

2.1. Generalidades sobre o método simplex 12

2.2. Aplicação na resolução do sistema As=6 - - 15

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

Driebeek 35

Page 10: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

páginas

7 3

3.1. O método de Driebeek segundo S tan ley

Zionts 73

3.2. Exemplo de apl icação 75

3.3. Comparação e n t r e o método de Driebeek

segundo o a r t i g o o r i g i n a l e segundo

S tan ley Zionts

3.4. Algoritmo de Driebeek segundo Stanley

Zionts

BIBLIOGRAFIA

APÊNDICE

Page 11: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 icas d e a 1 -

guns desses métodos se 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 Corte

- Métodos d e numeração ~ m p l k i t a

- ~ ê t o d o de Branch and Bound

1.1.- Metodos de Corte

1.1.1. - Algoritmo f r a c i o n á r i o para programação i n t e i r a

este algori tmo 6 baseado no a r t i g o de Gomory,

1 1 "An algori thm 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"

- Prince ton - I B M - November 1958. O problema l i n e a r é r e so l - '

vido s e j a pe lo primal, pe lo dual ou ,pelo primal-dual. Se o

problema t e m solução f i n i t a , a coluna zero do quadro ótimo nos

fornece ãio - > O. Se todos o s ãio forem i n t e i r o s , en tão a s so-

Page 12: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

luções do problema l i n e a r e do problema l i n e a r i n t e i r o coin-

+ cidem. Se .ocorre que um c e r t o ã L Z+ uIO} ( Z , é o con-jun- i o

t o dos 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 é adicionada (Cor-

t e de Gomory) provocando uma i n v i a b i l i d a d e no primal do qua-

dro Ótimo. Esta env iab i l idade é removida usando o método do

dual do simplex e e s t e procedimento é r e p e t i d o a t é que tenha - mos todos 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 r i o - - t e ) transforma o quadro pr imal v i á v e l e m primal não v i á v e l ,

e s i g n i f i c a que a solução v igen te r ep resen ta um v é r t i c e do

pol iedro d e soluções não sa t i s fazendo 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 solução i n t e i r a v i á v e l , e

de s e e spe ra r que após um c e r t o número de c o r t e s , s e tenha

uma solução in-beira Ótima. A prova de convergência é f e i t a

supondo-se um l i m i t e i n f e r i o r para a no caso 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 , todos os

componentes da coluna zero do quadro, tornam-se i n t e i r o s não

negativos, ou que não há solução v iáve l .

1 . 1 . 2 . - Algoritmo (Dual) Totalmente I n t e i r o 0

Es te algori tmo é baseado no a r t i g o de Gomory,

1 ' 1 A 1 1 - In tege r In teger Programming Algorithm" - IBM - Research Center Report - RC - 189 - January 1960.

O método simplex dual l e x i c o g r á f i c o é usado e

a p a r t i r de qualquer l i n h a primal i n v i á v e l é gerado um c o r t e ,

cu ja r e s t r i ç ã o é adicionada no f i n a l do quadro. pós a d i c i o -

Page 13: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

nar 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 de escolha ,

teremos obt ido um pivÔ i g u a l a -1, e este s e encontra na me-

nor coluna no sent ido l ex icográ f i co . A escolha desse p ivõ

f a z com que o quadro s e j a sempre d u a l v i á v e l e ao mesmo t e m -

po dá o maior decréscimo na coluna de í n d i c e zero do quadro.

A prova da convergencia d e s t e algori tmo é f e i -

t a por absurdo, pa r t indo d a s h ipóteses de que aoo é l imi tado

infer iormente e de que o algori tmo 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 algori tmo é baseado no a r t i g o de 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 (M1-Integer) In tege r

Programrning Algorithm" - J. ORSA, 1 6 ( 4 ) ( J u l y - August 1968) . Sua caracterist . ic.a é em cada e tapa o b t e r uma solução não p i o r

que a a n t e r i o r e t e m uma grande vantagem sobre ou t ros métodos

que é a poss ib i l idade d e interromper o s c á l c u l o s ao f i n a l de

qualquer e t apa , an tes de a t i n g i r a solução ótima, conseguin-

do assim uma solução "boa" v i á v e l para o problema, a qua l se -

rã t a n t o melhor quanto maior f o r o número d e e t apas , desde

que não ha ja degenerescência.

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 geração de

um c o r t e de Gomory a p a r t i r da 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 cujo va lo r é i g u a l a 1 e que

garante a prima1 v i a b i l i d a d e após o pivoteamento.

Page 14: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Tendo em v i s t a o f a t o de poder ocor re r degene -

rescência , i .e , o fenômeno de ciclagem, a prova d e convergên -

tia d e s t e algori tmo é f e i t a mediante c e r t a s modificações ne-

c e s s á r i a s , e e s t a s fazem com que o fenômeno de ciclagem per-

s i s t a por um c e r t o número f i n i t o de i t e r a ç õ e s . E s t a s modifi -

cações, propostas por GLOVER, podem s e r encontradas em:

1. INTEGER PROGRAMMING AND NETWORK FLOWS

T.C.HU - PG.292/310

2 . LINEAR AND INTEGER PROGRAMMING

S.ZIONTS - PG.353

1 . 2 . 1 . - ~ é t o d o de numeração ~ m p l i c i t a de Balas

O p r i n c i p i o de enumeração i m p l í c i t a é o desen - volvimento em forma de arborescência t a l que para um PPL com

n v a r i á v e i s d o t i p o 0-1 s e garanta a enumeração de todas a s - n 2 soluções do PPL de maneira i m p l í c i t a . A i d é i a do a l g o r i t -

mo de Balas é p a r t i r de uma solução 6 v i á v e l , introduzindo O

uma regra de parada e uma r e g r a de r e to rno 5 enumeração, de-

senvolvendo descendentes de 6 . Para cada solução examinada O

e s t a r á associado um valor s o l da função o b j e t i v o associado

ã melhor solução v i á v e l encontrada anter iormente à solução

examinada. - Se a t é o momento de examinar uma c e r t a solução,

Page 15: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

não t i v e r aparecido uma solução v i á v e l en tão Z = + w s o l f c 2

s o de minimização. (se maximização E - - s o l -

Parada

parar-se-á e m uma solução 6 i . e , não se rão P '

examinados seus descendentes se:

a ) 6p é uma solução v i á v e l

N~ = @ , onde N é a união do conjunto de i n

P - dites que não pertencem a J (con j . dos h d i -

P ces das 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 P

combinação dos x j E N , que dê uma so- j ' P

lução descendente v iáve l .

O r e to rno a enumeração é f e i t o da segu in te forma:

Atingida uma solução do problema, consideram-

se todas as soluções que pertencem a o caminho, desde a solu-

ção de p a r t i d a a t é à solução a t i n g i d a , c lass i f icando-as e m

ordem decrescente . Encontrada uma o u t r a solução no caminho,

aplicam-se a s r e g r a s da solução descendente, que s e r á gerada

mediante c e r t o s c r i t é r i o s d e geração e a s r e g r a s de parada

dadas anteriormente.

Quando todas a s soluções não puderem m a i s ge-

r a r descendentes, en tão o processo para. Se 5 0 1

= + en-

t ão o problema não tem solução v iáve l ; Se

f o r f i n i t o a

Page 16: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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

Page 17: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

s e r á mostrado detalhadamente o método, que é o o b j e t i v o d e s t e

t r aba lho .

O p r i n c í p i o d a "Branch-and-Bound" ganhou impul -

s o em 1960 por A. H. LAND e A. G. D O I G em seu a r t i g o "An

Automatic Method o£ Solving Disc re te Programrning Problems" -

Economebrica, 2 8 , pgs.497-520, 1960.

O método requer o uso do simplex e t a n t o pode

r e s o l v e r um problema in te i ro -mis to como um problema totalmen - t e i n t e i r o . Achada uma soluçã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 da seguin te forma:

Cada desigualdade acima dá origem a uma nova

r e s t r i ç ã o e um novo problema pode ser reso lv ido 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 ea l i zado . Es te procedimento pode s e r r e p e t i d o a t é que

tenhamos a solução i n t e i r a desejada. A l i s t a de soluções ob-

t i d a s pode s e r esquematizada por meio de uma á rvore b i n á r i a ,

sendo a r a i z da á rvore a solução não i n t e i r a , obsenve-se que

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

Page 18: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

solvidos.

A fim de alcançar a solução desejada, é possi -

vel apl icar conhecimentos de programação heuris t ica 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 inteira-mista" .

Na construção de modelos de programação l ine-

a r , aparece frequentemente a necessidade de se r e s t r i n g i r a1 - gumas variáveis a valores in te i ros .

Tais res t r ições podem ser motivadas pela natu - reza do problema: por exemplo, o número de aviões voando en-

t r e dois aeroportos ou a construção de uma estrutura com um

número discreto de l a j e s . Por outro lado, as res t r ições in-

t e i r a s são valiosas quando usadas em combinações com um gru-

po de aproximações l ineares 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 direção aos métodos para resolução de problemas de

programação inteira-mista.

G. B. Dantzig,lll em seu a r t igo "On the

Significance of Solving Linear Programrning Problems with some

Integer V ~ i a b l e s ' - Econometrica, 28, NQ 1, January 1 9 6 0 ,

Page 19: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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

Page 20: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

a va lo res i n t e i r o s .

No algoritmo, 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 -

almente d e s c r i t a s como uma soma de v a r i á v e i s cont inuas , cada

qua l com c o t a super io r i g u a l a 1. Adicionam-se v a r i á v e i s de

f o l g a para complementar e s t a s v a r i á v e i s cont ínuas 0 -1 e ob -

tém-se uma solução para um programa l i n e a r comum. Faz-se a

segu i r uma a n á l i s e de s e n s i b i l i d a d e sobre cada vlariável in-

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 da a n á l i s e de s e n s i b i l i d a -

de são usados para c o n s t r u i r uma t a b e l a de penal idades, a s *

qua i s são i n d i c a t i v a s de uma redução no v a l o r do funcional

l i n e a r , quando o espaço solução v i á v e l é reduzido pa ra v á r i o s

n í v e i s i n t e i r o s .

A matr iz o r i g i n a l é cons t ru ida de uma maneira

e s p e c i f i c a , d e modo que a s soluções i n t e i r a s podem s e r d e f i -

n idas a t r a v é s da introdução de um ve to r Ab no quadro da so lu e - - ção Ótima continua. (coluna Z do quadro ó t imo) . soluções i n

t e i r a s v á l i d a s são ob t idas pe lo dua l do simplex aqui a p l i c a -

do algumas vêzes.

Uma escolha para a solução Ótima in te i r a -mis ta

é f e i t a tomando-se por base a t a b e l a de penalidades. pós uma

solução ótima t e r s i d o ob t ida , a escolha para a solução Ó t i -

ma in te i r a -mis ta 6 r e s t r i n g i d a para somente aquelas soluções

i n t e i r a s c u j a s penal idades mínimas combinadas são menores que

a d i fe rença e n t r e o v a l o r da função objetivo no quadro Ótimo

continuo e a mais r ecen te solução in te i r a -mis ta v á l i d a .

A busca para a solução Ótima i n t e i r a - m i s t a é

r e a l i z a d a efetuando-se c o r t e s no quadro Ótimo cont inuo do

simplex, que obrigam ao problema admi t i r uma solução i n t e i r a -

Page 21: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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.

Page 22: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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

que também pode ser escrito como:

Page 23: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

min x o

C o m c , X E R ~ , 0 & R m e b & R m

Por outro lado, podemos escrever o sistema

acima como:

onde :

Considerando Ax = b , se ja B uma matriz qua- - - .

drada associada à solução básica de Ax = b formada por m co- e - -

lunas de A. Seja x o vetor das variáveis básicas e cB o ve -B - t o r custo associado a x Escolhamos (xOl E ~ ) para repre-

-B'

sentar as var iaveis básicas, então a matriz % formada por

( m + l ) colunas de  será:

Page 24: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 ~ , . . . , ~ -C ) pois

n n

Assim,

Page 25: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Por outro lado,

e definindo

-1 B b = (valores assumidos pelas variáveis básicas) - -B

B -1 - bo + C - B b = x (valor assumidos pela função obje- - o

t ivo )

o PPL pode s e r escr i to :

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

t r i ção , são realizadas

2.2.- Vamos considerar uma aplicação na resolução de A 2 - = 6

Exemplo :

Consideremos o PPL

Page 26: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

M i n x = x + x 2 + x o 1 3

As variáveis básicas de = d são representadas - M

por :

Page 27: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

; d e t B = 1

Multiplicando ambos os membros da igualdade

Page 28: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Evidentemente E 3 - l ~ = A

Portanto

zl-C1 z2-C* . . . . . . . . 8-1, =

- x l g6 ' 1 x2 . . . . . . . . . .

Page 29: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

B -1 b o + C B b = 0 + 1 3 = 1 3 - -

Portanto o sistema poderá se r e s c r i t o como:

e x são os valores assumidos pelas variáveis básicas -B

(-i = (5,3,5) ) , x é o valor assumido pela função objet ivo - O Q (% = 13)

Page 30: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 :

Introduzindo variáveis de folga em (1) vem:

Page 31: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Mostraremos que o sistema primitivo contém n

( B j + l ) res t r ições . Suponhamos x I' X 2 t D - , x n var iáveis j =i

i n t e i r a s e = 5 um l imi te superior j

Page 32: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Considerando a l a . desigualdade de (3) vem:

Para (3) correspondente a xl temos ( 8 .+1) = 6 7

r e s t r i ç õ e s . Como o s i s tema pr imi t ivo tem n v a r i á v e i s , então - o t o t a l de r e s t r i ç õ e s é

Seja b o v e t o r de f in ido pe los têrmos indepen- - dentes de ( 2 ) ; então passando a forma de quadro vem:

Page 33: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 34: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

A s l i n h a s de r e s t r i ç õ e s associadas com a s v a r i - - ave i s de f o l g a a na solução i n i c i a l são consideradas como

i j

r e s t r i ç õ e s i n t e i r a s não a t ivadas ; porém e s t a s poderão ser a t i - vadas após a obtenção da solução Ótima cont inua pe la sub t ra -

ção do v e t o r Ab - do ve to r b.

Cada l i n h a associada com uma v a r i á v e l d e fo lga

i n t e i r a , pode s e r usada como poss íve l l i m i t e do espaço solu-

ção, para um dado i n t e i r o desde O a t é n.

--1 E s t e ve to r Ab em combinação com a matr iz B

é usado por Driebeek para provocar uma mudança do quadro ó t i -

mo primal v i á v e l em primal não v iáve l com o propós i to d e che-

gar ã solução.

Quando ativamos o 29 membro de ( 2 ) por

i = O , 9 vemos que x toma o va lo r i para toda solução de j -

De f a t o , s e o 2 9 membro de ( 2 ) f o r e s c r i t o co-

temos :

Page 35: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

então

então

Se o 2 0 membro de (2) for escrito como

temos :

como x = l J tijk + x = l j j

Observamos que quando fazemos b - Abl, começa - - mos a resolver o sistema acima pela segunda equação e os ou-

Page 36: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Concluimos e n t ã o que s e o 2 9 membro de ( 2 ) f o r

a t ivado por Ab teremos: - i

Por tanto x = i. j

Quando a matr iz é cons t ru iaa p e l a maneira des-

c r i t a no quadro, a introdução do ve to r Ab reduz o v a l o r da - função o b j e t i v o para um ótimo continuo (b c o n t ) de ii. Ab, on-

O - - de - il é o dua l associado à matriz 8-I correspondente a base de

ve to res da solução ótima cont inua. Ab e o ve to r paramétr ico - . usado para l i m i t a r o espaço solução v i á v e l e rep resen ta um

decréscimo no va lo r da funçã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 ivadas . A introdução do ve to r Ab pode pro- - duz i r algumas inv iab i l idades , que podem s e r eliminadas usan-

do o c r i t é r i o de pivoteamento do dua l do simplex.

N ~ O se pode. e s t a r c e r t o da introdução d e i n v i -

a b i l i d a d e s , mas sabe-se que a var iação E.Ab será i n c o r r i d a , a w -

e s t a var iação chamamos penal idade mínima ou penalidade verda-

d e i r a .

Quando.ocorre i n v i a b i l i g a d e por n.Ab , a pena- - - l i dade verdadei ra é i n c o r r i d a e o espaço solução do problema

em re lação às va r i áve i s i n t e i r a s é reduzido pa ra um simples

Page 37: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

ponto i n t e i r o . Neste ponto, nota-se que na mul t ip l icação

ii.Ab , a penalidade verdadei ra (mínima) é a soma dos cus tos - - reduzidos dos a que e s t ã o associados com a s r e s t r i ç õ e s i n -

i j

t e i r a s a t ivadas .

Por exemplo:

n.Ab = 2. + 2 .4 = 4 . 4 , que representa a pena- - - l i d a d e mínima para fa*zer a pr imeira 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 cada va -

r i á v e l i n t e i r a 6 soma de um conjunto 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 caso do exemplo acima o n í v e l escolh ido pa-

r a l i m i t a r o espaço solução f o i o nzvel ( 2 , l ) .

Quando uma vac iáve l de f o l g a e s t á na base , sua

penalidade verdadei ra é zero (po i s o cus to da v a r i á v e l dua l 6

z e r o ) , e m caso c o n t r á r i o o v a l o r da penalidade verdadei ra é o

va lo r da v a r i á v e l d u a l como no caso de a e a 1 2 2 1 '

Cabe perguntar como s e poderá. a t i v a r uma restri -

ção s e uma v a r i á v e l de fo lga e s t á na base ( i .e , o c u s t o da va - r i á v e l dual é z e r o ) . I s t o poderá s e r f e i t o estimando-se aque -

l a penalidade verdadei ra (mínima) por uma pseudo-penalidade.

Suponhamos que a v a r i á v e l de f o l g a a e s t e j a i j

na base Ótima, en tão seu n í v e l a* (va lo r ob t ido no quadro da i j

Page 38: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

soluçã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 -

subt ra ído o v e t o r Ab - com Abi = 1 e examinando a solução pa ra

e s t e problema modificado, associado com a base Ótima do nosso

problema o r i g i n a l , podemos encont rar uma nova va r i áve l a ' cu i j - j o va lo r é:

então

e a re lação acima nos mostra que podemos provocar i n v i a b i l i d a -

de, i . e , o quadro Ótimo que é primal v i á v e l , passa a condição

de primal não v iáve l . Exceto no caso em que a ' = 0, uma i n - i j

v i a b i l i d a d e é in t roduzida e pode ser eliminada pe lo algori tmo

dual do simplex; sua eliminação reduz o va lo r da função obje-

t i v o no r.:,iniriio de : :

onde A = (a ) é a matr iz do Ótimo contínuo, a o c u s t o redu j k ok -

zido da k-ésima va r i áve l da solução ótima cont ínua e - R o i n d i - c e da mesma l i n h a ocupada por a i j na base do Ótimo contínuo.

A re lação ( * ) é chamada-pseudo-penalidade associada com a r e s -

t r i ç ã o do a o r i g i n a l . i j

~ n t ã o para cada 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 associado uma penalidade verdadei ra e uma pseudo-penali -

dade. Es tas penalidades representam a redução no va lo r da

fiunção o b j e t i v o , quando o espaço solução é reduzido para um

n í v e l de v a r i á v e l i n t e i r a correspondente. Se queremos pesqui -

Page 39: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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.

Page 40: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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:

Page 41: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

2.5. - ALGORITMO DE DRIEBEEK -

DO - Resolva o PPL correspondente.

D 1 - Selecione um n i v e l desejado para cada v a r i á v e l in-

t e i r a . Usualmente se lec ione o n í v e l i n t e i r o que

corresponda a mais baixa penalidade em cada conjun -

t o .

D 2 - Construa um ve to r Ab, o que l i m i t a o espaço solu- - ção v iáve l para os n í v e i s i n t e i r o s desejados.

D3 - Mult ipl ique 8 - ' ( -~b) - e adicione bcont

dcont é o ve to r solução do quadro ótimo c o n t i -

nuo .

D4 - Faça as i t e r a ç õ e s do dual quando necessár io para - e

l iminar todas a s inv iab i l idades i n c o r r i d a s e m bnovo.

Quando uma solução dual i l i m i t a d a (prima1 i n v i á v e l )

é encontrada, vá para D 6 .

Se o va lo r da função ob je t ivo decresce para uma s o -

lução i n t e i r a préviamente ca lculada vá para D6,

senão vá para D5.

Page 42: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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

Page 43: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

FLUXOGRAMA DO ALGORITMO 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

Page 44: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

APÕS A ELDENA@~ DE TODAS AS INVI ABILIDAES, GUARDE O VKDR DA l?UNX @O ORJETIW E A S O L ~ O IXTEIRA ENCONTRADA

Page 45: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 3

I -07 = -x + 0 . 4 ~ ~ -i- x 1 3 - X4

Podemos escrever o PPL

max z = 1 0 - xl - x - 2

Introduzimos na função

da seguinte forma:

objet ivo uma variável a r t i f i -

c i a l de grande coef ic iente em valor absoluto 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 outro lado,

Page 46: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Como n=l vem:

Sabe-se que:

e n t ã o :

Page 47: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 1

da variável dual nulo, sendo assim, multipliquemos a 2a. li-

nha por M e subtraiamos a la. linha do quadro

Page 48: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

quadro 2

EscoLhendo

min ( 1 - M , 3-M) = 1-M

min ( o. 7 1 1

, -) = 0.7 1

a temos que xl s a i da base , e n t r a x na base e 1

1 é o pivõ.

Page 49: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

quadro 3

O quadro 3 nos dá uma~solução ótima do PPL, porém

x não atende ainda às condições do problema e x2 não se en- 1

cont ra na base.

Vamos i n t r o d u z i r x2 na base, escolhendo

min ( 0.3 1 3 ) = - 0.4 1 4

en tão x2 e n t r a na base, a s a i da base e 0 . 4 é o pivÔ. Pro- 1 0

cedendo a s i t e r a ç õ e s do simplex como anter iormente temos:

Page 50: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

quadro 4

Na linha z do quadro 4, existe a < O entao es- 0 j

1 colhendo min ( , o, 75 3 ) = - 2.5 10 temos que a entrana ba- 10

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 = . O 1

ou 1, recorreremos ao critério das penalidades deste algoritmo

para encontrar a solução desejada.

Page 51: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

41

Do quadro 5 temos que:

A penal idade verdadei ra para cada v a r i á v e l

b i n á r i a é dada pe lo cus to das v a r i á v e i s dua i s na função ob je - t i v o , assim

Tabela de penalidade verdadeira (mínima)

A pseudo-penalidade é dada por:

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 base são:

Page 52: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Calculando as peseudo-penalidades vem:

a) aiO = 0.3 ; a54 = -1 , aO4 = 2

Lembremos 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 1 o a 2 0 = o

Page 53: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

ps = máx{C p' , máx p!'} j J

Devemos 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= Sabe-se que:

Page 54: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Como xl = 1 p e l a pç esco lh ida vem:

en tão reentremos (3

Como x = O p e l a pS esco lh ida vem: 2

en tão reentremos

Por tan to

Page 55: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

O 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

Page 56: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

I M

L-

P

mB

O

r

l.

rn

O

O

O

. .

I + +

o

oo

rl

rl

o

0

II I

I 1

cy

cy

rl

cy

rl

cy

I

. . L

r

i

ri&

4

0

O

O

I I

I

r1

0

O

O

I I

00

00

r(

0

00

00

rl

0

00

0r

l0

0

00

0r

l0

0

00

00

0r

l

00

00

0r

l

Page 57: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Subst i tu indo dcont dnovo

quadro 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 inv iab i l idade , usemos o c r i t é r i o de se leção do pivÔ no

método dual do simplex.

4 1 . 4 Escolhendo m i n { l T l r I 1 . 4 = 0.4

temos que aZ1 e n t r a na base, a sai da base e -0.4 é o pivÔ. 11

Page 58: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

quadro 7

O va lo r da função o b j e t i v o passou de 9.3 para

8.25, a redução 1.05 (9.3-8.25 = 1.05) corresponde a pseudo pe-

na l idade associada a a como f o i d i t o anter iormente, i . e , a e- 11

liminação de ali da base reduz o v a l o r da função o b j e t i v o no m í - a ok -

nimo de (a* -1) . máx{ i j a I k = l , n ; aRk < O}.

Rk

convém lembrar aqu i que a penal idade verdadei ra

(mínima) para 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 l

2a. v a r i á v e l i n t e i r a i g u a l a O(X2=0) é dada por:

. A - - = ( - 1 , 0 0 0 4 ) I;]= o

-

Pelo quadro 7 temos que o nzvel aqo < O

en tão pe lo c r i t é r i o de s e l e ç ã o do pivÔ no método dual do s i m -

p l ex vem:

Page 59: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Escolhendo min{ 1 0 . 5 - 2 . 5

vem que x I ' = 2 . 5 3

e n t r a na base, a s a i da base e - 2 . 5 é o pivÔ. 2 0

quadro 8

- z : x X

a X - X

1: 2 : 3 . 4 : X 1

O quadro 8 nos mostra que uma solução i n t e i r a

f o i encontrada

x = 1 e x2 = O atendem a s condições do pro- 1

blema

b = 8.1 o , i n t

Page 60: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Suponhamos agora a seleção de um novo n íve l de

solução desejada, considerando o item D 6 do algoritmo. Temos

ainda 3 possíveis soluções que são ( 0 . 0 ) , ( 0 ,I) e (1,l)

a) Para p ( 0 1 0 )

temos xl = x = O 2

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

b) Para p ( 0 1 1 )

temos x = O e x2 = 1 1

c ) Para p (111)

temos xl = x2 = 1

E P; (bolcont b o , i n t 1

P; < (bo,cont - b o , i n t 1

Obseryando as relações (1) em a ) , ( 2 ) em b) e

( 3 ) em c ) vemos que nenhuma destas soluções melhorara o valor

da função objet ivo. Mostremos que i s t o é verdade consideran-

do P ( 0 , l ) e voltando ao item D 2 do algoritmo.

Construamos um novo vetor Ab para l imi t a r o e s - -

Page 61: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

paço solução viável. Como x =O e x =1 vem: 1 2

" i x + alo = 1 1 a = l

+ 10 então

-x + asl = o 1 a = O 11

reentremos

1 3 entao

reentremos (

Portanto Ab = w

Page 62: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 63: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

O 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 base e -1 é o pivÔ.

f

Em re lação á solução encontrada anteriormente

(X1 = 1 e x2 = O ) , pode-se notar que a solução obt ida no Ú l t i -

Page 64: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

mo quadro (xl = O e x = 1) é p i o r do que aquela encontrada 2

anteriormente (solução Ótima in te i ra-mis ta) . Tomaremos agora um exemplo maior que o an t e r i -

o r , a fim de que possamos posteriormente faze r uma compara-

ção, tendo e m v i s t a uma modificação proposta por Stanley

Zionts 1 1 3 1 .

Exemplo 2

Consideremos o PPL

Max Z = 5x + 2x2 1

\ x1 , x2 i n t e i r o s

O exame das r e s t r i ç õ e s acima nos mostra que u-

ma co ta super ior para x é 3 (2a. r e s t r i ç ã o ) e que uma co t a 1

super ior para x é 4 ( l a . r e s t r i ç ã o ) . 2

Tomando xl e x como soma de va r i áve i s b iná r i - 2

a s vem que:

Page 65: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Subst i tu indo xl e x2 no PPL o r i g i n a l e

acrescentando as r e s t r i ç õ e s pa ra cada n i v e l de v a r i á v e l i n -

t e i r a vem:

Page 66: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 67: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

4 .

O . k : a. r d . 5 . a.

Page 68: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

4 O

O

U CI)

'a, W 4

Page 69: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 70: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 71: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 72: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 73: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

%ont = (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 O

ou 1 p e l a s condições do problema, teremos que

bela de penalidades.

c r i t é r i o de pseudo-penalidade:

J

cons t ru i r a t a -

Penalidade mínima ou verdadeira ( a d i t i v a s ) :

Custo das va r iáve i s duais no quadro ótimo con -

t inuo . Para uma var iáve l que não se encontre na ba-

se , admitiremos sua pseudo penalidade como sendo zero para

e f e i t o da tabela a ser formada.

Tabela de penalidades verdadeiras

Calculando a s pseudo-penalidades vem:

Page 74: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

a06 = O ; a = O ; 0 7 aO8 = 1

o o (O. 5-1) . ~ Z X { ~ , - 1 -1 ' -1/2 1 = (-0.5) .0 = O

Page 75: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Tabela de penalidades

Penalidades verdadei ras

Pseudo-penalidades

P;

~ o s s i v e i s soluções a serem pesquisadas:

Page 76: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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

limita o espaço solução viável.

Page 77: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 78: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

dnovo = 8% ( - ~ b ) + Gcont tem-se

Substituindo Gcont por %ovo no quadro ótimo

continuo vem:

Page 79: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 80: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 81: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 82: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 83: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

3.1- O método de Driebeek segundo Stanley Zionts

S. Zionts , I ' 1 usa 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 , ao invés de um conjunto 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 modificação

r e a l i z a d a por S. Zionts não t e m s i d o usada em progxamas de

computador, porque requer ex tensas modificações nos códigos

computacionais de programação l i n e a r e x i s t e n t e s .

Segundo S. Zionts , s e o PPL requer x como i

v a r i á v e l i n t e i r a , en tão x é e s c r i t o da segu in te forma: i

n x = ja 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 ( co ta s u p e r i o r ) para xi. -

Por tanto xi=j se a = 1 (Basta 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 i ,k-l= ... = a

= a - - i , k + l .... = a = 0. i n

Page 84: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 sob 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 assim um no-

vo problema.em termos das v a r i á v e i s b i n á r i a s i n t e i r a s e das

v a r i á v e i s não negat ivas do PPL dado, ac resc ido da r e s t r i ç ã o

( * ) . A solução Ótima é pesquisada empregando o mé-

todo simplex ou o dual do simplex conforme s e j a necessár io .

Encontrada a solução Ótima, escolhemos a s soluções a serem

pesquisadas, de acordo com a t a b e l a de .penal idades proposta

por Driebeek. ~ p Ó s a escolha d e s t a s soluçÕes, teremos encon-

t r a d o um c e r t o a =1 para uma v a r i á v e l x e en tão o espaço s o i j i - lução s e r á l imi tado por um c o r t e , acrescentando no quadro do

Ótimo contínuo as segu in tes r e s t r i ç õ e s :

E s t e f a t o não obr iga a encontramos a solução

desejada para c e r t a e s t r a t é g i a ; s e i s t o ocorre é necessá r io

se lec ionar um novo n í v e l de solução desejada. A mat r iz B-I

e o v e t o r Ab-não são usados comho propós i to de produzi r i n v i - 5

- a b i l i d a d e s , po i s o c o r t e f e i t o nos dá e s t a condição.

Page 85: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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 1

xl, x2 inteiros

Como x e x tem limites superiores respectiva 1 2 -

mente iguais a 3 e 4 podemos escrever.

Page 86: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Subst i tu indo (1) e ( 2 ) na função o b j e t i v o e

nas r e s t r i ç õ e s do PPL dado vem:

3(al1+2ai2+3a13) + a 2 1 + 2 a 2 2 + 3 a 2 3 + 4 a 2 4 + ~ 4 = 11

O PPL passa en tão a t e r a s e g u i n t e disposição:

Page 87: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Tomando o quadro do simplex vem:

Quadro 1

Escolhendo Min(-5,-10,-15,-2,-4,-6,-8) = -15

9 11 1 Min(TryrT) = 1 , a i a e n t r a

na b a s e , s a i x 4 da base e 9 é o pivÔ

Quadro 2

Escolhendo Min (-2, -4 , -6, -8) = -8

e n t r a na base, s a i xg da base e 8 é o pivÔ.

Page 88: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 89: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

O quadro 3 nos dá uma soluçã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 as condições do problema in te i ro -mis to ; teremos

p o i s que c o n s t r u i r a t a b e l a de penalidades para a s v a r i á v e i s

b i n á r i a s .

Penalidade verdadeira: cus to das v a r i á v e i s du-

a i s no quadro da solução ótima cont inua.

Tabela de penalidade verdadeira

~ á l c u l o das pseudo-penalidades

* a ) a , 3 = 1 e a2k < O não e x i s t e pe lo quadro 3 , (1-1) . * = O

Page 90: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

a = 9 ; a = 6 ; a = 3 01' 02 03

9 6

3 5 (-- - 1) máx {-12,-12,-12) = ( - - 15

8 8 ) (-12) = - 2

Tabela de penalidades

Penalidade verdadeira

Pseudo-penalidade

~ s t r a t é g i a a ser explorada:

Page 91: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Escolhendo min ps temos 3 poss ib i l idades

Tendo em v i s t a a resolução do 20 exemplo no

c a p i t u l o 11, escolheremos p ( 3 r 1)

então:

Por conseguinte,

Page 92: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Como a l 3 e s t á na base do ótimo contínuo, acres

tentemos pois uma nova r e s t r i ção envolvendo a21, pois e s t a

variável pela solução escolhida deve s e r igual a 1 e não se

encontra na base.

Pelo f a to de a 2 ~ s e r igual a 1, então podemos

acrescentar as res t r ições:

Colocando variáveis de folga vem:

Acrescentando agora o cor te realizado ao qua-

dro 4 vem:

Page 93: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Qu

ad

ro

4

mét

od

o

du

al

do

O

qu

ad

ro

5

é p

rim

a1

in

viá

ve

l;

sim

ple

x v

em:

o m

in(1

-I)=

O

, a21

en

tra

na

-1

en

tão

ba

se

,

pe

lo c

rit

ér

io d

e s

ele

çã

o

- s

ai

da

ba

se

e

-1

é

do

piv

ô do

o

piv

ô.

Page 94: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Qu

ad

ro 5

.

..

..

.

. .

..

..

..

..

..

..

..

.

..

.

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

..

.

O q

ua

dro

6

é p

rim

a1

in

viá

ve

l,

esc

olh

en

do

~i

n(

l 1

-1/8

I )

= 8

, x3 e

ntr

a n

a b

ase

,

az

o

sa

i d

a b

ase

e

- -

é o p

ivõ

. 8

Page 95: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 96: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Suponhamos u s a r o cus to p ( 3 A i

então a solu-

ção a s e r pesquisada 6 S = (3,2)

logo al 3 =' 1 ( j = 3 ) ; a22 = 1 ( j = 2 )

Considerando o quadro do Ótimo cont inuo, a l

e s t á na base com v a l o r 1; porém a22 não e s t á na base. Como

a2 2 = 1, acrescentando as r e s t r i ç õ e s

vem :

Page 97: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

o O quadro

6 prima1 inviãvel, introduzindo a22 na b

ase

(rninl-1) -1

£h2

sai da b

ase

e -1

é o p

iv6

.

Page 98: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 99: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

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

o 3 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 rd v (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 k a O rl a, Ql

rd a rd k c, c o U F: a,

rd c, (I] a,

Page 100: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

3 . 3 . - comparação e n t r e um problema resolv ido segundo o a r t i -

go de Norman J . Driebeek e a resolução p e l a modifica-

ção proposta por S tanley Zionts

A vantagem do a r t i g o o r i g i n a l sobre a d e s c r i -

ção de Zionts é o não aumento da matr iz A do Ótimo cont ínuo,

porém o problema de convergência mais ou menos ráp ida , depen -

de do t i p o de problema que e s t á sendo examinado.

Para o exemplo a n t e r i o r , a solução segundo o

a r t i g o o r i g i n a l ex ig iu 10 i t e r a ç õ e s ; a formação da ma t r i z

8-I assim como a introduâão do v e t o r Ab - , embora não sejam

complicadas, fazem com que demoremos um pouco mais do que se

tivéssemos introduzido mais uma r e s t r i ç ã o no PPL como Zionts

propôs. Neste exemplo, considerando o modo, de Zionts e s c r e -

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

da, porém convém r e s s a l t a r que i s t o f o i um caso i so lado.

3 . 4 . - O algori tmo de Driebeek segundo Stanley Zionts

Considerando Zionts , o algoritmo de Driebeek

pode s e r enunciado como s e segue:

(1) ~ e s o l u ç ã o do PPL correspondente

( 2 ) s e l eção de um n í v e l desejado para cada v a r i á v e l i n t e i -

r a . Usualmente seleciona-se o n í v e l que corresponde a

Page 101: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

mais baixa penalidade e m cada conjunto.

( 3 ) ð imitação do espaço solução v i á v e l , p e l a introdução de

r e s t r i ç õ e s tendo em v i s t a a se leção do n í v e l de va r i á -

v e l i n t e i r a desejado, i .e , se a se leção de n i v e l impõe

a = 1 então acrescentamos a s r e s t r i ç õ e s i j

( 4 ) ~ p l i c a ç ã o do método dual do simplex para e~ l iminar a s in -

v iab i l idades no novo Qcont do PPL. Se uma solução dua l

i l i m i t a d a é encontrada ou s e o v a l o r da função o b j e t i v o

decresce pa ra uma solução previamente calculada vá para

( 6 ) , senão vá para (5)

(5) Quando todas a s i n v i a b i l i d a d e s t iverem s i d o el iminadas,

uma solução i n t e i r a v á l i d a é encontrada; guarda-se a s o -

lução e o va lo r da função ob je t ivo . (bo, i n t 1

(6) se leção de nova solução i n t e i r a desejada. Se C p! ou I

máx p'l f o r maior que (b - o ,cont bo , in t ) vá para ( 6 ) , se- 7

não vá para ( 2 ) . Se todas a s combinações poss íve i s t i v e - r e m s i d o inves t igadas d e s t a maheira pare. A solução do

problema misto é a melhor solução encontrada a n t e s de pa -

r a r .

Page 102: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

FLUXOGRALW- DO ALGORITNO DE D R I E B E E K SEGUNDO Z I O N T S

FZS~LUÇÃO DO PPL COIiTzEsPON- DENTE

SELEÇÃO DE UM N ~ V E L DESEJADO PARA CADA vAFX&S?EL

INTEIRA; USU- SELF:CIONA-SE O N%EL QUE

I CORIIESPrnrn W ms BAIXA PENALIDADE

APLICY$%O CO I@TOD~ DUAL DO S W I X X PARA ELDTINAR

AS INVIABlLiDPJlES EM bmvo

Page 103: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

w6s A ELJMIN~ÃO DE TODAS AS INVI ABiLIDADES, GUARDE O W R DA FUN= @O ORJETIVO E A -SOLU~ÃO INTEIRA ENCONTRADA

Page 104: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

BIBLIOGRAFIA

1 1 1 Dantizig, G. B . , "On t h e Signi f icance of Solving Linear

Programming Problems wi th Some In tege r Variables" - Eco-

nometrica, 28, n? 1, January.1960 - pp.30-44.

1 2 1 Driebeek, N. J., "An Algorithm For t h e Solu t ion o f

Mixed I n t e g e r Programming" - Management Science - V o l 1 2 ,

N? 7 , March 1966 - USA.

1 1 Gass , S. I. , Linear Programming, MCGRAW-HILL - ~ õ ~ a k u s h a -

3rd. ~ d i t i o n TOKYO 1969.

I ' I Gomory , R. E . , "An Algorithm for I n t e g e r Solu t ions t o

Linear Programs", Pr ince ton IBM Math. R e s . Report, N? 1,

November 1958.

1 1 Gomory , R. E . , I' Al i - Integer I n t e g e r Programming Algorithm" , IBM Research Center Report RC-18 9 , January 196 0.

1 1 Hadley , G. , Linear Programming, Addison Wesley Publ i sh ing

Company, Inc - 1962.

I ' I Hu, T. C. , In tege r Programming and Network Flows, Addison-

Wesley Publ i sh ing Company, I n c - 1969.

Page 105: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

Maculan F i l h o , N . , Notas de A u l a e m p r o g r a m a ç ã o I n t e i r a - M i s t a , COPPE-SISTEMAS, UFRJ, S e t e m b r o 1 9 7 4 .

Macu lan F i l h o , N . , Notas de A u l a e m ~rogramação In te i ra - Mista, COPPE-SISTEMAS, UFRJ, Novembro 1 9 7 6 .

Nascimento, P.., Notas de A u l a e m p r o g r a m a ç ã o L i n e a r ,

PROG. ENG. PRODUÇÃO, UFSC, 1 9 7 3 .

S i m o n n a r d , M., P r o g r a m m a t i o n ~ i n é a i r e , Dunod, P a r i s - 2 a . ~ d i ç ã o - 1972 .

Young, R. D. , "A S i m p l i f i e d P r i m a 1 ( A l l - I n t e g e r ) I n t e g e r

P rogramming A l g o r i t h m " , J. ORSA, 1 6 ( 4 ) ( J u l y - A u g u s t 1 9 6 8 )

750-782.

Z i o n t s , S . , L i n e a r and I n t e g e r P rogramming , P r e n t i c e -

B a l l , INC, 1 9 7 4 .

Page 106: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 107: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

L: E S T P S L ' H h J U T I ' 4 t P f i C C l l f , ~ {:I ~ I i l ~ : r o , , S I Y P L . ~ 4

* B A S E XRr12 f / ) 3.M RETURN

Page 108: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 109: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 110: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 111: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

6 0 0 *I I F f 1 Y Y e E G o 3 ) G C I T 7 4

0 -4 a

909 I R R - 3 4 * HTTL- tF ( E 2 K E T U R N W I: YOd DT! 9 5 3 2=.1r13 ei o DO 9 5 3 J = l r l ?

Page 112: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 113: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

G O T Q 189.1 8 9 1 f F < I X ( W 3 ) o G T * ? ) G J T " 1:30+

WSí!=WSZ+A( M J + l r l ) 1500 C O N T I N U E

S K I = U S l W C ( I F I x ( W S 1 ) / i l . l * Z . )

-? ã H I L = 1 w g G f l T C 152Q

$621 Uf1í1Ei5r1622)WSl

Page 114: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

L CALL f S T l ( t j l rPrb1 l r X A l r I A i í , i A )

C M Y = 1

7 5 1 D O 1 6 0 0 J j l T = l r l 2 1603 D E L T A < J > l T ) = i ) *

I F < I 4 M C H Y ) . E 3 . . . t ) f ;CTc? 7 5 6

- aE 2 O ù b t 3 i I r J l = A ( I r J + 7 ) - w 2003 C O N T I N U E

w W R I T ~ ( t ~ ~ 1 7 9 1 ) < ( 3 ( I , J ) r J = l r l Z ) ~ I = l * 1 2 l o 1 7 0 1 FOR~ATtlCiX, ' A Y A T K I ! :! L ~ L $ ~ C S U Y E 9 / / / 12 (3 ,Y ,F8 .3 I / / ) a »

Page 115: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

A ( I r l I = S * A C I r l ) 2003 COhT! YUE

H i < I I T ( ? r 1 7 ? 3 ) ( ( 4 ( I r J ) r J = l r l Y I r I ~ 1 r 1 2 ) 1 7 3 3 F G f { P 4 T ( l u X r ' G l * IATQIL A P ~ J 9 I h T H 7 ~ ) U C A R D E V E T O H 9ELTA f i / / l Q ( l ~ ~

Page 116: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

CL Z T 7 'AI =c( i A bdf C

r B W K í 3 3 5 i . i ~ ~ z x "7' - i: C' 0 Y L A L ~ ~ J . ~ b Q 2 c c l r

Z r = C L :r-c" 4 X 3 C L '?-

w e I-? r J ,: 7 Z *? C ? r

d * L ri 4 Z Q

C i I I 'XZ -7 r . 3 - <

c 3 . c ,z z 2 ?.h C C

: .:c+ -- v

U d < / : * * r L'?L, r/) Y "

L A--,.+ - C m r c r cl

Ili C l i rU X = ? E i2 L. cí) .- r C *.?e .c Z _u:.Q;fZ *-> 3 'Crc..: 13 1 ?'47 ,J

+C 9 - -T a i, e

V> 8 - - ! i * & W .-I 7 z !=i I - . A 4 O , r t U [ 2 C u W W W LL C- C-Lt.1'57C =1 h4 cr W 9 7 - Y & L 2

Tir;L: c ; n Y t ) L O II: b-ZrT;U t 4 U 1 X I J +C 'Y u -CAL1 lK LLJ a n e G

z h2- c, C cJn,c?z 22 L C ) . c l C L 1

Page 117: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 118: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 119: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 120: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 121: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 122: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 123: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 124: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita

UN

IVE

RS

IDA

DE

FE

DE

RA

L D

O R

IO D

E J

AN

EIR

O

NU

CL

EO

D

E C

OM

PU

TA

ÇA

O E

LE

TR

~N

ICA

nCY

mC

-4

UN

IVE

RS

IDA

DE

F

ED

ER

AL

DO

RIO

DE

JA

NE

IRO

N

~~

CL

EO

D

E C

OM

PU

TA

ÇA

O E

LE

TR

ON

ICA

çS

Tir

3n

T)

Page 125: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 126: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita
Page 127: Federal University of Rio de Janeiro - UMA RESOLUCÃO PARA ... · Os métodos de programação inteira são classifi- cados em: - Métodos de Corte - Métodos de numeração ~mplkita