‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

‌حسین زارع

دانش‌آموخته‌ی دکتری ریاضی کاربردی دانشگاه تربیت مدرس

آخرین نظرات
  • ۶ آذر ۹۹، ۱۳:۰۰ - امیر حاتمی
    ممنون.

مسئله‌ی توزیع اقتصادی بار

چهارشنبه, ۲۲ آذر ۱۳۹۶، ۱۲:۱۵ ب.ظ

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

تعریف مسئله:
در یک سیستم قدرت شامل $n$ واحد تولیدی که توسط تعدادی خطوط انتقال به مراکز مصرف متصل شد‌ه‌اند، مسئله‌ی توزیع اقتصادی بار به‌صورت «تعیین میزان تولید توان هر نیروگاه با هدف کمینه کردن هزینه‌ی تأمین مجموع بار شبکه» تعریف می‌شود.
این مسئله‌ دارای دو صورت شناخته شده است که بسته به در نظر گرفتن یا نگرفتن تلفات انتقال شبکه‌ می‌باشد. در ادامه، فرمولبندی مسئله برای هر دو حالت بیان می‌گردد.

الف)‌ توزیع اقتصادی بار با در نظر گرفتن تلفات انتقال شبکه:

$$\begin{alignat}{3}
 & \text{minimize}\quad\underset{i=1}{\overset{n}{\mathop \sum }}\,{{F}_{i}}\left( {{P}_{i}} \right)=\underset{i=1}{\overset{n}{\mathop \sum }}\,\left( {{a}_{i}}P_{i}^{2}+{{b}_{i}}{{P}_{i}}+{{c}_{i}} \right) \\
 & \text{subject to} \quad\underset{i=1}{\overset{n}{\mathop \sum }}\,{{P}_{i}}=D+{{P}_{l}},\\
                 &\quad \quad \quad \quad \quad P_{i}^{min}\le {{P}_{i}}\le P_{i}^{max}.
\end{alignat}$$
در مسئله‌ی فوق متغیرهای تصمیم ${{P}_{i}}$ها هستند که بایستی تعیین شوند. ${{P}_{i}}$ میزان توان تولیدی نیروگاه $i$ام است. تابع هدف، مجموع توابع هزینه‌ی واحدهای تولیدی است که یک تابع هدف درجه دوم می‌باشد. در واقع هزینه‌ی تولید توان ${{P}_{i}}$ توسط نیروگاه $i$ام به صورت زیر تعریف می‌شود:$${{F}_{i}}\left( {{P}_{i}} \right)={{a}_{i}}P_{i}^{2}+{{b}_{i}}{{P}_{i}}+{{c}_{i}}$$که در آن ضرایب ${{a}_{i}},{{b}_{i}},{{c}_{i}}$ اعدادی حقیقی هستند. لذا تابع هدف مسئله، جمع تمام هزینه‌های واحدهای تولید (نیروگاه‌ها) می‌باشد که باید کمینه شود. این مسئله شامل دو دسته قید است:

- قید تعادل:

به این معنی که مجموع تولید توان توسط تمام نیروگاه‎ها ($\underset{i=1}{\overset{n}{\mathop \sum }}\,{{P}_{i}}$) باید با مجموع توان مصرفی ($D$) و توان تلف‌شده (${{P}_{l}}$) برابر باشد. رابطه‌ی میان تلفات انتقال انرژی و میزان تولید هر نیروگاه، با استفاده از فیزیک شبکه‌های انتقال بدست می‌آید و بصورت زیر است:$${{P}_{l}}={{P}^{t}}BP=\underset{i=1}{\overset{n}{\mathop \sum }}\,\underset{j=1}{\overset{n}{\mathop \sum }}\,{{P}_{i}}{{B}_{ij}}{{P}_{j}}$$این رابطه، به دلیل وجود حاصلضرب ${{P}_{i}}$ها یک رابطه‌‌ی غیرخطی است. ${{B}_{ij}}$ها ضرایب تلفات نامیده می‌شوند.

-‌ قیود عملیاتی واحدها:

به این معنی که میزان تولید توان توسط نیروگاه $i$ام نباید از حدود مشخصی کمتر یا بیشتر باشد. مقادیر $P_{i}^{min},P_{i}^{max}$ به ترتیب حد بالا و پایین تولید توان برای هر نیروگاه می‌باشند.

ب)‌ توزیع اقتصادی بار بدون در نظر گرفتن تلفات انتقال شبکه:
$$\begin{alignat}{3}
 & \text{minimize}\quad\underset{i=1}{\overset{n}{\mathop \sum }}\,{{F}_{i}}\left( {{P}_{i}} \right)=\underset{i=1}{\overset{n}{\mathop \sum }}\,\left( {{a}_{i}}P_{i}^{2}+{{b}_{i}}{{P}_{i}}+{{c}_{i}} \right) \\
 & \text{subject to} \quad\underset{i=1}{\overset{n}{\mathop \sum }}\,{{P}_{i}}=D,\\
                 &\quad \quad \quad \quad \quad P_{i}^{min}\le {{P}_{i}}\le P_{i}^{max}.
\end{alignat}$$
در اینجا، مسئله‌ی حالت (الف) را به دلیل داشتن قیود غیرخطی، حل می‌کنیم.


حل مسئله:
برای حل این مسئله، روش مضارب لاگرانژ را به کار می‌گیریم. لاگرانژین به‌صورت زیر نوشته می‌شود:$$L=\underset{i=1}{\overset{n}{\mathop \sum }}\,\left( {{a}_{i}}P_{i}^{2}+{{b}_{i}}{{P}_{i}}+{{c}_{i}} \right)+\lambda \left( D+{{P}_{l}}-\underset{i=1}{\overset{n}{\mathop \sum }}\,{{P}_{i}} \right)+\underset{i=1}{\overset{n}{\mathop \sum }}\,{{\mu }_{i\left( max \right)}}({{P}_{i}}-{{P}_{i\left( max \right)}})\\+\underset{i=1}{\overset{n}{\mathop \sum }}\,{{\mu }_{i\left( min \right)}}({{P}_{i}}-{{P}_{i\left( min \right)}})$$شرایط لازم نیز عبارتند از:\begin{align}
\frac{\partial L}{\partial {{P}_{i}}}&=0\\\frac{\partial L}{\partial \lambda }&=0\to \underset{i=1}{\overset{n}{\mathop \sum }}\,{{P}_{i}}=D+{{P}_{l}},\\\frac{\partial L}{\partial {{\mu }_{i\left( max \right)}}}&={{P}_{i}}-{{P}_{i\left( max \right)}}=0\\\frac{\partial L}{\partial {{\mu }_{i\left( min \right)}}}&={{P}_{i}}-{{P}_{i\left( min \right)}}=0
\end{align}معادله‌ی دوم، همان قید تعادل مسئله است. دو معادله‌ی آخر نشان می‌دهند که توان نباید از محدوده‌ی $\left[ {{P}_{i\left( min \right)}},{{P}_{i\left( max \right)}} \right]$ تجاوز کند و در داخل محدوده داریم ${{\mu }_{i\left( min \right)}}={{\mu }_{i\left( max \right)}}=0$ .
از اولین معادله داریم:$$2{{a}_{i}}{{P}_{i}}+{{b}_{i}}+\lambda \left( \frac{\partial {{P}_{l}}}{\partial {{P}_{i}}}-1 \right)=0\Rightarrow2{{a}_{i}}{{P}_{i}}+{{b}_{i}}+\lambda \left(\frac{\partial {{P}_{l}}}{\partial {{P}_{i}}} \right)=\lambda ~\left( 1 \right)$$از طرفی:$${{P}_{l}}=\underset{i=1}{\overset{n}{\mathop \sum }}\,\underset{j=1}{\overset{n}{\mathop \sum }}\,{{P}_{i}}{{B}_{ij}}{{P}_{j}}\Rightarrow\frac{\partial {{P}_{l}}}{\partial {{P}_{i}}}=2\underset{j=1}{\overset{n}{\mathop \sum }}\,\left( {{B}_{ij}}{{P}_{j}} \right)~\left( 2 \right)$$در نتیجه از (1) و (2) داریم:$$2{{a}_{i}}{{P}_{i}}+{{b}_{i}}+2\lambda \underset{j=1}{\overset{n}{\mathop \sum }}\,\left( {{B}_{ij}}{{P}_{j}} \right)=\lambda $$یا معادلا:$$\left( \frac{{{a}_{i}}}{\lambda }+{{B}_{ii}} \right){{P}_{i}}+\underset{j=1,j\ne i}{\overset{n}{\mathop \sum }}\,\left( {{B}_{ij}}{{P}_{j}} \right)=\frac{1}{2}\left( 1-\frac{{{b}_{i}}}{\lambda } \right)~~\left( 3 \right)$$با بسط رابطه‌ی فوق به دستگاه معادلات
$EP=D$ به صورت زیر دست می‌یابیم:\[\left[ \begin{matrix}   \frac{{{a}_{1}}}{\lambda }+{{B}_{11}} & {{B}_{12}} & ... & {{B}_{1n}}  \\   {{B}_{21}} & \frac{{{a}_{2}}}{\lambda }+{{B}_{22}} & ... & {{B}_{2n}}  \\   \vdots  & \vdots  & \vdots  & \vdots   \\   {{B}_{n1}} & {{B}_{n2}} & ... & \frac{{{a}_{n}}}{\lambda }+{{B}_{nn}}  \\\end{matrix} \right]\left[ \begin{matrix}   {{P}_{1}}  \\   {{P}_{2}}  \\   \vdots   \\   {{P}_{n}}  \\\end{matrix} \right]=\frac{1}{2}\left[ \begin{matrix}   1-\frac{{{b}_{1}}}{\lambda }  \\   1-\frac{{{b}_{2}}}{\lambda }  \\   \vdots   \\   1-\frac{{{b}_{n}}}{\lambda }  \\\end{matrix} \right]\] برای تعیین توزیع بهینه ابتدا با مقدار تخمین اولیه ${{\lambda }^{\left( 1 \right)}}$ ، معادلات خطی بالا را همزمان حل می‌کنیم و سپس فرآیند تکراری را با استفاده از روش گرادیان انجام می‌دهیم. بدین منظور، از رابطه‌ی (3) مقدار ${{P}_{i}}$ را در گام $k$ام به‌صورت زیر داریم:$$P_{i}^{\left( k \right)}=\frac{{{\lambda }^{\left( k \right)}}-{{b}_{i}}-2{{\lambda }^{\left( k \right)}}\mathop{\sum }_{j=1,j\ne i}^{n}\left( {{B}_{ij}}P_{j}^{\left( k \right)} \right)}{2\left( {{a}_{i}}+{{\lambda }^{\left( k \right)}}{{B}_{ii}} \right)}~\left( 4 \right)$$که در این صورت، قید تعادل به‌صورت زیر در می‌آید: $$\underset{i=1}{\overset{n}{\mathop \sum }}\,P_{i}^{\left( k \right)}=\underset{i=1}{\overset{n}{\mathop \sum }}\,\frac{{{\lambda }^{\left( k \right)}}-{{b}_{i}}-2{{\lambda }^{\left( k \right)}}\mathop{\sum }_{j=1,j\ne i}^{n}\left( {{B}_{ij}}P_{j}^{\left( k \right)} \right)}{2\left( {{a}_{i}}+{{\lambda }^{\left( k \right)}}{{B}_{ii}} \right)}=D+P_{l}^{\left( k \right)}$$یا معادلا: $$f\left( \lambda  \right){{|}_{{{\left( \lambda  \right)}^{k}}}}=D+P_{l}^{\left( k \right)}$$حال با بسط سری تیلور سمت چپ این معادله و چشم‌پوشی از جملات مرتبه دوم و بالاتر خواهیم داشت:$$f{{\left( \lambda  \right)}^{k}}+{{\left( \frac{df\left( \lambda  \right)}{d\lambda } \right)}^{\left( k \right)}}{{\lambda }^{\left( k \right)}}=D+P_{l}^{\left( k \right)}$$این رابطه را می‌توان به‌صورت زیر نوشت:$${{\lambda }^{\left( k \right)}}=\frac{D+P_{l}^{\left( k \right)}-f{{\left( \lambda  \right)}^{k}}}{{{\left( \frac{df\left( \lambda  \right)}{d\lambda } \right)}^{\left( k \right)}}}=\frac{D+P_{l}^{\left( k \right)}-\mathop{\sum }_{i=1}^{n}P_{i}^{\left( k \right)}}{{{\left( \frac{df\left( \lambda  \right)}{d\lambda } \right)}^{\left( k \right)}}}=\frac{{{P}^{\left( k \right)}}}{{{\left( \frac{df\left( \lambda  \right)}{d\lambda } \right)}^{\left( k \right)}}}=\frac{{{P}^{\left( k \right)}}}{\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( k \right)}}}$$که در آن:$$\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( k \right)}}=\underset{i=1}{\overset{n}{\mathop \sum }}\,\frac{{{a}_{i}}-{{B}_{ii}}{{b}_{i}}-2a\mathop{\sum }_{j=1,j\ne i}^{n}\left( {{B}_{ij}}P_{j}^{\left( k \right)} \right)}{2{{\left( {{a}_{i}}+{{\lambda }^{\left( k \right)}}{{B}_{ii}} \right)}^{2}}}~~~\left( 5 \right)$$که رابطه آخر طبق مشتق کسر به دست آمده است. در نتیجه: ${{\lambda }^{\left( k+1 \right)}}={{\lambda }^{\left( k \right)}}+{{\lambda }^{\left( k \right)}}$ .

این فرآیند آنقدر ادامه می‌یابد تا ${{P}^{\left( k \right)}}=D+P_{l}^{\left( k \right)}-\underset{i=1}{\overset{n}{\mathop \sum }}\,P_{i}^{\left( k \right)}$ از مقدار دقت مشخص شده کمتر شود.

 

مثال:
هزینه‌ی سوخت برحسب دلار بر ساعت، در سه نیروگاه یک سیستم قدرت به شرح زیر می‌باشد:
$$\begin{align}
{{C}_{1}}&=200+7{{P}_{1}}+0.008P_{1}^{2}\\{{C}_{2}}&=180+6.3{{P}_{2}}+0.009P_{2}^{2}\\{{C}_{3}}&=140+6.8{{p}_{3}}+0.007p_{3}^{3}
\end{align}$$که در آن مقادیر ${{P}_{1}}$، ${{P}_{2}}$ و ${{P}_{3}}$ برحسب مگاوات بوده ونیروگاه‌ها دارای محدودیت‌های زیر هستند:$$10\le {{P}_{1}}\le 85\\10\le {{P}_{2}}\le 80\\10\le {{P}_{3}}\le 70$$فرض کنید که تلفات توان حقیقی با رابطه‌ی زیر داده شده باشد.$${{P}_{l}}=0.00218P_{1}^{2}+0.000228P_{2}^{2}+0.000179P_{3}^{2}$$توزیع بهینه‌ی تولید، هنگامی که بار کل سیستم، 150 مگاوات باشد را بدست آورید.

 

برای حل عددی، فرض کنید که تخمین اولیه، ${{\lambda }^{\left( 1 \right)}}=8$ باشد. با استفاده از رابطه‌ی (4) برای مقادیر $P_{1}^{\left( 1 \right)}$، $P_{2}^{\left( 1 \right)}$ و $P_{3}^{\left( 1 \right)}$ داریم:$$\begin{align}
P_{1}^{\left( 1 \right)}&=\frac{8-7}{2\left( 0.008+8\times 0.000218 \right)}=51.3136\\P_{2}^{\left( 1 \right)}&=\frac{8-6.3}{2\left( 0.009+8\times 0.000228 \right)}=78.5292\\P_{3}^{\left( 1 \right)}&=\frac{8-6.8}{2\left( 0.007+8\times 0.000179 \right)}=71.157
\end{align}$$تلفات توان حقیقی عبارتست از:$$P_{l}^{\left( 1 \right)}=0.00218{{\left( 51.3136 \right)}^{2}}+0.000228{{\left( 78.5292 \right)}^{2}}+0.000179{{\left( 71.157 \right)}^{2}}=2.886$$از آنجا که $D=150$ داریم:$${{P}^{\left( 1 \right)}}=D+P_{l}^{\left( 1 \right)}-\underset{i=1}{\overset{n}{\mathop \sum }}\,P_{i}^{\left( 1 \right)}=150+2.8864-\left( 51.3136+78.5292+71.157 \right)=-48.1139$$با استفاده از رابطه‌ی (5) داریم:
$$\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( 1 \right)}}=\frac{0.008+0.000218\times 7}{2{{\left( 0.008+8\times 0.000218 \right)}^{2}}}+\frac{0.009+0.000228\times 6.3}{2{{\left( 0.009+8\times 0.000228 \right)}^{2}}}\\+\frac{0.007+0.000179\times 6.8}{2{{\left( 0.007+8\times 0.000179 \right)}^{2}}}=152.4924$$و در نتیجه:$${{\lambda }^{\left( 1 \right)}}=\frac{{{P}^{\left( 1 \right)}}}{\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( 1 \right)}}}=\frac{-48.1139}{152.4924}=-0.31552$$بنابراین مقدار جدید $\lambda $ مطابق زیر بدست می‌آید:$${{\lambda }^{\left( 2 \right)}}=8-0.31552=7.6845$$
با ادامه‌ی این فرآیند، در تکرار دوم داریم:$$\begin{align}
P_{1}^{\left( 2 \right)}&=\frac{7.6845-7}{2\left( 0.008+8\times 0.000218 \right)}=35.3728\\P_{2}^{\left( 2 \right)}&=\frac{7.6845-6.3}{2\left( 0.009+8\times 0.000228 \right)}=64.3821\\P_{3}^{\left( 2 \right)}&=\frac{7.6845-6.8}{2\left( 0.007+8\times 0.000179 \right)}=52.8015
\end{align}$$تلفات توان حقیقی عبارتست از:
$$P_{l}^{\left( 2 \right)}=0.00218{{\left( 35.3728 \right)}^{2}}+0.000228{{\left( 64.3821 \right)}^{2}}+0.000179{{\left( 52.8015 \right)}^{2}}=1.717$$
از آنجا که $D=150$ داریم:$$\begin{align}{{P}^{\left( 2 \right)}}=D+P_{l}^{\left( 2 \right)}-\underset{i=1}{\overset{n}{\mathop \sum }}\,P_{i}^{\left( 2 \right)}&=150+1.717-\left( 35.3728+64.3821+52.8015 \right)\\&=-0.8395\end{align}$$با استفاده از رابطه‌ی (5) داریم:$$\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( 2 \right)}}=\frac{0.008+0.000218\times 7}{2{{\left( 0.008+7.684\times 0.000218 \right)}^{2}}}+\frac{0.009+0.000228\times 6.3}{2{{\left( 0.009+7.684\times 0.000228 \right)}^{2}}}\\+\frac{0.007+0.000179\times 6.8}{2{{\left( 0.007+7.684\times 0.000179 \right)}^{2}}}=154.588$$و در نتیجه:$${{\lambda }^{\left( 2 \right)}}=\frac{{{P}^{\left( 2 \right)}}}{\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( 2 \right)}}}=\frac{-0.8395}{154.588}=-0.0054431$$بنابراین مقدار جدید $\lambda $ به صورت زیر است:$${{\lambda }^{\left( 3 \right)}}=7.6845-0.0054431=7.679$$
برای سومین تکرار داریم:$$\begin{align}
P_{1}^{\left( 3 \right)}&=\frac{7.679-7}{2\left( 0.008+8\times 0.000218 \right)}=35.0965\\P_{2}^{\left( 3 \right)}&=\frac{7.679-6.3}{2\left( 0.009+8\times 0.000228 \right)}=64.1369\\P_{3}^{\left( 3 \right)}&=\frac{7.679-6.8}{2\left( 0.007+8\times 0.000179 \right)}=52.4834\end{align}$$تلفات توان حقیقی عبارتست از:$$P_{l}^{\left( 3 \right)}=0.00218{{\left( 35.0965 \right)}^{2}}+0.000228{{\left( 64.1369 \right)}^{2}}+0.000179{{\left( 52.4834 \right)}^{2}}=1.699$$از آنجا که $D=150$ داریم:$$\begin{align}
{{P}^{\left( 3 \right)}}=D+P_{l}^{\left( 3 \right)}-\underset{i=1}{\overset{n}{\mathop \sum }}\,P_{i}^{\left( 3 \right)}&=150+1.699-\left( 35.0965+64.1369+52.4834 \right)\\&=-0.0174\end{align}$$با استفاده از رابطه‌ی (5) داریم:
$$\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( 3 \right)}}=\frac{0.008+0.000218\times 7}{2{{\left( 0.008+7.679\times 0.000218 \right)}^{2}}}+\frac{0.009+0.000228\times 6.3}{2{{\left( 0.009+7.679\times 0.000228 \right)}^{2}}}\\+\frac{0.007+0.000179\times 6.8}{2{{\left( 0.007+7.679\times 0.000179 \right)}^{2}}}=154.624$$و در نتیجه:$${{\lambda }^{\left( 3 \right)}}=\frac{{{P}^{\left( 3 \right)}}}{\sum {{\left( \frac{d{{P}_{i}}}{d\lambda } \right)}^{\left( 3 \right)}}}=\frac{-0.01742}{154.624}=-0.0001127$$بنابراین مقدار جدید $\lambda $ به صورت زیر است:$${{\lambda }^{\left( 3 \right)}}=7.679-0.0001127=7.6789$$چون ${{\lambda }^{\left( 3 \right)}}$ کوچک است، قید تساوی پس از 4 تکرار رعایت شده و توزیع بهینه برای $\lambda =7.6789$ به‌صورت زیر می‌باشد:$$\begin{align}P_{1}^{\left( 4 \right)}&=\frac{7.6789-7}{2\left( 0.008+8\times 0.000218 \right)}=35.0907\\P_{2}^{\left( 4 \right)}&=\frac{7.6789-6.3}{2\left( 0.009+8\times 0.000228 \right)}=64.1317\\P_{3}^{\left( 4 \right)}&=\frac{7.6789-6.8}{2\left( 0.007+8\times 0.000179 \right)}=52.4767\end{align}$$این جواب را به عنوان جواب تقریبی می‌پذیریم. بنابراین هزینه کل به‌صورت زیر محاسبه می‌شود:$$\begin{align}C&={{C}_{1}}+{{C}_{2}}+{{C}_{3}}\\&=200+7{{P}_{1}}+0.008P_{1}^{2}+180+6.3{{P}_{2}}+0.009P_{2}^{2}+140+6.8{{p}_{3}}+0.007p_{3}^{3}\\&=1592.65\end{align}$$کد برنامه‌ی Matlab این مثال
و خروجی آن به پیوست می‌باشد.

clc
clear
D = 150;
B = [0.000218        0        0
    0    0.000228        0
    0         0   0.000179];
cost = [200  7.0    0.008
    180  6.3    0.009
    140  6.8    0.007];
n = length(cost(:,1));
Powerlimits =[10  85
    10  80
    10  70];
a=cost(:,1); b=cost(:,2); c = cost(:,3);
Pmin=Powerlimits(:,1); Pmax=Powerlimits(:,2);
wgt=ones(1, n);
iterp = 0;
DelP = 10;
E=B;
lambda=max(b);
while abs(DelP)  >= 0.0001  & iterp < 200
    iterp = iterp + 1;
    for k=1:n
        if wgt(k) == 1
            E(k,k) = c(k)/lambda + B(k,k);
            Dx(k) = 1/2*(1-b(k)/lambda);
        else, E(k,k)=1;  Dx(k) = 0;
            for m=1:n
                if m~=k
                    E(k,m)=0;
                end
            end
        end
    end
    PP=E\Dx';
    for k=1:n
        if wgt(k)==1
            Pgg(k) = PP(k);
        end
    end
    Pgtt = sum(Pgg);
    PL=Pgg*B*Pgg';
    DelP =D+PL -Pgtt ;
    for k = 1:n
        if Pgg(k) > Pmax(k) & abs(DelP) <=0.001,
            Pgg(k) = Pmax(k); wgt(k) = 0;
        elseif Pgg(k) < Pmin(k) & abs(DelP) <= 0.001
            Pgg(k) = Pmin(k); wgt(k) = 0;
        end
    end
    PL=Pgg*B*Pgg';
    DelP =D +PL - sum(Pgg);
    for k=1:n
        BP = 0;
        for m=1:n
            if m~=k
                BP = BP + B(k,m)*Pgg(m);
            end
        end
        grad(k)=(c(k)*(1+B(k,k)*b(k)-2*c(k)*BP)/(2*(c(k)+lambda*B(k,k))^2));
    end
    sumgrad=wgt*grad';
    Delambda = DelP/sumgrad;
    lambda = lambda + Delambda
end
fprintf('system lambda = %9.6f \n', lambda);
fprintf('Optimal Dispatch of Generation:\n\n')
disp(Pgg')
ng=length(Pgg);
n=0;
if exist('nBs')==1 | exist('Bsdata')==1
    for k=1:nBs
        if kb(k)~=0
            n=n+1;
            if n <= ng
                Bsdata(k,7)=Pgg(n); end
        end
    end
    if n == ng
        for k=1:nBs
            if kb(k)==1
                dpslack = abs(Pg(k)-Bsdata(k,7))/basemva;
                fprintf('Absolute value of the slack Bs real power mismatch, dpslack = %8.4f pu \n', dpslack)
            end
        end
    end
end
cost =[200  7.0    0.008
    180  6.3    0.009
    140  6.8    0.007];
n = length(cost(:,1));
Pmt = [ones(1,n); Pgg; Pgg.^2];
for i = 1:n
    costv(i) = cost(i,:)*Pmt(:,i);
end
totalcost=sum(costv);
fprintf('\nTotal generation cost = % 10.2f \n', totalcost)

 خروجی:

system lambda =  7.678935 
Optimal Dispatch of Generation:

   35.0907
   64.1317
   52.4767


Total generation cost =    1592.65


مراجع:

[1] تولید، بهره‌برداری و کنترل در سیستم‌های قدرت، آ. وود، ب. ولنبرگ، ترجمه‌ی دکتر حسین سیفی، انتشارات دانشگاه تربیت مدرس، 1392.


[2] Power System Analysis, Hadi Saadat, MacGrawHill, 1999.
موافقين ۰ مخالفين ۰ ۹۶/۰۹/۲۲
حسین زارع

نظرات (۰)

هيچ نظري هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی