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



Benzer belgeler
GAMS Kullanım Notları

EMM3208 Optimizasyon Teknikleri

EMM3208 Optimizasyon Teknikleri

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

EMM3208 Optimizasyon Teknikleri

EMM3208 Optimizasyon Teknikleri

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

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

YÖNEYLEM ARAŞTIRMASI - I

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL)

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

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

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

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

Doğrusal Programlamada Grafik Çözüm

İleri Yöneylem Araştırması Uygulamaları Tam Sayılı Programlama

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

ALTUNBİLEKLER Marketler Zinciri. ARÇELİK A.Ş. Bulaşık Makinesi İşletmesi. Ece Pınar KOCATEPE. AKSAPARK Kent Mobilyaları San. Ve Tic. A.Ş.

TAMSAYILI PROGRAMLAMAYA GİRİŞ

Stok Kontrol. Önceki Derslerin Hatırlatması. Örnek (Ekonomik Sipariş Miktarı Modeli)(2) Örnek (Ekonomik Sipariş Miktarı Modeli)(1)

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

YÖNEYLEM ARAŞTIRMASI - III

Örnek. Aşağıdaki veri setlerindeki X ve Y veri çiftlerini kullanarak herbir durumda X=1,5 için Y nin hangi değerleri alacağını hesaplayınız.

ATAMA (TAHSİS) MODELİ

HSancak Nesne Tabanlı Programlama I Ders Notları

Genel Graf Üzerinde Mutlak 1-merkez

Stok Kontrol. Önceki Derslerin Hatırlatması. Örnek (Ekonomik Sipariş Miktarı Modeli)(1) Örnek (Ekonomik Sipariş Miktarı Modeli)(2)

Stok Kontrol. Ders 6. Farklı Bir Stok Yönetimi Durumu. Önceki Derslerin Hatırlatması

Özyineleme (Recursion)

OYUN TEORİSİ. Özlem AYDIN. Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

Matematiksel modellerin elemanları

KONU 3: DOĞRUSAL PROGRAMLAMA PROBLEMLERİ İLE İLGİLİ ÖRNEKLER

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

Göstericiler (Pointers)

BULANIK MANTIK VE SİSTEMLERİ BAHAR DÖNEMİ ÖDEV 1. Müslüm ÖZTÜRK Bilişim Teknolojileri Mühendisliği ABD Doktora Programı

SONLU FARKLAR GENEL DENKLEMLER

Karar değişkenlere ilişkin fonksiyonların ve bu fonksiyonlara ilişkin sınırlamaların tanımlanması

a2 b3 cij: birim başına ulaşım maliyeti xij: taşıma miktarı

2016 YILI AKTÜERLİK SINAVLARI: İSTATİSTİK OLASILIK

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

Zeki Optimizasyon Teknikleri

Pointer Kavramı. Veri Yapıları

DOĞRUSAL PROGRAMLAMANIN ÖZEL TÜRLERİ

= 2 6 Türevsel denkleminin 1) denge değerlerinin bulunuz. 2) Bulmuş olduğunuz dengenin istikrarlı olup olmadığını tespit ediniz.

Matris Cebiriyle Çoklu Regresyon Modeli

YÖNEYLEM ARAŞTIRMASI - III

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

Ders 10. Prof.Dr.Haydar Eş Prof.Dr.Timur Karaçay. Simpleks Yöntemine Giriş Alıştırmalar 10

Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü

11.Konu Tam sayılarda bölünebilme, modüler aritmetik, Diofant denklemler

YÖNEYLEM ARAŞTIRMASI - I

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

İstatistik ve Olasılık

Bekleme Hattı Teorisi

Internet Programming II

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

MAK 210 SAYISAL ANALİZ

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

KISITLI OPTİMİZASYON

İÇİNDEKİLER BASİT EŞİTSİZLİKLER. HARFLİ İFADELER Harfli İfadeler ve Elemanları Eşitsizlik Sembolleri ve İşaretin Eşitsizlik İfadesi...

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

DOĞRUSAL OLMAYAN PROGRAMLAMA -I-

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

TAMSAYILI PROGRAMLAMA

8. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

4.1. Gölge Fiyat Kavramı

HESSİEN MATRİS QUADRATİK FORM MUTLAK ve BÖLGESEL MAKS-MİN NOKTALAR

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

5. Salih Zeki Matematik Araştırma Projeleri Yarışması PROJENİN ADI DİZİ DİZİ ÜRETEÇ PROJEYİ HAZIRLAYAN ESRA DAĞ ELİF BETÜL ACAR

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

Temelleri. Doç.Dr.Ali Argun Karacabey

AYRIK YAPILAR ARŞ. GÖR. SONGÜL KARAKUŞ- FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ, ELAZIĞ

Tarımda Mühendislik Düşünce Sistemi. Prof. Dr. Ferit Kemal SÖNMEZ

2. Klasik Kümeler-Bulanık Kümeler

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

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

Hafta 13 Fonksiyonlar

İleri Diferansiyel Denklemler

Temel Kavramlar 1 Doğal sayılar: N = {0, 1, 2, 3,.,n, n+1,..} kümesinin her bir elamanına doğal sayı denir ve N ile gösterilir.

İstatistik ve Olasılık

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

YÖNEYLEM ARAŞTIRMASI - III

BÖLÜM 1: MADDESEL NOKTANIN KİNEMATİĞİ

T I M U R K A R A Ç AY - H AY D A R E Ş C A L C U L U S S E Ç K I N YAY I N C I L I K A N K A R A

Diziler (Arrays) Çok Boyutlu Diziler

C++ Dersi: Nesne Tabanlı Programlama

Adım Adım SPSS. 1- Data Girişi ve Düzenlemesi 2- Hızlı Menü. Y. Doç. Dr. İbrahim Turan Nisan 2011

DOĞRUSAL OLMAYAN PROGRAMLAMA (NLP)

YÖNEYLEM ARAŞTIRMASI - I

Plazma İletiminin Optimal Kontrolü Üzerine

Yatırım Analizi ve Portföy Yönetimi 5. Hafta

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

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

BÖLÜM 11: YAPISAL VERİ TİPLERİ

Excel dosyasından verileri aktarmak için Proc/Import/Read Text-Lotus-Excel menüsüne tıklanır.

Hatalar ve Bilgisayar Aritmetiği

UZMANLAR İÇİN MODELLEME. Doç.Dr.Aydın ULUCAN

ÖZEL EGE LİSESİ EGE BÖLGESİ OKULLAR ARASI 16.MATEMATİK YARIŞMASI 10. SINIF FİNAL SORULARI

Transkript:

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

GAMS Giriş GAMS (The General Algebraic Modeling System) matematiksel proglamlama ve optimizasyon için tasarlanan yüksek seviyeli bir dildir. Giriş dosyası: MODEL GAMS Derlemiş model Çıktı dosyası: SONUÇLAR Optimizasyon ÇÖZÜCÜ

GAMS Temelleri Kümeler Veri Girişi Değişkenler Denklemler Model Çözüm

Örnek Problem Sabit maliyetli ulaştırma modeli ATK- Beyaz dört müşterisinin taleplerini karşılamak için üç potansiyel fabrikayı değerlendirmektedir. Her hangi bir fabrikayı açarsa firma 200,000TL lik yatırım yapması gerekmektedir. Bir fabrikada üretilip, bir müşteriye gönderme birim maliyetleri tabloda verilmiştir. Firmanın talepleri en düşük maliyetle karşılaması için gerekli TP modelini kurunuz. Müşteri 1 Müşteri 2 Müşteri 3 Müşteri 4 Kapasite Fabrika 1 8TL 6TL 10TL 9TL 60,000 Fabrika 2 9TL 12TL 13TL 7TL 55,000 Fabrika 3 14TL 9TL 16TL 5TL 45,000 Talepler 40,000 30,000 25,000 15,000

Sabit maliyetli ulaştırma modeli - TP Karar değişkenleri x ij : i fabrikasından j müşterisine gönderilen miktar (i = 1,2,3; j =1,2,3,4) y i : i fabrikasının açılması (i = 1,2,3) y i = 1 i fabrikası açılırsa 0 açılmazsa TP modeli Min i j c ij x ij + 200000 i y i Öyle ki; k i y i (i =1,2,,m) kapasite kısıtları j x ij i x ij t j (j =1,2,,n) Talep kısıtları x ij 0, y i 0 1

Kümeler GAMS kapsamında kümeler, cebirdeki alt indislere veya belirli öğeleri içeren dizilere denk gelirler (örnek: fabrikalar, müşteriler Kümelerin tanımlanması SET kümeadı açıklayıcı yazı(isteğe bağlı) / kümenin_ilk_öğesinin_adı açıklayıcı yazı(isteğe bağlı) kümenin_ikinci_öğesinin_adı açıklayıcı yazı(isteğe bağlı) /;

Kümeler Yıldız imi *, eğer bir küme sıra halinde elemanlar içeriyorsa yazımı kolaylaştırmak için kullanılır Her iki gösterimde aynı kümeyi tanımlar alias komutu ise bir kümenin elemanlarını farklı bir isimdeki başka bir kümeye kopyalamak için kullanılır Her iki küme de (i,j) aynı elemanlardan oluşmaktadır(1,2,3,4,5)

Veri Girişi GAMS çeşitli yöntemlerle veri girişine olanak sağlar, bunlardan bazıları: scalar, parametre, tablo Scalar(Sabit) scalar ifadesi sıfır boyutlu bir katsayı tanımlamak için kuıllanılır SCALAR ilköğeadı açıklayıcı yazı(isteğe bağlı) /sayısal değer/ ikinciöğeadı açıklayıcı yazı(isteğe bağlı) /sayısal değer/ ;

Veri Girişi Parameterler Parametre formatı bir kümenin elemanlarına ilişkin değerler atamak için kullanılır PARAMETER öğeadı(bağlıolduğuküme) açıklayıcı yazı(isteğe bağlı) /kümenin 1. elemanın adı ilgili değer, kümenin 2. elemanın adı ilgili değer,... /;

Veri Girişi Tablolar Tablo formatı veri değerleri iki veya daha fazla kümeye dayanan bilgileri girmek için kullanılır TABLE öğeadı(1.küme, 2.küme ) açıklayıcı yazı(isteğe bağlı) küme2eleman1 küme2eleman2 küme1eleman1 değer_11 değer_12 küme1eleman2 değer_21 değer_22 ;

Değişkenler GAMS içindeki bir değişken optimize edilecek modelde veya çözümü aranan denklemlerde üzerinde oynanabilen sayısal bir büyüklük olarak tanımlanır Değişkenin tanımlanması Değişkentürü birincideğişkeninadı(ilişkiliküme) açıklayıcı yazı(isteğe bağlı) ikincideğişkeninadı(ilişkiliküme) açıklayıcı yazı(isteğe bağlı) ;

Değişkenler Değişken türü Variable Positive Variable Nonnegative variable Negative Variable Binary Variable Değişken Tanımı Kısıt yoktur. Değişken eksi sonsundan artı sonsuza kadar bütün değerleri alabilir Negatif olmayan sayılar. Değişken sıfırdan artı sonsuza kadar bütün değerleri alabilir Sadece pozitif değerler. Değişken sıfırdan artı sonsuza kadar bütün değerleri alabilir Sadace negatif değerler. Değişken eksi sonsuzdan sıfıra kadar bütün değerleri alabilir Değişken sadace 0 veya 1 değerini alabilir Integer Variable Değişken sadace tamsayı değerleri alabilir

Denklemler Denklemler çözülecek veya optimize edilecek modeldeki ilişkileri tanımlar Denklemlerin tanımlanması EQUATION birincidenklemadı(ilişkiliküme) ikincidenklemadı(ilişkiliküme) açıklayıcı yazı(isteğe bağlı) açıklayıcı yazı(isteğe bağlı);

Denklemler Denklem eşitlikleri denklemadı(ilişkiliküme).. sol_taraftaki_terimler Eşitlik_türü sağ_taraftaki_terimler; Kullanılan Sembol Eşitlik Türü Koşulun Özelliği =e= Eşitlik soltaraf= sağtaraf =g= Büyük ya da eşit soltaraf sağtaraf =l= Küçük ya da eşit soltaraf sağtaraf

Model&Çözüm Modeller GAMS in çözüm için kullanacağı nesnelerdir MODEL modeladı açıklayıcı yazı(isteğe bağlı) / model içeriği/; Modeller, model komutu aracılığıyla bir araya getirildikten sonra, solve komutu kullanılarak çözümü istenilen model burada belirtilir SOLVE modeladı USING modeltipi MAXIMAZING değişkenadı ; SOLVE modeladı USING modeltipi MINIMAZING değişkenadı ;

Model&Çözüm GAMS Model Tipi Model Tipi Tanımı Koşullar LP Doğrusal Model Doğrusal olmayan terim ve ayrık değişken içermeyen optimizasyon problemleri NLP Doğrusal Olmayan Model Problem doğrusal olmayan terimler içerebilir ama değişken sürekli olmalıdır MIP Karışık Tamsayılı Model Problem ayrık değişkenler içerebilir ama doğrusal olmayan terim içermemelidir Bu model tipleri temel modellerdir, problem türüne göre bunların dışında da modeller kullanılabilir. İnternette ve diğer kaynaklarda bunlara kolayca ulaşılabilir

Sabit maliyetli ulaştırma modeli sets i santraller /1, 2, 3/ j şehirler /1*4/ ; table c(i,j) 1 2 3 4 1 8 6 10 9 2 9 12 13 7 3 14 9 16 5 ; Scalar fa fabrika acma maliyeti /200000/; parameter talep(j) /1 40000, 2 30000, 3 25000, 4 15000 /; parameter kapasite(i) / 1 60000, 2 55000, 3 45000 /; positive variables x(i,j); binary variables y(i); variable z; equations amac, kapasitekisiti, talepkisiti ; amac.. z =e= sum((i,j), x(i,j)*c(i,j)) + fa*sum(i, y(i)); kapasitekisiti(i).. sum(j, x(i,j)) =l= kapasite(i)*y(i); talepkisiti(j).. sum(i, x(i,j)) =g= talep(j); model ulastirma /all/; solve ulastirma using MIP minimizing z; display x.l, y.l;

Veri Alma (Küme&Tablo) Problemin çözümü için gerekli tüm verileri GAMS in içine yazmak yerine, bu verileri saklayan başka bir dosya(excel, notepad) kullanılabilir. Bu sayade hem kod basitleşir hem de var olan verileri tekrar yazmaya gerek kalmaz Importing sets&table from an excel file

Veri Alma (Küme&Tablo) SET Kümeadı / $call =xls2gms r=ilkhücre:sonhücre i=dosyaadı.xls o=setkümeadı.inc $include setkümeadı.inc /; GAMS sadace düşey verileri okuyabilir, yatay verilerin okunabilmesi için koda ilave bir terim eklenmelidir SET Kümeadı / $call =xls2gms r= ilkhücre:sonhücre s="," i=dosyaadı.xls o=setkümeadı.inc $include set Kümeadı.inc /;

Veri Alma (Küme&Tablo) Tabloları okumak için; TABLE tabloadı(1.küme,2.küme) $call =xls2gms r=hücre(0,0):hücre(n,m) i=dosyaadı.xls o=partabloadı.inc $include partabloadı.inc ;

sets i fabrikalar / $call =xls2gms r=a2:a4 i=data.xls o=seti.inc $include seti.inc /; sets j müşteriler / $call =xls2gms r=b1:e1 s="," i=data.xls o=setj.inc $include setj.inc /; TABLE c(i,j) $call =xls2gms r=a1:e4 i=data.xls o=parc.inc $include parc.inc ; scalar fa /200000/; parameter talep(j) /m1 40000, m2 30000, m3 25000, m4 15000 /; parameter kapasite(i) / f1 60000, f2 55000, f3 45000 /; positive variables x(i,j); binary variables y(i); variable z; equations amac, kapasitekisiti, talepkisiti ; amac.. z =e= sum((i,j), x(i,j)*c(i,j)) + fa*sum(i, y(i)); kapasitekisiti(i).. sum(j, x(i,j)) =l= kapasite(i)*y(i); talepkisiti(j).. sum(i, x(i,j)) =g= talep(j); model ulastirma /all/; solve ulastirma using MIP minimizing z; display x.l, y.l;

Örnek Küme kapsama problemi Bir şehirde itfaiye merkezlerinin yeri gözden geçirilmektedir. Aşağıdaki şekildeki gibi şehrin onbir adet ilçesi vardır. Bir itfaiye merkezi herhangi bir ilçede kurulabilir. Merkez kendi ilçesindeki ve komşu ilçelerdeki yangınlara müdahale edebilir. Amaç merkez sayısını enazlayarak tüm ili yangına karşı koruyacak bir kapsama alanı kurmaktır.

Çok Dönemli Sermaye Bütçeleme Önümüzdeki üç yıllık planlama dönemi için dört projenin değerlendirilmesi yapılacaktır. Her projeye ait beklenen getiriler ile yıllık harcamalar aşağıdaki tabloda gösterilmiştir. Üç yıl boyunca uygulamaya konulacak projeleri belirleyiniz. Harcamalar Proje Getiri (NŞD) 1. Yıl 2.Yıl 3.Yıl 1 0.2 0.5 0.3 0.2 2 0.3 1 0.5 0.2 3 0.5 1.5 1.5 0.3 4 0.1 0.1 0.4 0.1 Kullanılabilir sermaye 3.1 2.5 0.4

MS Excel Solver Sayfanın hazırlanması Karar değişkenlerini hücrelere tanımla (her karar değişkeni için ayrı hücre) Parametre değerleri gir Amaç fonksiyonunu karar değişkenlerine göre hesaplanmasını içeren bir hücre tanımla Kısıt sağ taraf ve sol taraf değerlerini ayrı hücrelere olmak üzere tanımla Solver eklentisinin çalıştırılması Amaç fonksiyonu tanımlanan hücreyi işaretle Min- Max işaretle Karar değişkenlerini tanımladığın hücreleri işaretle Kısıtları gir (gerekli ise) karar değişkeni tipini binary veya integer olarak tanımla Çözme yöntemi belirle Çöz

MS Excel Solver Örnek (Proje Seçimi) 1. Yıl kullanılabilir para miktarı 40 br., 2. Yıl kullanılabilir para miktarı zaman 20 br. Yatırımlar($) 1 2 3 4 5 1. Yıl nakit çıkışı 11 53 5 5 29 2. Yıl nakit çıkışı 3 6 5 1 34 Net şimdiki değer 13 16 16 14 39 DP modeli: Karar değişkenleri; x i : i. yatırıma para yatırma oranı Maks z = 13 x 1 + 16 x 2 + 16 x 3 + 14 x 4 + 39 x 5 Öyle ki; 11 x 1 + 53 x 2 + 5 x 3 + 5 x 4 + 29 x 5 40 3 x 1 + 6 x 2 + 5 x 3 + x 4 + 34 x 5 20 0 x i 0 i = 1,,5

Örnek Problem Sabit maliyetli ulaştırma modeli ATK- Beyaz dört müşterisinin taleplerini karşılamak için üç potansiyel fabrikayı değerlendirmektedir. Her hangi bir fabrikayı açarsa firma 200,000TL lik yatırım yapması gerekmektedir. Bir fabrikada üretilip, bir müşteriye gönderme birim maliyetleri tabloda verilmiştir. Firmanın talepleri en düşük maliyetle karşılaması için gerekli TP modelini kurunuz. Müşteri 1 Müşteri 2 Müşteri 3 Müşteri 4 Kapasite Fabrika 1 8TL 6TL 10TL 9TL 60,000 Fabrika 2 9TL 12TL 13TL 7TL 55,000 Fabrika 3 14TL 9TL 16TL 5TL 45,000 Talepler 40,000 30,000 25,000 15,000