Bir Problem Avcısı “OPTİMİZASYON”

Refik Nureddin
Deep Learning Türkiye
2 min readOct 15, 2018

Optimizasyon verilen bir problemde mümkün olan en iyi(optimum) çözümü bulmaktır.

Bir şirkette maliyeti azaltmak ve buna karşın kârı artırmayı istemek tipik bir finansal problemdir. Bu tip bir problemi optimizasyon yöntemleri ile çözmek istiyorsak önce matematiksel olarak modellememiz gerekir. Bunu yapmak için önce problemin karar değişkenleri belirlenir. Yukarıda bahsettiğim problemdeki karar değişkenleri maliyetin azaltılması ve karın artırılmasıdır.

Bir Optimizasyon probleminin genel matematiksel tanımı şöyledir:
minimum yada maksimum: f(x) X=(x1,X2,….xn)T

gj(x) ≤0 j=1,…,m

hk(x) =0 k=1,…,l

tasarım değişkenler: x

hedef(amaç) fonksiyonu: f(x)

eşitsizlik kısıtlayıcıları: gj(x)

eşitlilik kısıtlayıcıları: hk(x)

Bu matematiksel tanımı yapmaktaki en büyük hedef ‘en iyi değeri’ elde eden karar değişkenlerinin değerlerini belirlemektir.

Optimizasyon amaçlarına göre ikiye ayrılmaktadır:

Tek Amaçlı Optimizasyon ve Çok Amaçlı Optimizasyon

Tek amaçlı optimizasyon problemlerinde sadece tek bir amaç vardır, mesela şirketteki maliyeti azaltmak.
Çok amaçlı optimizasyonlarda ise birbiri ile çelişen amaçlar üzerinde uzlaşıyı sağlamak amaçlanmaktadır. Örneğin bir arabanın hızını artırırken, harcadığı yakıt miktarını azaltmak gibi.

Optimizasyon problemleri amaç fonksiyonu, kısıtları ve değişkenlerine göre birkaç sınıfa ayrılmaktadır:

Optimizasyon Algoritmaların Şekilsel Açıklanması

Ø Sürekli (continuous) ya da ayrık (discrete) optimizasyon

Ø Kısıtlı (constrained) ya da kısıtsız (unconstrained) optimizasyon(amaç fonksiyonunun değişkenleri ile ilgili herhangi bir kısıtlama varsa kısıtlı yoksa kısıtsızdır)

Ø Global ve lokal optimizasyon

Ø Rassal (stochastic) veya belirli (deterministic) optimizasyon

Problem avcısı olan optimizasyonun problemlerde uygulanması iki şekilde olabilir:

1) Kesin Metotlar (Exact Methods)

Problemin global optimum cevabını bulan metot ya da algoritmalardır.
Ör: Doğrusal Programlama, Dinamik Programlama

2) Yaklaşık Metotlar (Approximation Methods)

Kesin metotlar ile çözümü çok zor olan ya da çok zaman alan optimizasyon problemlerinin cevabını hızlı bir şekilde global optimumdan feragat ederek bulmaya yarayan metotlardır.
Ör: Sezgisel ve Metasezgisel Yöntemler

Yaklaşık metotlar ise doğa esinli optimizasyon algoritmalarından(nature-inspired algorithm) yararlanarak çözülmektedir. Bu algoritmalar doğadaki canlıların (insan dahil olmak üzere) davranışlarından esinlenerek tasarlanan algoritmalardır. Bu tür algoritmalar sadece bilgisayar mühendisliğinde değil tüm mühendislik dallarında kullanılmaktadır.Bu algoritmalar ile, bir ülkenin gelecekte tüketeceği enerji tahminini hesaplamaktan tutun da verilen lokasyonlarda binaların optimal yerleşimi, en belirgin müşterilerin belirlenmesi, makinelerin üzerindeki işlemin optimal düzenlenmesi, değişik yatırım ihtimallerinden optimum olanın seçimi gibi gerçek hayat problemlerini de çözebilmek mümkündür. Bu algoritmaların en ünlüleri arasında şunlar bulunmaktadır:
Genetik Algoritma(GA), Parçacık Sürü Optimizasyonu(PSO),Karınca Koloni Algoritması(ACO), Yapay Arı Koloni Algoritması(ABC).

Bir problem avcısı olan optimizasyon, yapay zeka ile günden güne daha popüler hale gelmeye başladı, eskiden sadece teorik çalışmalarda kullanılan optimizasyon şimdi gerçek hayat problemlerinde de kullanılmaktadır.

Kaynaklar:
http://www.ilkaymeseli.com/2011/12/optimizasyon-2/
http://194.27.49.11/makine/ikaymaz/optimizasyon/dosyalar/DERS_1_OPTIMIZASYONA_GIRIS.pdf

--

--