Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > الگوریتم ها > الگوريتم بهينه سازي فاخته (Cuckoo Optimization Algorithm)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۶-۱۲-۱۳۹۱, ۰۵:۲۱ بعد از ظهر   #1 (لینک دائم)
Active users
 
آواتار ramin4251
 
تاريخ عضويت: مهر ۱۳۸۸
پست ها: 133
تشكرها: 1
75 تشكر در 38 پست
My Mood: Shad
پيش فرض فيلم آموزشي كدهاي الگوريتم بهينه سازي فاخته


با سلام
با توجه به تماسها و درخواست هاي مكرر شما عزيزان اقدام به تهيه فيلم توضيحات براي كدهاي الگوريتم بهينه سازي فاخته نموديم. تلاش شده است تا جاي ممكن جزئيات كدنويسي الگوريتم COA در اين فيلمها توضيح داده شود تا ابهامات و سوالات مختلف شما عزيزان در مورد قسمت هاي مختلف اين كدها برطرف شود.


فيلم آماده شده در 2 فايل ضبط شده است كه در مجموع 75 دقيقه مي باشد. هر فايل بصورت جداگانه فشرده شده و به چند قسمت 10 مگابايتي تقسيم شده است تا دانلود آنها راحتتر باشد.

براي بازكردن و مشاهده ي هركدام از فيلمهاي شماره 1 و 2، لازم است شما تمام قسمتهاي آن فيلم را دانلود كرده و در فولدري كنار هم قرار دهيد. سپس كافيست فقط يكي از قسمت هاي دانلود شده از هر فيلم را كليك راست كرده و با برنامه WinRAR آنرا از حالت فشرده خارج كنيد. فيلم مورد نظر براحتي باز شده و قابل مشاهده مي باشد. براي هر دو فيلم همين روال را جهت مشاهده فيلم انجام دهيد.




لينك دانلود فايلها بصورت يكپارچه:
------------------------------------------------------------------------------
فيلم 1:
https://telegram.me/cuckoo_optimization_algorithm
حجم فايل: 40 مگابايت


فيلم 2:
https://telegram.me/cuckoo_optimization_algorithm
حجم فايل: 42 مگابايت

-----------------------------------------------------------------------------
لينك هاي كمكي:

فيلم 1:
https://telegram.me/cuckoo_optimization_algorithm
حجم فايل: 40 مگابايت


فيلم 2:
https://telegram.me/cuckoo_optimization_algorithm
حجم فايل: 42 مگابايت
------------------------------------------------------------------------------






با توجه به ناپايداري و قطع و وصل هاي مكرر ديتابيس اين سايت، تصميم بر آن شد تا يك كانال تلگرامي، مخصوص الگوريتم COA را براي مواقع ضروري آماده به كار نگه داريم. تا مطالب جديد و بروز را هميشه در جيب خود به همراه داشته باشيد.
مطالب اين سايت و كانال تلگرام همزمان آپديت خواهند شد و انتخاب مراجعه به هر مسير ارتباطي با شما عزيزان خواهد بود.
آدرس كانال بصورت زير ميباشد. در صورت تمايل ميتوانيد اين كانال را Add كنيد.
آدرس كانال:




با سپاس
رامين رجبيون
__________________
www.matlabpajooh.ir
matlab.proj@gmail.com

بروزترين مطالب در مورد الگوريتم بهينه سازي فاخته در:
https://telegram.me/cuckoo_optimization_algorithm

ويرايش شده توسط ramin4251; ۰۱-۳۱-۱۳۹۵ در ساعت ۱۰:۴۱ قبل از ظهر
ramin4251 آفلاين است   پاسخ با نقل قول
از ramin4251 تشكر كرده اند:
4i469x (۰۲-۱۹-۱۳۹۲), arlabbafi (۰۸-۹-۱۳۹۴), ehsan_teimouri (۰۲-۲۴-۱۳۹۲), fidnah (۰۱-۳۱-۱۳۹۴), fnikru (۱۲-۸-۱۳۹۳), hmahjour (۰۸-۲۰-۱۳۹۵), mahtabi (۰۴-۵-۱۳۹۲), mehdi10421 (۰۲-۱۳-۱۳۹۴), pershia69 (۰۲-۲۰-۱۳۹۳), shhb (۰۲-۲۷-۱۳۹۳)

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۶-۱۲-۱۳۹۱, ۰۵:۴۱ بعد از ظهر   #2 (لینک دائم)
عضو فوق فعال
 
آواتار mansor50
 
تاريخ عضويت: خرداد ۱۳۹۰
محل سكونت: مشهد
پست ها: 197
تشكرها: 2
48 تشكر در 42 پست
My Mood: Sepasgozar
پيش فرض

سلام آقای رجبیون در الگوریتم شما با چه مکانیزمی به بحث exploration پرداخته میشود ؟ متشکرم
mansor50 آفلاين است   پاسخ با نقل قول
قديمي ۰۶-۱۳-۱۳۹۱, ۰۹:۵۰ قبل از ظهر   #3 (لینک دائم)
Active users
 
آواتار ramin4251
 
تاريخ عضويت: مهر ۱۳۸۸
پست ها: 133
تشكرها: 1
75 تشكر در 38 پست
My Mood: Shad
پيش فرض

ببينيد در الگوريتم بهينه سازي فاخته پارامتر مشخصي براي exploration يا exploitation نداريم كه بگيم مثلا كار فلان پارامتر فقط exploration هست. پارامترهايي كه در اينجا تعريف ميشن بصورت ضمني كار مي كنن. يعني هر كدوم چندين كار رو بصورت همزمان انجام ميدن و همين مساله باعث ايجاد سرعت و دقت بالاي كار الگوريتم COA ميشه.
براي مثال تخم گذاري هم كار exploration داره هم به ما كمك ميكنه محيط رو بصورت local جستجو كنيم و هم باعث ميشه بتونيم از local optimum ها فرار كنيم. چون جمعيت جديد تخم ها به نحو خاصي، در اطراف فاخته مادر قرار ميگيره ميتونه همه اينكارها رو انجام بده.
يا خود بحث مهاجرت ميتونه جستجو و همگرايي رو همزمان به عهده بگيره.

براي مشاهده برتري خاص اين عملگر ها و نحوه تعريف اونها اين پست رو از سايت اصلي مشاهده كنيد.


.
.
.
__________________
www.matlabpajooh.ir
matlab.proj@gmail.com

بروزترين مطالب در مورد الگوريتم بهينه سازي فاخته در:
https://telegram.me/cuckoo_optimization_algorithm

ويرايش شده توسط ramin4251; ۰۱-۳۱-۱۳۹۵ در ساعت ۱۰:۴۲ قبل از ظهر
ramin4251 آفلاين است   پاسخ با نقل قول
قديمي ۱۱-۹-۱۳۹۱, ۱۲:۲۲ بعد از ظهر   #4 (لینک دائم)
عضو جدید
 
آواتار saeed_shahbazian2004
 
تاريخ عضويت: بهمن ۱۳۹۱
محل سكونت: فعلا کرمانشاه
پست ها: 2
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

سلام جناب مهندس رجبیون
با تشکر از این همه زحمتی که در رابطه با الگوریتم فاخته کشیدید
من از کدهای شما در بهینه سازی یک شبکه برق جهت کاهش تلفات استفاده کردم
و در تابع کاست فانکشن اون یکه پخش بار شبکه برق قرار دادم
بعبارتی خروجی برنامه فاخته به تابع کاست فانکشن رفته و پس از پخش بار شبکه ، خروجی کاست فاکنشن به برنامه بهینه سازی میرود واین پروسه اینقدر ادامه پیدا میکنه که تلفات شبکه به کمترین میزان برسه
مشکلی که بنده در این فرایند دارم اینه که خروجی برنامه بهینه سازی که دو سطری هستش
cuckooPop{cuckooNumber}.profitValues = -feval(powerDGFunction,[cuckooPop{cuckooNumber}.center ; cuckooPop{cuckooNumber}.newPosition4Egg])
مربوط به موقعیت تخمها و فاختها میباشد و موجب دو سطری شدن خروجی میگردد
در حالیکه وردی کاست فانکشن برنامه پخش بار باید یک سطری باشد
در صورت امکان لطف بفرمایید و ایمیلتون رو اعلام کنید که کدها رو براتون ارسال کنم و به بنده حقیر هم مثل سایرین کمک بفرمایید
با تشکر از لطف شما
saeed_shahbazian2004 آفلاين است   پاسخ با نقل قول
قديمي ۱۱-۱۰-۱۳۹۱, ۱۲:۴۵ بعد از ظهر   #5 (لینک دائم)
Active users
 
آواتار ramin4251
 
تاريخ عضويت: مهر ۱۳۸۸
پست ها: 133
تشكرها: 1
75 تشكر در 38 پست
My Mood: Shad
پيش فرض

نقل قول:
نوشته اصلي بوسيله saeed_shahbazian2004 نمايش پست
سلام جناب مهندس رجبیون
با تشکر از این همه زحمتی که در رابطه با الگوریتم فاخته کشیدید
من از کدهای شما در بهینه سازی یک شبکه برق جهت کاهش تلفات استفاده کردم
و در تابع کاست فانکشن اون یکه پخش بار شبکه برق قرار دادم
بعبارتی خروجی برنامه فاخته به تابع کاست فانکشن رفته و پس از پخش بار شبکه ، خروجی کاست فاکنشن به برنامه بهینه سازی میرود واین پروسه اینقدر ادامه پیدا میکنه که تلفات شبکه به کمترین میزان برسه
مشکلی که بنده در این فرایند دارم اینه که خروجی برنامه بهینه سازی که دو سطری هستش
cuckoopop{cuckoonumber}.profitvalues = -feval(powerdgfunction,[cuckoopop{cuckoonumber}.center ; cuckoopop{cuckoonumber}.newposition4egg])
مربوط به موقعیت تخمها و فاختها میباشد و موجب دو سطری شدن خروجی میگردد
در حالیکه وردی کاست فانکشن برنامه پخش بار باید یک سطری باشد
در صورت امکان لطف بفرمایید و ایمیلتون رو اعلام کنید که کدها رو براتون ارسال کنم و به بنده حقیر هم مثل سایرین کمک بفرمایید
با تشکر از لطف شما

با سلام

ببينيد شما در تابع هزينه اي كه براي coa مينويسيد بايد جوري كدنويسي كنيد كه برنامه تون قادر باشه يك ماتريس جمعيتي از فاخته ها رو دريافت كنه و به ازاي هر سطر اون ماتريس جمعيتي يك كاست حساب كرده و برگست بده. يعني اگر ماتريس ورودي شما n سطر داشته باشه، خروجي تايع هزينه شما هم، برداري با n سطر خواهد بود.
__________________
www.matlabpajooh.ir
matlab.proj@gmail.com

بروزترين مطالب در مورد الگوريتم بهينه سازي فاخته در:
https://telegram.me/cuckoo_optimization_algorithm
ramin4251 آفلاين است   پاسخ با نقل قول
قديمي ۱۲-۱۹-۱۳۹۱, ۰۷:۳۱ بعد از ظهر   #6 (لینک دائم)
عضو جدید
 
آواتار smartleopard
 
تاريخ عضويت: مهر ۱۳۹۰
پست ها: 1
تشكرها: 2
0 تشكر در 0 پست
My Mood: Khonsard
پيش فرض

سلام به همگی
لینک ها خرابن
لطفا اصلاح کنید

با تشکر
smartleopard آفلاين است   پاسخ با نقل قول
قديمي ۰۱-۱۳-۱۳۹۲, ۰۶:۵۲ بعد از ظهر   #7 (لینک دائم)
عضو جدید
 
آواتار mohammadhasani
 
تاريخ عضويت: فروردين ۱۳۹۲
پست ها: 1
تشكرها: 0
0 تشكر در 0 پست
پيش فرض الگوریتم فاخته

با عرض سلام وخسته نباشید مشکل من در کدهای اصلی الگوریتم فاخته است اگه میشه فایلشو
واسه دانلود بزارین خیلی گیرشم خیلی متشکرم (کدهای اصلی)
mohammadhasani آفلاين است   پاسخ با نقل قول
قديمي ۰۱-۱۵-۱۳۹۲, ۱۱:۵۶ قبل از ظهر   #8 (لینک دائم)
Active users
 
آواتار ramin4251
 
تاريخ عضويت: مهر ۱۳۸۸
پست ها: 133
تشكرها: 1
75 تشكر در 38 پست
My Mood: Shad
پيش فرض

نقل قول:
نوشته اصلي بوسيله mohammadhasani نمايش پست
با عرض سلام وخسته نباشید مشکل من در کدهای اصلی الگوریتم فاخته است اگه میشه فایلشو
واسه دانلود بزارین خیلی گیرشم خیلی متشکرم (کدهای اصلی)
سلام

فايل هاي برنامه در سايت مرجع الگوريتم بهينه سازي فاخته قرار داده شده. ميتونيد از اونجا دانلود كنيد.
__________________
www.matlabpajooh.ir
matlab.proj@gmail.com

بروزترين مطالب در مورد الگوريتم بهينه سازي فاخته در:
https://telegram.me/cuckoo_optimization_algorithm

ويرايش شده توسط ramin4251; ۰۱-۳۱-۱۳۹۵ در ساعت ۱۰:۴۳ قبل از ظهر
ramin4251 آفلاين است   پاسخ با نقل قول
قديمي ۰۲-۸-۱۳۹۲, ۰۱:۳۰ بعد از ظهر   #9 (لینک دائم)
عضو جدید
 
آواتار aminjet
 
تاريخ عضويت: مهر ۱۳۹۰
پست ها: 3
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

با سلام
در کدهای برنامه شما ابتدا برای هر فاخته یک شعاع تخم گذاری تعیین می کنید.
بعد در درون این شعاع به تعداد تخم هایی که هر فاخته قرار است بگذارد تعدادی شعاع کوچکتر تعیین می کنید که تخم ها را در شعاع بزرگتر به صورت پراکنده بگذارد.
و برای این که در همه آن فضا تخم گذاری پخش شود به جای این که تصادفی تخم گذاری انجام شود برنامه را وادار می کنید که تخم ها را به طور یکسان پخش کند.

سوال من از همین جا آغاز می شود. چرا برای این کار این همه پیچیده و از طریق زاویه و سینوس و کسینوس کار کرده اید؟
فرض کنید مسئله من 10 تا پارامتر دارد. خوب هر پارامتر مثلا پارامتر اول در یک بازه می تواند مقدار بگیرد. وقتی که تخم گذاری انجام می شود یا یک عدد به مقدار قبلی اضافه می شود و یا یک عدد از آن کم می شود که مقدار آن پارامتر برای تخم جدید مشخص شود. خوب این اضافه و کم شدن یک عدد به یکی از پارامتر ها یک کار دو بعدی نیست. لازم نبود که بیاییدبازه 0 تا 2*pi را به تعداد تخم ها به میزان مساوی تقسیم کنید و بقیه ماجرا را انجام دهید. چرا کار زیر را انجام ندادید:

1- ابتدا مثل کد های شما با دستورات زیر برای هر فاخته یک شعاع در نظر می گیریم:

for cuckooNumber = 1:numCuckooS
cuckooPop{cuckooNumber}.eggLayingRadius = cuckooPop{cuckooNumber}.numberOfEggs/summ * ( radiusCoeff * (varHi-varLo) );i
end

ببخشید که بهم میریزد

2- در مرحله دوم ما به جای کار شما برای تعیین شعاع های کچکتر از روش زیر استفاده می کنیم:

for cuckooNumber = 1:numCuckooS
cuckooPop{cuckooNumber}.eggLayingRadiuses = linspace( - cuckooPop{cuckooNumber}.eggLayingRadius , cuckooPop{cuckooNumber}.eggLayingRadius , cuckooPop{cuckooNumber}.numberOfEggs);i
end

در این مرحله من به جای روش شما امده ام بازه منفی R تا مثبت R را به تعداد تخم ها به قسمت مساوی تقسیم کرده ام. همین شعاع ها را به عنوان شعاع تخم گذاری در نظر می گیریم.

3-

for cuckooNumber = 1:numCuckooS
params = cuckooPop{cuckooNumber}.center; % get center values
tmpRadiuses = cuckooPop{cuckooNumber}.eggLayingRadiuses;i
numRadiuses = numel(tmpRadiuses);i
newParams = [];i
for cnt = 1:numRadiuses
newParams = [newParams; params + tmpRadiuses(cnt)];i
end

% check for variable limits
newParams(newParams>varHi) = varHi;i
newParams(newParams<varLo) = varLo;i

cuckooPop{cuckooNumber}.newPosition4Egg = newParams;i
end
aminjet آفلاين است   پاسخ با نقل قول
قديمي ۰۲-۸-۱۳۹۲, ۰۲:۰۵ بعد از ظهر   #10 (لینک دائم)
عضو جدید
 
آواتار aminjet
 
تاريخ عضويت: مهر ۱۳۹۰
پست ها: 3
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

سوال بعدی من در باره این دستور است:

currentMaxProfit = -feval(costFunction,currentBestCuckoo);i


مقداز مورد نیاز شما قبلاً حساب نشده که برنامه مجبور نباشد یک بار دیگر بهترین فاخته را به تابع هزینه بفرستد؟
این خودش خیلی وقت گیر است. مخصوصا در برنامه من که در تابع هزینه خودش یک بهینه سازی دیگری انجام می شود. هر چه کمتر تابع هزینه فراخوانی شود بهتر است. دو جای دیگر هم فراخوانی شده در انتهای حلقه که اگر مقادیرشان موجود است بشود حفظشان کرد و دوباره هزینه اش محاسبه نشود بهتر است.
aminjet آفلاين است   پاسخ با نقل قول
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۶:۴۴ بعد از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design