ALGORİTMA KULLANARAK SİSTEM OPTİMİZE ETME

Başlatan h.akca, 05 Ağustos 2016, 19:22:21

h.akca

Abillerim merhaba ben 1. dereceden sistem tasarlamak istiyorum.Ve bu sistemin katsayı parametrelerini optimal düzeye getirecek algoritma arıyorum.Araştırmalarım sonunda karınca ve arı algoritmalarını buldum ancak bunu sisteme entegre edemiyorum.İnternetten karınca algoritması(ant algorithm tutorial)olarak araştırdım ancak bilimsel makale harici veri bulamadım.Elinizde bu algoritmalar kullanılarak gerçekleştirilen basit örnek sistemleriniz var mıdır?Yani bu algoritma çeşitlerinden birinin kullanıldığı ve işleme sokulduğu örnek sistem arıyorum.Herhangi bir örnekle bu algoritmaların nasıl kullanıldığını öğrenmeye çalışıyorum.İlginiz için şimdiden teşekkür ederim

z

Terminoloji ilginç geldi.

Siz bulduğunuz linkleri falan yazın biz de inceleyelim belki konu konuyu açar bir şeyler çıkar ortaya.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

apsis

Sistemi denklem olarak elde edebiliyorsanız ve sistemin kısıtlarını belirleyebiliyorsanız dediğiniz katsayılar hesaplananilir.
"Makineye Beyin" MEKATRONİK

mufitsozen

Alıntı yapılan: h.akca - 05 Ağustos 2016, 19:22:21
Abillerim merhaba ben 1. dereceden sistem tasarlamak istiyorum.Ve bu sistemin katsayı parametrelerini optimal düzeye getirecek algoritma arıyorum.Araştırmalarım sonunda karınca ve arı algoritmalarını buldum ancak bunu sisteme entegre edemiyorum.İnternetten karınca algoritması(ant algorithm tutorial)olarak araştırdım ancak bilimsel makale harici veri bulamadım.Elinizde bu algoritmalar kullanılarak gerçekleştirilen basit örnek sistemleriniz var mıdır?Yani bu algoritma çeşitlerinden birinin kullanıldığı ve işleme sokulduğu örnek sistem arıyorum.Herhangi bir örnekle bu algoritmaların nasıl kullanıldığını öğrenmeye çalışıyorum.İlginiz için şimdiden teşekkür ederim

Bu konu ACO(ant colony optimization)  algorithmasi diye bilinir. Telekom, transportasyon (Data mining) vb konularda uygulanabilirligi vardir.

Genel baslik olarak guncel yayinlar "Swarm Intelligence" bahsinde gecer, eger java biliyorsaniz bu konuda MYRA diye bu algorithmalarin denenebilecegi bir acik kaynak kodlar iceren proje var. (A collection of Ant Colony Optimization (ACO) algorithms: https://sourceforge.net/projects/myra/files/myra/3.5.0/ )

Ayrica MATLAB ile bu algorithmalari deneyebilirsiniz, goggle ile "aco algorithm matlab" yada "aco algorithm matlab code" vs gibi aramalar yaparsaniz bir suru referans bulacaksiniz.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

alicavuslu

Giriş-çıkış veri setini kullanarak sistemin modelini çıkarmak istiyorsun.

Aşağıdaki linkteki dokuman anlatım acısından kuş ve arı algoritmaları hakkında fikir edinmeni sağlayacaktır.

http://www.alicavuslu.gen.tr/2014/02/14/yapay-sinir-aglari-egitiminin-gradyen-tabanli-ve-global-arama-algoritmalari-ile-fpga-uzerinde-donanimsal-gerceklenmesi/

Aşağıdaki linkte de FIR filtre katsayılarını parçacık sürü optimizasyon algoritması ile bulan MATLAB kodları mevcut.

http://www.alicavuslu.gen.tr/2015/01/03/pso-ile-fir-filtre-katsayilarinin-bulunmasi/



h.akca

#5
Alıntı yapılan: apsis - 05 Ağustos 2016, 20:32:57
Sistemi denklem olarak elde edebiliyorsanız ve sistemin kısıtlarını belirleyebiliyorsanız dediğiniz katsayılar hesaplananilir.
Abi benim amacım da sistemin katsayılarını optimal seviyeye getirebilmek için dediğim algoritmalardan birini sisteme entegere edebilmek.

mesaj birleştirme:: 06 Ağustos 2016, 13:23:07

Alıntı yapılan: z - 05 Ağustos 2016, 19:27:31
Terminoloji ilginç geldi.

Siz bulduğunuz linkleri falan yazın biz de inceleyelim belki konu konuyu açar bir şeyler çıkar ortaya.
Hocam beim bulduğum kaynaklar genel olarak bu algoritmaların esas mantığını anlatan sayfalar dolusu bilimsel makale.Mesela genetik algoritmasının makalesini buldum ama hep gen ,kromozom gibi fazla aşina olmadığım terimler içeriyor .Ve bu makaleye bakarak kendi sistemimi kuramıyorum.Bana açıkçası  bu algoritmaların uygulandığı bir sistem lazım bir nevi referans örnek.
https://www.researchgate.net/profile/Aydin_Muhurcu/publication/301552982_Using_discrete_time_state_feedback_controller_for_optimal_controlling_of_chaotic_signals_based_on_genetic_algorithm/links/57192b9d08aed43f632351fa.pdf?inViewer=0&pdfJsDownload=0&origin=publication_detail
Ben böyle bir örnek buldum ancak bunu kendime nasıl uygularım aşamalrım nasıl olmalıdır bu hususta ciddi eksiğim var.

berat23

öğrenebilen sistem istiyorsunuz ama neyi kim nasıl öğrenecek? onu cevaplarsanız sonrası kolay.

mesela 1.derece derken 1.derece bir sistemi pid ile kontrol edip katsayı mı update edecek? sistemin ne olduğu çok mechul...

h.akca

#7
Alıntı yapılan: alicavuslu - 05 Ağustos 2016, 21:06:52
Giriş-çıkış veri setini kullanarak sistemin modelini çıkarmak istiyorsun.

Aşağıdaki linkteki dokuman anlatım acısından kuş ve arı algoritmaları hakkında fikir edinmeni sağlayacaktır.

http://www.alicavuslu.gen.tr/2014/02/14/yapay-sinir-aglari-egitiminin-gradyen-tabanli-ve-global-arama-algoritmalari-ile-fpga-uzerinde-donanimsal-gerceklenmesi/

Aşağıdaki linkte de FIR filtre katsayılarını parçacık sürü optimizasyon algoritması ile bulan MATLAB kodları mevcut.

http://www.alicavuslu.gen.tr/2015/01/03/pso-ile-fir-filtre-katsayilarinin-bulunmasi/






Hocam çalışmalarınızı inceledim.Aynen dediğiniz şekilde tasarım yapmak istiyorum.Şuan elektrik-elektronik mühendisliği 3. sınıf öğrencisiyim.Ve bu algoritmalara açıkçası çok yabancıyım hocamız otomatik kontroldersi içinbu projeyi verdi.Ve zamanım da kısıtlı.Ancak ben ne yapmam gerektiğini bilmiyorum.Çalışmalarınız benim seviyem için biraz ağır geldi.Ancak 2. attığınız linkte FIR sistemini optimize eden katsayıları edlde etmişisinz.Peki bende bu algoritmayı giriş çıkışı değiştirerek kendi sistemime entegre edebilir miyim ?Ve bu süreçte ne yapmamı nasıl yol izlememi tavsiye edersiniz?
Ayrıca bende bir sistem örneği buldum kaotik sistemle ilgili olarak..


https://www.researchgate.net/profile/Aydin_Muhurcu/publication/301552982_Using_discrete_time_state_feedback_controller_for_optimal_controlling_of_chaotic_signals_based_on_genetic_algorithm/links/57192b9d08aed43f632351fa.pdf?inViewer=0&pdfJsDownload=0&origin=publication_detail
Zamanınız varsa inceler msiniz?

mesaj birleştirme:: 06 Ağustos 2016, 14:08:39

Alıntı yapılan: berat23 - 06 Ağustos 2016, 13:23:21
öğrenebilen sistem istiyorsunuz ama neyi kim nasıl öğrenecek? onu cevaplarsanız sonrası kolay.

mesela 1.derece derken 1.derece bir sistemi pid ile kontrol edip katsayı mı update edecek? sistemin ne olduğu çok mechul...

Hocam bu proje benim otomatik kontrol dersi için ödevim.Evete elimizde 1. derece ya da 2. derece sistem olsun(fark etmeyeceğini düşünerek) bu sistemin giriş ve çıkış parametrelerini bilelim.Ve bunu mikroişlemciye(mesela pıd)soktuğumuzda mikroişlemcinin bu katsayıları optimize etmesini istiyoruz.Ve bunu algoritmalar kullanarak gerçekleştireceğiz.Ben açıkçası bunu anladım bu şekilde ypabilir miyiz eksik bilgim var mı bilmiyorum bu konuda ve işlemi nasıl gerçekleştiririm hangi adımları izlemeliyim bu konuda yardımlarınıza ihtiyacım var.

berat23

#8
bazen anahtar kelime bulmak zor oluyor;

https://www.google.com.tr/search?q=pid+parameter+neural+network+optimization&ie=utf-8&oe=utf-8&gws_rd=cr&ei=K8qlV_DVKsijU-G_o_gB

şu arama aslında sizin tam ihtiyacınız olan şeyin en basit hali.

alicavuslu

Kodları kendi sistemine uyarlayabilirsin. Yapman gereken işlemler giriş çıkış veri setini oluşturmak. Her iterasyonda elde edeceğin hata değerine göre parametreler güncellenecektir. Bu şekilde sistemin için uygun parametre değerlerini elde edebilirsin. Bu durum YSA içinde aynıdır. Yapman gereken sadece giriş çıkış data setine göre parametreleri güncellemek.

h.akca

Alıntı yapılan: alicavuslu - 06 Ağustos 2016, 18:54:35
Kodları kendi sistemine uyarlayabilirsin. Yapman gereken işlemler giriş çıkış veri setini oluşturmak. Her iterasyonda elde edeceğin hata değerine göre parametreler güncellenecektir. Bu şekilde sistemin için uygun parametre değerlerini elde edebilirsin. Bu durum YSA içinde aynıdır. Yapman gereken sadece giriş çıkış data setine göre parametreleri güncellemek.

Ali Hocam biraz gecikmiş olsam da ben öncelikle sizden çok teşekkür ederim.Kendi sistemi optimize edecek kontrolör katsayısını pso algoritmasını kullanarak elde edebidim.Ve bir sorun çıkmadı.Yani hem mfile sonucunu hem de simulink sonucum çakıştı.Ve bu sistemi ARM işlemciyle derleyip gerçek zamanlı bir uygulama yapabildim.Tekrardan ilginiz ve yardımınız için çok teşekkür ederim.

alicavuslu


kursatyk

Alıntı yapılan: h.akca - 21 Ağustos 2016, 22:07:06
Ali Hocam biraz gecikmiş olsam da ben öncelikle sizden çok teşekkür ederim.Kendi sistemi optimize edecek kontrolör katsayısını pso algoritmasını kullanarak elde edebidim.Ve bir sorun çıkmadı.Yani hem mfile sonucunu hem de simulink sonucum çakıştı.Ve bu sistemi ARM işlemciyle derleyip gerçek zamanlı bir uygulama yapabildim.Tekrardan ilginiz ve yardımınız için çok teşekkür ederim.
ustam iyi etmişsin eline sağlık. bende arm tabanlı stm32f407 discovery kart ile çalışıyorum. yaptığın çalışmanın kodlarını bize örnek teşkil edecek şekilde yazabilir misin?