Commit Graph

48 Commits

Author SHA1 Message Date
dmy
6441ddc059 Fix MIP import issue: move design_with_mst function outside __main__ protection block 2026-01-08 12:39:07 +08:00
dmy
2f095df12e Fix MIP algorithm: simplify model formulation and add detailed debugging 2026-01-08 10:28:35 +08:00
dmy
a3837a6707 Rewrite MIP model formulation and add comprehensive debugging 2026-01-08 10:22:39 +08:00
dmy
886fba4d15 Clear comparison results and topology visualization on new file upload 2026-01-08 10:10:46 +08:00
dmy
397ca8847e Fix MIP fallback return values: ensure consistent unpacking 2026-01-08 10:06:46 +08:00
dmy
6ad11a9b69 Fix MIP model: make objective function linear to avoid multiplication error 2026-01-08 10:03:49 +08:00
dmy
579f8866c4 Fix MIP toggle bug: handle PuLP import gracefully 2026-01-08 10:01:46 +08:00
dmy
4230d2221d Add MIP module for collector layout optimization 2026-01-08 09:54:40 +08:00
dmy
46e929bfce Implement genetic algorithm for collector layout optimization 2026-01-08 09:46:00 +08:00
dmy
f2a960e789 feat: 优化回路数计算逻辑,提升报表准确性 2026-01-07 16:55:11 +08:00
dmy
87cea6ed86 feat: 优化文件保存对话框并增强系统稳定性
- 重新启用run.io_bound()调用,使用后台线程执行PowerShell脚本
- 为所有文件保存操作添加按钮防重复点击功能
- 新增win32_helper模块,提供Win32 API和COM接口的文件对话框
- 简化导出最佳方案DXF的代码结构
- 改进异步操作和错误处理机制
2026-01-07 12:47:58 +08:00
dmy
e0b5b0c3dc feat: 在方案对比表格中增加损耗费用净现值列
- 新增'损耗费用净现值 (万元)'列,显示生命周期内损耗费用的净现值
- 使用npv_loss字段替代annual_loss_cost,考虑折现率对全生命周期成本的影响
- 支持按损耗费用净现值排序,便于方案经济性对比
2026-01-07 11:27:29 +08:00
dmy
7aef58de1e fix: 修正损耗计算单位从瓦特(W)转换为千瓦(kW)
- 将evaluate_design函数中的损耗计算结果从W转换为kW
- loss_w变量存储三相损耗(W),loss_kw转换为kW后累加
- 确保total_loss返回值单位为kW,与后续经济性分析计算一致
2026-01-07 10:01:32 +08:00
dmy
45c99b41b3 fix: 移除 native 模式下的 run.io_bound() 调用
- 在 native=True 模式下不能使用 run.io_bound() 执行 CPU 密集型任务
- 将 PowerShell 调用改为同步执行 subprocess.run()
- 解决 'Unable to run CPU-bound in script mode' 错误
2026-01-07 01:40:42 +08:00
dmy
837158270e fix: 优化文件保存对话框并启用原生窗口模式
- 添加 matplotlib.use('Agg') 设置非交互式后端
- 重构 save_file_with_dialog 函数,使用 PowerShell 原生对话框替代 Tkinter
- 解决 PyWebview/Tkinter 线程冲突导致的 PicklingError 问题
- 启用 native=True 原生窗口模式,提供更好的用户体验
2026-01-07 01:03:46 +08:00
dmy
61fa870778 feat: 完善经济性分析功能和优化界面显示
- 新增工程运行期限、折现率、年损耗小时数参数配置
- 实现总费用计算功能(包含电缆投资NPV和电费损耗NPV)
- 修复total_investment函数调用时机问题,确保GUI模式正确计算
- 优化电缆单价显示为万元/km单位
- 总长度显示单位改为公里
- 方案对比结果新增总费用列,支持全生命周期成本比选
- 代码格式化和导入顺序优化
- 添加IFLOW.md项目上下文文档
2026-01-06 15:09:52 +08:00
dmy
c54ad369a4 feat: 新增电价参数配置功能
- 在Excel模板中新增电价参数项(默认0.4元/kWh)
- GUI界面显示电价参数,支持从Excel读取
- 核心计算逻辑集成电价参数,为后续经济性分析做准备
- 支持自定义电价或使用默认值
2026-01-06 11:43:41 +08:00
dmy
86e0e21b58 feat: 方案对比结果表格新增总长度列
- 在方案对比结果中新增'总长度(m)'列
- 自动计算每个方案的海缆总长度
- 支持按总长度排序,方便方案比选
2026-01-06 11:25:43 +08:00
dmy
60a9a57cee feat: 方案对比结果区域改为可折叠显示
- 将方案对比结果卡片改为可折叠的expansion组件
- 添加analytics图标,提升界面美观度
- 默认展开状态,方便用户查看
- 优化卡片样式,移除内边距并添加overflow-hidden
2026-01-06 11:16:53 +08:00
dmy
db6114ef57 feat: 优化电缆规格显示和更新项目配置
- GUI电缆规格表格新增'是否为可选'列,支持显示可选电缆标识
- 修复信息容器初始化问题,确保提示文本正确显示
- 更新使用说明文档,修正适用对象和技术支持信息
- 添加项目配置文件(.gitignore, .python-version, pyproject.toml, uv.lock)
- 添加版本管理脚本(make_version.py)
- 添加Excel数据文件和使用说明PDF文档
2026-01-06 10:01:11 +08:00
dmy
67b1f55b92 build: 优化构建流程,添加版本管理和更新文档
- 更新Makefile: 改用nicegui-pack进行打包,添加自动版本号生成
- 添加build.spec和海上风电场集电线路设计优化系统.spec配置文件
- GUI集成版本号显示,支持动态版本管理
- 更新使用说明文档,补充系统概述和修正导出说明
2026-01-06 08:45:57 +08:00
dmy
b924f75add docs: 完善项目文档和使用说明
- 更新README.md,补充GUI特性说明和参数配置文档
- 新增使用说明目录,包含完整的操作手册和界面截图
- 优化generate_template.py,支持自定义模板输出路径
- 改进GUI界面布局,优化文件上传和模板导出功能
- 添加系统参数配置说明(电压、功率因数等)
2026-01-05 23:30:29 +08:00
dmy
c6168afd1d refactor: 调整GUI界面布局宽度为全屏显示 2026-01-05 22:27:15 +08:00
dmy
9352005db3 更新了gui界面 2026-01-05 22:06:03 +08:00
dmy
15d8f4881d feat: 改进文件保存对话框,支持跨平台系统原生保存
主要改进:
1. 新增 save_file_with_dialog 函数
   - 优先使用 PyWebview 原生模式保存对话框
   - 回退到 Tkinter 对话框(本地环境)
   - 最终回退到浏览器下载方式

2. 优化所有导出功能
   - Excel 对比表导出支持系统保存对话框
   - DXF 文件导出支持系统保存对话框
   - ZIP 批量导出支持系统保存对话框
   - 模板导出支持系统保存对话框

3. 代码质量改进
   - 统一异步函数命名规范(on_click_*)
   - 改进代码格式化和缩进
   - 添加详细的调试日志

4. 用户体验提升
   - 用户可以自由选择保存位置
   - 支持文件类型过滤
   - 自动处理文件名后缀
2026-01-05 21:32:46 +08:00
dmy
751bdef245 feat: 优化GUI用户体验和打包配置
主要改进:
1. GUI界面优化
   - 自定义文件上传显示组件,替换默认列表为更美观的卡片式展示
   - 支持环境变量 PROJECT_TEMP_DIR 配置临时目录路径
   - 优化文件导出路径管理,统一使用临时目录
   - 改进端口查找逻辑,从8082开始避免常用端口冲突
   - 修复打包后无控制台模式的stdout/stderr处理

2. 打包配置改进
   - 更新Makefile使用.spec文件进行打包
   - 添加nicegui-pack打包选项
   - 优化clean命令,使用Python跨平台清理

3. 代码优化
   - 注释掉main.py中的详细统计信息打印
   - 改进打包环境的日志配置方式
2026-01-05 17:09:39 +08:00
dmy
05ac7a3388 refactor: 统一导出文件命名规则,使用文件前缀变量
提取file_prefix变量统一管理导出文件的命名前缀,
确保所有导出的Excel和DXF文件使用一致的命名规则,
提升代码可维护性和文件命名的一致性。
2026-01-05 10:35:09 +08:00
dmy
f28e087cd2 feat: 添加Makefile用于PyInstaller打包
提供便捷的打包命令:make build/rebuild/clean/help
使用uv run确保在虚拟环境中执行pyinstaller命令
2026-01-05 10:14:40 +08:00
dmy
a5b46529da fix: 修复打包后exe程序在无控制台模式下运行时的uvicorn日志配置错误
通过检测sys.frozen判断运行环境,只在打包后的exe程序中禁用日志配置,
避免AttributeError: 'NoneType' object has no attribute 'isatty'错误。
普通Python运行环境保留完整日志功能,方便调试。
2026-01-05 09:52:51 +08:00
dmy
2ec763b86a feat: 增强电缆数据校验和UI优化 2026-01-04 19:11:45 +08:00
dmy
a42a8ec7f1 feat: 增强日志显示和方案表格信息展示 2026-01-04 18:56:00 +08:00
dmy
dd7265ff4f feat: 导出全部方案时自动包含Excel报表 2026-01-04 18:40:48 +08:00
dmy
3f73a9be26 feat: 增强导出功能和端口自动分配 2026-01-04 18:33:34 +08:00
dmy
369430aa67 feat: 优化GUI推荐方案选择和用户交互 2026-01-04 17:39:09 +08:00
dmy
00d480edbb refactor: 代码格式统一和Excel导出优化 2026-01-04 14:01:16 +08:00
dmy
06680a6e33 fix: 修复GUI界面图表显示和事件处理问题 2026-01-04 12:05:06 +08:00
dmy
6f2f851a6e feat: 新增Web GUI界面,支持交互式设计对比 2026-01-04 11:53:15 +08:00
dmy
d563905f28 添加完整的项目文档README.md
- 提供详细的功能特性说明和算法介绍
- 包含完整的安装和使用指南
- 添加电缆规格配置表格
- 更新输出示例以反映最新功能
- 完善项目结构说明和参数配置
2026-01-02 01:24:02 +08:00
dmy
b5718a0cc2 优化风电场设计方案对比算法:添加旋转算法和双模式对比
- 新增design_with_rotational_sweep函数:实现旋转优化算法
- 修改compare_design_methods函数:
  * 将MST结果纳入对比列表
  * 每个电缆场景运行Base和Rotational两种算法
  * 添加成本和损耗对比显示
  * 优化可视化展示和文件输出
- 改进算法选择逻辑:增强簇数计算的智能化
- 更新输出格式:区分不同算法结果并优化显示
2026-01-02 00:25:33 +08:00
dmy
6cac8806f0 更新风电场设计工具:扩展电缆规格并优化多方案比较功能
- 更新generate_template.py:增加电缆型号至9种,添加Optional字段完善数据结构
- 重构main.py比较流程:
  * 实现多方案结果存储机制
  * 添加交互式DXF导出选择功能(支持单方案/全部导出)
  * 优化多方案可视化对比展示
  * 改进Excel导出功能,整合所有方案数据
  * 增强用户交互体验和结果展示
2026-01-01 23:58:03 +08:00
dmy
34b0d70309 feat: 新增Excel报表导出功能 2026-01-01 16:25:55 +08:00
dmy
6454a2c01e feat: 增强DXF导出和命令行参数支持 2026-01-01 14:31:46 +08:00
dmy
2d50ab0df0 feat: 优化K-means簇数计算逻辑,基于风机数量与电缆型号数量 2026-01-01 13:56:02 +08:00
dmy
41e3cf355c fix: 调整海上风电场电缆成本计算方式 2026-01-01 13:24:44 +08:00
dmy
e6d98297b1 feat: 增加平台高度参数,优化电缆长度计算 2026-01-01 12:23:00 +08:00
dmy
e7e12745d1 feat: 优化风电场集电系统设计,支持电缆规格配置 2026-01-01 11:55:05 +08:00
dmy
4db9d138b8 feat: 优化风电场集电系统设计,支持电缆规格配置
主要更改:
• 新增电缆规格配置支持
  - Excel文件新增Cables工作表,支持自定义电缆参数(截面、载流量、电阻、成本)
  - 实现容量约束扫描算法(Capacitated Sweep),替代原有K-means方法
  - 动态计算所需回路数量,确保每条回路的电缆载流量符合约束

• 代码增强
  - main.py: 集成电缆规格参数,新增命令行参数支持(--clusters手动指定簇数)
  - generate_template.py: 模板文件新增Cables工作表,提供9种标准电缆规格(35mm²-400mm²)

• 文档更新
  - 新增project_context.md: 详细记录项目背景、算法逻辑、电气建模和当前状态
  - 新增GEMINI.md: 开发者偏好配置

优化后的设计更符合实际工程需求,支持电缆容量约束,输出更准确的成本和损耗评估。
2026-01-01 11:39:14 +08:00
dmy
2f70b2fc72 feat: 添加海上风电场集电线路设计优化工具 2025-12-31 19:21:25 +08:00