Matematik Ne İşe Yarar?

Doğrusal Programlama Nedir? Diyet Problemi İle Neden İlişkilidir?

Doğrusal programlama, doğrusal ilişkiler şeklinde temsil edilen belirli bir parametre kümesinden veya gereksinimler listesinden olası en iyi sonucu veya çözümü belirlemek için kullanılan matematiksel bir yöntemdir. Para, enerji, insan gücü, makine kaynakları, zaman, alan ve diğer birçok değişken gibi sınırlı kaynakların tahsisinde en iyi çözümü bulmak için kullanılır. Çoğu durumda, doğrusal programlamadan ihtiyaç duyulan “en iyi sonuç”, maksimum kar veya en düşük maliyettir. Doğrusal programlamaya genellikle doğrusal optimizasyon da denir.

Öncelikle, tüm ilişkiler doğrusal olduğunda, kısıtlamalara tabi bir miktarın optimize edilmesini içeren bir doğrusal programlama problemine bir göz atalım. Aşağıda bir örnek verdiğimiz, maliyetlerin minimize edildiği diyet problemleri, yarım asırdan fazla bir zamandır, ekonomistleri üzerinde en çok düşündüren konulardan biri olmuştur.

Doğrusal Programlama İle İlgili Bir Örnek: Diyet Problemi

Ayşe sporu ciddi bir uğraş olarak görür. Her gün spor salonuna gider, yediğine ve içtiğine de dikkat eder. Sağlıklı ve zinde kalmak için vitamin ve mineralleri her ay doğru miktarlarda alması önemlidir. Bu miktarları ise koçu belirler. Koçun dediğine göre her ay en az 120 mg vitamin ve 880 mg mineral alması gerekirmiş. Ayşe, bu diyete uymak için 2 farklı besin takviyesi alır. Birisi katı haldeki Solido, diğeri sıvı haldeki Liquex. Ancak bir sorunu vardır. Koçunun söylediklerini yerine getirmek için hangisinden ne kadar almalıdır?

Bunun için Ayşe elbette iki ürünün de içeriğini inceler. Solido kutusunun üzerinde yazanlara göre içinde 2 mg vitamin 10 mg mineral; Liquex’de ise 3 mg vitamin 50 mg mineral vardır. 30 kutu Solido ve 5 şişe Liquex alır. Sonra hesabını yapar. Aldıklarına göre elinde toplam 75 mg vitamin (2 x 30 = 60 ve 3 x 5 = 15; 60+15=75); 550 mg mineral (10 x 30 + 50 x 5= 550 ) olduğunu görür.

SolidoLiquexGereken Miktar
Vitamin2 mg3 mg120 mg
Mineral10 mg50 mg880 mg

Tanya koçun dediği miktarı düşününce, 10 kutu Solido ve 10 şişe Liquex daha almaya karar verir. Yeniden hesap yapınca elinde 125 mg vitamin ve 1150 mg mineral vardır. Ancak bu sefer gereksiz masraf yapmıştır. Sonuçta koçun isteğinden bile fazla vitamin ve minerale şu an sahip olmuş durumdadır.

Ayrıca problemin olası birden çok çözümü olduğunu fark eder. Sonuçta sadece 88 kutu Solido alsa 176 mg vitamin ve 880 mg mineral alacaktır. Bu da koçun söylediği miktarı karşılayacaktır. Ya da sadece 40 şişe Liquex alsa120 mg vitamin ve 2000 mg mineralde istenilen için yeterlidir. Asıl soru şurada başlar. Tüm bu olasılıkların içerisine harcanacak parayı optimize etme sorunu girerse uygun çözüm hangisi olur?

Problemin içine Optimizasyon Karıştıralım

İlaçların her ikisinin de fiyatları 5 dolardır. Dolayısıyla çözüm olarak bulunan (40,15), (88,0) ve (0,40) değerlerinin maliyetleri sırasıyla 275, 440 ve 200 dolar olacaktır. İlk bakışta Solido almayıp 40 şişe Liquex almak en uygun sonuç gibi görünmektedir. Ama ya daha da iyisi mevcutsa? İşte bu esnada Ayşe’nin aklına grafik çizmek gelir. Gördüğünüz gibi (48,8) noktasında yeni bir çözüm mevcut.

Her iki çizginin de üstünde kalan taralı bölge tüm olası çözümleri göstermektedir. Diyet problemi tarzı sorulara doğrusal programlama problemleri denir. Buradaki programlamadan kasıt bir reçeteyi uygulamaktır. Doğrusal kelimesi ise ise düz çizgile­rin kullanılışına işaret etmektedir.

Yani 48 kutu Solido ve 8 şişe Liquex alırsa koçun isteğini tam sağlayan (120 mg vitamin ve 880 mg mineral) miktarı almış olacaktır. Fakat bunun maliyeti ise 280 dolardır. Yani ya parayı düşünüp 200 dolara 40 şişe Liquex alabilir ya da tam alması miktarı düşünüp 280 dolara 48 kutu Solido ve 8 şişe Liquex alabilir. Siz olsanız ne yapardınız?

Muhtemel siz de parayı düşünürdünüz. Zaten bu tip problemlerde optimum çözüm, genelde de paraya bağlıdır. Doğrusal programlamanın temel amacı kârı maksimize edecek optimum çözüme ulaşmaktır. Klasik diyet problemiyle başlayan sorumuz bizi doğrusal programlamanın mantığını anlamaya kadar götürür.

Doğrusal Programlamanın Kısa Tarihçesi

diyet problemi

Geçim derdi, ekmek parası gibi deyimlerle anlamını bulan diyet problemi sıradan insanlar için daima çok önemli olmuştur. Sonuçta her insan, cebindeki paranın daha azını kullanarak, vücudun ihtiyacı olan besini almak ister. Diyet problemleri ilk olarak 1939 yılında George Stigler tarafından doğrusal programlama kullanılarak çözülmüştür. Stigler, modelinde vücudun ihtiyacı olan 16 temel gıda ve bu gıdaları içinde barındıran 77 çeşit yiyeceği kullanmıştır.

diyet problemi
Stigler tarafından yapılan çözümden bir kesit

İlerleyen yıllarda Stigler aynı problemi 1945 yılında 80 değişik yiyecek türünü kullanarak tekrar çözmüştür. Diyet problemleri önceleri sadece maliyeti minimize eden basit doğrusal programlama modelleri olarak gözükürken, daha sonraları tat, renk, koku, çeşitlilik ve tüketim sıklığı gibi insan psikolojisini dikkate alan, daha karmaşık modeller halini almıştır. Yukarıda verdiğimiz örnek iki değişkenli iken günümüzde artık binlerce değişken içeren problemlerin çözümleri bilgisayarlar aracılığıyla kolaylıkla bulunur. 

Doğrusal Programlama Günümüzde Ne İşe Yarar?

1947 yılına gelindiğinde ise Amerikalı matematikçi George Dantzig, Amerikan Hava Kuvvetleri adına çalışırken doğrusal programlama problemlerini çözmek için “Simplex Metodu ”nu geliştirir. Bu çalışmasıyla Batıda doğrusal programlamanın babası olarak kabul edilir. Soğuk Savaş döneminde Sovyet Rusya’da Leonid Kantorovich bağımsız bir doğrusal programlama kuramı bulur. 1975 yılında Kantorovich ve Hollandalı matematikçi Tjalling Koopmans, doğrusal programlama yöntemleri kullanan kaynak dağıtımı konusundaki çalışmaları ile Ekonomi Nobel’ini kazanırlar.

Kurumlara yemek bütçelerini hazırlamada matematiksel programlama temel olmuştur. Ancak günümüzde doğrusal programlama çok değişik alanlarda kendine yer edinir. Nakliye problemlerinden fabrika depolarına mal taşınmasına yöntem önemini korur. Özellikle ekonomi, mühendislik, askeriye ve eğitim sektöründe yer alan optimizasyon probleminin çözümünde doğrusal programlama çokça kullanılır.



Kaynaklar ve ileri okumalar:

  • What Does Linear Programming (LP) Mean?; Bağlantı: https://www.techopedia.com
  • Maths in a minute: Some basic linear programming; Yayınlanma tarihi: 26 Nisan 2017; Bağlantı: https://plus.maths.org/
  • 50 Mathematical Ideas You Really Need to Know (Tony Crilly)
  • Ahmet ŞAHİNER; Fuzzy Hedef Programlamanın Özel Bir Diyet Problemine Uygulanması; Süleyman Demirel Üniversitesi, Fen Bilimleri Enstitüsü Dergisi, 14-2( 2010),124-133; Bağlantı: https://dergipark.org.tr/

Dip not:

Matematiksel, tamamen gönüllü bir ekip tarafından 2015 yılından beri yürütülen, Türkiye’de matematiğe karşı duyulan önyargıyı azaltmayı hedefleyen, öğretmenler tarafından kurulmuş bir bilim platformudur. Bu sitenin tek kazancı sizlere göstermek zorunda kaldığımız reklamlardır. Yüksek okunurluk düzeyine sahip bir web sitesi barındırmak ne yazık ki oldukça masraflıdır. Bu konuda bizi anlayacağınızı umuyoruz. Ayrıca yazımızı paylaşarak da büyümemize destek olabilirsiniz. Matematik ile kalalım, bilim ile kalalım.

Olgun Duran

Ömür boyu öğrencilik felsefesini benimsemiş amatör tiyatro oyuncusu ve TEGV gönüllüsü; kitaplarından, doğaya hayranlığından, yeni yerleri görmekten, gittiği yerlerin kültürünü keşfetmekten ve bunların uğruna çabalamaktan vazgeç(e)meyen kişi...  

Bu Yazılarımıza da Bakmanızı Öneririz

Başa dön tuşu