
Doğrusal programlama, belirli bir gereksinimler listesinden olası en iyi çözümü belirlemek için kullanılan matematiksel bir yöntemdir. Para, enerji, insan gücü, zaman 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.
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ı gerekir. 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.
Solido | Liquex | Gereken Miktar | |
Vitamin | 2 mg | 3 mg | 120 mg |
Mineral | 10 mg | 50 mg | 880 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.

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

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.

İ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/
- 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, 2015 yılından beri yayında olan ve Türkiye’de matematiğe karşı duyulan önyargıyı azaltmak ve ilgiyi arttırmak amacıyla kurulmuş bir platformdur. Sitemizde, öncelikli olarak matematik ile ilgili yazılar yer almaktadır. Ancak bilimin bütünsel yapısı itibari ile diğer bilim dalları ile ilgili konular da ilerleyen yıllarda sitemize dahil edilmiştir. 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 günümüzde oldukça masraflıdır. Bu konuda bizi anlayacağınızı umuyoruz. Ayrıca yazımızı paylaşarak veya Patreon üzerinden ufak bir bağış yaparak da büyümemize destek olabilirsiniz. Matematik ile kalalım, bilim ile kalalım
Matematiksel