7  Optimizasyonun Tehlikeleri

7.1 Optimize ne anlama geliyor?

Sözlüğe göre “optimize etmek” kelimesi “(bir durumu, fırsatı veya kaynağı) en iyi veya en etkili şekilde kullanmak” anlamına gelir.

Optimum bir çözüm yaratmak, özellikle de akademisyenseniz ve iş sıralamaya geldiğinde kulağa harika geliyor. Ne yanlış gidebilir ki?

Ne yazık ki “optimize etme” kelimesiyle ilgili en büyük sorun akademisyenlerin ona aşık olmasıdır. İkinci en büyük sorun ise bu kelimenin satış görevlileri tarafından aşırı kullanılmasıdır. Satış görevlileri bu kelimeyi yazılımlarının bir şekilde sihirli olduğunu yanlış bir şekilde tasvir etmek için çok kullanır.

Akademisyenler, gerçekten herkesten daha akıllı olduklarını kesin olarak kanıtlamak için her türlü fırsatı severler. Ve ne yazık ki en iyi sıralamayı yaratma düşüncesi onlar için direnilemeyecek kadar caziptir.

Bazı üretim süreçlerinin kolayca optimize edilebileceğini söylemeye gerek yoktur. Örneğin, bir metal levha parçaları kesmenin en uygun yolunu bulmak Ayrıca, optimize edilemeyen (veya en azından edilmemesi gereken) bazı sorunlar da vardır. Örneğin her biri 4 işlem içeren 10 emrin 4 kaynak aracılığıyla sıralanması gibi.

Not: Halen bu bölümü okuyan az sayıda akademisyen ve satış görevlisi için bu tür sıralama problemleri bilim insanları tarafından “NP-Zor problem” olarak sınıflandırılmaktadır. Bu da temel olarak problemin matematiksel bir çözümünün olmadığı anlamına gelmektedir. “Optimumu” bulmanın tek yolu mümkün olan her program kombinasyonunu test etmek ve hangisinin en iyi olduğunu ölçmektir.

Üretim planlama dünyasında bu ilk başta makul görünebilir. Bu nedenle yukarıdaki örneği optimize etmek için ne gerektiğini görelim (her biri 4 operasyon ve 4 kaynaktan oluşan 10 sipariş).

Öncelikle iki şey yapmamız gerekiyor;

  • Optimum çözümün neye benzeyeceğini açıkça tanımlamamız gerekiyor.
  • Daha sonra akla gelebilecek her olası senaryoyu denemeli ve bunu optimal çözüm tanımına göre ölçmeliyiz.

Gerçek dünyada, optimal çözümün neye benzediğini açıkça tanımlayabilsem bile ve bu son derece zor olabilir. Bu 10 siparişi sıralamanın yaklaşık 1.730.000.000.000.000.000.000.000.000 olası yolu olduğundan bu optimum çözümü bulmanın biraz zaman alabileceği ortaya çıktı. En uygun sıralamaya sahip olduğunuzdan emin olmanın tek yolu mümkün olan her diziyi değerlendirmektir.

Elbette, gerçek dünyada bunun çok daha zor olabileceğini görebilirsiniz. Bu zorluğun nedeni, birçok üretim tesisinin yüzlerce veya binlerce siparişe, sipariş başına 10 ila 20 operasyon adımına ve/veya yüzlerce kaynağa sahip olmasıdır.

Bunun kaç olasılık gerektireceğini hesaplamaya çalışırken iyi şanslar. Elbette akademisyenler size kısıtlama programlama1, doğrusal programlama2 ve genetik algoritmalar gibi belirli teknikleri kullanarak birçok olasılığı ortadan kaldırabileceklerini söyleyecektir. Ancak bu doğru olsa bile ki genellikle değildir, bu yaklaşımın ek sorunları da vardır.

Bir çizelgeyi optimize etmek için ayrıca tüm kısıtlamaların açıkça tanımlandığını ve davranışlarında sınırlı olduğunu varsaymanız gerekir. Bu tamamen yeni bir soruna yol açıyor çünkü gerçek dünyada hiçbir sınır yok ve nispeten istikrarlı bir sistemde bile her zaman yeni kısıtlamalar ortaya çıkar.

Çizelgeleme yazılımınız uygulanabilir programlar oluşturmayı bıraktığı anda başınız belaya girer. Ve Çizelgeleme çözümünüz optimizasyon ve algoritmalar kullanılarak oluşturulduysa o zaman yalnızca iki seçeneğiniz vardır. (1) Yazılımınızı atabilir ve yeniden başlayabilirsiniz. (2) ya da yazılım geliştiricilere geri dönüp, onlardan yazılımı değiştirmeleri için onlardan ricada bulunmalısınız. Bu değişiklik sizin hoşunuza gidebilecek veya gitmeyecek bir fiyatla yapılabilir. Veya sizin ihtiyac duyduğunuzdan daha uzun bir zaman diliminde yapılabilir. Her iki durumda da şu anda çok istikrarsız bir durumdasınız.

Gerçek dünyada optimizasyonun başarısız olduğu diğer bir örnek ise bir çizelge oluşturmanın çok uzun sürmesidir. Bu çizelge, mükemmel olsa bile, yayınlandığı anda zaten yanlış olduğu anlamına gelir. Bu durum gün içinde daha da kötüleşir çünkü üretim alanında sizin hesaplamalarınıza dahil edilmeyen olayların meydana gelmesi neredeyse kesindir. Bir operasyon beklenenden daha uzun sürebilir; bir makine bozulabilir veya birisi işe gelmeyebilir ve herhangi bir şey değişebilir. Bunların sonucunda en optimal çözüm artık optimal olmayabilir, hatta optimale yakın bile olmayabilir.

Planlamada optimizasyona kara kutu çözümü diyoruz. Temelde tüm değişkenleri karışıma katarız ve kara kutu, planlayıcılara veya üretim bölümündeki herhangi birine çoğu zaman hiçbir anlam ifade etmeyen bir çizelge üretir. Peki optimizasyon işe yaramazsa hızlı ve doğru çizelgeleri nasıl oluşturabiliriz? Cevap buluşsal yöntemlerin kullanıldığı kurallara dayalı planlamadadır.

Sözlüğün buluşsal yöntem tanımı, “algoritmik bir yaklaşımın pratik olmadığı durumlarda kullanılan, problem çözmenin deneme yanılma yöntemidir.” Kısacası buluşsal yöntem temel bir kuraldır. Deneyimlerimize dayanarak, içinde bulunduğumuz her fabrikanın, alaylı bilgisi dediğimiz kendine özgü kuralları vardır.

Alaylı bilgisi, fabrikadaki insanların tesisi yönetme şeklini geliştirmek için kullandıkları verilerden (ERP sisteminde olmayan) ve kurallardan (genellikle yazılı olmayan) başka bir şey değildir.

Alaylı bilgisi çoğunlukla insanların kafasında, kağıt parçalarında veya elektronik tablolarda yer alır. Ve tipik olarak alaylı bilgisinin yönetim tarafından bilinmediğini veya anlaşılmadığını varsaymak yanlış olmaz.

Her ne kadar her alaylı bilgisi geçerli olmasa da çoğu durumda insanların problem çözme deneyimi üzerine kuruludur. Ve bu bilgileri görmezden gelmeyi tercih etmek üretkenlik üzerinde feci sonuçlara yol açabilir. Alaylı bilgisiyle ilgili en büyük sorunlardan biri, kilit çalışanların bir şirketten ayrıldıklarında genellikle alaylı bilgilerini de yanlarında götürmeleridir.

Buluşsal yöntem kullanılarak oluşturulan çizelgeleme yazılımı, tipik olarak alaylı bilgisini kopyalayacak ve simüle edecek şekilde programlanabilir. Ve bu, gerçek dünyada verilecek kararları taklit eden planlama kararları verebileceğiniz anlamına gelir. Bugün olanın üstüne ve ötesine iyileştirmeler ekleyerek, yarınki iyileştirmelere yol açarsınız.

Temel fark, yeni alaylı bilginizi veya benzersiz planlama kısıtlamanızı eklemek üzere kodun özünü değiştirmek için algoritma geliştiricisine geri dönmenize gerek olmamasıdır. Şimdi bilseniz de bilmeseniz de, benzersiz kısıtlamalarınız var.

Kurallara dayalı bir sistem kullanmanın, optimizasyona dayalı bir planlama sistemine göre bazı büyük faydaları vardır;

  1. Planlayıcılar ve operatörler programı anlayabilir.

  2. Alaylı bilgisi yazılımın içine yerleştirildiği için, yeri doldurulamaz insan deneyimini yakalama ve koruma yeteneğine sahipsiniz ve artık kilit kişileri kaybetmeye bağımlı değilsiniz.

  3. Aslında birçok yerde ihtiyaç duyulan insan uzmanlığını en aza indirebilirsiniz. Aynı zamanda uzmanlara göre daha hızlı ve tutarlı çözümler üretilebilmektedir.

  4. Yazılım çok esnektir. Bu, kullanıcıların yazılım geliştiricisine geri dönmelerine gerek kalmadan yeni değişkenlerle yeni kurallar tanımlayabilecekleri anlamına gelir.

Bölümün başlarında “optimize etme” kelimesiyle ilgili en büyük sorunun akademisyenlerin onu sevmesi olduğundan bahsetmiştik. “Optimize etme” kelimesiyle ilgili ikinci en büyük sorun, yazılım geliştiricilerin, satış elemanlarının ve alıcıların da onu sevmesi ve genellikle bu tür sistemler için çok daha fazla ücret talep etmeleridir. Ve – bir sır bilmek ister misin? Algoritmik “sihirli” çözümlerinin makul bir sürede çalışmasını sağlamak için, optimizasyonları etrafında buluşsal yöntemler kullanılır.

Ne yazık ki, bunu yapabilmelerinin tek yolu buluşsal yöntemi sabit kodlamaktır. Ama sizi temin ederim ki insanların bunu bilmesinden hoşlanmazlar. Alıcılar ayrıca “optimize etme” kelimesini de seviyorlar çünkü tüm sorunlarını çözecek “sihirli” bir şey satın aldıklarını hissetmeyi seviyorlar ve yazılım satıcıları bunu kendi avantajlarına kullanmayı öğrendiler.

Satıcının bir düğmeye bastığı ve tüm sorunlarınızın çözüldüğü bir planlama demosu gördüğünüzde, başınızın dertte olduğunu kesinlikle bilirsiniz. Bu özellikle size zamanında teslimat, tam zamanında teslimat, makine verimliliği ve maliyetler gibi şeyleri optimize etmenize olanak tanıyan düğmeler ve kadranlar gösterildiğinde geçerlidir.

Tek söylediğim, APS satıcınızın size söylediği her şeyi sorgulamanız gerektiğidir. Satıcı size aslında sizin yaptığınızın benzerini yapan ve memnun olan bir üretici gösteremiyorsa çok ama çok dikkatli olmalısınız. Optimizasyona dayalı planlama çözümleri geliştiren ve satanlar, sezgisel tabanlı çözümlerin en uygun çözümü bulamayacağını size söyleyecektir. Kesinlikle haklılar elbette ama size söylemedikleri şey, onların çözümlerinin de en uygun çözümü bulamadığıdır.

Böylece 25 yılı aşkın süredir vaaz ettiğimiz şeye geri dönüyoruz. Sezgisel tabanlı bir çizelgeleme çözümüne ihtiyacınız var. Ve bir çizelgeleme çözümünü uygulamanın en iyi yolu 80/20 kuralını kullanmaktır. Bu kural, sistemi çalışır duruma getirmenize ve sonuç üretmenize yardımcı olur. Bu bir kez başarıldığında, sürekli iyileştirme sürecine başlamak için buluşsal temelli bir çözümde mevcut olan araçları kullanabilirsiniz. Bu işlemin optimizasyon yazılımı ile mümkün olmadığını hatırlatmak isteriz.


  1. constraint programming↩︎

  2. linear programming↩︎