معرفی دوره
دوره مقدماتی بهینهسازی سیستمهای قدرت با هدف آشنایی عملی با مهمترین مسائل پایه صنعت برق طراحی شده است. در این دوره ۸ ساعته یاد میگیرید چگونه مسائل متداول سیستم قدرت را به مدلهای ریاضی قابل حل تبدیل و سپس در 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}")
همین ساختار در گامهای بعد با افزودن زمان، شبکه و باتری گسترش مییابد. اگر میخواهید این کد را بدون نصب چیزی روی سیستم خودتان اجرا کنید، راهنمای Google Colab کمک میکند؛ و برای آشنایی با گزینههای مختلف سالور در Pyomo، یادداشت سه روش عملی استفاده از سالورها را ببینید. برای گامی فراتر از DC-OPF — یعنی کنترل ولتاژ، توان راکتیو و مسائل شبکه هوشمند برق — یادداشت بهینهسازی و شبکه هوشمند برق را مطالعه کنید.
این دوره برای چه کسانی است؟
- دانشجویان مهندسی برق (قدرت) که میخواهند وارد مسائل بهینهسازی شوند
- پژوهشگران و علاقهمندان به مدلسازی مسائل بهرهبرداری سیستم قدرت
- مهندسان صنعت برق که به دنبال مهارت عملی کدنویسی مسائل هستند
- هر کسی که پیش از دورهٔ پیشرفته به یک پایهٔ محکم نیاز دارد
دستاوردهای دوره
در پایان این دوره میتوانید مسائل پایهٔ بهرهبرداری سیستم قدرت را بهدرستی فرموله کنید، آنها را در Python با Pyomo پیادهسازی و حل کنید، و نقش زمان، شبکه، ذخیرهساز و تصمیمهای صفر-و-یک را در مدلسازی تشخیص دهید. این دوره پیشنیاز طبیعیِ دوره پیشرفته بهینهسازی سیستمهای قدرت است. اگر به مسائل بهینهسازی خارج از حوزه سیستم قدرت هم علاقه دارید، دوره مسیریابی و بهینهسازی با پایتون یک مسیر تکمیلی خوب برای تمرین همین مهارتهای مدلسازی روی مسائل حملونقل و زنجیره تأمین است.
سوالات متداول درباره دوره
پیشنیاز این دوره چیست؟
آشنایی مقدماتی با مفاهیم سیستم قدرت و برنامهنویسی پایه Python کافی است. دانش قبلی از سالورها لازم نیست و در دوره آموزش داده میشود.
مدت دوره چقدر است؟
این دوره فشرده و ۸ ساعته است و بهصورت پروژهمحور برگزار میشود.
چه مسائلی پوشش داده میشود؟
پخش بار اقتصادی، پخش بار اقتصادی دینامیکی، پخش بار بهینه DC، مدلسازی ذخیرهساز و باتری و مقدمهای بر آرایش بهینه واحدها (Unit Commitment).
تفاوت این دوره با دوره پیشرفته چیست؟
این دوره مقدماتی و پایهای است و مفاهیم اصلی را میسازد؛ دوره پیشرفته بهینهسازی سیستمهای قدرت با ۱۰ سرفصل اصلی وارد مسائل واقعیِ روزِ بهرهبرداری و برنامهریزی شبکه میشود.