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

Ebat: px
Şu sayfadan göstermeyi başlat:

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

Transkript

1 ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ YÖNEYLEM ARAŞTIRMASI DERSİ GAMS REHBERİ (Kısaltılmış) Hazırlayanlar Prof. Dr. Bilal TOKLU Arş. Gör. Talip KELLEGÖZ ARALIK 2009 Bu doküman GAMS programıyla birlikte verilen ve E.Richard Rosenthal tarafından hazırlanan A GAMS Tutorial isimli yardım dosyası temel alınarak oluşturulmuştur.

2 1. GİRİŞ Bu doküman kapsamında Ulaştırma Problemi (Transportation Problem) olarak bilinen bir örneğin GAMS yazılımı kullanılarak optimal çözümünün bulunması anlatılmıştır. Bu yolla GAMS dilinin hemen hemen tüm özellikleri anlatılmış olacaktır. Klasik ulaştırma probleminde tek bir ürün için birden fazla arz noktası, birden fazla talep noktası ve bu noktalar arası birim ulaştırma maliyetleri verilerek toplam ulaştırma maliyetinin minimum olması için hangi arz noktalarından hangi talep noktalarına ne miktarda ürün taşınması gerektiği sorusuna cevap aranır. Problemin matematiksel tanımı aşağıdaki gibidir: İndisler: fabrika (depo, arz noktası) müşteri (talep noktası) Veriler: fabrikasının arz miktarı müşterisinin talep miktarı fabrikasından müşterisine birim taşıma maliyeti ($/adet) Karar Değişkenleri: fabrikasından müşterisine taşıma miktarı (adet, 0, tüm, ) Kısıtlar: fabrikasından taşınan toplam miktar arz miktarını geçmesin: müşterisine taşınan toplam miktar talep miktarından az olmasın: Amaç Fonksiyonu: Örnek ulaştırma problemi tüm ler için tüm ler için 2 farklı fabrika ve 3 farklı müşterinin bulunduğu probleme ait mesafeler, fabrika kapasiteleri ve müşteri talepleri aşağıdaki tabloda verilmiştir. Mesafeler Kapasiteler Müşteriler Fabrikalar Izmir Konya Gazi-antep Ankara 0,579 0,258 0, Istanbul 0,561 0,668 1, Talepler Mesafeler 1000 km cinsinden olup 1000 km mesafenin birim ulaştırma maliyeti $90 dır. Örnek probleme ait GAMS modeli aşağıda sunulmuştur.

3 Bu model GAMS programına girilip çalıştırıldığında optimal taşıma miktarları rapor penceresinin sonunda aşağıdaki gibi görüntülenecektir: Bunun yanı sıra fırsat maliyetleri de (simpleks çarpanları) aşağıdaki gibi raporun sonunda görüntülenecektir:

4 2. GAMS model yapısı GAMS model terminolojisinde matematiksel model bileşenlerine karşılık gelen kavramlar aşağıdaki tabloda verilmiştir. Matematiksel model bileşeni GAMS modeli karşılığı İndisler Sets Parametreler Parameters o Amaç fonksiyonu katsayıları o Kısıt katsayıları (teknolojik katsayılar) o Sağ taraf değerleri Karar değişkenleri Variables Eşitlikler ve Eşitsizlikler Equations o Amaç fonksiyonu o Kısıtlar Yukarıda verilen ulaştırma örneğine ait temel temel GAMS bileşenleri ve bu bileşenlere ait işlemler ise aşağıdaki tabloda sunulmuştur: Giriş Bileşenleri Sets o Bildirim o Değer atama Data (Parameters, Tables, Scalar) o Bildirim o Değer atama Variables Bildirim Değer atama Başlangıç değeri ve/veya alt üst sınır değeri atama (seçmeli) Equations o Bildirim o Tanımlama Model ve solve ifadeler Display ifadesi (seçmeli) Rapor Bileşenleri Echo Print Reference Maps Equation Listings Status Reports Results Seçimlik tanımlama bileşenleri özel formatlı rapor oluşturma, eski modelin kaydedilmesi veya kayıtlı modelin çağırılması, tek bir çalıştırmada birden çok modelin optimal çözümünün bulunması gibi işlemler yapmak amacıyla kullanılır. Bu bileşenler bu dokümanın kapsamı dışındadır. GAMS modellerine ilişkin bazı genel bilgiler aşağıdaki gibidir:

5 GAMS modeli GAMS dilinin içerdiği bileşenlerin bir kümesidir. Bileşenlerin model içerisinde sıralanmasına ilişkin tek bir kural olup bu kural her hangi bir bileşenin kullanılmasından (tanımlama veya değer atama) önce bildiriminin yapılması gerektiğidir. Her hangi bir ifade birden fazla satırda yazılabileceği gibi tek bir satıra birden fazla ifade de yazılabilir. Bunun yanı sıra ifadeler arasında istenildiği kadar boş satır bırakılabilir. İfadeler noktalı virgül ile bitirilir. Büyük küçük harf ayrımı yoktur. Dolayısıyla, örneğin e ve E GAMS açısından aynı kavrama karşılık gelir. GAMS modellerine ait ifadeler Bildirim ve Değer atama/tanımlama olmak üzere iki temel adımla oluşturulur. Bildirim işleminde ifadeye isim verilerek modele tanıtılır. Değer atama/tanımlama işleminde ise ifadeye spesifik bir değer veya yapı/formül atanır. Eşitliklerde (equations) bildirim ve tanımlama işlemi ayrışık ifadelerle yapılması gerekirken, diğer tüm GAMS bileşenlerinin bildirim ve tanımlama işlemleri aynı veya ayrışık ifadelerle yapılabilir. Bileşen isimleri alfa-nümerik bir karakterle başlar ve maksimum 8 karakter uzunluğunda olabilir. 3. SETS Modelin matematiksel gösteriminde indisleri ifade eden set ler GAMS modellerinin temel yapıtaşıdır. Örnek ulaştırma probleminin içerdiği SETS ifadesi aşağıda verilmiştir Bu ifade yoluyla i ve j isimlerine sahip iki farklı set bildirilmektedir. Aynı ifade yoluyla, bildirimi yapılan setlere aşağıdaki gibi elemanlar da atanmaktadır: GAMS de elemanlar küme parantezi yerine bölme işaretleri / arasına yazılır. Bunun yanı sıra birden çok kelimeden oluşan isimlere de izin verilmemektedir. Bu nedenle Gazi antep ifadesi yerine Gaziantep kullanılmıştır. Sets ifadesindeki küçük harfli bilgiler açıklama amaçlı olup kullanımı isteğe bağlıdır. i ve j setlerinin tek bir ifadede bildirimi mecburi olmayıp aşağıda verildiği gibi ayrışık ifadelerle bildirimleri yapılabilir: Tanımlanan sete atama işlemi yapılırken kullanılabilecek ifadelerden birisi de yıldız (*) ifadesidir. Yıldız ifadesi atanacak elemanların bir sıra oluşturması durumunda kullanılır. Örneğin aşağıdaki kullanım GAMS kapsamında uygun bir kullanımdır: Bu kullanımın setlere atadığı değerler ise aşağıdaki gibidir.

6 Sete atanan değerler alfanumerik olarak tutulur, bu nedenle t değerleri sayısal değildir. Diğer bir kullanışlı özellik ise alias dır. Aliaslar daha önce tanımlanmış bir sete farklı bir isim vermek için kullanılır. Alias kullanımıyla ilgili bir örnek aşağıda verilmiştir: Örnekte tanımlanan tp ifadesi matematiksel açıdan t ile aynı özeliklere sahiptir. Alias kullanımı özellikle aynı setin elemanlarının birbiriyle etkileşiminin olduğu modellerde kullanışlıdır. Yukarıda verilen örneklerde bulunan i, j, t ve m setlerinin tamamı statik setler olup bu setlere direkt olarak kullanıcı tarafından değer atanır ve bu değerler değişmez. Statik setlerin yanı sıra GAMS kapsamında çeşitli mantıksal işlemlerle modelin çalışması sırasında değer ataması yapılabilecek dinamik setler de tanımlanabilir. Dinamik setler bu dokümanın kapsamı dışında bırakılmış olup detaylı bilgi GAMS Kullanıcı Kılavuzunda bulunabilir. 4. DATA Ulaştırma problemi modelinde GAMS kapsamında izin verilen 3 farklı formatta veri girişinin tamamının örneği mevcuttur. Bu formatlar: Listeler (Lists) Tablolar (Tables) Direkt atama Devam eden 3 alt bölümde bahsi geçen veri giriş yöntemleri konusunda çeşitli bilgiler sunulmuştur Liste (List) Formatında Veri Girişi Bu format, aşağıda tekrarlanan örnek ulaştırma probleminin ilk Parameters bölümünde olduğu gibi kullanılır. Bu ifade, a ve b olmak üzere iki farklı parametrenin olduğunu, bu parametrelerin indislerinin ise sırasıyla i ve j setleri olduğunu bildirir. İfade her bir parametre için açıklayıcı bir bölümden sonra a(i) ve b(j) parametrelerine her bir i ve j için bir adet değer atar. Bu ifade aynı zamanda aşağıdaki gibi ayrışık olarak da yazılabilir:

7 Liste formatında veri girişinde bilinmesi gereken bazı özellikler aşağıda sıralanmıştır: Değer atama işlemini gerçekleştiren bölümün, listenin bölme / işaretleri arasına yazılması gerekir. Set elemanı-değer ikililerinin arasına ya virgül konmalı veya her biri ayrı bir satıra yazılmalıdır. Set elemanı-değer listesini parametre ismi ve açıklayıcı bilgi bölümlerinden ayırmak amacıyla noktalı virgül ; kullanılmasına gerek yoktur. Set Ankara elemanına sahip olacak şekilde bildirilip değer atandıktan sonra parametre tanımlanırken Ankra şeklinde yazım hatası yapılırsa, GAMS yazılımı Ankra elamanının ilgili sette bulunmadığını ifade eden bir hata mesajı görüntüleyecektir. Her bir parametrenin varsayılan değeri sıfırdır. Bu nedenle değeri sadece sıfırdan farklı olan set elemanı-değer ikililerinin istenen sıralamada listede bulunması yeterlidir. Sabit değer (scaler) set (yani indis) içermeyen parametre olarak düşünülebilir. Bu tip tanımlamalar aşağıda verilen örneğe benzer şekilde Scaler ifadesiyle tanımlanıp değer ataması yapılır. Eğer parametrenin birden fazla indise (yani sete) bağlı olacak şekilde tanımlanması gerekiyorsa, bu tip tanımlamalar da liste yoluyla yapılabilir. Benzer tanımlamalarda listelerin kullanımı çok sayıda sıfır içeren dizilerin bulunduğu modellerde oldukça kullanışlıdır Tablo (table) formatında veri girişi Büyük boyutlu matematiksel modellerin büyük bir kısmı sayılar içeren küçük çeşitli boyutlardaki tablolar içerir. Bu tip problemlerin GAMS modelinin yazılmasında tablo formatında veri girişi oldukça kullanışlıdır. Ulaştırma probleminin içerdiği iki boyutlu tablo (yani matris) aşağıdaki gibidir: Bu ifadeyle adı d olan ve indisleri i ve j setlerinin Kartezyen çarpımı olan bir tablo tanımlanarak tablonun satır ve sütunları sırasıyla i ve j setleriyle isimlendirilip değer ataması yapılmaktadır. Tabloda boş bırakılan değerlerin ifade ettiği elemanlara sıfır atanır. İkiden fazla boyuta sahip tablolar yoluyla da veri girişi yapılabilir. Bu ifade dokümanın kapsamı dışında olup detaylı bilgi GAMS Kullanıcı Kılavuzunda bulunabilir Direkt atama yoluyla veri girişi Direkt atama yöntemi, parametre tanımlama ve değer atama işlemlerini ayrı ifadelerle yapması yönüyle Liste ve Tablo yöntemlerinden ayrılır. Ulaştırma probleminde aşağıdaki satırlar direkt atama yoluyla veri giriş yöntemine örnek teşkil etmektedir:

8 Hem bildirimi ifade eden ilk satır hem de atamayı/tanımlamayı ifade eden ikinci satırın sonunda noktalı virgül kullanılmak zorundadır. İlk satırla adı c, indisleri i ve j olan bir parametre bildirimi yapılmış ve parametreye ilişkin açıklama verilmiş, ikinci satırda ise c parametresine daha önce tanımlanan f ve d parametrelerinin bir fonksiyonu yoluyla değer atanmıştır. Atama işlemi tüm i ve j indisleri için yapılmaktadır. Eğer spesifik bir i ve j indisi için atama yapılacaksa indis değerleri tek tırnak arasına yazılır. Bu duruma ilişkin bir örnek aşağıda verilmiştir: Aynı parametreye birden fazla kez değer atanabilir. Her bir atama bir önceki atamayı ortadan kaldırarak yeni değeri hemen etkin kılar. Buna karşın aynı parametrenin birden fazla kez bildirimine izin verilmez. Atama ifadesinin sağ tarafında FORTRAN ve C programlama diline çok benzeyen fonksiyonlar kullanılabilir. GAMS kapsamında desteklenen fonksiyonlar aşağıdaki tabloda verilmiştir. Fonksiyon ( ) ( ) ( ) 10( ) (, ) (, ) ( ) ( ) ( ) (,, ) (,, ) (, ) (, ) (, ) ( ) ( ) ( ) h( ) arctan ( ) cos ( ) sin ( ) Açıklama dan noktasına kadar standart normal dağılımın altında kalan alan ortalaması standart sapması olan normal dağılımdan türetilmiş rastsal sayı ve arasında düzgün dağılımdan türetilmiş rastsal sayı 'den büyük olan en küçük tamsayı 'den küçük olan en büyük tamsayı parametrelerin en büyüğü parametrelerin en küçüğü 'in ye bölümünden kalan, burada parametresinin tamsayı olma zorunluluğu vardır ifadesi in işareti + ise sağ tarafa ise sol tarafa adet yuvarlanır pozitifse 1, negatifse -1, değeri sıfırsa 0 çevirir ( ) ( ) radyan cinsinde x radyan cinsinde olmak üzere cos ( ) x radyan cinsinde olmak üzere ( ) Aşağıda sol taraf parametrelerinin tanımlandığı varsayımıyla bazı geçerli atamalara ilişkin örnekler verilmiştir.

9 İlerleyen bölümlerde anlatılacak olan toplam (SUM) ve çarpım (PROD) operatörleri de direkt atama yoluyla veri girişinde kullanılabilir. 5. Değişkenler (Variables) GAMS modelinde karar değişkenleri Variables anahtar kelimesiyle bildirilir. Her bir değişkene bir isim, gerekli ise indis ve açıklama bilgileri eklenir. Örnek olarak verilen ulaştırma problemi aşağıdaki değişkenlere sahiptir: Bu ifadelerle her bir (i, j) indisi için ulaştırma miktarlarının tutulduğu x değişkeni ve toplam ulaştırma maliyeti içinse indis içermeyen z değişkeni bildirilmektedir. Bütün GAMS modellerinin en küçüklenecek veya en büyüklenecek miktarı ifade eden ve optimizasyon değişkeni adı verilen z ye benzer bir değişken içermesi zorunludur. Bildirimi yapılan her bir değişkenin tipinin belirtilmesi gerekir. GAMS kapsamında kullanılabilecek değişken tipleri aşağıdaki tabloda sunulmuştur. Optimizasyon değişkeni sabit değerli (scaler-indis içermeyen) değişken olarak bildirilmeli ve Free tipte olmalıdır. Örnek ulaştırma probleminde optimizasyon değişkeni olan z, varsayılan olarak Free tutulurken, x(i, j) değişkeninin aşağıdaki ifadeyle negatif değer alması önlenmiştir: Dikkat edilecek olursa x değişkeninin indis bilgisi tip bildirimi yapılırken kullanılmamaktadır. GAMS Kullanıcı Kılavuzunun Bölüm 2.1 de değişkenlere alt ve üst sınır değerleriyle başlangıç değerlerinin nasıl atanacağı anlatılmıştır. 6. Eşitlikler (Equations) GAMS modellerinde aynı yapıyla tanımlanan tüm eşitlik veya eşitsizlikler tek tek türetilebildiği gibi grup olarak da türetilebilirler.

10 6.1. Eşitlik Bildirimi Eşitliklerin bildirimi ve tanımlanması ayrı ifadelerle yapılmalıdır. Bildirime ilişkin format diğer GAMS ifadeleriyle aynı olup Equations anahtar kelimesinden sonra eşitliğin ismi, varsa indisi ve açıklaması yazılır. Birden fazla eşitlik/eşitsizlik varsa tek bir Equations anahtar kelimesinden sonra her birisi ayrı satırlarda olmak üzere yazılır. Örnek ulaştırma probleminin içerdiği eşitlik bildirimi aşağıdaki gibidir: Bu ifadede cost eşitliği indisi olmayan tek bir eşitliği ifade ederken, supply eşitsizliği indisi i olacak şekilde toplam i adet eşitsizliği ifade etmektedir Toplam (SUM) ve Çarpım (PROD) Operatörleri GAMS kapsamında SUM operatörü gerek basit gerekse de kompleks ifadelerin tanımlanmasında kullanılabilir. Bu operatörün formatı iki argüman içeren aşağıdaki şekildedir: İki argüman virgül ile birbirinden ayrılır. Eğer ilk argüman da kendi içerisinde virgül içermesi gerekiyorsa (birden fazla indis bazında toplam alınacaksa), bu durumda ilk argüman parantez içerisine alınır. İkinci argüman ise kendi içerisinde SUM operatörlerini de içeren matematiksel ifade olabilir. Örnek ulaştırma probleminin içerdiği ifadesi matematiksel ifadesine eşdeğerdir. Örneğin içerdiği diğer bir ifade ise olup matematiksel ifadesine eşdeğerdir ve aynı ifade alternatif olarak şeklinde de tanımlanabilir. Çarpım operatörü (Prod), toplam operatörüyle tamamen aynı kurallara göre kullanılır. Sadece Sum terimi yerine Prod terimi yazılır. Örneğin ifadesi matematiksel ifadesine eşittir. Toplam ve çarpım operatörleri parametrelere direkt değer atama işlemlerinde de kullanılabilir. Bu duruma ilişkin bir örnek aşağıda verilmiştir: 6.2. Eşitlik Tanımlama Çok çeşitli eşitliklerin bulunabilmesi nedeniyle eşitlik tanımlama GAMS ifadeleri içerisinde en karmaşık yapılardan birisidir. Eşitlik tanımlama bileşenleri sırasıyla: Tanımlama yapılan eşitliğin adı, İndisi, İndis kısıtlama koşulu (seçimlik).. sembolü Sol taraf ifadesi

11 İlişki operatörü =L=, =E= veya =G= Sağ taraf ifadesi Ulaştırma problemi örneği 3 adet eşitlik tanımlama ifadesi içermektedir. Bu ifadeler aşağıda verilmiştir: Eşitlik tanımlamada bilinmesi gereken bazı özellikler aşağıdaki gibidir: Tek bir GAMS ifadesiyle birden fazla eşitliğin üretilmesi eşitlik isminden sonra belirtilen indis yoluyla kontrol edilir. Örneğin ulaştırma probleminde tanımlanan demand eşitliği her bir j ye bir adet olmak üzere aşağıda verilen 3 adet kısıtın oluşturulmasını sağlar: Bazı modellerde sadece spesifik bazı indis değerleri için eşitlik oluşturulmasına ihtiyaç duyulur. Bu tür yapılar GAMS Kullanıcı Kılavuzunda anlatılan Dollar veya such-that operatörlerinin kullanılması yoluyla oluşturulabilir. Bu dokümanın kapsamı dışında olduğundan bu operatörlere değinilmemiştir. İlişki operatörleri aşağıdaki anlamlara gelmektedir: o =L= sol taraf sağ taraftan küçük veya eşit olsun o =G= sol taraf sağ taraftan büyük veya eşit olsun o =E= sol taraf sağ tarafa eşit olsun = sembolü sadece direkt değer atama işleminde kullanılırken =E= operatörü sadece eşitlik tanımlama işleminde kullanılır. Değişkenler eşitliğin hem sol, hem sağ, hem de her iki tarafında da bulunabilir. Hatta aynı değişken eşitlik içerisinde birden fazla kullanılabilir. GAMS, model çözümüne başlamadan önce tüm eşitlikleri otomatik olarak standart yapıya çevirecektir. Eşitlikler, içerdiği tüm değişken ve parametrelerin daha önce tanımlanmış olması koşuluyla GAMS modelinin her hangi bir yerinde yazılabilir. 7. Amaç fonksiyonu Daha önce de belirtildiği gibi GAMS modellerinde adı amaç fonksiyonu olan ayrı bir ifade yoktur. Amaç fonksiyonunun tanımlanması için işaretçe kısıtsız (free) bir sabit değer (scaler) karar değişkeni tanımlanıp, bu değişkenin amaç fonksiyonuna eşit olacak şekilde eşitlik tanımlamasında kullanılması yeterlidir. 8. Model ve çözüme yönelik ifadeler Model ifadesi GAMS kapsamında en basit anlatımla eşitlikler kümesini ifade eder. Diğer GAMS ifadelerinde olduğu gibi modele de bir isim verilerek bildirimi yapılır. Bildirim Model ifadesiyle başlayıp, modelin ismi ve bölüm / işaretleri arasında olacak şekilde modelin içerdiği eşitliklerin bir listesi yazılır. Eğer eşitliklerin tamamı daha öncesinde tanımlanmışsa, kesin eşitlik listesi yerine /all/ ifadesi yazılabilir. Önek ulaştırma probleminde aşağıda verildiği gibi tek bir model bildirimi söz konusudur:

12 Bu ifade gereksiz gibi görünmesine rağmen, aynı GAMS çalıştırmasında birden fazla model oluşturulup çözülmek istenmesi durumunda oldukça kullanışlıdır. /all/ ifadesi yerine kesin eşitlik listesi yazılmış olsaydı aynı ifade aşağıdaki gibi olacaktı: Dikkat edilirse eşitliklerin isimleri indisler göz ardı edilerek yazılmıştır. Kesin eşitlik listesinin, daha önce tanımlanmış bir dizi eşitliğin sadece bir alt kümesinin modele dahil edileceği durumda kullanılması daha uygundur. Model bildirimi ve modele eşitlik ataması yapıldıktan sonra örnek ulaştırma problemi için solver (çözücü) aşağıdaki ifade kullanılarak çağırılmaktadır: Solve ifadesine ait format aşağıdaki gibidir: Solve anahtar kelimesi, Çözümü yapılacak modelin adı, using anahtar kelimesi, Mevcut çözüm prosedürü. GAMS kapsamında desteklenen çözüm prosedürleri: o lp -doğrusal programlama o nlp -doğrudal olmayan programlama o mip karışık tamsayılı programlama o rmip gevşetilmiş karışık tamsayılı programlama o minlp karışık tamsayılı doğrusal olmayan programlama o rminlp gevşetilmiş karışık tamsayılı doğrusal olmayan programlama o mcp karışık tamamlayıcı problem o cns kısıtlı doğrusal olmayan eşitlik sistemi o minimizing veya maximizing anahtar kelimesi, en iyilenecek değişkenin ismi. 9. Sonuçların gösterilmesine (display) ilişkin ifadeler solve ifadesi GAMS kapsamında gerek modelin oluşturulması gerekse de çözüme yönelik birçok işlemin yapılarak çıktı dosyasına yazılmasını sağlar. Primal ve/veya dual probleme ait karar değişkenlerinin optimal değerleri için GAMS in oluşturduğu çıktı dosyasına bakılabileceği gibi arzu edilirse bu bilgilerin belirlenen bir formatta gösterilmesi GAMS ten istenebilir. Önek ulaştırma modeli belirtilen amaca yönelik aşağıda verilen ifadeyi içermektedir: Bu ifade x(i,j) değişkenlerinin optimal (x.l) ve marjinal yani dual (x.m) değerlerinin gösterilmesini bildirmektedir. GAMS yazılımı modelin optimal çözümü bulduktan sonra istenen çıktıyı otomatik olarak uygun başlıklar içeren tablo formatına çevirip rapor penceresinde görüntüleyecektir. 10..LO,.L,.UP,.M veritabanı GAMS yazılımı her bir kayıtında karar değişkenleri ve eşitliklerle ilişkili olacak şekilde aşağıdaki 4 alanın bulunduğu küçük bir veritabanına sahiptir..lo alt sınır değeri,.l primal değer

13 .up üst sınır değeri.m marjinal veya dual değer Bu ifadelerin referansına ilişkin format değişken veya eşitlik ismiyle başlayıp alan adı ve gerekli ise indis ismiyle devam eder. GAMS, bu veritabanının okunup yazılmasına izin verir. Veri tabanının kullanımına ilişkin bazı bilgileri aşağıda verilmiştir Değişkenlere sınır ve/veya başlangıç değerleri atama Değişkenlerin tipi (free, positive, negative, binary vaya integer) bağlı olarak alt ve üst sınır değerleri GAMS tarafından otomatik olarak atanmasına karşın bu sınır değerleri kullanıcı tarafından değiştirilebilir. Bu işlemlere ilişkin bazı örnekler aşağıda verilmiştir: Bu ifadelerin değişkenlerin bildiriminden sonra, solve ifadesinden önce yazılması gerekir. İfadelerin sağ tarafında direkt değer atamada anlatılan tüm matematiksel ifadeler kullanılabilir. Özellikle doğrusal olmayan programlamada değişkenlerin alt ve üst sınırlarının mümkün olduğunda birbirine yakın olacak şekilde GAMS e bildirilmesi oldukça önemlidir. Bu bildirim optimal çözüme yönelik aramanın başlayacağı kaliteli bir başlangıç çözümünün oluşturulmasında da oldukça etkindir. Burada altı çizilmesi gereken nokta.lo ve.up alanlarının kullanıcı tarafından değiştirilmesine izin verildiği, daha sonrasında kontrolün GAMS e geçtiğidir Tip dönüşümü ve optimal değerlerin gösterilmesi solve ifadesiyle çözücü çağırıldıktan sonra primal ve dual değişken değerleri hesaplanarak veri tabanındaki.l ve.m alanlarına kaydedilir. Bu değerler okunabileceği gibi GAMS ifadeleri yoluyla tip dönüşümü yapılarak gösterilmesi de yapılabilir. Örneğin ulaştırma probleminde her bir müşterinin her bir fabrika tarafından karşılanan talep oranını öğrenmek istediğimizi varsayalım. Bu amaçla solve ifadesinden sonra aşağıdaki ifadelerin yazılması gerekir: Bu komutların modele eklenmesi çözümün yapılmasından sonra aşağıdaki gibi bir çıktının görüntülenmesini sağlayacaktır.

14 11. GAMS çıktısı Bu bölüm kapsamında GAMS çıktı raporunda görüntülenen/görüntülenebilecek aşağıdaki bilgilerden bahsedilecektir: Hata mesajları Eşitlik listesi Model istatistikleri Durum raporları Çözüm raporları Hata mesajları GAMS yazılan modelde bir hatayla karşılaşırsa çıktı raporuna hataya sebep olan satırı takip eden bir hata kodu yazar. Bu tip mesajlar **** ifadesiyle başlayıp $ işaretini hata olduğu düşünülen noktanın altına yazar. $ operatörünü hatayla ilişkili bir sayısal bilgi takip eder. İlgili hata koduyla ilişkili hata mesajı ise echo print adı verilen ve modelin satırlarının numaralandırıldığı çıktıyı takip eden bölüme yazılır. Hata mesajlarına ilişkin bazı örnekler aşağıda verilmiştir. Örnek 1 Modelin aşağıdaki ifadeyi içerdiğini varsayalım: Çıktı raporuna aşağıdaki mesaj yazılacaktır: Bu durum GAMS in indis elemanı olan sum ile ilgili bir yanlışlık tespit ettiğini ifade eder. echo print bölümünün sonunda $160 hata koduyla ilişkili aşağıdaki hata mesajı görüntülenir: Karşılaşılan problem sum ifadesinin toplam amaçlı kullanılan GAMS in standart bir terimi olduğu, bu nedenle de bu ifadenin değiştirilmesi gerektiğidir. GAMS terimlerinin tam listesi GAMS Kullanıcı Kılavuzunda Tablo 3.2 de verilmiştir. Örnek 2 Modellerde yaygın olarak yapılan diğer bir hata ise direkt atama işlemi veya eşitlik tanımlamadan sonra kullanılması gereken noktalı virgülün unutulmasıdır. Örnek ulaştırma probleminde aşağıdaki gibi c(i,j) tanımlamasından hemen önce yazılması gereken noktalı virgülün unutulduğunu varsayalım. Bu ifadeyle ilişkili hata mesajı aşağıdaki gibi olacaktır:

15 Bu örnekte görüldüğü gibi basit bir noktalı virgül hatası 5 farklı hata kodunun görüntülenmesine neden olmuştur. Bu tip durumlarda ilk hata koduna yoğunlaşıp diğer kodların göz ardı edilmesi gerekir. Verilen örnekte ilk hata kodu $97 olup ilişkili açıklama 19. satırda bulunan bazı sembollerin 18. satırın devamı olarak düşünüldüğü, bu nedenle de eksik bir noktalı virgül olabileceğidir. Esasında ise 19. satır atamayla ilişkili bir satırdır. Buna karşın hata mesajları her zaman bu denli açıklayıcı olmamaktadır. Örnek 3 Hataların birçoğu bildirim ve değer atama/eşitlik tanımlama işlemlerinde farklı isimlerin kullanılmasından kaynaklanır. Aşağıdaki örnekte Ankara olarak tanımlanan indis tabloda Ankra olarak yazıldığından hata mesajıyla karşılaşılmıştır. Örnek 4 Eğer talep kısıtının sağ tarafına b(j) yerine dem(j) yazılırsa aşağıdakine benzer bir hata mesajıyla karşılaşılır:

16 Örnek 5 Yaygın olarak yapılan hatalardan bir diğeri de matematiksel hatalardır. Örneğin aşağıdaki ifade matematiksel olarak yorumu yapılamayacak bir ifade içermektedir: Bu eşitlikte iki temel hata söz konusudur. Eşitlik her bir i indisi için tanımlanmasına karşın toplam ifadesinde j indisi yerine i indisi döngüye sokulmaktadır. Bu ifadenin GAMS modeline girilmesi ve GAMS in hata mesajı aşağıda verilmiştir: Eşitlik listesi Model hatasız bir şekilde yazılmışsa, GAMS girilen modeli anladığı haliyle oluşturup rapor penceresine yazacaktır. Bu yolla ifade edilmek istenen model ile GAMS in algıladığı model karşılaştırılarak olası yanlışlıkların düzeltilmesi amaçlanmaktadır. Eşitlik listesi eşitlikleri her bir indis bazında ayrı ayrı oluşturur. Örnek ulaştırma probleminde tanımlanan talep eşitliği aşağıdaki gibidir: GAMS tarafından çıktı raporuna eklenen ilişkili eşitlikler ise aşağıdaki gibi olacaktır: Modelde tanımlanan her bir eşitlik için varsayılan olarak 3 adet indis bazında eşitlik yazılır. Bu sayının r olarak değiştirilmesi için solve ifadesinden hemen önce aşağıdaki ifadenin eklenmesi gerekir:

17 Çıktı raporunda ayrıca sütun listesi (column listing) denilen bir bölüm de bulunur. Bu liste ise her bir değişken için 3 spesifik değişkenin katsayılarını içerir. Sayının c olarak değiştirilmesi için aşağıdaki ifadenin solve teriminden önce modele eklenmesi gerekir: Doğrusal olmayan modellerde eşitlik listesi doğrusal olmayan eşitliklerin birinci derece Taylor Serisi açılımıyla bulunan yakınlaşmalarını içerir. Yakınlaşmalar değişkenlerin başlangıç değerlerini içerir Model istatistikleri Çıktı raporunun çözüm yapılmadan önce eklenen son bölümü model boyutuna ilişkin bazı istatistiksel bilgileri içerir. Örnek ulaştırma problemi için bu bölüm aşağıda verilmiştir: BLOCK bölümü girilen modelle, SINGLE bölümü ise üretilen modelle ilişkili istatistikleri ifade etmektedir Durum raporları Model çözüldükten sonra en önemli bileşenleri çözücü durumu (solver status) ve model durumu (model status) olan bir çözüm özeti çıktı raporuna eklenir. Örnek ulaştırma probleminin çözüm özeti aşağıda verilmiştir: Çözücü durumu 1 yani normal optimal çözüm olduğu ifade edilmektedir. GAMS Kullanıcı Kılavuzunda diğer çözücü durumlarına ilişkin bilgi verilmiştir. Doğrusal programlamada model durumları 1 optimal, 3 sınırsız amaç fonksiyonu değeri, 4 çözümsüz modelleri ifade etmektedir. 2 ise doğrusal olmayan optimizasyonda yerel optimal durumuna karşılık gelmektedir. Kullanıcının problemin konveks/konkav özelliklerini araştırarak yerel optimalin global optimal olup olmadığını analiz etmesi gerekir. Tam sayılı programlamada ise 8 değeri tamsayılı uygun bir çözüm bulunmasına rağmen optimal çözümün izin verilen çözüm zamanında bulunamadığını ifade etmektedir Çözüm raporları Çözücü ve model durumları uygun ise çözüm yani optimizasyon raporlarıyla ilgilenilebilir demektir. Çözüm raporunda satır (yani eşitlikler) ve sütunlara (yani değişkenler) ait bilgiler gruplanmış bir

18 yapıda sunulur. Her bir satır ve sütün için alt sınır değeri (lower limit), çözüm sunucu (level), üst sınır değeri (upper limit) ve marjinal değeri bilgileri yer alır. Satır ve sütunlar GAMS e girilin modeldeki eşitliklere göre gruplandırılır. Örnek ulaştırma probleminin supply(i), demand(j) ve x(i,j) ifadelerine ilişkin çıktı raporu aşağıdaki gibidir: Çıktı raporundaki tek noktalar (.) sıfır değerini ifade etmektedir. EPS ifadesi ise sıfıra çok yakın fakat sıfır olmayan bir değer olduğunu göstermektedir. Bu örnekte Seattle kısıtının marjinal maliyetinde yer alan EPS ifadesi bu kısıtın dejenerasyon durumunda olduğunu gösterir. Alternatif çözümün bulunabilmesi için bu kısıta ait ilave değişkenin sıfırdan farklı değer alacak şekilde çözücünün yeniden başlatılması gerekmektedir. Değerler yerine INFES veya NOPT olması problemin uygun çözüm bölgesinin bulunmadığını, UNBND ifadesinin bulunması ise amaç fonksiyonunun sınırsız değer aldığını gösterir. Çözüm raporunun sonunda görüntülenen rapor özeti (report summary) bölümü rapor açısından çok önemli bilgiler içerir. Bu bölümde optimal olmayan (nonopt), uygun olmayan (infeasible) veya sınırsız (unbounded) satır ve sütunların sayısı görüntülenmektedir. Örnek ulaştırma problemine ait rapor özeti bölümü aşağıda verilmiştir:

19 Çözüm raporu yazıldıktan sonra kontrol çözücüden GAMS e geçtiğinden, GAMS veritabanında saklanan bilgiler istenen formatta görüntülenebilir. Örneğin aşağıdaki gibi bir komutun GAMS e bildirildiğini varsayalım: Bu komutun çıktısı aşağıdaki gibi olacaktır:

GAMS Kullanım Notları

GAMS Kullanım Notları GAMS Kullanım Notları Dilay Çelebi İstanbul Teknik Üniversitesi 1. Giriş Aşağıdaki DP problemini ele aldığımızı varsayalım. Z min = 4x 1 + 2x 2 + 33x 3 (1) x 1 4x 2 + x 3 12 (2) 9x 1 + 6x 2 = 15 (3) 5x

Detaylı

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

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak 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ı:

Detaylı

EMM3208 Optimizasyon Teknikleri

EMM3208 Optimizasyon Teknikleri 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMM3208 Optimizasyon Teknikleri (GAMS - sets, variables, parameters, tables, equations, model, solve) 4 Yrd. Doç. Dr. İbrahim

Detaylı

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

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ YÖNEYLEM ARAŞTIRMASI DERSİ LINDO Ü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

Detaylı

EMM3208 Optimizasyon Teknikleri

EMM3208 Optimizasyon Teknikleri 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMM3208 Optimizasyon Teknikleri (GAMS Kurulumu ve Temel Özellikleri, GAMS ile Modellemeye Giriş) 3 Yrd. Doç. Dr. İbrahim Küçükkoç

Detaylı

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

GAMS Kurulumu ve Temel Özellikleri GAMS ile Modellemeye Giriş, Örnek Problemler 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü GAMS Kurulumu ve Temel Özellikleri GAMS ile Modellemeye Giriş, Örnek Problemler Yrd. Doç. Dr. İbrahim Küçükkoç http://ikucukkoc.baun.edu.tr

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 11 11. SQL de JOIN (BİRLEŞTİRME) İŞLEMİ 11.1. JOIN (Birleştirme) İşlemi Veri tabanı kayıtları oluşturulurken bütün bilgiler bir tabloda değil de, birkaç tablo üzerinde tutulur. Bu dataların daha

Detaylı

FORMÜLLER VE FONKSİYONLAR

FORMÜLLER VE FONKSİYONLAR C FORMÜLLER VE FONKSİYONLAR Konuya Hazırlık 1. Excel de formül kullanmanın faydalarını açıklayınız. Formüller, bir sayfadaki verileri kullanarak işlem yapan denklemlerdir. Bir formülde, aynı sayfadaki

Detaylı

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

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

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 Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır.

Detaylı

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA BÖLÜM15 D- VERİ TABANI PROGRAMI 1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA 1.1. Veri Tabanı Kavramları Veritabanı (DataBase) : En genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

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

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir. MATRİS TRANSPOZU: Bir matrisin satırlarını sütun, sütunlarınıda satır yaparak elde edilen matrise transpoz matris denilir. Diğer bir değişle, eğer A matrisi aşağıdaki gibi tanımlandıysa bu matrisin transpoz

Detaylı

11TA Veritabanı Organizasyonu Dersi MS ACCESS Ders Notları

11TA Veritabanı Organizasyonu Dersi MS ACCESS Ders Notları 11TA Veritabanı Organizasyonu Dersi 20.11.2018 MS ACCESS Ders Notları Access bir veritabanı programıdır. Veritabanı, bir konuyla ilgili çok sayıda kaydın tutulduğu bir bilgi havuzu olarak nitelendirilebilir.

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri

Detaylı

Yöneylem Araştırması II

Yöneylem Araştırması II Yöneylem Araştırması II Öğr. Gör. Dr. Hakan ÇERÇİOĞLU cercioglu@gazi.edu.tr BÖLÜM I: Doğrusal Programlama Tekrarı Doğrusal Programlama Tanımı Doğrusal Programlama Varsayımları Grafik Çözüm Metodu Simpleks

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

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

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü ULAŞTIRMA MODELİNİN TANIMI Ulaştırma modeli, doğrusal programlama probleminin özel bir şeklidir.

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

Detaylı

KISITLI OPTİMİZASYON

KISITLI OPTİMİZASYON KISITLI OPTİMİZASYON SİMPLEKS YÖNTEMİ Simpleks Yöntemi Simpleks yöntemi iteratif bir prosedürü gerektirir. Bu iterasyonlar ile gerçekçi çözümlerin olduğu bölgenin (S) bir köşesinden başlayarak amaç fonksiyonunun

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği INPUTBOX KULLANIMI InputBox komutu, Basic programlama dilinde program algoritması içinde ekran aracışığı ile bir sorgu yönlendirerek, kullanıcının bilgi girmesini sağlamak amacıyla kullanılır. Bu komutun

Detaylı

EMM3208 Optimizasyon Teknikleri

EMM3208 Optimizasyon Teknikleri 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMM3208 Optimizasyon Teknikleri (GAMS Modelleme Örnekleri ve Çalışma Soruları) 6 Yrd. Doç. Dr. İbrahim Küçükkoç http://ikucukkoc.baun.edu.tr

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 8 Mar. 2016 PHP de Değişken Tipleri Dizi (Array) Aynı değişken içerisinde birden fazla değer tutmak

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

Detaylı

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Veritabanı Tasarımı NOT NULL ve UNIQUE Kısıtlamaları Tanımlama NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Konular Kısıtlama terimini veri bütünlüğü ile ilişkilendirerek tanımlama Sütun seviyesinde ve tablo

Detaylı

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

EMM3208 Optimizasyon Teknikleri

EMM3208 Optimizasyon Teknikleri 2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMM3208 Optimizasyon Teknikleri card(), ord(), Küme Elemanlarının Komşulukları, Koşullu İfadeler, $ Operatörü, sameas() ve diag(),

Detaylı

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

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü ULAŞTıRMA MODELININ TANıMı Ulaştırma modeli, doğrusal programlama probleminin özel bir şeklidir.

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

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

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

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

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü MATLAB a GİRİŞ Doç. Dr. Mehmet İTİK Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü İçerik: MATLAB nedir? MATLAB arayüzü ve Bileşenleri (Toolbox) Değişkenler, Matris ve Vektörler Aritmetik işlemler

Detaylı

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

İnternet Programcılığı Öğr. Gör. Serkan AKSU  PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler PHP de Dizi-Değişkenler, Nesneler Dizilerle ilgili örneklere geçmeden önce aşağıdaki tabloyu inceleyelim. Tabloda dizi kavramının mantığı açıklanmaktadır. Tablonun tamamını bir dizi olarak düşünün ve bu

Detaylı

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ ( BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi 2018-19 Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (e-mail: edemir@sirnak.edu.tr ) 04.10.2018 1 MATLAB da Workspace ve Workspace

Detaylı

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu VERİ TABANI I Yrd.Doç.Dr. İlker ÜNAL Teknik Bilimler Meslek Yüksekokulu Veri Tabanı Bileşenleri Tablolar : Veritabanının temel nesnesi tablolardır. Bilgilerin asıl tutulduğu yer tablodur. Diğer veritabanı

Detaylı

Veritabanı. SQL (Structured Query Language)

Veritabanı. SQL (Structured Query Language) Veritabanı SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için kullanılan dildir. SQL, bütün kullanıcıların ve uygulamaların veritabanına

Detaylı

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL)

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL) DOĞRUSAL PROGRAMLAMA (GENEL) Belirli bir amacın gerçekleşmesini etkileyen bazı kısıtlayıcı koşulların ve bu kısıtlayıcı koşulların doğrusal eşitlik ya da eşitsizlik biçiminde verilmesi durumunda amaca

Detaylı

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

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 3. DERS NOTU Konu: MATLAB de Temel İşlemler Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 MATLAB (Matrix Laboratory) sayısal hesaplama dilidir. MathWorks firması tarafından geliştirilmiş

Detaylı

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo Microsoft Excell Excel Nedir? Excel programı; veriler üzerinde hesap yapabilme, verileri tabloya dönüştürebilme, verileri karşılaştırıp sonuç üretebilme, grafik oluşturma, veri yönetimi yapabilir. http://mf.dpu.edu.tr/~eyup

Detaylı

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

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

Detaylı

BÖLÜM 3: AKIŞ DİYAGRAMLARI

BÖLÜM 3: AKIŞ DİYAGRAMLARI BÖLÜM 3: AKIŞ DİYAGRAMLARI Geliştirilecek olan yazılımın genel yapısının şematik gösterimine akış diyagramı (flowchart) adı verilir. Akış diyagramları, yazılımı oluşturacak program parçalarını ve bu parçaların

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

Veri Yapıları Laboratuvarı

Veri Yapıları Laboratuvarı 2013 2014 Veri Yapıları Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Hakan KUTUCU Lab. Sorumlusu: Arş. Gör. Caner ÖZCAN İÇİNDEKİLER Uygulama 1: Diziler ve İşaretçiler, Dinamik Bellek Ayırma... 4 1.1. Amaç

Detaylı

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? 1. Matlab ve Programlama Ortamı 2. Matlab Komut Penceresi 3. Matlab de değişken tanımlama 4.

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar

Detaylı

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

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C

Detaylı

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon Dinamik Kodlama Ürün Grubu Kategori Versiyon Önkoşulu [X] Fusion@6 [X] Yeni Fonksiyon @6 Uygulama @6 Serisi ürünlerde, kullanıcı arabirimlerinin her yerine eklenen dinamik kodlama özelliği ile, programın

Detaylı

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları Sayfa1 NESNE TABANLI PROGRAMLAMA 25.01.2011 Final Sınavı Cevapları CEVAPLAR 1. A ve C 3x3 boyutlu kare matrislerdir. Bu matrisler için, iken, işlemini gerçekleştirerek C matrisini oluşturan bir C++ programı

Detaylı

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

7- Turbo Pascal Programlamada Alt Programlar (Procedure) 7- Turbo Pascal Programlamada Alt Programlar (Procedure) Alt programların ana programda yapacağımız ek işlevleri üstlendiğinden daha önceki bölümde bahsetmiştik. Alt programlar genelde ana program bloğu

Detaylı

Şekil 2.23: Window menüsü ve elemanları

Şekil 2.23: Window menüsü ve elemanları 2.2.3.1. Window (Pencere) Menüsü Elemanları Şekil 23 de window menüsü elemanları gösterilmiştir. Şekil 2.23: Window menüsü ve elemanları Sayfalar arasında geçiş için kullanılır. Sayfa adlarının yanlarında

Detaylı

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları 1 Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Değişkenler ve Veri tipleri Visual Basic 6.0 Ders Notları Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,

Detaylı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

DESTEK DOKÜMANI KAYIT NUMARALAMA ŞABLONLARI

DESTEK DOKÜMANI KAYIT NUMARALAMA ŞABLONLARI KAYIT NUMARALAMA ŞABLONLARI Kayıt numaralama özelliği; firmaya ait işlemlerde kullanılan belgelerin, firmaya özel numaralar ile kaydedilip izlenmesine imkan tanır. Ticari sistemde fiş ve faturalara ait

Detaylı

1. Excel Dönüşümü : 2. Rapor Master Tanımları :

1. Excel Dönüşümü : 2. Rapor Master Tanımları : Programın Amacı : Bu Program As/400 Sistemindeki herhangi bir veya birden fazla file ı kullanarak istenilen şekilde sorgulama yaparak elde edilen bilgileri Excel Formatında Pc deki istenilen bir yere kaydetmek.

Detaylı

BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES)

BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES) BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES) Lagrange ve Neville yöntemlerinin bazı olumsuz yanları vardır: İşlem sayısı çok fazladır (bazı başka yöntemlere kıyasla) Data setinde bir nokta ilavesi veya çıkartılması

Detaylı

2.3. MATRİSLER Matris Tanımlama

2.3. MATRİSLER Matris Tanımlama 2.3. MATRİSLER 2.3.1. Matris Tanımlama Matrisler girilirken köşeli parantez kullanılarak ( [ ] ) ve aşağıdaki yollardan biri kullanılarak girilir: 1. Elemanları bir tam liste olarak girmek Buna göre matris

Detaylı

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz. C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.

Detaylı

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

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

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

yöneylem araştırması Nedensellik üzerine diyaloglar I yöneylem araştırması Nedensellik üzerine diyaloglar I i Yayın No : 3197 Eğitim Dizisi : 149 1. Baskı Ocak 2015 İSTANBUL ISBN 978-605 - 333-225 1 Copyright Bu kitabın bu basısı için Türkiye deki yayın hakları

Detaylı

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

KISITLAMALAR (CONSTRAINT)

KISITLAMALAR (CONSTRAINT) KISITLAMALAR (CONSTRAINT) Tablo alanlarına veri girişini kontrol etmeyi amaçlayan düzenlemelerdir. Bir alana girilen değerleri sınırlayan bu düzenlemeler kullanıcı hataları açısından önemlidir. Verilerin

Detaylı

C Programlama Dilinde Değişkenler

C Programlama Dilinde Değişkenler C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına

Detaylı

Matlab - Giriş (İleri Yapı Statiği II. Kısım)

Matlab - Giriş (İleri Yapı Statiği II. Kısım) - Giriş (İleri Yapı Statiği II. Kısım) Doç. Dr. Özgür Özçelik Dokuz Eylül Üniversitesi, Müh. Fak., İnşaat Müh. Böl. Matrisler Hakkında Alman amatör matematikçi Albrecht Dürer in (1471-1528) Rönesans Gravürü

Detaylı

VERİTABANI. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language) VERİTABANI SQL (Structured Query Language) SQL'de Gruplama Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY

Detaylı

MAK 210 SAYISAL ANALİZ

MAK 210 SAYISAL ANALİZ MAK 210 SAYISAL ANALİZ BÖLÜM 2- HATA VE HATA KAYNAKLARI Doç. Dr. Ali Rıza YILDIZ 1 GİRİŞ Bir denklemin veya problemin çözümünde kullanılan sayısal yöntem belli bir giriş verisini işleme tabi tutarak sayısal

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

Bakım Yönetimi Logo Nisan 2016

Bakım Yönetimi Logo Nisan 2016 Bakım Yönetimi Logo Nisan 2016 İçindekiler Bakım Yönetimi... 4 Bakım Yönetimini Etkileyen Öndeğer ve Parametreler... 4 Tanımlar... 5 Bakım Parametreleri... 5 Parametre Bilgileri... 6 Arıza Kodları... 8

Detaylı

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21 İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

Yükleme Emrinde bulunan belge numarası, kamyon plaka numarası ve şoför adının irsaliyeye taşınması,

Yükleme Emrinde bulunan belge numarası, kamyon plaka numarası ve şoför adının irsaliyeye taşınması, SEVK VE YÜKLEME EMRİ YENİLİKLERİ Amaç ve Fayda Sevk ve Yükleme Emrine bağlı işlemlerde yapılan yenilikler ile; Yükleme Emri oluştururken stok bakiye kontrolü, Yükleme Emri Oluşturulurken stoktan ayrılan

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 8 8. TEMEL SQL KOMUTLARI-II 8.1. SELECT (Seç) Komutu Veri tabanındaki tablo veya tablolardan istenilen özellikteki verileri seçip listeleme için kullanılan komuttur. Genel kullanımı aşağıdaki gibidir.

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan;

Excel' de formüller yazılırken iki farklı uygulama kullanılır. Bunlardan; 7. FORMÜLLER SEKMESİ Excel in en çok kullanılan yönü hesaplama yönüdür. Hesaplamalar Formüller aracılığıyla yapılır. Formüller sekmesi anlatılırken sık kullanılan formüller ve formül yazımı da anlatılacaktır.

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

1. GİRİŞ 1.1. GENEL BAKIŞ 1.2. KULLANICI ARAYÜZÜ

1. GİRİŞ 1.1. GENEL BAKIŞ 1.2. KULLANICI ARAYÜZÜ 1. GİRİŞ 1.1. GENEL BAKIŞ MATLAB (MATrix LABoratory) sayısal hesaplama ve dördüncü nesil programlama dilidir. MathWorks firması tarafından geliştiriliyor. MATLAB; - matris işlenmesine, - fonksiyonlar ve

Detaylı