UMA TECNICA DE PÓS -OTIMI ZAÇAO EM PROGRAMAÇAO
0 - 1 UTILIZANDO ENUMERAÇAO
IMPLICITA.
M a n u e l B e r n a r d i n o L i n o S a l v a d o r
T E S E SUBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DOS PROGRAMAS
DE POS-GRADUAÇÃO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO
R I O DE J A N E I R O COMO PARTE DOS R E Q U I S I T O S N E C E S S ~ R I O S PARA OB
-
TENÇÃO DO GRAU DE MESTRE EM CIÊNCIAS ( M . S c . )A p r o v a d a p o r : ( P r e s i d e n t e ) N e l s o n M a c u l a n ~ i l h d C l a u d i o T h o m a s B o r n s $ e i n P a u l o O . B o a v e n t u r a N e t t o
I
R I O DE J A N E I R O , . R J-
B R A S I L MARÇO DE 1 9 7 8RESUMEN
-
E l p r e s e n t e t r a b a j o t i e n e p o r o b j e t i v o d e s a r r o - 1 l . a r un a l g o r i t m o p a r a a n á l i s i s de s e n s i b i l i d a d y p o s t - o t i m i z a -
c i ó n em programaciÓn cero-uno, basado en e 1 a l g o r i t m o de enume -
r a c i ó n i m p l i c i t a de B a l a s . Son p r e s e n t a d a s l a s t é c n i c a s p a r a r e s o l v e r p r o - blemas de a n á l i s i s de s e n s i b i l i d a d y de p o s t - o t i m i z a c i 6 n de l a f u n c i ó n o b j e t i v o , de1 segundo m i e ~ l b r o y de 10s c o e f i c i e n t e s de I a s res t r i c c i o n e s
.
Tambien f u é e l a b o r a d o un programa en l è n g u a j e F o r t r a n p a r a r e s o l v e r e s t a c l a s s e de problemas.RES UM0 --
O p r e s e n t e t r a b a l h o tem p o r o b j e t i v o d e s e n v o l v e r um a l g o r i t m o p a r a a n á l i s e de s e n s i b i l i d a d e e p ~ s - o t i m i z a ç ã o em programação zero-um, b a s e a d o no a l g o r i t m o de enumeração i m p l i c i
-
t a de B a l a s .
São a p r e s e n t a d a s a s t é c n i c a s p a r a r e s o l v e r p r o - blemas de a n á l i s e de s e n s i b i l i d a d e e de pôs'-otimização d a f u n - ç ã o o b j e t i v o , do segundo membro e dos c o e f i c i e n t e s das r e s t r i - ç õ e s
Também f o i e l a b o r a d o um programa em l i n g u a g e m F o r t r a n p a r a r e s o l v e r e s t a c l a s s e de p r o b l e m a s .
ABSTRACT
T h i s work i n t e n d s t o d e v e l o p an a l g o r i t h m f o r s e n s i b i l i t y a n a l y s i s and p o s t - o p t i m a l i t y zero-one p r o -
gramming, based upon i m p l i c i t enurneration B a l a s ' a l g o -
r i t h m .
I t d e s c r i b e s t h e ways ( t e c h n i q u e s ) t o s o l v e p r o -
blems of s e n s i b i l i t y a n a l y s i s and p o s t - o p t i m a l i t y from o b j e c t i v e f u n c t i o n , of second member, and of t h e c o n s t r a i n e d c o e f f i c i e n t s .
I t was a l s o p r e p a r e d a FORTRAN program i n o r d e r t o s o l v e t h i s k i n d of problems.
AGRADE
-
CIMIENTOSA 1 p r o f e s o r ~ é l i x Eduardo Vaca Obando, o r i e n t a d o r y amigo que e n t o d o momento con a b s o l u t a s e g u r i d a d me m o s t r o e 1 camino a s e g u i r .
A l a COPPE; e n l a s p e r s o n a s : Coordinado-r d e 1 programa de I n g e - n e i r i a de S i s t e m a s y Computación P r o f . João L i z a r d o R. . H . de AraÚ
-
j o y a 1 P r o f . Nelson Maculan F i l h o , p o r l a s g r a n d e s f a c i l i d a d e s p r o p o r c i o n a d a s h a c i e n d o que e s t e t r a b a j o mej o r a s e . A 10s f u n c i o n a r i o s de l a B i b l i o t e c a C e n t r a l , e n e s p e c i a l a l a s e c c i o n p e r i ó d i c o s y r e v i s t a s p o r e 1 d e s p r e n d i m i e n t o y a t e n c i ó n . A 1 ~ Ú c l e o de Computación E l e c t r d n i c a p o r l a s f a c i l i d a d e s p r e s t a
-
d a s .A l a o r g a n i z a c i ó n de E s t a d o s Americanos (OEA) p o r e 1 apoyo f i - n a n c i e r o .
A t o d o s 10s que d i r e c t a o i n d i r e c t a m e n t e , c o l a b o r a r o n p a r a que m a r c a s e un h i t o mas en m i v i d a .
INDICE
I . I n t r o d u c c i o n
11. E 1 Problema de Programacion cero-uno 2 . 1 Forma g e n e r a l 2 . 2 Forma s t a n d a r d 2 . 3 O t r a s formas 2 . 4 D e f i n i c i o n e s 2 . 5 Notacion 111. Enumeracion I m p l i c i t a I V . E 1 Algoritmo de B a l a s 4 . 1 E 1 a l g o r i t m o 4 . 2 Generacion de1 c o n j u n t o Tsk 4 . 3 Ejemplo numerico de1 a l g o r i t m o 4 . 4 Algunas a p l i c a c i o n e s 4 . 4 . 1 . ~ e c u ~ e r a c i ó n de informacidn 4 . 4 . 2 Asignacion de r e c u r s o s I 4.4.3 P l a n i f i c a c i o n de v u e l o s J . E x t e n s i o n e s p a r a e 1 Algoritmo de Balas 5 . 1 Funcion o b j e t i v o n o - l i n e a l y r e s t r i c c i o n e s \ l i n e a l e s
5.2 Funcion o b j e t i v o y r e s t r i c c i o n e s con forma p o l i n o m i a l
V I . A n a l i s i s Post-Optimal en Programacion cero-uno p o r enumeracion i m p l i c i t a 6 . 1 G e n e r a l i d a d e s / 6 . 2 Algoritmo de c o l e c c i o n y c l a s i f i c a c i o n de s o l u c i o n e s p a r c i a l e s 6 . 3 A n a l i s i s P o s t - o p t i m a l P ~ G INA 1 3 3 4 5 5 7 8 11 1 4 1 5 1 7 2 4 2 4 30 33 3 7 3 7 4 0 43 43 4 4 4 9
PAGINA
6.3.1 Analisis de rango 50
6.3.1.1 Elementos de la derecha 50
6.3.1.2 Elementos de la funcion objetivo 52
6.3.1.3 Elementos de la matriz 52
6.3.2 Cambio de parametros 53
6.3.2.1 Cambio de 10s elementos de la de
-
recha 54
6.3.2.2 Cambio de 10s elementos de la fun
-
cion objetivo 5 5
6.3.2.3 Cambio en 10s elementos de la ma
-
triz
A
556.4 Ej emplo Ilustrativo de Analisis Post-optimal 55
6.4.1 Fase solucion
y
coleccion de solucionesparciales
6.4.2 Fase Post-optimal
6.4.2.1 Analisis de rango c
j bj 6.4.2.2 Cambio de parametros
VII.
Sistema de Soluciony
Post-optimazacion 0-177
Bibliografia
C A P I T U L O I
- - -
-
POST-OPTIMIZATION EN PROGRAMAC IÓN BIVALENTE
I. INTRODUC IÓN
Un g r a n número d e problemas d e d e c i s i ó n pue - d e n f o r m u l a r s e como problemas de p r o g r a m a c i ó n e n t e r a b i v a l e n t e , e s t o e s , p r o b l e m a s d e p r o g r a m a c i ó n e n t e r a c u y a s v a r i a b l e s s o l a - mente pueden a s u m i r v a l o r e s z e r o o u n o . Modelos m a t e m á t i c o s de
e s t a forma s i r v e n p a r a l a s o l u c i ó n d e : p r e s u p u e s t o s de c a p i t a
-
l e s , s e l e c c i ó n de p r o y e c t o s , f l u j o s y r e d e s de comunicaciÓn, r e c u p e r a c i ó n d e i n f o r m a c i ó n , d e s i g n a c i ó n de i n t e r r u p t o r e s de c i r c u i t o s , d e t e c c i ó n de def e c t o s , d e s i p a c i ó n d e e x p e r i m e n t o s , f a c i l i d a d de l o c a l i z a c i Ó n , p r o b l e m a s de d e s i g n a c i ó n , d i m e n s i o - namiento d e f l o t a s de v e ~ c u l o s y muchos o t r o s p r o b l e m a s . v á r i - o s de e s t o s p r o b l e m a s , m a t e m a t i c a m e n t e , pueden s e r a s o c i a d o s con g r a f o s y c o n s i d e r a d o s como p r o b l e m a s de o p t i m i z a c i ó n combi-
nat ó r
i a .La enumeraciõn i m p l z c i t a p e r t e n e c e a l a m i s
-
ma c l a s e g e n e r a l d e métodos de enumeración de1 t i p o Branch-and-Bound p r o p u e s t o p a r a programac iÓn e n t e r a - m i x t a por LAND Y D O I G
1
1 .
En e 1 p r e s e n t e t r a b a j o s e h a r á r e f e r e n c i a a 1 a l g o - r i t m o a d i t i v o d e s a r r o l l a d o p o r BALASI I .
E s t o s dos a l g o r i t m o s p r e s e n t a n d i f e r e n c i a s a p e s a r d e g e n e r a r ambos una r e d t i p oá r
-
b o l p a r a l a bÚsqueda de una s o l u c i ó n . E n t r e e s a s d i f e r e n c i a s t enemo s :a . E 1 a l g o r i t m o de Lang y Doig s e b a s a en l a s o l u c i ó n de un problema l i n e a l p a r a cada v é r t i c e de1 á r b o l , en c u a n t o e 1 a 1
-
goritmo de Balas u s a t e s t s l Ó g i c o s .b. La e s t r a t é g i a de bÜsqueda de1 a l g o r i t m o de Lang y Doig e s de1 t i p o :
"
BREADTH FIRST" que da como r e s u l t a d o un g r a n r e-
q u e r i m i e n t o de almacenamiento, m i e n t r a s que e 1 procedimento de Balas e s "DEPTH FIRST" da un módico r e q u e r i m i e n t o de a 1 -macenamiento.
ROODMAN 1 1 ° 1 y p o s t e r i o r m e n t e PIPER Y ZOL
-
TNERS I l 1 I han adaptado e 1 a l g o r i t m o de Balas p a r a h a c e r un
a n á l i s i s p o s t - o p t i m a l , Roodman c r e a e n t o n c e s , un método p a r a a n a l i s i s de Rango y cambios de p a r â m e t r o s . E 1 método e s b a s a - do primero en c o l e c c i o n a r i n f ormación d u r a n t e l a f a s e s o l u c i - ón, informhción que c o n s i s t e en un l i s t a de s o l u c i o n e s p a r c i a
-
l e s "sondeadas" por e 1 a l g o r i t m o . En l a f a s e p o s t - o p t i m a l s e h a r á un a n á l i s i s i n d i v i d u a l de cada una de e s t a s s o l u c i o n e s p a r c i a l e s sondeadas p a r a h a l l a r un nuevo óptimo s i é 1 e x i s t e .La s i m p l i c i d a d de 1 0 s t e s t s en e 1 a l g o r i t m o b á s i c o de B a l a s hacen p o s i b l e que en cada sondeo s e pueda a 1
-
macenar información de l a s o l u c i ó n p a r c i a l . Roodman, afiade a 1a l g o r i t m o de G e o f f r i o n un t e s t de i n v i a b i l i d a d que causa un sondeo v i o l e n t o y reduce e 1 número de i t e r a c i o n e s d e 1 a l g o
-
r i t m o .11. EL PROBLEMA DE PROGRAMACION ZERO-UNO
2 . 1 . La forma g e n e r a l de1 problema de programaci8n l i n e a l con v a r i a b l e s zero-uno puede s e r e s c r i t o como s i g u e :
H a l l a r x
-
que:Minimice (maximice) z =
-
c - xdonde
x
- = ( x . ) vector-columna con n componentes J
c = ( c . ) v e c t o r - f i l a con n componentes
-
JA = ( a . .) m a t r i z m x n
1 3
b = (bi) vector-columna com m componentes
-
c , A, b son c o n s t a n t e s c o n o c i d a s .
- -
2 . 2 . Forma S t a n d a r d de1 Modelo ~ a t e m á t i c o
La forma s t a n d a r d de1 problema de programa -
c i ó n zero-uno e s : min z =
- -
c x s u j e t o a : donde t o d o s 1 0 s c o e f i c i e n t e s de l a f u n c i ó n o b j e t i v o a minimi- z a r deben s e r NO NEGATIVOS. La f u n c i ó n o b j e t i v o ( 1 ' ) f a c i l m e n-
t e s e t r a n s f o r m a en (1) con e 1 s i g u i e n t e cambio de v a r i a b l e s : c! < O s i s e maximiza. J - r a c ' > O cuando s e maximiza. j Las r e s t r i c c i o n e s ( 2 ' ) s e t r a n s f o r m a n en ( 2 ) reemplazando t o - das l a s e c u a c i o n e s ( i g u a l d a d ) p o r dos i n e c u a c i o n e s y m u l t i p l i - cando p o r-
1 t o d a s l a s d e s i g u a l d a d e s de l a forma - >.
Entonces l a forma g e n e r a l ( P l ) e s t r a n s-
formada en l a forma s t a n d a r ( P 2 ) donde: c > O y x , c , A y b son o b t e n i d o s desde - -
-
--
x ' ,-
- C ' , A ' y-
b ' s e g ú n l a s t r a n s f o r m a c i o n e s a n t e r i o r e s . 2 . 3 . O t r a s Formas( P 2 ) también s e puede e x p r e s a r como:
n minimizar z = c j x j j = l donde 2 . 4 . D e f i n i c i o n e s D1
-
C u a l q u i e r n - v e c t o r b i n á r i o x - e s l l a m a-
do una SOLUCIÓN.D 2
-
Una s o l u c i ó n que s a t i s f a c e A x-
- < b e s llamada SOLUCIÓN POSIBLE.
D j
-
Una s o l u c i ó n p o s i b l e que minimiza ze s llamada de SOLUCIÓN OPTIMAL.
D 4
-
Una SOLUCIÓN PARCIAL e s una a s i g n a c i ó n de v a l o r e s b i n á r i o s a un subconjunto de l a s v a r i a b l e s xj *
D 5
-
Los elementos de1 s u b c o n j u n t o que cons -t i t u y e n una s o l u c i ó n p a r c i a l s e deno- minan de VARIABLES FIJAS que pueden t o -
mar v a l o r e s O
6
1.E 1 r e s t o de v a r i a b l e s son llamadas LIBRES.
D 6
-
S i a una s o i u c i õ n p a r c i a l s e i e a g r e - ga una v a r i a b l e (una l i b r e que va a ser f i j a d a ) s e d i r á que e s una SOLUCIÓN AUMENTADA.D 7
-
Una s o l u c i ó n p a r c i a l s e d i c e que e s DESCENDENTE de o t r a , s i puede s e r ob-
t e n i d a por aumento de e s t a Última.D8
-
Una s o l u c i ó n p a r c i a l e s COMPLETA s i desde l a Última s o l u c i ó n p a r c i a l s ef i j a n t o d a s l a s v a r i a b l e s l i b r e s . Denominaremos p o r Sk una s o l u c i ó n p a r c i a l c a r a c t e r i z a d a p o r e 1 c o n j u n t o Jk de i n d i c e s de l a s v a r i a b l e s x i g u a l e s a 1. Jk e s un c o n j u n t o ORDENADO t a l que m u e s t r a j l a h i s t o r i a de l a g e n e r a c i ó n de l a s v a r i a b l e s . A cada s o l u c i
-
Õn p a r c i a l e s t á a s o c i a d o un Z k v a l o r de l a f u n c i ó n o b j e t i v o de l a r e s p e c t i v a s o l u c i ó n p a r c i a l .Sea St una s o l u c i ó n p a r c i a l t a l que Jk C
J t , s e d i r á e n t o n c e s que St e s una s o l u c i ó n descenden
-
t e de Sk.C A P f T U L O 111
- - -
-
111. ENUMERACION IMPLICITA EnwneraciÕn I m p l i c i t a e s un método de p r o-
gramación e s p e c i a l m e n t e dedicado p a r a e 1 c a s o de v a r i a b l e s zero-uno (x = O 6 1 ) . E 1 p r i n c i p i o de e s t e método e s g e n e r a r juna r e d t i p o á r b o l t a l que g a r a n t i c e l a enumeración de t o - das l a s
zn
s o l u c i o n e s , t e n i e n d o como i d e a b á s i c a enumerar s i s-
tematicamente só10 un s u b c o n j u n t o de t o d a s l a s p o s i b l e s s o l u-
c i o n e s usando t e s t s l ó g i c o s y l a p r o p r i e d a d b i n á r i a , de t a l manera que s e a s e g u r e que, l a t o t a l i d a d de1 c o n j u n t o de s o l u -c i o n e s haya s i d o "examinado" i m p l i c i t a m e n t e , de a q u i e 1 nom -
b r e de1 método.
En g e n e r a l , e 1 e s p a c i o s o l u c i ó n de un p r o -
blema e n t e r o puede s e r engaÍíoso p o r poseer un número f i n i t o de p o s i b l e s p u n t o s v i a b l e s . Un método d i r e c t o p a r a r e s o l v e r problemas e n t e r o s e s l a enumeración e x a h u s t i v a o e x p l i c i t a de t o d o s 1 0 s p u n t o s . En e s t e c a s o , l a s o l u c i ó n o p t i m a l e s de -
terminada p o r e 1 punto (S) que da e 1 mejor v a l o r a l a f u n c i - ón o b j e t i v o .
La obvia d e s v a n t a j a de l a t é c n i c a a n t e r i - o r e s que e 1 número de p u n t o s s o l u c i ó n i m p r a c t i c a b l e m e n t e gran
-
d e , de como r e s u l t a d o que l a s o l u c i ó n no s e a e n c o n t r a d a en r a-
zonable tiempo médio. La i d e a de enumeración i m p l i c i t a , e s llamada a s í , p o r c o n s i d e r a r só10 una p o r c i ó n de t o d o s 1 0 s pg s i b l e s p u n t o s s o l u c i ó n , a 1 mismo tiempo que automaticamente d e s c a r t a a l g u n a s que no son v i a b l e s .Consideremos, a manera de i l u s t r a c i ó n , de
-
t e r m i n a r t o d a s l a s s o l u c i o n e s p o s i b l e s p a r a l a s i g u i e n t e i n e - cuación:Por s i m p l e i n s p e c c l ó n vemos que c u a l q u i e r s o l u c i ó n p o s i b l e t e n d r á
x 2
f i j a d a . i g u a 1 a 1. E s t o e s , c u a l-
q u i e r combinación b i n á r i a ( x l , O , x3) no puede d a r una s o l u -c i ó n v i a b l e . Quiere d e c i r que l a s combinaciones ( 0 , 0 , 0 ) , ( 1 , 0,O)
,
( 0 , 0 , 1 ) y ( 1 , 0 , 1 ) son automaticamente d e s c a r t a d a s . Da-
do que x 2 = 1 l a i n e c u a c i ó n queda como:x1 y x 3 deben tomar v a l o r e s t a l e s que a1 elemento de l a d e r e - cha no exceda de S . Como e 1 c o e f i c i e n t e de x l e s 3 , xl
7- debe
s e r f i j a d o en cero q u i e r e d e c i r que ( 1 1 O) 1 I ) são enume -
r a c i o n e s i m p l i c i t a s no v i a b l e s . De i g u a l manera e1 c o e f i c i e n - t e de x3 e s 5 y (O, 1 , l ) s e r á d e s c a r t a d o , l a Única combinación que r e s t a e s ( 0 , 1 , 0 ) que e s una s o l u c i ó n p o s i b l e p a r a l a i n e - c u a c i 6 n .
Para a p r e c i a r e 1 impacto de1 uso de enume- r a c i ó n i m p l í c i t a , representemos g r a f i c a m e n t e e s t a i d e a p a r a
e 1 ejemplo a n t e r i o r S o l u c i o n S o l u c i o n P o s i b l e Impos i b l e Sondeo '%,3 = 1 / 3=1 1 ,
iA3-:0
i
x3.0 x ~I
= ~ X3 S o l u c i o n S o l u c i o nf
La p r i m e r a c o n c l u s i ó n e s que x 2 debe s e r f i j a d a e n uno, e s t o e s , todos 1 0 s "brazos" de1 á r b o l que nacen de xZ=O son d e s - c a r t a d o s . En e s t e caso xZ=O e s llamado un "SONDEO". . ? a r a X 2 = I , l a i n e c u a c i ó n demuestra que x l = l no puede d a r una s o l u
-
ciÓn v i a b l e e s e n t o n c e s que ( x = 1 , xl = 1 ) e s un "SONDEO".2
Notemos que x 2 = 1 , xl = O, x 3 = 1 da una s o l u c i ó n i m p o s i b l e y x2 = 1 , x = O , x = O e s una s o l u c i ó n p o s i b l e . E s t o q u i e r e de
1 3
-
3
I V . E L ALGORITMO DE BALAS
E 1 c o n j u n t o de t o d a s l a s s o l u c i o n e s de1 pro -
blema (P2) e s i g u a l a z n , s i e n d o n e 1 número de v a r i a b l e s .
Por ejemplo s i n = 3 l a s s o l u c i o n e s r e p r e
-
s e n t a d a s en un á r b o l s e r i a n :E 1 a l g o r i t m o de Balas s e propone "Podar" e 1 á r b o l mediante t e s t s l ó g i c o s en cada v é r t i c e i u t i l i z a n d o también l a s p r o p r i e d a d e s i n h e r e n t e s de1 modelo.
E 1 modelo (P2) puede s e r modificado con l a i n t r o d u c c i ó n de v a r i a b l e s de h o l g u r a yi as::
Se v e r i f i c a que l a f u n c i ó n o b j e t i v o de1 pro - blema P3 s e r á siempre mayor'o i g u a l a c e r o p u e s t o que x
y c j j son n o - n e g a t i v o s p a r a todo j = 1 , 2 ,
...,
n . En e1 modelo (P3) s i yi = bi V i = 1 , 2 ,...,
n y s i x = O v j = 1 , 2,...,
m e n t o n c e s So = (.O,O,O,...,
O) e s una j s o l u c i ó n v i a b l e a 1 problema (P3).
E 1 a l g o r i t m o d e Balas s e baça en l a i d e a de p a r t i r de una s o l u c i ó n So v i a b l e t a l que Jo = @ e i r buscando una s o l u c i ó n p a r c i a l en cada n í v e l de1 á r b o l . La búsqueda de l a s o l u c i ó n e s hecha en p r o f u n d i d a d "podando" e1 á r b o l en cada s o l u c i ó n inviable e n c o n t r a d a , r e t o r n a n d o a l a ú l t i m a s o l u c i ó n par-
c i a 1 v i a b l e e n c o n t r a d a y r e i n i c i a r l a búsqueda en p r o f u n d i d a d . I n t u i t i v a m e n t e e 1 a l g o r i t m o d e Balas f u n c i o-
na como s i g u e :-
Paso 1 : P a r t i r de una s o l u c i ó n S o ; z =Paso 2 : Generar una soluciÓn S s i e s invia- i'
b l e , d e s i s t i r de l a b&squeda de s o l u c i o n e s d e s c e n d e n t e s de Si p o r que s e r á n p e o r e s ya que s e e s t á minimizando l a f u n c i ó n o b j e t i v o ; Paso 3 : R e t o r n a r a una s o l u c i 6 n p a r c i a l p o r e 1 camino r e c o r r i d o h a s t a Si y generarnuevamente una s o l u c i ó n S k * S i no e x i s t e n mas v a r i a b l e s a g g n e r a r
,
p a r a d a - f i n a l , s i n o comparar zk con z i . S i z k < z . d = 1 Z k ' i = k i r a paço 2 . G r a f i c a m e n t e i l u s t r a m o s e 1 p r o c e s o :5.
4 . 1 . Algoritmo ( * ) Paso O
-
PonerT
= + m y k = O, Sk =+
,
+- Paço 1-
S i t o d o s 1 0 s y > O i r a Paso 5 . çk-
Caso c o n t r á r i o c o n t i n u e . Paço 2-
C a l c u l a r e 1 c o n j u n t o Ts.
k > O p a r a algÚn i t a l que a i j-
Sk Paso 3-
S i yi+ - E
s k M a x { O , a i j ) e s me-
J &T n o r que z e r o p a r a a l g ú n i t a l que ySk < O i r a Paso 6 , en o t r o casoi
c o n t i n u e
.
( * )
-
E s t e a l g o r itmo e s una v e r s i ó n s i m p l i f i c a d a de1 a l g o r i t-
mo a d i t i v o de B a l a s , dado p o r ARTHUR M . GEOFFRION1 1
.
s e a e 1 máximo de m çk
2
min {yi + a i j , O } v j E T sk i=l k =k
+ 1 , S k + S k - 1 I r a Paço 1. - - ç kPaço 5
-
S i c x e s menor quez
e n t o n c e s-
z + c x S k y ~ + x- - sk
.
Sino Paço 6 .Paço 6
-
R e t o r n o : l o c a l i z a r e 1 elemento que e s t á mas a l a d e r e c h a aún no sub-
rayado, l i b e r a r 10s de l a d e r e c h a a 1 Último no s u b r a y a d o , s i n o e x i s -t e f i n . Caso c o n t r á r i o k = k + 1 , Sk + Sk *. 1 i r a Paço 1.
4 . 2 . Generación de1 Conjunto T Sk Vale l a pena d e t a l l a r l a g e n e r a c i ó n de 1 çk c o n j u n t o T d e f i n i d o como: k
T5k
= { j l i b r e / c-
x
- + c < y a . . > O p a r a a 1 j J-J - - gún z 1 t a l que ysf < 01.-
Sea por ejemplo la matrix
A Z
+y
=b
sien-supongamos ahora que
T
=y
todos 10s j libres. j represen-
tan las columnas e i las filas. Los yi <
O
son i = l ~ = i3.
Son válidas entonces solo las filas 1
y
3.De Los coeficientescorrespondientes a estas filas cumplen la condición só10 las columnas j = 1 , j = 3 n j = 5. Entonces e1 conjunto
4 . 3 . Ejemplo ~ u m é r i c o (Algoritmo de B a l a s ) Minimizar 5x1 + 7x2 + 10x3 + 3x4 + X5 s u j e t o a : -xl + 3x2
-
5 x 3-
x 4 +4x5-
'-2 <o
2x1-
6x2 + 3 x 3 + 2x4 -2x5 - X 2-
2 X 3 + X 4 + X 52-1
Aumentando l a s v a r i a b l e s de h o l g u r a .Paso O
-
K = O (C) e 1 c o n j u n t o de v a r i a b l e s l i b r e s ( j ) = { 1 , 2 , 3 , 4 , 5 ) . (Columnas) (F) c o n j u n t o de f i l a s t a l que yi e s menor que z e r o ( i ) = { 1 , 3 1 . Paso 2-
C á l c u l o de1 c o n j u n t o T :Vemos s i e x i s t e por 10 menos un a i j mayor que c e r o en l a s f i l a s de1 c o n j u n t o ( F ) p a r a l a s columnas l i b r e s , e s d e c i r e 1 c o n j u n t o (C). E s t o s e v e r i f i c a en l a columna c o r r e s p o n d i - e n t e a l a v a r i a b l e j = 1 y f i l a s 1 y 3 de (F) , 10s c o e f i c i e n t e s a son: i j
Analogamente para las columnas donde 3 por 10 menos u n aij
>
o.
-
...
Y1
-
. . . + l X 1. . . +
5 X 3 + 1 X 4Paso 3
-
Verificación si e1 conjuntoque zero. V i E
F.
Paso 4
-
Aumento de una v a r i a b l e j E T t a lm
que s e a máximo de
1
mín {yi + a i j ,i= 1
Max { - 4 , - 3 , - 5 1 = - 3 ,
lj=31
Paso 1
-
f i j a n d o l a v a r i a b l e 3 en 1 t e n e -C = {1,2,4,5) v a r i a b l e s l i b r e s ( 3 p r é f i j a d o )
1
P a s o 1 : y? = 3 + xl
-
3 x 1 + x4-
4 x 5y; =
o
P a s o 5
Como
C
.XS
= 1 7 e s menor quez
= e n t o n c e s- T
z
= 1 72
= ( O , l , l , O , O ).
P a s o 6 : S 3 = 1 3 , - 2 )
-
10 que i m p l i c a que r e -tornamos a x 3 = ( 0 , 0 , 1 , 0 , 0 ) , c = = C 1 , 4 , 5 ) .
= 3 + X 1
-
3x2 + X4-
4 x 5Paso 1 : yl
Notemos a q u i que j = 2 (columna 2)
no e n t r a en e 1 t e s t porque C ={I, 4 , 5 L Paso 2 : T = {5) ,
F
= (2). Paso 3 : i = 2 -3 + max(2,O) = -3+2 = -1 O Paso 6 : k = 4 4 Paso 1 : y l = -2 +xl
-
3x2 + 5x3 + x4 -4x5 = O -2x1 + 6x2 - 3x3 -2x4 +2x5 Y2 = -1 +0x1 - X 2 + 2x3-
Y 3 X4-
X 5 Paso 2 : T = {1,41F
= {1,3)Paço 6 : como todos 10s elementos de S es
-
tán subrayados entonces e1 algo- ritmo termina siendo la soluci6n Óp t ima :..
x
= (0,1,1,0,0) con = 17.E1 problema de seleción óptima de Archivos
puede ser tratado como u n problema de ProgramaciÓn Entera Biva
-
lente.
Se trata de1 problema de extración óptima de una información que está contenida en varios archivos.
E1 almacenamiento tlpico de un Sistema de Información contiene numerosos items clasificados en categori-
a s de v á r i a s formas. Cada c a t e g o r i a p o r ejemplo puede c o n t e
-
n e r : c i u d a d , s e c t o r i n d u s t r i a l , t i p o de produto y a s ? s u c e s i -vamente.
Un r e g i s t r o de información c o n t i e n e d i v e r - s o s i t e m s que pueden p e r t e n e c e r a una o más y d i f e r e n t e s c a t e -
g o r i a s . Un r e g i s t r o puede s u m a r i z a r información c o n c i s a e x t r a -
Ida desde un documento p u b l i c a d o o n o , una f u e n t e v e r b a l , u o t r a i n f o r m a c i ó n o f u e n t e i n t e l i g e n t e . Un a r c h i v o de informa- c i ó n c o n t i e n e un número grande de r e g i s t r o s .
E1
Problema de ~ e c u p e r a c i ó n Un s i s t e m a de almacenamiento g e n e r a l puede s e r c l a s i f i c a d o con r e s p e c t o a 1 0 s r e g i s t r o s en s u p e r - c a t e g o - r i a s y que c o n s t i t u i r á un a r c h i v o d i s t i n t o . Cada a r c h i v o en-
t o n c e s c o n t i e n e r e g i s t r o s con i t e m s c o r r e s p o n d i e n t e s a l a s mas d e t a l l a d a s c a t e g o r i a s , s i s t e m a llamado también como, s i s tema m u l t i p l o de almacenamiento de Archivo de D a t o s , e cuya c a r a c t e r i s t i c a t í p i c a e s l a simuTtaniedad de c a r a c t e r e s , e s t o e s , un r e g i s t r o dado puede c o n t e n e r i n f o r m a c i ó n r e l a t i v a a más de una s u p e r c a t e g o r i a y p o r e s t a r a z ó n puede s e r que e s t ád u p l i c a d o en d i v e r s a s p a r t e s de1 s i s t e m a . Un pedido de i n f o r - mación p a r a un c i e r t o i t e m , e s p e c í f i c o y p e r t e n e c i e n t e a una c a t e g o r i a puede s e r s o l u c i o n a d a con l a búsqueda en 1 0 s d i f e -
r e n t e s a r c h i v o s , en c o n s e c u e n c i a un g r a n consumo de tiempo
,
p o r l a g r a n c a n t i d a d de composiciones. S i s e t i e n e un g r a n nÚ-
mero de p e d i d o s e 1 tiempo consumido e n l a búsqueda de1 a r c h i -vo s e h a r á c o n s i d e r a b l e . E 1 problema e n e s t e c a s o s e r á minimi
-
z a r e 1 tiempo de s e l e c c i ó n d e 1 a r c h i v o y búsqueda d e 1 r e g i s-
t r o , c o n e 1 i t e m c o r r e s p o n d i e n t e.
E 1 problema g e n e r a l de m i-
n i m i z a r tiempo de computador e n p r o c e s o s g r a n d e s , con muchos g r u p o s de p e d i d o s e s c o m p l i c a d o , p o r f a c t o r e s t é c n i c o s p r ó p r i-
o s d e 1 computador, número d e c i n t a s o a r c h i v o s que pueden s e r i n t e r r o g a d o s s i m u l t a n e a m e n t e , a s ? como tamb i é n l a e s t r u c t u r a y l o n g i t u d de 10s d i v e r s o s a r c h i v o s y l a s p r i o r i d a d e s de 10s d i - v e r s o s p e d i d o s . Modelo p a r a e 1 Problema E 1 modelo de s e l e c c i ó n de a r c h i v o s e s r e-
s u e l t o p o r p r o g r a m a c i ó n e n t e r a b i v a l e n t e (modelo s i m p l i f i c a d o ) f a c i l m e n t e puede s e r e x t e n d i d o p a r a e 1 problema mas g e n e r a l .Supongamos que s o n m a r c h i v o s AI, A2,
...,
A, d e s d e donde l a i n f o r m a c i ó n puede s e r e x t r a í d a . Sea x i ,i = 1 , 2 ,
...,
m, una v a r i a b l e de d e s i c i ó n c o n l a s i g u i e n t e con-
d i c i ó n :x i = 1 e 1 a r c h i v o Ai e s s e l e c c i o n a d o
X i = O e 1 a r c h i v o Ai no e s s e l e c c i o n a d o .
~ a m b i é n supongamos que c a d a a r c h i v o t i e n e una l o n g i t u d d e f i n i -
da p o r e 1 número de r e g i s t r o s que c o n t i e n e . Sea li l a l o n g i
-
t u d d e 1 a r c h i v o Ai, i = 1 2 , m . Supongamos que s e t i e n e Kt i s f a c c i Õ n T 1 que d e s e r i b e l a s a t i s f a c c i Õ n o no de1 pedido 'i por e 1 a r c h i v o A S i Pi puede s e r s a t i s f e c h o p o r s e l e c c i ó n de j A . e n t o n c e s a = 1. J i j a i j = O en o t r o c a s o : E 1 v e c t o r columna a = j d e s c r i b e 10s p e d i d o s que pueden o no s e r s a t i s f e c h o s p o r e 1 a r c h i v o A j * E 1 v e c t o r f i l a a i = I a i l , a i 2 ,
...,
a i mI
d e s c r i b e 10s a r c h i v o s en e 1 c u a l puede o no s e r usado y s a t i s - f a c e a 1 pedido P i . La m a t r i z A = d e s c r i b e l a e s t r u c t u r a de " s a t i s f a c c i ó n T 1 q u e o c u r r e en e 1 grupo de p e d i d o s . Asumimos que un a r c h i v o (y só10 uno) puede s e r s e-
l e c c i o n a d o en cada v e z . Se d e s e a que cada pedido s e a s a t i s f e-
c h o , y que t o d o s 1 0 s i t e m s de i n f o r m a c i ó n c o n t e n i d o s en e 1 s i s -tema t o t a l de a r c h i v o s y que correspondan a cada pedido s e a e x t r a í d o , E 1 r e q u e r i m i e n t o de cada pedido puede s e r expresado p o r l a s i g u i e n t e i n e c u a c i ó n l i n e a l .
e s t o e s p o r lomenos un x i debe s e r i g u a l a 1 y que c o r r e s p o n - de a un a i j también i g u a l a 1. E s t o e s , p a r a todo pedido ( i n - d i c e i ) por 10 menos un a r c h i v o ( i n d i c e j ) debe s e r s a t i s f e -
cho. La f u n c i ó n o b j e t i v o e s e x p r e s a d a :
que e s , minimizar e 1 tiempo t o t a l de búsqueda donde l i e x i son v a r i a b l e s e n t e r a s , x i e s b i v a l e n t e .
Modelo :
Supongamos que s e t i e n e 4 a r c h i v o s y s l e t e p e d i d o s , l a m a t r i z d e s c r i b e l a s " s a t i s f a c c i o n e s " .
10s c u a t r o a r c h i v o s t i e n e n l o n g i t u d 1 6 , 8 , 4 y 4 9 r e s p e c t i v a
-
mente. E 1 c o e f i c i e n t e de l a f i l a P1 y columna A1 e s uno 10 que i n d i c a que e l p r i m e r a r c h i v o puede s a t i s f a z e r e 1 l? d e d i d o , as: también e1 a r c h i v o 3 no s a t i s f a c e e 1 pedido 2, e t c . En e s t e e j emplo 2 c a n d i d a t o s e x i s t e n p a r a l a s o l u c i ó n :s o l u c i ó n 1 s o l u c i ó n 2
l a soluciÓn o p t ima, evidentemente e s : s o l u c i ó n 1. Aparentemen- t e e s t a s o l u c i ó n no e s l a mejor porque tenemos que t e s t a r 3 a r -
c h i v o s , m i e n t r a s que l a s o l u c i ó n 2 solamente 1 a r c h i v o , p e r o en términos de tiempo de computador y p r o p o s i t o s mas g e n e r a l e s
i = 1 ,
...
, M c i u d a d e s c l . . . , c c o s t o s e n c a d a l u g a r p u e s t a n una r e p e t i d o r a P1,..
.Pn p u n t o donde s e e n c o n t r á l a r e p e t i d o r a .Problema d e 10s C o l o r e s
Se t i e n e una r e d no o r i e n t a d a t a l que s e q u i e r e d a r un c o l o r a c a d a v é r t i c e de t a l forma que n i n g ú n v & -
t i c e a d y a c e n t e t e n g a e 1 mismo c o l o r . E s t e problema puede formu
-
l a r s e como u n modelo de p r o g r a m a c i ó n b i v a l e n t e de l a forma s i - g u i e n t e :P'rimero s e debe d e t e r m i n a r 10s " s u b c o n j u n t o s e s t a b l e s " máximos e n t e n d i e n d o s e p o r s u b c o n j u n t o e s t a b l e a q u é l c o n j u n t o de v é r t i - c e s que no s o n a d y a c e n t e s , y s e r á máximo a q u é l que t e n g a mayor número de v é r t i c e s . Por e j e m p l o :
E 1 v é r t i c e 6 t i e n e como c o n j u n t o e s t a b l e s : Subconjunto estable
I
Subconjunto Para 1 estables pa-
ra e1 v é r t i - ce 6 E 1 subconjunto e s t a b l e máximo p a r a c a d a v é r - t i c e e s t á dado p o r l a v a r i a b l e x i . E 1 problema de 1 0 s c o l o r e s e s t á r e s u e l t o , con e 1 modelo e n t e r o b i v a l e n t e : Mín x i A x - > 1 X i E ( 0 ' 1 ) E s t e modelo e s a p l i c a d o en l a p l a n i f i c a c i õ nde v u e l o s a e r e o s con e 1 diseEo s i g u i e n t e :
Supongamos que una compania a e r e a t e n g a 1 0 v u e l o s a l a semana y s e q u i e r e u s a r e 1 menor número de a v i o n e s que c u b r a n e s o s v u e l o s . Se c o n s t r u y e una t a b l a de cada v u e l o con e 1 r e s p e c t i v o horario de me10 , y s e disefia un g r a f o de t a l manera que cada v é r t i c e r e p r e s e n t e un v u e l o y c a d a a r i s t a une
dos v é r t i c e s cuando e 1 h o r a r i o e s i n c o m p a t i b l e , e s d e c i r
,
hay c r u c e de h o r a r i o , a s í s e c o n s t r u i r á un g r a f o de1 t i p o a n t e r i o r . E 1 problema e s e n t o n c e s j m i n i m i z a r e 1 número de a v i o n e s : I v u e l o 1 1 v u e l o 2 II
v u e l o 3 II
v u e l o 8 I v u e l o 5 I v u e l o 6 I v u e l o 7 IV . EXTENSIONES PARA EL ALGORITMO DE BALAS Consideramos e x t e n s i o n e s a 1 a l g o r i t m o de Ba
-
l a s m o d i f i c a c i o n e s en e 1 modelo s t a n d a r d y e 1 p r ó p r i o a l g o r i t -9
mo r e s p e t a n d o l a b a s e y f i l o s o f i a de1 a l g o r i t m o . E 1 a l g o r i t m o de m o d i f i c a c i o n e s podemos a g r u-
p a r l o s en 2 : a . Modif i c a c i o n e s a 1 modelo : i . f u n c i ó n o b j e t i v o n o - l i n e a l y r e s t r i c-
c i o n e s l i n e a l e s . i i . Forma p o l i n o m i a l de l a f u n c i ó n o b j e - t i v o y r e s t r i c c i o n e s . b . E x t e n s i o n e s a 1 a l g o r i t m o . A n a l i s i s p o s t - optimal.
5 . 1 . ~ u n c i ó n O b j e t i v o No-Lineal y R e s t r i c c i o n e s L i n e a l e sE 1 esquema enumerativo fundamental de B a l a s depende muy poco de l a n a t u r e z a l i n e a l de l a f u n c i õ n o b j e t i v o , podemos m o d i f i c a r 1 0 s paços 2 p a r a e 1 c á l c u l o de T y e 1 paso 5 p a r a reemplazar e 1 v a l o r de z p a r a poder manipular f u n c i o n e s
-
o b j e t i v o s n o - l i n e a l e s f ( x ) , e s t o e s :minimizar f (x)
s u j e t o a :
E 1 Problema No-Lineal Zero-Uno
E 1 problema n o - l i n e a l zero-uno, puede s e r r e s u e l t o por enumeración i m p l í c i t a , p r o v i s t o s de f u n c i o n e s que s a t i s f a g a n c i e r t a s c o n d i c i o n e s de
monotonia.
E 1 problema n o - l i n e a l debe a p a r e c e r en l a forma : minimizar z(x) = gol (x)-
g o 2 ( x ) s u j e t o a : dondeg o l , g o p gl1, R l 2 y U . ,grnl> gm2 e s monotona n o - d e c r e c i e n t e en c a d a una de l a s v a r i a b l e s x l , x 2 ,
...,
x.
n E 1 a l g o r i t m o de B a l a s v e r s i Ó n G e o f f r i o n , s i-
gue s i e n d o v á l i d o p a r a l a s s i g u i e n t e s m o d i f i c a c i o n e s i . E 1 c o n j u n t o T d e f i n i d o como: - T = { j l i b r e / f ( x ~ / j ) c z yã i j
> O p a r a a 1 - gún i t a l queyT
< O } . s donde x e s j u s t a m e n t e e 1 v e c t o rx
c o n l a j - é s i m a v a r i a b l e-
complementada.
a d e f i n i d a as: : i j-
ii. a . r e e m p l a z a a en 10s p a ç o s 3 y 4 i j i j + +S iii. f (xS) r e e m p l a z a c x e n p a s o 5 . Modelos de1 t i p o f u n c i ó n o b j e t i v o y r e s t r i c c i o n e s no l i n e - a l e s a p a r e c e n e n p r o b l e m a s de a l o c a c i ó n y a s i g n a c i ó n de o b j e - t i v o s , normalmente d e 1 t i p o p r o b a b i l í s t i c o , p o r e j e m p l o :donde
donde
También s e e n c u e n t r a a p l i c a b i l i d a d en problemas de reemplazo y a n a l i s i s m a r g i n a l en programación dinámica.
5.2.
-
Forma P o l i n o m i a l en l a ~ u n c i ó n O b j e t i v o y R e s t r i c c i o ne s-
Consideremos e 1 problema de programación no
Optimizar f (xl , x 2 ,
. . .
,x,)
s u j e t o a :
gi ( x 1 , x 2 , .
. .
,xn)5
bi ( i = 1 , 2 , .. .
,m)nomios
.
Consideremos una f u n c i ó n s i m p l e , de l a f o r - ma c u a d r á t i c a g ( x l 7 x Z 7
. .
.
, x n ) e n l a c u a l l a s v a r i a b l e s deben s e r 0 - 1 . Obviamente que x 2 puede s e r reemplazada p o r x y enj j
nada s e r á a f e c t a d o e 1 v a l o r de l a f u n c i ó n .
E 1 producao de dos v a r i a b l e s x -
j Xk reem
p l a z a d o p o r una nueva v a r i a b l e x según e 1 v a l o r c o r r e s p o n d i - j k
e n t e a 10s v a l o r e s de x y xk a s í : j
r e s u l t a d o que podemos e x p r e s a r l o como:
r e s u l t a d o que s e puede g e n e r a l i z a r f a c i l m e n t e :
En g e n e r a l , dado un c o n j u n t o Q, compuesto de q v a r i a b l e s b i v a l e n t e s . E 1 p r o d u c t o
n
xP ( p a r a c u a l q u i e r vaj
-
l o r p o s i t i v o d e + ) y puede s e r reemplazado p o r l a nueva v a r i a
-
b l e x e imponer l a s s i g u i e n t e s r e s t r i c c i o n e s a d i c i o n a l e s :V I . ANALISIS POST-OPTIMAL EN PROGRAMACION ZERO
-
UNO POR ENUMERAC 1 O N I M P L ~ C ITA6 . 1 . G e n e r a l i d a d e s
Un p r o c e s o competente p a r a a n a l i s i s p o s t - o p t i m a l de programación zero-uno e s d e s a r r o l l a d o por Roodman G .
11°1 , y e s o b t e n i d o a p a r t i r de1 a l g o r i t m o de enumeración i m
-
p l í c i t a de B a l a s , empleando i n f o r m a c i ó n c o l e c c i o n a d a d u r a n t e l a o p t i m i z a c i ó n de1 problema i n i c i a l pa.ra s u a n á l i s i s c o n s e c u e n t e
.
PIPER Y ZOLTERN
I
l 11
a p a r t i r de l a s i d e a sde Roodman hacen unas m o d i f i c a c i o n e s mas f i n a s a 1 0 s t e s t de c o l e c c i ó n y c l a s i f i c a c i ó n de l a s s o l u c i o n e s p a r c i a l e s g e n e r a
-
das por e 1 a l g o r i t m o a d i t i v o . En e s t e t r a b a j o e 1 a l g o r i t m o a s e r u t i l i z a d o e s e 1 de GEOFFRION (enumeración i m p l í c i t a )1
1
.
E 1 a n á l i s i s p o s t - o p t i m a l comprende: 1. A n a l i s i s de Rango p a r a 1 0 s c o s t o s y f l u - j o exógeno. 2 . Cambio de p a r á m e t r o s p a r a 1 0 s c o s t o s , f l u - j o exÓgeno y elementos de l a M a t r i z , a s í como también e l i m i n a c i ó n de r e s t r i c c i o n e s y a d i c i ó n de nuevas v a r i a b l e s .6 . 2 . A l ~ o r i t m o de C o l e c c i ó n v C l a s i f i c a c i ó n de S o l u c i o n e s P a r c i a l e s E s t e a l g o r i t m o acumula l a i n f o r m a c i ó n r e q u e - r i d a p a r a l a p o s t - o p t i m i z a t i o n de1 problema e n t e r o z e r o - u n o . s u j e i t o a : con - Definimos a = c ( j E N) y bo = z , donde - 0 j j z e s u n l i m i t e s u p e r i o r v á l i d o s o b r e l a s o l u c i ó n o p t i m a l , l l a - mada f i l a z e r o Ó " r e s t r i c c i ó n de l a f u n c i Ó n o b j e t i v o " . E 1 p r o c e s o de búsqueda de l a e n u m e r a c i ó n i m
-
p l ? c i t a c o n s i s t e e n g e n e r a r s o l u c i o n e s p a r c i a l e s e n un i n t e n - t o de h a l l a r un z e r o - c o m p l e t o p o s i b l e . Una s o l u c i ó n p a r c i a l e s l l a m a d a "sondeada": a ) S i e s un z e r o - c o m p l e t o p o s i b l eb) S i s e puede demostrar que ninguma de e s
-
t a s c o m p l e t i t u d e s puede d a r una s o l u c i - ón p o s i b l e mejor que l a e n c o n t r a d a por l a s o l u c i ó n p o s i b l e h a l l a d a h a s t a e 1 mo-
mento.
Después de h a l l a r cada zero-completo p o s i - b l e , l a " r e s t r i c c i ó n f u n c i ó n o b j e t i v o " e s a c t u a l i z a d a t a l que só10 s o l u c i o n e s menores o i g u a l e s a 1 v a l o r de l a f u n c i ó n o b j e -
t i v o son c o n s i d e r a d a s . Por ejemplo:
Supongamos e 1 mejor cero-completo p o s i b l e encontrado que p a r a l a f u n c i ó n o b j e t i v o de un v a l o r en
-
t o n c e s l a r e s t r i c c i ó n de l a f u n c i ó n o b j e t i v o s e r á : La c l a s i f i c a c i ó n de cada s o l u c i ó n p a r c i a l e s dada p o r l a i d e n t i d a d de l a r e s t r i c c i ó n y por e 1 v a l o r de l a f u n c i ó n o b j e t i v o . Definimos e 1 s i g u i e n t e c o n j u n t o de s o l u c i o-
n e s p a r c i a l e s "sondeadas". ítf = I s o l u c i ó n t a l que e1 cero-completo e s p o s i b l e lA k = { s o l u c i Ó n t a l que e 1 cero-completo S e s i m p o s i b l e y e s sondeada s ó 1 0 p o r l a r e s t r i c c i ó n k ) k = O , l ,
. . .
,m. Los c o n j u n t o s A ( y = f , 1 , ..
m ) formanY
una p a r t i c i ó n de t o d a s l a s s o l u c i o n e s p a r c i a l e s sondeadas y g e n e r a d a s d u r a n t e l a s o l u c i ó n de1 problema zero-uno usando-
e numeración i m p l í c i t a . Asociamos e 1 s i g u i e n t e c o n j u n t o de i n d i c e s p a r a cada s o l u c i ó n p a r c i a l o b t e n i d a d u r a n t e l a búsqueda: 1 Js = { j E N/
x (S) =11
j NS e s e 1 c o n j u n t o de i n d i c e s de l a s v a r i a - b l e s l i b r e s con r e s p e c t o a l a s o l u c i ó n S. J: y J: s o n c o n j u n t o s de i n d i c e s p a r a l a s v a r i a b l e s f i j a s .Usando e s t o s c o n j u n t o s de i n d i c e s d e f i n i m o s l a s s i g u i e n t e s v a r i a b l e s p a r a c a d a f i l a i E M: t i (S) = bi
-
1
a i j j &JS P i (S) =1
mín { a i j , O } j &NS e s t a G l t i m a c a n t i d a d , yi (S) , puede s e r i n t e r p r e t a d a como e 1 1; - m i t e s u p e r i o r s o b r e l a h o l g u r a e n l a r e s t r i c c i ó n i que puede a c o n t e c e r d e s d e c u a l q u i e r c o m p l e t i t u d d e S. Consecuentemente , v a l o r e s n e g a t i v o s de y (S) no s o n p e r m i t i d o s que o c u r r a n du i - r a n t e e 1 c á l c u l o,
10 que i m p l i c a que s o n t e s t a d a s l a s i m p o s i-
b i l i d a d e s d e t o d a s l a s c o m p l e t i t u d e s de S. E 1 a l g o r i t m o t e s t a l a s s i g u i e n t e s d o s i m p l i - POSIBLE: S i t i (S)2
O V i E M, l a s o l u-
c i õ n p a r c i a l S e s p o s i b l e . c a c i o n e s : IMPOSIBLE: P a r a c u a l q u i e r s o l u c i Ó n p a r c i a l S y j E NS d e f i n i m o s e 1 s i g u i e n t e c o n j u n t o :G = i E M
/
yi (S) <I
a - - 1 1 . 11S i G
#
0
e s una c o n d i c i ó n para que t o d a s l a s c o m p l e t i t u d e s de S s e a n , i m p o s i b l e s .Algoritmo d e Colección y C l a s i f i c a c i ó n de Soluciones P a r c i a -
1 Paso 1 : Obtener i i a l o r e s de p , J S , J:, N~
n
(y = f,O,l,m)Cuando e 1 a l g o r i t m oY
e s usado p a r a r e s o l v e r e1 problema 1 cero-uno i n i c i a l i z a r p = 0 , JS = 0, I J: = 0 , NS = N, A = $ p a r a y = f ,Y
Paso 2 : C a l c u l a r t i ( S ) , p i (S) A yi (S).
S i t i (S) O p a r a algÚn i E M i r a paso 3 ,en o t r o c a s o , S e s p o s i-
b l e con v a l o r d e l a f u n c i ó n o b j e t i - v0 z (S).
Aumentar S a A f .-
Hacer bo = z = z (S) y p = p + 1. RETORNO, e i r a paso 2 . Paso 3 : T e s t e de Roodman, c á l c u l o d e G ; GENERAR y s i yi (S) = t i (S)
-
pi(S) <[
a i j/
p a r a a l g h i y a l g ú n j E NS (digamos i = k y j = y ) e n t o n-
c e s t e r m i n a e 1 examen d e t o d a s l a s c o m p l e t i t u d e s d e S en e 1 c u a l : E s t o q u i e r e d e c i r que o c u r r e sondeo p a r a l a a s o l u c i ó n p a r c i a l S' formada p o r S c o n x S ' = O s i a O ky oY
x S ' = 1 s i a > O . Y ky - E 1 aumento d e l a s o l u c i ó n p a r c i a l a 1 c o n j u n - t o A k e s a t r i b u i b l e a l a r e s t r i c c i ó n k. RETORNO e i r a p a s o 2 . En o t r o ~ a s o ~ ~ S K I P ~ l a s o l u c i ó n p a r c i a l e i r a p a s o 3. La s i m p l i c i d a d de 10s t e s t s en e 1 a l g o r i t m o b á s i c o a d i t i v o h a c e n p o s i b l e , que e n c a d a s o l u c i ó n p a r c i a l exa-
minada s e a t r i b u y a l a r e s t r i c c i ó n que c a u s ó e 1 s o n d e o . E s t a forma d e p a r t i c i o n a m i e n t o de l a s s o l u - c i o n e s p a r c i a l e s f a c i l i t a n e n c o n t r a r l i m i t e s de o p t i m a l i d a d , e s -t o e s , a n á l i s i s t i p o Rango y t a m b i é n s e l e c c i ó n de p a r a m e t r o s pa -
r a s u p o s i b l e cambio,
E 1 p r o c e d i m i e n t o en l i n e a s g e n e r a l e s s e r á u -
s a r e 1 c o n j u n t o A , ya que una nueva c o m p l e t i t u d s e r á e n c o n t r a d a a p a r t i r de un miembro d e A porque c u a l q u i e r p a r t i c i ó n de A i n -
duce una p a r t i c i ó n de 2" s o l u c i o n e s . E s t e hecho e s usado en 2 f a s e s :
n
La p r i m e r a , una p a r t i c i ó n d e l a s 2 s o l u c i o -
n e s e s %levado a cabo por p a r t i c i o n a m i e n t o de A . E s t a p a r t i c i - ón e s usada en l a segunda f a s e a 1 h a c e r e 1 a n a l i s i s p o s t - o p t i - mal.
6 . 3 . 1 . A n a l i s i s de Rango
6 . 3 . 1 . 1 . Elementos de l a Derecha ( f l u j o exógeno) ( b . ) J
E 1 rango no e s o t r a c o s a que e 1 l i m i t e supe -
r i o r e inferior en e1 i n t e r v a l o en e 1 que e 1 elemento bk puede s e r cambiado s i n m o d i f i c a r l a s o l u c i ó n optima a c t u a l , n i a l g u - na s o l u c i ó n p a r c i a l d e j e de s e r "sondeada". -!- Seanbk y bk l í m i t e s i n f e r i o r y s u p e r i o r , en - t o n c e s p a r a c u a l q u i e r cambio b i d e f i n i d o en: mantendrá l a o p t i m a l i d a d a c t u a l .
+
D e f i n i m o s b i y bk d e l a s i g u i e n t e m a n e r a : P a r a c a d a S EAk
, k#
O+
b k (S) = -1-
Y k (SI z (S) e s e 1 v a l o r d e l a f u n c i ó n o b j e t i v o en i a s o i u c i ó n p a r c i a l . AS? mismo bk = máx 'I
b k (S) } S&Af E 1 máximo d eAf
6
mínimo d e A k e s p a r a t o d o S S e n q u e x e s l i b r e6
x = 1. YY
6 . 3 . 1 . 2 . Elementos de l a ~ u n c i ó n O b j e t i v o (Costos) ( c j ) E 1 problema i n i c i a l mantendrá l a s o l u c i ó n op - t i m a l s i 10s c o s t o s permanecen en e1 r a n g o : donde
-
(
Z ( S )-
z en o t r o c a s o mín. de @ (S) e s p a r a todo S E Af en e 1 c u a lx
e s l i b r eó
x"
= 1.Y
Y
6 . 3 . 1 . 3 . Elementos de l a M a t r i z A ( 1 , J ) E 1 p r o c e s o de a n á l i s i s Rango d e 10s c o e f i-
c i e n t e s de l a m a t r i z A e s s i m i l a r a 1 de 1 0 s elementos d e l a de -r echa bk. donde yk (S) + a k y s i x Y e s l i b r e y icl ( S ' ) = a > O ky - yk ( S I ) e n o t r o c a s o . e 1 mínimo
{i
( S ) } e s p a r a t o d o S E A k e n e 1 c u a l x e s l i b r e Y Só
x
= 1. Y 6 . 3 . 2 . Cambio de P a r a m e t r o s Con c u a l q u i e r s o l u c i ó n p a r c i a l S , s e puede a s o c i a r u n problema p a r c i a l d e l a f o r m a .x
E I 0 , 1 } , j E NS ( v a r i a b l e s l i b r e s ) j donde S Cada s o l u c i ó n p a r a ( I P ) j u n t á n d o l a con S S forma una c o m p l e t i t u d p a r a ( I P ).
La mejor s o l u c i ó n de ( I P ) s e -r á
l a mejor c o m p l e t i t u d d e S p a r a ( I P ).
~ a m b i é n c u a l q u i e r so-
Sl u c i ó n p o s i b l e ( i m p o s i b l e ) p a r a ( I P ) s e r á también c o m p l e t i
-
t u d p o s i b l e ( i m p o s i b l e ) de S p a r a (IP).
6 . 3 . 2 . l . Cambio d e 10s Elementos de1 Segundo Mien
-
(bk) Para c a d a s o l u c i ó n p a r c i a l S E Ak,formular 5 u n problema p a r c i a l ( I P ) usando e 1 v a l o r r e v i s a d o bk y un va - l o r i n i c i a l
Z,
determinado p o r l a mejor s o l u c i ó n p o s i b l e , h a s t a e 1 momento e n c o n t r a d a (en l a f a s e s o l u c i ó n o en c u a l q u i e r p r o-
b l ema p a r c i a l p r e v i a m e n t e r e s u e l t o ).
R e s o l v e r e s t e problema completamente, usando e 1 a l g o r i t m o a d i t i v o . Cuando t o d o s 10sS
problemas p a r c i a l e s ( I P ) S E Ak, han s i d o examinados, una
6 . 3 . 2 . 2 . Cambio d e 10s Elementos d e l a F u n c i õ n Obje t i v o ( c )
Y
P a r a c a d a S E A f , e n e 1 c u a l x no e s f i j a d oY
S a c e r o , f o r m u l a r e 1 problema p a r c i a l ( I P ) usando e 1 v a l o r r e - v i s a d o d e c y un v a l o r i n i c i a l de E d e t e r m i n a d o p o r l a m e j o rY
s o l u c i ó n p o s i b l e h a s t a e 1 momento e n c o n t r a d a . Cuando c a d a u n a d e l a s s o l u c i o n e s p a r c i a l e s (IP") ha s i d o examinada, l a nueva s o l u c i Õ n , s i e x i s t e s e r á e n c o n t r a d a . 6 . 3 . 2 . 3 . Cambio e n 10s Elementos a E A ky En e s t e c a s o s e p r o c e d e s o b r e e 1 c o n j u n t o de s o l u c i o n e s p a r c i a l e s p e r t e n e c i e n t e s a l a r e s t r i c i ó n k , e n l a misma forma que p a r a cambio e n bk.i - 1 -5 +max 1-6 + 4,O) + m a x C0,O) +
j = 3 Min (-5 + 0,O) + min (-6
+
11,O)+
+ m ? n { o - 1 , o ) = - 5 + O - I =-
62
p = ( O , - 8 , - 2 2 , - 7 )
S = ( 7 ' 5 ) - v a r i a b l e 5 f i j a d a a 1 por r e s t r i c -
ciÓn 1. Neste c a s o g u a r d a r s o l u
-
ciÓn ( 7 , - 5 )p 3 = (O, - 2 , - 2 2 , - 2 ) T = { 1 , 3 , 4 ) , F = C 2 )
S = ( 7 ,
-
5 , 4 ) ~ o l u c i ó n p o s i b l e , r e s t r i c c i ó n 0 , g u a r d a r ( 7 , - 5 , 4 )p 4 = (O, - 2 , - 1 5 , - 2 ) A = ( 0 , 0 , 2 , 0 ) p = (O, - 2 , - 1 5 , - 2 ) Retorno : y ; = 1 + 0x1
-
x
-
x + 2 x 6 - X8 2 3 5 p = (O, - 2 , - 1 5 , - 2 )V a r i a b l e 2 f i j a d a a c e r o p o r r e s t r i c c i ó n 2 g u a r d a r (7,
-
5 , -4,-
2).p 6 = (O, -2, -15, -2)
S = {7,5,-4,-2,3) v a r i a b l e 3 f i j a d a en 1 p o r r e s t r i c c i ó n 2; guardar
1 7 ,
- 5 ,-4,
-2,-3). -~ o l u c i ó n p o s i b l e g u a r d a r { 7 , 5 , - , 4 , - 2 , 3 1 . R e t o r n o : S = ( - 7 )
-
c = ' { 1 , 6 , 8 , 5 , 4 , 2 , 3 1 t 8 = ( 1 7 , - 5 , - 6 , 0 ) 8 p = (O, - 8 , - 2 2 , -3) V a r i a b l e 5 f i j a d a a 1 p o r r e s t r i c c i ó n 1 g u a r d a r s o l u c i ó n C-7, - 5 )-
S = i - 7 , 5 , 3 ) - S o l u c i ó n p o s i b l e r e s t r i c c i ó n c e r o
.
G u a r d a r 1 - 7 , 5 , 3 )- -
R e t o r n o : tl' = ( 5 , 1 , - 1 0 , l )p
= (O, - 2 , - 1 1 , -2) S = ( - 7 ,- -
5 , - 3 ,- -
1) V a r i a b l e 1 f i j a d a a 1 p o rr e s t r i c c i ó n 2 g u a r d a r i - 7 , 5 , - 3 , - 1 1 .
S = i - 7 , 5 , - 3 , 1 , - 2 1
- - - -
-
V a r i a b l e 2 f i j a d a a c e r o p o r r e s t r i c c i ó n 2 . Guardar i - 7 , 5 ,-
- - 3 , 1 , 2 1 .-
-
r,:
S = { - 7 , 5 , - 3 , 1 , - 2 , 4 )- -
- -
- -
V a r i a b l e 4 f i j a d a a 1 p o r r e s t r i c c i ó n 2 . Guardar C - 7 , 5 , - 3 , 1 , - 2 , - 4 ) . S = { - 7 , 5 , - 3 , 1 , - 2 , 4 ) - - - -- -
s o l u c i ó n p o s i b l e . R e t o r n a : t o d o s marcados f i n . 6 . 4 . 2 . F a s e Post-Optimal Sea e 1 s i g u i e n t e problema: ~ í Z n= ZX 5x2*
5x3 2x4 4x5 +x6
8x7 X8 1 s u j e t o a : -2x1 + Ox2+
Oxg + 2x4-
6x5 + x 6-
x7+2x 8- c - 5Usando e 1 a l g o r i t m o a d i t i v o d e B a l a s , v e r s i
-
Ón G e o f f r i o n y c o l e c c i o n a n d o l a s s i g u i e n t e s l a s s o l u c i o n e s p a r - c i a l e s : Yk (SI - 2 -1 1 -3 - 3 -10 - 3 -6 ~ o l u c i ó n P a r c i a l S S1 = ( 7 , 3 S2 = ( 7 , 5 , 4 1 S3 = ( 7 , 5 , 4 , 2 1 S4 = ( 7 , 5 , 4 , 2 , 3 ) S 5 = ( 7 , 5 , 4 , 2 , 3 1 s6 =( 1 2 2 )
S7 = ( 7 , 5 , 3 1 '8 = ( 7 , 5 , 3 , L )-
Sg = ( 7 , 5 , 3 , 1 , 2 1-
= ( 7 , 5 , 3 , 1 , & 4 1 S 1 o-
= ( 7 , 5 , 3 , 1 , 3 , 4 1 S1l-
Z (s) 8 1 8 1 7 1 2 1 7 0 9 4 11 1 2 6 ~ e s t r i c c i Ó n , k que causa e1 sondeo 1 P o s i b l e 2 2 P o s i b l e 1 P o s i b l e 2 2o
2E s t o e s , podemos h a c e r l a s i g u i e n t e p a r t i - c i ó n : 6 . 4 . 2 . 1 . A n á l i s i s de Rango p a r a c A b j j S o l u c i ó n o p t i m a l a c t u a l : x g = x 5 = 1 , x l = - = X 2 - X 4 = X 6 = X 7
= x ,
=o .
Rango p a r a c : j Conjunto de s o l u c i o n e s p a r c i a l e s de la f u n-
c i ó n o b j e t i v o :-
l i b r e en s o l u c i ó n p a r c i a l z(S)-
z Ejemplo:xl
= O en s d l u c i ó n o p t i m a l a c t u a l x1 l i b r e en S 2 , S5 h S 7 , e n Sll no e s l i b r e .x2
= O en s o l u c i Ó n o p t i m a l a c t u a l y no f i j a-
da a c e r o e n (S2)A
( S 7 ) .c u a l q u i e r w7 = m;n I ( 1 8 - 9 ) , ( 1 7 - 9 ) ) = 8
w8
= m í n { (18-9+1) i (17-9+1), (12-9+2),
(9-9+1)1
= 1 L a s o l u ci ó n
a c t u a l p e r m a n c e r á o p t i m a p a r a c * > c - W YY
Y
(w1 ,w2,w3>w4,w5>w6>w73)
= ('> 5 > 9999, 3, 9999,1,8,1) R a n g o p a r a b : jConjunto de s o l u c i o n e s p a r c i a l e s : Para k = 1 P a r a k = 2 C a l c u l a r u 2 = mín { 3 , 6 1 = 3 Notemos que p a r a k = 2 , 10s v a l o r e s d e yS e n l a s s o l u c i o n e s p a r c i a l e s S3, Sq y Sg no c u e n t a n p o r t e n e r z(S) mayor que 9 .
P a r a
k
= 3 No e x i s t e n s o l u c i o n e s p a r c i a l e s ( u l , U 2 ' u3) = ( 2 , 3 , 9 9 9 ) La s o i u c i ó n o p t i m a i a c t u a l parmanece todavFa optima p a r a b e n e 1 i n t e r v a l ok
dondeSk
e s l a h o l g u r a d e l a r e s t r i c c i ó nk
d e 1 optimo a c t u a l . 6 . 4 . 2 . 2 . Cambio d e P a r a m e t r o sS i s e q u i e r e r e d u c i r c4 a 2 ( v a l o r a n t i g u o 6 ) . Analizamos e 1 c o n j u n t o A f . a . l a v a r i a b l e x 4 no debe e s t a r f i j a d a a c e r o en e s t a s s o l u c i o n e s p o t e n c i a l e s . S5 e s d e s c a r t a d a por e s t a r a z ó n . b . e 1 v a l o r d e z (S) en cada s o l u c i ó n p a r c i -
a 1 debe s e r menor que e 1 a c t u a l . En l a s o l u c i ó n S2 tenemos que x4 e s f i j a d o en 1 y en l a r e d u c c i ó n de1 c o s t o c 4 l a soluciÓn queda en v a l o r z(S) = 1 4 que no e s mayor que l a S a c t u a l . S c . Generar en problema p a r c i a l ( I P ) a p a r - t i r de l a s o l u c i ó n ( s l l ) Y (Sg) Para ( - 7 , 5, - 3 , 1 , - 2 , 4 1 Minimizar x + x 8 + z S 6
J? nuevo v a l o r Minimizar x6 + x8 + 8 < 1 X6 '~8 - 3x6
+
xgI.
1 -2x6 + x< o
8 - S o l u c i ó n p o s i b l e x6 = x8 = O l u e g o x1 = x4 =x 5
= 1 c o nF
= 8, s o l u c i ó n m e j o r a d a . Cambio e n bk Incrementemos e n -2 e 1 v a l o r d e bl e s d e c i r s e r á -7. Debemos c o n s i d e r a r l a s s o l u c i o n e s S1 y S iDebemos c o n s i d e r a r 10s p r o b l e m a s p a r c i a l e s p a r a e s t a s d a s s o l u c i o n e s S1 y S 6 .
s i n embargo f a c i l m e n t e s e puede v e r i f i c a r que e s t o s p r o b l e m a s p o s e e n una s o l u c i ó n p o s i b l e que s e a m e j o r que e 1 optimo o r i g i -
CALL DATO