Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

基于学习优化的线性规划(LP)求解框架

本仓库实现了一个用于 线性规划(LP)问题生成、神经优化模型训练与测试 的完整实验框架。
整体设计以 YAML 配置驱动,便于复现实验与后续扩展。


仓库结构说明


1. LP 问题生成(data_generate/

该目录包含用于生成训练与测试数据的 LP 问题生成器。

(1)随机稀疏 LP(Randomly Generated Sparse LP)

  • 第一个问题类型
  • 随机生成稀疏约束矩阵的线性规划问题
  • 支持配置:
    • 变量维度与约束维度
    • 矩阵稀疏度
    • 变量上下界
    • 随机种子
  • 目前所有训练与测试实验主要基于该问题类型

状态:已实现并已使用


(2)运输问题(Transportation Problem)

  • 论文中的第二类问题
  • 经典运输问题建模形式:
    • 供给约束
    • 需求约束
    • 流量守恒
  • 目前代码可以生成对应 LP 实例

⚠️ 注意
该问题生成器尚未经过系统测试与实验验证

状态:已实现,但尚未验证


2. 模型(models/

该目录用于存放神经优化模型。

已实现模型

  • 基于 PDHG 思想的神经网络模型(用于生成解或 warm-start)

未实现模型

  • IPM-MPNN
    • 计划实现基于内点法(IPM)的消息传递神经网络
    • 目前尚未编写代码

3. 训练结果(model_runs/

  • 存放训练过程中保存的模型参数
  • 目前主要包括:
    • 验证集上表现最优的模型(best model)
  • 测试阶段直接从该目录加载模型

4. 训练日志(train_log/

  • 记录训练过程中的日志信息,例如:
    • loss 变化
    • 评估指标
    • 训练时间
  • 用于分析模型训练过程与调参

5. 测试(test/

  • 测试脚本统一放在该目录
  • 通常用于比较:
    • 直接使用传统 LP 求解器
    • 使用神经模型生成初始解(warm-start)后再求解
  • 测试结果会输出到 result/ 目录

6. 测试结果(result/

  • 保存测试阶段生成的结果文件:
    • CSV 表格
    • 收敛曲线
    • 运行时间对比等
  • 不包含模型或训练日志

7. 配置文件(configs/

  • 所有参数均通过 YAML 文件 进行管理,包括:
    • 问题生成参数
    • 模型结构参数
    • 训练参数
    • 测试参数
  • 代码逻辑与参数配置完全分离,便于复现与实验对比

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors