Linear Programming (Doğrusal Programlama)

Yazan : Şadi Evren ŞEKER

Problem çözümünde ve iyileştirmelerde (optimization) kullanılan yaklaşımlardan birisidir. Buradaki amaç bir problemi teşkil eden parametrelerin doğrusal bir formda olması ve problem uzayını doğrusal olarak alanlara bölmesidir.

Doğrusal bir fonksiyon aşağıdaki şekilde yazılabilir:

f(x1,x2,x3, …. , xn ) = c1x1 + c2x2 + c3x3 + … + cnxn

Yukarıdaki fonksiyonun doğrusal olmasının sebebi birinci dereceden olmasıdır. Aynı zamanda bu fonksiyon çok değişkenli (multi variable) bir fonksiyondur. (n adet farklı değişkeni bulunmaktadır ve fonksiyonda x değişkeni ile gösterilmiştir)

Yukarıdaki gösterimi matris haline çevirerek aşağıdaki şekilde de göstermek mümkündür:

cTx (matris çarpımı olduğu için çarpanları veren c matrisinin transpoz’u alınmıştır)

Amacımız bu ifadeyi azami hale getirmektir (maximisation)

Ayrıca bu iyileştirmeyi (optimization) engelleyen durumları (koşulları) da aşağıdaki şekilde ifade etmek mümkündür:

Ax ≤ b

Bu ifadedeki A matris çarpanları olurken b ise bir vektörel değerdir.

Sonuçta bu koşulların her birisi uzayda bir doğru ifade edecek ve bu doğrular ulaşılabilecek sınırları belirleyerek bu sınırlar içerisindeki alanda en iyi noktayı (optimum point) almak isteyeceğiz.

yukarıdaki şekilde 3 ayrı doğrusal denklem ve koordinat eksenleri arasında kalan ve problemimizin çözümü için olası alanı gösteren grafik verilmiştir.

Buna göre denklemimizdeki x değişkenleri 0′dan büyük olmak ve verilen doğrusal denklemlerden küçük olmak zorundadır.

Çözümü bulmak için geliştirilen algoritmalardan en tanınanı simplex algoritması ismi verilen algoritmadır.

Konu hakkında çözümlü örnekler için aşağıdaki bağlantıyı tıklayabilirsiniz:

Lineer programming (doğrusal programlama) örnekleri

Bu yazıyı beğendiyseniz, başkalarının da ilgisini çekebilirsiniz:


146 views

6 responses to “Linear Programming (Doğrusal Programlama)”
  1. engineer says:

    mrb hocam benim iyileşrirme hakkında odevim yardımcı olursanız sevinirim

    Bir kenar uzunlugu n^2 (n kare anlamında) birim olan eşkenar üçgen biçimindeki bir ülkenin her bir sınır dogrusu üzerinde işaretli n-1 nokta ile n eşit parçaya bolunmustur. Sınır dogrularından birisine paralel olmak kosuluyla bu işaret noktalarının ikisini birleştiren tüm dogru parçaları çizilerek her kenarı birim uzunlukta eşkenar üçgen olan n^2 şehri tanımlanmıştır. Ülkenin önde gelen bilgisayar üreticilerinden olan bir kuruluş bazı şehirlere depo kurmayı planlamaktadır. Ulaşım maliyetlerinin yüksekliği nedeniyle kurulan her depodan sadece bulundugu sehre ve ona komsu olan (ortak bir sınır çizgisi bulunan) şehirlere dagıtım yapılabilmektedir. Tüm ülkeye dagıtım yapmayı planlayan kurulusun en az kaç şehirde depo kurarak bu amacına ulaşabilecegini bulunuz.

  2. software says:

    hocam yazdıgım soru niçin silindi

  3. software says:

    hocam pazartesine kadar vermem gereken odevim yardımcı olur musunuz?

  4. Sorduğunuz herhangi bir soru bulamadım. En azından veri tabanında görülmüyor. Belki sitede kaynaklanan teknik bir sorudan dolayı silindiyse nasıl bulup geri getirebilirim bilmiyorum. En iyisi tekrar siteye yazarsanız cevaplamaya çalışayım. Yanlız şu anda Kazakistanda olduğum için site ile çok ilgilenemiyorum. Ancak dönünce bakıp sorularınızı cevaplamaya çalışırım.

    Başarılar

  5. software says:

    yukardaki soruyu kastettim hocam bakabilir misiniz?

  6. Sanırım sorunuzdaki tanım biraz karışık olmuş. Mümkünse bir örnek üçgen çizip yollayın tam olarak nasıl bir soru olduğunu anlayalım. Ayrıca sorunun doğrusal programlama (linear programming) konusu ile ilgisi bulunmuyor, belki yeni bir yazı ekleyerek çözümü yeni bir yazıdan yayınlarız.

    Başarılar

Leave a Reply


8 * dokuz =

Benzer Yazılar:

Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Linear Programming (Doğrusal Programlama)' isimli yazı 18 Dec 2008 tarihinde, saat: 15:33 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam146 defa okunmuştur.

Benzer yazıları algoritma analizi (teory of algorithms), bilgisayar felsefesi, Bilgisayar Kavramları, Bilgisayar Matematiği kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.


Category: algoritma analizi (teory of algorithms), bilgisayar felsefesi, Bilgisayar Kavramları, Bilgisayar Matematiği