一个交互式电力市场教学工具,帮助用户理解安全约束经济调度(SCED)、节点边际电价(LMP)和功率转移分布因子(PTDF)的计算逻辑与物理含义。
本系统是一个基于三节点直流潮流模型的电力市场教学推演平台。用户通过调节发电机组报价、容量、节点负荷和线路约束,实时观察电网潮流分布、节点电价和阻塞盈余的变化。系统内置 AI 教学助教,可以围绕当前计算结果回答用户的电力市场问题。
适用人群: 电力市场学习者、调度/交易/仿真相关从业者、需要现场演示 SCED/LMP 机制的教学场景。
- 3 台发电机组(G1/G2/G3)的报价和容量可独立调节
- 3 个节点负荷实时可调
- 3 条输电线路的传输限额和电抗可独立设置
- 所有参数支持滑块 + 数值输入双向联动
| 场景 | 核心教学点 |
|---|---|
| 无约束出清 | 电价统一、边际机组决定价格 |
| 线路拥堵 | 阻塞导致节点电价分裂 |
| 节点负电价 | 网络拓扑约束下的价格奇观 |
| 阻塞盈余 | 多线路同时绑定的复杂出清 |
点击场景按钮后,所有参数强制加载预设值,立即重新计算并刷新全部结果。
- 总体出清情况:KPI 指标、LMP 分解、机组结算
- 潮流计算:B' 矩阵构造 → 降阶 → 求逆 → 相角 → 线路潮流 → 限额对比,含验证区
- 线路影子价格:SCED 模型 → 拉格朗日函数 → KKT 条件 → 联立求解 → LMP 分解,含验证区
- 所有公式使用 LaTeX 渲染,支持实时联动
点击「教学文档」Tab 打开完整教学文档,涵盖:
- 从交流潮流到 DC 潮流的简化过程
- DC 潮流的完整矩阵计算推导
- PTDF 灵敏度分析
- SCED 优化模型与约束条件
- 拉格朗日函数与 KKT 条件
- 影子价格的物理含义与验证
- LMP 的分解公式与负电价成因
- 中国电力市场实践(山东/广东)
- 符号对照表 + 10 条常见问题 FAQ
- 基于当前页面计算状态回答问题(不脱离上下文)
- 支持流式输出(逐字显示)
- 用户可自配 API(Base URL + API Key + 模型)
- 兼容 OpenAI / DeepSeek / 硅基流动等兼容接口
- 现代 SaaS 风格,浅色主题
- 等边三角形拓扑图,节点白底灰边 + drop-shadow
- 潮流动态箭头 + 颜色编码(蓝/黄/红)
- 线路标签毛玻璃效果
- 全局 LaTeX 公式渲染(KaTeX)
- 1920 桌面优先,一屏完整展示
# 1. 克隆仓库
git clone https://github.com/jursber/lmp-teaching.git
cd lmp-teaching
# 2. 启动服务(零依赖,无需 npm install)
node server.js
# 3. 打开浏览器
# http://127.0.0.1:8765系统要求:Node.js 14+,无需安装任何依赖包。
点击 AI 面板右上角 ⚙ 按钮,填写:
| 字段 | 示例 |
|---|---|
| Base URL | https://api.deepseek.com |
| API Key | sk-xxx |
| 模型 | deepseek-chat |
| 温度 | 0.2(默认) |
- API Key 默认存 sessionStorage(关闭标签页即丢失)
- 勾选「记住 Key」后写入 localStorage
- 服务端不记录任何 API Key(日志中脱敏显示)
lmp/
├── sced_and_lmp_educational_system.html # 主页面(HTML + CSS + JS 一体)
├── server.js # 本地代理服务(Node.js 原生,零依赖)
├── package.json
├── README.md
├── reference/ # 参考版本
└── old/ # 历史版本
- 前端:纯原生 HTML / CSS / JS,无框架依赖
- 后端:Node.js 原生
http模块,零 npm 依赖 - 潮流计算:DC 潮流(直流近似),不含网损、无功、电压约束
- SCED 求解:顶点枚举法(3 节点等价于 2D 线性规划)
- LMP 计算:数值扰动法(有限差分)
- 公式渲染:KaTeX
- AI 代理:支持 SSE 流式透传,兼容 OpenAI 格式接口
- 本系统用于教学演示,不适用于实际电力市场运行
- DC 潮流是简化模型,真实系统需要 AC 潮流安全校核
- 负电价在特定网络拓扑下出现,是数学结果而非系统故障
- AI 助教的回答基于当前计算状态,配置 API 后方可使用
- 服务端不存储任何用户数据,所有计算在浏览器本地完成
本项目仅供教学使用。