Bu depo, Optimizasyona Giriş dersi kapsamında öğrencilerin atanan optimizasyon algoritmalarını Python dilinde uygulamaları ve katkıda bulunmaları için oluşturulmuştur.
- Atanan algoritmanın orijinal makalesini incelemek ve anlamak.
- Algoritmanın Python kodunu yazmak ve bu depoya katkıda bulunmak.
- Algoritmanın temel özelliklerini ve çalışma mekanizmalarını açıklayan bir dokümantasyon hazırlamak.
- Git ve GitHub kullanarak gerçek bir yazılım geliştirme sürecini deneyimlemek.
-
Depoyu Fork Edin
- GitHub hesabınıza giriş yapın.
- Bu depoyu kendi hesabınıza fork edin.
-
Depoyu Klonlayın
- Terminal veya komut satırını açın.
- Fork’ladığınız depoyu bilgisayarınıza klonlayın:
git clone https://github.com/kullanici_adiniz/optimization_algorithms.git
-
Yeni Bir Branch Oluşturun
- Kendi çalışmanızı yapmak için yeni bir branch oluşturun:
git checkout -b kullanici_adiniz-algoritma
-
Kendi Klasörünüzü Oluşturun
optimizersklasörü altında kendi algoritma adınızın büyük harflerle kısaltmasını içeren bir klasör oluşturun:
mkdir optimizers/PSOgibi
-
Kodunuzu ve Dokümantasyonunuzu Ekleyin
- optimizers klasörünüzün içine aşağıdaki dosyaları ekleyin:
algorithm.py: Algoritmanızın Python kodu.
- documentation klasörünün içine aşağıdaki dosyaları ekleyin
algoritmaAdı_documentation.md: Algoritmanın dokümantasyonu.
- optimizers klasörünüzün içine aşağıdaki dosyaları ekleyin:
-
Kod Başlığı
algorithm.pydosyanızın başına aşağıdaki formatta bir bilgilendirme yazısı ekleyin (kendi bilgilerinizle güncelleyin):
The original version of: [Algoritma Adı] # Created by "[Adınız]" on [Tarih] -----------------------------% # Email: [Email Adresiniz] % # Github: https://github.com/kullanici_adiniz % # --------------------------------------------------------------% Links: 1. [Orijinal yayının linki] References: [1] [Orijinal yayının tam referansı] -
Dokümantasyon Hazırlama
documentation.mddosyanızda aşağıdaki bölümleri yazın:- Giriş
- Temel Özellikler
- Konum Güncelleme Denklemleri
- Keşif ve Sömürü Mekanizmaları
- Referanslar
-
Değişikliklerinizi Commit Edin
- Değişikliklerinizi kaydedin ve commit edin:
git add . git commit -m "Added [Algoritma Adı] by [Adınız]"
-
Fork’unuza Push Edin
- Değişikliklerinizi kendi fork’unuza gönderin:
git push origin kullanici_adiniz-algoritma
-
Pull Request Oluşturun
- GitHub üzerinde fork’unuza gidin.
- Ana depoya (hocanın deposuna) pull request gönderin.
- Pull request açıklamasına çalışmalarınız hakkında bilgi ekleyin.
-
Kod Kalitesi
- Temiz, okunabilir ve yorum satırlarıyla desteklenmiş kod yazın.
- Değişken ve fonksiyon isimlerini anlamlı seçin. Yayının orjinalinde kullanılan parametre isimlerinden (PSO için c1,c2 gibi)
-
Dosya ve Klasör Yapısı
- Kendi klasörünüzü
optimizersklasörü altında oluşturun. - Dosya isimlendirmelerinde algoritmanın kısa ismini kullanın ("PSO.py" gibi).
- Kendi klasörünüzü
-
Dokümantasyon
- Algoritmanın matematiksel denklemlerini ve çalışma prensiplerini detaylı bir şekilde açıklayın.
- Gerekli görselleri veya denklemleri eklemek için uygun formatlar kullanın (Markdown formatında kullanabilirsiniz).
- Kullandığınız kaynakları ve referansları eklemeyi unutmayın.
-
Uyumluluk
- Kodunuzun, kütüphanede mevcut test fonksiyonlarıyla uyumlu çalışabilmesini sağlayın.
- Gerekli kütüphane ve bağımlılıkları belirtin.
-
Fork Etme ve Branch Oluşturma
- Depoyu fork ederek kendi GitHub hesabınıza kopyalayın.
- Her öğrenci kendi repo/branch’inde çalışmalıdır.
-
Commit Mesajları
- Anlamlı ve açıklayıcı commit mesajları kullanın ("Added Particle Swarm Optimization by Bahaeddin Türkoğlu" gibi).
-
Pull Request
- Pull request açıklamasında yaptığınız çalışmaları ve eklediğiniz özellikleri belirtin.
- Gerekirse kodunuz hakkında notlar veya açıklamalar ekleyin.
- Çalışmalarınızı Final Sınavı saatine kadar gönderiniz.
- Öğretim Üyesi: [Bahaeddin Türkoğlu]
- E-posta: [turkoglub@ankara.edu.tr]
- Ofis Saatleri: [Perşembe 13:00 14:15 ]
- Baran Bingöl
- Ural Altan Bozkurt
- Eriş Söylemez
- Kenan Şentürk
- Mustafa Surhay Samsa
- Ege Kavak
- Bilge Göksel
- Ege Çıtak
- Zeynep Cahan
- Abdullah Yıldırım
- Emre Diş
- Edagül Akdeniz
- Beyza nur Saygıner