کلمات کلیدی:
بازآرایی بهینه، الگوریتم ژنتیک، کاهش تلفات
چکیده:
در این مقاله الگوریتم ژنتیک جهت حل یک مساله بهینه سازی بکار برده شده است. منظور از بهینهسازی انتخاب بهترین ساختار از یک شبکه توزیع جهت کمینه کردن تلفات می باشد. الگوریتم ژنتیک یکی از روشهای پرقدرت در یافتن بهینه مطلق می باشد. نرم افزاری به زبان C برای الگوریتم پیشنهادی تهیه شده است و نتیجه عددی آن برای دو شبکه نمونه آورده شده است.
1. مقدمه
تغییر ساختار در شبکه های توزیع جهت کاهش تلفات در واقع حل یک مساله بهینهسازی میباشد. روش بکارگرفته شده در این مقاله جهت حل این مساله بهینهسازی استفاده از روش الگوریتم ژنتیک میباشد.
روش الگوریتم ژنتیک به دلیل اینکه کلیه جوابهای ممکن را تولید و سپس از میان آنها بهترین گزینه را انتخاب میکند. لذا از اطمینان بیشتری برای رسیدن به بهینه مطلق برخوردار میباشد.
در یک شبکه توزیع با گستردگی فراوان تنوع بار (اعم از صنعتی، خانگی یا تجاری) و همچنین تغییرات بار بدلیل تنوع فصول، ساعات کار و پیک مصرف و سایر عوامل دیگر و ثایت بودن ساختار شبکه، موجب افزایش تلفات در سیستم میشود. در چنین شرایطی لازم است با اعمال یک آرایش بهینه روی شبکه با باز و بسته کردن کلیدهای موجود به بهینهساختن تلفات امیدوار بود. [1]
برای تجدید آرایش روی شبکههای توزیع روشهای مختلفی پیشنهاد شده است که میتوان آنها را به روشهای خاص و عام تقسیمبندی نمود.
الف: روشهای خاص:
در روشهای خاص برای حل مساله الگوریتم خاصی پیشنهاد میشود که با استفاده از این آلگوریتم ابتدا یک پاسخ محاسبه شده و از روی آن پاسخ و با توجه به الگوریتم مربوطه پاسخ بعدی تا رسیدن به نقطه بهینه با رعایت قیود مساله ادامه مییابد. روشهای خاص به دو روش SEM و SSOM تقسم بندی می گردند.
ب: روشهای عام:
روشهای عام روشهایی هستند که به شکل مساله بستگی نداشته و یگ الگوریتم کلی برای حل مساله پیشنهاد میگردد. دراین روش مجموعه وسیعی از جوابها انتخاب گردیده و با انجام عملیاتی بهینه مطلق انتخاب میگردد. الگوریتم ژنتیک یکی از این روشهاست. دراین مقاله سعی شده است از این روش جهت کاهش تلفات در شبکههای توزیع استفاده گردد.[2]
2. الگوریتم ژنتیک:
الگوریتم ژنتیک یکی از روشهای بهینهسازیی است که بر پایه ایده توارث و تکامل پیادهسازی شدهاست.
نحوه عملکرد الگوریتم ژنتیک بدین صورت است که جمعیتی از نقاط به صورت تصادفی انتخاب گردیده و مقدار تابع هدف به ازای تک تک آنها محاسبه میشود. درمرحله بعد توسط سه عملیات چرخ رولت، تکثیر و جهش نسل جدید تولید میگردد و مقدار تابع هدف برای فرزندان نیز محاسبه میگردد تا سرانجام با توجه به شرایطی پاسخ بهینه بدست آید. [3]
3. مفاهیم اساسی الگوریتم ژنتیک
3-1: کد کردن:
جایگزین کردن دنبالهی مناسب از اعداد 0.1 (بیتها) به جای پارامترهای مساله را کد کردن مینامند.
3-2: کروموزوم:
به رشته یا دنبالهای از بیتها که بهعنوان مشکل یک پاسخ، (اعم از ممکن یا غیرممکن) اطلاق میگردد. یک کروموزوم دارای n ژن یا بیت میباشد.
3-3: جمعیت:
به مجموعهای از کروموزومها جمعیت گفته میشود.
3-4: مقدار برازندگی:
مناسب بودن یا نبودن جواب، با معیاری که از تابع هدف بدست میآید سنجیده میشود. هر چه یک جواب مناسب باشدمقدار برازندگی بزرگتری دارد. برای آنکه شانس بقای چنین جوابی بیشتر شود، احتمال بقای متناسب با مقدار برازندگی آن در نظر گرفته میشود. معمولاً در صورت امکان تابع برازندگی را در بین [1.0] نرمالیزه میکنند.
3-5: عمل تکثیر:
این عمل برای یک جفت از کروموزوم عمل میکند و میتواند به صورت تک نقطهای و یکنواخت باشد. به این صورت که دو کروموزوم از یک نقطه شکسته و بخشهای شکسته شده کروموزوم جابهجا میگردد. نقطه شکست نیز یک عدد تصادفی n از بین 1 تا k (k طول کروموزوم) با توزیع احتمال یکنواخت ( 1/k ) صورت میپذیرد. (مطابق شکل 1)
(تصاویر در فایل اصلی موجود است)
3-6: عملگر جهش:
این عملگر روی هر یک از کروموزوم ها حاصل از عملگر تکثیر بکارگرفته میشود. بدین ترتیب که به ازای هر بیت از کروموزوم یک عدد تصادفی تولید میشود، درصورتیکه مقدار عدد تصادفی تولید شده از مقدار Pm (احتمال عمل جهش ) کمتر باشد در آن بیت عمل جهش انجام میشود. درغیر این صورت در آن بیت عمل جهش صورت نمیگیرد. [4] ( مطابق جدول1)
4. مراحل اجرای الگوریتم ژنتیک
با توجه به صورت مساله، متغیرهایی که باید تعیین شوند مشخص شده سپس آنها را به نحو مناسبی کدگذاری کرده و به شکل کروموزوم نمایش داده میشوند. بر اساس تابع هدف یک تابع برازندگی برای کروموزومها تعریف میگردد و یک جمعیت اولیه دلخواه نیز به طور تصادفی انتخاب میشوند و بدنبال ان میزان تابع برازندگی برای کروموزوم جمعیت اولیه محاسبه میشود و الگوریتم مطابق شکل(2) صورت می پذیرد.
5. اعمال الگوریتم ژنتیک به مساله بهینه سازی
جهت درک بهتر اعمال الگوریتم ژنتیک، موضوع را برای یک شبکه ساده پیاده می کنیم. جهت این کار شبکه مطابق شکل (3) را با 15 شین و 17 فیدر در نظر می گیریم.
ابتدا جمعیت اولیه را به صورت تصادفی جهت شروع عملیات بهینه سازی انتخاب می کنیم. هر آرایش شبکه را در قالب یک کروموزوم (دنباله از اعداد 0.1) مطابق شکل زیر نشان می دهیم (عدد 0 نشانه بازبودن خط و عدد 1 نشانه بسته بودن خط) می باشد.
واضح است که همه کروموزوم های انتخاب شده همگی شرط شعاعی بودن را نداشته باشند. لذا لازم است همه کروموزوم ها بعد از لحاظ دارار بودن این شرط بررسی می گردند:
منظور از شعایی بودن این است که:
اولاً: همه پستهای توزیع مورد تغذیه قرار گیرند.
ثانیاً: هیچ مسیر بسته ای بین پستهای فوق توزیع ایجاد نشود.
ثالثاً: هیچ حلقه ای بین پست های توزیع ایجاد نگردد.
برای بررسی شعایی بودن یک شبکه از دو اصل زیر استفاده می کنیم:
الف: یک شبکه شعاعی با m پست توزیع و n پست توزیع دقیقاً دارای n فیدر در حال وصل است. (شرط لازم)
ب: اگر در یک درخت رئوسی که درجه آنها یک است حذف کنیم و این عمل تکرار پذیرد و چنانچه در نهایت تمامی رئوس درخت حذف شوند شبکه شعاعی خواهد بود. (شرط کافی)
جهت کنترل شرط ایزوله نشدن بار به این صورت عمل می گردد که مجموعه ای از شماره شین های ابتدا و انتهای تمامی خطوط تهیه می گردد و چنانچه این مجموعه تمامی شین های مصرف را در بر بگیرد شرط فوق تامین شده است.
همچنین دیگر قیود الکتریکی شبکه شامل حداکثر افت ولتاژ مجاز شینها و همچنین حداکثر جریان عبوری از خطوط می باشد. درصورت عدم تامین قیود فوق کروموزوم مربوطه از اعضاء جمعیت اولیه کنار گذاشته میشود کروموزوم دیگری انتخاب می گردد. این مرحله از کار تا آنجا انجام میپذیرد که تعداد اعضاء جمعیت اولیه به تعداد تعریف شده برسد.[6]