OPTİMİZASYON VE KARARLI TASARIM (modefrontier)



Benzer belgeler
OBJECT GENERATOR 2014


ACCESS DERS Tablolarda Düzenleme

ŞEFİM ADİSYON SİSTEMİ SATIŞ EKRANI-MASA SATIŞ

İçerik. TBT 1003 Temel Bilgi Teknolojileri

Android Ders Notları

GOOGLE DRİVE KULLANARAK FORM OLUŞTURMA

SAMURAİ FRAMEWORK İLE HACKİNG-1 (FOOTPRINTING)

Bö lü m 7: Hesap Tablöları

x 2i + A)( 1 yj 2 + B) u (v + B), y 1

MATRİKS VERİ TERMİNALİ GELİŞMİŞ ALARM

Nanogemi Mühendislik FEA Uzmanlık Danışmanlık Desteği

SGK Otomasyon Tanıtım ve Kullanım Kılavuzu

Free Download Manager Kullanarak Internetten Download

Kısıtsız Optimizasyon OPTİMİZASYON Kısıtsız Optimizasyon

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

TAKIM TEZGAHLARI LABORATUARI

Yaptığımız aracın yere çizilen bir çizgiyi tanıması ve bu çizgiyi takip etmesi.

KENDİ ÇİZİM PROGRAMIMIZI OLUŞTURALIM

SERIES. Kullanım Kılavuzu Şematik ve Pano Çizimi

ABAQUS Programına Giriş Kullanılacak Sürümler

Bloglar için en çok tercih edilen düzen 1.düzendir. Yani En son yazılarımın listesi. Sizlerde ödeviniz için bu düzeni seçebilirsiniz.

LUCA Bilgisayarlı Muhasebe Programı. Öğr. Gör. Coşkun Aliyazıcıoğlu KTÜ Beşikdüzü Meslek Yüksekokulu Mayıs- 2018

Giriş. Basit Muhasebe Nedir?

Scratch 2.0 GOL OYUNU

Genel Graf Üzerinde Mutlak 1-merkez

Türev Uygulamaları ÜNİTE. Amaçlar. İçindekiler. Yazar Prof.Dr. Vakıf CAFEROV

Windows Server 2012 Kurulum Hazırlıkları. Windows Server 2012 Kurulum Seçenekleri. Windows Server 2012 Kurulum Adımları. Full GUI Kurulum Seçeneği

Bo lu m 7: Hesap Tabloları

Kabuk Programlama (Bash)

BTU 100 Bilgisayar Okuryazarlığı EXCEL BTU 100 BİLGİSAYAR OKURYAZARLIĞI. Excelde Formüller ve Grafik Biçimlendirme

How to ASP Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU. 29 Eki. 1 Kas. 2013

Cebirsel Fonksiyonlar

Windows Live ID ve parolanızı giriniz.

HESAP MAKİNASI YAPIMI

DÖKÜM İMALAT PROSESLERİ İÇİN İLERİ DÜZEY SİMÜLASYON YAZILIMI: VULCAN

BİLGİSAYAR DESTEKLİ TASARIM (TEKNİK RESİM-II) Yrd.Doç.Dr. Muhammed Arslan OMAR

Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır?

T.C. KIRIKKALE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ YAPAY SİNİR AĞLARI. Doç.Dr. Necaattin BARIŞÇI FİNAL PROJESİ

Sadece 2 İstekle MySQL Blind SQL Injection. Canberk BOLAT canberk.bolat[-at-]gmail[-dot-]com

Havuz Modelleme. Bina Tasarım Sistemi. Prota Yazılım Ltd. Şti.

ENF110 Temel Bilgisayar Uygulamaları Vize Öncesi Tüm Notlar - Episode 2 Excel

Scream! e gelen veri akışlarından bazılarını diğer bir kurum yada bilgisayarla paylaşmak için kullanılabilir.

Virtualization. VMware vcenter Server Yapılandırılması

KENDİ ÇİZİM PROGRAMIMIZI OLUŞTURALIM

Luca Fatura Aktarım İşlemi

modefrontier ile Çoklu-Amaçlı, Çoklu-Disiplinli Eniyileme FIGES A.ġ. Teknokent GümüĢ Bloklar ODTU

Türkçe Ulusal Derlemi Sözcük Sıklıkları (ilk 1000)

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

KİRİŞLERDE PLASTİK MAFSALIN PLASTİKLEŞME BÖLGESİNİ VEREN BİLGİSAYAR YAZILIMI

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

OPTİMİZASYON TEKNİKLERİ-2. Hafta

Demsilver Muhasebe Programı

MATLAB A GİRİŞ. EE-346 Hafta-1 Dr. Ayşe DEMİRHAN

Ege Üniversitesi Elektrik Elektronik Mühendisliği Bölümü Kontrol Sistemleri II Dersi

Örnek bir kullanım ve bilgisayar ağlarını oluşturan bileşenlerin özeti

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir.

Forex Ek Kazanç Sistemi

Samsun Çocuk Hizmetleri İ l Koordinasyon Sekretarya Birimi

SHOP INGENICO DOKUMANI

Kullanıcı Giriş Ekranı

Bilgisayarlı Muhasebe 3. Hafta

Docsvault Doküman Yönetim Sistemi

YÖNEYLEM ARAŞTIRMASI - III

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

T.C. KAHRAMANMARAŞ VALİLİĞİİLAFET VE ACİL DURUM MÜDÜRLÜĞÜ SAĞLIK TAKİPOTOMASYONU

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

Windows 7 Format Atma ve Kurulumu (Resimli Anlatım)

cofaso ile farkı yaşayın Şubat

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

BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN

İNTERNET PROGRAMCILIĞI - II

Spring Giriş Eğitimi

FireBug eklentisini eklentiyi yazan sitesinden veya FireFox un eklentiler indirebilirsiniz.

PSPICE Đ NASIL KULLANIRIM

Hootsuite. Hızlı Başlangıç. Rehberi. Samsun Ekim 2015 ISBN:

BİLGİSAYARDA OFİS PROGRAMLARI BİÇİMLENDİRME

CAEeda TM OM6 KANADI MODELLEME. EDA Tasarım Analiz Mühendislik

Konum bazlı servisler ve uygulamaların hayatımıza kattıkları

FİGES Şirket Profili. Dr.Tarık Öğüt. SSM Dizayn ve İleri Mühendislik Hizmetleri Çalıştayı, Ankara

4 Front Page Sayfası Özellikleri

Safirblog WP Teması - Kurulum ve Kullanım Kılavuzu

vsphere Client(viClient) ile ESXI Kontrolü

VMware 4.0 vcenter Server Kurulumu

ÜNİTE. MATEMATİK-1 Yrd.Doç.Dr.Ömer TARAKÇI İÇİNDEKİLER HEDEFLER DOĞRULAR VE PARABOLLER

Gök Mekaniği: Eğrisel Hareket in Kinematiği

Şekil1. Tüm berileri projeme indirip ilgili tabakalara yerleştirdim.

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

Mahaya Bulmaca Sözlük 1.0

Ayarlar kısmında bağlantı ip numaranızı giriyor, dil seçeneklerinden de programı hangi dilde kullanmak istiyorsanız o dili seçip kaydediyorsunuz.

İçindekiler. Akıllı Tahta Uygulaması (ATU) Kullanma Kılavuzu. İçindekiler. Bölüm 1: Uygulama Hakkında Genel bilgi 2

BİLGİSAYAR DESTEKLİ TASARIM HAFTA 6 COSMOSWORKS İLE ANALİZ

Sevdiğim Birkaç Soru

RotamNet Ticari Programı Kısa Tanıtım Dökümanı

Fonksiyon Optimizasyonunda Genetik Algoritmalar

RPMNET WOLVOX REPORTER

AKINSOFT CMS (İçerik Yönetim Sistemi)

LİGHTKOD SETUP MAKER KULLANIMI 1- Giriş Programı yükledikten sonra Setup Maker programını açtığımızda aşağıdaki pencereyi görürüz. Burada 1.

WINDOWS 7 KURULUMU ve KURULUM ÖNCESİ İŞLEMLER

Transkript:

OPTİMİZASYON VE KARARLI TASARIM (modefrontier) Konuşmacı: Mehmet Ata Bodur Yer: Atılım Üniversitesi Cengiz Yenerim Konferans Salonu Tarih: 23.03.2009 Prof. Dr. Bilgin Kaftanoğlu: Optimizasyon ve Kararlı Tasarım konusunda modefrontier programını Mehmet Ata Bodur tanıtacak Mehmet Bey FİGES Firmasından. FİGES Firması biliyorsunuz Türkiye de çok önemli yazılım konularında gerek Ansys aranızda bilenler çoktur. O programları temsil ediyorlar. ADAMS Programını temsil ediyorlar. Değil mi? Ondan sonra modefrontier var. Yeni program olarak herhalde var değil mi? Nispeten yeni. Diğer böyle mühendislikle ilgili çok önemli programları kendileri temsil ediyorlar. Aynı zamanda FİGES Firması mühendislik hizmetleri de sunabiliyor, dolayısıyla bu alanda güçlü bir mühendislik firması. Mehmet Bey de benim Ortadoğu Teknik Üniversitesinden eski öğrencilerimden bana da benden bir ders aldığını hatırlattı biraz önce. Kendisi ODTÜ Teknokent te FİGES in Ankara Bürosu orada hizmet ve destek de veriyorlar. Teknokent Firması olarak da çalışıyorlar. Şimdi bize Mehmet Bey modefrontier konusunda sunumunu yapacak. Kendisini davet ediyorum sunumunu yapmaya buyurun. Mehmet Ata Bodur: Önce kısaca FİGES i tanıtayım. 90 yılında kurulmuş özel bir firma. Patronumuz Tarık Öğüt, Almanya da doktorasını yapmış, Almanya da Mercedes te çalışmış, titreşim üzerine doktora yapmış, sonra Türkiye ye gelmiş ve bu Sonlu Elemanlar Ansys Programını tanıtım satış gibi işleriyle ilgilenmiş. 90 yılından beri bilgisayar destekli Mühendislik araçları, yazılım ve hizmetlerinde çözüm sunan bir firma 80 ne yakın çalışanımız var. Üç şehirde çalışanlarımız ben Ankara ofisindeyim, Merkez ofisimiz Bursa da. TechNet Alliance AG kurucusu. Sertifikalar ve üyelikler: NAFEMS, TechNet Alliance, Taysad: Türkiye Otomotiv ve Taşıt Araçları Yan Sanayicileri Derneği, İSO sertifikası olan bir şirket. FİGES in Fransız ortağı SHERPA var. SHERPA nın patronu da Türk ve Türkiye de FİGES le SHERPA nın ortak olarak kurduğu SANTOR şirketi var. Şuan SANTOR kağıt üzerinde. Aktif değil şimdilik otomotiv üzerine, daha çok otomotiv elektroniği üzerine çalışan bir şirket. modefrontier Avrupa Birliği projesi olarak 93 yılında başlamış. Önce Akışkan Mekaniği ile ilgili bir takım optimizasyonlar için çalışılmış. İlk kez 98 yılında ticarileşmiş. 98 yılında Versiyon 1 piyasaya sürülmüş. Engin Soft bizim İtalyan ortağımız, modefrontier ın sağlayıcısı şuan. Engin Soft da 84 yılından beri yapısal analizler üzerine çalışan bir şirket daha sonra modefrontier i bünyesine katarak ESTECO oluşturuluyor. ModeFRONTIER ın şuan 4.11 versiyonu piyasada. Ben FİGES e girdiğimde 3 versiyonu piyasadaydı. Hemen ben girdikten sonra 4.0 versiyonu piyasaya sürüldü 2007 Aralık ayı gibi ya da 2008 başı gibi. Şuan 4.11 piyasada ve içerisinde yeni algoritmalar da eklenmiş durumda. Sürekli geliştirilen, sürekli evrimleşen ve kendisi de optimize olan bir program. Dünya çapında dağıtıcıları var. Dünyada yaygın kullanılan bir program. İtalyan menşeyli bir program. Türkiye de de dağıtıcısı FİGES. Gördüğünüz gibi 150 den fazla kullanıcısı olan bir program, bu artmıştır muhtemelen. Otomotiv sanayinden beyaz eşyaya kadar birçok alanda kullanılan bir program. 1

Optimizasyon nedir? Mühendislik problemlerinde optimizasyon nedir? Neyi optimize ederiz ya da niye böyle bir şeye ihtiyaç duyarız? Nereden böyle bir ihtiyaç doğmuştur? Her mühendislik problemi birçok farklı bakış açısını içerir. Aynı anda birçok amacı gerçekleştirmeyi gerektirir. Mesela bir motor tasarımını düşünün, içerisinde akışkan mekaniği de var, işte ısıl analizlerde var, yapısal analizlerde var. Birçok farklı bakış açısını içinde barındırıyor ve aynı anda birçok amacı gerçekleştirmek istiyoruz. Mesela performansını artırırken yakıt tüketimini minimize etmek istiyoruz, ya da motoru hafif tasarlamak istiyoruz. Akışkan özelliklerini iyi tasarlamak istiyoruz, ısı dağılımı mümkün olduğunca düzgün olsun, soğutma sistemi yeterli olsun gibi. Bütün bu amaçları aynı anda gerçekleştirme işine optimizasyon diyoruz. İyi tasarım bulma işine aslında optimizasyon diyoruz. İyi tasarımın tanımı aynı anda birçok amacı gerçekleştirmek ya da birtakım amaçlarımızı ya da amacımızı gerçekleştirmek. Amaçlarla dediğimiz gibi: Hafif tasarım, yüksek performans, düşük maliyet gibi amaçlar var ve bunlar bir takım kısıtlara mağruz. Kısıtlarımızda mesela: Kullandığımız malzemenin dayanımı bir kısıttır, ya da bu iş için harcayacağımız para bir kısıttır, cebimizdeki para bir kısıttır, ya da kullandığınız yakıtın bir takım özellikleri kısıt olabilir. Dolayısıyla tasarımlar arasından en iyi tasarım ya da tasarımları bulma işine Optimizasyon diyoruz ya da Türkçesiyle eniyileme diye çevirdim ben, eniyileme diyoruz. Yani tanım olarak mümkün olan en iyi çözümler ya da çözüm ya da çözümleri mümkün olan seçenekler arasından elimizdeki tasarımlar arasından seçebilmektir, bulmaktır optimizasyon. Ya da diğer bir deyişle tasarımdaki amaçlar bakımından en iyi takas, ya da ferâgattır. Takas ya da feragat: Bunu daha sonra açıklayacağım, Pareto Frontier ile tanımlanan bir şey. Matematiksel olarak optimizasyonu tanımlayacak olursak: Elimizde bir takım fonksiyonlar var ve bunlar birtakım serbest parametrelere bağlı. Fonksiyonlarınız: Mesela kütle bir fonksiyon olabilir, maliyet bir fonksiyon olabilir, ya da performansı bir fonksiyon haline getirebilirsiniz, ya da elinizde bir eğri vardır, o eğriye yakınlığı Square distance (Mesafenin karesi) olarak tanımlayabilirsiniz. Bu mesafelerin kareleri toplamını minimize etmekte bir amaç olabilir mesela. Dolayısıyla elimizde F 1, F 2,...F k gibi bir takım fonksiyonlar var ve bu fonksiyonlar X 1, X 2,...X n gibi bir takım değişkenlere bağlı ve bu fonksiyonlar G i, G j...g k gibi küçük eşit, büyük eşit, ya da eşitlik şeklinde bir takım kısıtlara maruz bırakılmıştır. Kısıtlarımız ne olabilir: Mesela malzeme dayanımımız, mesela Von Misses Stress ler belli bir değerin altında olsun, malzemenin dayandığı maksimum bir gerilme var, bu gerilmenin altında olsun, ya da bu iş için harcayacağımız para şu kadar, bundan fazla olmasın, ya da ağırlık bunun altında olsun gibi... Bir takım kısıtlarınız olabilir. Ağırlığı amaç olarak da tanımlayabilirsiniz, bir kısıt olarak da tanımlayabilirsiniz. Kısıtla amaç arasındaki fark; amaç minimize ya da maksimize etmek istediğimiz değerler, kısıtsa belli bir değerin altında olsun dediğimiz, ya da belli bir değerin üstünde olsun, ya da şu aralıkta olsun dediğimiz değerlerdir. Burada birden fazla fonksiyonumuz varsa eğer, o zaman çoklu amaçlı optimizasyondan bahsediyoruz. Yani aynı anda birçok amacı gerçekleştirmek istiyoruz, o zaman çoklu amaçlı optimizasyondan bahsediyoruz. İngilizcesi Multi-Objective Optimization. Klasik optimizasyon biraz bahsedeyim. Hemen her mühendis Newton s Method u duymuştur. Newton s Method, 2

Gradient Based Optimization diye tanımlanan optimizasyon türüdür. Bu tür optimizasyonda Newton s Methodu ne için kullanırız? Bir fonksiyonunun sıfırı kestiği yerleri bulmak için kullanırız. Sıfır noktasını bulmak için kullanırız. Yani kökleri bulmak için kullanırız. Şimdi elimizde bir minimizasyon problemi olsun: Bir minimizasyon probleminde minimumu yakalamanın şartı nedir? Fonksiyonun minimum olduğu yerde Gradient sıfır olur. Gradient in sıfır olduğu yerde fonksiyonumuz minimum ya da maksimumdur. Gradient in sıfır olması gerekli koşuttur fakat yeterli koşut değildir. Bir minimizasyon problemi varsa elimizde yeterli şart Hessian matrix inin pozitive definite olmasıdır. Yani Hessian Matrix pozitive deffinite ise, yani Gradient in Gradient i pozitive deffinite ise lokal minimumdayız. Fakat bu Gradient Based Optimization daha çok convecs problemler için geçerlidir. Yani fonksiyonunuz böyle dalgalı inişli çıkışlı bir şeyse global optimumu yakalamamız zordur. Yani tek bir noktadan başlarsak herhangi bir local minima da program takılabilir ve bu tür optimizasyon problemleri, bu tür optimizasyon teknikleri multiobjektive problemlere de, fonksiyonların belli katsayılarla toplanması şeklinde dönüştürülüp, yani tek amaçlı optimizasyona dönüştürülerek çözülebilmekte. Burada mesela, bir maliyet fonksiyonumuz olsun, bir de ağırlık fonksiyonumuz olsun. Bunları alfa beta katsayılarıyla toplayıp, bu toplam fonksiyonu minimize ya da maksimize etmeye kalktığımız vakit, elmalarla portakalları toplamış oluyoruz. Yani bir tarafta maliyet var birimi TL, YTL ya da dolar, bir tarafta da kütle var birimi kilogram. Dolayısıyla çok mantıklı bir yaklaşım değil, ama fonksiyonlarımızın convecs olduğunu biliyorsak, iki convecs fonksiyonun toplamı yine bir convecs fonksiyon verecektir. Dolayısıyla o zaman kullanabiliriz. Gradient Based Optimization teknikleri son derece hızlıdır. Ama ne zaman hızlıdır? Elimizde türev bilgisi varsa hızlıdır. Yani Hessian matrix i varsa elimizde, son derece hızlı quadratic bir hızla çözebiliriz problemimizi. Ama eğer problemimiz bir karanlık kutu problemi ise, mesela ANSYS te çözümü yapacağız. ANSYS ten çıktı alacağız. Elimizde türev bilgisi yok, yani stress in türevini hesaplamamız için elimizdeki parametrelerin yakınından, başka noktalarda da hesap yapıp, önce türev hesaplamamız gerekiyor. Dolayısıyla bu tür teknikler her zaman geçerli teknikler değil. Bunun yerine farklı algoritmalara da ihtiyaç duyulmuş. ModeFRONTIER ın arkasındaki kavram: Bir takım girdi değişkenlerimiz var bizim problemimizi tanımlayan, bir takım parametrelerimiz var. Bunlar çeşitli geometrik boyutlar olabilir mesela. CATIA da bir çizim yaptınız, bir yerde bir deliğiniz var, mesela dairesel bir delik. Bu deliğin çapı bu parametre olabilir, ya da deliğin merkez koordinatları bir parametre olabilir, ya da ne bileyim yapının genişlik, yükseklik gibi değerleri geometrik parametreleri olabilir, ya da malzeme parametremiz olabilir, ya da bir yerden kesit seçeceksiniz I kiriş kullanacaksınız, standart kesit kullanmak istiyorsunuz, elinizde bir kesit tablosu olabilir, bu tablodan bir seçim yapacaksınız. Bu seçimle ilgili indeksiniz elinizde bir parametre olabilir. Bu parametreler bizim problemimizi tanımlayan parametreler. Bunlar çeşitli programlara giriliyor ve bu progranlardan bir takım çıktılar elde ediyor. Bu çalışan programlar bizim karanlık kutumuzu oluşturuyor. Yani problemimizi çözen çözücüleri oluşturuyor. İçerisinde ne 3

olup bittiğini tam olarak bilmediğimiz, gradient bilgisinden ya da hessian dan filan haberimizin olmadığı, bize sadece bir takım girdilere karşılık çıktılar veren bir takım çözücüler de bizim karanlık kutumuzu oluşturuyor ve bu karanlık kutudan bir takım çıktılar elde ediyoruz. Bu değişkenlerden bahsetmiştim. Bunlar sürekli değişkenler olabilir, ayrışık değişkenler olabilir. Sürekli değişkenler mesel, nokta koordinatları olabilir, yani gerçel sayı olarak tanımlayabildiğimiz değişkenler, ya da ayrışık değişkenler. Mesela bir katalog indeksi olabilir, ya da ne bileyim bir geometriyi, mesela bir milimetre aralıklı değiştirmek isteyebilirsiniz. Çünkü 3,00999 milimetre gibi bir değer mühendislik açısından ya da üretim açısından çok gerçekçi olmayabilir. Mesela her bir milimetreyle değiştirmek isteyebilirsiniz ararıklarınızı. Bunlarda ayrışık değişkenleri oluşturuyor. Ya da, malzeme parametrelerimizde ayrışık değişkenler olabilir: Alüminyum, çelik, plastik gibi. Dolayısıyla ayrışık değişkenler üzerinde türev almamız zor yani türev alamayız. Ya da plastikle alüminyum arasında nasıl bir türev alacaksınız, nasıl gradient hesaplayacaksınız? Dolayısıyla bu tür problemlerde farklı teknikler kullanmak gerekiyor. modefrontier da bu tür değişkenleri istediğiniz gibi tanımlayabilirsiniz ve pratikte dediğimiz gibi bu değişkenler çok karmaşık şekilde karşımıza gelebilir ve modefrontier bunları çok iyi ele alabilir. Karanlık kutudan bahsettim, çeşitli çözücüler dedim. Bu çözücüler mesela akışkan mekaniğin çözücüsü olabilir, CFD çözücüsü, işte CFX programı vardır ANSYS in altında, FULENT olabilir ya da çeşitli CAD programları olabilir. Mesela CATIA da çizim yapabilirsiniz, UGS kullanabilirsiniz, Proengineer kullanabilirsiniz çizim için. Ya da sizin kendi evde yazdığınız bir programla da modefrontier ı bağlayabilirsiniz. Yani bir text input alıp text output veren bir programınız olur. Bu programda girdi text in içerisinde bir yerlere bir şeyler yazıp, çıktılardan bir şeyleri okutabilirsiniz modefrontier la. MATLAB le bağlayabilirsiniz, EXCEL le bağlayabilirsiniz, ya da sonlu elemanlar programı NASTRAN, ANSYS, MADYMO, ABAQUS gibi. Amaçlardan bahsetmiştim, minimize ya da maksimize etmek istediğimiz değerler. Neyi maksimize etmek isteriz? Mesela verimliliği maksimize etmek isteriz. Performansı maksimize etmek isteriz, ya da maliyeti minimize etmek isteriz, ağırlığı minimize etmek isteriz. Tabii bunlarla ilgili elimizde fonksiyon olması lazım ya da fonksiyon o kadar da gerekli değil. Yani bunları veren bir program olabilir. Yani bir programın bu sonuçları vermesi lazım. Bir maksimizasyon problemi her zaman minimizasyon problemini aşağıdaki gibi dönüştürülebilir. Pareto Baskınlığı: En iyi çözüm ya da çözümlerden bahsetmiştim. En iyi takas ya da ferâgat demiştim. En iyi takas ya da ferâgat Pareto Baskınlığı ile tanımlanır. Yani Pareto Frontier ile tanımlanır. Eğer elimizde iki amaç varsa iki amaçlı bir problemde en iyiler kümesi bir eğridir aslında. Ya da üç amaçlı bir amaç uzayımız varsa amaç uzayında en iyiler kümesi bir yüzeydir. Yani n amacımız varsa Pareto (en iyiler) kümesi n-1 boyutludur. Bunu biraz sonra açıklayacağım. Şimdi diyelim ki bu noktalar bizim amaç uzayımızda bir takım çözümler olsun. AB ve SV değerleri bizim minimize etmek istediğimiz değerler olsun. Yani bir programdan çıktılar aldık AB ve SV. Hem AB yi hem SV yi aynı anda minimize etmek istiyoruz. Yani multiobjektive bir problem var, iki amaç var. 4

Burada en iyi çözüm ya da çözümler hangileridir? Tek bir en iyi çözümü vardır ya da çok sayıda iyi çözümü vardır. Bunları nasıl buluruz? Şimdi bu noktalarımızın her birisi amaç uzayında birer nokta yani birer tasarım olarak düşünebilirsiniz. Burada mesela iki numaralı noktayla kırk numaralı noktayı kıyaslamaya çalışalım: AB yi de minimize etmek istiyoruz, SV yi de minimize etmek istiyoruz. AB bakımından iki numaralı nokta kötü bir noktadır. Çünkü AB bakımından yüksek bir değere sahip iki numaralı nokta, fakat SV bakımından incelediğimiz vakit iki numaralı nokta en iyi noktadır. Şimdi mesela kırk numaralı noktayla iki numaralı noktayı kıyaslayacak olursak AB bakımından benzer performans göstermekle beraber, SV bakımından kırk numaralı kötü bir noktadır. Dolayısıyla iki numaralı nokta kırk numaralı noktayı baskılar. Yani iki numaralı nokta kırk noktadan daha iyidir. Mesela şu mavi noktayla, en sağ alt köşedeki mavi noktayla, iki numaralı noktayı kıyaslayalım. Şimdi AB bakımından iki numaralı nokta kötü bir noktayken SV bakımından iyi bir nokta, fakat bu mavi noktaya baktığınızda SV bakımından mavi nokta kötüyken, AB bakımından mavi nokta daha iyi bir nokta. Dolayısıyla bir amaç bakımından diğerine göre daha iyiyken, diğer amaç bakımından daha kötü. Bu çizgiye, kırmızı çizgiye, yakın olan bütün noktalar için benzer kıyaslamayı yapabilirsiniz. Yani kırmızı çizgiye yakın olan bütün noktalar bir amaç bakımından diğerine göre daha iyiyken, bir başka amaç bakımından diğerine göre daha kötü noktadır. Dolayısıyla bu kırmızı eğriye yakın olan bütün noktalar aslında iyi noktalardır yani iyi tasarımlardır. Yani bu kırmızı çizgiye uzak olan diğer şu noktalarsa kötü tasarımlardır. Ama her birisi de tasarımdır, çözümdür, fakat iyi tasarım değildir. Bunları elemek ve atmak istiyoruz ve geriye sadece kırmızı çizgiye yakın olan noktaların kalmasını istiyoruz, ve çözümlerimizin hep bu Pareto ya yakın noktalarda oluşmasını istiyoruz. Soru: Pardon kırmızı çizgiyi nasıl çiziyoruz? Mehmet Ata Bodur: Kırmızı çizgiyi ben çizdim yani o artık fiziksel sınırı belirliyor. Yani kırmızı çizgi bizim fiziksel sınırımızı belirliyor. Yani mesela şurada nokta üretemiyor. Buralarda fiziksel olarak tasarım bulamıyoruz. Bu kırmızı çizginin üst tarafındaki noktalarda çözüm buluyoruz. Yani bizim kısıtlarımızı sağlıyor ve bize bir çözüm veriyor. Fakat bunların arasından seçim yapmamız lazım. İyi noktayı bulmamız lazım iyi nokta tanımını yapmamız lazım. Dolayısıyla iyi noktalar, fiziksel sınıra yakın olan noktalar, aslında fiziksel olarak mümkün olan tasarımlarla, fiziksel olarak mümkün olmayan tasarımları ayıran çizgiye yakın olan noktalar, aslında iyi noktalar. Yani kırmızı çizgi bizim fiziksel tasarım sınırımızı belirliyor, Paretoyu belirliyor. Dolayısıyla biz bu kırmızı çizgiye yakın olan çözümleri bulmaya çalışıyoruz. ModeFRONTIER bu seçimleri kendi içerisinde kolaylıkla yapabiliyor ve 5

kullanacağımız algoritmaların özelliği bu kırmızı çizgiye mümkün olduğunca yakın yerlerde çözüm üretmesidir. Yani gereksiz, fiziksel olarak mümkün ama iyi olmayan yerlerde çözüm üretmesini istemiyoruz. Mümkün olduğunca bunlardan kaçınıp daha paretoya yakın çözümler elde etmeye çalışıyoruz. Bunu genişletebilirsiniz. Yani üç amacımız varsa fiziksel sınırımızı belirleyen aslında bir yüzey ortaya çıkar, ya da yüzey benzeri bir şey ortaya çıkar. Yani bir Curve Fitting yok burada noktalar artıyor fiziksel sınırı belirleyen böyle bir çizgi de ortaya çıkıyor. Prof. Dr. Bilgin Kaftanoğlu: Mehmet Bey, esasen çizgi veya o noktaların ağırlıklarını taşıyan bir bağıntı bulabilmek için çok amaçlı fonksiyonlardan bahsediyoruz iki tane olur, üç tane, beş tane olur. Bunların belli bir ağırlıklarını çarparsak, birinci amaç fonksiyonumuz %15 ağırlıklıdır, ötekisi %30 ağırlıklıdır toplam %100 olmak şartıyla tabii. O zaman öyle bir çizgiyi ya da bağıntıyı elde edebiliriz. O zaman hangi amaç fonksiyonunun daha çok ağırlıkta olmasını istiyorsak o çözüm bizim için en uygun çözümdür. Mehmet Ata Bodur: En başta bahsettim. Bu biraz elmalarla portakalları toplamaya benziyordu. Bazen bir amacın ağırlığını arttırabilirsiniz, onun katsayısını arttırırsınız, ama onun değerini düşürmüş olursunuz, ya da azaltmak istiyorsanız yükseltmiş olabilirsiniz. Bunun için sensitivity analizleri gibi şeyler var. Ama dediğim gibi bu Gradient Based Optimization daha çok convecs problemler için geçerlidir. Yani böyle dalgalı bir şeyiniz varsa o zaman herhangi bir lokal minimada kalabilir. Herhangi lokal minimaya gidebilir. Global Optimim u yakalayabilirsiniz mesela, ya da Global Optim u yakalamak için birçok farklı başlangıç noktasıyla deneme yapmanız gerekebilir. Yani bir grid oluşturup o grid in her bir noktası için bir optimizasyon yapmanız gerekebilir. O yaptığınız optimizasyonların sonucunun mesela minimumunu bulmaya çalışabilirsiniz. Bunlar teknikler. Bunlar modefrontier ın içerisinde zaten var ama diğer teknikler de var, yani genetik algoritmalar da var bu iş için. Yani o bahsettiğiniz gradyant best optimization var ama ya siz single objective dönüştüreceksiniz. Yani sonuçta o alfa beta katsayılarıyla yaptığınız zaman tek amaca dönüştürmüş oluyorsunuz probleminizi ve o şekilde çözmüş oluyorsunuz. Dolayısıyla en iyi takas ya da ferâgat İngilizcesi best trade off ben takas ya da ferâgat olarak çevirdim. Pareto üzerinde olmak demektir, yani o eğriye yakın olmak demektir. Pareto üzerinde iseniz yani o eğriye yakın olan her nokta bir amaç bakımından diğerine göre daha iyiyken başka bir amaç bakımından daha kötüdür. Yani pareto üzerinde hareket ediyorsanız bir yerde verirken bir yerde alıyorsunuz. Bir yerde verirken bir yerde alıyorsanız iyi bir yere gidiyorsunuz ya da o da iyidir. Ama bir yerde verirken daha iyiye gidemiyorsanız, o zaman iyi bir noktaya doğru gitmiyor demektir. ModeFRONTIER herhangi bilgisayar destekli mühendislik aracıyla, ticari ya da evde yazılmış kendi yazdığınız bir programda dahil olmak üzere bunlarla kolayca birleşme yapabilen sizin bu programlarınızı otomatik olarak çalıştıran, gerçek anlamda çoklu amaçlı optimizasyon yapan en iyileme ve tasarım ortamıdır. ModeFRONTIER en önemli özelliği çoklu amaçlı en iyileme yapabilmesi, çoklu amaçlı gerçek anlamda desteklemesi; bunun için birçok farklı algoritmayı içerisinde barındırması, evde yazılmış ya da ticari herhangi bir programla bağlantı kurabilmesi. Çeşitli programların içerisinde birtakım optimizasyon modülleri olmakla beraber bunlar sadece o programa özgü çalışabiliyor. ModeFRONTIER ın özelliği farklı programlarla bağlantı kurabilmesi, bu algoritmaları birçok farklı programa uygulayabilmesi, üretim 6

mühendisleri ya da tasarımcılara çeşitli mühendislik araçlarının, çeşitli CAD çizim araçları gibi, sonlu elemanlar gibi, akışkan mekaniği analizi yapan programlar gibi; bu programları birleştiren, bunların bir arada çalışmasını sağlayan bir pencere sağlar, bir ortam sağlar. İçerisinde gradient tabanından biraz önce bahsettiğim Newton s Methot un uzantısı olan BFGS gibi gradient tabanlıdan genetik algoritmalara kadar son teknoloji algoritmaları kullanır, içerisinde birçok algoritma vardır. İşlemleriniz ya da tasarımlarınız sizin belirlediğiniz amaçlar doğrultusunda, sizin belirlediğiniz değişkenlerle en iyiye götürülmeye çalışılır. ModeFRONTIER aslında sizin mühendislik araçlarınızı paketleyen sarmalayan bir araçtır ve en iyileme işlemini girdi değişkenlerini değiştirip, çıktıları gözlemleyip, çıkan çıktılara göre yeni girdi değişkenleri oluşturup ve bunu sürekli bir döngü halinde yaparak gerçekleştirir. ModeFRONTIER kendi başına bir çözücü program değildir. Yani kendisi bir şey çözsün diye tasarlanmamıştır. İçerisinde bir takım algoritmaları barındırır. Sizin programlarınızı çalıştırır, yani hali hazırda var olan programlarınızı çalıştırır. İçerisinde diğer programları barındırmaz. İçerisinde sadece bir calculator modülü vardır. Birçok optimizasyonda onu yapabilirsiniz ama asıl amacı o değildir, yani. sağladığı faydalar nedir? Elinizdeki herhangi bir mühendislik aracıyla bağlanabilmesi ve elinizdeki bu araçtan sonuna kadar faydalanma. Mesela elinizde bir ANSYS programı var. Mühendis kullanmadığı vakit o program yatıyor. Hafta sonu o program çalışmıyor ya da gece çalışmıyor. Siz bunu modefrontier a bağlayarak gün içerisinde optimizasyonun yapısını belirlersiniz, nasıl bir optimizasyon yapacağınızı belirlersiniz, birkaç deneme yaparsınız, sistemi kurup akşam çıkarken Run a basıp ertesi sabah geldiğinizde yüzlerce analizi karşınızda görebilirsiniz. ModeFRONTIER in sağladığı en önemli özelliklerden bir tanesi bu. Ürünlerinizi daha kısa zamanda maliyetleri düşürerek elinizdeki araçları ve bilgiyi sonuna kadar kullanarak geliştirmenizi sağlar. Aynı modefrontier herhangi simülasyon aracına uygulanabilir. Kullanımı ve öğrenmesi kolay, çok kolay bir arayüzü var. Java da yazılmıştır. Ürünleri daha kısa zamanda tasarlamak, mesela bir kişi akışkan analizi yapıyor, bir kişi yapısal analizi yapıyor. Bunun çeşitli parametreleri var. Bir çizimle başladınız bir konseptle modefrontier ın olmadığı durumu düşünün, çıkan sonuçları bir akışkancıya gönderiyorsunuz, bir çiziminizi bir yapısalcıya gönderiyorsunuz. Akışkancı diyor ki şurasını değiştirin, yapısalcı diyor ki burasını değiştirin. Orayı değiştiriyorsunuz burayı değiştiriyorsunuz tekrar deniyorsunuz. Deneye yanıla bir çözüme ulaşıyorsunuz. ModeFRONTIER bu deneme yanılma işini belli bir mantığa göre gerçekleştirerek kısa zamanda daha az deneme yanılmayla ve bu işi otomatik olarak yapmanızı sağlar. ModeFRONTIER özel kılan işlem bütünleştirme Process Integration dediğimiz şey, yani çeşitli mühendislik araçlarıyla bağlantı kurabilme, tasarımı optimize edebilme ve gerçek anlamda çoklu-disiplinli optimizasyon yapabilme. Sağladığı şey elimizde bir problem var, çeşitli parametrelere bağlı, bu problemi daha iyi anlamanızı sağlar. Yani etkin parametreyi mesela bulmanızı sağlayabilir. Toplam proje zamanı ve maliyetleri azaltır. Daha tasarımın aşamasında en iyi ürünü elde etmenizi sağlar. Performansı arttırılmış ürünler sunarak müşteri memnuniyetini sağlar. Farklı disiplinler açısından probleminize bakmanızı sağlar ve ürün değiştirme sırasında farklı disiplinleri birleştirmenizi sağlar. İçerisinde 18 den fazla yazıyor ama şuan 20 algoritma var. Gerçek çoklu amaçlı en iyileme çözümleme yapıyor. Platformdan bağımsız, dediğim gibi Java da yazılmış Linux altında da çalışabiliyor, Windows altında da çalışabiliyor. İyi tasarlanmış bir ara yüzü var ve bunlardan bahsettim. Bağlanabildiği araçlar gördüğünüz gibi Direct dediği bağlantı araçları modefrontier ın doğrudan dosya yapısını tarayıp, parametrelerini çekebildiği programlar direct olmayanlar ise çeşitli text-input text- 7

output ara yüzüyle programı DOS Command Prompt tan çalıştırmak şeklinde bağlandığı araçlar. Ve kendi yazdığınız araçlarla da bağlıyabiliyorsunuz. İçerisindeki araçlar Deney Tasarımları (DOE dediğimiz Design of Experiments ), İstatistiksel Araçlar, Tepki Yüzeyi Modellemesi, Kararlı Tasarım, Multi-objective Robust Design Optimization dediğimiz ya da Design for Six Sigma. Bunların her birisinden ayrı ayrı bahsedeceğim ve içerisinde algoritmayı seçmenizi sağlayan bir Optimization Vizard bile var. Ben pek tercih etmiyorum ama böyle bir şeyde hani hiç bilmeyenler hangi algoritmayı seçeceğiz, nereden bileceğiz diyenler için de böyle bir aracı var. Mimarisine gelince üç ana pencere var. Bir ön işleme arayüzü var. Burada işlemlerinizi tanımlıyorsunuz, girdilerinizi, çıktılarınızı, hangi programların hangi sırayla çalışacağını, bu programlardan gelecek olan çıktıları, amaçlarınızı, kısıtlarınızı, mantık akışını tanımladığınız bir arayüz. Daha sonra Run a bastığınız zaman programların çalışmasını gösteriyor. Bu programlardan çıkan hata mesajlarını, logları tuttuğu bir pencere açılıyor. Bu pencereden tasarım klasörlerine brows edebiliyorsunuz. HTML le yazılmış bir takım HTML dosyaları geliyor karşınıza ya da XML galiba. Son işleme arayüzünde de veri analizleri, karar araçları gibi bir takım araçlar var; istatistiksel analizler, sonuçlarınızı değerlendirdiğiniz çeşitli Chart lar oluşturduğunuz bir ara yüzü var. Ön işleme arayüzü böyle bir şey gördüğünüz gibi. Şurada üç tane sekme görüyorsunuz ön işlemi log ve sonuçları gördüğünüz son işlemi arayüzünü açtığınız üç tane sekme var. Ön işleme arayüzünde böyle menülerimiz var, böyle ikonlarımız var. Burada çeşitli mantık araçları, değişkenleri tanımladığınız girdiler çıktılar, programlar arasında veri akışını sağladığımız bir takım butonlar, araçlar var. Amaçları tanımladığınız bir takım araçlar var, kısıtları tanımladığınız birtakım ikonlar var, çeşitli dosya araçları var. Mesela CATIA da bir çizim var, bunu İGS olarak CATIA ya kaydettirdiniz. Daha sonra bunu ANSYS e atacaksınız, ne yapmanız lazım? Dosya transfer aracınızın olmazı lazım, o dosyayı oradan alıp oraya aktaracak bir mekanizmanızın olması lazım. Bu tür araçları var. Bunlar çeşitli uygulama araçları Excel, Mathcad, Matlab gibi araçları var, ya da Response Surface Module var. Ya da çeşitli script kodları var. İçerisinde bir calculator modulü var demiştim, basit bir hesap makinesi var, o kadar da basit değil, içerisinde birçok fonksiyon var aslında. Bununla beraber Command Prompt Shell var. Mesela bir programı DOS arayüzünden çalıştırabiliyorsanız, DOS ta yazdığınız şeyi buraya yazıyorsunuz, sizin o tanımladığınız command i DOS arayüzüne kendisi 8

yazıp çalıştırabiliyor, ya da SH Script var, CYG Win gibi script var, Java Script yazabiliyorsunuz içerisine gibi; bir takım araçları var. Bununla beraber çeşitli mühendislik araçları var; ABAQUS, ANSYS gibi, CATIA gibi, Uni Graphics gibi, Proengineer gibi, bunlara daha yenileri de eklendi bu biraz eski. Yeni araçlarla da bağlanabiliyor. Tabii ben bunların hepsiyle bağlamayı bilmiyorum, çünkü modefrontier kullanabilmeniz için bir kere kullandığınız diğer araçları çok iyi bilmeniz lazım. Yani kullandığınız aracınızı iyi bileceksiniz, ama temel mantık aynı. Bununla beraber çeşitli network nodeları var, FTP, SSH ya da Mail gibi... Bunu ne için kullanırsınız? Mesela modefrontier bu bilgisayarda yüklü, ama sizin CFX programınız ya da Fluent programınız merkezi bir bilgisayarda yüklü, ya da başka bir yerde çalıştırmak istiyorsunuz, ya da bu bilgisayara yeni bir lisans almak istemiyor olabilirsiniz, ya da bilgisayarınızın kapasitesi yetmiyor olabilir, daha kapasiteli bilgisayarlar kullanıp işleminizi dağıtmak isteyebilirsiniz. Mesela akışkan mekaniği analizini bir bilgisayarda, ya da yapısal analizli başka bir bilgisayarda yapmak isteyebilirsiniz. Bu amaçla bu SSH ı kullanabilirsiniz. SSH kullanan var mı? SSH la server a bağlanırsınız server a dosya transferi yaparsınız, dosya aktarırsınız, ya da oradan kendinize dosyayı aktarabilirsiniz, ya da server da bir script çalıştırabilirsiniz, server da bir programı çalıştırabilirsiniz, aynı DOS Command Prompt gibidir ama uzaktaki bir makineye bağlanıp oradaki işlemleri yapmanızı sağlayan bir araçtır. Dolayısıyla SSH kullanmayı biliyorsanız daha önce kullandıysanız, modefrontier da bu tür bir iş yapmak son derece kolay, benim öyle bir denemem olmuştu. Böyle bir örneğim var aslında ama gösteremiyorum, yani slaytlarımda yok sunumlarımda yok. Yani karşı bilgisayarda bir SSH server ın olması gerekiyor. Onun altında bir FTP server çalışabilir. Bunun için mesela benim yaptığım uygulamada ofisteki diğer bilgisayara CYG Win kurmuştum. CYG Win altında SSH ve FTP server çalıştırdım. CYG Win ile o bilgisayardaki bir programı bir script ile çalıştırabiliyorsunuz. Dolayısıyla bir.exe dosyasını ya da input file ı karşı bilgisayara modefrontier ile atıp, orada bir script ya da programı çalıştırıp, çıkan sonucunu da kendi bilgisayarınıza otomatik olarak böyle bir döngüyle de aktarabilirsiniz. Dolayısıyla bu tür araçları da içinde barındırıyor. Burada basit bir sistem görüyoruz. Gördüğünüz gibi dört tane girdi değişkenimiz var, DOE dediğimiz Design of Experiments (bundan biraz sonra bahsedeceğim) algoritmasını seçtiğiniz bir menü var, bir ikon var. Bunlara sadece sağ tıkladığınız zaman karşınıza bir menü çıkıyor. Buradan opsiyonlarını ayarlıyorsunuz. Daha sonra Scheduler dediğimiz, algoritma seçtiğimiz, optimizasyon algoritmasını seçtiğimiz bir ikonumuz var. Arkasından da siz ne istiyorsanız onu koyarsınız, burada ANSYS konmuş ve mantık akışını bitirdiğiniz bir ikonumuz var. Bu girdiler çeşitli programları giriyor, bunlardan çıktılar elde ediliyor ve mesela burada ANSYS te bir hoparlör kutusu optimizasyonunun bir ara yüzü görünüyor. Bu hoparlör kutusu için birinci mod frekansı maksimize edilirken, kütle minimize edilmek isteniyor mesela. Böyle bir problemimiz vardı. Burada frekans ve kütleyi ANSYS ten okuyoruz. Frekansı maksimimize etmek istiyoruz. Burada amaç ikonunu görüyoruz bir tane ve ağırlığı da minimize etmek istiyoruz ve ağırlığa da bir tane de kısıt konmuş mesela. Bir de modefrontier da oluşturulmuş başka bir iş akışı görüyoruz. Yine DOE yle başlanıyor her optimizasyonda olduğu gibi, arkasından Scheduler, algoritmayı seçiyoruz ve bu standart arkasından CATIA çalıştırılmış. CATIA dan ICEM Mesh Generator a girilmiş. Buradan da Star CD diye bir frekans titreşim analizi yapan akustik programına girilmiş. CATIA dan çıkan IGS dosyası ICEM Mesh Generator a giriyor ICEM dosyası ve Star CD ye dosya transfer aracıyla geliyor. Buradan çeşitli 9

amaçlar minimize ya da maksimize ediliyor bir tane amaç vardı, zaten iki tane de girdi değişkeni görülüyor. Ön işleme ara yüzündeki ikonlardan bahsetmiştim girdiler, çıktılar, çözücüler. Mesela Logic Switch denilen bir şey var. Bu mesela mantık akışını kesmenizi sağlayabilir. Mesela bir analiz yaptınız o analizin sonucu işimize yaramıyor, dolayısıyla bir sonraki programı çalıştırmak masraflı bir iş, orada durdurup bu artık çalışmıyor ve uygun tasarım değildir deyip yeni girdi oluşturup yeni girdiyle devam etmek isteyebilirsiniz. Dolayısıyla iş akışını sizin istediğiniz yerde kesebilirsiniz, diğer programı çalıştırmayabilirsiniz. Bu tür swıtch opsiyonları var, ya da Logic if node u var. Ya da mesela bir programdan bir çıktı aldınız, çıktı şöyleyse şu programı çalıştır böyleyse bu programı çalıştır gibi bir takım işlemler yapabilirsiniz. D.O.E. burası önemli, bu başlı başına bir şey. modefrontier içerisine birçok farklı D.O.E var, yani Design of Experiments (Deney Tasarımları). Mesela her optimizasyon bir başlangıç tahminiyle başlar, ya da bir grup popülasyonla başlar. Mesela genetik algoritmalardan bahsedecek olursak elinizde bir popülasyon olması lazım. Popülasyondaki her bir parametre seti bizim bireyimizdir (Individual). Bu bireyler arasında çifleşme (crossover) tanımlanır ve mutasyon yapılır ve bunlar arasında seçim (selection) yapılır. Yani genetik algoritmanın üç kenar ayağı var çiftleşme (crossover) mutasyon ve seçim (selection). Genetik algoritma için elinizde bir popülasyon olması lazım, bir grup çözüm ya da deney olması lazım. Fakat global optimumu yakalamak önemli bir şey, yani gerçek minimumu yakalamak bizim istediğimiz şey bunun için domain i mümkün olduğunca cover etmeniz lazım, mümkün olduğunca kapsamanız lazım, uzayınızı, tasarım uzayınızı. Yani değişkenlerinizi mümkün olduğunca uzayda, değişken uzayınızda, dağıtmış olmanız lazım ki bu global optimumu yakalama şansınız artsın. Dolayısıyla bununla ilgili, mesela şurada gördüğümüz son derece düzgün dağılım, mesela üç değişkenimiz olsun değişken uzayımız bu. Üç değişken için son derece düzgün noktalar görüyoruz, bu bizim istediğimiz bir şey. Buna full faktöriyel ile generate edilmiş (oluşturulmuş) noktalar görüyoruz. Ama değişken sayımız arttıkça, başlangıç popilasyonunuzun büyüklüğü hızla büyüyor, geometrik olarak büyüyor. Dolayısıyla bunu kullanamıyoruz. Mesela üç değişkenimiz olsun, her birisinden üçer tane alalım kendi aralıklarında. 27 tane başlangıç populasyonumuzun, başlangıç noktamızın olması lazım. Diyelim ki dört değişkenimiz var, üçer tane alacağız 81 e çıkıyor. Dolayısıyla geometrik olarak artıyor. Dolayısıyla pratikte her zaman uygulayamıyoruz. Uygulayabilirsek bunu uygulayalım. Bunu uygulayamadığımız yerlerde reduced faktöriyel ya da Cubic Face Centered ya da Box Behnken gibi bir takım algoritmalarla uzayda düzgün dağılı noktalar oluşturabilirsiniz. Ya da başka amaçlar içinde farklı noktalar oluşturabilirsiniz. Mesela Robust Design Optimization biraz sonra açıklayacağım. Sağlam tasarımda bir nokta etrafında istatistiksel olarak dağılmış bir Claud of Points bir noktalar bulutu yaratmanız gerekebilir. Dolayısıyla bütün bunlar için farklı algoritmalar var. Ya da mesela random oluşturmak 10

istiyorsunuz. Ama random olarak noktaları oluşturduğunuz vakit belli bir bölgede toplanabilir, kendi içerisinde corralated olabilir. Random fakat un corralated data oluşturmak için mesela Sobol algoritması var. Dolayısıyla bu noktaları, başlangıç noktalarını oluşturmak için farklı D.O.E. ler var. Burada mesela corralation dan bahsettim. Girdi noktalarınız kendi içerisinde un corralated ise uzayda düzgün dağılmıştır ve girdi noktalarınız kendi içerisinde un corralated ise girdiler ve çıktılar arasında bir corralation bir ilişki yakalayabilirsiniz. Bu nerede ihtiyaç olur buna? Mesela çok sayıda parametreyle başladınız ama bu parametrelerin hepsi aynı oranda sizin tasarımınızı etkilemiyor olabilir. Yoksa parametre sayınız arttıkça yapmanız gereken çözüm sayısı geometrik olarak artıyor. Parametre sayısını azaltmak isteyebilirsiniz. Mesela bir DOE yle düzgün dağılı bir takım noktalar oluşturup, bunlar için atıyorum elli kadar bir run attıktan sonra, girdilerle çıktılar arasında bir corralation a bakabilirsiniz (ilişkiye bakabilirsiniz). Un corralated olan, corralation ı sıfıra yakın olan noktaları, ya da parametreleri, değişkenleri sabitleyip, diğer değişkenler üzerinden optimizasyon yapıp, optimizasyon hızını arttırabilirsiniz. Dolayısıyla bu önemli bir şey, özellikle genetik algoritmaları kullanıyorsanız noktaları nasıl oluşturduğunuz önemlidir. Burada mesela corralated input data görüyoruz. Bu bizim istemediğimiz bir şey gördüğünüz gibi değerler -1 ile 1 arasında değişiyor. Burada noktalar, girdi değişkenleri kendi içerisinde corralated görünüyor. Buradaysa noktalar uzayda daha düzgün dağılmış durumda dolayısıyla uncorralated nokta dağılımını da yakalayabiliyoruz. Bu deney tasarımlarıyla ilgili bir internet sitesi var isterseniz yazabilirsiniz. Buradan biraz daha detaylı bilgi elde edebilirsiniz. Mesela burada bir full faktöriyel nokta dağılımını görüyoruz. Üç değişken için 27 tane farklı nokta oluşturulmuş. Yani başlangıç olarak 27 tane analiz yapacaksınız ondan sonra optimizasyona başlayacaksınız. Ya da Cubic Face Centered denilen bir algoritmayla oluşturulmuş üç değişken için 15 tane nokta gerekli olmuş. Yani bir Curve Fitting (Eğri uydurma) yapacaksınız. İkinci derece etkilerin yakalamak istiyorsunuz. Bir parabol için, tek değişken olsun, 11

bir parabolu fit etmek için en az üç noktaya ihtiyacınız var. İki değişkeniniz varsa en az 9 noktaya ihtiyacınız var, ya da üç değişkeniniz varsa 27 tane noktanız olmalı ki ikinci derece etkileri görebildiğiniz ikinci dereceden bir fonksiyon fit edebilesiniz. Bunlar için full faktöriyelde gördüğünüz gibi çok sayıda noktaya ihtiyacımız var, çok sayıda analiz demek, ya da Cubic Face Denterd da daha da azalmış olduğunu görüyorsunuz ya da İnscribed Composit Disign dediğimiz istatistiksel olarak daha düzgün sonuçları elde etmenizi sağlayan, daha az noktayla daha düzgün istatistiksel, ya da daha yeterli istatistiksel bilgi elde etmenizi sağlayan algoritmalar bunlar. Bununla beraber girdi değişkenlerinin uzayda düzgün dağılmaması gerektiğini söylemiştim. Mesela elinizde bir takım datalar var bir takım deneyleriniz ya da çözümleriniz var. Bunları tekrarlamadan yeni noktalar oluşturulmak istiyorsunuz ki düzgün dağılı noktalar elde edip düzgün bir Curve Fit elde edin mesela. Bunun için Incremental Space Filler denilen bir algoritma var mesela. Bu şekilde sizin elinizde var olan data set e mesafeleri mümkün olduğunca arttıracak şekilde, uzayda mümkün olduğunca düzgün dağılacak şekilde sizin istediğiniz kadar nokta ekleyebilirsiniz. Mesela bir optimizasyon yaptınız optimizasyonun sonucunda elinizde bir takım çözümler var ve bunlar pareto üzerinde dağılmış durumda belli bir bölgede gruplanmış durumda fakat siz bunun sonunda bir de Curve Fit elde etmek istiyorsunuz. O zaman düzgün bir Curve Fit elde etmek için daha düzgün dağılı noktalar elde etmek isteyebilirsiniz ya da bir corralation bilgisi elde etmek istiyorsunuz. Mesela optimizasyon sonucunda girdi değişkenlerinin un-corralataed olma durumu kaybolabilir. Bunun için yeni analizler eklemek isteyebilirsiniz ya da varolan analiz tablosundan, varolan nokta tablosundan noktaları düzgün bir şekilde çıkartıp, ona göre girdileri un-corralated hale getirip girdilerle çıktılar arasında corralation yakalamak isteyebilirsiniz. Bu tür algoritmalar var. ModeFRONTIER ı özel kılan şeyler bunlar aslında. Yani bu tür ince ayrıntılar optimizasyonla ilgili olan. Yoksa hani birçok kişi bu Matlab de de yapılıyor diyorlar mesela. Matlab la da bir ANSYS i çalıştırabiliyorlar. Matlab rakip değil, yani Matlab ı da biz satıyoruz sonuçta ama bu iki programın farklı özellikleri açısından bunlar önemli ayrıntılar, modefrontier ın kattığı; ModeFRONTIER ın tamamlanmış bir araç olduğunu anlatmaya çalışıyorum bunlarla aslında. D.O.E. için dört temel sebep: Bir kere problem hakkında düzgün istatistiksel bilgi edinme, girdilerle çıktılar arasında düzgün corralation elde etme, tepki yüzeyi oluşturmada tasarım uzayının düzgünce taranmasını sağlama, düzgün tepki yüzeyleri elde etme, ve optimizasyon için iyi başlangıç noktaları elde etme gibi... ModeFRONTIER ın altında bir de en iyileme sihirbazı var demiştim. Algoritmalardan Scheduler içerisinden Optimization Vizard a bastığınız zaman bir tasarım için ne kadar süre ayırmak istiyorsunuz ya da bir tasarımı, analizi ne kadar sürede yaptığınızı biliyorsunuz, toplam ne kadar süre ayıracağınızı giriyorsunuz, buna göre size uygun bir algoritma vermeye çalışıyor; veriyor diyemiyorum, yani çok yeterli değil, yeterli olması da mümkün değil ama size bir öneri de bulunabiliyor. Run Logs a yani ikinci sekmeye geldiğim vakit burada tasarım akışını görüyorsunuz. Her bir tasarım yapıldıkça bu logun içerisine ekleniyor. Tamamlanmamış bir tasarım varsa, tamamlanamamış ya da bir şekilde çözülememiş, bir hata oluşmuş bir tasarım varsa burada kırmızı olarak görüyorsunuz. Mantık akışının nerede kesildiğini programlardan çıkan hata mesajlarının logların görüp, buradan basitçe clicklerle ulaşabiliyorsunuz. Daha sonra bunları gösteririm ayrıntılarıyla. 12

Son işleme ara yüzünde ise birçok farklı chart araçları var. Mesela burada burada paralel charts dediğimiz bir aracı görüyoruz. Bu düşey eksenlerin her birisi bir değişkenimiz olsun, alt değerleri minimum değerleri, üstte maksimum değerleri. Girdilerle çıktıları bu şekilde bir Parallel Charts üzerinde gezdirip tasarımlar üzerinde filitreleme yapabiliyorsunuz. Mesela sadece optimalleri göster diyebilirsiniz. Optimaller arasında bir filitreleme yapabilirsiniz. Mühendislik olarak seçim yapabilirsiniz. Ya da burada Response Surface oluşturulmuş (tepki yüzeyi). Girdilerle çıktılar arasındaki ilişkiyi belirleyen birtakım Curve Fıttıng ler yapıp değişimleri görebildiğiniz birtakım fonksiyonlar elde edebilirsiniz ve bu fonksiyonları girdilere karşılık çıktılar olarak plot ettirebilirsiniz ya da biraz önce bahsettiğim corralation matrix, istatistiksel olarak girdilerle çıktılar arasında, ya da çıktıların kendi içerisinde correlation, ilişkilerini istatistiksel olarak görebilirsiniz ve birçok farklı başka istatistiksel araçları da içerisinde barındırıyor. Tepki yüzey modellemesinden bahsettim. İçerisinde birçok farklı algoritma var, tepki yüzeyi modellemesi için de. En son 8 taneydi, herhalde arttı bu. Bunlardan en önemlileri mesela Radial Basis Functions, Neural Networks ya da Polynomial Singular Value Decomposition fiting gibi birçok farklı algoritmayla bu tepki yüzeyi fonksiyonlarını oluşturabilirsiniz. Bunlarla ilgili bir örneğim var Arçelik e yaptığım bir çalışma. Bunun bir uygulaması. Bundan bahsedebilirim. Gelelim Kararlı Tasarım a ( Robust Design Optimization ). Şimdi diyelim ki bir üretim yapıyorsunuz. Bir levhanız var, bir yere delik deleceksiniz mesela. Sizin üretim esnasında matkabınız aşınabilir. Aşındığı zaman delik sizin tam tanımladığınız çapta olmayabilir. Küçük istatistiksel değişimler olabilir, daha büyük ya da daha küçük olabilir. Ya da delik tam sizin belirlediğiniz yere delinemeyebilir, sağa, sola, yukarı, aşağı belli sapmalar olabilir; istatistiksel sapmalar olabilir. Dolayısıyla sizin üretim hassasiyetlerinizden daha az etkilenecek tasarımı bulma işlemine Robust Design Optimization deniyor. Yani sizin değişkenleriniz belli istatistiksel dağılımlar gösterebilir, belli istatistiksel özellikler gösterebilir. Mesela burada düşey eksen amaç ekseni olsun, yatay eksenler de bizim girdi değişkenlerimiz olsun. Şimdi burada A tasarımı B tasarımına göre daha iyi görünmekle beraber A tasarımı girdi değişkenlerindeki küçük değişimlerden daha fazla etkileniyor. Yani performansı daha fazla düşüyor. Mesela delikteki yerin sapmasından A tasarımı daha fazla etkileniyor olabilir. Dolayısıyla eğer sizin üretim hassasiyetiniz nispeten düşükse o zaman A yerine B yi üretip, daha az atıkla yine optimal, yani A dan belki biraz daha, gerçek optimal performans olarak biraz daha düşüktür ama daha az etkileniyordur ve minimum performansı A ya göre daha yüksek olabilir. Mesela A da oluşabilecek minimum performansa göre daha yüksek olabilir. Dolayısıyla üretim açısından, mesela A yerine B tasarımı tercih edilebilir. Bu işleme Robust Designn Optimization deniliyor. Bununla ilgili de içerisinde birtakım araçlar var. Bununla ilgili farklı D.O.E. 13

kullanmanız gerekiyor. Mesela bunu şimdi ne yapıyorsunuz? Önce bir optimizasyon yapmanız gerekiyor. Optimal tasarımı buldunuz, Curve Fit ettiniz bir gözlem yaptınız. Sonra baktınız ki fit ettiğiniz Curve lerde A biraz daha sivri, iki tane nokta seçebilirsiniz optimal nokta ya da optimale yakın nokta. Bu noktanın etrafında istatistiksel dağılmış Cloud of Points (Noktalar Bulutu) yaratabilirsiniz D.O.E. yle. İstatiksel olarak yaratabilirsiniz bunu ve bu Cloud of Points için bu (noktalar bulutu) için yeni analizler yapabilirsiniz. Bu analizlerin sonucunda girdilerle çıktılar arasında bir corralation yakalayıp çıktıların istatistiksel standart sapmalarını gözlemleyebilirsiniz. Bu işleme Robust Design Optimization deniyor. Benim modefrontier da anlatacaklarım bu kadar bundan sonrası örnekler yani bu giriş kısmıydı biraz uzun bir giriş oldu. Bunun dışında yaptığım bir CMS ye bir çalışma var, Arçelik e bir çalışma yaptım, bir de benim kendi yaptığım bir Crane Optimization denilen bir şey var. Üç tane örnek göstereceğim. Bununla beraber burada da küçük bir örnek var. Mesela en basit optimizasyon problemi bir kutu optimizasyonu. Bu derslerde görülen bir optimizasyondur, ya üstü açık bir kutu optimize edilir, ya silindirik kutu optimize edilir. Optimizasyon derslerinde gösterilen en klasik örneklerdendir. Burada mesela hacmini 333 cm 3 tutmak istediğimiz, yüzey alanını minimize etmek istediğimiz bir kutu olsun. Bu kutu için, bu basit bir optimizasyon problemidir, burada hacim bizim kısıtımızdır, çünkü sınırlamışız değerini. Şu değerde olsun demişiz. Yüzey alanını da minimize etmek istediğimiz değer, bizim amacımızdır. ModeFRONTIER da kurulmuş ara yüzü böyle bir şeydir. Bu problem için iki tane değişkenimiz var, bizim girdi parametrelerimiz iki tane, yarıçap ve yükseklik. Bunu modefrontier ın calculator modülüne giriyorsunuz. D.O.E. yi seçtiniz. BFGS algoritması seçilmiş. Burada yüzey alanı ve hacim calculator dan elde ediliyor. Yüzey alanı minimize edilmek istenirken, hacim de 333 cm 3 tutulmak isteniyor, böyle bir kısıt konmuş, bu şekilde modefrontier kurulabiliyor. Ya da bahsettiğim hoparlör kabini optimizasyonu: Genişlik, yükseklik ve ayak yüksekliği gibi üç tane parametremiz var. Birinci mode frekansı maksimize edilirken ağırlık minimize edilmek isteniyor. Kısıt yok, iki amaçlı bir problem. 14

Burada mesela amaç uzayını görüyoruz. Düşey eksen frekans iken, yatay eksen ağırlık. Burada yeşil bazı noktalar, biraz fazla küçük ama bilmiyorum görebiliyor musunuz? Şu üstte seçili olan yeşil noktalar modefrontier tarafından seçilmiş olan pareto optimal tasarımlar. Buradaki her bir nokta iki amaç için oluşturulmuş amaç uzayında birer tasarım, yani ANSYS tarafından analiz edilmiş, ANSYS ten elde edilmiş sonuçlar. Amaç uzayında çizilmiş. Dolayısıyla en iyilerin olduğu küme, burada tek bir en iyiden bahsedemiyoruz, çünkü iki amacımız var. En iyilerin, bu tasarımlar arasından, bu noktalar arasından en iyilerin oluşturduğu küme paretoyla tanımlanıyor ve gördüğünüz gibi modefrontier tarafından seçilmiş olan yeşil tasarımlar bu hoparlör kutusu için en iyi tasarımlar. Dolayısıyla gereksiz tasarımları ve kötü tasarımları elemiş oluyorsunuz. Elinizde az sayıda, her birisi bir amaç bakımından diğerine göre daha iyi olan tasarımlar ortaya çıkmış oluyor. Mesela böyle bir hoparlör kutusu üretiyorsunuz. Maliyeti de minimize edeceksiniz, frekans özelliklerini maksimize edeceksiniz, iyi bir tasarımla piyasaya çıkmak istiyorsunuz. Ama farklı müşterileriniz var, mesela farklı müşteriler farklı paralar harcamak isteyebilir. Bunlardan o zaman ne olur? Piyasaya üç dört tane, ya da beş tane farklı tasarımla çıkabilirsiniz. Dört beş tane, birisi diğerinden daha ucuzdur ama performansı daha yüksektir diğeri biraz daha pahalıdır ama performansı ucuz olanın performansı düşüktür, ne bileyim pahalı olanın performansı biraz daha yüksektir. Dolayısıyla farklı ürünlerle çıkmanızı da modefrontier sağlayabilir. Gördüğünüz gibi elde edilmiş bir takım optimal çözümler ve benim seçtiğim birkaç çözümler ve bunların titreşim frekansları, ağırlıkları görülüyor. Bu şekilde birtakım sonuçlar elde edilmiş. Bunlar Esteco nun sayfasından aldığım, Esteco makalalerinden aldığım bir örnek. 15

Yine bir motor en iyilemesi ve akışkan analizleri yapılmış. Swirl number denilen burgu sayısı arttırılmaya çalışılmış, çıkış basıncı düşürülmeye çalışılmış, böyle bir takım makaleler. Bunlar akışkan analizleri. Buzdolabıyla ilgili bir makale vardı. Beyaz eşya sektörüyle ilgiliydi. Mesela motor gürültüsünün azaltılması, bir buzdolabının motor gürültüsünün azaltılması. Burada ne kullanmışlar tam bilmiyorum. Makalelerden alıntı bunlar. Titreşim azaltılmaya çalışılmış. Bununla ilgili neler kullanılmış? Sysnoise kullanılmış. ANSYS kullanılmış. Modal Superposition yapılmış. Dış, hava ortamını da modellemeniz gerekiyor bunun için, akustik analiz... Bu şekilde bir takım çalışmalar yapılmış. Fren diski uygulaması bu NASTRAN, PATRAN kullanılmış herhalde. CATIA çizimi bu. Bu şekilde bağlantıları göstermiş.bu bir alıntı: Bir C++ kitabı var benim çok okuduğum. Barnes Stroustrup. O her ünitenin başında böyle bir alıntı koyar. Oradaki ünitelerden bir tanesinde adamın birisinin söylediği bir laf: Premature optimization is the root of all evil demiş. Diğeri de On the other hand, we can not ignore efficiency demiş. Yani global optimal diye bir şey pek yok. Yani onu bulmak her zaman mümkün olmayabilir. Ama bir şekilde, bir şeyleri optimize etmek durumundayız. 16