دوره مقدماتی بهینهسازی سیستمهای قدرت
۱ تیر ۱۴۰۵
| محیط کار: Python (Pyomo) | سطح: مقدماتی | مدت دوره: ۸ ساعت |
دوره مقدماتی بهینهسازی سیستمهای قدرت با هدف آشنایی عملی با مهمترین مسائل پایه صنعت برق طراحی شده است. در این دوره ۸ ساعته یاد میگیرید چگونه مسائل متداول سیستم قدرت را به مدلهای ریاضی قابل حل تبدیل و سپس در Python پیادهسازی کنید. ساختار دوره پلکانی است: از سادهترین مسئله (پخش بار اقتصادی) شروع میکنیم و در هر گام یک لایه از واقعیت — زمان، شبکه، ذخیرهساز و تصمیم روشن/خاموش — به مدل اضافه میشود.

سرفصلها
۱ — پخش بار اقتصادی (Economic Dispatch)
نقطهٔ شروعِ همهچیز: سادهترین حالت که فقط میپرسیم «هر نیروگاه چقدر تولید کند تا ارزانترین شود؟» اینجا با تابع هزینه و قید تعادل توان آشنا میشوید — سنگبنای کل دوره.
۲ — پخش بار اقتصادی دینامیکی (Dynamic Economic Dispatch)
حالا بُعدِ زمان اضافه میشود: مصرف در طول شبانهروز بالا و پایین میرود. قید مهمِ نرخ تغییر توان (ramp rate) وارد میشود، چون نیروگاه نمیتواند یکدفعه تولیدش را تغییر دهد. پلِ طبیعی بین مسئلهٔ تکلحظهای و بهرهبرداری روزانه.
۳ — پخش بار بهینه (DC Optimal Power Flow)
این بار بُعدِ شبکه اضافه میشود: برق آزادانه هرجا نمیرود، بلکه طبق فیزیک خطوط پخش میشود و خطوط محدودیت ظرفیت دارند. اینجا میفهمید چرا گاهی مجبوریم نیروگاه گرانتر را روشن کنیم — ارتباط اقتصاد و فیزیک شبکه.
۴ — مدلسازی سیستمهای ذخیرهساز انرژی و باتری
باتری مفهوم تازهای میآورد: جابهجایی انرژی در زمان — انرژی ارزان را ذخیره کن، موقع گرانی استفاده کن. مدلسازیاش به مسئلهٔ دینامیکی وصل است و قید سطح شارژ (SOC) دارد. این مبحث دوره را به دنیای امروز و منابع تجدیدپذیر میرساند.
۵ — آشنایی مختصر با آرایش بهینه نیروگاهی (Unit Commitment)
جمعبندیِ همهچیز: تا حالا فرض میکردیم نیروگاهها روشناند، ولی حالا تصمیم میگیریم کدام نیروگاه اصلاً روشن شود (متغیر صفر و یک). مسئله وارد دنیای برنامهریزی عدد صحیح میشود — سختتر، ولی واقعیتر. نگاهِ پایانی به مسائل پیشرفته.
نمای کلی مسیر دوره
| گام | موضوع | لایهٔ اضافهشده | مدل پایه |
|---|---|---|---|
| ۱ | پخش بار اقتصادی | — | ED |
| ۲ | پخش بار اقتصادی دینامیکی | زمان (ramp) | DED |
| ۳ | پخش بار بهینه | شبکه | DC-OPF |
| ۴ | ذخیرهساز و باتری | ذخیرهٔ انرژی | DED + Storage |
| ۵ | آرایش بهینه واحدها | تصمیم صفر-و-یک | UC (MILP) |
یک نمونه کد Pyomo از پایهٔ دوره
پایهٔ همهچیز «پخش بار اقتصادی» است: تعیین اینکه هر واحد چقدر تولید کند تا هزینه سوخت کمینه شود و تعادل تولید و مصرف برقرار بماند.
# پخش بار اقتصادی سه واحد تولیدی با Pyomo
from pyomo.environ import (ConcreteModel, Set, Var, Objective, Constraint,
NonNegativeReals, minimize, SolverFactory, value)
gens = {
'G1': {'a': 0.110, 'b': 5.0, 'Pmin': 10, 'Pmax': 100},
'G2': {'a': 0.085, 'b': 1.2, 'Pmin': 10, 'Pmax': 100},
'G3': {'a': 0.122, 'b': 1.0, 'Pmin': 10, 'Pmax': 100},
}
demand = 210
m = ConcreteModel()
m.G = Set(initialize=list(gens.keys()))
m.P = Var(m.G, domain=NonNegativeReals,
bounds=lambda m, g: (gens[g]['Pmin'], gens[g]['Pmax']))
m.cost = Objective(
rule=lambda m: sum(gens[g]['a'] * m.P[g]**2 + gens[g]['b'] * m.P[g]
for g in m.G),
sense=minimize)
m.balance = Constraint(rule=lambda m: sum(m.P[g] for g in m.G) == demand)
SolverFactory('ipopt').solve(m)
for g in m.G:
print(f"{g}: {value(m.P[g]):.2f} MW")
print(f"هزینه کل: {value(m.cost):.2f}")
همین ساختار در گامهای بعد با افزودن زمان، شبکه و باتری گسترش مییابد.
این دوره برای چه کسانی است؟
- دانشجویان مهندسی برق (قدرت) که میخواهند وارد مسائل بهینهسازی شوند
- پژوهشگران و علاقهمندان به مدلسازی مسائل بهرهبرداری سیستم قدرت
- مهندسان صنعت برق که به دنبال مهارت عملی کدنویسی مسائل هستند
- هر کسی که پیش از دورهٔ پیشرفته به یک پایهٔ محکم نیاز دارد
دستاوردهای دوره
در پایان این دوره میتوانید مسائل پایهٔ بهرهبرداری سیستم قدرت را بهدرستی فرموله کنید، آنها را در Python با Pyomo پیادهسازی و حل کنید، و نقش زمان، شبکه، ذخیرهساز و تصمیمهای صفر-و-یک را در مدلسازی تشخیص دهید. این دوره پیشنیاز طبیعیِ دوره پیشرفته بهینهسازی سیستمهای قدرت است.
سوالات متداول درباره دوره
پیشنیاز این دوره چیست؟
آشنایی مقدماتی با مفاهیم سیستم قدرت و برنامهنویسی پایه Python کافی است. دانش قبلی از حلکنندهها لازم نیست و در دوره آموزش داده میشود.
مدت دوره چقدر است؟
این دوره فشرده و ۸ ساعته است و بهصورت پروژهمحور برگزار میشود.
چه مسائلی پوشش داده میشود؟
پخش بار اقتصادی، پخش بار اقتصادی دینامیکی، پخش بار بهینه DC، مدلسازی ذخیرهساز و باتری و مقدمهای بر آرایش بهینه واحدها (Unit Commitment).
تفاوت این دوره با دوره پیشرفته چیست؟
این دوره مقدماتی و پایهای است و مفاهیم اصلی را میسازد؛ دوره پیشرفته با ۱۰ جلسه وارد مسائل واقعیِ روزِ بهرهبرداری و برنامهریزی شبکه میشود.
💬 سوالات و راهنمایی
سوالی درباره ثبتنام داری؟ با آیدی @pypyid در تلگرام تماس بگیرید.