Hedef Programlama

Kisaca soylemek gerekirse hedef programlama; kisitlar uzerinden olusturulmus karar mekanizmasinin/fonksiyonun cozulmesi sonucu ulasilmak istenen hedefe en yakin noktayi verir.
Karar fonksiyonunun cozumu lineer cozum yontemleriyle bulunur. Cogunlukla el ile cozulmesi zordur, bu nedenle bu tarz cozumlerde Lingo adindaki parali ve gereksiz program kullanilir. Biz ise mantikli birsey yapacagiz ve “lpsolve” adindaki acik kaynak kodlu cozumu kullanacagiz.

Daha fazla masal anlatmadan ornege geciyorum;

Ornek: Bir fabrikada 4 saatte bir A tipi ürün ve 3 saatte bir B tipi ürün elde edilebilmektedir. A tipi üründen 4 lira kar ve B tipi üründen 2 lira kar elde edilebilmektedir. Buna göre hedefler ;

  • 50 lira kar elde edebilmek
  • 32 saatten fazla veya az mesai yapmamak
  • En az 7 tane A ürününden üretmek
  • En az 10 tane B ürününden üretmek
Hedefler tutmadiginda her sapma icin cesitli cezalar odenmektedir. Bu cezalarin listesi asagidadir;
  • 1 lira -> kar hedefi tutmadığında
  • 5 lira -> fazla mesai ve 1 lira -> az mesaide
  • 1 lira -> A ürününden yeteri kadar üretilmediğinde
  • 1 lira -> B ürününden yeteri kadar üretilmediğinde
Cozum: Soru yapisi nedeniyle agirlikli hedefler yontemiyle cozume ulasilmistir.

Min: d1e + 5*d2a + d2e + d3e + d4e;

S.t.

4*x1 + 2*x2 + d1e – d1a = 50;

4*x1 + 3*x2 + d2e – d2a = 32;

x1 + d3e – d3a = 7 ;

x2 + d4e – d4a = 10;

xi >= 0 ; di >= 0;

 lpsolve programi icin olusturulmus girdi dosyasi asagidaki gibi olmalidir;

min: d1e + 5*d2a + d2e + d3e + d4e;
4*x1 + 2*x2 + d1e – d1a = 50;
4*x1 + 3*x2 + d2e – d2a = 32;
x1 + d3e – d3a = 7 ;
x2 + d4e – d4a = 10;
x1 >= 0;
x2 >= 0;
d1e >= 0;
d1a >= 0;
d2e >= 0;
d2a >= 0;
d3e >= 0;
d3a >= 0;
d4e >= 0;
d4a >= 0;

Not: lpsolve programi linki => http://sourceforge.net/projects/lpsolve/
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s