GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ



Benzer belgeler
MEKANİZMA TEKNİĞİ (7. Hafta)

C#.Net & Linq (Language Integrated Query)

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

SINIF İÇİ UYGULAMA KODLARI

İNTERNET TABANLI PROGRAMLAMA- 3.ders

İl İlçe uygulaması. : Seçilen ile ait ilçeleri listeleyen program. //İl değişkeni için kodu aşağıdaki sayfadan kopyalayınız.

Bilgisayar Programcılığı. Görsel Programlama-I. Öğr. Gör. Cansu AYVAZ GÜVEN

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

KRİPTOANALİZ DERSİ FİNAL ÖDEVİ. PSO ile TRANSPOSITION CIPHER ÇÖZÜMÜ

İNTERNET TABANLI PROGRAMLAMA

VERİ TABANI İŞLEMLERİ (NESNE TABANLI PROGRAMLAMA TEKNİĞİ İLE)

A- VERİTABANI BAĞLANTISINI HAZIR NESNE KULLANARAK YAPMA

C# ÖRNEKLERİ.

Kitap Ekle linki tıklandığında, admin.aspx sayfamızın görüntüsü aşağıdaki şekilde olacaktır.

string yenisaatdeger; string yenidakikadeger; string yenisaniyedeger;

İNTERNET TABANLI PROGRAMLAMA

İNTERNET TABANLI PROGRAMLAMA- 11.ders FORM UYGULAMASI (DROPDOWN BİLGİ YÜKLEME, VALIDATION KONTROLLERI, PAREMETRELİ KAYIT YAPMA)

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

ÖDEVLERİ SİSTEME YÜKLEME USULLERİ

İNTERNET TABANLI PROGRAMLAMA- 9.ders BİLGİLERİN GRIDVIEW İÇERİSİNDE EKLENMESİ, DÜZENLENMESİ VE SİLİNMESİ

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

İNTERNET TABANLI PROGRAMLAMA- 8.ders VERİTABANI İLE İLGİLİ BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME

İNTERNET TABANLI PROGRAMLAMA- 10.ders GRIDVIEW İÇERİSİNDE YENİ KAYIT EKLEME, FOTOGRAF LİSTELEME, SIRALAMA YAPMA VE DROPDOWN EKLEME

VISUAL C#.NET. CONSOLE EKRANINA YAZI YAZDIRILMASI (using System Kullanılarak Yapılan Uygulama) CONSOLE DERLENMESİ= Debug / Start Without Debugging

BİLGİLERİ GÖRÜNTÜLEME, KAYDETME, GÜNCELLEME VE SİLME İŞLEMLERİNİN BİRLİKTE ANLATIMI

Oyuncu Sınıfı. /// <summary> /// Oyuncumuzun elindeki kart /// </summary> private ArrayList kart = new ArrayList(6);

İNTERNET TABANLI PROGRAMLAMA

//word document object Document document = null; public Form1() { InitializeComponent(); }

C# ve SQL Server ile Resim Yükleme ve Login İşlemi

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

VERİTABANINA BİLGİ KAYDEME, DÜZENLEME, LİSTELEME İŞLEMLERİ

Nesne Tabanlı Programlama-1

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

Resimlerin üstüne yazı yazacağız. resimyukle.aspx sayfası oluşturuyoruz.

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

PROSEDÜRLER ve FO F NKS K İY İ O Y NLA L R A

Sağ Tıkla. 5 Ocak 2012 / Perşembe. Yeni bir site açıyoruz. File New Web Site Browse yeni klasör ocak5persembe OK

CBÜ Teknoloji Fakültesi, Yazılım Mühendisliği. Nesneye Yönelik Programlama

Görsel Programlama (Visual Programming)

Masa üstünde vt34.mdb dosyası var, onu projemize eklemek için, App_Data ya sağ tıkla Add Existing Item vt34.mdb adlı dosyayı seç Add

NESNEYE DAYALI PROGRAMLAMA 11. HAFTA UYGULAMA DERSİ

İNTERNET TABANLI PROGRAMLAMA- 3.ders

C# Console Uygulamaları ifelse Yapıları 2

MASTER PAGE SAYFASI KULLANIMI

C Sharp /Veri tabanı işlemleri

using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices;

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

İLERİ ALGORİTMA ANALİZİ-2

Görsel Programlama (Visual Programming) 2.Hafta

Visual C# - Görsel Programlama II Örnek Sorular ve Cevaplar

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

Önce Access açıp,masaüstü ne, vt.mdb adlı veri tabanı dosyasını oluşturuyoruz. Kayıt türünü seçiyoruz

Görsel Programlama (Visual Programming) 2.Hafta

BAĞLANTILI SĐSTEMLER ĐLE MODEL BĐR YERLEŞKE A MODEL CAMPUS WITH CONNECTED SYSTEMS

C# ÖRNEK UYGULAMALAR

Durum Yönetimi. Olan sayfalar ekleyelim. BasitSayac.aspx

Yeni site açıp, masa üstündeki vt.mdb dosyasını sitemize ekliyoruz ve a bağlanıp 1 Mart tarihli sayfayı açıyoruz

WiFly GSX Modülü ile Devrelerinizi Kablosuz Ağlara Bağlayın

PDF. C# Console Örnekleri.

Lambda İfadeleri (Lambda Expressions)

Görsel Programlama 1

User Control : Standart bir kullanıcı arabirimi oluşturarak; bir uygulama içinde birden fazla. Siteye User Control Eklemek : 22 Mart 2012 / Perşembe

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

ADO.NET nesne modeli iki ana bölümden oluşmaktadır.

Ders 8: Metotlar. barisgokce.com

Visual Studio 2010 veya 2013, Sharp Develop 3.2 programlarını kurabilirsiniz.

Proje Uygulaması Video Marketi Oluşturmak

// seçilen dosya ile programımız arasına bir boru hattı açıyoruz StreamReader sr = new StreamReader(dosya_adi, Encoding.GetEncoding(1254));

C# da basit console uygulamaları. C# da basit console uygulamaları

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

BİLGİLERİ GRIDVIEW DE GÖRÜNTÜLEME VE DÜZENLEME

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

Karabük Üniversitesi, Mühendislik Fakültesi...

Veri Merkezli Uygulamalar Bağlantılı (Connected) Veri Ortamları

C++ Dersi: Nesne Tabanlı Programlama

DATA STRUCTURES. Part II. Değer ve Referans Veri Tipleri, Metotlar C# Programlama Dili Örnekleri

ALGORTMA ve PROGRAMLAMA - II (C# Sürümü) DERS NOTLARI

Nesneye Dayalı Programlama

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

VISUAL STUDIO.NET ve Veritabanı

VeriTabanı Uygulamaları

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

static void dizi_24() { Random rnd = new Random(); int [] tutulan=new int[10]; int dogru;

11- FONKSİYONLAR (FUNCTIONS)

SAYFALAR ARASI LİNK VERME VE BİLGİ TAŞIMA YÖNTEMLERİ

T.C. MARMARA ÜNİVERSİTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI PROGRAMLAMA DERSİ KAPSAMINDA YAPILAN

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA

İNTERNET TABANLI PROGRAMLAMA- 12.ders

AKÜ FEBİD 12 (2012) (1-8) AKU J. Sci. 12 (2012) (1-8)

ArrayList ve List yapıları. Bilgisayar Programlama 2 Erciyes Üniversitesi Bahriye Akay

Visual Studio 2010.Net C# Programa giriş ve Çalıştırma. Program Çalışması

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

12 Ocak 2012 / Perşembe

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Transkript:

GENETİK ALGORİTMA GEZGİN SATICI ÖDEVİ Aşağıda belli bir yere kadar programlanmış olan Gezgin satıcı problemine ait kodları inceleyerek programın geri kalan kısmını tamamlayınız. Seçme, Çaprazlama ve Mutasyon işlemlerinde hangi yöntemleri kullandınız anlatınız. Programı kendinize göre özgün hale getirip gerekli gördüğünüz tasarımsal ve programsal eklemeleri yapınız. Çalışmalarınız bir birine benzemesin. Programda hangi şehirler gezilecekse mouse ile konumları işaretlenir. İşaretlenen bu şehirler üzerine birer tane renkli nokta konulursa iyi olur. Daha program çözüme gittiğinde o şehirler üzerinden çizgi çizerek en kısa yolu göstersin. Gezilecek şehirleri liste halindede göstersin. Programın Kodları (İlk kromozomları oluşturuyor, uyum değerlerini (km leri) hesaplıyor, seçme işlemini yapmıyor) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OleDb; using System.Collections; namespace WindowsFormsApplication35 public partial class Form1 : Form public Form1() InitializeComponent(); int SehirSayisi = 0; Random Rastgele = new Random(); int ToplamMesafe = 0;

private void Form1_Load(object sender, EventArgs e) BilgileriOku(); private void picturebox1_mouseup(object sender, MouseEventArgs e) if (checkbox1.checked == true) int X, Y; string SehirAdi; int SehirNo; X = e.x; Y = e.y; SehirAdi = textbox3.text; BilgileriKaydet(SehirAdi, X, Y); //VT bilgileri kaydediyoruz. public void BilgileriKaydet(string SehirAdi, int X, int Y) string Sorgu = "INSERT INTO Konumlar(SehirAdi, X, Y) VALUES ('" + SehirAdi + "'," + X + "," + Y + ")"; Komut.ExecuteNonQuery(); BilgileriOku(); //VT den bilgileri okuyoruz. public void BilgileriOku() string Sorgu = "SELECT * FROM Konumlar";

//Bilgiler Sayfaya yükleniyor listbox1.items.clear(); listbox1.items.add(okuyucu["id"].tostring() + "," + Okuyucu["SehirAdi"].ToString() + "," + Okuyucu["X"].ToString() + "," + Okuyucu["Y"].ToString()); //MESAFE HESAPLAMA------------------------- private void button1_click(object sender, EventArgs e) //Veritabanından Diziye okutuyoruz. string [,] Sehirler = new string[100,4]; string Sorgu = "SELECT * FROM Konumlar"; //Bilgiler Diziye yükleniyor int i = 0; Sehirler[i, 0] = Okuyucu["ID"].ToString(); Sehirler[i, 1] = Okuyucu["SehirAdi"].ToString(); Sehirler[i, 2] = Okuyucu["X"].ToString(); Sehirler[i, 3] = Okuyucu["Y"].ToString(); i = i + 1; SehirSayisi = i; //Mesafe Hesaplama for (int j = 0; j < SehirSayisi; j++) int ID1 = Convert.ToInt16(Sehirler[j, 0]); string Sehir1 = Sehirler[j, 1]; int X1 = Convert.ToInt16(Sehirler[j, 2]);

int Y1 = Convert.ToInt16(Sehirler[j, 3]); for (int k = 0; k < SehirSayisi; k++) int ID2 = Convert.ToInt16(Sehirler[k, 0]); string Sehir2 = Sehirler[k, 1]; int X2 = Convert.ToInt16(Sehirler[k, 2]); int Y2 = Convert.ToInt16(Sehirler[k, 3]); int Mesafe = Convert.ToInt16(Math.Sqrt((Y2 - Y1) * (Y2 - Y1) + (X2 - X1) * (X2 - X1))); Mesafe.ToString()); if (Mesafe!= 0) listbox2.items.add(sehir1 + "," + Sehir2 + "=" + Sorgu = "INSERT INTO Mesafeler(IDsehir1, IDsehir2, Mesafe) VALUES (" + ID1 + "," + ID2 + "," + Mesafe*3 + ")"; Komut = new OleDbCommand(Sorgu, Baglanti); Komut.ExecuteNonQuery(); //VT mesafeleri oku private void button4_click(object sender, EventArgs e) string Sorgu = "SELECT * FROM Mesafeler"; //Bilgiler Sayfaya yükleniyor listbox2.items.clear(); listbox2.items.add(okuyucu["idsehir1"].tostring() + "," + Okuyucu["IDsehir2"].ToString() + "=" + Okuyucu["Mesafe"].ToString() );

//KROMOZOMLARI OLUŞTUR. private void button2_click(object sender, EventArgs e) //int BaslangicGenSayisi = 100; //string A,B; string YeniKromozom=null; string EskiKromozom = "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16"; //Kaç tane ilk kromozom oluşturacaksa o kadar dönecek for (int i = 0; i < 25; i++) YeniKromozom = YeniKromozomOlustur(EskiKromozom); listbox3.items.add(yenikromozom + "=" + ToplamMesafe); EskiKromozom = YeniKromozom; public string YeniKromozomOlustur(string EskiKromozom) string YeniDizi=null; int Mesafe = 0; string[] Dizi1 = EskiKromozom.Split(','); ArrayList Dizi2 = new ArrayList(); foreach (string Eleman in Dizi1) if (Eleman!= "") Dizi2.Add(Eleman); int IDsehir1=-1, IDsehir2=-1; //sıfırlamalar ToplamMesafe = 0; do try int RastgeleSayi = Rastgele.Next(0, Dizi2.Count); YeniDizi = YeniDizi + Dizi2[RastgeleSayi] + ","; IDsehir1 = Convert.ToInt32(Dizi2[RastgeleSayi]); if (IDsehir2!= -1) //Ilk değer okunmazken. Mesafe = VT_IkiSehirMesafesiniOku(IDsehir1, IDsehir2); //MessageBox.Show(Mesafe.ToString()); ToplamMesafe = ToplamMesafe + Mesafe; IDsehir2 = IDsehir1; Dizi2.RemoveAt(RastgeleSayi); catch while (Dizi2.Count > 0);

return YeniDizi; private void button3_click(object sender, EventArgs e) //VT İKİ ŞEHİR ARASINDAKİ MESAFEYİ OKUYOR. public int VT_IkiSehirMesafesiniOku(int IDsehir1, int IDsehir2) int Mesafe=0; string Sorgu = "SELECT Mesafe FROM Mesafeler WHERE IDsehir1=" + IDsehir1 + " AND IDsehir2=" + IDsehir2 + ""; //Bilgiler Sayfaya yükleniyor Mesafe=Convert.ToInt32(Okuyucu["Mesafe"].ToString()) ; return Mesafe; Veritabanı Tablolarının Görüntüleri