بهینه سازی و الگوریتم

دانلود پایان نامه

بار متغیر 1 (باسبار 3)
محدوده تولید یا مصرف
4.35 MW
325 kw
390 kw
Pmax
1.65 MW
175 kw
210 kw
Pmin
جدول (5-2): مینیمم و ماکزیمم مقدار مصرف بارهای متغیر و همچنین مقدار حداقل و حداکثر تولید DG
5-3- جایابی بهینه خازن به منظور کاهش تلفات توسط الگوریتم کولونی مورچگان ACO
در این برنامه هر یک از کولونی مورچگان که به عنوان جوابی برای متغیرهای کنترلی مسئله بهینه سازی تخمین حالت هستند بصورت یازده شهر تعریف شده اند که هر یک از شهرهای هر کولونی بدین صورت تعریف می شوند: هفت شهر اول هر کولونی وضعیت اتصال یا عدم اتصال هفت خازن را برای شبکه توزیع شعاعی 30 باسه نشان می دهد که وضعیت عدم اتصال با مقدار 0 و وضعیت اتصال با مقدار 1 تعریف شده است. شهر هشتم هر کولونی وضعیت تپ چنجر ترانسفورماتور پست توزیع را نشان می دهد که قابلیت تغییر از 8- تا 8 پله را دارد. شهر نهم و دهم هر کولونی به بارهای متغیر شبکه و شهر یازدهم هر کولونی به خروجی تولید پراکنده DG متصل به شبکه مربوط می باشند. در ابتدا 20 کولونی بصورت تصادفی ایجاد شده و در مرحله بعد تابع هدف مطابق هر یک از کولونی ها محاسبه می شود و باید متذکر شد که تابع فیتنس برای هر کولونی از مورچگان بصورت مینیمم محاسبه می شود.
5-3-1- مقداردهی اولیه هر کولونی از مورچگان
در ابتدا یک مجموعه عدد تصادفی بین 1 تا 11 ایجاد می شود که اگر عدد تصادفی برای هفت شهر اول بین 1 تا 7 باشد آنگاه شهر مورد نظر دارای مقدار 1 برای آن کولونی خواهد شد. اگر برای شهر هشتم مقدار عددی 8 اختصاص یابد آنگاه مقدار مورد نظر برای این شهر یک عدد تصادفی بین 8- تا 8 می شود، اگر برای شهر نهم و دهم مقدار عددی 9 و یا 10 باشد آنگاه مقدار عددی برای آن شهر یک عدد تصادفی بین محدوده مینیمم و ماکزیمم مقدار بار متغیر خواهد شد و اگر 11 باشد یک عدد تصادفی بین محدوده مینیمم و ماکزیمم مقدار خروجی تولید پراکنده DG خواهد شد. شهرهایی که انتخاب نمیشوند مقدار مینیمم را به خود اختصاص می دهند. این روند برای 20 کولونی اجرا می شود.
5-3-2- تغییر مسیر حرکت مورچگان
برای هر 20 کولونی٬ یک مورچه بصورت تصادفی در یک شهر از 11 شهر انتخاب می شود، مورچه انتخابی با توجه به مقدار فیتنس محاسبه شده برای دیگر کولونی مورچگان و فرومون تولیدی در شهرهای هر یک از کولونی های دیگر، شهر جدیدی را برای حرکت به طرف آنها انتخاب می کند. مقدار متغیر E(i,j) برای هر یک از هفت شهر اول جمعیت 20 کولونی مورچگان محاسبه می شود و سپس آن را با یک عدد تصادفی مقایسه می کنیم که اگر عدد تصادفی کمتر از E(i,j) باشد، آنگاه مقدار شهر j ام از کولونی i ام یک و در غیر این صورت صفر می شود. در اینجا colonylocal(i,j) و colonyGlobal(i,j) ، بترتیب بهترین جواب برای j ام شهر از کولونی i ام فعلیcolony(i,j) و بهترین جواب در بین کل جمعیت نسبت به جمعیت فعلی می- باشد، همچنین rand() یک عدد حقیقی بین [0,1] بصورت تصادفی تولید می کند. با انتخاب مسیر حرکت هر مورچه به سمت یک کولونی جدید، مقدار فیتنس محاسبه شده برای شهر آن کولونی را بصورت زیر دستخوش تغییر می شود٬ بنابراین برای شهرهای اول تا هفتم طبق رابطه (5-1) خواهیم داشت:
(5-1)
برای شهر هشتم هر یک از 20 کولونی مذکور طبق رابطه (5-2) خواهیم داشت، که در آن randint([-1,1]) یک عدد تصادفی بین [-1,1] تولید می نماید :
(5-2)
برای شهرهای نهم ، دهم و یازدهم هر یک از 20 کولونی مذکور طبق رابطه (5-3) خواهیم داشت:
(5-3)