لینک دانلود و خرید پایین توضیحات
فرمت فایل 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. نتیجهگیری و پیشنهادات:
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 49
علم ژنتیک
تاریخچه علم ژنتیک
به عنوان مقدمه
دانش زیست شناسی یکی از قدیمی ترین علومی بوده که بشر به آن توجه داشته است. شواهد بسیار زیادی که طی کاوشهای باستان شناسی بدست آمده حکایت از آن دارد که انسانهای پیشین به دانش زیست شناسی توجه داشته اند و در این میان اصلاح نژاد دامها و پرورش گیاهان با باردهی بیشتر از دانش گذشتگان در مورد علم ژنتیک خبر می دهد. اما از حدود یک قرن پیش دانش زیست شناسی وارد مرحله جدیدی شد که بعدا آن را ژنتیک نامیده اند و این امر انقلابی در علم زیست شناسی به وجود آورد. در قرن هجدهم ، عده ای از پژوهشگران بر آن شدند که نحوه انتقال صفات ارثی را از نسلی به نسل دیگر بررسی کنند؛ این بررسی ها به نتیجه قابل ملاحضه ای ختم نشد. دو دلیل مهم آن عبارت بودند از آگاهی نداشتن به ریاضیات و دلیل دوم انتخاب صفاتی بود که برای پژوهش های اولیه ژنتیک مناسب نبودند.اولین کسی که توانست قوانین حاکم بر انتقال صفات ارثی را شناسایی کند، کشیشی اتریشی به نام گریگور مندل بود که در سال 1865 این قوانین را که حاصل آزمایشاتش روی گیاه نخود فرنگی بود، ارائه کرد. این در حالی بودکه جامعه علمی آن دوران به دیدگاه ها و کشفیات او اهمیت چندانی نداد و نتایج کارهای مندل به دست فراموشی سپرده شد. و به نظر می رسید ، پرونده این دانش رو به بسته شدن است. در سال 1900 میلادی کشف مجدد قوانین ارائه شده از سوی مندل ، توسط درویس ، شرماک و کورنز باعث شد که نظریات او مورد توجه و قبول قرار گرفته و مندل به عنوان پدر علم ژنتیک شناخته شود.
در سال 1953 با کشف ساختمان جایگاه ژنها (DNA) از سوی جیمز واتسن و فرانسیس کریک ، رشته ای جدید در علم زیست شناسی به وجود آمد که زیست شناسی ملکولی نام گرفت . با حدود گذشت یک قرن از کشفیات مندل در خلال سالهای 1971 و 1973 در رشته زیست شناسی ملکولی و ژنتیک که اولی به بررسی ساختمان و مکانیسم عمل ژنها و دومی به بررسی بیماری های ژنتیک و پیدا کردن درمانی برای آنها می پرداخت ، ادغام شدند و رشته ای به نام مهندسی ژنتیک را به وجود آوردند که طی اندک زمانی توانست رشته های مختلفی اعم از پزشکی ، صنعت و کشاورزی را تحت الشعاع خود قرار دهد و دیدگاه های مختلف عصر حاضر را به خود اختصاص دهد.
اساس مهندسی ژنتیک و بیوتکنولوژی انتقال یک یا تعدادی از ژنهای یک ارگانیسم به درون خزانه ژنتیکی یک ارگانیسم دیگر است. به این ترتیب ارگانیسم جدید واجد ژنهایی خواهد شد که در گذشته فاقد آن بوده و اینک وادار می شود که در شرایط محیطی مناسب اقدام به بیان آن ژن نماید که محصول آن می تواند منجر به بروز صفت خاص و یا تولید فراورده ای شود.
مهندسی ژنتیک و بیوتکنولوژی در چند سال اخیر توانسته منشأ خدمات ارزنده ای برای نوع بشر باشد. از مهمترین دستاوردهای این دانش می توان تأثیر آن را حیطه های مختلف از جمله صلاح نژادی حیوانات و گیاهان با هدف تولید فراورده های بیشتر، تهیه داروها و هورمون ها با درجه خلوص بالا و صرف هزینه های پایین ، درمان بیماری های ژنتیکی با ایجاد تغییرات در سلول تخم و موار متعدد دیگر اشاره کرد. تشخیص قبل از بارداری بیماری های ژنتیکی ، تشخیص صحت رابطه فرزند با پدر و مادر و همچنین تکنیک شناسایی مجرمان از روی بقایای باقی مانده از بدن ، مو و یا خون آنها از جمله توانایی های دیگر ژنتیک مولکولی است.در نگاهی دیگر دورنمای دانش ژنتیک و بیوتکنولوژی بسیار زیبا جلوه می کند. تولید اعضای بدن از قلب گرفته تا چشم و دست و پا به صورت مجزا از طریق مهندسی ژنتیک و ارایه آنها به بانکهای اعضای بدن با هدف کمک به نیازمندان پیوند عضو ، یکی از این موارد است. به این ترتیب مشکل دفع پیوند حل خواهد شد و مخصوصاً در صورتی که عضو پیوندی از دارای خزانه ژنتیک همان فرد باشد هیچ آنتی ژن بیگانه ای نمیتواند عامل دفع عضو باشد. درمان بسیاری از بیماری های ژنتیکی مخصوصاً در دوره جنینی قابل درمان خواهد بود. هویت افراد از روی کارتهای شناسایی که بر پایه وراثت و ژنتیک آنها عمل می کند ممکن خواهد شد و مجرمان با گذاشتن کوچکترین اثر بیولوژیکی از خود مثل یک تار مو بسرعت شناسایی خواهند شد. دنیای آینده در تسخیر دانش ژنتیک خواهد بود و برای این علم نمیتوان پایانی قائل شد. اگر چه به نظر می رسد مثل هر دانش دیگری، این علم هم می تواند ابزاری برای ارضاء حس قدرت طلبی بسیاری از سیاستمداران باشد و تا کنون شاهد جنجالهای بسیاری زیادی هم در این مورد بوده ایم. یکی از مهمترین موارد آن تولید گیاهان تراریخت و کلونینگ و همسانه سازی انسان بوده