ZESZYTY N A U K OW E P OL ITECHNIKI ŚLĄS K IE J 1984
Serias AUTOMATYKA z . 74 Hr kol. 810
Marek Madejski.
Eugeniusz T o ez y ło wa kl Politechnika Warszawska
ALGORYTM D LA WIELOET/łP O W E G O P R O B LE MU PR Z EZ BR AJ A NI A LINII P R OD UK C YJ NE J
Streszczanie.- H p r a c y p r z e d st aw i on o algo ry tm k o ł o jn o śc io wy dla Wi e lo et ap o we go p r o b l e m u minimali za cj i k o s z t ó w przezbra ja ni a linii p rod u kc yj ne j opar ty n a p oł ą cz en iu m e t o d y p o d z i ał u i o gr an i cz eń z m e todą pr o gr a m o w a n i a dynamicznego.
1
. Model zadania przezbrajaniaPodczas h ar mo n o g r a m o w a n i a p ro dukcji wi e lo asortymentowej realizowanej partiami n a pojed yn cz e j linii produkcyjnej poj aw i a sip p r o b le m ustalenia kolejności w y k o n y w a n i a p o s z c z e g ó l n y c h parti i pr od u kt ów w k a ż d y m okrosio objptym h o r y z o n t e m h a r m o n o g r a m o w a n i a . Zmiana w e rsji prod uk ow a ny ch wyrob ów powoduje p o w s t a w a n i e p e w n y c h d od a tk ow yc h k o s z t ó w n a z y w a n y c h kosztami przo zbrajania, k t ó r y c h wiel ko ść z al eż y w ogól ny m prz yp a dk u od worsji wyrobów.
Problem m i n i ma l iz ac ji koszt ów p r z e z br a ja ni a w u st al o ny m przedzialo czasu objętym h a r m o n o g r am ow an i em mo żn a sf ormułować następująco. Załóżmy, żo na linii produ kc yj n ej m o ż n a p r od uk o wa ć w y r o b y o n u m e r a c h worsji zo zbioru N = {l ,2 , . . . , k } . Przypuśćmy, że horyzont harm on og r am ow an i a można p o d z i e lić na K etapó w /np. tygodnie/ p r z y czym dla każde g o otapu k, I ś k ś K znany jest z b ió r w e r s j i Nj £ H w y ro b ów jakie mają być produkowano na tym etapie. M o żl iw oś c i p r z e z b r a j a n i a linii opisane są za pomocą sioci
S = (N,E,P), gdzie N - jest z b i or o m num er ów w sz ys t k i c h p ro du k o w a n y c h w o r sji; E £ N * N jest z b i or em łuków g ra f u (N,E) o kreślającego rolację d opusz
czalności bezpośr ed ni e go p rz oz b r o J o n i a linii, tzn. (ijj^S L oznacza, że m o ż li w a jost p r o d uk cj a j-tej w o r sj i po wors ji i-toj po dokonaniu przo- zbrojenia; P = [p^jl n * n - ciaciorz kosz tó w przozbro J o n i a , P^j " 0 jost średnim k o sz t em p r z e z b r a j a n i a z worsj i i-toj n a worsję j-tą. Oczywiście
oo tylko w t e d y , g d y (i,j) £ E. Zakładamy, że k o s z t y p^j spełniają nierówność t rójkąta p ^ ź p ^ + Pj^ dla każdo;;o i,J,l.
Z azwyczaj graf (X,E^ jost g r a f e m połr.ya. Dla u stalonego otapu k uożii wości prz ez b ra ja ni a linii opisane są po ds iecią S;. = ( ,L'.., Pj. ; sioci S, gdzie E,. = (E n x 1^3), natomiast 1\. jost m acierzą powstałą z P przo z wykreślenie w i e r s z y i k o l u m n zo z bioru N \ - ■/. St an począ t ko wy i końcowy linii możo b yć s w o b o d n y lub ustalony. V ogólności zakładamy, żo dano są zbiory w er sj i p o c z ą t k o w y c h N oraz zbiór wersji k o ń c o w y c h 'ś /w p r z y padku u s ta l o n y c h stanów po cz ątkowego i końcowogo, X i X + j są zbierał:i Jednoelementowyoi/. Boz straty ogólności m o ż e m y założyć, żo w k a ż d y m ota-
152 M . Ma dę j ski , E « To czylowskj.^
pic Tiers ja k o ń co wa jest zarazem vers ją p o c z ą tkową dla n as t ęp ne go etapu.
Uprowadźmy zmienne decyzyjne
1 g d y w k - t y m etapie j-ta wersj a jest produkowana bezpośrednio po i-tej wersjij
0 v przeciwnym przypadku
v, - ;'.'.:;3cr wersji produkowanej w k-tęTa etapie jako ostat
nia /i zarazem jako pierwsza w (k+1)-szya etapie/.
Zadanie przezbr a ja ni a n oż na sform uł o wa ć jako p r o b l e m M i n i ma li z ac ji
F = 2l 2 1 2 1 P it x. (k) / I/
k=i i t a j e i;k J J
w zględem z mi ennych j (1:) oraz v,_, p r z y ograni c ze ni ac h
j ? ^ x i j ^ = 1 i & K k x l v u h c - i l - 1 ś 5 t 5 K w
,Ç . xijW = ! J 6 Kk X K - i] u i vkl = / 3 /
1 c -k
-^jCk) = 0 , 1 V i , j , k / V
s(k) Jest drogą w grafie (li ,E^) ro zp oc z yn aj ąc ą się o d /5/
w ie rz ch o łk a v^__^ 6 K,_ i ltoiiczącą się w w i e r z c h o ł k u v .
v k 6 o s k *; k, /6/
T I! 5 ^ NK*1
Funkcja celu / 1 / jest sumaryczną w a r t o ś c i ą k o s z t ó w p r z e z b r o j e ń w całym okresie h a r n o n o ^ r a n o v a n i a , .ograniczenia /2/, / 3 / z ez w alają n a produkcję każdej wersji tylko jeden raz w czasie jednego etapu", w a r u n e k / 5 / elimi
nuje moż li w oś ć pojaw ie ni a się podc y kl i w r o z w i ą z a n i a c h s pe łn i a j ą c y c h /2/
i /3/« Powyższe zadanie jest NP-'Zupelne. U s zc ze g ó l n y m przypadku^ g d y K=1 oraz v 0 = zadanie to jest reduko w an e do z w ykłego p r o b l e m u komiwojażera a tym samym w ogólnym p r z y p a d k u jest ono trudniejsze do rozwiązywania.
Z , Dclyompozyc.ja p r o b l e m u przezbr a ja ni a
Dla ustalonego etapu l ^ k ^ I I , oraz dla u s t a l o n y c h w a r t o ś c i zmiennych Vk-1 oraz vk r o zważmy nast ęp uj ą ce jednoetapowe zada ni e kolejncrściowe spa- rametryzowane przez Vj. 1 oraz v :
Minimalizuj
*}r - H P. . X. . (li) /7/
i . j Ł K ^
Algorytm dla wieloetapowego problemu .
x i j (k) = 1 i 6 K t N K ] u i v k-i} / g/
xi j (k) = 1 J 6 N * X K - i l - K I /*/
x
U Ck) = 0 , 1 /io/
k(k) jest drogą w grafie od ■*'k _ 1 do v /1 1/
Zadanie powyższe oznaczane będzie symbolem Tk (vk vk ). Łatwo zauwa
żyć, że zadanie (y, v ) Jest równoważno zadaniu komiwojażera, «'szystkie efektywne techniki algorytmu podziału i ograniczeń opracowano dla ogólne
go problemu komiwojażera mogą więc być zastosowane do rozwiązywania zada
nia Xk (y,v).
Problem przezbrajania można przedstawić równoważnie jako dwupoziomowy problem optymalizacji, przy czym nadrzędne zadanie jest postaci
K min
v1’*,,,vk k=1 przy ograniczeniach
Vk -1> vk 6 Nk 1 * k - K
v o 6 N o ? vk 6 *!k+1 >
gdzie zk (vk _ 1 , v ) jest o pt ymalną w a r t oś ci ą f u n k c j i ce l u zadania , vJt)- Liozność zmi en ne j s t a n u vk 6 Nk jest zazwyczaj n io w iolka /zwykle w k a ż d y m okres ie h a r m o n o g r e m o w a n i a p r o d u k u j e się co najwyżej k i l ka wersji wyrobów/, st ą d celowo jest roz wi ą zy wa ni e p r o b l e m u n ad rzędnego /i2/ m e t o d ą ’p r o g r a m o w a n i a dynamicznego. VT r am a ch k a ż d e g o otapu zadania parametryczne v jc) r oz wi ą z y w a n o być mogą m et o dą podziału i o g r a
niczeń. •
N iezależne ro z wi ą z y w a n i e p o d p r o b ł o m ó w / 1 2 / i T,. (y,v) n io jost n a j bardziej efektywne. Ł ą c z n e wyko rz ys t an ie technik pr og ra m ow an ia dynanicz- nego i m e t o d y p o d z i a ł u i o g r a n i c z e ń p o z w a l a na ef ek ty w ni ej sz y sondaż wio- rzchołków dr zewa p o s z u k i w a ń podczas rozw ią z yw an ia z a d a ń T.,(y,v) motodą Podziału i ograniczę»! a z a r a z e m p o z w a l a n a r ozygnację z obliczania w a r tości t rajektorii o p t y m a l n y c h p r z e c h o d z ą c y c h pr ze z ni ektóre s tany p o ś r e d nie w m e t od z ie p r o g r a m o w a n i a d y n a m i c z n e g o ■ O p i sa ny niżej a lgorytm w y korzystuje p o w y ż s z e uwagi.
154 H.Madejski,E. Toczyłowskj
1. Oois aliToarytnu
A l g o ry t m dla w ieloe ta po w eg o p r o b l e m u p r z e z b r a j a n i a l i n i i produkcyj
nej złożony jest z d uó ch p o ds t aw ow yc h części. Część p i e r w s z a jest reali
zacją ograniczonej w ersji p r o gr am o wa ni a dy na mi cz n eg o, w k t ó r e j \fykorzyst»' je się oszacowania optymalnej w a r t oś ci f u n kc ji ce lu ot rzymywane przez ne- todę p o d z i ał u i ograniczeń. Część druga podrzędna, jest re al iz a cj ą algo
r ytmu dla zadania komiwojażera.
3-1. Og raniczona w e r s j a pr og r a m o w a n i a dy na m icznego
Zadanie w ie lo etapowe / 1 2 / moż e b y ć rozwiązywane za p o m o c ą prpgranosa' n i a dynamicznego. If k o l e j n y c h k r o k a c h k = K ,K -1,...,1 r o z wi ąz yw a ne jest zadanie o d etapu k - te go do końca.
Załóżmy, że w k - t y n etapie znane są w a r t o ś c i f u n k c j i c e l u F (v )
dla o pt ymalnych " o g on ów ” trajektorii r o zp oc z y n a j ą c y c h się. o d stanu y..
W = « i » H z t C v t - i ’ v i ) /1 3/
' W - ' - - v k t = k + 1
V n a s t ę p n y m k r o k u obliczane są war t oś ci Fj._^ (vk 1) ■ w f u n kc j i stanu y^ . Dla u stalonego p r z y pełnej w e r s j i p r o g r a m o w a n i a dyna mi c zn eg o obli
czenie war to ś ci F^_ ^ Cv^_^) w y m a g a rozwi ą za ni a
Fk - 1 Cvk-1^ =va ^ N L=k ^ k _i,vk ) + F(vk )] / l V
co prowadzi do IkjJ - kr otnego r o z w i ą z a n i a zadan ia k o m i w o j a ż e r a Tk ^ ’k-1 ’ Vk')'
Przypuśćmy, że znane są oszac ow an i a od d o ł u z ^ 1 »vk ) optymalnych w a r t oś ci zjŁ(v ji - 1 1 v łc) / s k lO ^ i c s a n e jest p r z e z r o z w i ą z y w a n i e p r o b l em u złag o dz on eg o / oraz , o szacowanie od £ Ó r y z^ (v,ł ^ ,vk ) optymalnej wartości
^'vłŁ— 1f /V0r^-C3ane jhko wartość funlccji celu dla dotychczas najlepsze GO dopuszczalnego roz wi ą za ńj.a zada n i a T(v^_ D la u st alonej wartoś*
v i-_ 1 o p r o w a d ź m y o znaczenia oszacowali o d dołu Z. (v, v ) = 2 iv
^ 1 - k v k - 1 1 k' “k v k- 1r k
+ F (Vk ) oraz od góry- , ('''k _ , ) = m i n [ 5 ^ (vk _ ,, + F ( v ^ ] . ' v k
Uartości poiryższycb oszacowali m oż n a wykor zy s ta ć do o bl ic ze n ia /l4 / za p om o cą następującej w e r s j i p r o g r a m o w a n i a dynamicznego po ł ąc z o n e g o z neto-
dą po działu i ograniczeń: *
Schemat a lg orytmu
k r o k 1. Oblicz Z k (vk _i >vk ) = 2 k ( \ _ i >v k ) + F(vk) dla w s z y s t k i c h vfc£ V t . k r o k 2. Uporządkuj stro ny p o ś r ed n ie v k t w e d ł u g w z r a s t a j ą c y c h wartości
w s k a źn i ka
Algorytm dla wieloetapowego problemu 155
Krok 3. Tr a kt uj ąc v,_ jako parametr, rozwiązuj z a d a n i a ^ , v^ ), za p o m o c ą m e t o d y p o d z i a ł u i og ra n i c z e ń w k o le jn o śc i ustalonej w k r o k u 2. A k t u al iz o wa ne war to śc i 2j-(v iŁ_i oraz n aj lepszego osza co w an ia o d c ó r y F v 1(v p ć w ykorzystaj do sondażu / o d r z u c a n i a / w ie r zc h o ł k ó w w drzewie p o s z u k i w a ń m e t o d y pod z ia łu i o g r an i
czeń.
Łatwo zauważyć, że o p is an y wyżej alg o ry tm poz w al a na odrzucanie w m e todzie p o d z i a ł u i o g r a n i c z e ń n i o o b i e c u j ą o y c h k i e r u n k ó w po s zu k i w a ń p rzoz wykorzystanie stosunkowo s i l ny ch o gr a ni c z e ń o d dołu i g ó r y uw zg l ę d n i a j ą cych war to śc i f u n k c j i ce lu dla c a łych " o g o n ó w ” trajektorii optymalnych, a nie tylko d la z a d a ń Je dn o et ap ow y ch t ic(v jł_i >v jt) •
3.2. Ro z wi ą z y w a n i e zadan i a T ( V k _ ^ , v^)
Z ada n ie k omiwojażera, jako NP - zupełno, mo że być rozwiązywano -za.
pomocą metody- p o d z i a ł u i ograniczeń. Dla powyżs ze go zadania opracowano wielo e fe k t y w n y c h technik w yz n ac z a n i a o sz ac o w a ń d o l ny ch i g ó r n y c h oraz podziału, w y k o r z y s t u j ą c y c h s p ec yf i cz ne w ł aś ci wo ś ci p r o b le m u kom iw oj aż e ra
[l3 - C ó 3 ■ Najba rd z io j typowa r el ak s a c j a p o l e g a n a sp ro w adzoniu zadania komiwojażera do z a d a ni a przydziału. Dla z a d a ń o w i ę k s z y m wym ia rz o r e l a k sacja za p o mo cą z a d a ni a p r z y d z i a ł u okazuje się niewy st a rc za ją c o s k u t e c z na. Szcz eg ól ni e m oc ne o s z ac ow an i a o d dołu m o ż n a u z y sk a ć przez ograniczono relaksacje L a g r a n g e ' a w y b r a n y c h og ra ni c z e ń p r o b l e m u k o m i w o j a ż o r a , nio spełnionych w r o z w i ą z a n i u zada ni a p r z y d z i a ł u [l] 1 [2]. Siła tych oazaoo- va ń jest taka, że-z r e g u ł y liczba s o n do w an yc h w ie rz c h o ł k ó w drzown p o s z u kiwań jest z n a cz ni o m n i e j s z a od w y m i a r u zadania. K o s z t y obliczania tycli
O ^
oszacowań są j ednak stosu n ko wo dużo i w y n o s z ą 0 ( n ) oraz 0(n ). Dla z a dań k o m i w o j a ż e r a o n i o w i o l k i m w y m i a r z e / r z ę d u k i l k u lub k il ku n a s t u / s t o sowanie wyżej opi s an yc h w y r a f i n o w a n y c h teohnilę nio w yd a je się być celowo ze względu n a n ie wi e l k i e e wentualne zyski pami ęc i i czasu wykonania, przy stosunkowo r oz bu d o w a n y m oprogramowaniu.
*L. Wyniki o b l i cz eń
Opis a ny wyżej a l g o r y t m zo stał op r ac o w a n y w języku i’o r t r a n i u r uc h o m i o ny na' m a s z y n i e Odra 1325« D o k ł a d n i e j s z y opis re al i za cj i togo alg or yt m u znajduje się w £63. P r o c e d u r / p r o g r a m u z apisano są n a taściio magnetycznej w wersji źródłowej. T a ś m a ta jest dos tę p na dla użyt ko w ni kó w i znajduje się w Instyt u ci e Automat yk i Poli te c hn ik i Warszawskiej. Algorytm został p rzetestowany n a serii 3 6 z e s ta w ów d an y ch o w s p ó ł c z y n n i k a c h gonorowar.yck losowo. W a r to śc i ws p ół c z y n n i k ó w k o s z t ó w p r z o z b r o j o ń wyznaczano są wodlug rozkładu j odnoś ta jnogo z p r z e d z i a ł u (0,100'i. Opracowana wersja al g or yt mu pozwala n a uz ys k an ie r oz wi ą z a n i a dokładno jo lub subopty ma l no go z okresie-
156 M .Hadc j s k i , E . T o c z y ło w sk i
n ą p r z e z , u ży tkownika dokładnością Có3. U ż y t k o w n i k może i.ybrać jedno z d w óc h k ry te r ió w s u b o p t y m a l n o ś c i : •
/i/ 81 - wzg lę dn y bin d op t y Palności n a każdy:: etapie n i e prz ek ra cza w a r t oś c i £ 1,
/ii/ £2 “ b e zw zg l ę d n y bł ąd opt ym a ln oś ci na k a ż d y m etapie nie p r z e k ra cz a wa rt o ś c i £ 2 . | | . średni koszt prze zbrojenia.
Z prze pr o wa dz on y ch o b l i cz e ń l-.ybrano k i l k a c h a r ak te ry z uj ąc yc h istotne wł a ściwości algorytmu. V tablicy 1 p r z ed s ta wi on o przy kł a do we wynilii obli
czeń al go rytmu dla j ed noetapowych z a d a ń A v j._ 11'V ) P rzy z m i e n n y m wymia
rze N. dla w a r i an tu optymalnego oraz w a r i a nt ów s u b o pt ym a ln yc h £.= 0.1 i e2 = 0.0 2.
T a b l ic a 1
Nk
Vari a nt optymalny Variant subo pt y ma ln v
OIIUJ = 0 , 1 e2 = 0 ,0 2
Czas F unk c ja
celu Czas F un kc ja
celu Czas Funk c ja
celu
4 2 2 45,4 2 .45,4
7 3 16 5,0 3 16 5,0 3 16 5,0
10 5 114,5 3 114,5 3 114,5
15 96 119,1 35 119,1 35 132,3
20 2V7 159,8 79 171,5 45 171,5
W t ab licach 2 i 3 pr ze ds t a w i o n o czasy o b l i c z e ń dla w i el oe ta p ow eg o p roblemu prz e zb ra Jo n ia /ze swo bo d ny m w a r u n k i e m k o ń c o w y m / w z a le żn oś c i od wari a nt u połącz en i a a l g o ry tm u pr og r a m o w a n i a dyn a mi cz ne g o z a lg or yt m om p od zi ał u i ograniczeń:
/ v w e r s j a N - nieza le żn e s tosowanie a l go r y t m u p ro g ra m o w a n i a dynami.cz n e g o i m e t o d y p o d z i a ł u i o gr an i c z e ń /bez w y k o r z y s t y w a n i a oszaco- waii Ę k i Fk _ l/;
rii/ w e rs ja OPD - ogra ni cz o na w e rs ja p r o gr a mo wa ni a dynamicznego, w k t órej w y ko rzystuje się o s za co wa n ia i Flt 1 do odrzucania we wzorze / 1 ^ / o b l i c z e ń dla z b ę d n y c h w a r i a n t ó w s t anów pośrednich Vk d ających r o z wi ąz an i a optymalnego/;
iii/ w e r sj a P - pe ł na w e r sj a połącz o ne go a l g o ry t mu p r og ra m o w a n i a dyna
micz n eg o oraz m e t o d y p od zi a ł u i o g r a n i c z e ń /opisan eg o w pkt. 3/i w k tó ry m oszacowania i ^ tykorzystuje się do sondowania wszystkich wierzchołków drzewa rozwiązań metody podziału i ograni*
Algorytm dla w ie l oe ta po w eg o p ro b l e m u 157
ii' tablicy 2 zamieszczono czasy obliczeń optymalnej worsji algorytmu dla problemu 7-etapowego z liczbą produkowanych wersji na każdym otapie
IKJ = 7.
Tablica 2
Variant algoryt
mu
Czas dla kolojnyoh etapów Cs] Czas łączny
1 2 3 U 5 6 7
N 5 23 23 2k 22 23 23 143
OPZ) 5 • 22 20 17 20 10 19 119
P 5 17 16 15 13 16 1*i 101
V tablicy 3 zamieszczono czasy obliczeń suboptymalnoJ worsji algoryt
mu / £ = 0.1/ dla problemu 3-etapowego z liczbą worsji na każdym etapie
|Ńj.l = 10.
Tabl ic a 3
Variant algoryt
mu
Czas dla kolejnych etapów C s]
Czas łączny
1 2 3
N 10 158 158 332
0PD 9 6h 79 152
P 9 6h 71 IW
Dla problemów wieloe tapoiłych krótlti czas obliczeń dl a piorwazc\,o o tup*.:
vynilca z wykorzystania informacji o stanie yoczątkowyn /i.n:..or worsji pro
dukowanej jako pierwsza/. Połączony al ;oryt:.: pro;; ramowaniu dy::a:.icz::e..o oraz metody podziału i ograniczeń daje nieduży zysk na czusio obliczt.*.:
w porównaniu z ocraniczoną vers ją programowania cly:; ..uiczno ;c*.
^ ^ R A T H U
[li Ba las E. , Cliris tofides >i. : A novr penalty notkod for the travcliiv salesnan problem, DC Inst.Syr:p.Math. Pro.;r. Budapeszt 197^»
[2] Balas E. , Cliristofides X. : Tho re s tr ic to d lacroani;o&n app r oa ch to the t ra veling s a l es ma n problem, Teolui.Uop. Garno*.to-Bellon i n i v e r s ity*
1979
156 M . Ma de ,j s k i , E. Toczyłousld
[3] CJiristofides Ii.: Bounds f o r the travelinc s a lesman problem, Opns.
iics., 20, 1972, 1 0 ^ - 1 0 5 5
F^łJ Held M. , k a r p R.U. : 'Hic t ra v el in g-salesman p r o b l e m a n d min im u m s pannins trees, Opns.Res. 1 8, 1970, 1138— 1
[
3
] Hołd H. , Ka rp K.Ii. : fh e trave 1 -5
a 1 c a ma n p r o b l e m a n d minimum spaimini,- trees, part II, Math.Procr. 1, 1971,6-25
tól Madejski M. : 1/ybrane z a ga d ni en ia h a rm on os r am ow an i a i sterowania dys
p ozytorskiego procesami montażu, Pr ac a m a g i s t e r s k a, In stytut Autora- tyki PI, 1983 /niepublikowana/.
R ec en ze nt : Pr of .d r i nż . He n r y k Kowalewski Wpłynęło do R e d a kc ji do 5 Q.0 3 .1 9 B4 r.
M T O P H T M M R MH0r03TAIIH02 UPOSUKAJ E E E E H A M J I K H nPOH3BOJCTHEHH02 JfflHPffl
P
e 3
du e
B paÔO Te flan a u r o p H T M H B p en o B a H H H ip u i M H o r o o i a u H o S np odueuu mhhhmess- B Œ 3ETPET H ep eH a Ua UK H UpOH3 BO H CT Be HH O H JIHHKH, OCHO BS H H E coBuemeHite Ke-
TOfla pa3ne.ua
horpaHZHeHEË c MeTojou OTHaicnecKoro nporpaMMEpoBamiH»
A N A L G O R I T H M FOR M U L T I S T A G E P R O B LE M OF PRODU CT IO N L I N E RECONFIGURATION
S u m m a r y
In the paper e sequential a l go rithm for a problem of cost minimizstio:
for p roduction line r e co n fi gu ra t io n is presented. Bounds an d branching a lg orithm is joined w i t h dynamic pr og r a m m i n g method.