لینک دانلود و خرید پایین توضیحات
فرمت فایل 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. نتیجهگیری و پیشنهادات:
لینک دانلود و خرید پایین توضیحات
دسته بندی : وورد
نوع فایل : .doc ( قابل ویرایش و آماده پرینت )
تعداد صفحه : 12 صفحه
قسمتی از متن .doc :
الگوریتم اجتماع مورچه (Ant Colony Algorithm)
1- معرفی
یکی از مسائلی که بهوسیلهی زیستشناسان مورد مطالعه قرار گرفته است درک این موضوع است که چگونه موجودات تقریبا کور مانند مورچهها کوتاهترین مسیر را از لانهی خود تا منبع غذا و بر عکس پیدا میکنند.آنها پی بردند که یک رسانه برای ابلاغ اطلاعات بین تکتک مورچهها مورد استفاده قرار میگیرد و برای تصمیمگیری درمورد اینکه کدام مسیر را انتخاب کنند بهکار میرود که آن رسانه عبارت است از بو(اثر) مادهای بهنام فرومون.
الگوریتمهای لانهی مورچه از جمله روشهای فرامکاشفهای هستند که برای حل مسایل بهینهسازی سخت پیشنهاد شدهاند. این الگوریتمها در آغاز از رفتارهای اجتماعی پشت سرهم قرار گرفتن و تعقیب کردن الهام گرفته شد، که در جامعهی مورچگان مشاهده گردید. یک اجتماع از عاملهای ساده (مورچهها) به طور غیر مستقیم از طریق تغییرات پویای (دینامیکی) محیط ارتباط برقرار میکنند (رد پاهایی از فرومون) و بنابراین بر اساس تجربهی اجتماعی آنها، یک راهحل برای یک مسئله ارائه میدهند.
در این مطالعه مدل کاوش مورچه ها Meta-Heurestic انتخاب شده است و درابتدا الگوریتمهای ساده شرح داده می شود و سپس به مطالعه سیستم AS (ant system) و سیستمACS (ant colony system) وMMAS(max-min ant system) و..... شرح داده می شود.
-2- رفتار طبیعی مورچه
یک مورچه در حال حرکت مقداری فرومون دراندازههای گوناگون از خود بر روی زمین باقی میگذارد و بدین ترتیب مسیر را بهوسیلهی بوی این ماده مشخص میسازد. هنگامی که یک مورچه بهطور تصادفی و تنها حرکت میکند با روبهرو شدن با مسیری که توسط مورچه یا مورچههای قبلی انتخاب شده و دارای بوی فرومون است به احتمال زیاد آن را انتخاب میکند و با فرومونی که خود بر جای میگذارد بوی آن را در مسیر مذکور تقویت مینماید.
وقتی رفتار جمعی پدید میآید، گونهای از رفتار خود تقویتی است، یعنی هرچه مورچه ها بو(اثر) مادهی مذکور را دنبال کنند آن بو برای مورچههای پیرو آنها جذابتر خواهد بود. فرایند گفته شده به وسیلهی یک حلقه توصیف میشود، یعنی احتمال اینکه یک مورچه یک مسیر را انتخاب کند متناسب باتعداد مورچههایی که قبلا آن مسیر را انتخاب کردهاند افزایش مییابد.
ایده این است که اگر در یک نقطه معین یک مورچه مجبور است از بین مسیرهای مختلف یکی را انتخاب کند، مسیرهایی را که توسط مورچههای قبلی بیشتر انتخاب شدهاند، به عبارت دیگر سطح بوی آنها بالاتر است، با احتمال بیشتری انتخاب خواهد کرد. بهعلاوه سطح فرمون بالاتر معادل مسیرهای کوتاهتر خواهد بود.
الگوریتم های ACO بر پایه مدل احتمال پارامتری(مدل فرومون) قرار دارند.
مورچه های مصنوعی به طور افزایشی با اضافه کردن به جا و مناسب مولفه های راه حل تعریف شده به راه حل جزئی مورد نظر راه حلهایی را می سازند.
در تصویر بالا مسیرهای متفاوت برای غذایابی دیده می شود.و تعداد مورچه ها و A و B مسیرهای در زمان t جستجو برای یافتن مسیر آغاز و در زمان t+1 مسیر پیدا شده و فرمول مورد استفاده :
C کمیتی غیر اکتشافی برای مقدار جذب فرمون است و تحت تاثیر فرمون ذخیره شده در فرآیند است.و باتعداد مورچه ها نسبت مستقیم دارد.در اثر تجربه مقدار برای =2 و c=20 است. اگر پس مسیر A بهتر از B است.
اگر دو مسیر یکسان باشند مسیر بصورت تصادفی و تعداد مورچه ها یکسان باشد در بیشتر موارد مسیر کوتاهتر بعد از مدتی پیدا می شودو مقدار فرمون مسیر کوتاهتر بیشتر از مسیر دیگر است.
و شاخه قویتر مورد استفاده قرار میگیرد.الگوریتم زیر برای ایجاد مسیر کوتاهتر است:
Let r~U(0,1)
For each potential path A do
Calculate Pa using ,e.g.,equation (1.1)
If r<=Pa then
Follow path A;
Breack ;
End
End
-3بهینه سازی کلونی مورچه ساده(SACO) :
برای انجام این کار، مورچه های مصنوعی یک گام برداری تصادفی را روی گراف همبند کامل G=(C,L) انجام می دهند، که راسهای آن مولفه های راه حل C و مجموعهء L ، اتصالات است.این گراف، گراف ساخت نام دارد.
وقتی یک مسئله CO دارای محدودیت را در نظر می گیریم، محدودیتهای مسئله در رویه سازندهء مورچه ها ساخته می شوند به نحوی که در هر مرحله از فرایند ساخت فقط مولفه هایی از راه حل که عملی هستند می توانند به راه حل جزئی فعلی اضافه شوند. مولفههای ci ЄC با پارامتر ردیابی فرومون Ti متناظر می شوند و اتصالات Lij ЄL می توانند با پارامتر ردیابی فرومون Tij متناظر گردند. مجموعهء کل این پارامترها با T نشان داده میشود.
مقادیر این پارامترها ( مقادیر فرومون) به ترتیب با نشان داده می شوند.
به علاوه مولفه ها و اتصالات به ترتیب می توانند با مقدار اکتشافی متناظر گردند.
مجموعهء همه مقادیر را با H نشان می دهیم. . این مقادیر برای تصمیمات احتمالی مورچه ها در مورد چگونگی حرکت در گراف ساخت استفاده می گردند.احتمالات مربوط به گراف ساخت، احتمالات انتقال نامیده می شود.
بعد از مقدار دهی اولیه به مقادیر فرومون ، در هر مرحله ، هر مورچه یک راه حل را می سازد. سپس این راه حلها برای به روزرسانی مقادیر فرومون استفاده می گردند
در ابتدا، کلیهء مقادیر فرومون با یک مقدار کوچک مشابه ph>0 مقداردهی می شوند. در فاز ساخت، یک مورچه با افزودن مولفه هایی به راه حل جزئی فعلی ، به تدریج یک راه حل را ایجاد می کند.اگر هیچ نودی وجود نداشته باشد =0 و در غیر اینصورت فرآیند انجام و به می رسد.ودر صورت افتادن در حلقه باید ان مسیر حذف و دوباره عملیات انجام گردد. در مقادیر بالا برای مقدار فرمون را تقویت میکندو دراین حال گره های اصلی بدست آمده وحلقه ها از بین می روند.وبرای فرمون اضافه شده استفاده می گردد.
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 142
عنوان :
الگوریتم های فشرده سازی صدا و تصویر
در رشته کامپیوتر گرایش نرم افزار
ارائه شده به :
گروه فنی مهندسی
بنام خدای پاکی ها
فهرست مطالب
عنوان صفحه
فهرست شکلها الف
مقدمه 1
فصل اول : چند رسانه ای چیست ؟
چند رسانه ای چیست
تعاریف
موارد استفاده چند رسانه ای
چند رسانه ای در تجارت
چند رسانه ای در مدرسه
چند رسانه ای در خانه
چند رسانه ای در مکانهای عمومی
فشرده سازی چیست ؟
الگوریتمهای فشرده سازی
رمز گذاری آنتروپی
رمز گذاری منبع
خلاصه فصل اول ج
فصل دوم : صوت
صوت
قدرت صوت
صوت در سیستم چند رسانه ای
صداهای MIDI در مقایسه با صداهای دیجیتال
صوت دیجیتال
ساختن فایل های صوتی دیجیتال
ویرایش اصوات ضبط شده دیجیتال
اندازه فایل در برابر کیفیت
فضای ذخیره سازی
خلاصه فصل دوم د
فصل سوم : تصویر
تصویر
ساختن تصاویر ثابت
مدلهای رنگ کامپیوتر
تصاویر Bitmap
تصاویر جی پی ئی جی
JPEG
سیستمهای دیجیتال
خلاصه فصل سوم و
فصل چهارم : فیلم
استاندارد های موجود در پخش تصاویر ویدئویی
استاندارد NTSC
استاندارد PAL
استاندارد SECAM
استاندارد HDTV
انیمیشن ، ویدئو و تصاویر متحرک دیجیتال
فشرده سازی تصاویر ویدئویی
MPEG
استاندارد MPEG
DVI – Indeo
سایر روشهای فشرده سازی
بهینه کردن فایلهای ویدئویی برای CD – ROM
ارسال و دریافت فیلم در شبکه
فیلمهای ویدئویی در خواستی
کارگزارهای فیلم ویدئویی
شبکه توزیعی
لینک دانلود و خرید پایین توضیحات
فرمت فایل 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