لینک دانلود و خرید پایین توضیحات
فرمت فایل 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 و قابل ویرایش و پرینت
تعداد صفحات: 11
الگوریتم بانکدار
برگرفته ازWikipedia دایرهامعارف مجانی.
این صفحه باعث اجتناب از بن بست در ارتباط است. برای گرد کردن به نزدیک ترین حالت، به بخش گردکردن بانکدار مراجعه کنید.
الگوریتم بانکدار ، الگوریتم اجتناب از بن بست و مقدار منبع می باشد که توسط Edsger Dijkstra ارائه شده است. این الگوریتم توسط شبیه سازی حداکثر مقدار ممکن از پیش تعیین شده منابع، ایمنی منابع را مورد آزمایش قرار می دهد و سپس قبل از تصمیم در مورد اینکه آیا این مقدار اختصاص یافته مجاز به ارائه است یا نه ف یک وضعیت ایمنی را به منظور آزمایش شرایط بن بست موجود بری کلیه فعالیتهای معلق ، ایجاد می نماید.
انتخاب نام برای الگوریتم:
این الگوریتم در قرایند طراحی برای سیستم عامل THE ارائه شده بود که البته در EWD108 به طور مفصل به زبان آلمانی توضیح داده شده است. این نام از مقایسه آن با شیوه ای است که بانکداران برای محدودیتهای بازپرداختی استفاده می کنند.
الگوریتم
الگوریتم بانکدار هر زمانی که فرایندی نیاز به منابعی داشته باشد، توسط سیستم عامل اجرا می گردد. این الگوریتم، به وسیله ردکردن یا به تعویق انداختن درخواست، از بن بست جلوگیری می کند البته اگر درخواست تعیین کننده این باشد که قبول درخواست ممکن است سیستم را در وضعیت ناامن قرار دهد( شرایطی که بن بست می توانند در آن رخ دهد ).
منابع
به منظور به کارگیری الگوریتم بانکدار ، سه چیز لازم به ذکر است:
هر فرایند چقدر از هر منبع می تواند نیاز داشته باشد.
هر فرایند چقدر از هر منبع را دردست دارد.
هر سیستم چقدر از هر منبع را موجود دارد.
برخی از منابع مه در سیستم های واقعی یافت می شوند عبارتند از ک حافظه ،سمافورها (Semaphores) دسترسی مقدماتی ( interface access).
مثال:
با فرض اینکه سیستمی 4 نوع منبع را مشخص می کند (A,B,C and D) مثالی می آوریم از اینکه این منابع چقدر می توانند تقسیم شوند و یا بسط یابند.
توجه داشته باشد که این مثال سیستم را در لحظه ای قبل از رسیدن درخواستی برای منابع ، نشان می دهد. همچنین نوع و تعداد منابع هم خلاصه شده اند. به عنوان مثال ، سیستم های واقعی با مقادیر وسیعتری از هر منبع سرو کار دارند.
Available system resources:
A B C D
3 1 1 2
:Processes ( currently allocated resources )
A B C D
P1 1 2 2 1
P2 1 0 3 3
P3 1 1 1 0
Processes ( maximum resources)
A B C D
P1 3 3 2 2
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 25
الگوریتم STR کلی (تعمیم یافته):
داده ها: پارامتر d مرتبه رگولاتور یعنی درجه R* ، و درجه S* را بدانیم. چند مجموعه ای روبتگر Ao* به جای چند جمله ای C* که نامعلوم است (تقریب C*)
چند جمله ایهای پایدار P* و Q*
سیگنالهای فیلتر شده زیر بایستی معرفی شوند:
گام 1 : تخمین ضرایب R* و S* بروش LS:
( C* : note)
گام 2 : سیگنال کنترل را از روی محاسبه می کنیم
تکرار گامهای فوق در هر پریود نمونه برداری
در صورت همگرایی تخمین : S* و R* گام بعدی با قبلی برابر است)
=
ویا:
فرم کلی در صورت عدم حذف همه صفرهای فرآیند
اتحاد (2) به شکل زیر نوشته می شود:
C*Q*=A*P*R'*+q-dB-*S* R'* از این رابطه بدست می آید.
و سیگنال کنترل می شود:
کنترل فید فوردوارد (پیشخور) – STR (دانستن دینامیک فرایند لازم است)کنترل پیشخور برای کاهش یا حذف اغتشاش معلوم بکار می رود. خود سیگنال فرمان می تواند برای STR ، یک اغتشاش معلوم فرض شود
مثالهایی از اغتشاش قابل اندازه گیری (معلوم): درجه حرارت و غلظت در فرایندهای شیمیایی درجه حرارت خارجی در کنترل آب و هوا – ضخامت کاغذ در سیستمهای milling machinc
مدل فرضی :
چند جمله ایهای ، S* و T* بایستی تخمین زده شوند و آنگاه:
مثال : تاثیر فیلتر کردن (همان فرایند مثالهای قبل را در نظر بگیرید) {رفتار الگوریتم تصمیم یافته توضیح داده می شود}
Y(t)+ay(t-1)=bu(t-1)+e(t)+ce(t-1)
مقادیر واقعی پارامتر : a = -0.9 ,b=3 , c=-0.3
فیلترها را بصورت زیر در نظر بگیرید
اتحاد: C * Q*=A*P*R'*+q-dB-*S*
در این مثال : از مدل فرآیند داریم
اتحاد
قانون کنترل:
R*P*=R'*P*B+*
فیلتر باید پیش فاز باشد که در نتیجه سیستم حلقه بسته بصورت پایین گذر فیلتر خواهد شد.
سئوال P1 و q1 را چگونه انتخاب کنیم؟
جواب: یک روش انتخاب بررسی اثر آنها بر روی واریانس y و u است. فرض کنید e(t) دارای واریانس 1 است.
حالت (a): no filtering P"q1=0
این حالت همان وضعیت کنترل حداقل واریانس است بدون هیچگونه فیلتر کردن .
حالت q1=-0.3 p1=0(b)
سه مبدا
الگوریتم STR کلی( تعمیم یافته):
داده ها: پارامترd، مرتبه رگولاتور یعنی درجه و درجه را بدانیم. چند جمله ای رویتگر ( بجای چند جمله ای که نامعلق است
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 25
9) الگوریتم های ژنتیکی به کاربره شده در مدیریت ترافیک هوایی
افزایش ترافیک هوایی، از زمان شروع تجارت هوایی، باعث مشکل اشباع در فرودگاهها، یا مکانهای فضایی شده است. در حالی که هواپیماها ارتقاء می یابند و اتوماتیک تر می شوند. اما هنوز کنترل ترافیکی بر پایه تجربیات انسان است. مطالعه حاضر ، دو مشکل مدیریت ترافیک هوایی (ATM) را به جزء بیان می کند، که برای آنها راه حل های بر پایه الگوریتم ژنتیکی وجود دارد. اولین کاربرددر رابطه با مشکل enroute است و دومین کاربرد در مورد مشکلات مدیریت ترافیکی در سکوهای فرودگاهها است.
9.1) راه حل درگیریهای Enroute = کنترل ترافیک هوایی (ATC) می تواند توسط یک سرس از فیلترها نشان داده شود، جایی که هر فیلتر یک ؟ خاص دارد و افق های خاص محیطی و موقتی را اداره می کند. 5 سطح (لِوِل) قابل تشخیص است. در دوره طولانی (بشتر از 6 ماه) ترافیک در یک روش میکروسکوپی می تواند برنامه ریزی شود. برای مثال مردم با یک نمودار ترافیکی روبرو هستند که اندازه های کمیته ، که برنامه های ساعتی و موافقت با ارتش را مورد توجه قرار داده است، به کاربرده می شود برای فرهنگ هواپیمایی در زمانهای اوج یعنی بعد ظهر جمعه.
در دوره کوتاهتر ، معمولاً در مورد تنظیمات قبل ، صحت می شود. این مورد شامل برنامه ریزی کردن روز ترافیک ، یک یا دو روز قبل تر می شود. در این مرحله ، اشخاص ایدة مشخصی درباره بیشتر برنامه ی پرواز و ظرفیت کنترل هر مرکز دارند. حداکثر جریان هواپیما که می تواند یک قطر را سوراخ کند. ظرفیت قطر نامیده می شود. این عمل توسط CFMU3 انجام می شود. ترافیک میان آتلانتیک برای مثال در این مرحله مورد توجه قرار می گیرد. راههای هوایی، تنظیم ساعت های پرواز و حالت هوا مورد توجه قرار می گیرد. به طور کل این شغل توسط FMP4 در هر مرکز صورت می گیرد. آخرین فیلتر ، فیلتر تاکتیکال است که با کنترل داخل یک قطر بستگی دارد. زمان متوسطی که یک هواپیما در یک بخش صرف می کند حدود 15 دقیقه است. اینجا میزان رویت کنترل کننده کمی بالاتر از میزان دریافت طرحهای پرواز است چند دقیقه قبل از ورود هواپیما به بخش. کنترل کننده وظیفه چک کردن، حل اختلافات و همپایه بودن با بخش های همسایه را تضمین می کند. در این حالت تعیین تعریف برخورد مطلوب است. دو هواپیما با هم برخورد دارندوقتی که فاصله جدایی افقی بین آنها کمتر 5 مایل باشد و تفاوت انها در ارتفاع کمتر از 1000 فیت باشد. روش هایی که توسط کنترل کننده برای حل این برخورد به کار می رود بر پایه مسائل زیر است.
بر روی تجارب قبلی و هر دانش خلاقی. وقتی که چند جفت از هواپیماها در اختلاف مشابهی با هم تماس دارند، آنها با ساده کردن مشکلات شروع می کنند که فقط اختلافات ابتدایی را داشته باشند.
برای حل فیلتر اضطراری به نظر نمی رسد که مداخله کند به جز مواردی که سیستم کنترل دچار نقض شده یا اینکه ضعیف شده است. برای کنترل کننده ، آشیانه اطمینان مسیر هر هواپیما را با افق موقت چند دقیقه ایی پیش بینی می کنند. از موقعیت های رادار و الگوریتم های ادامه دار استفاده می کند و یک اخطار را در لحظه برخورد بوجود می آورد. این یک راه حلی را برای برخورد پیشنهاد نمی کند. به طور کل TCAS به نظر می رسد که از چنین تصادفی جلوگیری کند. پیش بینی موقت کمتر از یک دقیقه است (بین 25 تا 40 ثانیه) بنابر این بسیار دیر است برای کنترل کننده مانور هواپیما را، همانطور که تخمین زده شده که نیاز به حداقل زمان 1 تا 2 دقیقه برای آنالیز کردن موقعیت دارد راه حلی را پیدا کنند و آنرا به هواپیماها اطلاع دهند. به طور عمومی TCAS، هواپیمای اطاف را جستجو می کند و به خلبان برای حل برخورد پیشنهاداتی می کند. این فیلتر باید برخورد غیر قابل پیش بینی را حل می کند، برای مثال وقتی که یک هواپیما از سطح پرواز خود بالاتر رفته است یا یک مشکل تکنیکی که به طور قابل توجهی ارتفاع آنرا پایین آورده است. کاربردهای پیشنهاد شده در این بخش با فیلتر تاکتیکال ارتباط دارند: دانستن موقعیت هواپیما در لحظه حاضر و موقعیت بعدی آنها، را بوجود نمی آورد. راه حل برای پایه چندین تصور است. یک هواپیما نمی تواند سرعت خود را تغییر دهد (یا بسیار آرام باید این کار را بکند) مگر در مواقع فرود. نباید اینطور تصور شود که یک هواپیما با سرعت انی پرواز می کند، به غیر مواردی که سطح بندی می شود و هیچ بادی وجود ندارد. به علاوه در طول فرود و بلند شدن ، مسیر آن یک خط صاف نیست. هواپیماها در مسیر چرخش خود در فشار هستند. به طور عمومی خلبانها مانور افقی را به عمودی ترجیح می دهند مگر در هنگام بلند شدن یا نشستن. اگر چه امروزه خلبانهای اتوماتیک قرتمندتر از خلبانهای انسانی هستند (در موقعیت های نرمال پرواز) برای مواقعی که حقیقی به نظر می رسد توجه کردن به این مسیرها که توسط انسانها قابل دسترسی نیست.
خلبان. نامطمئنی بین سرعت فرود آمدن و بلند شدن بسیار زیاد است (بین 10% و 50% سرعت عمودی). در طول مسافرت ، نااطمینانی در سرعت کاهش می یابد. بعد از آن ، نا اطمینانی به همراه گذشت زمان بیشتر نمی شود، همانطور که یک هواپیما، ارتفاع خود را کاملاً خوب نگه داشته است. تقریباً غیر ممکن است که به دنبال راه حل های آنالیتکی برای حل مشکل برخورد باشیم . اما، اصلی ترین مشکل از پیچیدگی مشکل بوجود می آید. بخش اول این فصل ، به معرفی بعضی از توضیحات می پردازد که حل مشکل برخورد برای ما قابل فهم تر می کند و بخش دوم به تاریخچه ایی کوتاه از الگوریتمهای آزمایش شده برای این مشکل و محدودیتهای آن می پردازد. قسمت سوم مدلهای مشکل را به جزء بررسی می کند و پیشرفت الگوریتم ژنیتکی برای حل مشکل در بخش چهارم وجود دارد که با آمارهای ؟ بدست آمده دنبال می شود.
1.1.9) پیچیدگی حل مشکل برخورد= یک برخورد را می توان به صورت زیر توضیح داد:
یک برخورد یعنی برخوردی بین دو هواپیما در طول یک زمان داده شده از مسیر پیش بینی شده، گرفتن نااطمینانیها در مسیر.
کلاسهای معادل مربوطه به عنوان دسته و مجموعه برخورد هواپیما یا مجموعه ایی از اندازه n می تواند شامل شود به برخوردهای قوی n. توجه کردن به فقط هواپیمای افقی ، نشان می دهد که تمام راه حل های قابل قبول شامل 2n(n-1) اجزای مرتبط، تحت این تصور که یک متر مناسب به کاربرده شده که نیاز دارد به اجراهای زیادی از الگوریتم جستجو بنابر این برای مجموعه هواپیمای 6،32768 عضو متصل پیشنهاد می شود. در حقیقت اگر عملکرد هواپیما مورد توجه قرار گیرد، تمام اجزای مرتبط لازم نیست که مورد بررسی قرار گیرد. با آرام کردن محدودیت های جدا کننده، مشکل شبیه یک مشکل جهانی می شود که حداقل شامل بهینه های داخلی می شود مانند اجزای متصل. اضافه کردن بعد عمودی خصوصیت ترکیبی مشکل را کم نمی کند.
2.1.9) وجود مترهای حل کننده:
اولین پروژه اتوماتیک کنترل ترافیک ، آمریکایی بود و در شروع دهه 80 بوجود امد، اما قادر به حل مجموعه سایز 3 یا بیشتر نبود. پروژه اروپایی ARC2000 یک متر از نارساییهای ممتر لوله چهار بعدی را پیشنهاد کرد که مسیر n+1+h هواپیما در محیط n که قبلاً مسیرش محاسبه شده بود. ارتقاء دهد.
این مدلها شکیات را مورد توجه قرار ندادند و قادر نبودند با حجم عظیم ترافیک مواجه شوند. در نهایت پروژه تجربی اروپایی FREER در سال 1995 کامل شد. و پیشنهاد کرد که می تواند برخورد هواپیماها را حل کند. مشکل همپایه بودن بین هواپیماها با به کار بردن قوانین قبلی هدایت می شد ، که مانند استفاده