Doğrusal olmayan programlama, bir amaç fonksiyonunun maksimize ederek veya minimize ederek optimize edildiği bir yöntemdir. Bu, verilen farklı kısıtlamaları dikkate alarak. Amaç fonksiyonu veya bazı kısıtlamalar doğrusal olmadığı için karakterize edilir.
O halde, doğrusal olmayan programlama, maksimize edilecek fonksiyonun veya herhangi bir kısıtlamanın, değişkenlerin kuvvet 1'e yükseltildiği doğrusal veya birinci derece denklemden farklı olduğu bir süreçtir.
Doğrusal bir denklemin bir veya daha fazla bilinmeyene sahip olabilen matematiksel bir eşitlik olduğunu hatırlamalıyız. Böylece, a ve b'nin sabit olduğu, x ve y'nin ise değişken olduğu aşağıdaki temel forma sahiptir:
balta + b = y
Bu tür bir programlamayı oluşturan tüm unsurların bu özelliğe uymayacağını da eklemek gerekir. Örneğin, amaç fonksiyonunun ikinci dereceden bir denklem olması ve değişkenlerden birinin karesinin alınması ve aşağıdaki formu sağlaması olabilir:
y = eksen2+ bx + c
Şimdi, doğrusal olmayan programlama yoluyla, bu fonksiyon, y'nin maksimum veya minimum değerini bularak optimize edilebilir. Bu, x'in belirli kısıtlamalara tabi olduğu dikkate alınarak.
Doğrusal olmayan programlamanın unsurları
Doğrusal olmayan programlamanın ana unsurları şunlardır:
- Amaç fonksiyonu: Sonucunu en üst düzeye çıkararak veya en aza indirerek optimize edilen fonksiyondur.
- Kısıtlamalar: Bunlar, amaç fonksiyonunu optimize ederken karşılanması gereken koşullardır. Cebirsel denklemler veya eşitsizlikler olabilir.
Doğrusal Olmayan Programlama Alıştırması
Bir lineer olmayan programlama alıştırmasını bitirmek için görelim.
Aşağıdaki fonksiyona sahip olduğumuzu varsayalım:
y = 25 + 10x-x2
Ayrıca aşağıdaki kısıtlamaya sahibiz:
y = 50-3x
Grafikte görebileceğimiz gibi, amaç fonksiyonu ve kısıtlama iki noktada kesişir, ancak y'nin maksimize edildiği yer x = 2.3 olduğunda, y = 43 olduğunda (ondalık sayılar yaklaşıktır).
Kesme noktaları, her iki denklemi eşitleyerek bulunabilir:
25 + 10x-x2= 50-3x
0 = x2-13x + 25
O halde yukarıdaki ikinci dereceden denklemin, a = 1, b = -13 ve c = 25 olduğu aşağıdaki formüllerle bulunabilecek iki çözümü veya kökü vardır.
Böylece x1 = 2.3467 (y = 43) ve x2 = 10.653 (y = 18) olduğunu buluruz.
Bu tür bir programlamanın doğrusaldan daha karmaşık olduğu ve bu tür optimizasyonu çözmek için çevrimiçi olarak çok fazla araç bulunmadığı konusunda uyarmalıyız. Gösterilen örnek çok basitleştirilmiş bir durumdur.