MADENCİLİK Aralı December 1991 Cilt Volume XXX Sayı No 4 Dinami Programlama Teniğindei Gelişmeler Developments in Dynamic Programming Technique Ercüment YALÇIN (*) ÖZET Bu yazıda, optimum nihai açı işletme sınırını bulma için ullanılan dinami programlama teniğiyle yazılmış algoritmalar incelenmiş, Koenigsberg ve Wright tarafından geliştirilen algoritmalar tanıtılmıştır. ABSTRACT In this paper, dynamic programming algorithms used to find the optimum ultimate pit limits were discussed and the algorithms developed by Koenigsberg and Wright were explained. (*) Dr. Maden Y. Müh., Arş. Gör., ODTÜ Maden Müh. Böl., ANKARA 13
1. GİRİŞ lan aynı olmatpdır. Blo yüseliği, genellile basama yüseliğine eşit olmatadır. Açı işletmelerde bilgisayar yardımıyla optimum nihai açı işletme sınırının bulunması, günümüz madenciliğinde üzerinde çalışılan onuların başında gelmetedir. Uzun vadeli açı işletme planlamasında, cevher yatağından en yüse ârı elde edebilme için optimum nihai sınırın bilinmesi zorunlu hale gelmiştir. Bu nedenle, son 25 yıl içerisinde bu onuda yapılmış birço çalışma bulunmatadır. Bu çalışmalar sırasında geliştirilen tenilerden Graf teniği, Lineer programlama teniği ve Networ aım teniği günümüzde ço az ullanılan tenilerdir (Kim, 1978). Hareetli oni yöntemi ise yaygın olara ullanılmasına arşın, ço fazla bilgisayar hafızası ve bilgisayar zamanı geretirmete ve gerçe optimumu bulması garanti değildir. Dinami programlama teniğiyle yazılmış bilgisayar yazılımlarının yüse hıza ve hafızaya sahip bilgisayar sistemlerinde ullanılması fazla sorun yaratmamatadır. Düşü apasiteli işisel bilgisayarlarda ise hız ve hafıza sınırlı olduğu için bazı sorunlarla arşılaşılabilmetedjr (Shenggui ve Starfield, 1985; Writght, 1987; Lizotte, 1988; Ünal ve Yalçın, 1989). Günümüzde yaygın olara ullanılan ve daha verimli hale getirme için üzerinde en fazla çalışmanın yapıldığı diğer bir teni ise dinami programlama teniğidir. Bu teni, olay anlaşılması, gereli olan bilgisayar hafıza ve zamanının azlığı ileelde edilen nihai sınırın optimum sınıra ço yaın olması nedeniyle diğerlerine göre daha avantajlı duruma gelmetedir.. Bu yazıda, son yıllarda dinami programlama teniği üzerinde yapılmış olan çalışmalar ve bu çalışmalar sonucunda geliştirilmiş yeni algoritmalar incelenecetir. 2. BLOK MODELİ 2.2. Üç Boyutlu Değişen Blo Modeli Blo yüseliği genellile basama yüseliğine eşit olmata ve yatay yönlerdei boyutlardan en az birisi blotan bloa değişmetedir. 2.3. Izgara Düğüm Modeli Bu blo modelinde, cevher yatağı yüzeyinde yatay yönlerde 2 boyutlu ızgara düğüm notaları oluşturulmatadır. Her bir ızgara düğüm notasının diey boyutu, örtü tabaası ve cevher alınlığına bağlı olara değişmetedir. 2.4. İi Boyutlu Düzensiz Blo Modeli Cevher yatağından alınan düşey esitler üzerinde poligonlor ile düzensiz şeiller belirlenmetedir. Düşey esitler arasındai uzalı, cevher yatağının süreliliğine bağlı olara sabit ya da değişen olabilmetedir. 2.5. Üç Boyutlu Düzensiz Blo Modeli Bu blo modelinde ise, cevher yatağından alınan yatay esitler üzerindei düzensiz ve saçınmış haldei cevher zonları poligonlar vasıtası ile belirtilmetedir. Basama yüseliği sabit olmatadır. Yuarıda verilen blo modellerinden yaygın olara ullanılanı 3 boyutlu sabit blo modelidir. Bu blo modeli, masif baır yataları için geliştirilmiştir ve sediment cevher yatalarında da ullanılabilmetedir (Kim, 1987). 3. DİNAMİK PROGRAMLAMA ALGORİTMALARI Optimum nihai sınırı bulma amacıyla geliştirilen bütün tenilerde blo modeli ullanılmatadır. Kullanılan blo modelleri beş gruba ayrılabilir (Kim, 1978). 2.1. Üç Boyutlu Sabit Blo Modeli Bu modelde cevher yatağı blolara bölünmete ve yatağın her yerinde blo boyut- 14 3.1. İi Boyutlu Dinami Programlama Algoritması 2 boyutlu dinami programlama algoritması il olara, Lerchs ve Grossman (1965) tarafından cevher yatağından alınan düşey esitler üzerinde optimum nihai sınırı bulma için geliştirilmiştir. Bu teniğin algoritması aşağıda verilmiştir.
3.2. Uç Boyutlu Dinami Programlama Algoritması My =j sütununda, i atındai blo da dahil olma üzere toplam net değer. b) Yapay (i = 0) sıracı ilave edilir. M oj =0, j=1,2,...j c) j=0, P oj =0 2. Aşama. Eğer j=j ise 5. aşamaya gidilir. 3. Aşama: H+1 4. Aşama: Her i b'oğu için, (i,j) bloğundan en yüse değere sahip (i+r, j-1) bloğuna giden o işaretlenir. Eğer i = I ise 2. aşamaya gidilir. 5. Aşama: P 0 j = Toplam net değer Eğer P 0 j ^ 0 ise cevher yatağı eonomi değildir. Eğer POJ>0 ise oları taip edere optimum nihai sınır bulunur. Yuarıdai algoritmanın bütün esitlerde uygulanmasıyla bulunan optimum nihai sınırlar yan yana getirildiğinde aralarında uyumsuzlular olmata ve elle düzeltmeler yapma geremetedir. Bu işlem sonucunda ise bulunan sınır optimumdan uzalaşmatadır. Johnson ve Sharp (1971), 2 boyutlu dinami programlama algoritmasını ullanara 3 boyutlu dinami programlama algoritmasını geliştirmişlerdir. Teniğin algoritması ile ilgili geniş bilgi Ünal ve Yalçın (1989) ve Yalçın (1991) aynalarında verilmiştir. 3 boyutlu dinami programlama algoritması genel olara ii bölümden meydana gelmiştir. Birinci bölümde, esitlerin her atı için bir optimum sınır ve net değer bulunmata ve bu, uzunlamasına esiti temsil eden 2 boyutlu matrise aydedilmetedir. İinci bölümde ise uzunlamasına esit üzerinde 2 boyutlu dinami programlama algoritması ile optimum sınır bulunmatadır. 2 boyutlu dinami programlama algoritmasında olduğu gibi bu algoritmada da, yan yana olan esitler için bulunmuş nihai sınırlar arasında uyumsuzlular olabilmete ve elle düzeltmeler yapma geremetedir. Dar ve uzun cevher yatalarında ise başarıyla uygulandığı görülmüştür (Shenggui ve Starfield, 1985). 3.3. Koenigsberg'in Üç Boyutlu Dinami Programlama Algoritması 3 boyutlu dinami programlama teniğiyle bulunmuş optimum nihai sınır üzerinde elle düzeltme yapmayı ortadan aldırma için, Koenigsberg (1982) tarafından yeni bir algoritma geliştirilmiştir. 2 boyutlu dinami programlama algoritmasında bir blotan diğerine geçiliren, bir öncei sütunda bulunan 3 adet omşu blo gözönüne alınıren, Koenigsberg tarafından geliştirilen algoritmada 4 adet omşu sütunda yer alan omşu blolar gözönüne alınmatadır,şeil 1. Blo b i j ye omşu olan 4 sütunu gösterme için S (Side= Yan, enar) ve B (Bac= Ara) notasyonları ullanılmıştır. (j-1,) sütununda Si=i'nin yanı; (j-1, -1) sütununda BSi=i'ı<in yanının arası; (j, -1)sütununr arasının yanı; SBSi=ı'.in yanı in 15
(j+1, -1) sütununda SSBSi=i'nin yanının arasının yanının yanı. Eğimin 1:1 olduğu düşünüldüğünde, bu eğimin sağlanabilmesi için aşağıdai şartların sağlanması geremetedir: li-sil <1 li-bsil <1 li-sbsil < 1 li-ssbsil < 1 ISi-BSil < 1 İSi-SBSil <1 IBSi-SBSil < 1 ISBSi-SSBSil <1 O) BSi Bi = Ü" 1. -1) sütunundai omşu blo, = SBÎ3İ = Ü' ^"1) sütunundai omşu blo, SSBSi= (j+1. -1) sütunundai omşu blo. Bir blo için aynı Pj j optimum değerini veren değişi blo setleri olabilir, (j-1,) sütunundai Si bblan için P Sİ j değerini ve bu değeri veren blo setinin bilindiği abul edildiğinde, eğer Si blolarından birisi Pj ; optimum değeri için omşu olma zorunda ise, bu durumunda S(Si) ve BS(Si) bloları ile BSi bloğu arasında şu şartlar sağlanmalıdır: (2) Eğer BSi * SBS(Si) ise, bu durumda (j-1, -1) sütununda yuarıdai şartları sağlayan alternatif blo aranır. Alternatif bloun seçilmesi durumunda, Pj j değerinin hesaplanması için Psi, j-1, değerinden PsBSSi,j-ı,-ı değeri çıarılmalı ve Pj j. ^ _ı değeri ilave edilmelidir. Burada i', alternatif olara seçilmiş olan atı belirtmetedir. Eğer bir blo Pj j optimum değerini sağlayan bir öncei blo değilse, bu blodan önce gelen diğer blolar sete dahil edilmez. (3) Şeil 1. Blo (i, j, )a omşu 12 bloun onumları Pj j 'nın optimum değeri için, (j-1, ) sütunundai 3 omşu attan en az birisi Si'dir, aynı durum (j-1, -1) sütunu içinde geçerlidir. Blo bj j için aşağıdai tanımlamalar yapılmıştır; (i, j, )= blo tanımlayıcı, Pj j Si = bloun optimum değeri, = G" 1. ) sütunundai omşu blo, Aynı yöntem Pj, değerini sağlayan SBSi ve SSBSi blolarının bulunmasında da ullanılır. Blo bj j üzerindei Pj j optimum değeri için aşağıdai eşitli yazılabilir: Burada; Pj j = blo bj j için optimum oca net değeri, Mj j = blo bj j için toplam sütun değeri, 16
p Si,j-ı, = (M > ) sütunundai omşu blolardan birisi için oca net değeri, p SBS(Si),j-ı,-ı = p Si,j-ı, değerininhesaplanması sırasında (j-1. -1 ) sütununda yer alan optimum omşu blo için oca net değeri, P BSİ j_! -1 = (j-1, -1 ) sütununda yer alan veblobjj ve blo b BSİ i. 1 ile uyum içinde olan optimum omşu blo bsb^si) H.! için oca net değeridir. Eşitli 4'dei terimler de, aynı yolla bulunmuş olan optimum omşu blolar için oca net değerleridir. Eşitlidei negatif terimler, şev açısını ve blolar arasındai uyumu sağlama için gereen düzeltmelerdir. Buradai düzeltmeler (-1) esitindei blolar için bulunmuş olan oca net değerlerini ifade etmetedir, (-1) esitindei düzeltmeler, (-2) esitindei düzeltmeleri, bu da (-3) esitindei düzeltmeleri geretirebilmete ve bu işlem (=1) oluncaya adar devam edebilmetedir. Bu durum, 4 tane omşu sütunda seçilen bloların gereli şev açısını sağlama için uyum içinde olmalarını engelleyebilmetedir (Wright, 1987). Koenigsberg'in algoritmasında P, : değeri at, sütun ve esit sırasını taip edere bütün blolar için hesaplanır. Bu işlemin sonucunda, bj j bloğu için şu değerler bilinmetedir: P O,J,K değerinden başlayara geriye doğru gidilir ve belirtilmiş olan omşu blolar taip edilere optimum nihai sınır bulunmuş olur. P 0 j K değeri, bütün şartların yerine getirilmesinden sonra cevher yatağından elde edilen optimum net değerdir. 3.4. Wile ve Wrightin Üç Boyutlu Dinami Programlama Algoritması Koenigsberg'in algoritmasında yapılması gereen düzeltmeler sırasında optimum nihai sınırdan uzalaşıldığını belirten Wright (1987), bu problemi ortadan aldırma için yeni bir algoritma geliştirmiştir. Bu algoritmada, bütün bloları apsayan ve bu blolar üzerinde oluşturulan hareetli oniler şelindei 3 boyutlu artırımlar ullanılmatadır. Wright'in algoritmasında, her blo için oca net değeri olan Pi, j, 'in hesaplanması için yeni bir eşitli geliştirmiştir. Bununla beraber, 2 boyutlu dinami programlama algoritmasına bu algoritmada da sadı alınmıştır. Blo bj ; için Pj -, oca net değeri, blo b; j ile üzerindei onide yer alan blolardan ve blo b; j ile uyum sağlayan omşu sınırlardan en iyi net değere sahip olanı ile hesaplanmatadır. Pj ; hesaplamaları sırasında bir bloa ait net değer, hesaplamaya birden fazla atılmamalıdır. Bu nedenle, hem Cjj hareetli onisi içinde hem de omşu açı oca sınırlarının net değerleri olan Pj^^, P ipj. 1 vep i+1 j. 1 içinde yer alan bütün nrijj blo net değerleripj j değerinden çıarılmalıdır. Bu işlemi yapabilme için aşağıdai eşitli geliştirilmiştir. Bu durumda eşitli 5 aşağıdai gibi yazılabilir: Burada; Pj j = blo bj j için optimum oca net değeri, Cj : = blo bj j üzerindei minimum hareetli oni değeri, (5) IP L =blo bg.1 için optimum oca net değeri, L=j-1, i, i+1, 1 M L = p L,j-ı, n c i,j, > blo b L,j-ı, üzerdei oca sınırı ile b ; ; üzerindei oninin esişim bölgesinde yer alan bloların net değerinin toplamı, L = i-1, i,i+1, L= i+1 olduğunda P i+1ıj. 1> n C ij = C IJ dir. (6) 17
18
Şeil 2'de, 5 esitten oluşan bir örne cevher yatağı ve blo net değerleri verilmiştir. Her blo için, Eşitli 6 ullanılara P y değeri hesaplanmış ve bulunan optimum nihai sınır Şeil 3 üzerinde alın çizgilerle gösterilmiştir. Optimum nihai açı işletme sınırlarını bulma için geliştirilmiş olan bu yeni 3 boyutlu dinami programlama algoritması, bulunan sınır üzerinde elle düzeltme yapılmasını ve Koenigsberg'in algoritmasındai düzeltmeleri ortadan aldırmatadır. Aynı zamanda, bulunan sınır süreli optimumdur (Wright, 1987). Algoritmanın te dezavantajı ise, blolar için bulunan oca sınırları ile blolar üzerindei hareetli onilerde yer alan bloların ontrolünden dolayı gereli olan bilgisayar hafızası ve zamanının fazla oluşudur. Kontrol işleminin yapılmaması durumunda gereli olan bilgisayar zamanı olduça azalmatadır. 4. SONUÇ Optimum nihai açı işletme sınırlarını bulma için ullanılan dinami programlama algoritmaları içinde, Koenigsberg ve Wright tarafından geliştirilmiş olanlarının, bulunan optimum nihai sınırlar üzerinde yapılması gereen elle düzeltmeyi en az düzeye indirdiği, hatta tamamen ortadan aldırdığı ve yapılması gereen düzeltmelerden dolayı optimumdan uzalaşılması problemi ile arşılaşılmadığı belirtilmetedir. Buna arşılı, bu algoritmaların cevher yatalarına uygulanmaları sırasında ne derece başarılı olduları, performansları ve hesaplama hızı haında bilgi veren ayna sayısı yo denece adar azdır. Dinami programlama teniği, optimum nihai açı işletme sınırını bulma amacıyla geliştirilen teniler içinde en olay ve hızlı olmasına arşın, açı işletmenin değişi bölgelerinde değişi şev açılarına göre optimum nihai sınır bulma bu tenile henüz olanalı değildir. Bunedenle 3 boyutlu dinami programlama teniği üzerindei çalışmaların bundan sonra da devam edeceğini ve yeni algoritmaların geliştirileceğini şimdiden söyleme olanalıdır. KAYNAKLAR JOHNSON, T.B. ve SHARP, R.W., 1971; "A Three-Dimensional Dynamic Programming Methods for Optimal Ultimate Open Pit Design", U.S. Bur. Min., Rl 7553. KIM, Y.C., 1978; "Ultimate Pit Design Methodologies Using Computer Models - The State of the Art", Min. Eng., Vol. 30, pp 1454-1459. KOENİGSBERG, E., 1982; "The Optimum Contours of an Open Pit Mine: An Application of Dynamic Programming", Proa. 17 th APCOM Symp. Soc. Min. Eng., AIME, pp 274-287. LERCHS, H. ve GROSSMAN, I. F., 1965, "Optimum Design Of Open Pit Mines", Can. Inst. Min, Bull., Vol. 58, pp 47-54. LIZOTTE, Y., 1988; "The Economics of Computerized Open-pit Design", Int. J. of Sur. Min., Vol. 2, pp 59-78. SHENGGUI, Z. ve STARFIELD, A. M., 1985; "Dynamic Programming with Colour Graphics Smoothing for Open-pit Design on a Personal Computer", Int. J. of Min. Eng., Vol.3, pp 27-34. ÜNAL, A. ve YALÇIN, E., 1989; "Açı Oca Nihai Sınırlannın Bilgisayar Desteli Tasanmı ve Batı Kef Krom Yatağına Uygulanması", Türiye Mad. Bil. Te. 11. Kong., s 1-19. WRIGHT, E. A., 1987; "The Use of Dynamic Programming for Open Pit Mine Design: Some Practical Implications", Min. Sci. and Tech., Vol. 6, pp 79-104. YALÇIN, E., 1991; "Açı İşletme Dizaynı için Üç Boyutlu Di nami Programlama Teniği", Madencili, Cilt 30, Sayı: 2, s.17. 19