Document Type : Research Article
Authors
1 Dept. of Electrical & Computer Engineering, Islamic Azad University,sience and research branch, Tehran, Iran
2 1 Dept. of Electrical & Computer Engineering, Islamic Azad University,sience and research branch, Tehran, Iran
Abstract
Keywords
- مقدمه
برنامه ریزی کوتاه مدت مربوط به واحدهای آبی – حرارتی یکی از مهمترین موضوعها در عملکرد اقتصادی سیستم های تولید انرژی الکتریکی است. از طریق برنامه ریزی کوتاه مدت واحدهای آبی – حرارتی، آب مورد نیاز در هر ساعت برای تولید انرژی الکتریکی توسط واحدهای آبی مشخص می شود. با توجه به میزان توان مورد تقاضا، توربین های آبی بخشی از تقاضای بار را تأمین می کنند و آن قسمت از تقاضای بار که توسط واحدهای آبی تأمین نشده، توسط واحدهای حرارتی تأمین می شود. بنابراین، هزینه نهایی تولید مربوط به واحدهای حرارتی با در نظر گرفتن قیود مختلف مربوط به واحدهای آبی و حرارتی مینیمم می شود. مهمترین قیود شامل: تعادل توان، تعادل آب پشت سد، محدودیت فیزیکی مربوط به آب ذخیره شده و آب جاری شده از طریق توربین و همچنین، محدودیت تولید توان از طریق واحدهای آبی و واحدهای حرارتی هستند. علاوه بر این موارد، تأخیر زمانی و تغییر تقاضای بار در هر ساعت سبب شده که مسأله برنامه ریزی واحدهای آبی - حرارتی به مسألهای غیر خطی و بسیار پیچیده تبدیل شود.
در طی دهه های اخیر روشهای زیادی برای حل مسأله برنامه ریزی تولید واحدهای آبی - حرارتی پیشنهاد شده است که مهمترین آنها، شامل: برنامه ریزی دینامیکی ]2[، برنامه ریزی جریان شبکه ]3[، روش تجزیه ]4[، برنامه ریزی خطی عدد صحیح مختلط ]5[ و روش ضرایب لاگرانژ ]7،6[ هستند.
در بین روشهای ذکر شده، روش برنامه ریزی دینامیکی به این علت که مسائل بزرگ با قیود پیچیده را به طور مستقیم حل می کند از محبوبیت بیشتری برخوردار است، اما مشکلی که این روش دارد این است که با افزایش اندازة سیستم و مدت برنامه ریزی, رشد محاسباتی و ابعادی مسأله به شدت زیاد و باعث رسیدن به یک حل زیر بهینه میشود ]8[.
در روش برنامه ریزی جریان شبکه سیستم اغلب به صورت خطی یا خطی تکهای برنامه ریزی میشود. به طور کلی، در برنامه ریزی خطی توان تولیدی به صورت خطی به آب تخلیه شده از سد وابسته است. بنابراین، تغییر ارتفاع آب سد نادیده گرفته می شود که این سبب می شود که توان تولیدی توسط واحدهای آبی کاهش یافته، جواب مسأله از جواب ایده آل فاصله بگیرد. ]9[
در روش تجزیه بررسی قیدهای گوناگون سبب افزایش متغیرهای دوگانه و پیچیدگی عمل بهینه سازی میشود ]10[، همچنین، در روش برنامه ریزی خطی عدد صحیح مختلط با گسسته سازی از ارتباط غیرخطی بین توان تولیدی، آب تخلیه شده و ارتفاع آب برای مدل کردن تغییرات ارتفاع آب استفاده شده است. به کار بردن روش ضرایب لاگرانژ بسیار پیچیده بوده، همچنین کیفیت راه حل به روش به روز رسانی ضرایب لاگرانژ وابسته است ]9.[ در نتیجه، در روشهای سنتی به مدل واحدهای آبی در کنار مدل واحدهای حرارتی نیاز است تا بتوان این روشها را به شکل خطی تکه ای یا به صورت ضرایب چند جمله ای نشان داد. بنابراین، این تقریب ها ممکن است به راه حلهای نا مطلوب بینجامد و نهایتاً به از دست رفتن درآمدهای عظیمی در طی دوره برنامه ریزی منجر میشود]11[.
در سالهای اخیر روشهای هوش مصنوعی، از جمله شبکههای عصبی ]12[، simulated annealing ]13[، الگوریتم ژنتیک [1] ]14،15[، tabu search ]16[، antcolony ]17[، cultural algorithm ]18[، evolutionary programing ]19[ و الگوریتم بهینه یابی انبوه ذرات[2] ]8[ برای حل مسأله برنامه ریزی واحدهای آبی حرارتی معرفی شده است تا از طریق این روش ها عیوب مربوط به روش های سنتی رفع شود. در این مقاله از الگوریتم بهینه یابی جفت گیری زنبور عسل برای حل مسأله برنامهریزی سیستمهای آبی - حرارتی استفاده شده است.
الگوریتم بهینه یابی جفت گیری زنبور عسل نخستین بار توسط بزرگ حداد و افشار ]1[ معرفی شده است. دراین الگوریتم فرایند بهینه سازی نشأت گرفته از رفتار واقعی در جفت گیری و تولید مثل زنبورهای عسل است. این الگوریتم با تعداد قابل قبولی از پروازهای جفت گیری نتایج مناسب و نزدیک به بهینه مطلق ارائه می نماید. با اینکه این الگوریتم در مراحل مقدماتی توسعه قرار دارد اما نتایج حاصل از آن بیانگر برتری این روش نسبت به روش های الگوریتم ژنتیک، الگوریتم بهینه یابی انبوه ذرات و دیگر روش های بهینه یابی در تولید هزینه نهایی مینیمم است.
در بخش دوم فرمول های ریاضی مربوط به برنامه ریزی واحدهای آبی و حرارتی نشان داده شده است. در بخش سوم الگوریتم بهینه یابی جفت گیری زنبور عسل[3] معرفی شده است. در بخش چهارم الگوریتم توسعه یافته بهینه یابی جفت گیری زنبور عسل[4] و کاربرد این روش به صورت گام به گام در برنامه ریزی واحدهای آبی - حرارتی نشان داده شده است. در بخش پنجم نتایج حاصل از شبیه سازی بر روی سیستم معرفی شده در مرجع ]20[، نشان داده شده است و نهایتاً در بخش ششم نتیجه گیری کلی از مقاله به طور خلاصه شرح داده شده است.
2-بیان و فرموله کردن مسأله
هدف عمده و اساسی از برنامه ریزی کوتاه مدت واحدهای آبی و حرارتی مینیمم کردن هزینه نهایی تولید مربوط به واحدهای حرارتی است. با توجه به اینکه هزینه مربوط به توان تولیدی توسط واحدهای آبی نادیده گرفته میشود، در برنامه ریزی واحدهای آبی و حرارتی برای تأمین بار مورد تقاضای سیستم هدف این است که ضمن ارضای قیود عملکردی سیستم حتی الامکان توان مورد تقاضا، توسط واحدهای آبی تأمین شود و آن مقدار توان که توسط واحدهای آبی تأمین نشده است، از طریق واحدهای حرارتی تأمین شود. بنابراین، هزینه نهایی تولید مربوط به واحدهای حرارتی (تابع هدف OF) مینیمم می شود. تابع هدف و قیود مربوط به مسأله به صورت زیر فرموله شده است:
2-1- تابع هدف
(1) |
به طور کلی، هزینه مربوط به تولید توان واحدهای حرارتی می تواند به شکل تابعی از توان تولیدی که یک تابع درجه دو است، بیان شود ]20[.
(2) |
هزینه نهایی سوخت، دوره برنامه ریزی (بر حسب ساعت)، تعداد واحدهای حرارتی، ضرایب هزینه سوخت واحد حرارتی، توان تولیدی (MW) واحد iام در بازه زمانیt و هزینه سوخت واحد iام در بازه زمانیt است.
2-2- قیود مسأله
2-2-1- تعادل توان در سیستم قدرت
(3) |
تعداد واحدهای آبی، توان تولیدی واحد آبی iام در بازه زمانیt (MW)، توان اکتیو مورد تقاضا در فاصله زمانی t و تلفات انتقال در فاصله زمانی t است. در سیستم مورد مطالعه در این مقاله در نظر گرفته شده است.
2-2-2- محدودیت های توان تولیدی
(4) |
|
(5) |
حداقل و حداکثر توان تولیدی برای واحد حرارتی iام، حداقل و حداکثر توان تولیدی برای واحد آبی jام است.
، به عنوان تابع چند جمله ای از نرخ آب تخلیه شده از سد و حجم آب ذخیره شده پشت سد در نظر گرفته شده است که از رابطه زیر محاسبه میشود ]20،19،9.[
(6)
|
|
ضرایب ثابت تولید آبی واحدj ام، حجم آب ذخیره شده ( ) از منبع j ام در فاصله زمانی t، نرخ آب تخلیه شده ( /h) از منبع j در بازه زمانی t است.
2-2-3- تعادل دینامیکی آب ]20[
(7) |
حجم آب ذخیره شده ( ) در منبعj ام از ساعت قبل، نرخ ورود آب طبیعی از منبع jام و در بازه زمانی t، نرخ سرریز آب از منبع jام و در بازه زمانی t، تأخیر زمانی آب انتقالی بین منبع r و j ، تعداد کل واحدهای بالادست که بالای منبع j ام واقع شده است.
میزان سرریز آب در نظر گرفته شده است.
2-2-4- محدودیت حجم آب ذخیره شده پشت سد ]20[
(8) |
حداقل و حداکثر حجم آب ذخیره شده برای منبع jام است.
2-2-5- قید حجم اولیه و نهایی آب]20[
(9) |
|
(10) |
حجم آب ذخیره شده ( ) از منبعj ام در ابتدای دوره زمانی t و حجم آب ذخیره شده ( ) از منبعj ام در پایان دوره زمانی t است.
2-2-6- محدودیت نرخ تخلیه آب واحدهای آبی ]20[
(11) |
حداقل و حداکثر نرخ آب خروجی از منبع jام است.
3- الگوریتم بهینه یابی جفت گیری زنبور عسل
3-1- ساختار کلنی زنبور عسل
یک کندوی زنبور عسل به طور معمول، شامل یک ملکه با طول عمر زیاد برای تخم گذاری و تعداد از صفر تا چند صد زنبور نر (با در نظر گرفتن فصول مختلف سال) و حدود 10000 تا 60000 زنبور کارگر است]21[. ملکه ها اصلی ترین نقش تولید مثل را در برخی گونه های زنبور عسل ایفا نموده، وظیفه تخم گذاری را نیز به عهده دارند]22[. زنبورهای نر پدران کندو هستند. آنها تک جنسی بوده، وظیفه تشدید ژنهای مادران، بدون تغییر در ترکیب ژنتیک آنها را بر عهده دارند. وظیفه کارگرها بچه داری و در برخی موارد تخمگذاری است. بچه ها از تخم های بارور و نابارور حاصل می شوند؛ به گونه ای که، از دسته اول ملکه و زنبورهای کارگر و از دسته دوم زنبورهای نر تولید میشوند.
3-2- پرواز جفت گیری
پرواز جفت گیری با رقص مخصوصی از جانب ملکه آغاز می گردد. در این پرواز زنبورهای نر به تعقیب ملکه پرداخته، در فضا جفت گیری با ملکه را انجام میدهند. در یک پرواز جفت گیری معمول هر ملکه با 7 تا 20 زنبور نر جفت گیری می کند. در هر جفت گیری اسپرم وارد محفظه اسپرم ملکه شده و در آنجا جمع آوری میگردد. هر بار که ملکه تخم ریزی بارور انجام میدهد، مخلوطی از اسپرم جمع شده در محفظه اسپرم را برای باروری تخم ها خارج می سازد ]23[. هنگام پرواز جفت گیری ملکه توسط جمعیت انبوهی از زنبورهای نر تعقیب شده و سرانجام زنبورهای نری که موفق به جفت گیری با ملکه می شوند، خواهند مرد، ولی ملکه اسپرم آنها را دریافت می نماید، این بدان معناست که ملکه چندین بار و با چند زنبور نر جفت گیری می نماید ولی زنبورهای نر تنها قادر به یک بار جفت گیری با ملکه هستند. این عمل جفت گیری، زنبورها را در قیاس با دیگر حشرات منحصر به فرد می سازد. در واقع، پرواز جفت گیری می تواند به یک مجموعه جا به جایی در فضا و مکان (محیط) تشبیه شود، که در آن ملکه در نقاط مختلف و با سرعت های متفاوت به پرواز در آمده، با زنبورهای نری که در آن لحظه و در آن مکان بر خورد مینماید، به طور تصادفی جفت گیری میکند]24[.
3-3- شرح الگوریتم
الگوریتم با سه پارامتر تعیین شده توسط کاربر و یک پارامتر از پیش تعریف شده که تعداد کارگرهاست، شروع می شود.
در طبیعت نقش کارگرها محدود به بچه داری و تغذیه ملکه است. بنابراین، در الگوریتم توسعه یافته هر کارگر به عنوان یک رفتار و تابع فراکاوشی برای ترقی نسل و یا مراقبت از مجموعه ای از بچه ها عمل می نماید. سه پارامتر تعیین شده توسط کاربر نیز تعداد ملکهها، اندازه کیسه محل تجمع اسپرم در ملکه (ماکزیمم تعداد جفت گیری هر ملکه در یک پرواز جفت گیری) و تعداد نوزادانی است که توسط همه ملکه ها متولد می شوند.
پس از تعیین پارامترها تعدادی پرواز جفت گیری انجام می شود. در هر پرواز جفت گیری همه ملکه ها بر اساس سرعت (انرژی) اولیه شان که برای هر ملکه قبل از شروع هر پرواز جفت گیری به طور تصادفی مقدار دهی میشود، پرواز می کنند. طی هر قدم در فضا ملکه با زنبور نری که به طور تصادفی با آن رویارو شده، بنابر قانون احتمال زیر که مانند یک تابع نورد (آبکاری) عمل می کند، جفت گیری می کند:
(12) |
Prob(D,Q) احتمال اضافه شدن اسپرم زنبور نر D به کیسه محل تجمع اسپرم در ملکه Q (یعنی احتمال جفت گیری موفق) است. تفاوت مطلق بین قابلیت D )یعنی(f(D) و قابلیت Q )یعنیf(Q) ( و S(t) سرعت ملکه در زمان t است. واضح است که این تابع مثل یک تابع آبکاری عمل می کند. وقتی ملکه هنوز در شروع پرواز جفت گیریاش است؛ یعنی وقتی سرعتش بالاست یا وقتی که قابلیت زنبور نر به خوبی ملکه است، احتمال یک جفت گیری موفق زیاد است. اگر جفت گیری موفقیت آمیز باشد، اسپرم زنبور نر در کیسه محل تجمع اسپرم ملکه ذخیره میشود. پس از هر انتقال در فضا، سرعت (S) و انرژی اولیه (E) ملکه طبق معادلات زیر کاهش می یابند:
(13) |
|
(14) |
که فاکتوری است بین صفر تا یک و مقدار کاهش انرژی پس از هر انتقال است. هنگامی که انرژی به آستانه صفر میرسد، مطابق با این است که کیسه محل تجمع اسپرم پر شده است. در نتیجه، پرواز جفت گیری تمام شده، ملکه باید به کندو باز گردد. وقتی که انرژی ملکه کاهش مییابد، سرعتش نیز کاهش می یابد می توان از این موضوع نیز به عنوان نشانه ای برای فهمیدن اینکه پرواز جفت گیری چه موقع به پایان می رسد، استفاده کرد. وقتی همه ملکه ها پرواز جفت گیریشان را کامل کنند، به کندو باز می گردند و تخم گذاری را شروع می کنند. برای تعداد مورد نیازی از نوزادان، یک ملکه متناسب با قابلیتش انتخاب می شود و با یک اسپرم انتخاب شده از کیسه اش به طور تصادفی جفت گیری می کند. سپس یک کارگر متناسب با قابلیتش برای بهبود نوزاد انتخاب می شود. پس از این که همه نوزادان متولد شدند، طبق قابلیتشان دسته بندی می شوند. بهترین نوزاد با بدترین ملکه تعویض شده، و این روند تا زمانی که هیچ نوزادی بهتر از ملکه نباشد، ادامه می یابد. اگر نوزادی نتواند جای ملکه را بگیرد، در پرواز جفت گیری بعد به عنوان یکی از زنبوران نر در نظر گرفته می شود. پرواز جفت گیری جدیدی شروع می شود و این ادامه دارد تا این که همه پروازهای جفت گیری کامل شوند و یا این که معیارهای همگرایی برآورده شوند]24[ گامهای اساسی در الگوریتم بهینه یابی جفت گیری زنبور عسل در شکل (1) نشان داده شده است.
شکل(1): الگوریتم بهینه یابی جفت گیری زنبور عسل |
4- پیاده سازی الگوریتم توسعه یافته بهینه یابی جفت گیری زنبور عسل در مسأله
در تولید توان توسط واحدهای آبی منحنی عملکرد بر حسب آب ورودی نسبت به توان خروجی بیان شده است. از این رو، نرخ آب خروجی نیروگاه به عنوان متغیر تصمیم گیری در برنامه ریزی واحدها در نظر گرفته شده است. با دانستن آب خروجی هر واحد نیروگاهی، آب ورودی به واحد و معادله مشخصات واحدها، تغییرات آب ذخیره شده در سد و توان خروجی مربوط به واحدهای آبی به راحتی قابل محاسبه است. در الگوریتم توسعه یافته بهینه یابی جفت گیری زنبور عسل از سیستم کد گذاری عدد حقیقی استفاده شده است. هر رشته عدد شامل عدد برای نمایش راه حل برای برنامه ریزی ساعتی آب تخلیه شده از n واحد آبی در طی دوره برنامه ریزی T ساعته است.
در بخش 4-1 الگوریتم توسعه یافته بهینه یابی جفت گیری زنبور عسل معرفی شده است و در بخشهای بعد مراحل پیاده سازی این الگوریتم در برنامه ریزی واحدهای آبی حرارتی توضیح داده شده است.
4-1- الگوریتم توسعه یافته بهینه یابی جفت گیری زنبور عسل
در الگوریتم بهینه یابی جفت گیری زنبور عسل، ایجاد فراجهش برای رسیدن به جواب بهینه توسط زنبورهای کارگر بر روی ملکه انجام می شود. در این روش ملکه توسط ژله سلطنتی تغذیه می شود. ژله سلطنتی ی مادهای ژله مانند به رنگ سفید شیری است. زنبورهای پرستار این ماده مغذی را مخفی کرده، تنها برای تغذیه ملکه مصرف میکنند. تغذیه ملکه توسط این ژله او را نسبت به بقیه زنبورها در کندو بزرگتر می سازد.]1[
با توجه به اینکه ملکه مهمترین نقش را در فرایند جفت گیری چه در طبیعت و چه در الگوریتم بهینه یابی جفت گیری زنبور عسل بر عهده دارد ، لذا در حالت توسعه یافته روشی خاص برای ارتقای نسل بر روی ملکه استفاده شده است که در ادامه معرفی می شود. در این روش، به منظور تولید ملکه ارتقا یافته از معادله ای به صورت زیر استفاده می شود:
(15) |
f(x)≅f(x)+∆x |
در معادله (15)،f(x) متغیر تصمیم گیری الگوریتم جفت گیری زنبور عسل و ∆x یک مقدار رندوم با علامتهای مثبت یا منفی است.
روش کار در الگوریتم توسعه یافته به این صورت است که یک تعداد پرواز جفت گیری مشخص انتخاب می شود که در این پروازها تغذیه ملکه انجام می شود. این عمل باعث می شود که سرعت همگرایی به شدت افزایش بیابد؛ به طوری که با هر بار اصلاح ملکه سرعت همگرایی تا چندین تکرار جلو بیفتد.
اساس کار به این صورت است که به اندازه یک∆x، در بازه مربوطه، بر روی متغیر تصمیم گیری، که نرخ آب خروجی واحدها است، تغییر ایجاد می شود که این تغییرات برای مدت 24 ساعت و بر روی تک تک واحدهای آبی ایجاد می شود. در صورتی که پس از محاسبه تابع هدف تغییر ایجاد شده سبب بهبود جواب نهایی (ملکه) شود آن جواب جدید جایگزین جواب قبلی می شود و در صورتی که این تغییر در جواب نهایی (ملکه) بهبود ایجاد نکند؛ یعنی جواب از مقدار ملکه بیشتر شود، آنگاه در خلاف علامت ∆x بر روی متغیر تصمیم گیری تغییر ایجاد می شود. این عمل باعث افزایش سرعت همگرایی شده؛ یعنی در تعداد تکرار بسیار اندک الگوریتم به مقدار مینیمم همگرا می شود و سبب نزدیک شدن الگوریتم به مینیمم مطلق می شود.
4-2- تابع هدف
برای مسأله برنامه ریزی واحدهای آبی - حرارتی، تابع هدف به صورت مجموع تابع هزینه مربوط به واحدهای حرارتی و عبارت مربوط به تابع جریمه است که این تابع جریمه شامل نوسانهای مربوط به قیود مختلف آبی - حرارتی با در نظر گرفتن یک ضریب جریمه، مربوط به هر یک است. در نتیجه، تابع هدف را می توان به صورت زیر در نظر گرفت ]8[:
(16) |
که در آن EVA تابع هدف کلی بوده، J هزینه تولید نهایی مربوط به واحد حرارتی معادل است، تعداد قیود مسأله بوده مقدار نوسان مربوط به قید k و ضریب جریمه مربوط به نوسان قید k ام است.
هزینه سوخت مربوط به واحدهای حرارتی به مجموع توان تولیدی واحدهای آبی و بار مورد تقاضای سیستم مطابق با معادله (3) مربوط به تعادل بار سیستم وابسته است. معادله مشخصه یک سیستم حرارتی معادل که در این مقاله استفاده قرار شده، به شکل زیر است ]20[:
|
|
And (17) |
|
|
برای به دست آوردن تابع هدف مربوط به معادله (16) مراحل زیر به صورت گام به گام انجام شده است ]19[:
گام1: تولید آب خروجی ( ) هر واحد به صورت رندوم و با در نظر گرفتن قید مربوط به نرخ حداقل و حداکثر آب خروجی. گام2: با استفاده از معادله (7) حجم آب مربوط به هر منبع محاسبه شده و سپس توان تولید شده توسط واحد آبی از طریق مشخصه خروجی توان واحد آبی، معادله (6) محاسبه شده است.
گام3: با استفاده از معادله توان بار، معادله (3) و مشخصه توان خروجی مربوط به واحد حرارتی معادله (17) هزینه تولید مربوط به واحد حرارتی قابل محاسبه است.
گام4: پس از آنکه محاسبات برای واحدهای آبی از واحدهای بالا تا واحد پایین و از ساعت 1ام تا ساعت 24ام انجام شد، هزینه تولید نهایی مربوط به واحد حرارتی قابل محاسبه است.
گام5: طبق معادلات مربوط به قیود مختلف، از جمله معادلات (4)،(5)،(8)،(9)و(10) میزان نوسانهای قیدهای مختلف تخمین زده می شود.
گام 6: با استفاده از معادله (16)، تابع هدف EVA برای الگوریتم جفت گیری زنبور عسل محاسبه شده است.
4-3- استفاده از الگوریتم توسعه یافته بهینه یابی جفت گیری زنبور عسل در مسأله
گام1: تعیین پارامترهای مربوط به سیستم و الگوریتم از قبیل تعداد ملکه ها، تعداد نوزادان، حداکثر تعداد جفت گیری و غیره؛
گام2: تولید تصادفی جواب های اولیه ( ) در محدوده مشخص شده توسط مسأله؛
گام3: محاسبه مقدار تابع هدف هر یک از جواب های تولید شده همان طور که مراحل آن در قسمت 4-2 ذکر شده است. و نهایتاً انتخاب بهترین جواب به عنوان ملکه که در اینجا مینیمم هزینه به عنوان ملکه در نظر گرفته می شود؛
گام4: بهبود ملکه توسط کارگرها با استفاده از روش معرفی شده در بخش 4-1 و معادلات مربوطه؛
گام5: استفاده از تابع آبکاری معادله (12) برای انتخاب مجموعهای از جوابها از فضای جستجو به منظور انجام عمل جفت گیری بین بهترین جواب حاضر (ملکه) و جواب های آزمایشی انتخاب شده برای مبادله اطلاعات محتمل؛
گام6: تولید سری جدیدی از جوابها، با به کارگیری عملگرهای تقاطع و توابع هوشمند از پیش تعریف شده، مثل انواع مختلف عملگرهای جهش، بر طبق مقدار قابلیتشان بین بهترین جواب حاضر و جواب های آزمایشی؛
گام7: بهبود سری جدید تولید شده از جواب ها با به کارگیری توابع هوشمند (عملگرهای جهش متفاوت) بر طبق مقدار قابلیتشان؛
گام8: محاسبه تابع هدف برای جوابهای جدید تولید شده که در صورت بهتر شدن جواب از مقدار ملکه، جواب جدید جایگزین ملکه می شود؛
گام9: در صورتی که تعداد تکرارها یا پرواز ملکه به مقدار نهایی برسد، از حلقه خارج شده و در غیر این صورت، الگوریتم به گام 2 منتقل می شود و مراحل 2 تا 8 مجدداً تکرار می شود.
در ادامه، فلوچارت روش پیشنهادی در شکل (2) رسم شده است.
5- شبیه سازی و نتایج
برای آزمایش میزان قدرت الگوریتم توسعه یافته جفت گیری زنبور عسل، این الگوریتم بر روی سیستم آبی- حرارتی معرفی شده در مرجع ]20[ پیاده سازی شده است. همان طور که در شکل (3) مشاهده می شود، این سیستم از چهار منبع نیروگاه آبی که به صورت زنجیره ای به یکدیگر متصل بوده، به همراه یک نیروگاه معادل حرارتی تشکیل شده است. دوره برنامه ریزی 24 ساعته و با بازه زمانی ساعتی است. بهترین جواب به دست آمده برای این سیستم 918550 دلار است.
پارامترهای مورد استفاده برای الگوریتم جفت گیری زنبور عسل، از قبیل: اندازه جمعیت، ضریب تقاطع، ضریب جهش و غیره در جدول (1) معین شده است.
تمام برنامه ها توسط نرم افزار متلب و با سیستم با مشخصات (2.67GHZ CPU, 4GB RAM)نوشته شده است. نتیجه پس از 10 بار اجرای برنامه به دست آمده که در هر بار اجرا، جمعیت اولیه به صورت رندوم تولید شده است. نتیجه به دست آمده با نتایج حاصل بر روی سیستم یکسان در مرجع های ]20،8[ مقایسه شده است که میتوان اطلاعات مربوطه را در جدول (2) مشاهده کرد.
شکل(2): فلوچارت الگوریتم IHBMO |
با توجه به جدول (2) مشاهده می شود که نتیجه حاصل از این الگوریتم (IHBMO)، از نتیجه حاصل از روشهای مختلف بهینه یابی و همچنین، روش بهینه یابی جفت گیری زنبور عسل (HBMO) نیز بهتر و جوابها دارای استحکام بوده است؛ یعنی فاصله بین بدترین جواب و بهترین جواب کم است.
داده های بهینه مربوط به برنامه ریزی آبی - حرارتی در جدول های (3و4) و شکل های (4و5) نشان داده شده است. جدول (3) مقدار توان تولیدی واحدهای آبی و حرارتی را بر حسبMW و برای هر ساعت مشخص میکند. جدول (4) مشخص کننده نرخ آب خروجی بهینه برای هر ساعت در طول یک شبانه روز است. شکل (4) میزان توان تولیدی توسط واحدهای آبی و حرارتی در طول 24 ساعت را نشان می دهد. شکل (5) میزان حجم آب ذخیره شده را در طول 24 ساعت به تصویر کشیده است. مجموع نوسانهای حجم آب نهایی مربوط به چهار واحد نیروگاهی در پایان دوره برنامه ریزی 08/0 است. این مقدار نشان دهنده تلرانس بسیار اندک حجم آب نهایی بوده، مشخص کننده این است که قید حجم آب نهایی به خوبی ارضا شده است.
شکل (6) تمایل به همگرایی تابع هدف را برای الگوریتم زنبور عسل در دو حالت معمولی و توسعه یافته نسبت به تعداد پرواز جفت گیری ملکه نشان می دهد. با توجه به شکل به روشنی دیده می شود که سرعت همگرایی در حالت توسعه یافته بسیار بهتر از حالت معمولی بوده؛ به طوری که پس از 500 تکرار الگوریتم تقریباً به مقدار نهائی خود رسیده است، در حالی که در روش بهینه یابی جفت گیری زنبور عسل معمولی پس از 3000 تکرار و در روش بهینه سازی انبوه ذرات ]8[ الگوریتم پس از 20000 تکرار همگرا شده است.
شکل(3): شماتیک یک سیستم آبی حرارتی[25]
جدول(1): پارامترهای مربوط به IHBMO در برنامه ریزی سیستم
پارامترها |
مقادیر |
اندازه جمعیت |
50 |
ضریب تقاطع |
5/0 |
ضریب جهش |
01/0 |
حداکثر تعداد جفت گیری |
30 |
حداقل تعداد جفت گیری |
25 |
تعداد نوزادان |
15 |
ضریب کاهش سرعت (α) |
98/0 |
سرعت ملکه در آغاز پرواز جفت گیری |
]1و5/0[ |
حداقل سرعت ملکه در پایان پرواز جفت گیری |
]5/0و0[ |
تعداد پروازهای جفت گیری |
5000 |
تعداد ملکه ها |
1 |
شکل(4): برنامه تولید برای هر ساعت
جدول(2): توان تولیدی واحدهای آبی و حرارتی را بر حسبMW
ساعت |
نیروگاه1 |
نیروگاه2 |
نیروگاه3 |
نیروگاه4 |
حرارتی |
1 |
8997/63 |
4911/60 |
7516/39 |
8458/238 |
967 |
2 |
8431/87 |
7371/63 |
4267/8 |
3213/231 |
7/998 |
3 |
8807/71 |
3684/54 |
3505/4 |
3927/207 |
1022 |
4 |
9443/72 |
0063/75 |
0318/39 |
1384/213 |
9/889 |
5 |
1496/64 |
9079/72 |
6449/54 |
7387/223 |
6/874 |
6 |
4891/79 |
2360/63 |
6453/56 |
2179/236 |
4/974 |
7 |
8980/77 |
9737/62 |
5466/57 |
0691/240 |
5/1211 |
8 |
9056/86 |
2163/52 |
1890/59 |
8875/237 |
8/1563 |
9 |
7497/80 |
2696/64 |
8338/11 |
0273/251 |
1/1832 |
10 |
2602/60 |
5696/55 |
2664/40 |
9344/246 |
1917 |
11 |
9314/86 |
1227/52 |
0120/52 |
3483/253 |
6/1785 |
12 |
7148/87 |
6501/72 |
4099/15 |
8155/231 |
4/1902 |
13 |
4230/65 |
2906/56 |
2067/16 |
0998/259 |
1833 |
14 |
2363/63 |
2579/65 |
1842/56 |
0233/268 |
3/1747 |
15 |
3298/80 |
8575/53 |
2016/58 |
2880/272 |
3/1665 |
16 |
3856/91 |
7983/67 |
4759/36 |
0363/264 |
3/1610 |
17 |
0735/77 |
1668/53 |
8329/57 |
7549/289 |
2/1652 |
18 |
2373/89 |
4998/52 |
3955/48 |
7956/268 |
1/1681 |
19 |
4008/96 |
8382/55 |
6223/58 |
6392/262 |
5/1766 |
20 |
7589/82 |
0930/55 |
7785/59 |
5785/256 |
8/1825 |
21 |
8275/71 |
0703/70 |
8083/60 |
0168/275 |
3/1762 |
22 |
2554/68 |
6603/68 |
0524/12 |
2422/257 |
8/1713 |
23 |
2098/75 |
8818/46 |
2597/30 |
8919/288 |
8/1408 |
24 |
1565/73 |
6969/56 |
1735/58 |
4219/283 |
6/1118 |
شکل(5): تغییرات حجم آب ذخیره شده برای واحدها ی آبی ( ) |
شکل(6): فرایند همگرایی روش جفت گیری زنبور عسل برای واحدهای آبی - حرارتی |
جدول(3): مقایسه روشهای مختلف بهینه سازی
GWPSO[8] |
GCPSO[8] |
MAPSO[11] |
GA[8] |
HBMO |
IHBMO |
روش ها |
951253 |
972658 |
923508 |
951087 |
927790 |
923340 |
ماکزیمم |
930622 |
927288 |
922421 |
942600 |
923300 |
918550 |
مینیمم |
940036 |
936717 |
922544 |
946609 |
925905 |
921056 |
میانگین |
-- |
-- |
-- |
840/2602 |
944/1564 |
163/1447 |
انحراف معیار |
-- |
-- |
-- |
0027496/0 |
0016903/0 |
0015712/0 |
ضریب تغییرات |
-- |
-- |
-- |
-- |
8/153 |
1/111 |
متوسط زمان(ثانیه) |
IFEP[19] |
CEP[19] |
FEP[19] |
EPSO[9] |
LWPSO[8] |
LCPSO[8] |
روش ها |
930881 |
930927 |
931396 |
924808 |
927240 |
928219 |
ماکزیمم |
930129 |
930166 |
930267 |
922904 |
925383 |
925618 |
مینیمم |
930290 |
930373 |
930897 |
923527 |
926352 |
926651 |
میانگین |
-- |
-- |
-- |
-- |
-- |
-- |
انحراف معیار |
-- |
-- |
-- |
-- |
-- |
-- |
ضریب تغییرات |
-- |
-- |
-- |
-- |
-- |
-- |
متوسط زمان(ثانیه) |
جدول(4): نرخ تخلیه ساعتی آب نیروگاه ها( )
نیروگاه4 |
نیروگاه3 |
نیروگاه2 |
نیروگاه1 |
ساعت |
1426/17 |
0223/21 |
7190/7 |
2745/6 |
1 |
8137/16 |
7010/25 |
3012/8 |
2102/10 |
2 |
9740/13 |
7291/25 |
5699/6 |
3762/7 |
3 |
4946/15 |
0380/20 |
3781/10 |
5534/7 |
4 |
2726/16 |
9338/14 |
2381/10 |
3495/6 |
5 |
4674/16 |
9156/13 |
5180/8 |
7015/8 |
6 |
4070/15 |
3659/14 |
8127/8 |
4519/8 |
7 |
4237/14 |
0577/14 |
9807/6 |
3048/10 |
8 |
2181/16 |
4126/25 |
2201/9 |
9693/8 |
9 |
9730/15 |
6569/20 |
4840/7 |
7904/5 |
10 |
3372/13 |
3713/17 |
7147/6 |
7011/9 |
11 |
5518/14 |
4675/24 |
9214/10 |
8487/9 |
12 |
8707/16 |
1816/24 |
6313/7 |
2729/6 |
13 |
6875/17 |
1658/14 |
2842/9 |
9266/5 |
14 |
5468/18 |
3880/12 |
0687/7 |
1080/8 |
15 |
1207/16 |
2235/21 |
7822/9 |
9308/9 |
16 |
9905/18 |
2045/18 |
1568/7 |
6231/7 |
17 |
3422/16 |
7871/18 |
1735/7 |
5424/9 |
18 |
0234/16 |
3609/14 |
8106/7 |
2004/11 |
19 |
5543/14 |
3301/12 |
6450/7 |
6570/8 |
20 |
1468/17 |
2932/14 |
9023/10 |
0569/7 |
21 |
4901/14 |
8534/25 |
9049/10 |
5685/6 |
22 |
3271/19 |
7712/22 |
5993/6 |
4566/7 |
23 |
8156/19 |
7987/14 |
2347/8 |
1327/7 |
24 |
6- نتیجه گیری
در این مقاله روش بهینه یابی جفت گیری زنبور عسل بر روی واحدهای آبی و حرارتی بر روی یک سیستم مشخص در طول 24 ساعت با موفقیت انجام شد. میزان کارایی و موفقیت این روش از طریق مقایسه با دیگر روشهای بهینه سازی به خوبی نشان داده شده است. با توجه به نتایج به دست آمده، مشاهده میشود که تمایل به همگرایی و همچنین سرعت همگرایی در الگوریتم معرفی شده نسبت به روش های دیگر بسیار بهتر است. همچنین، میزان تلرانس حجم آب نهایی مربوط به چهار واحد بسیار اندک بوده؛ پس می توان نتیجه گرفت که الگوریتم توسعه یافته جفت گیری زنبور عسل در ارضای قیود پیچیده و غیر خطی بسیار موفق است.
[1]تاریخ ارسال مقاله : 6/6/1391
تاریخ پذیرش مقاله : 30/10/1391
نام نویسنده مسئول : حامد برادران توکلی
نشانی نویسنده مسئول : ایران – تهران – دانشگاه آزاد اسلامی، واحد علوم و تحقیقات تهران – گروه مهندسی برق