# network-optimize-api **Repository Path**: cugjack/network-optimize-api ## Basic Information - **Project Name**: network-optimize-api - **Description**: 国家管网中优化模型的代码,重构版本 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-20 - **Last Updated**: 2026-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Network Optimize API 北部台管存与转供优化服务。项目提供传统两层 LP 优化接口,以及代理模型报警优化接口。 ## 主要接口 - `POST /optimize`:同步生成三套转供优化方案。 - `POST /optimize_async`:异步生成方案并调用外部模型设置接口。 - `POST /model/model_set_callback`:接收外部机组方案并回调最终结果。 - `/surrogate/*`:代理模型报警优化与方案验证接口。 ## 目录结构 ```text src/network_optimize/ main.py FastAPI 应用入口 application/ 用例编排与响应合并 domain/ 拓扑、管存、平衡、转供和优化算法 infrastructure/ 配置、HTTP 客户端和中间结果存储 surrogate/ 代理模型报警优化流程 config/ 运行配置模板 data/ API 运行必需的配置表 docs/ 部署、接口和联调文档 samples/ 请求与响应样例 scripts/ 独立数据维护工具(不参与服务运行) tests/ 回归与冒烟测试 ``` ## 本地启动 ```powershell conda activate py310 Copy-Item config/service_config.local.example.json config/service_config.json $env:PYTHONPATH = "$PWD\src" python -m uvicorn network_optimize.main:app --host 127.0.0.1 --port 8000 ``` Swagger 地址:`http://127.0.0.1:8000/docs`。 同步 `/optimize` 不需要数据库或外部服务。异步接口所需的 MinIO、外部模型设置接口和最终回调接口参见 [联调说明](docs/integration.md)。 ## 测试 ```powershell python -m pip install -r requirements-dev.txt $env:PYTHONPATH = "$PWD\src" python -m unittest discover -s tests -v ``` ## Docker ```bash docker build -t network-optimize-api:1.0.0 . docker run --rm -p 8000:8000 network-optimize-api:1.0.0 ``` 导出离线镜像: ```bash mkdir -p dist docker save -o dist/network-optimize-api-1.0.0.tar network-optimize-api:1.0.0 ``` 仓库只提交 `config/service_config.example.json`。部署前复制为 `config/service_config.json`,再根据现场环境填写外部地址和存储配置;该运行配置已被 Git 忽略。