î. Ü. İşletme Fakültesi Dergisi, C: 23, S; 1, j Nisan 1994 185 TAMSAYILI DOĞRUSAL PROGRAMLAMA PROBLEMLERİNİN ÇÖZÜMÜNDE LAGRANGE YÖNTEMİ (LAGRANGE RELAXATION) Dr. Mehpare TİMOR 1- Giriş Optimizasyon problemleri genel olarak iki kategori içinde ele alınmaktadır. Problemlerin bir kısmı "kolay" olarak adlandırılan ve çözüm süreleri polinom zamanla sınırlanan problemler olup, geriye kalan büyük bir grup "zor" olarak adlandırılan ve üstel zaman gerektiren problemlerden oluşmaktadır. Tamsayılı programlama problemlerinin büyük bir 1 kısmı zor olarak adlandırılan ikinci grup içinde yer almaktadır. Lagrange yöntemi ile problem çözme yaklaşımının 1970'te Held-Karp'm birlikte geliştirdikleri Minimum Maliyetli Ağaç-Gezen Satıcı Problemi uygulaması ile doğduğu kabul edilmektedir. 1970'ten itibaren birçok çalışma 2 v e 3 gerçekleştirilmiş olup, bu çalışmalarda optimizasyon problemlerinin büyük bir kısmı için, problemi güçleştiren kısıtların çok az sayıda kısıttan ibaret olduğu, bu kısıtların bulunmaması halinde problemin kolayca çözülebilen problemler sınıfına girebileceği ifade edilmiştir. 1974'teki çalış- (1) Polinom ve üstel zamanlı problemler hakkında ayrıntılı bilgi içinbkz. GAREY M.R., JOHNSON D.S., Computers and Tractability-A Guide to the Theory of NP- Completeness, (USA: Bell Teleph.Lab.Inc., 1979} (2) HELD M., KARP R.M., "The Traveling Salesman Problem and Minimum Spanning Trees", Operations Research, (V. 18, 1970), SS. 1138-1162. (3) HELD M., KARP R.M., "The Traveling Salesman Problem and Minimum Spanning Trees, Part-H", Mathematical Prograraıning, (V.l, 1971), SS. 6-25.
186 /, Ü. İşletme Fakültesi Dergisi, C:23, S: 1, / Nisan 1994 masında Geoffrion, kısıtların dualize edilmesi olarak ifade edilen yönteme Lagrange Yöntemi (Lagrange Relaxation) adını vermiştir. 4 Lagrange Yöntemi ile karmaşık olan orjinal problemi çözümü daha kolay olan bir probleme indirgenmektedir. 2- Lagrange Yönteminin Temel Yapısı Bir doğrusal programlama probleminin modelinde yer alan karmaşık kısıtların, kısıtlar arasından çıkartılarak amaç fonksiyonuna ilave edilmesi tekniği Lagrange Yöntemi (Lagrange Relaxation) olarak adlandırılmaktadır. 5 Karmaşık kısıtlardan arındırılmış olan yeni problemin çözümü, orjinal probleme göre daha kolaydır. Tamsayılı programlama problemlerinde (daha ziyade sıfır-bir programlama problemlerinde) çözümü güçleştiren karmaşık kısıtlar çıkarıldığında, kalan kısıtlar ile problemi çözmek, problemin orjinal halini çözmekten daha kolaydır. 6 Karmaşık bir tamsayılı doğrusal programlama problemi aşağıdaki şekilde formüle edilmiş olsun; Z: min cx Ax=b Dx<e e>0 ve tamsayı x, n değişkenden, b, m kısıttan ve e, k kısıttan oluşmaktadır. (P) problemine ait kısıtlar; Ax~b ve Dx<e olmak üzere iki ayrı grup halinde ele alınmaktadır. (P) probleminin çözümünü güçleştiren kısıtlar grubu, Ax=b şeklindeki ilk kısıt grubudur. Çözümü kol aylaş tır malt için probleme Lagrange Yöntemi uygulanırsa; Zrj(u): min cx+u (Ax-b) Dx<e > < ") LR x>0 ve tamsayı J elde edilir. u=(u1?, ıv) vektörü ile ifade edilmek üzere, u Lagrange çarpanları olarak adlandırılmaktadır. 7 (LRu) problemini çözmek, (P) probleminin çözümüne göre "göreceli olarak" daha kolaydır. (4) GEOFFRİON A.M., "Lagrangian Relaxation and ils Uses in Integer Programın i ng", MathematicalProgramming Study, (V. 2 1974), SS. 82-114. (5) N13MHAUSER G.L., WOLS13Y L.A., Integer and Combinatorial Optimization, (N.York: J. Wiley & Sons, Inc., 1988), S. 298. (6) îbid., S. 323. (7) FISHER M.L., "The Lağrangion Relaxation Method for Solving Integer Prograınming Problems", Management Science, (USA: V, 27, No: 1, Jan. 1981), S. 2.
I. U. işletme Fakültesi Dergisi, C: 23, S: 1, / Nisan 1994 137 ZD(u)<Z olduğu bilindiğinden, x* (P) probleminin optimum çözümü olmak üzere, Zrj(u)<cx*+u(Ax*-b)=Z şeklinde ifade edilirse, bu eşitsizlikten yola çıkılarak, Z=cx*, Ax*-b=0 olduğu ifade edilebilir. Problemdeki Ax=b eşitliği Ax<b ile değiştirilirse, u>0 için; ZD(u) < cx*+u(ax*-b)<z elde edilir. Z=cx*, u>0 ve Ax*-b<0 olmalıdır. ZD(u)=Z eşitliğini sağlayan u değerlerinin tespit edilmesi her zaman mümkün olmamaktadır. Bazı problem Örneklerinde ZD(u)=Z şartının sağlandığı görülmekte ise de bu tür örneklerle her zaman karşılaşılamamaktadır. (P) problemi için uygun çözüm değerleri üretebilmek için, (LRJ'nun uygun çözüm civarındaki değerlerinden yararlanılmaktadır. Tamsayılı doğrusal programlama problemlerinin Özel bir şekli olan sıfır-bir programlama problemi için genel formülasyon; Z: min cx Ax<b x=(0 veya 1) şeklinde verilmiş olsun. Problemdeki Ax<b kısıtı, u ile çarpılarak amaç fonksiyonuna ilave edilirse; LRu=cx-ı-u (Ax-b)~(c+uA)x-ub x=(0 veya 1) elde edilir. r 0,c+ua>0 x = < 0 veya 1, c-f-ua=0 V 1,c+ua<0 alınarak LI^ problemine ait x değerleri tespit edilmeye çalışılır. 8 Tamsayılı doğrusal programlama problemi olan sıfır-bir programlama problemlerinin en iyi örneğini atama problemi oluşturmaktadır: (8) SHAPIRO J.F., "A Survey of Lagrangean Techmques for Discrete Optinıizatioıı", Annals of Discrete Matkematics, {5, 1979), SS. 113-138.
188 /. Ü. İşletme Fakültesi Dergisi, C:23, S: 1, / Nisan 1994 m n Z: min X X Xjj i=l j=l m i=l ıı (j=l,...,n) X aijxij<bi (i=l,...,m) xij=(0 veya 1) Yukarıda tanımlanan atama probleminde, u>0 olmak üzere ilk kısıt dualize edilirse; m n n ra Xa i jx j<b i (i^l,...,m) xy = (0 veya 1) elde edilir. Amaç fonksiyonu yeniden düzenlenirse; m n ıı ZD1(u): min X X (Cjj-ru,-) x i r X u elde edilir. Aynı atama probleminde, ilk kısıt yerine ikinci kısıt dualize edilerek problemin yeni şekli aşağıdaki şekilde ifade edilebilmektedir; m n m n ZD2(v): min X ey xy + Xvı ( Sa^ s» - bi) ı=l j=l i=l j=l m X Xij = 1 (j=l,...,n) Xjj=(0 veya 1) Amaç fonksiyonu yeniden düzenlenirse; ura m ZD2(V): min X ( S (c-y + vs a^) x«) - Xv, b; elde edilecektir. Farklı kısıtlar dualize edilebildiğinden, Lagrange yöntemi için sırasıyla aşağıdaki soruların cevaplandırılması gerekmektedir: Z problemi için birbirinden farklı dualizasyonlar mümkünse bunlardan hangisi tercih edilmelidir? Farklı kısıtların dualize edilebilmesi halinde farklı Lagrange problemleri elde edildiğinden, hangi problem ile daha iyi sınır değerleri elde edilebiliyor ise o model tercih edilmelidir. Ancak bu noktada dikkat edilmesi gereken husus, daha iyi sınır değerleri üreten problemin çözümünün daha uzun süre gerektirdiği, bu nedenle iyi sınır değerleri ile hesaplama süresi arasında bir tercih yapılması gerekeceğidir. 9 (9) FISHER, op.cit, S. 12.
/. Ü. İşletme Fakültesi Dergisi, C: 23, S: 1, / Nisan 1994 189 Lagrange çarpanları olarak adlandırılan parametreler için (u veya v) uygun değerler ne şekilde tespit edilebilir? Lagrange çarpanlarının tespiti için birden fazla yöntem geliştirilmiş olup,bu yöntemler üçüncü bölüm içinde ele alınmaktadır. Orjinal probleme (P problemine) uygun çözüm değerleri üretmek için dualize edilmiş olan problemden (LRu'dan) ne şekilde yararlanılabilir? Orjinal problemdeki karmaşık kısıtlar amaç fonksiyonuna ilave edildiğinden, elde edilen Lagrange probleminin çözümü, orjinal problemin optimum değeri için bir sınır değeri (minimizasyon problemleri için bir alt sınır) oluşturmaktadır. B u nedenle Lagrange problemleri esas problem için sınır değerleri üretmede kullanılmaktadır. Lagrange Yöntemi ile birlikte çalışan Sezgisel Yöntem kullanılarak, uygulanan çözüm yönteminin her aşamasında orjinal problem için (Problem-P) bir uygun çözüm değeri üretilmeye çalışılmaktadır. 10 Lagrange Yöntemi ile problem çözümünün sonunda, iki çözüm değeri arasında Dual Aralığı (Duality Gap) olarak adlandırılan bir fark kalabilmektedir. Dual aralığının küçük olması istenmekle birlikte, aralığın aldığı değerin problemin güçlüğünün göstergesi olduğu bilindiğinden iki çözüm arasıda fark (dual arahğı)kalmasına izin verilmektedir. 11 3- Lagrange Problemindeki Çarpanların Belirlenmesi Optimizasyon problemlerinde, sinirli sayıdaki kısıtm son derece karmaşık olması çözümü zorlaştırmaya yetmektedir. Lagrange Yöntemi ile, karmaşık olarak adlandırılan kısıtların dualize edilmesi sonucu elde edilen problemin çözümü orijinal probleme göre göreceli olarak daha kolaydır. Yeni problemin optimum çözüm değeri, primal problemin optimum değerine bir sınır teşkil etmektedir. Lagrange yöntemi, bu noktada orjinal problemi sağlamada kullanılmaktadır. Lagrange çarpanlarının belirlenmesi için üç farklı yaklaşım geliştirilmiştir. 1) Aşamalı Optimizasyon Yöntemi (Subgradient Optimization), 2) Simpleks yöntem esasları uyarınca çalışan kolon üretme tekniği (Boxstep Method) 3) Çarpan Ayarlama Yöntemi (Multiplier Adjustment Method). ' (10) CUREENT J., PIRKUL H., ROLLAND E., "Efficient Algorithms for Solvirtg The Shortest Coverhıg Path Problems," The Ohio State University Working Paper, WPS 90-56, 1990, S. 18. (11) GONDRANM., MINOUX M., VAJDA S., Graphs and Algorithms, (New York: John Wüey & Sons, Inc., 1990), SS. 519-520.
190 /. Ü. İşletme Fakültesi Dergisi, C:23, S: 1, / Nisan 1994 3.1. Aşamalı Optimizasyon Yöntemi (Subgradient Optimization) Verilen bir doğrusal programlama probleminden Lagrange yöntemi uygulanarak elde edilen Lagrange problemi konkav ise her yerel optimum aynı zamanda bir global optimumdur. Zrj(u) her noktada türevi alınamayan bir fonksiyon olduğundan, klasik-doğrusal olmayan programlamaya ait yöntemler (gradient yöntem) uygulanamaz. Ancak, genel gradient yöntemden yola çıkılarak, her aşamada hareket yönünü (gradient'ı) belirleyecek bir yöntem geliştirilmiştir. Aşamalı Optimizasyon Yöntemi (Subgradient Optimization) olarak adlandırılan bu yöntemin adımları aşağıda tanımlanmaktadır: 12 1- Başlangıç aşaması için bir x değeri seçilir, iterasyon sayısı başlangıç için k=l'dir. 2- ZD(u) değeri hesaplanır, bir subgradient (st) seçilir, eğer Sk=0 ise bulunan çözüm optimumdur, aksi takdirde; 3- x k + 1 =x k +tksk değeri hesaplanır, dlt (Z* - Z) Z*: En iyi uygun çözüm değeri Z: k. iterasyonda hesaplanan sınır (bound) değeri dk=2 (0<dk<2 olup, başlangıçta 2 seçilen d^ değeri ilerleme kaydedilmeyen 15 iterasyon sonunda ilciye bölünmektedir. ) 13 4- k=k+l alınıp ikinci aşamaya dönerek işlemlere devam edilir. I I. I i: Euclidien normu temsil etmektedir. 14 (12) İbid., SS. 623-624. (13) GAVISH B., PİRKUL H., "Efficient Algorithms For Solving Multiconstraint Zero-One Knapsack Problems to Optimaİity", Mathematical Programmig, (V. 31, 1985), S. 81. (14) VYTODER D. V., Advanced Calculus, (New Delhi: Prentice-Hall of India Private Ltd, 1968), S. 314.
/. U. işletme Fakültesi Dergisi, C: 23, S: 1, / Nisan 1994 191 Z* bir uygun çözüm değeri olup, primal probleme sezgisel yöntem uygulanmak suretiyle hesaplanmaktadır. 15 k=<*> için tk değerinin 0 olduğu, S tk = olduğu gösterilmiştir. 16 k=l Aşamalı optimizasyon algoritması, normalde sk=0 olduğunda sona ermelidir. Ancak, uygulamada bu durum çok nadir olarak ortaya çıktığından, algoritma Önceden belirtilen sabit sayıdaki iterasyondan sonra sona erdirilmektedir. 17 (Problemin güçlük derecesine göre, bazı kaynaklara göre işlemlerin 200 iterasyona 18, bazı kaynaklara göre ise 500 iterasyona kadar sürdürülmesi gerekmektedir. 19 ) Z* uygun çözüm değeri ile Z sınır değeri arasında, önceden belirlenmiş olan belirli bir aralık (gap) kaldığında algoritma sona erdirilebilmektedir. Bu aralık yüzde olarak aşağıdaki formüle göre hesaplanmaktadır. 20 (Z* - Z) Aralık (%)= * 100 Z 3.2. Boxstep Yöntemi (Bosstep Method) Lagrange probleminin çözümüne yönelik olarak geliştirilen bir diğer yöntem de, Marsten-Hogan-Blankenship tarafından primal-dual simpleks yöntemin değiştirilmesi suretiyle uygulanmış olan Boxstep Yöntemidir (Boxstep method). Yöntem, başlangıçta bir u değeri ile başlayıp, 22 21 ardışık olarak u değerleri üretilmesi şeklinde çalışmaktadır. u değerinin hesaplanabilmesi için dual problem aşağıda belirtilen ilave kısıt kul k k + 1 lanılarak çözülmektedir.- 23 (15) PİRKUL H., NARASİMHAN S., DE P., "Locating Concentrators for Primary and Secondary Coverage in a Computer Communications Network", IEEE Transactions, (V. 36, N. 4, Aprü 1988), S. 453. (16) CONDRAN, MİNOUX, VAJDA, op. cit., S. 624. (17) NEMHAUSER, WOLSEY, op. cit., S. 46. (18) CURRENT, PİRKUL, ROLAND, op. cil.. S, 15. (19) GAVISH B., PİRKUL H., "Algorithms for the Multi-Resource Gencralized Assignmcnt Problem", Management Science, (USA: V. 37, No: 6, June 1991), S. 700. (20) PİRKUL, NARASİMHAN, DE, op. cit., S. 453. (21) HU T.C., Integer Programming and Network PIows, {USA: Addison-Wesley Publishing Com. Inc., 1970), SS. 89-96. (22) MARSTEN R.E., HOGAN W.W., BLANKENSHIP J.W., "The Boxstep Method for Large-Scale OptimizaLion", Operations Research, (V. 23, No. 3, May-June 1975), SS. 389-405. (23) FISHER, op.cit., S. 8.
192 /. Ü. İşletme Fakültesi Dergisi, C:23, S: 1, / Nisan 1994 I urui I < 8 (8>0 olmak üzere) problemin optimum çözümünü temsil etmek üzere, bütün (i) değerleri için; I Ujk-u k I < 5 ise Ui k optimaldir. Aksi takdirde, u k+1 =u k +tk (u k -u k )'dan u k + 1 değerleri hesaplanır. Boxstep yöntemi, çözümü güç olan tek bir problemi, sonlu, ardışık basit problemlere dönüştürme yöntemi olarak tanımlanmaktadır. Boxstep Yöntemi, simpleks esaslı bir yöntem olup, simpleks esaslı yöntemlerin programlanması güçtür. Ayrıca, Boxstep Yöntemi hesaplama süresi açısından da aşamalı optimizasyon yöntemi kadar iyi performans göstermediğinden uygulamada yaygın biçimde kullanılmamaktadır. 3.3. Çarpan Ayarlama Yöntemi (Multiplier Adjustment Method) Lagrange Yöntemiyle ele alman problemleri çözme yaklaşımlarından olan Çarpan Ayarlama Yöntemi (Multiplier Adjustment Method), ilk olarak 1978'de Erlenkotter'ın çalışması ile ortaya konmuştur 24. Daha sonra yöntem çeşitli problemleri çözmede kullanılmıştır. Bu konudaki en iyi örneklerden biri Fisher-Jaikumar-Wassenhoveın birlikte gerçekleştirdikleri çalışmadır 25. Çarpan ayarlama yönteminin esasları aşağıda verilmiştir: tk pozitif bir sayı ve d^ hareket yönü olmak üzere, u değerleri bir Önceki u değerleri kullanılarak aşağıdaki formül yardımıyla ardışık olarak hesaplanmaktadır 26 : u W +t kd k + k k dk'in belirlenebilmesi için, dual problem esas alınarak, sonlu ve küçük bir set olmak üzere hareket yönleri tayin edilir. Yönler değiştirilirken, bir aşamada sadece bir veya iki çarpan değiştirilmektedir. Daha 27 (24) ERLENKOTTER D., "A Dual-Based Procedure for Uncapacitated Facility Location", Operations Research, (V. 26, No. 6, November-December 1978), SS. 992-1009. (25) FTSHER M.L., JA1KUMAR R., WASSENHOVE N.V., "A Multiplier Adjustment Method for The Generalized Assingmeııt Problem", Management Science, (V. 32, N. 9, September 1986), SS. 1095-1103. (26) FISHER, op.cit., S. 9. (27) GAVISH, PİRKUL, op.cit., S. 699.
/. Ü. İşletme Fakültesi Dergisi, C: 23, S: 1, / Nisan 1994 193 sonra sırasıyla baştan sona incelenen bütün yönler için, dk ya dual değerinde artış sağlayan önceki yönün aynı olarak kalmakta veya en fazla değişme sağlayan yön seçilmektedir. İlerleme kaydedilebilecek bir yön tayin edilemediğinde algortima sona erdirilmektedir. Aşamalı optimizasyon yöntemi ve Çarpan ayarlama yöntemlerinin her ikisi de denenmiş oldukları problemlerde oldukça iyi sonuç vermektedir. Aşamalı optimizasyon yöntemi, göreceli olarak daha fazla zaman gerektirmesine karşılık oldukça iyi sınır değerleri üretmektedir. Aşamalı optimizasyon yöntemi anlaşılması ve uygulanmasındaki kolaylık açısmdanda sıklıkla kullanılmaktadır 28. 4- Sonuç Optimizasyon problemlerinde, problemin yapısı veya ölçeği nedeniyle çözümü zor olan problemler için Lagrange Yönteminin kullanılması tavsiye edilmektedir. Kısıtların dualize edilerek amaç fonksiyonuna ilave edildiği yöntem ile, çözümü zor olan orjinal problem için bir sınır değeri üretilmektedir. Aynı zamanda orjinal problem için her problemin yapısına bağlı olarak tasarlanan bir Sezgisel Yöntem kullanılarak uygun çözüm değerleri üretilmeye çalışılmaktadır. Lagrange Yöntemi ile birlikte çalışan Sezgisel Yöntemle uygun çözüm değerleri üretilmeye çalışılırken Aşamalı Optimizasyon, Boxstep veya Çarpan Ayarlama yöntemlerinden biri kullanılmaktadır. Belirli sayıdaki iterasyon sonunda sınır ve uygun çözüm değerleri arasında bir fark (gap) kalabilmektedir. Optimum çözüm değerinin bu aralık içinde yer aldığı bilindiğinden, çözümü zor olan bir optimizasyon problemi için uygun bir hesaplama zamanı içinde optimum olmasa da optimumduk civarında bir çözüm değerinde ulaşılması mümkün olabilmektedir. (28) GAVISH, PİRKUL, "Efficient Algorithnıs For Solving Multiconstraint Zero-One Knapsack Problems to Optimality", S. 81.