用途:管理多仿真活动,包括生成参数扫描配置、跟踪作业执行状态、聚合已完成运行的结果。
主要能力:提供四个脚本。sweep_generator.py 生成参数组合配置,输出 configs、parameter_space、sweep_method、total_runs;campaign_manager.py 初始化与查看活动状态,输出 campaign_id、status、jobs、progress;job_tracker.py 跟踪作业,输出 job_id、status、start_time、end_time、exit_code;result_aggregator.py 聚合结果,输出 summary、statistics、best_run、failed_runs。
使用方式:需 Python 3.10+,仅用标准库,支持 Linux、macOS、Windows。先收集基础配置、参数范围、扫描方法、输出目录和仿真命令。生成扫描:python3 scripts/sweep_generator.py --base-config base_config.json --params "dt:1e-4:1e-2:5,kappa:0.1:1.0:3" --method linspace --output-dir ./campaign_001 --json。初始化活动:python3 scripts/campaign_manager.py --action init --config-dir ./campaign_001 --command "python sim.py --config {config}" --json。跟踪:python3 scripts/job_tracker.py --campaign-dir ./campaign_001 --update --json。聚合:python3 scripts/result_aggregator.py --campaign-dir ./campaign_001 --metric objective_value --json。
扫描方法:grid 适合低维全组合,样本数 n^d;linspace 适合一维均匀采样;lhs 适合高维空间填充,样本数由预算指定。
限制:不是作业调度器,不向 SLURM/PBS 提交作业;不并行执行,仿真需用户自行运行;基于文件跟踪状态,无数据库或实时监控;假设文件在本地文件系统可访问。参数格式为 name:min:max:count 或 name:min:max。输出目录已存在时需用 --force 或换目录。