diff options
Diffstat (limited to 'Electrical_Power_Systems_by_C_L_Wadhwa/24-UNIT_COMMITMENT.ipynb')
-rw-r--r-- | Electrical_Power_Systems_by_C_L_Wadhwa/24-UNIT_COMMITMENT.ipynb | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/Electrical_Power_Systems_by_C_L_Wadhwa/24-UNIT_COMMITMENT.ipynb b/Electrical_Power_Systems_by_C_L_Wadhwa/24-UNIT_COMMITMENT.ipynb new file mode 100644 index 0000000..fa93d81 --- /dev/null +++ b/Electrical_Power_Systems_by_C_L_Wadhwa/24-UNIT_COMMITMENT.ipynb @@ -0,0 +1,135 @@ +{ +"cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 24: UNIT COMMITMENT" + ] + }, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 24.3: Priority_List_Method.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// Priority List Method \n", +"clear\n", +"clc;\n", +"Fc1=1.1;//Fuel cost(1)=Rs 1.1/MBtu\n", +"Fc2=1;//Fuel cost(2)=1/MBtu\n", +"Fc3=1.2;//Fuel cost(3)=1.2/MBtu\n", +"P1max=600;\n", +"P1=P1max;\n", +"F1=600+7.1*P1+0.00141*(P1^2);//For P1= Pm1ax\n", +"Favg1=F1*Fc1/600;//Full load average production cost\n", +"P2max=450;\n", +"P2=P2max;\n", +"F2=350+7.8*P2+0.00195*(P2^2);//For P2= P2max\n", +"Favg2=F2*Fc2/450;//Full load average production cost\n", +"P3max=250;\n", +"P3=P3max;\n", +"F3=80+8*P3+0.0049*(P3^2);//For P3= P3max\n", +"Favg3=F3*Fc3/250;//Full load average production cost\n", +"mprintf('Priority List is as follows\n');\n", +"mprintf('Unit Rs/MWhr MinMW Max MW\n')\n", +"mprintf(' 2 %.3f 100 %.0f \n',Favg2,P2max)\n", +"mprintf(' 1 %.4f 60 %.0f \n',Favg1,P1max)\n", +"mprintf(' 3 %.2f 50 %.0f \n\n',Favg3,P3max)\n", +"Fmax1=P1max+P2max+P3max;\n", +"Fmax2=P2max+P1max\n", +"Fmax3=P2max\n", +"mprintf('Unit Commitment Scheme is follows\n')\n", +"mprintf('Combination Min.MW from Combination Max.MW from Combination\n');\n", +"mprintf('2+1+3 310 %.0f \n',Fmax1);\n", +"mprintf('2+1 260 %.0f \n',Fmax2);\n", +"mprintf('2 100 %.0f ',Fmax3);" + ] + } +, +{ + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example 24.4: illustrate_the_dynamic_programming_for_preparing_an_optimal_unit_commitment.sce" + ] + }, + { +"cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], +"source": [ +"// illustrate the dynamic programming for preparing an optimal unit commitment.\n", +"\n", +"clear\n", +"clc;\n", +"function[F1]=F1(P1)\n", +" F1=7.1*P1+.00141*(P1^2)\n", +" mprintf('F1(%.0f)=%.1f\n',P1,F1);\n", +"endfunction\n", +"function[f2]=f2(P2)\n", +" f2=7.8*P2+.00195*(P2^2)\n", +" mprintf('f2(%.0f)=%.0f\n',P2,f2);\n", +"endfunction\n", +"function[F]=F(P1,P2)\n", +" F1=7.1*P1+.00141*(P1^2)\n", +" F2=7.8*P2+.00195*(P2^2)\n", +" F=F1+F2\n", +" mprintf('F1(%.0f)+f2(%.0f)=%.0f\n',P1,P2,F);\n", +" endfunction\n", +"P1max=600;\n", +"P2max=450;\n", +"mprintf('Unit Commitment using Load 500MW\n')\n", +"F1(500);\n", +"mprintf('Since min. Power of second unit is 100MW , we find\n');\n", +"F(400,100);\n", +"F(380,120);\n", +"F(360,140);\n", +"mprintf('Therefore for load 500 MW , the load commitment on unit 1 is 400 MW and that on 2 is 100 MW which gives min. cost\n');\n", +"mprintf('Next we increase the load by 50 MW and loading unit 1 we get, \n');\n", +"F1(550);\n", +"mprintf('Also if we distribute a part of load to unit 2 we get ,\n')\n", +"F(450,100);\n", +"F(400,150);\n", +"F(350,200);\n", +"mprintf('Therefore for load 550 MW , the load commitment on unit 1 is 400 MW and that on 2 is 150 MW which gives min. cost\n');\n", +"\n", +"\n", +"" + ] + } +], +"metadata": { + "kernelspec": { + "display_name": "Scilab", + "language": "scilab", + "name": "scilab" + }, + "language_info": { + "file_extension": ".sce", + "help_links": [ + { + "text": "MetaKernel Magics", + "url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md" + } + ], + "mimetype": "text/x-octave", + "name": "scilab", + "version": "0.7.1" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} |