ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ YÖNEYLEM ARAŞTIRMASI DERSİ LINDO

Benzer belgeler
YÖNEYLEM ARAŞTIRMASI YÜKSEK LİSANS DERSİ

Duyarlılık analizi, bir doğrusal programlama probleminde belirlenen katsayı değerlerinin

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre):

Maksimizasyon s.t. İşçilik, saat) (Kil, kg)

Yöneylem Araştırması II

KISITLI OPTİMİZASYON

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL)

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

Total Contribution. Reduced Cost. X1 37, ,85 0 basic X2 22, ,56 0 basic 300 M. Slack or

Simpleks Yöntemde Duyarlılık Analizleri

28 C j -Z j /2 0

YÖNEYLEM ARAŞTIRMASI - III

İkinci dersin notlarında yer alan Gepetto Marangozhanesi örneğini hatırlayınız.

Başlangıç Temel Programının Bilinmemesi Durumu

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

BÖLÜM I: Hedef Programlama. Prof.Dr. Bilal TOKLU. HEDEF PROGRAMLAMAYA GİRİŞ HEDEF PROGRAMLAMA MODELLERİNİN ÇÖZÜMÜ

ĐST 349 Doğrusal Programlama ARA SINAV I 15 Kasım 2006

4.1. Gölge Fiyat Kavramı

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ YÖNEYLEM ARAŞTIRMASI DERSİ. GAMS REHBERİ (Kısaltılmış)

Doğrusal Programlamada Grafik Çözüm

Bir Doğrusal Programlama Modelinin Genel Yapısı

Doğrusal Programlama. Prof. Dr. Ferit Kemal Sönmez

EMM3208 Optimizasyon Teknikleri

PROGRAMLAMAYA GİRİŞ DERS 2

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak

Önsöz... XIII Önsöz (Hava Harp Okulu Basımı)...XV BÖLÜM 1 1. YÖNEYLEM ARAŞTIRMASINA GİRİŞ... 1

Bilgisayar Programlama

Zeki Optimizasyon Teknikleri

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Temel Giriş/Çıkış Fonksiyonları

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Duyarlılık Analizi, modelde veri olarak kabul edilmiş parametrelerde meydana gelen değişimlerin optimum çözüme etkisinin incelenmesidir.

HSancak Nesne Tabanlı Programlama I Ders Notları

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

Yöneylem Araştırması III

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

TAMSAYILI PROGRAMLAMA

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

YÖNEYLEM ARAŞTIRMASI İLE İLGİLİ ÇÖZÜMLÜ ÖRNEKLER

LİNDO KULLANMA KLAVUZU

BİLGİSAYAR PROGRAMLAMA MATLAB

BİL-142 Bilgisayar Programlama II

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

BİLGİSAYAR PROGRAMLAMA DERSİ

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

BAĞIMLI KUKLA DEĞİŞKENLİ MODELLER A- KADININ İŞGÜCÜNE KATILIM MODELİ NİN DOM İLE E-VIEWS DA ÇÖZÜMÜ

Temelleri. Doç.Dr.Ali Argun Karacabey

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

BİLGİSAYAR PROGRAMLAMA DERSİ

ALGORİTMA VE PROGRAMLAMA I

BİLGİSAYAR PROGRAMLAMA DERSİ

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

MATRİSEL ÇÖZÜM TABLOLARIYLA DUYARLILIK ANALİZİ

yöneylem araştırması Nedensellik üzerine diyaloglar I

YÖNEYLEM ARAŞTIRMASI - I

0.1 Zarf Teoremi (Envelope Teorem)

END331 YÖNEYLEM ARAŞTIRMASI I GEÇMİŞ SINAV SORULARI

İleri Diferansiyel Denklemler

YÖNEYLEM ARAŞTIRMASI - III

MatLab. Mustafa Coşar

4. Gölge Fiyat Kavramı ve Duyarlılık Analizleri:

GİRİŞ/ÇIKIŞ VE TANIMLAMA DEYİMLERİ

BİL-142 Bilgisayar Programlama II

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

Internet Programming II

ALGORİTMA VE PROGRAMLAMA I

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

YÖNEYLEM ARAŞTIRMASI - I

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Örnek...1 : Yandaki bölme işlemin de bölüm ile kalanın toplamı kaçtır?

Bilgisayar Programlama MATLAB

Optimizasyon İçin Kök(Generic) Model (Doğrusal-Olmayan Programlama Modeli)

Örnek...1 : Yandaki bölme işlemin de bölüm ile kalanın toplamı kaçtır?

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Nesne Tabanlı Programlama

ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

PASCAL PROGRAMLAMA DİLİ YAPISI

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

Boole Cebri. (Boolean Algebra)

TEMEL KAVRAMLAR. a Q a ve b b. a b c 4. a b c 40. 7a 4b 3c. a b c olmak üzere a,b ve pozitif. 2x 3y 5z 84

Fen ve Mühendislik Uygulamaları ile MATLAB

ALGORİTMA VE PROGRAMLAMA I

Programlama Dilleri 1. Ders 4: Diziler

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak

END331 YÖNEYLEM ARAŞTIRMASI I DERS NOTLARI

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Dr. Fatih AY Tel: fatihay@fatihay.net

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Matematiksel modellerin elemanları

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

KONU 13: GENEL UYGULAMA

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

GAMS Kurulumu ve Temel Özellikleri GAMS ile Modellemeye Giriş, Örnek Problemler

Transkript:

ÜRİ MÜHİSLİĞİ BÖLÜMÜ YÖNEYLEM ARAŞTIRMASI DERSİ LINDO Hazırlayanlar Prof. Dr. Bilal TOKLU Arş. Gör. Talip KELLEGÖZ KASIM 2004

1. Giriş 1 LINDO (Linear, INteractive, and Discrete Optimizer) doğrusal ve tamsayılı programlama modellerinin çözümünde kullanılan güçlü bir paket programıdır. Demo versiyonu 150 kısıt, 300 değişken ve 50 binary değişken içerecek şekilde kurulmuş modelleri çözebilir. 2. LINDO Menüleri Bu bölümde LINDO da en sık kullanılan menülere yer verilmiştir. File Edit Solve Solve :Aktif penceredeki modeli çözer Compile Model :Modelde yazım hatası kontrolü yapar. Debug :Modeli çözümsüzlük ve sınırsız çözüm bazında kontrol eder. Pivot :Simpleks iterasyonu uygular. Preemptive Goal :Lexico optimizasyon yöntemini (amaç programlama yapısı) kullanır. Reports Solution :Çözüm raporu oluşturur. Range :Duyarlılık analizi raporu oluşturur. Parametrics :D üzerinde parametrik analiz yapar. Verilen yeni D ye göre Amaç fonksiyonu optimal değerinin değişimini grafik üzerinde gösterir. Statistics :Modelle ilgili istatistikleri gösterir(değişken sayısı, gereksiz satır sayısı vs). Peruse :Modelin seçilen parçasına ilişkin text formatlı rapor oluşturur. Picture :Modelin sıfır olmayan yapısının grafiğini oluşturur. Tableau :Modelin Simpleks tablosunu rapor penceresine yazar. Window Help 2. Model Yapısı Formulation Show Column 2.1. Amaç Fonksiyonu Yapısı :Aktif penceredeki modeli algıladığı şekliyle gösterir. :Seçilen değişkenle ilgili detaylı bilgi verir(optimal deperi, simpleks tablosu katsayıları vs). Amaç fonksiyonu modelin ilk satırıdır ve problemin tipine göre MAX ve MIN deyimleriyle başlar. Amaç fonksiyonu ile kısıtlar arasında SUBJECT TO SUCH THAT S.T. aşağıdaki deyimlerden birisi yazılır. Bu ifade amaç fonksiyonunun bittiğini, kısıtların başladığını gösterir. Kısıtların sonunda deyimi kullanılır. 2.2. Değişken İsimleri LINDO da değişken isimleri 8 karakterle sınırlandırılmıştır. Değişken isimlerinin ilk harfi her zaman alfabetik karakter olması gerekir. Değişken isimlerinde aşağıdaki karakterler kullanılamaz.!)+-=<> Geçerli değişken tanımlamaları :XYZ, MY_VAR, A12, SHIP.LA Geçersiz değişken tanımlamaları :BUTANIMCOKUZUN, A-DEG1, 2INFRONT 2.3 Kısıt İsimleri Modelde kısıtlar isimlendirilebilir. Kısıtların isimlendirilmesi LINDO çıktısının takibi açısından kolaylık sağlar. Değişken isimlendirilirken uyulması gereken kurallar kısıt isimlendirilmesinde de geçerlidir. Kısıt isimlendirme işleminin genel formatı aşağıda verilmiştir. <kısıt adı> ) <kısıt eşitlik veya eşitsizliği> Örnek:

ATOLYE)3X1+5X2<120 2.4. Operatörler LINDA da kullanılan 5 farklı operatör vardır. Operatör Açıklama Alternatifler > Büyük veya eşit şeklindeki kısıtların oluşturulmasında kullanılır. LINDO > operatörünü otomatik olarak şeklinde algılar. >= < Küçük veya eşit şeklindeki kısıtların oluşturulmasında kullanılır. LINDO < operatörünü otomatik olarak şeklinde algılar. <= = Eşit şeklindeki kısıtların oluşturulmasında kullanılır. Yok + Değişken ve katsayı çarpımından oluşan terimlerin kısıtlarda veya amaç fonksiyonunda toplam olarak ifade edilmesini sağlar. Yok - Değişken ve katsayı çarpımından oluşan terimlerin kısıtlarda veya amaç fonksiyonunda fark olarak ifade edilmesini sağlar. Yok 2.5. İşlem Sırası LINDO işlem sırasının değiştirilmesinde parantezlerin kullanılmasına izin vermez. LINDO da işlem sırası her zaman soldan sağa şeklindedir. 2.6. Açıklama Satırları LINDO da model arasına açıklama satırları eklenebilir. Açıklama satırları ünlem harfiyle (!) başlar. Aşağıda bir örnek verilmiştir. MAX 5X1+3X2!Maksimum kar S.T.!Kısıtların yazılmasında fabrika ve!taşıma makinelerinin kapasiteleri göz önüne alınmıştır. 5X1+x2<10!Montaj atölyesi kısıtı 12X1+10X2>15 2.7. Modelde Satırların Bölünebilmesi Amaç fonksiyonu veya herhangi bir kısıt tek bir satıra yazılabileceği gibi birden fazla satıra da bölünebilir. Bölme işlemi katsayı veya değişken adının ortasından yapılamaz. Aşağıda bir örnek verilmiştir. MAX 5 X1+3X2 S.T. 5X1 +X2<10 12X1 +10X2>15 Aşağıdaki örnek kullanılamaz çünkü değişken adını ortadan bölmektedir. Benzer şekilde katsayı da ortadan bölünemez. MAX 1X 1+X2 2.8. Büyük/Küçük Harf Duyarlılığı LINDO da büyük/küçük harf duyarlılığı yoktur. LINDO girilen bütün bilgileri otomatik olarak büyük harfe çevirir. Örneğin modelin ayrı yerlerinde x ve X şeklinde kullanılan değişken LINDO açısından aynı değişkeni ifade eder. 2.9. Kısıtların Sağ Taraf Yapısı Modelde sağ taraf değeri olarak sadece sabit sayılar kullanılabilir. X>Y şeklindeki bir kullanım LINDO nun hata vermesine neden olacaktır. Bunun yerine X-Y>0 şeklinde belirtilmesi gerekir. 2

2.10. Kısıtların Sol Taraf Yapısı 3 Sağ tarafın tersine sol kısıtların sol tarafında sadece değişkenler ve onların katsayılarına izin verilir. X+Y- 10>0 şeklinde bir kullanım yanlış olup X-Y>10 şeklinde belirtilmesi gerekir. 3. LINDO Modellerinde Kullanılan Bazı Terimler Değişkenle ilgili herhangi bir tanımlama verilmemişse LINDO ilgili değişkenin sürekli değişken olduğunu, alt sınır değerinin 0 ve üst sınır değerinin + olduğunu varsayar. 3.1. FREE Değişkeni sınırsız hale getirir. FREE deyimiyle kullanılan değişken negatif veya pozitif herhangi bir reel sayı değeri alabilir. MIN 5X+Y X+Y>5 X-Y>7 FREE Y 3.2. GIN Değişkenin tamsayı değerler almasını sağlar. MAX 5X+Y X+Y>5 X-Y>7 GIN X GIN Y 3.3. INT Değişkenin Binary Değişken olduğunu yani 0 veya 1 değerlerini alabileceğini belirtir. MAX -100X+29A+12B A-10X<9 A+B<11 B<7 INT X 3.4. SLB Değişkene alt sınır değeri verilmesini sağlar. SLB X 10 deyimiyle X>10 deyimi aynı sonucu verir. MAX -100X+29A+12B A-10X<9 A+B<11 B<7 SLB X 10 3.5. SUB Değişkene üst sınır değeri verilmesini sağlar. SUB X 50 deyimiyle X<50 deyimi aynı sonucu verir. MAX -100X+29A+12B A-10X<9 A+B<11

B<7 SUB X 50 3.6. TITLE Modele başlık verilmesini sağlar. En fazla 74 karakter uzunluğunda olabilir. LINDO penceresinde File/Title komutu verilirse çıktı bölümüne ilgili modelin başlığı yazılır. TITLE komutu ifadesinden sonra yazılabileceği gibi modelin ilk satırı da olabilir. TITLE Montaj Atolyesi modeli Maximize 2X + 3Y Subject to 4X + 3Y <= 10 end 3X + 5Y <= 12 4. LINDO Çıktısı 4.1. OBJECTIVE FUNCTION VALUE:Optimal amaç fonksiyonu değeri 4.2. VARIABLE:Değişken a) VALUE :Optimal çözümde karar değişkenlerinin değeri b) REDUCED (OPPORTUNITY) CO : Bu değer sadece temel olmayan gerçek değişkenler için söz konusu olan fırsat maliyetini ifade eder. Optimal çözümde değeri sıfır olan her değişken (temel olmayan değişken) için bir fırsat maliyeti elde edilir. Fırsat maliyeti bu değişkenin değerinin l birim artırılması sonucunda amaç fonksiyonunda meydana gelen kötüleşmeyi (amaç maksimizasyon ise azalmayı, minimizasyon ise artışı) ifade eder. Temel değişkenlerin fırsat maliyeti her zaman sıfırdır. 4.3. ROW :Satır, kısıtlar a) SLACK OR SURPLUS :Gevşek veya artık değişkenlerin optimal çözümdeki değeri b) DUAL (SHADOW) PRICES :Gölge fiyatı. Herhangi bir kısıta ait sağ taraf değeri 1 birim artırıldığında amaç fonksiyonunda meydana gelen iyileşmeyi (amaç maksimizasyon ise artışı, minimizasyon ise azalmayı) ifade eder. 4.4. RANGES IN WHICH THE BASIS IS UNCHANGED :Temelin değişmeyeceği geçerlilik aralıklarını belirtir. a) OBJ COEFFICIENT RANGES :Amaç fonksiyonu katsayıları aralığı. Optimal çözümün aynı kalacağı (değişkenlerin değerlerinin değişmeyeceği) amaç fonksiyonu katsayıları aralığını gösterir. b) RIGHTHAND SIDE RANGES :Sağ taraf değerleri aralığı. Temelin değişmeyeceği (aynı değişkenlerin temel değişken olarak kalacağı) sağ taraf değerleri aralığını ifade eder. c) CURRENT :Mevcut (halihazırdaki) değer. d) ALLOWABLE INCREASE :Artırılabilecek maksimum miktar. e) ALLOWABLE DECREASE :Azaltılabilecek maksimum miktar. 5. Örnekler 6.1. Cam Fabrikası Problemi 6.2. Kesinti Kaybı Problemi 4

5