# code_lazer_sat **Repository Path**: cislunarspace/code_lazer_sat ## Basic Information - **Project Name**: code_lazer_sat - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 空间目标探测任务规划与评估 基于 COPT 的雷达–目标观测调度(MIP),求解与 Dash 展示分离:先运行求解器生成结果文件,再启动网页读取展示。 ## 运行环境 - **Python**:3.13 及以上(与仓库根目录 `requirements.txt` 一致即可)。 - **COPT**:商业求解器,需从 [杉数科技 COPT 页面](https://www.shanshu.ai/solver) 安装并配置 license;Python 侧依赖 `coptpy`。 ## 安装依赖 在项目根目录执行: ```bash pip install -r requirements.txt ``` `requirements.txt` 中主要包含:`numpy`、`pandas`、`openpyxl`、`astropy`、`scipy`、`dash`、`plotly`、`matplotlib`、`coptpy` 等。若遇网络问题,可自行更换 PyPI 镜像。 ## 快速开始 1. 准备 `simData/` 下数据文件(见下文「输入数据」;文件名需与 `data.py` 中当前配置一致)。 2. **求解**(需 COPT) ```bash python run_solver.py ``` 默认将结果写入 `output/schedule_result.pkl`(`output/` 已在 `.gitignore` 中忽略)。可选参数: - `--time-limit <秒>`:求解时间上限(默认 3600) - `-o` / `--output <路径>`:指定 pkl 输出路径 3. **查看调度结果**(不加载 COPT) ```bash python result_show_app.py ``` 浏览器访问:。若默认路径无结果文件,可设置环境变量 `SCHEDULE_RESULT_PKL` 指向其它 `.pkl` 文件。 ## 输入数据(`simData/`) 当前 `data.py` 中启用的文件为(若需更换数据集,请直接改 `data.py` 内路径): | 用途 | 当前文件名 | |------|------------| | 测站参数 | `sensorData.xlsx` | | 任务需求 | `requireData5000.xlsx` | | 可见弧段链 | `AllArcChain_A.mat` | | 仿真时间轴 | `simDate.mat` | 同目录下另有注释掉的可选路径(如 `requireData.xlsx`、`usableArcs.mat` 等),按实验需要切换。 ## 项目结构(代码) | 文件 / 目录 | 说明 | |-------------|------| | `data.py` | 读取 Excel/MAT,构建 `radar_target_vis_dict` 等预处理数据。 | | `optimization_solver.py` | 构建 COPT 模型并 `run_optimization()`;供 `run_solver.py` 调用。 | | `run_solver.py` | 命令行入口:求解并调用 `schedule_result_store` 落盘。 | | `schedule_result_store.py` | 读写求解结果 pickle;网页仅依赖加载逻辑,不依赖 COPT。 | | `schedule_view.py` | 由求解结果生成调度表 `DataFrame` 及中文列名映射。 | | `visible_arc_visualization_app.py` | 可见弧段 Dash 应用;其中 `index_to_utc` 被 `optimization_solver` 复用。 | | `result_show_app.py` | 调度结果 Dash:表格与甘特图,读 pkl。 | | `assets/custom.css` | `result_show_app` 样式。 | 可选:单独查看**可见弧段**(依赖 `data`,不依赖求解结果): ```bash python visible_arc_visualization_app.py ``` 默认地址:。 ## 任务场景(摘要) - 使用多种雷达对空间目标进行探测规划;雷达参数见 `sensorData.xlsx`,目标需求见需求表(如最少测站数、最短观测时间、弧段次数、优先级等)。 - 规划时段与 `data.py` 中仿真起始时间及 `simDate.mat` 一致(示例:**2021-10-14 04:00:00 UTC** 起,跨约 24h 量级,以数据为准)。 ### 输出 求解得到加权意义下的有效观测目标与具体雷达–目标–弧段时间窗;`result_show_app` 中可查看明细表、甘特图并导出 CSV。 ## 运行步骤( checklist) 1. 安装 Python 与 COPT,执行 `pip install -r requirements.txt`。 2. 将 `simData` 所需文件放置到位,并按需修改 `data.py` 中的文件名。 3. 运行 `python run_solver.py` 生成 `output/schedule_result.pkl`。 4. 运行 `python result_show_app.py` 在浏览器中查看结果。 5. (可选)运行 `python visible_arc_visualization_app.py` 查看可见弧段。