لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 10
بازآرائی بهینه شبکه های توزیع به روش الگوریتم ژنتیک جهت کاهش تلفات
علی سوادپور
شرکت توزیع نیروی برق آذربایجانشرقی
کلمات کلیدی:
بازآرایی بهینه، الگوریتم ژنتیک، کاهش تلفات
چکیده:
در این مقاله الگوریتم ژنتیک جهت حل یک مساله بهینه سازی بکار برده شده است. منظور از بهینهسازی انتخاب بهترین ساختار از یک شبکه توزیع جهت کمینه کردن تلفات می باشد. الگوریتم ژنتیک یکی از روشهای پرقدرت در یافتن بهینه مطلق می باشد. نرم افزاری به زبان 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]
6. تعیین تابع ارزیاب
ارزشگذاری یک کروموزوم توسط تابع ارزیاب صورت میپذیرد که مقدار برازندگی کروموزوم میباشد. تابع هدف در این مرحله مجموع تلفات شبکه است. چنانچه تلفات خط i ام برابر ri و جریان انتقالی در این خط Ii باشد، تابع هدف به صورت زیر خواهد بود:
و چون بدنبال یافتن حداکثر تابع هدف میباشیم، لذا تابع ارزیاب به صورت زیر تعریف میگردد:
برای آنکه بتوان ارزیاب را برای هر آرایش خاص از شبکه توزیع بدست آورد لازم است که برای هر آرایش از شبکه عمل پخش بار اجرا گردد و مقادیر ولتاژ باسها و جریان فیدرها محاسبه گردد. در نتیجه مقدار تلفات محاسبه می شود.
7. تولید جمعیت جدید و شرط توقف الگوریتم و رسیدن به جواب
جهت تولید جمعیت جدید از دو تابع تکثیر و جهش استفاده میگردد. در ضمن لازم است قبل از انجام دو تابع فوق از کروموزومهای با برازندگی بالا استفاده گردد که برای این کار نیز از عملیات چرخ رولت استفاده میکنیم. در نهایت دوباره از تابع برازندگی استفاده نموده و جمعیت جدید انتخاب میگردد.
در این الگوریتم شرط پایان و همگرایی عملیات جستجو، تغییر نکردن جواب برای تعداد مشخصی از نسلها درنظر گرفته شده است. اما برای اطمینان بیشتر از تغییر نکردن جواب برای مدت طولانی لازم است که از تغییرات اضافی مانند تغییر مقدار احتمال جهش استفاده نمود. [6]
8. نتایج عددی و مقایسه
نرم افزاری به منظور اعمال الگوریتم پیشنهادی به کمک زبان برنامه نویسی ++C تهیه شده است. این نرم افزار محاسبات افت ولتاژ، پخش بار و تعیین وضعیت فیدرها ( از لحاظ باز یا بسته بودن ) را در شبکههای توزیع شعاعی انجام می دهد. (پخش بار بکار رفته در این نرم افزار از روش گوس–سایدل استفاده شده است)
برای تست الگوریتم پیشنهادی دو شبکه 16 شینه با 16 فیدر (شکل 5) و یک شبکه 19 شینه با 24 فیدر (شکل 6) درنظر گرفته شده اند. اطلاعات کامل خطوط و بار این دو شبکه در مرجع (5) و جدول (2) نشان داده شده است.
نتایج حاصله از اعمال نرم افزار بر روی این دوشبکه در جداول (3.4) نشان داده شده است و همچنین پاسخ نرم افزار برای شبکه اول که شبکه استفاده شده در مرجع [5] نیز می باشد، یکسان است.
جهت برآورد مقادیر مناسب پارامترهای الگوریتم ژنتیک، تغییرات پاسخ بهینه (تلفات) نسبت به تغییرات پارامترها بررسی گردید، شایان ذکر است برای ارائه این منحنی برای هر مقدار پارامتر به تعداد 10 بار برنامه اجرا و میانگین پاسخهای بهینه جهت رسم منحنی منظور شده است. به عنوان نمونه منحنی تغییرات تلفات توان (Ploss) نسبت به احتمال Pm (جهشی) رسم گردیده است. (شکل 7)
9. نتیجهگیری و پیشنهادات:
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 10
بازآرائی بهینه شبکه های توزیع به روش الگوریتم ژنتیک جهت کاهش تلفات
علی سوادپور
شرکت توزیع نیروی برق آذربایجانشرقی
کلمات کلیدی:
بازآرایی بهینه، الگوریتم ژنتیک، کاهش تلفات
چکیده:
در این مقاله الگوریتم ژنتیک جهت حل یک مساله بهینه سازی بکار برده شده است. منظور از بهینهسازی انتخاب بهترین ساختار از یک شبکه توزیع جهت کمینه کردن تلفات می باشد. الگوریتم ژنتیک یکی از روشهای پرقدرت در یافتن بهینه مطلق می باشد. نرم افزاری به زبان 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]
6. تعیین تابع ارزیاب
ارزشگذاری یک کروموزوم توسط تابع ارزیاب صورت میپذیرد که مقدار برازندگی کروموزوم میباشد. تابع هدف در این مرحله مجموع تلفات شبکه است. چنانچه تلفات خط i ام برابر ri و جریان انتقالی در این خط Ii باشد، تابع هدف به صورت زیر خواهد بود:
و چون بدنبال یافتن حداکثر تابع هدف میباشیم، لذا تابع ارزیاب به صورت زیر تعریف میگردد:
برای آنکه بتوان ارزیاب را برای هر آرایش خاص از شبکه توزیع بدست آورد لازم است که برای هر آرایش از شبکه عمل پخش بار اجرا گردد و مقادیر ولتاژ باسها و جریان فیدرها محاسبه گردد. در نتیجه مقدار تلفات محاسبه می شود.
7. تولید جمعیت جدید و شرط توقف الگوریتم و رسیدن به جواب
جهت تولید جمعیت جدید از دو تابع تکثیر و جهش استفاده میگردد. در ضمن لازم است قبل از انجام دو تابع فوق از کروموزومهای با برازندگی بالا استفاده گردد که برای این کار نیز از عملیات چرخ رولت استفاده میکنیم. در نهایت دوباره از تابع برازندگی استفاده نموده و جمعیت جدید انتخاب میگردد.
در این الگوریتم شرط پایان و همگرایی عملیات جستجو، تغییر نکردن جواب برای تعداد مشخصی از نسلها درنظر گرفته شده است. اما برای اطمینان بیشتر از تغییر نکردن جواب برای مدت طولانی لازم است که از تغییرات اضافی مانند تغییر مقدار احتمال جهش استفاده نمود. [6]
8. نتایج عددی و مقایسه
نرم افزاری به منظور اعمال الگوریتم پیشنهادی به کمک زبان برنامه نویسی ++C تهیه شده است. این نرم افزار محاسبات افت ولتاژ، پخش بار و تعیین وضعیت فیدرها ( از لحاظ باز یا بسته بودن ) را در شبکههای توزیع شعاعی انجام می دهد. (پخش بار بکار رفته در این نرم افزار از روش گوس–سایدل استفاده شده است)
برای تست الگوریتم پیشنهادی دو شبکه 16 شینه با 16 فیدر (شکل 5) و یک شبکه 19 شینه با 24 فیدر (شکل 6) درنظر گرفته شده اند. اطلاعات کامل خطوط و بار این دو شبکه در مرجع (5) و جدول (2) نشان داده شده است.
نتایج حاصله از اعمال نرم افزار بر روی این دوشبکه در جداول (3.4) نشان داده شده است و همچنین پاسخ نرم افزار برای شبکه اول که شبکه استفاده شده در مرجع [5] نیز می باشد، یکسان است.
جهت برآورد مقادیر مناسب پارامترهای الگوریتم ژنتیک، تغییرات پاسخ بهینه (تلفات) نسبت به تغییرات پارامترها بررسی گردید، شایان ذکر است برای ارائه این منحنی برای هر مقدار پارامتر به تعداد 10 بار برنامه اجرا و میانگین پاسخهای بهینه جهت رسم منحنی منظور شده است. به عنوان نمونه منحنی تغییرات تلفات توان (Ploss) نسبت به احتمال Pm (جهشی) رسم گردیده است. (شکل 7)
9. نتیجهگیری و پیشنهادات:
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 10
بازآرائی بهینه شبکه های توزیع به روش الگوریتم ژنتیک جهت کاهش تلفات
علی سوادپور
شرکت توزیع نیروی برق آذربایجانشرقی
کلمات کلیدی:
بازآرایی بهینه، الگوریتم ژنتیک، کاهش تلفات
چکیده:
در این مقاله الگوریتم ژنتیک جهت حل یک مساله بهینه سازی بکار برده شده است. منظور از بهینهسازی انتخاب بهترین ساختار از یک شبکه توزیع جهت کمینه کردن تلفات می باشد. الگوریتم ژنتیک یکی از روشهای پرقدرت در یافتن بهینه مطلق می باشد. نرم افزاری به زبان 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]
6. تعیین تابع ارزیاب
ارزشگذاری یک کروموزوم توسط تابع ارزیاب صورت میپذیرد که مقدار برازندگی کروموزوم میباشد. تابع هدف در این مرحله مجموع تلفات شبکه است. چنانچه تلفات خط i ام برابر ri و جریان انتقالی در این خط Ii باشد، تابع هدف به صورت زیر خواهد بود:
و چون بدنبال یافتن حداکثر تابع هدف میباشیم، لذا تابع ارزیاب به صورت زیر تعریف میگردد:
برای آنکه بتوان ارزیاب را برای هر آرایش خاص از شبکه توزیع بدست آورد لازم است که برای هر آرایش از شبکه عمل پخش بار اجرا گردد و مقادیر ولتاژ باسها و جریان فیدرها محاسبه گردد. در نتیجه مقدار تلفات محاسبه می شود.
7. تولید جمعیت جدید و شرط توقف الگوریتم و رسیدن به جواب
جهت تولید جمعیت جدید از دو تابع تکثیر و جهش استفاده میگردد. در ضمن لازم است قبل از انجام دو تابع فوق از کروموزومهای با برازندگی بالا استفاده گردد که برای این کار نیز از عملیات چرخ رولت استفاده میکنیم. در نهایت دوباره از تابع برازندگی استفاده نموده و جمعیت جدید انتخاب میگردد.
در این الگوریتم شرط پایان و همگرایی عملیات جستجو، تغییر نکردن جواب برای تعداد مشخصی از نسلها درنظر گرفته شده است. اما برای اطمینان بیشتر از تغییر نکردن جواب برای مدت طولانی لازم است که از تغییرات اضافی مانند تغییر مقدار احتمال جهش استفاده نمود. [6]
8. نتایج عددی و مقایسه
نرم افزاری به منظور اعمال الگوریتم پیشنهادی به کمک زبان برنامه نویسی ++C تهیه شده است. این نرم افزار محاسبات افت ولتاژ، پخش بار و تعیین وضعیت فیدرها ( از لحاظ باز یا بسته بودن ) را در شبکههای توزیع شعاعی انجام می دهد. (پخش بار بکار رفته در این نرم افزار از روش گوس–سایدل استفاده شده است)
برای تست الگوریتم پیشنهادی دو شبکه 16 شینه با 16 فیدر (شکل 5) و یک شبکه 19 شینه با 24 فیدر (شکل 6) درنظر گرفته شده اند. اطلاعات کامل خطوط و بار این دو شبکه در مرجع (5) و جدول (2) نشان داده شده است.
نتایج حاصله از اعمال نرم افزار بر روی این دوشبکه در جداول (3.4) نشان داده شده است و همچنین پاسخ نرم افزار برای شبکه اول که شبکه استفاده شده در مرجع [5] نیز می باشد، یکسان است.
جهت برآورد مقادیر مناسب پارامترهای الگوریتم ژنتیک، تغییرات پاسخ بهینه (تلفات) نسبت به تغییرات پارامترها بررسی گردید، شایان ذکر است برای ارائه این منحنی برای هر مقدار پارامتر به تعداد 10 بار برنامه اجرا و میانگین پاسخهای بهینه جهت رسم منحنی منظور شده است. به عنوان نمونه منحنی تغییرات تلفات توان (Ploss) نسبت به احتمال Pm (جهشی) رسم گردیده است. (شکل 7)
9. نتیجهگیری و پیشنهادات:
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 10
بازآرائی بهینه شبکه های توزیع به روش الگوریتم ژنتیک جهت کاهش تلفات
علی سوادپور
شرکت توزیع نیروی برق آذربایجانشرقی
کلمات کلیدی:
بازآرایی بهینه، الگوریتم ژنتیک، کاهش تلفات
چکیده:
در این مقاله الگوریتم ژنتیک جهت حل یک مساله بهینه سازی بکار برده شده است. منظور از بهینهسازی انتخاب بهترین ساختار از یک شبکه توزیع جهت کمینه کردن تلفات می باشد. الگوریتم ژنتیک یکی از روشهای پرقدرت در یافتن بهینه مطلق می باشد. نرم افزاری به زبان 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]
6. تعیین تابع ارزیاب
ارزشگذاری یک کروموزوم توسط تابع ارزیاب صورت میپذیرد که مقدار برازندگی کروموزوم میباشد. تابع هدف در این مرحله مجموع تلفات شبکه است. چنانچه تلفات خط i ام برابر ri و جریان انتقالی در این خط Ii باشد، تابع هدف به صورت زیر خواهد بود:
و چون بدنبال یافتن حداکثر تابع هدف میباشیم، لذا تابع ارزیاب به صورت زیر تعریف میگردد:
برای آنکه بتوان ارزیاب را برای هر آرایش خاص از شبکه توزیع بدست آورد لازم است که برای هر آرایش از شبکه عمل پخش بار اجرا گردد و مقادیر ولتاژ باسها و جریان فیدرها محاسبه گردد. در نتیجه مقدار تلفات محاسبه می شود.
7. تولید جمعیت جدید و شرط توقف الگوریتم و رسیدن به جواب
جهت تولید جمعیت جدید از دو تابع تکثیر و جهش استفاده میگردد. در ضمن لازم است قبل از انجام دو تابع فوق از کروموزومهای با برازندگی بالا استفاده گردد که برای این کار نیز از عملیات چرخ رولت استفاده میکنیم. در نهایت دوباره از تابع برازندگی استفاده نموده و جمعیت جدید انتخاب میگردد.
در این الگوریتم شرط پایان و همگرایی عملیات جستجو، تغییر نکردن جواب برای تعداد مشخصی از نسلها درنظر گرفته شده است. اما برای اطمینان بیشتر از تغییر نکردن جواب برای مدت طولانی لازم است که از تغییرات اضافی مانند تغییر مقدار احتمال جهش استفاده نمود. [6]
8. نتایج عددی و مقایسه
نرم افزاری به منظور اعمال الگوریتم پیشنهادی به کمک زبان برنامه نویسی ++C تهیه شده است. این نرم افزار محاسبات افت ولتاژ، پخش بار و تعیین وضعیت فیدرها ( از لحاظ باز یا بسته بودن ) را در شبکههای توزیع شعاعی انجام می دهد. (پخش بار بکار رفته در این نرم افزار از روش گوس–سایدل استفاده شده است)
برای تست الگوریتم پیشنهادی دو شبکه 16 شینه با 16 فیدر (شکل 5) و یک شبکه 19 شینه با 24 فیدر (شکل 6) درنظر گرفته شده اند. اطلاعات کامل خطوط و بار این دو شبکه در مرجع (5) و جدول (2) نشان داده شده است.
نتایج حاصله از اعمال نرم افزار بر روی این دوشبکه در جداول (3.4) نشان داده شده است و همچنین پاسخ نرم افزار برای شبکه اول که شبکه استفاده شده در مرجع [5] نیز می باشد، یکسان است.
جهت برآورد مقادیر مناسب پارامترهای الگوریتم ژنتیک، تغییرات پاسخ بهینه (تلفات) نسبت به تغییرات پارامترها بررسی گردید، شایان ذکر است برای ارائه این منحنی برای هر مقدار پارامتر به تعداد 10 بار برنامه اجرا و میانگین پاسخهای بهینه جهت رسم منحنی منظور شده است. به عنوان نمونه منحنی تغییرات تلفات توان (Ploss) نسبت به احتمال Pm (جهشی) رسم گردیده است. (شکل 7)
9. نتیجهگیری و پیشنهادات: