برق, مهندسی 169 بازدید

توان خروجی یک نیروگاه معمولی را که برخلاف نیروگاه خورشیدی که به ماهیت منبع انرژی ‎(خورشید)‎ و سایر عوامل محیطی نظیر دمای محیط وابسته است، می‌توان به‌ سادگی کنترل کرد. مشکل اصلی سیستم‌های فتوولتاییک، نامعینی توان خروجی آن‌هاست. بنابراین، برای استفاده مؤثر از این سیستم‌ها، باید توان خروجی آن‌ها را پیش‌بینی کرد. با پیش‌بینی دقیق توان خروجی سیستم می‌توان بر ماهیت نامعین توان تولیدی غلبه کرد و در نتیجه قابلیت اطمینان کل سیستم را بهبود داد. مدل‌سازی یکی از راه‌های انجام این کار است. در این آموزش، با مدل سازی آرایه فتوولتاییک آشنا می‌شویم.

مدل سازی آرایه فتوولتاییک با شبکه عصبی

مدل‌های مبتنی بر شبکه عصبی مصنوعی ‎(ANN)‎ راهکاری برای حل مشکل شرایط آب ‌و هوایی متغیر هستند که رابطه غیرخطی بین متغیرهای ورودی و خروجی سیستم پیچیده را توصیف می‌کنند. توانایی خودیادگیری شبکه‌های عصبی، مزیت اصلی این مدل‌ها محسوب می‌شود. بنابراین، این مدل‌ها حین عملکرد نامعین، مانند توان خروجی آرایه سیستم، دقیق هستند.

شبکه عصبی مصنوعی، مجموعه‌ای از تکنیک‌های پردازش اطلاعات با الهام از رویکرد اطلاعات پردازش سیستم عصبی بیولوژیکی است. یک ‎ANN‎ از واحدهای جزئی موازی به نام نرون تشکیل شده است. نرون‌ها به وسیله شمار زیادی از پیوندهای وزنی به هم وصل می‌شوند که امکان انتقال سیگنال یا اطلاعات را دارند. یک نرون، ورودی‌ها را از طریق اتصالات ورودی خود دریافت و ورودی‌ها و خروجی‌ها را ترکیب می‌کند. مفهوم اصلی شبکه‌های عصبی ساختار سیستم پردازش اطلاعات، مشابه تکنیک تفکر انسان است. شبکه عصبی می‌تواند رابطه بین متغیرهای ورودی و خروجی را با مطالعه داده‌های ثبت شده قبلی یاد بگیرد. مزیت اصلی ‎ANN‎ این است که با استفاده از آن می‌توان برای مسائل پیچیده مربوط به فناوری‌های معمول که راه‌حل الگوریتمی ندارند یا برای حل نیازمند یک الگوریتم پیچیده‌تر هستند، راه‌حل مناسبی ارائه کرد.

برخی از شبکه‌های عصبی مختلف، عبارتند از: «شبکه‌های عصبی تابع پایه شعاعی» (‎Radial Basis Fnction Networks) یا RBF، «شبکه‌های پیوند تابعی» (Functional Link Networks)، «شبکه‌های عصبی رگرسیون عمومی» (General Regression Neural Networks) یا GRNN، «شبکه‌های کوهونن» (Kohonen Networks)، «شبکه‌های رو به‌ جلوی آبشاری» (Cascade Forward Neural Network) یا CFNN، «شبکه‌های عصبی پیش‌خور» (Feedforward Neural Network) یا FFNN، «شبکه‌های گرام-شارلی» (‎Gram–Charlier Networks‎)، «کوانتیزاسیون بردار یادگیری» (Learning Vector Quantization)، «شبکه‌های هب» (Hebb Networks)، «شبکه‌های آدلاین» (Adaline Networks)، «شبکه‌های غیرمشارکتی» (‎Heteroassociative Networks)، «شبکه‌های بازگشتی» (Recurrent Networks) و «شبکه‌های ترکیبی» (Hybrid networks) هستند.

در این آموزش، شبکه‌های ‎FFNN‎ ،‎GRNN‎ و ‎CFNN را برای مدل‌سازی جریان خروجی آرایه ‎فتوولتاییک‎ انتخاب می‌کنیم. برای انتخاب بهترین مدل جهت این کار، شبکه‌های عصبی مختلف مانند ‎CFNN‎ و FFNN‎ مقایسه شده‌اند. این مدل‌ها با استفاده از متلب تشکیل شده، آموزش دیده و اعتبارسنجی می‌شوند.

GRNN‎ یک شبکه مبتنی بر احتمالات است. این شبکه وقتی متغیر هدف قطعی است طبقه‌بندی انجام می‌دهد، در حالی که وقتی متغیر هدف پیوسته باشد رگرسیون انجام می‌دهد. ‎GRNN‎ها شامل لایه‌های ورودی، الگو، جمع‌کننده و خروجی هستند. شکل ‎۱ نمودار کلی GRNN‎ را نشان می‌دهد.

شکل ۱: نمودار شماتیکی ‎GRNN
شکل ۱: نمودار شماتیکی ‎GRNN

‎DFNN یک شبکه ‎«خودسازمانده»‎ و به‌ نوعی شبیه FFNN‎ است. هر دو شبکه مذکور از الگوریتم پس‌انتشار (BP) برای به‌روزرسانی وزن‌ها استفاده می‌کنند. شکل ۲ نمودار شماتیک کلی ‎CFNN را نشان می‌دهد.

شکل ۲: نمودار شماتیکی CFNN
شکل ۲: نمودار شماتیکی CFNN

از سوی دیگر، شکل۳ نمودار شماتیک FFNN‎ را نشان می‌دهد. این شبکه شامل لایه‌های ورودی، مخفی و خروجی است. پیش‌خور بدین معنی است که مقادیر فقط از لایه ورودی به لایه مخفی و سپس به لایه‌های خروجی حرکت می‌کنند.

شکل۳: نمودار شماتیکی FFNN
شکل۳: نمودار شماتیکی FFNN

بدون آموزش دادن و تخمین خطای تعمیم، هیچ قاعده مستقیمی برای یافتن تعداد بهینه نرون‌های مخفی وجود ندارد. با این‌ حال، اگر تعداد نرون‌های مخفی کم باشد، ممکن است کم‌برازش رخ دهد که سبب خطای آموزش و خطای تعمیم بالا خواهد شد. هنگامی‌ که تعداد زیادی نرون در لایه مخفی اعمال شود، بیش‌برازش و واریانس بالا رخ می‌دهد. معمولاً تعداد گره‌های مخفی را می‌توان با برخی قوانین سرانگشتی به‌ دست آورد. برای مثال، تعداد نرون‌های لایه مخفی باید عددی بین اندازه لایه ورودی و اندازه لایه خروجی باشد. برخی نیز پیشنهاد کرده‌اند که تعداد نرون‌های مخفی نباید بیش از دو برابر تعداد ورودی‌ها باشد. در جایی دیگر توصیه شده که تعداد گره‌های مخفی ‎دو سوم‎ یا ‎70‎ تا ‎90 درصد تعداد گره‌های ورودی باشد. بر اساس پیشنهادهای فوق، تعداد نرون‌های لایه مخفی مدل‌های ‎FFNN‎ و CFNN‎ برابر با دو گره مخفی در نظر گرفته شده‌اند.

برای ارزیابی مدل پیشنهادی، از سه خطای آماری استفاده شده است که عبارت‌اند از: «درصد خطای مطلق میانگین» (Mean Absolute Percentage Error) یا MAPE، «خطای انحراف میانگین» (Mean Bias Error) یا MBE و «خطای جذر میانگین مربعات» (Root Mean Square Error) یا ‎RMSE‎.

دقت کلی یک شبکه عصبی را می‌توان با ‎MAPE‎ بررسی کرد. ‎MAPE‎ به صورت زیر تعریف می‌شود:

$$ \large ‎\mathrm { M A P E } = \dfrac { 1 } { n } \sum \limits _ { t = 1 } ^ { n } { \left \vert \dfrac { M – P } { M } \right \vert }‎ $$‎

که در آن، ‎$$M$$‎ داده‌های اندازه‌گیری‌ شده و ‎$$P$$‎ داده‌های پیش‌بینی‌ شده هستند.

از سوی دیگر، شاخص انحراف میانگین مقادیر پیش‌بینی‌ شده از داده‌های اندازه‌گیری‌ شده را می‌توان با ‎MBE‎ بیان کرد. مقدار MBE‎ مثبت نشان‌ دهنده تخمین بیش‌ از حد است. اطلاعات عملکرد طولانی‌ مدت مدل شبکه عصبی نیز با MBE‎ ارزیابی می‌شود. MBE‎ را می‌توان به‌صورت زیر محاسبه کرد:

$$ \large ‎‎\mathrm { M B E } = \dfrac { 1 } { n } \sum \limits _ { i = 1 } ^ { n } { ( P _ i – M _ i ) }‎ $$

که در آن، ‎$$M$$‎ داده‌های اندازه‌گیری‌شده و $$P$$ داده‌های پیش‌بینی‌شده هستند.

شاخص خطای آماری که در این آموزش استفاده می‌شود ‎RMSE‎ است. اطلاعات عملکرد کوتاه‌مدت مدل را می‌توان با ‎RMSE‎ ارزیابی کرد. این، نشان‌ دهنده اندازه‌گیری تغییرات داده‌های پیش‌بینی‌ شده حول داده‌های اندازه‌گیری‌ شده است. همچنین ‎RMSE‎ نشان‌ دهنده بازدهی مدل تشکیل‌ شده در پیش‌بینی مقادیر بعدی است. یک ‎RMSE‎ مثبت و بزرگ، انحراف بزرگ در داده‌های پیش‌بینی‌ شده از داده‌های اندازه‌گیری‌ شده را نشان می‌دهد. ‎RMSE را می‌توان با فرمول زیر محاسبه کرد:

$$ \large ‎\mathrm { R MS E } = \sqrt { \dfrac { 1 } { n } \sum \limits _ { i = 1 } ^ { n } { ( P _ i – M _ i ) ^ 2 } } $$‎

مثال ‎مدل سازی آرایه فتوولتاییک با شبکه عصبی

مدلی را در متلب تشکیل دهید که سه مدل فوق را با هم مقایسه کند. نتایج منبع داده‌های ‎«Source 2»‎ را آزمایش و آن‌ها را با مدل‌های تجربی و آماری مقایسه کنید.

حل: برنامه زیر، پاسخ این مسئله است:

شکل‌های زیر، حاصل از اجرای این برنامه هستند.

پیش‌بینی جریان خروجی برای یک روز عادی در ماه مارس
شکل ۴: پیش‌بینی جریان خروجی برای یک روز عادی در ماه مارس
پیش‌بینی جریان خروجی برای یک روز ابری در ماه مارس
شکل ۵: پیش‌بینی جریان خروجی برای یک روز ابری در ماه مارس

جدول زیر، ارزیابی آماری مدل‌ها را نشان می‌دهد.

جدول نتیجه

مدل ‌سازی آرایه فتوولتاییک با الگوریتم جنگل تصادفی

در بخش قبل، مدل‌سازی توان خروجی سیستم فتوولتاییک با شبکه‌های عصبی انجام شد. این شبکه‌ها می‌توانند نامعینی‌های خروجی سیستم را مدیریت کنند. با این‌ حال، استفاده از شبکه‌های عصبی برای چنین هدفی، همراه با محدودیت‌ها و چالش‌هایی مانند پیچیدگی فرایند آموزش، محاسبه نرون‌های لایه مخفی و توانایی اداره داده‌های بسیار نامعین است. برای حل این مشکل می‌توان از برخی روش‌های جدید با دقت و توانایی بالا در مدیریت داده‌های بسیار نامعین مانند «مدل‌های مبتنی بر جنگل تصادفی» (Random Forest-based Models) یا RF‎ استفاده کرد.

مدل RF‎ شامل درخت‌های تصمیم تصادفی و کیسه‌بندی است. «کیسه‌بندی» (Bagging) روشی برای کاهش واریانس تابع پیش‌بینی تخمینی است. درخت‌های تصمصم که از درختان ناهم‌بسته استفاده می‌کنند، تعمیمی از کیسه‌بندی هستند. ساده‌ترین RFها با انتخاب گروه کوچکی از متغیرهای ورودی برای انشعاب تصادفی در هر گره تشکیل می‌شوند.

روش جنگل تصادفی، با ایجاد یک مجموعه جدید از مقادیر شروع می‌‌شود که با اندازه داده‌‌های اصلی برابرند و به‌ صورت تصادفی از مجموعه داده‌‌های اصلی به وسیله خودراه‌‌اندازی یا بوت‌استرپ انتخاب می‌شوند. پس از آن، داده‌های جدید به‌ صورت دنباله‌ای از انشعابات باینری ‎(دوتایی)‎ برای ایجاد درخت‌های تصمیم مرتب می‌شوند. در هر گره‌ای از این درخت‌ها، انشعاب با انتخاب مقدار و متغیر با خطای کمینه محاسبه می‌شود. در پایان، یک میانگین ساده از پیش‌‌بین‌‌های تجمعی برای پیش‌‌بینی رگرسیون و یک رأی اکثریت ساده برای پیش‌‌بینی در طبقه‌‌بندی گرفته می‌‌شود.

تکنیک‌‌های تجمعی خودراه‌‌انداز با دقت پیش‌‌بینی تقویت می‌‌شوند و تعیین میزان‌ خطا و اهمیت متغیر را ممکن می‌‌سازند. میزان‌ خطا و اهمیت متغیر با حذف مقادیر هر نمونه خودراه‌‌انداز محاسبه می‌‌شوند که داده‌‌های «خارج از کیسه» (Out-of-bag) یا OOB‎ نام دارند. داده‌‌های ‎OOB‎ نقش اصلی را در رشد درخت ایفا می‌‌کنند، بدین معنی که این داده‌‌ها با مقادیر پیش‌‌بینی‌‌ شده در هر مرحله مقایسه می‌‌شوند. در این روش، میزان‌‌های خطا به ‌دست آمده و از OOB نیز برای تعیین اهمیت متغیر استفاده می‌‌شود.

طبقه‌‌بندی و رگرسیون

درخت‌‌های طبقه‌‌بندی و رگرسیون پاسخ‌های پیش‌‌بینی‌ شده به داده‌‌ها هستند. هنگام پیش‌‌بینی پاسخ، تصمیم، هر درخت را از گره اصلی به یک گره برگ در جنگل هدایت می‌کند که حاوی پاسخ است. درخت‌‌های رگرسیون پاسخ را به‌ شکل عددی و درخت‌‌های طبقه‌‌بندی آن را به‌ صورت اسمی (درست یا غلط) بیان می‌‌کنند.

جنگل‌های تصادفی، بسته به درخت‌‌های طبقه‌‌بندی و رگرسیون ایجاد شده تغییر می‌‌کنند و طی مراحل زیر ساخته می‌‌شوند. در مرحله اول، همه داده‌‌های ورودی برای آزمایش تمام انشعابات دوتایی ممکن در هر پیش‌‌بین استفاده شده، سپس انشعابی انتخاب می‌‌شود که بهترین مقیاس بهینه‌‌سازی را دارد. در مرحله دوم، انشعاب انتخاب‌‌ شده به دو گره فرزند جدید تقسیم می‌‌شود. این فرایند برای گره‌‌های فرزند جدید تکرار می‌‌شود.

اما دو مورد مقیاس بهینه‌‌سازی و دستور توقف برای کامل کردن فرایند قبل لازم است. مقیاس بهینه‌‌سازی مشخص می‌‌کند که انشعاب انتخابی برای کمینه «میانگین مربعات خطا» (Mean Square Error) یا MSE داده‌‌های پیش‌‌بینی نسبت به داده‌‌های آموزشی باید بررسی شود. در مقابل، در درخت‌‌های طبقه‌‌بندی، یکی از سه روش «شاخص تنوع جینی» (Gini’s Diversity Index) انحراف یا «قانون تقسیم‌بندی دوحالتی» (Towing Rule) برای انتخاب انشعاب به کار می‌‌رود.

طبقه‌‌بندی فرایندی است که در آن موضوعات شناخته، درک و متمایز می‌‌شوند. این فرایند، موضوعات را به‌ صورت دسته‌‌‌‌های مستقل برای اهداف خاص دسته‌‌بندی می‌‌کند. طبقه‌‌بندی، فهم روابط بین موضوعات و زیرموضوعات را فراهم می‌‌کند. این فرایند در زبان، استنباط، تصمیم‌‌گیری، پیش‌‌بینی و انواع برهم‌‌کنش محیطی به‌ کار می‌رود. طبقه‌‌بندی مانند رگرسیون در یادگیری ماشین نقش دارد.

رگرسیون یک فرایند آماری برای تعیین روابط بین متغیرهاست. هنگامی‌ که روابط بین یک متغیر وابسته (یا یک‎ «متغیر معیار») و یک یا چند متغیر مستقل بررسی می‌‌شوند، تکنیک‌‌های بسیاری برای مدل‌سازی و تحلیل در رگرسیون گنجانده می‌‌شود.

از رگرسیون برای پیش‌‌بینی استفاده می‌شود و در طبقه‌‌بندی با یادگیری ماشین اشتراک دارد. در جنگل‌های تصادفی، رگرسیون با رشد هر درخت مربوط به یک بردار تصادفی تشکیل می‌‌شود. مقادیر خروجی، عددی هستند. پیش‌‌بین درخت تصمیم با میانگین‌‌گیری از همه درخت‌‌های جنگل ساخته می‌‌شود.

الگوریتم رگرسیون

الگوریتم جنگل تصادفی، ترکیبی از مراحل آموزش و آزمایش است. در مرحلهٔ آموزش، الگوریتم، $$N$$ نمونه خودراه‌‌انداز را از داده‌‌های آموزش اصلی رسم می‌‌کند و سپس تعدادی از درخت‌‌های رگرسیون یا طبقه‌‌بندی هرس‌ نشده (Unpruned) یا ‎CART‎ را برای هر نمونه خودراه‌‌انداز ایجاد می‌‌کند. بهترین انشعاب صرفاً از نمونه تصادفی پیش‌‌بین‌‌ها در هر گره‌‌ای از CART‎ جدا ‎(انتخاب)‎ شده و انشعابی انتخاب می‌‌شود که خطا را به حداقل می‌‌رساند.

در هر تکرار خودراه‌‌انداز، داده‌‌ها با استفاده از تکنیک رشد درخت با نمونه خودراه‌‌انداز پیش‌‌بینی می‌‌شوند. میزان خطا برای هر پیش‌‌بین و پیش‌‌بینی‌‌های OBB تجمعی محاسبه می‌‌شوند. اکنون گره‌‌های پایانی داده‌‌های جدیدی دارند که با تعیین میانگین تجمعی پیش‌‌بین‌‌ها از میان تمام درخت‌‌ها پیش‌‌بینی می‌‌شوند. خطای درخت جنگل تصادفی به دو پارامتر وابسته است: همبستگی بین هر دو درخت و استحکام ‎(مقاومت)‎ هر درخت به‌ صورت مجزا. هنگامی ‌که مجموعه آموزشی یک درخت به‌ وسیله نمونه‌‌برداری رسم می‌‌شود، تعداد متغیرهای هر سطح در بهبود عملکرد مهم هستند. شکل ‎۶ مراحل اصلی الگوریتم جنگل تصادفی را نشان می‌‌دهد.

فلوچارت الگوریتم RF
شکل ۶: فلوچارت الگوریتم RF

وقتی مجموعه آموزش به‌ وسیله نمونه‌‌برداری برای یک درخت خاص رسم می‌‌شود، از حدود یک‌‌سوم نمونه‌‌های مجموعه چشم‌پوشی خواهد شد. این نمونه‌‌ها داده‌‌های ‎OBB نامیده شده و برای تخمین اهمیت متغیر و ساختار داخلی داده‌‌ها (اندازه نزدیکی) به‌کار می‌‌روند. در این‌جا، ‎$$\beta ^{(t)}$$‎ نمونه‌‌های داخل کیسه برای درخت خاص ‎$$t$$‎ و ‎$$\beta ^{c(t)}$$ نمونه‌‌های مکمل برای همان درخت را نمایش می‌‌دهد.

علاوه بر الگوریتم رگرسیون، جنگل‌های تصادفی، اندازه‌‌گیری قابل‌ توجهی از اهمیت متغیر (اثرات خاص ورودی‌‌ها روی خروجی) بر اساس داده‌‌های ‎OOB‎ و نیز اندازه‌‌گیری اهمیت-تغییر انجام می‌دهند. اهمیت هر متغیر را می‌‌توان با تغییر تمام مقادیر متغیر ‎$$f$$‎ در نمونه‌‌های ‎OOB‎ برای هر درخت به‌ صورت تصادفی به‌ دست آورد. اندازه‌‌گیری اهمیت متغیر به‌ صورت اختلاف بین دقت‌‌های پیش‌‌بینی قبل و بعد از تغییر متغیر ‎$$f$$ محاسبه می‌‌شود که روی تمام پیش‌‌بین‌‌ها میانگین گرفته است. وقتی اهمیت متغیر کاهش یابد، دقت پیش‌‌بینی زیاد می‌شود. مقدار اهمیت هر متغیر با میانگین اهمیت تمام درخت‌‌ها با استفاده از رابطه زیر به‌ دست می‌‌آید:

$$ \large {
‎ V I ^ { ( t ) } ( f ) = \dfrac { \sum _ { T } { ( \dfrac { \sum _ { x _ i \in \beta ^ { c ( t ) } } { I \left ( L _ j = { c _ i } ^ { ( t ) } \right ) } } { \left \vert \beta ^ { c ( t ) } \right \vert }‎
– ‎\dfrac { \sum _ { x _ i \in \beta ^ { c ( t ) } } { I \left ( L _ j = { c _ { i , \pi f } } ^ { ( t ) } \right ) } } { \left \vert \beta ^ { c ( t ) } \right \vert} ) } } { T } } ‎ $$

که در آن، ‎$$\beta ^{c(t)}$$‎ متناظر با نمونه‌‌های خارج از کیسه برای یک درخت خاص، ‎$$t$$‎ تعداد درخت‌ها ‎($$1‎, ‎2‎, ‎\cdots‎, ‎T$$)‎ و $$T$$ تعداد کل درخت‌‌هاست. همچنین ‎$$c_i^{(t)}$$‎ و ‎$$c_{i,\pi f}^{(t)}$$‎ دسته‌‌های پیش‌‌بینی‌‌ شده برای هر نمونه‌‌ مربوط به یک درخت قبل و بعد از تغییر متغیر هستند. پارامتر $$x_i$$‎ مقدار نمونه و ‎$$L_j$$‎ برچسب درستی است که هردوی آن‌ها در مرحله آموزش هستند.

پیش‌‌بینی جریان خروجی یک سیستم فتوولتاییک، با تنظیم اولیه متغیرها و نمونه‌‌های ورودی در الگوریتم کیسه‌پرکن شروع می‌‌شود. در اینجا، ورودی‌‌ها تابش خورشید، دمای محیط، شماره روز، ساعت، عرض جغرافیایی، طول جغرافیایی و تعداد ماژول‌ها هستند. در حقیقت، با هیچ فرمول ریاضی نمی‌توان تعداد بهینه درخت‌‌ها را تنظیم کرد. تعداد درخت‌‌ها نصف تعداد نمونه‌‌ها فرض می‌‌شود و تعداد برگ‌‌های هر درخت به‌ صورت پیش‌‌فرض ‎5‎ است.

مثال مدل ‌سازی آرایه فتوولتاییک با الگوریتم جنگل تصادفی

جریان خروجی سیستم فتوولتاییک مثال ‎قبل را با استفاده از مدل جنگل تصادفی پیش‌‌بینی کرده و آن را با مدل مبتنی بر شبکه عصبی مقایسه کنید.

حل: برنامه جنگل تصادفی، با تعریف متغیرهای الگوریتم از قبیل شماره روز، تعداد ساعات در روز، دمای محیط، عرض جغرافیایی، طول جغرافیایی و تعداد ماژول‌‌‌ها به‌ عنوان ورودی‌‌ها و جریان خروجی فتوولتاییک به‌ عنوان خروجی شروع می‌‌شود. در مرحله نخست، برنامه مهم‌‌ترین متغیرهای مؤثر بر خروجی را جست‌وجو می‌کند. در‌ عین‌ حال، دورافتاده‌ها و خوشه‌های داده‌‌های تشخیص داده می‌شوند. تعداد درخت‌‌ها برابر با نصف کل تعداد مشاهدات فرض می‌‌شود.

برنامه متلب این مثال به صورت زیر است.

در مرحله دوم، پس از آنکه متغیرهای مهم به‌ دست آمدند، به‌ عنوان ورودی‌‌ها مرتب می‌‌شوند. در اینجا، یک بهینه‌‌سازی برای تعداد درخت‌‌ها و تعداد برگ‌‌های هر درخت با استفاده از یک روش تکراری و به‌ ترتیب مبنی بر حداقل ‎RMSE‎، زمان سپری‌‌ شده، ‎MAPE‎ و ‎MBE‎ انجام می‌‌شود.

در مرحله سوم، مهم‌‌ترین متغیرها و بهترین تعداد درخت‌‌ها و برگ‌‌ها در هر درخت مرتب می‌‌شوند. اکنون، برنامه برای آموزش و پیش‌‌بینی جریان خروجی فتوولتاییک آماده است.

جریان خروجی PV با مدل شبکه عصبی و مدل جنگل تصادفی در ۷۲ ساعت
شکل ۷: جریان خروجی PV با مدل شبکه عصبی و مدل جنگل تصادفی در ۷۲ ساعت

جدول زیر مقادیر آماری و زمان صرف شده روش‌های شبکه عصبی و جنگل تصادفی را نشان می‌دهد.

جدول نتایج

مدل سازی آرایه فتوولتاییک با تکنیک‌‌های جست‌وجوی اکتشافی

معادله خروجی سلول خورشیدی‎ را می‌‌توان با روش‌‌های بسیاری از قبیل روش «نیوتون-رافسون» (Newton–Raphson) یا NR، الگوریتم «لونبرگ-مارکوارت» (Levenberg–Marquard) یا LM، روش‌‌های مبتنی بر شبکه عصبی و روش‌های عددی دیگر حل کرد. اخیراً روش‌های اکتشافی از قبیل «الگوریتم ژنتیک» (Genetic Algorithm) یا GA‎، «بهینه‌‌سازی ازدحام ذرات» (Particle Swarm Optimization) یا PSO،  «بهینه‌‌سازی جفت‌گیری پرنده» (Simplified Bird Mating Optimizer) یا SBMO، «تکامل تفاضلی» (Differential Evolution)، «الگوریتم بهینه‌‌سازی جست‌وجوی ممنوعه» (Tabu Search Optimization Algorithm)، «بهینه‌‌سازی آشوب موازی جهشی» (Mutative-scale Parallel Chaos Optimization Algorithm) یا MPCOA و الگوریتم‌‌های تبرید شبیه‌‌سازی‌‌شده (Simulated Annealing) یا SA به‌ علت بازده و قابلیت اطمینان بالا برای حل چنین مسائلی مورد استفاده قرار گرفته‌‌اند.

از رابطه ۱‎ واضح است پارامترهایی که بر عملکرد ماژول فتوولتاییک تسلط دارند، $$I_\mathrm{Ph}$$‎، ‎$$I_\mathrm{o}$$‎، ‎$$R_\mathrm{s}$$‎، ‎$$R_\mathrm{p}$$‎ و ‎$$a$$‎ هستند. این پارامترها مجهول و به تابش خورشید و دمای سلول بستگی دارند. بنابراین، می‌توان از یک الگوریتم بهینه‌‌سازی برای به‌ دست آوردن مقادیر بهینه این پارامترها استفاده کرد. در اینجا، یک تابع هدف برای یافتن پارامترهای محاسبه‌‌ شده مدل ماژول به‌ صورت بهینه فرمول‌‌بندی می‌‌کنیم. تابع هدف به‌ صورت ‎RMSE‎ است که تفاوت بین جریان محاسبه‌‌ شده و تجربی را نشان می‌‌دهد. این تابع به‌صورت زیر است:

$$ \large ‎ f ( \theta ) = \sqrt { \dfrac { 1 } { n } \sum \limits _ { i = 1 } ^ { n } { P ( v _ \mathrm { e } ‎ , ‎ I _ \mathrm { e } ‎, ‎\theta ) ^ 2 } } ‎$$

که در آن:

$$ \large { { } ^ { }‎
‎ P ( v _ \mathrm { e } ‎ , ‎ I _ \mathrm { e } ‎ , ‎\theta ) = I _ \mathrm { e } – I _ \mathrm { p h } + I _ \mathrm { o } \left [ \mathrm { e x p } \left ( \dfrac { V _ \mathrm { e } + I _ \mathrm { p } R _ \mathrm { s } } { V _ \mathrm { t } } \right ) – 1 \right ] + \dfrac { V _ \mathrm { e } + I _ \mathrm { p } R _ \mathrm { s } } { R _ \mathrm { p } } } $$

و $$V _ \mathrm { e }$$ و $$I _ \mathrm { e }$$، به ترتیب، مقادیر تجربی ولتاژ و جریان صفحه فتوولتاییک هستند. همچنین، $$ \theta $$ برداری از پنج پارامتر ($$ I _ \mathrm { p h }$$، $$I _ \mathrm { o }$$، $$R _ \mathrm { s }$$، $$R _ \mathrm { p }$$ و $$ a $$) و $$ n $$ طول مجموعه داده است.

همان‌طور که بسیاری از پژوهشگران توصیه کرده‌اند که الگوریتم‌های DE بیشترین کارایی را در حل چنین مسئله‌ای دارند، در اینجا نیز بر الگوریتم DE تمرکز می‌کنیم.

در الگوریتم DE رایج، الگوریتم جستجوی مستقیم مبتنی بر جمعیت که از مجموعه جمعیت اولیه $$ S $$ استفاده می‌کند، از بردارهای تکی NDبُعدی تشکیل می‌شود که به صورت تصادفی انتخاب شده‌اند. این بردارهای منفرد توسط یک فرایند ادغام به منظور یافتن مقادیر بهینه که یک کمینه‌سازی سراسری را برآورده می‌کند، هدایت می‌شوند. ساز و کار اصلی فرایند جذب جایگزینی بردارهای تکی بد در جمعیت $$S$$ با بردارهای تکی بهتر در هر تکرار است.

الگوریتم DE شامل چهار مرحله ساده و پشت سر هم است که عبارت‌اند از مقداردهی اولیه، جهش، گذر و انتخاب. این الگوریتم مانند سایر الگوریتم‌های جست‌وجوی مستقیم مبتنی بر جمعیت که از یک مجموعه جمعیت اولیه ($$S$$) استفاده می‌کند که به طور تصادفی به عنوان یک جواب انتخاب می‌شود. این شامل الگوریتم شامل $$N$$ بردار مجزا است و هر بردار شامل $$D$$ پارامتر است که برای بهینه‌سازی مورد نیاز است. سه مرحله آخر (جهش، گذر و انتخاب) در هر گام تکرار می‌شوند تا جواب اولیه برای رسیدن به حداکثر تعداد نسل $$ G _ \max$$ یا به دست آوردن مقدار برازندگی مورد نیاز، بهبود یابد. DEAM از بردارهای NDبعدی به عنوان یک مجموعه جمعیت ($$S$$) برای جست‌وجوی پارامترهای بهینه در فضای جست‌وجو استفاده می‌کند. مجموعه جمعیت به این صورت تعریف شده است:

$$ \large ‎\begin {align}
‎ S ^ G = \left [ X _ 1 ^ G ‎, ‎ X _ 2 ^ G , . . . ‎ , ‎ X _ N ^ G \right ] = \left [ X _ i ^ G \right ] ‎
‎\end {align} $$

که در آن:

$$ \large ‎\begin {align}
‎ X _ i = \left [ X _ { 1 , i } ‎, ‎ X _ { 2 , i } , . . . ‎ , ‎ X _ { D , i } \right ] = \left [ X _ { j , i } \right ]‎
‎\end {align}‎ $$

که $$ X _ i $$ بردار هدف نامیده می‌شود و $$ i $$ تعداد جواب‌های کاندید جمعیت ($$i = 1 , 2 , …, N$$)، $$ j $$ بعد بردار تکی ($$j= 1 , 2 , … , D$$) و $$ G $$ اندیس نسل ($$ G = 1 , 2 , … , G _\max$$) است.

شکل ۶ الگوریتم پیشنهادی را نشان می‌دهد. مراحل این الگوریتم در ادامه توضیح داده شده‌اند.

مقداردهی اولیه: فرایند بهینه‌سازی با ایجاد یک جمعیت اولیه آغاز می‌شود: $$ S ^ G = [X _ i ^ G ] $$ و $$ G = 0$$. مقادیر اولیه $$D$$ پارامتر به طور تصادفی انتخاب و به صورت یکنواخت در ناحیه جست‌وجو توزیع می‌شوند. ناحیه جست‌وجو به ترتیب با کران‌های پایین و بالای $$ X _{j,L}$$ و $$X_{j,H}$$ محدود می‌شود. بردار تکی مقدار اولیه به صورت زیر انتخاب شده است:

$$ \large ‎ X _ { j , i } ^ 0 = X _ { j , L , i } + \mathrm {rand}( X _ { j , H , i } – X _ { j , L , i } ) $$‎

که rand یک عدد تصادفی در بازه $$[0,1] $$ است.

جهش: DEAM مقدار $$ M_d $$ یا $$ M_e $$ را در یک تکرار فراخوانی می‌کند. معیاری که برای جابه‌جایی بین هر دو نوع جهش استفاده می‌شود، این است:

فرمول

که $$||\sigma ^ G ||$$ و $$ ||\sigma ^ 0 || $$ نرم بردارهای انحراف معیار بردارهای سطری جمعیت $$ S $$ برای $$ G $$ و نسل اولیه هستند و $$ \epsilon _ 2 $$ یک پارامتر سوئیچینگ است که برای سوئیچ بین عملیات $$ M_ d $$ و $$ M _ e $$ به کار می‌رود و $$ \epsilon \in [0,1] $$. برای هر بردار هدف $$ X _ i ^ G $$، یک بردار جهش $$ \hat {X}_ i ^ G $$ بر اساس عملیات $$ M _ d $$ به صورت زیر تولید می‌شود:

$$ \large ‎\hat { X } _ i ^ G = X _ \alpha ^ G + F \left ( X _ \beta ^ G ‎ – ‎ X _ \gamma ^ G \right ) $$‎

که بردارهای $$ X _ \alpha ^ G $$، $$ X _ \beta ^ G $$ و $$ X _ \gamma ^ G $$ بردارهایی هستند که به صورت تصادفی از جمعیت انتخاب می‌شوند و $$ \alpha $$، $$\beta$$ و $$ \gamma$$ شاخص‌های مجزایی هستند که به بازه $$ [1,N] $$ تعلق دارند. بردار $$ X _ \alpha ^ G $$ بردار پایه نامیده می‌شود و $$F $$ پارامتر کنترل مقیاس جهش است که معمولاً در بازه $$[0.5, 1 ] $$ انتخاب می‌شود.

در همین حال، عملیات جهش $$M_e$$ نیز بر اساس سه بردار مجزا است که به طور تصادفی از بین جمعیت انتخاب می‌شوند، اما بر خلاف $$M_d$$، شاخص یکی از این بردارها ممکن است همان شاخص بردار فعلی باشد. عملیات $$M_e$$ از کل نیروی وارده بر یک بردار منفرد $$X_\alpha ^ G $$ توسط دو بردار دیگر $$X_ \beta ^ G $$ و $$ X _ \gamma ^ G $$ استفاده می‌کند. مانند الگوریتم EM، نیروی اعمال شده بر $$X_\alpha ^ G $$ توسط $$X_ \beta ^ G $$ و $$ X _ \gamma ^ G $$ بر اساس بارهای بین بردارهای زیر محاسبه می‌شود:

$$ \large ‎ q _ { \alpha \beta } ^ G = \dfrac { f \left ( X _ \alpha ^ G \right ) – f \left ( X _ \beta ^ G \right ) } { f \left ( X _ \mathrm { w } ^ G \right ) – f \left ( X _ \mathrm { b } ^ G \right ) } $$‎

‎$$ \large q _ { \alpha \gamma } ^ G = \dfrac { f \left ( X _ \alpha ^ G \right ) – f \left ( X _ \gamma ^ G \right ) }{ f \left ( X _ \mathrm { w } ^ G \right ) – f \left ( X _ \mathrm { b } ^ G \right ) } $$‎

که $$ f ( X ) $$ مقدار تابع هدف برای بردار تکی $$ x $$ است و $$ X _ b ^ G $$ و $$ X _ w ^ G $$، به ترتیب، بهترین و بدترین بردارهای تکی هستند که مقادیر بهترین و بدترین تابع هدف را برای نسل $$G$$اُم رقم می‌زنند. $$ G $$ نیز شاخصی است که به تعداد نسل بر می‌گردد ($$G = 1 , 2 , … , G _ \max $$). نیروی اعمال شده بر $$ X _ \alpha ^ G $$ توسط $$ X _ \beta ^ G $$ و $$ X _ \gamma ^ G $$ به صورت زیر محاسبه می‌شود:

$$ \large ‎ F _ { \alpha \beta } ^ G = \left ( X _ \beta ^ G -X _ \alpha ^ G \right ) q _ { \alpha \beta } ^ G $$‎

$$ \large ‎ F _ { \alpha \gamma } ^ G = \left ( X _ \gamma ^ G -X _ \alpha ^ G \right ) q _ { \alpha \gamma } ^ G $$‎

در نتیجه، نیروی اعمالی بر $$ X _ \alpha ^ G $$ توسط $$ X _ \beta ^ G $$ و $$ X _ \gamma ^ G $$ به شکل زیر محاسبه می‌شود:

$$ \large ‎ F _ { \alpha } ^ G = F _ { \alpha \beta } ^ G + F _ { \alpha \gamma } ^ G $$‎

سپس، بردار جهش عملیات $$ M _ e $$ به صورت زیر محاسبه می‌شود:

$$ \large ‎\hat { X } _ i ^ G = X _ \alpha ^ G + F _ \alpha ^ G $$‎

گذر: مرحله گذر DEAM مشابه همانی است که در الگوریتم DE وجود دارد. در این مرحله، هر دو بردار هدف $$ X _ i ^ G $$ و بردار جهش $$ \hat { X} _ i ^ G $$ برای تولید بردار آزمایش $$ y _ { j , i } ^ G $$ به کار می‌روند که به صورت زیر بیان می‌شود:

فرمول

که $$\text{rand}$$ یک عدد تصادفی در بازه $$(0,1)$$ است. همچنین، $$ I_ i $$ یک شاخص تصادفی در بازه $$[1,D]$$ و $$ \text{CR}\in [0.5 , 1 ] $$ پارامتر کنترل گذر است. بردار آزمایش برابر با بردار جهش $$\text{CR}=1$$ است.

پارامترهای بردار آزمایشی را در صورتی که خارج از فضای مجاز جست‌وجو باشد، بررسی کرد تا اطمینان حاصل شود که مقادیر پارامتر مقادیر فیزیکی هستند. اگر هر پارامتر خارج از حد مجاز فضای جست‌وجو باشد، با مقدار جدید به شرح زیر جایگزین می‌شود:

$$ \large ‎ y _ { j , i } ^ G = X _ { j , L , i } + \mathrm {rand} ( X _ { j , H , i } – X _ { j , L , i } )‎ $$

انتخاب: مرحله انتخاب پس از تولید بردارهای آزمایشی N اعمال می‌شود. روند انتخاب بین بردارهای هدف فعلی و آزمایشی براساس مقادیر تابع هدف برای هر دو بردار است. برداری که تابع هدف کوچکی دارد، به عنوان عضوی از جمعیت برای نسل بعدی $$ G + 1 $$ انتخاب می‌شود. روند انتخاب را می‌توان به این صورت توصیف کرد:

فرمول

سرانجام، بازتولید بردارهای آزمایش (جهش و گذر) و مراحل انتخاب تا رسیدن به شرایط توقف از پیش تعیین شده ادامه دارد.

مثال مدل سازی آرایه فتوولتاییک با تکنیک‌‌های جست‌وجوی اکتشافی

برنامه‌ای بنویسید که با استفاده از الگوریتم DE ماژول جدول زیر را به صورت بهینه مشخص کند.

حل: برای حل این مسئله،‌ چهار ام فایل متلب مورد نیاز است. اولین مورد برای به دست آوردن مقدار پنج پارامتر استفاده می‌شود. در این برنامه، مقادیر تابش خورشید و دمای سلول به دست می‌آید. علاوه بر این، جریان و ولتاژ آزمایشی (برای منحنی I-V) نیز به دست می‌آیند. پس از آن، برنامه دوم به عنوان یک تابع MATLAB برای پیاده‌سازی الگوریتم DE فراخوانی می‌شود و مقادیر بهینه پنج پارامتر را در شرایط خاص آب‌وهوایی برمی‌گرداند. سپس مشخصات I-V و P-V برای شرایط خاص آب‌و‌هوایی با استفاده از روش NR به دست می‌آید. پس از آن، عملکرد برازندگی الگوریتم‌های DE در هر نسل اعمال می‌شود.

برنامه‌های مذکور در ادامه آورده شده‌اند:

نتایج اجرای برنامه نوشته شده، شکل‌های زیر خواهد بود.

تعیین منحنی مشخصه I-V‎ ماژول فتوولتائیک با الگوریتم ‎DE‎
شکل ۸: تعیین منحنی مشخصه I-V‎ ماژول فتوولتاییک با الگوریتم ‎DE‎
تعیین منحنی مشخصه ‎P-V‎ ماژول فتوولتائیک با الگوریتم ‎DE‎
شکل ۹: تعیین منحنی مشخصه ‎P-V‎ ماژول فتوولتاییک با الگوریتم ‎DE‎

اگر این مطلب برای شما مفید بوده است، آموزش‌ها و مطالب زیر نیز به شما پیشنهاد می‌شوند:

سید سراج حمیدی (+)

«سید سراج حمیدی» دانش‌آموخته مهندسی برق است. او مدتی در زمینه انرژی‌های تجدیدپذیر فعالیت کرده، و در حال حاضر، آموزش‌های ریاضیات، مهندسی برق و بورس مجله فرادرس را می‌نویسد.

بر اساس رای 3 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *