junc_WHU 2 месяцев назад
Родитель
Сommit
bb91222054

+ 8 - 0
.gitignore

@@ -0,0 +1,8 @@
+/models/uf-rl/rl_model/DQN/uf_test/
+/models/uf-rl/datasets
+/models/uf-rl/datasets_for_lunwen
+/models/uf-rl/model_result
+/models/uf-rl/plot
+/models/uf-rl/rl_model/PPO
+/models/ro_mechanism_predict/datasets
+/models/ro_mechanism_predict/RO_inf

BIN
models/uf-rl/anzhen/48h_dqn_model.zip


+ 0 - 221
models/uf-rl/anzhen/data_to_rl_config.yaml

@@ -1,221 +0,0 @@
-# ============================================================
-# 项目级路径配置
-# ============================================================
-
-Paths:
-  project_root: "E:/Greentech"
-  __comment__: >
-    项目根目录,所有路径均相对于该目录展开。
-    不同工程师只需修改这一项即可迁移环境。
-
-  raw_data:
-    filtered_cycles_dir: "models/uf-rl/datasets/UF_longting_data/processed/filter_segments"
-    cycle_file_pattern: "UF{unit}_filtered_cycles.csv"
-
-    enabled_units: [1, 2]
-    disabled_units: None
-
-    __comment__: >
-      已完成清洗与周期切分的真实工厂数据。
-      每个 CSV 对应一个机组,文件内每一行是一个【物理周期】。
-      data_to_rl 阶段会:
-        - 读取 enabled_units 中所有机组
-        - 合并为统一数据集
-        - 机组编号仅用于筛选,不进入状态空间
-
-  data_to_rl:
-    output_dir: "models/uf-rl/datasets/UF_longting_data/rl_ready/output"
-    cache_dir: "models/uf-rl/datasets/UF_longting_data/rl_ready/cache"
-
-    __comment__: >
-      data_to_rl 模块输出内容:
-        - 全机组合并后的状态空间范围
-        - reset 初始状态分布
-        - reward 统计量
-
-
-# ============================================================
-# 数据层级定义(非常重要)
-# ============================================================
-
-DataHierarchy:
-
-  physical_cycle:
-    id_column: "seg_id"
-    time_columns:
-      start: "start_time"
-      end: "end_time"
-    __comment__: >
-      物理周期是最细粒度的数据层级:
-      - 用于物理模型验证
-      - 用于环境内部子步模拟
-      - 不直接暴露给强化学习算法
-
-  chemical_cycle:
-    id_column: "chem_cycle_id"
-    validity_column: "chem_cycle_valid"
-    step_definition: "one_rl_step_per_chemical_cycle"
-    __comment__: >
-      化学周期是强化学习的【唯一 step 单位】。
-      强化学习中:
-        - 一个 step = 一个化学周期
-        - 一个状态 = 一个化学周期的整体状态
-
-# ============================================================
-# 强化学习状态定义(工程师重点关注)
-# ============================================================
-
-RLState:
-  level: chemical_cycle
-  dimension: 8
-  __comment__: >
-    强化学习 observation 的定义。
-    所有变量在一个 step(化学周期)内保持不变。
-
-  variables:
-
-    q_UF:
-      source: "flow_mean"
-      aggregation: "mean_within_cycle"
-      unit: "m3_per_h"
-      description: "化学周期代表性进水流量"
-      __comment__: >
-        原始数据在物理周期层级变化,
-        这里使用化学周期内的平均值作为状态。
-
-    temp:
-      source: "temp_mean"
-      aggregation: "mean_within_cycle"
-      unit: "celsius"
-      description: "化学周期代表性水温"
-
-    TMP:
-      source: "tmp_start"
-      selection: "first_physical_cycle"
-      unit: "MPa"
-      description: "化学周期起始跨膜压差"
-      __comment__: >
-        虽然 TMP 在物理周期内会变化,
-        但强化学习只关心化学周期开始时的状态。
-
-    R:
-      source: "R_scaled_start"
-      selection: "first_physical_cycle"
-      unit: "scaled_resistance"
-      description: "化学周期起始膜阻力"
-
-    nuK:
-      source: "cycle_nuK"
-      unit: "scaled"
-      description: "短期污染增长系数"
-      __comment__: >
-        在同一化学周期内视为常数,
-        后续 step (下一化学周期)中根据动作进行经验性更新。
-
-    slope:
-      source: "cycle_long_a"
-      unit: "scaled"
-      description: "长期不可逆污染幂律系数 a"
-
-    power:
-      source: "cycle_long_b"
-      unit: "dimensionless"
-      description: "长期不可逆污染幂律指数 b"
-
-    ceb_removal:
-      source: "cycle_R_removed"
-      unit: "scaled"
-      description: "CEB 可去除的膜阻力"
-
-# ============================================================
-# 状态空间范围提取(reset 使用)
-# ============================================================
-
-StateSpaceExtraction:
-  enabled: true
-  level: chemical_cycle
-  include_only_valid_cycles: true
-
-  __comment__: >
-    用真实工厂数据统计【合理状态空间范围】,
-    用于:
-      - reset 初始状态采样
-      - 状态边界 sanity check
-
-  statistics:
-    method: "empirical"
-    percentiles: [1, 5, 50, 95, 99]
-    __comment__: >
-      使用经验分布统计,避免假设正态分布。
-
-  output:
-    save_csv: true
-    filename: "state_space_bounds.csv"
-
-# ============================================================
-# 物理周期层级的用途声明
-# ============================================================
-
-PhysicalCycleUsage:
-  enabled: true
-
-  purposes:
-    - internal_simulation
-    - parameter_sanity_check
-    - post_training_validation
-
-  variables_available:
-    - R_scaled_start
-    - R_scaled_end
-    - tmp_start
-    - tmp_end
-    - flow_mean
-    - flow_std
-    - temp_mean
-    - temp_std
-
-  __comment__: >
-    物理周期数据:
-      ✔ 可用于环境内部计算
-      ✔ 可用于训练后验证
-      ✘ 不可作为 RL observation
-
-# ============================================================
-# 真实数据在强化学习中的角色(工程边界声明)
-# ============================================================
-
-RealDataUsagePolicy:
-
-  reset_initialization:
-    enabled: true
-    source: "chemical_cycle_state_distribution"
-    __comment__: >
-      reset 时从真实化学周期状态分布中采样,
-      确保训练从“现实可达状态”开始。
-
-  training:
-    use_real_transitions: false
-    __comment__: >
-      真实数据不用于:
-        - 动力学拟合
-        - 监督策略
-      强化学习仍在模拟环境中进行。
-
-  validation:
-    enabled: true
-    compare_with_real_cycles: true
-    __comment__: >
-      训练完成后:
-        - 将策略运行结果
-        - 与真实化学周期统计特性进行对比
-      用于评估策略的现实可行性与安全性。
-
-# ============================================================
-# 方法论与工程风险声明
-# ============================================================
-
-MethodologyNotes:
-  - "强化学习的 step 定义严格等同于一个化学周期"
-  - "所有 RL 状态变量在一个 step 内视为常数"
-  - "物理周期层级仅用于环境内部模拟"
-  - "真实数据用于分布约束与验证,而非动力学建模"

+ 0 - 26
models/uf-rl/anzhen/dqn_config.yaml

@@ -1,26 +0,0 @@
-# ============================================================
-# DQN 超参数配置
-# ============================================================
-# 神经网络参数
-learning_rate: 0.0001           # 学习率 1e-4
-
-# 经验回放参数
-buffer_size: 100000              # 经验回放缓冲区大小
-learning_starts: 10000           # 开始训练前收集的步数
-batch_size: 32                   # 训练批次大小
-
-# 强化学习参数
-gamma: 0.95                      # 折扣因子
-train_freq: 4                    # 训练频率(步数)
-
-# 目标网络参数
-target_update_interval: 1        # 目标网络更新间隔
-tau: 0.005                       # 软更新系数
-
-# 探索策略参数
-exploration_initial_eps: 1.0     # 初始探索率
-exploration_fraction: 0.3        # 探索率衰减比例
-exploration_final_eps: 0.02      # 最终探索率
-
-# 日志参数
-remark: "uf_dqn_real_reset"      # 实验备注

+ 0 - 142
models/uf-rl/anzhen/env_config.yaml

@@ -1,142 +0,0 @@
-UFState:
-  # ===== 膜动态运行参数 =====
-  q_UF: 150.0
-  TMP: 0.02
-  temp: 20.0
-  R: 200.0
-
-  # ===== 膜阻力模型参数 =====
-  nuK: 170.0
-  slope: 2.0
-  power: 1.1
-  ceb_removal: 200.0
-
-
-UFPhysicsParams:
-  # ===== TMP 全局约束 =====
-  global_TMP_hard_limit: 0.08 # 跨膜压差硬上限
-  global_TMP_soft_limit: 0.06 # 跨膜压差软上限
-
-  # ===== 物理反洗参数 =====
-  tau_bw_s: 20.0
-  gamma_t: 1.0
-  q_bw_m3ph: 700.0
-
-  # ===== CEB 化学反洗参数 =====
-  T_ceb_interval_h: 48.0
-  v_ceb_m3: 20.0
-  t_ceb_s: 1800.0
-
-  # ===== 膜组件参数 =====
-  A: 3200.0
-
-  # ===== 吨水电耗查找表 =====
-  energy_lookup:
-    2700: 0.1088
-    2760: 0.1083
-    2820: 0.1078
-    2880: 0.1074
-    2940: 0.1070
-    3000: 0.1066
-    3060: 0.1062
-    3120: 0.1059
-    3180: 0.1055
-    3240: 0.1052
-    3300: 0.1049
-    3360: 0.1045
-    3420: 0.1042
-    3480: 0.1039
-    3540: 0.1036
-    3600: 0.1034
-    3660: 0.1031
-    3720: 0.1029
-    3780: 0.1026
-    3840: 0.1023
-    3900: 0.1021
-    3960: 0.1019
-    4020: 0.1017
-    4080: 0.1015
-    4140: 0.1012
-    4200: 0.1011
-    4260: 0.1008
-    4320: 0.1007
-    4380: 0.1005
-    4440: 0.1003
-    4500: 0.1001
-    4560: 0.0999
-    4620: 0.0998
-    4680: 0.0996
-    4740: 0.0995
-    4800: 0.0993
-
-  p_feed_kw_min: 5.0
-  p_feed_kw_max: 15.0
-  p_bw_kw: 30.0
-
-  dose_min: 0.05
-  dose_max: 0.15
-  dose_area: 0.56
-
-
-UFActionSpec:
-  # ===== 动作空间范围 =====
-  L_min_s: 3600.0
-  L_max_s: 4800.0
-  t_bw_min_s: 50.0
-  t_bw_max_s: 70.0
-
-  # ===== 动作离散化步长 =====
-  L_step_s: 60.0
-  t_bw_step_s: 5.0
-
-
-UFRewardParams:
-  # ===== TMP 安全与惩罚 =====
-  global_TMP_hard_limit: 0.08
-  global_TMP_soft_limit: 0.06
-  w_tmp_hard: 5.0
-  w_tmp: 1.5
-  p: 3.0
-  w_trend: 1.0
-
-  # ===== 经济成本 =====
-  k_cost: 3.0
-  chemical_price: 13.0
-  energy_price: 0.667
-  cost_low: 0.08
-  cost_high:  0.20
-  w_cost: 1.0
-
-  # ===== 残余污染 =====
-  k_res: 3.0
-  residual_ref_ratio: null
-  w_res: 1.0
-
-
-UFStateBounds:
-  # ===== 流量初始化约束 =====
-  q_UF_min: 150.0
-  q_UF_max: 200.0
-
-  # ===== 温度初始化约束 =====
-  temp_min: 9.0
-  temp_max: 25.0
-
-  # ===== TMP 初始化约束 =====
-  TMP0_min: 0.01
-  TMP0_max: 0.04
-  global_TMP_hard_limit: 0.08
-
-  # ===== 短期污染参数 =====
-  nuK_min: 100.0
-  nuK_max: 250.0
-
-  # ===== 长期污染参数 =====
-  slope_min: 1.28
-  slope_max: 150
-  power_min: 0.25
-  power_max: 2.5
-
-  # ===== CEB 去除能力 =====
-  ceb_removal_min: 150.0
-  ceb_removal_max: 350.0

+ 0 - 49
models/uf-rl/anzhen/uf_analyze_config.yaml

@@ -1,49 +0,0 @@
-UF:
-  units: [ "1", "2" ]
-  area_m2: 128 * 40
-
-  inlet_codes: [215.0, 301.0]
-  stable_codes: [220.0, 260.0]
-
-  physical_bw_code: [301.0, 340.0]
-  chemical_bw_code: [400.0, 660.0]
-
-  # 列名
-  column_formats:
-    flow_col: "AR.{unit}#UF_JSFLOW_O"
-    tmp_col: "AR.UF{unit}_SSD_KMYC"
-    press_col: "AR.{unit}#UF_JSPRESS_O"
-    ctrl_col: "AR.UF{unit}_STEP"
-    temp_col: "AR.ZJS_TEMP_O"
-    orp_col: "AR.RO_JSORP_O"
-    ph_col: "AR.RO_JSPH_O"
-
-
-Params:
-  # 稳定段提取
-  min_stable_points: 30
-  initial_points: 10
-
-  # 阻力趋势计算
-  segment_head_n: 5
-  segment_tail_n: 5
-
-  scale_factor: 1e10
-
-
-Plot:
-  figsize: [12, 6]
-  dpi: 120
-  color_inlet: "#1f77b4"
-  color_bw_phys: "#ff7f0e"
-  color_bw_chem: "#d62728"
-
-Paths:
-  project_root: "E:/Greentech" # 请根据项目根目录修改相应路径
-
-  raw_data_path: "models/uf-rl/datasets/UF_anzhen_data/raw"
-  output_path: "models/uf-rl/datasets/UF_anzhen_data/processed/segments"
-  filter_output_path: "models/uf-rl/datasets/UF_anzhen_data/processed/filter_segments"
-
-  output_format: "csv"
-

BIN
models/uf-rl/lankao/48h_dqn_model.zip


+ 0 - 221
models/uf-rl/lankao/data_to_rl_config.yaml

@@ -1,221 +0,0 @@
-# ============================================================
-# 项目级路径配置
-# ============================================================
-
-Paths:
-  project_root: "E:/Greentech"
-  __comment__: >
-    项目根目录,所有路径均相对于该目录展开。
-    不同工程师只需修改这一项即可迁移环境。
-
-  raw_data:
-    filtered_cycles_dir: "models/uf-rl/datasets/UF_lankao_data/processed/filter_segments"
-    cycle_file_pattern: "UF{unit}_filtered_cycles.csv"
-
-    enabled_units: [1, 2]
-    disabled_units: None
-
-    __comment__: >
-      已完成清洗与周期切分的真实工厂数据。
-      每个 CSV 对应一个机组,文件内每一行是一个【物理周期】。
-      data_to_rl 阶段会:
-        - 读取 enabled_units 中所有机组
-        - 合并为统一数据集
-        - 机组编号仅用于筛选,不进入状态空间
-
-  data_to_rl:
-    output_dir: "models/uf-rl/datasets/UF_lankao_data/rl_ready/output"
-    cache_dir: "models/uf-rl/datasets/UF_lankao_data/rl_ready/cache"
-
-    __comment__: >
-      data_to_rl 模块输出内容:
-        - 全机组合并后的状态空间范围
-        - reset 初始状态分布
-        - reward 统计量
-
-
-# ============================================================
-# 数据层级定义(非常重要)
-# ============================================================
-
-DataHierarchy:
-
-  physical_cycle:
-    id_column: "seg_id"
-    time_columns:
-      start: "start_time"
-      end: "end_time"
-    __comment__: >
-      物理周期是最细粒度的数据层级:
-      - 用于物理模型验证
-      - 用于环境内部子步模拟
-      - 不直接暴露给强化学习算法
-
-  chemical_cycle:
-    id_column: "chem_cycle_id"
-    validity_column: "chem_cycle_valid"
-    step_definition: "one_rl_step_per_chemical_cycle"
-    __comment__: >
-      化学周期是强化学习的【唯一 step 单位】。
-      强化学习中:
-        - 一个 step = 一个化学周期
-        - 一个状态 = 一个化学周期的整体状态
-
-# ============================================================
-# 强化学习状态定义(工程师重点关注)
-# ============================================================
-
-RLState:
-  level: chemical_cycle
-  dimension: 8
-  __comment__: >
-    强化学习 observation 的定义。
-    所有变量在一个 step(化学周期)内保持不变。
-
-  variables:
-
-    q_UF:
-      source: "flow_mean"
-      aggregation: "mean_within_cycle"
-      unit: "m3_per_h"
-      description: "化学周期代表性进水流量"
-      __comment__: >
-        原始数据在物理周期层级变化,
-        这里使用化学周期内的平均值作为状态。
-
-    temp:
-      source: "temp_mean"
-      aggregation: "mean_within_cycle"
-      unit: "celsius"
-      description: "化学周期代表性水温"
-
-    TMP:
-      source: "tmp_start"
-      selection: "first_physical_cycle"
-      unit: "MPa"
-      description: "化学周期起始跨膜压差"
-      __comment__: >
-        虽然 TMP 在物理周期内会变化,
-        但强化学习只关心化学周期开始时的状态。
-
-    R:
-      source: "R_scaled_start"
-      selection: "first_physical_cycle"
-      unit: "scaled_resistance"
-      description: "化学周期起始膜阻力"
-
-    nuK:
-      source: "cycle_nuK"
-      unit: "scaled"
-      description: "短期污染增长系数"
-      __comment__: >
-        在同一化学周期内视为常数,
-        后续 step (下一化学周期)中根据动作进行经验性更新。
-
-    slope:
-      source: "cycle_long_a"
-      unit: "scaled"
-      description: "长期不可逆污染幂律系数 a"
-
-    power:
-      source: "cycle_long_b"
-      unit: "dimensionless"
-      description: "长期不可逆污染幂律指数 b"
-
-    ceb_removal:
-      source: "cycle_R_removed"
-      unit: "scaled"
-      description: "CEB 可去除的膜阻力"
-
-# ============================================================
-# 状态空间范围提取(reset 使用)
-# ============================================================
-
-StateSpaceExtraction:
-  enabled: true
-  level: chemical_cycle
-  include_only_valid_cycles: true
-
-  __comment__: >
-    用真实工厂数据统计【合理状态空间范围】,
-    用于:
-      - reset 初始状态采样
-      - 状态边界 sanity check
-
-  statistics:
-    method: "empirical"
-    percentiles: [1, 5, 50, 95, 99]
-    __comment__: >
-      使用经验分布统计,避免假设正态分布。
-
-  output:
-    save_csv: true
-    filename: "state_space_bounds.csv"
-
-# ============================================================
-# 物理周期层级的用途声明
-# ============================================================
-
-PhysicalCycleUsage:
-  enabled: true
-
-  purposes:
-    - internal_simulation
-    - parameter_sanity_check
-    - post_training_validation
-
-  variables_available:
-    - R_scaled_start
-    - R_scaled_end
-    - tmp_start
-    - tmp_end
-    - flow_mean
-    - flow_std
-    - temp_mean
-    - temp_std
-
-  __comment__: >
-    物理周期数据:
-      ✔ 可用于环境内部计算
-      ✔ 可用于训练后验证
-      ✘ 不可作为 RL observation
-
-# ============================================================
-# 真实数据在强化学习中的角色(工程边界声明)
-# ============================================================
-
-RealDataUsagePolicy:
-
-  reset_initialization:
-    enabled: true
-    source: "chemical_cycle_state_distribution"
-    __comment__: >
-      reset 时从真实化学周期状态分布中采样,
-      确保训练从“现实可达状态”开始。
-
-  training:
-    use_real_transitions: false
-    __comment__: >
-      真实数据不用于:
-        - 动力学拟合
-        - 监督策略
-      强化学习仍在模拟环境中进行。
-
-  validation:
-    enabled: true
-    compare_with_real_cycles: true
-    __comment__: >
-      训练完成后:
-        - 将策略运行结果
-        - 与真实化学周期统计特性进行对比
-      用于评估策略的现实可行性与安全性。
-
-# ============================================================
-# 方法论与工程风险声明
-# ============================================================
-
-MethodologyNotes:
-  - "强化学习的 step 定义严格等同于一个化学周期"
-  - "所有 RL 状态变量在一个 step 内视为常数"
-  - "物理周期层级仅用于环境内部模拟"
-  - "真实数据用于分布约束与验证,而非动力学建模"

+ 0 - 26
models/uf-rl/lankao/dqn_config.yaml

@@ -1,26 +0,0 @@
-# ============================================================
-# DQN 超参数配置
-# ============================================================
-# 神经网络参数
-learning_rate: 0.0001           # 学习率 1e-4
-
-# 经验回放参数
-buffer_size: 100000              # 经验回放缓冲区大小
-learning_starts: 10000           # 开始训练前收集的步数
-batch_size: 32                   # 训练批次大小
-
-# 强化学习参数
-gamma: 0.95                      # 折扣因子
-train_freq: 4                    # 训练频率(步数)
-
-# 目标网络参数
-target_update_interval: 1        # 目标网络更新间隔
-tau: 0.005                       # 软更新系数
-
-# 探索策略参数
-exploration_initial_eps: 1.0     # 初始探索率
-exploration_fraction: 0.3        # 探索率衰减比例
-exploration_final_eps: 0.02      # 最终探索率
-
-# 日志参数
-remark: "uf_dqn_real_reset"      # 实验备注

+ 0 - 142
models/uf-rl/lankao/env_config.yaml

@@ -1,142 +0,0 @@
-UFState:
-  # ===== 膜动态运行参数 =====
-  q_UF: 150.0
-  TMP: 0.02
-  temp: 20.0
-  R: 200.0
-
-  # ===== 膜阻力模型参数 =====
-  nuK: 170.0
-  slope: 2.0
-  power: 1.1
-  ceb_removal: 200.0
-
-
-UFPhysicsParams:
-  # ===== TMP 全局约束 =====
-  global_TMP_hard_limit: 0.08 # 跨膜压差硬上限
-  global_TMP_soft_limit: 0.06 # 跨膜压差软上限
-
-  # ===== 物理反洗参数 =====
-  tau_bw_s: 20.0
-  gamma_t: 1.0
-  q_bw_m3ph: 500.0
-
-  # ===== CEB 化学反洗参数 =====
-  T_ceb_interval_h: 48.0
-  v_ceb_m3: 20.0
-  t_ceb_s: 1800.0
-
-  # ===== 膜组件参数 =====
-  A: 3200.0
-
-  # ===== 吨水电耗查找表 =====
-  energy_lookup:
-    2700: 0.1088
-    2760: 0.1083
-    2820: 0.1078
-    2880: 0.1074
-    2940: 0.1070
-    3000: 0.1066
-    3060: 0.1062
-    3120: 0.1059
-    3180: 0.1055
-    3240: 0.1052
-    3300: 0.1049
-    3360: 0.1045
-    3420: 0.1042
-    3480: 0.1039
-    3540: 0.1036
-    3600: 0.1034
-    3660: 0.1031
-    3720: 0.1029
-    3780: 0.1026
-    3840: 0.1023
-    3900: 0.1021
-    3960: 0.1019
-    4020: 0.1017
-    4080: 0.1015
-    4140: 0.1012
-    4200: 0.1011
-    4260: 0.1008
-    4320: 0.1007
-    4380: 0.1005
-    4440: 0.1003
-    4500: 0.1001
-    4560: 0.0999
-    4620: 0.0998
-    4680: 0.0996
-    4740: 0.0995
-    4800: 0.0993
-
-  p_feed_kw_min: 15.0
-  p_feed_kw_max: 20.0
-  p_bw_kw: 25.0
-
-  dose_min: 0.10
-  dose_max: 0.20
-  dose_area: 0.56
-
-
-UFActionSpec:
-  # ===== 动作空间范围 =====
-  L_min_s: 2400.0
-  L_max_s: 3800.0
-  t_bw_min_s: 40.0
-  t_bw_max_s: 60.0
-
-  # ===== 动作离散化步长 =====
-  L_step_s: 60.0
-  t_bw_step_s: 5.0
-
-
-UFRewardParams:
-  # ===== TMP 安全与惩罚 =====
-  global_TMP_hard_limit: 0.08
-  global_TMP_soft_limit: 0.06
-  w_tmp_hard: 5.0
-  w_tmp: 1.5
-  p: 3.0
-  w_trend: 1.0
-
-  # ===== 经济成本 =====
-  k_cost: 3.0
-  chemical_price: 13.0
-  energy_price: 0.667
-  cost_low: 0.08
-  cost_high:  0.20
-  w_cost: 1.0
-
-  # ===== 残余污染 =====
-  k_res: 3.0
-  residual_ref_ratio: null
-  w_res: 1.0
-
-
-UFStateBounds:
-  # ===== 流量初始化约束 =====
-  q_UF_min: 140.0
-  q_UF_max: 210.0
-
-  # ===== 温度初始化约束 =====
-  temp_min: 15.0
-  temp_max: 25.0
-
-  # ===== TMP 初始化约束 =====
-  TMP0_min: 0.01
-  TMP0_max: 0.04
-  global_TMP_hard_limit: 0.08
-
-  # ===== 短期污染参数 =====
-  nuK_min: 100.0
-  nuK_max: 250.0
-
-  # ===== 长期污染参数 =====
-  slope_min: 1.28
-  slope_max: 150
-  power_min: 0.25
-  power_max: 2.5
-
-  # ===== CEB 去除能力 =====
-  ceb_removal_min: 150.0
-  ceb_removal_max: 350.0

+ 0 - 49
models/uf-rl/lankao/uf_analyze_config.yaml

@@ -1,49 +0,0 @@
-UF:
-  units: [ "1", "2" ]
-  area_m2: 3200
-
-  inlet_codes: [220.0, 301.0]
-  stable_codes: [220.0, 260.0]
-
-  physical_bw_code: [301.0, 340.0]
-  chemical_bw_code: [400.0, 660.0]
-
-  # 列名
-  column_formats:
-    flow_col: "ns=3;s={unit}#UF_JSFLOW_O"
-    tmp_col: "ns=3;s=UF{unit}_SSD_KMYC"
-    press_col: "ns=3;s={unit}#UF_JSPRESS_O"
-    ctrl_col: "ns=3;s=UF{unit}_STEP"
-    temp_col: "ns=3;s=ZJS_TEMP_O"
-    orp_col: "ns=3;s=RO_JSORP_O"
-    ph_col: "ns=3;s=RO_JSPH_O"
-
-
-Params:
-  # 稳定段提取
-  min_stable_points: 30
-  initial_points: 10
-
-  # 阻力趋势计算
-  segment_head_n: 5
-  segment_tail_n: 5
-
-  scale_factor: 1e10
-
-
-Plot:
-  figsize: [12, 6]
-  dpi: 120
-  color_inlet: "#1f77b4"
-  color_bw_phys: "#ff7f0e"
-  color_bw_chem: "#d62728"
-
-Paths:
-  project_root: "E:/Greentech" # 请根据项目根目录修改相应路径
-
-  raw_data_path: "models/uf-rl/datasets/UF_lankao_data/raw"
-  output_path: "models/uf-rl/datasets/UF_lankao_data/processed/segments"
-  filter_output_path: "models/uf-rl/datasets/UF_lankao_data/processed/filter_segments"
-
-  output_format: "csv"
-

BIN
models/uf-rl/longting/48h_dqn_model.zip


+ 0 - 221
models/uf-rl/longting/data_to_rl_config.yaml

@@ -1,221 +0,0 @@
-# ============================================================
-# 项目级路径配置
-# ============================================================
-
-Paths:
-  project_root: "E:/Greentech"
-  __comment__: >
-    项目根目录,所有路径均相对于该目录展开。
-    不同工程师只需修改这一项即可迁移环境。
-
-  raw_data:
-    filtered_cycles_dir: "models/uf-rl/datasets/UF_longting_data/processed/filter_segments"
-    cycle_file_pattern: "UF{unit}_filtered_cycles.csv"
-
-    enabled_units: [1, 2]
-    disabled_units: None
-
-    __comment__: >
-      已完成清洗与周期切分的真实工厂数据。
-      每个 CSV 对应一个机组,文件内每一行是一个【物理周期】。
-      data_to_rl 阶段会:
-        - 读取 enabled_units 中所有机组
-        - 合并为统一数据集
-        - 机组编号仅用于筛选,不进入状态空间
-
-  data_to_rl:
-    output_dir: "models/uf-rl/datasets/UF_longting_data/rl_ready/output"
-    cache_dir: "models/uf-rl/datasets/UF_longting_data/rl_ready/cache"
-
-    __comment__: >
-      data_to_rl 模块输出内容:
-        - 全机组合并后的状态空间范围
-        - reset 初始状态分布
-        - reward 统计量
-
-
-# ============================================================
-# 数据层级定义(非常重要)
-# ============================================================
-
-DataHierarchy:
-
-  physical_cycle:
-    id_column: "seg_id"
-    time_columns:
-      start: "start_time"
-      end: "end_time"
-    __comment__: >
-      物理周期是最细粒度的数据层级:
-      - 用于物理模型验证
-      - 用于环境内部子步模拟
-      - 不直接暴露给强化学习算法
-
-  chemical_cycle:
-    id_column: "chem_cycle_id"
-    validity_column: "chem_cycle_valid"
-    step_definition: "one_rl_step_per_chemical_cycle"
-    __comment__: >
-      化学周期是强化学习的【唯一 step 单位】。
-      强化学习中:
-        - 一个 step = 一个化学周期
-        - 一个状态 = 一个化学周期的整体状态
-
-# ============================================================
-# 强化学习状态定义(工程师重点关注)
-# ============================================================
-
-RLState:
-  level: chemical_cycle
-  dimension: 8
-  __comment__: >
-    强化学习 observation 的定义。
-    所有变量在一个 step(化学周期)内保持不变。
-
-  variables:
-
-    q_UF:
-      source: "flow_mean"
-      aggregation: "mean_within_cycle"
-      unit: "m3_per_h"
-      description: "化学周期代表性进水流量"
-      __comment__: >
-        原始数据在物理周期层级变化,
-        这里使用化学周期内的平均值作为状态。
-
-    temp:
-      source: "temp_mean"
-      aggregation: "mean_within_cycle"
-      unit: "celsius"
-      description: "化学周期代表性水温"
-
-    TMP:
-      source: "tmp_start"
-      selection: "first_physical_cycle"
-      unit: "MPa"
-      description: "化学周期起始跨膜压差"
-      __comment__: >
-        虽然 TMP 在物理周期内会变化,
-        但强化学习只关心化学周期开始时的状态。
-
-    R:
-      source: "R_scaled_start"
-      selection: "first_physical_cycle"
-      unit: "scaled_resistance"
-      description: "化学周期起始膜阻力"
-
-    nuK:
-      source: "cycle_nuK"
-      unit: "scaled"
-      description: "短期污染增长系数"
-      __comment__: >
-        在同一化学周期内视为常数,
-        后续 step (下一化学周期)中根据动作进行经验性更新。
-
-    slope:
-      source: "cycle_long_a"
-      unit: "scaled"
-      description: "长期不可逆污染幂律系数 a"
-
-    power:
-      source: "cycle_long_b"
-      unit: "dimensionless"
-      description: "长期不可逆污染幂律指数 b"
-
-    ceb_removal:
-      source: "cycle_R_removed"
-      unit: "scaled"
-      description: "CEB 可去除的膜阻力"
-
-# ============================================================
-# 状态空间范围提取(reset 使用)
-# ============================================================
-
-StateSpaceExtraction:
-  enabled: true
-  level: chemical_cycle
-  include_only_valid_cycles: true
-
-  __comment__: >
-    用真实工厂数据统计【合理状态空间范围】,
-    用于:
-      - reset 初始状态采样
-      - 状态边界 sanity check
-
-  statistics:
-    method: "empirical"
-    percentiles: [1, 5, 50, 95, 99]
-    __comment__: >
-      使用经验分布统计,避免假设正态分布。
-
-  output:
-    save_csv: true
-    filename: "state_space_bounds.csv"
-
-# ============================================================
-# 物理周期层级的用途声明
-# ============================================================
-
-PhysicalCycleUsage:
-  enabled: true
-
-  purposes:
-    - internal_simulation
-    - parameter_sanity_check
-    - post_training_validation
-
-  variables_available:
-    - R_scaled_start
-    - R_scaled_end
-    - tmp_start
-    - tmp_end
-    - flow_mean
-    - flow_std
-    - temp_mean
-    - temp_std
-
-  __comment__: >
-    物理周期数据:
-      ✔ 可用于环境内部计算
-      ✔ 可用于训练后验证
-      ✘ 不可作为 RL observation
-
-# ============================================================
-# 真实数据在强化学习中的角色(工程边界声明)
-# ============================================================
-
-RealDataUsagePolicy:
-
-  reset_initialization:
-    enabled: true
-    source: "chemical_cycle_state_distribution"
-    __comment__: >
-      reset 时从真实化学周期状态分布中采样,
-      确保训练从“现实可达状态”开始。
-
-  training:
-    use_real_transitions: false
-    __comment__: >
-      真实数据不用于:
-        - 动力学拟合
-        - 监督策略
-      强化学习仍在模拟环境中进行。
-
-  validation:
-    enabled: true
-    compare_with_real_cycles: true
-    __comment__: >
-      训练完成后:
-        - 将策略运行结果
-        - 与真实化学周期统计特性进行对比
-      用于评估策略的现实可行性与安全性。
-
-# ============================================================
-# 方法论与工程风险声明
-# ============================================================
-
-MethodologyNotes:
-  - "强化学习的 step 定义严格等同于一个化学周期"
-  - "所有 RL 状态变量在一个 step 内视为常数"
-  - "物理周期层级仅用于环境内部模拟"
-  - "真实数据用于分布约束与验证,而非动力学建模"

+ 0 - 26
models/uf-rl/longting/dqn_config.yaml

@@ -1,26 +0,0 @@
-# ============================================================
-# DQN 超参数配置
-# ============================================================
-# 神经网络参数
-learning_rate: 0.0001           # 学习率 1e-4
-
-# 经验回放参数
-buffer_size: 100000              # 经验回放缓冲区大小
-learning_starts: 10000           # 开始训练前收集的步数
-batch_size: 32                   # 训练批次大小
-
-# 强化学习参数
-gamma: 0.95                      # 折扣因子
-train_freq: 4                    # 训练频率(步数)
-
-# 目标网络参数
-target_update_interval: 1        # 目标网络更新间隔
-tau: 0.005                       # 软更新系数
-
-# 探索策略参数
-exploration_initial_eps: 1.0     # 初始探索率
-exploration_fraction: 0.3        # 探索率衰减比例
-exploration_final_eps: 0.02      # 最终探索率
-
-# 日志参数
-remark: "uf_dqn_real_reset"      # 实验备注

+ 0 - 145
models/uf-rl/longting/env_config.yaml

@@ -1,145 +0,0 @@
-UFState:
-  # ===== 膜动态运行参数 =====
-  q_UF: 150.0 # 流量
-  TMP: 0.03 # CEB周期初始跨膜压差
-  temp: 20.0 # 温度
-  R: 200.0 # 膜阻力(占位,实际上应用时根据前三个变量计算)
-
-  # ===== 膜阻力模型参数 =====
-  nuK: 500.0 # 短期膜阻力上升速率
-  slope: 2.0 # 长期膜阻力上升幂律模型斜率
-  power: 1.5 # 长期膜阻力上升幂律模型次数
-  ceb_removal: 300.0 # 本次CEB去除膜阻力值
-
-
-UFPhysicsParams:
-  # ===== TMP 全局约束 =====
-  global_TMP_hard_limit: 0.08 # 跨膜压差硬上限
-  global_TMP_soft_limit: 0.06 # 跨膜压差软上限
-
-  # ===== 物理反洗参数 =====
-  tau_bw_s: 20.0
-  gamma_t: 1.0
-  q_bw_m3ph: 500.0
-
-  # ===== CEB 化学反洗参数 =====
-  T_ceb_interval_h: 48.0
-  T_ceb_interval_times: 48
-  v_ceb_m3: 20.0
-  t_ceb_s: 2400.0   # 40 * 60
-
-  # ===== 膜组件参数 =====
-  A: 5120.0   # 128 * 40
-
-  # ===== 吨水电耗查找表 =====
-  energy_lookup:
-    2700: 0.1088
-    2760: 0.1083
-    2820: 0.1078
-    2880: 0.1074
-    2940: 0.1070
-    3000: 0.1066
-    3060: 0.1062
-    3120: 0.1059
-    3180: 0.1055
-    3240: 0.1052
-    3300: 0.1049
-    3360: 0.1045
-    3420: 0.1042
-    3480: 0.1039
-    3540: 0.1036
-    3600: 0.1034
-    3660: 0.1031
-    3720: 0.1029
-    3780: 0.1026
-    3840: 0.1023
-    3900: 0.1021
-    3960: 0.1019
-    4020: 0.1017
-    4080: 0.1015
-    4140: 0.1012
-    4200: 0.1011
-    4260: 0.1008
-    4320: 0.1007
-    4380: 0.1005
-    4440: 0.1003
-    4500: 0.1001
-    4560: 0.0999
-    4620: 0.0998
-    4680: 0.0996
-    4740: 0.0995
-    4800: 0.0993
-
-  p_feed_kw_min: 16.0
-  p_feed_kw_max: 19.0
-  p_bw_kw: 20.0
-
-  dose_min:  0.10
-  dose_max:  0.20
-  dose_area: 0.56
-
-
-
-UFActionSpec:
-  # ===== 动作空间范围 =====
-  L_min_s: 3000.0
-  L_max_s: 3800.0
-  t_bw_min_s: 50.0
-  t_bw_max_s: 70.0
-
-  # ===== 动作离散化步长 =====
-  L_step_s: 60.0
-  t_bw_step_s: 5.0
-
-
-UFRewardParams:
-  # ===== TMP 安全与惩罚 =====
-  global_TMP_hard_limit: 0.08
-  global_TMP_soft_limit: 0.06
-  w_tmp_hard: 5.0
-  w_tmp: 1.5
-  p: 3.0
-  w_trend: 1.0
-
-  # ===== 经济成本 =====
-  k_cost: 1.0
-  chemical_price: 13.0
-  energy_price: 0.667
-  cost_low: 0.11
-  cost_high:  0.14
-  w_cost: 1.0
-
-  # ===== 残余污染 =====
-  k_res: 3.0
-  residual_ref_ratio: null
-  w_res: 1.0
-
-
-
-UFStateBounds:
-  # ===== 流量初始化约束 =====
-  q_UF_min: 130.0
-  q_UF_max: 170.0
-
-  # ===== 温度初始化约束 =====
-  temp_min: 14.0
-  temp_max: 32.0
-
-  # ===== TMP 初始化约束 =====
-  TMP0_min: 0.01
-  TMP0_max: 0.06
-  global_TMP_hard_limit: 0.08
-
-  # ===== 短期污染参数 =====
-  nuK_min: 300.0
-  nuK_max: 700.0
-
-  # ===== 长期污染参数 =====
-  slope_min: 1.28
-  slope_max: 150
-  power_min: 0.25
-  power_max: 2.5
-
-  # ===== CEB 去除能力 =====
-  ceb_removal_min: 200.0
-  ceb_removal_max: 500.0

+ 0 - 55
models/uf-rl/longting/uf_analyze_config.yaml

@@ -1,55 +0,0 @@
-UF:
-  units: [ "1", "2" ]
-  area_m2: 128 * 40
-
-  inlet_codes: [221.0, 300.0]
-  stable_codes: [221.0, 260.0]
-
-  physical_bw_code: [301.0, 340.0]
-  chemical_bw_code: [400.0, 660.0]
-
-  # 列名
-  column_formats:
-    flow_col: "ns=3;s={unit}#UF_JSFLOW_O"
-    tmp_col: "ns=3;s=UF{unit}_SSD_KMYC"
-    press_col: "ns=3;s={unit}#UF_JSPRESS_O"
-    ctrl_col: "ns=3;s=UF{unit}_STEP"
-    temp_col: "ns=3;s=ZJS_TEMP_O"
-    orp_col: "ns=3;s=RO_JSORP_O"
-    ph_col: "ns=3;s=RO_JSPH_O"
-    event_col: "event_type"
-    BWB_POWER_col: "ns=3;s=ZZ_{unit}#UFBWB_POWER"
-    GSB_POWER_col: "ns=3;s=ZZ_UFGSB_POWER"
-    NaClO_col: "ns=3;s=CN_LEVEL_O"
-    HCL_col: "ns=3;s=S_LEVEL_O"
-    NaOH_col: "ns=3;s=J_LEVEL_O"
-
-
-Params:
-  # 稳定段提取
-  min_stable_points: 30
-  initial_points: 10
-
-  # 阻力趋势计算
-  segment_head_n: 5
-  segment_tail_n: 5
-
-  scale_factor: 1e10
-
-
-Plot:
-  figsize: [12, 6]
-  dpi: 120
-  color_inlet: "#1f77b4"
-  color_bw_phys: "#ff7f0e"
-  color_bw_chem: "#d62728"
-
-Paths:
-  project_root: "E:/Greentech" # 请根据项目根目录修改相应路径
-
-  raw_data_path: "models/uf-rl/datasets/UF_longting_data/raw"
-  output_path: "models/uf-rl/datasets/UF_longting_data/processed/segments"
-  filter_output_path: "models/uf-rl/datasets/UF_longting_data/processed/filter_segments"
-
-  output_format: "csv"
-

+ 2 - 2
models/uf-rl/rl_model/DQN/uf_decide/run_dqn_decide.py

@@ -273,8 +273,8 @@ def run_dqn_decide(
 # ==============================
 if __name__ == "__main__":
 
-    MODEL_PATH = UF_RL_ROOT / "anzhen" / "48h_dqn_model.zip"
-    ENV_CONFIG_PATH = UF_RL_ROOT / "anzhen" / "env_config.yaml"
+    MODEL_PATH = UF_RL_ROOT / "config_and_model" / "anzhen" / "48h_dqn_model.zip"
+    ENV_CONFIG_PATH = UF_RL_ROOT / "config_and_model" / "anzhen" / "env_config.yaml"
     units_to_run = ["UF1"] # 新增输入:本次调用的机组对象名
     TMP0 = 0.07  # 原始 TMP0
     q_UF = 300 # 进水流量

BIN
models/uf-rl/xishan/48h_dqn_model.zip


BIN
models/uf-rl/xishan/48times_dqn_model.zip


+ 0 - 221
models/uf-rl/xishan/data_to_rl_config.yaml

@@ -1,221 +0,0 @@
-# ============================================================
-# 项目级路径配置
-# ============================================================
-
-Paths:
-  project_root: "E:/Greentech"
-  __comment__: >
-    项目根目录,所有路径均相对于该目录展开。
-    不同工程师只需修改这一项即可迁移环境。
-
-  raw_data:
-    filtered_cycles_dir: "models/uf-rl/datasets/UF_xishan_data/processed/filter_segments"
-    cycle_file_pattern: "UF{unit}_filtered_cycles.csv"
-
-    enabled_units: [1, 2, 4]
-    disabled_units: [3]
-
-    __comment__: >
-      已完成清洗与周期切分的真实工厂数据。
-      每个 CSV 对应一个机组,文件内每一行是一个【物理周期】。
-      data_to_rl 阶段会:
-        - 读取 enabled_units 中所有机组
-        - 合并为统一数据集
-        - 机组编号仅用于筛选,不进入状态空间
-
-  data_to_rl:
-    output_dir: "models/uf-rl/datasets/UF_xishan_data/rl_ready/output"
-    cache_dir: "models/uf-rl/datasets/UF_xishan_data/rl_ready/cache"
-
-    __comment__: >
-      data_to_rl 模块输出内容:
-        - 全机组合并后的状态空间范围
-        - reset 初始状态分布
-        - reward 统计量
-
-
-# ============================================================
-# 数据层级定义(非常重要)
-# ============================================================
-
-DataHierarchy:
-
-  physical_cycle:
-    id_column: "seg_id"
-    time_columns:
-      start: "start_time"
-      end: "end_time"
-    __comment__: >
-      物理周期是最细粒度的数据层级:
-      - 用于物理模型验证
-      - 用于环境内部子步模拟
-      - 不直接暴露给强化学习算法
-
-  chemical_cycle:
-    id_column: "chem_cycle_id"
-    validity_column: "chem_cycle_valid"
-    step_definition: "one_rl_step_per_chemical_cycle"
-    __comment__: >
-      化学周期是强化学习的【唯一 step 单位】。
-      强化学习中:
-        - 一个 step = 一个化学周期
-        - 一个状态 = 一个化学周期的整体状态
-
-# ============================================================
-# 强化学习状态定义(工程师重点关注)
-# ============================================================
-
-RLState:
-  level: chemical_cycle
-  dimension: 8
-  __comment__: >
-    强化学习 observation 的定义。
-    所有变量在一个 step(化学周期)内保持不变。
-
-  variables:
-
-    q_UF:
-      source: "flow_mean"
-      aggregation: "mean_within_cycle"
-      unit: "m3_per_h"
-      description: "化学周期代表性进水流量"
-      __comment__: >
-        原始数据在物理周期层级变化,
-        这里使用化学周期内的平均值作为状态。
-
-    temp:
-      source: "temp_mean"
-      aggregation: "mean_within_cycle"
-      unit: "celsius"
-      description: "化学周期代表性水温"
-
-    TMP:
-      source: "tmp_start"
-      selection: "first_physical_cycle"
-      unit: "MPa"
-      description: "化学周期起始跨膜压差"
-      __comment__: >
-        虽然 TMP 在物理周期内会变化,
-        但强化学习只关心化学周期开始时的状态。
-
-    R:
-      source: "R_scaled_start"
-      selection: "first_physical_cycle"
-      unit: "scaled_resistance"
-      description: "化学周期起始膜阻力"
-
-    nuK:
-      source: "cycle_nuK"
-      unit: "scaled"
-      description: "短期污染增长系数"
-      __comment__: >
-        在同一化学周期内视为常数,
-        后续 step (下一化学周期)中根据动作进行经验性更新。
-
-    slope:
-      source: "cycle_long_a"
-      unit: "scaled"
-      description: "长期不可逆污染幂律系数 a"
-
-    power:
-      source: "cycle_long_b"
-      unit: "dimensionless"
-      description: "长期不可逆污染幂律指数 b"
-
-    ceb_removal:
-      source: "cycle_R_removed"
-      unit: "scaled"
-      description: "CEB 可去除的膜阻力"
-
-# ============================================================
-# 状态空间范围提取(reset 使用)
-# ============================================================
-
-StateSpaceExtraction:
-  enabled: true
-  level: chemical_cycle
-  include_only_valid_cycles: true
-
-  __comment__: >
-    用真实工厂数据统计【合理状态空间范围】,
-    用于:
-      - reset 初始状态采样
-      - 状态边界 sanity check
-
-  statistics:
-    method: "empirical"
-    percentiles: [1, 5, 50, 95, 99]
-    __comment__: >
-      使用经验分布统计,避免假设正态分布。
-
-  output:
-    save_csv: true
-    filename: "state_space_bounds.csv"
-
-# ============================================================
-# 物理周期层级的用途声明
-# ============================================================
-
-PhysicalCycleUsage:
-  enabled: true
-
-  purposes:
-    - internal_simulation
-    - parameter_sanity_check
-    - post_training_validation
-
-  variables_available:
-    - R_scaled_start
-    - R_scaled_end
-    - tmp_start
-    - tmp_end
-    - flow_mean
-    - flow_std
-    - temp_mean
-    - temp_std
-
-  __comment__: >
-    物理周期数据:
-      ✔ 可用于环境内部计算
-      ✔ 可用于训练后验证
-      ✘ 不可作为 RL observation
-
-# ============================================================
-# 真实数据在强化学习中的角色(工程边界声明)
-# ============================================================
-
-RealDataUsagePolicy:
-
-  reset_initialization:
-    enabled: true
-    source: "chemical_cycle_state_distribution"
-    __comment__: >
-      reset 时从真实化学周期状态分布中采样,
-      确保训练从“现实可达状态”开始。
-
-  training:
-    use_real_transitions: false
-    __comment__: >
-      真实数据不用于:
-        - 动力学拟合
-        - 监督策略
-      强化学习仍在模拟环境中进行。
-
-  validation:
-    enabled: true
-    compare_with_real_cycles: true
-    __comment__: >
-      训练完成后:
-        - 将策略运行结果
-        - 与真实化学周期统计特性进行对比
-      用于评估策略的现实可行性与安全性。
-
-# ============================================================
-# 方法论与工程风险声明
-# ============================================================
-
-MethodologyNotes:
-  - "强化学习的 step 定义严格等同于一个化学周期"
-  - "所有 RL 状态变量在一个 step 内视为常数"
-  - "物理周期层级仅用于环境内部模拟"
-  - "真实数据用于分布约束与验证,而非动力学建模"

+ 0 - 26
models/uf-rl/xishan/dqn_config.yaml

@@ -1,26 +0,0 @@
-# ============================================================
-# DQN 超参数配置
-# ============================================================
-# 神经网络参数
-learning_rate: 0.0001           # 学习率 1e-4
-
-# 经验回放参数
-buffer_size: 100000              # 经验回放缓冲区大小
-learning_starts: 10000           # 开始训练前收集的步数
-batch_size: 32                   # 训练批次大小
-
-# 强化学习参数
-gamma: 0.95                      # 折扣因子
-train_freq: 4                    # 训练频率(步数)
-
-# 目标网络参数
-target_update_interval: 1        # 目标网络更新间隔
-tau: 0.005                       # 软更新系数
-
-# 探索策略参数
-exploration_initial_eps: 1.0     # 初始探索率
-exploration_fraction: 0.3        # 探索率衰减比例
-exploration_final_eps: 0.02      # 最终探索率
-
-# 日志参数
-remark: "uf_dqn_real_reset"      # 实验备注

+ 0 - 134
models/uf-rl/xishan/env_config.yaml

@@ -1,134 +0,0 @@
-UFState:
-  # ===== 膜动态运行参数 =====
-  q_UF: 360.0
-  TMP: 0.03
-  temp: 25.0
-  R: 200.0
-
-  # ===== 膜阻力模型参数 =====
-  nuK: 170.0
-  slope: 2.0
-  power: 1.032
-  ceb_removal: 100.0
-
-
-UFPhysicsParams:
-  # ===== TMP 全局约束 =====
-  global_TMP_hard_limit: 0.08
-  global_TMP_soft_limit: 0.06
-
-  # ===== 物理反洗参数 =====
-  tau_bw_s: 20.0
-  gamma_t: 1.0
-  q_bw_m3ph: 1000.0
-
-  # ===== CEB 化学反洗参数 =====
-  T_ceb_interval_h: 48.0
-  T_ceb_interval_times: 48
-  v_ceb_m3: 20.0
-  t_ceb_s: 2400.0
-
-  # ===== 膜组件参数 =====
-  A: 5120.0
-
-  # ===== 吨水电耗查找表 =====
-  energy_lookup:
-    2700: 0.1088
-    2760: 0.1083
-    2820: 0.1078
-    2880: 0.1074
-    2940: 0.1070
-    3000: 0.1066
-    3060: 0.1062
-    3120: 0.1059
-    3180: 0.1055
-    3240: 0.1052
-    3300: 0.1049
-    3360: 0.1045
-    3420: 0.1042
-    3480: 0.1039
-    3540: 0.1036
-    3600: 0.1034
-    3660: 0.1031
-    3720: 0.1029
-    3780: 0.1026
-    3840: 0.1023
-    3900: 0.1021
-    3960: 0.1019
-    4020: 0.1017
-    4080: 0.1015
-    4140: 0.1012
-    4200: 0.1011
-    4260: 0.1008
-    4320: 0.1007
-    4380: 0.1005
-    4440: 0.1003
-    4500: 0.1001
-    4560: 0.0999
-    4620: 0.0998
-    4680: 0.0996
-    4740: 0.0995
-    4800: 0.0993
-
-  p_feed_kw_min: 15.0
-  p_feed_kw_max: 20.0
-  p_bw_kw: 15.0
-
-  dose_min: 0.10
-  dose_max: 0.30
-  dose_area: 0.56
-
-
-UFActionSpec:
-  L_min_s: 3800.0
-  L_max_s: 4800.0
-  t_bw_min_s: 40.0
-  t_bw_max_s: 60.0
-  L_step_s: 60.0
-  t_bw_step_s: 5.0
-
-
-UFRewardParams:
-  # ===== TMP 安全与惩罚 =====
-  global_TMP_hard_limit: 0.08
-  global_TMP_soft_limit: 0.06
-  w_tmp_hard: 5.0
-  w_tmp: 1.5
-  p: 3.0
-  w_trend: 1.0
-
-  # ===== 经济成本 =====
-  k_cost: 3.0
-  chemical_price: 13.0
-  energy_price: 0.667
-  cost_low: 0.08
-  cost_high:  0.12
-  w_cost: 1.0
-
-  # ===== 残余污染 =====
-  k_res: 3.0
-  residual_ref_ratio: null
-  w_res: 1.0
-
-
-UFStateBounds:
-  q_UF_min: 210.0
-  q_UF_max: 380.0
-
-  temp_min: 16.0
-  temp_max: 32.0
-
-  TMP0_min: 0.01
-  TMP0_max: 0.045
-  global_TMP_hard_limit: 0.08
-
-  nuK_min: 40.0
-  nuK_max: 260.0
-
-  slope_min: 0.03
-  slope_max: 27.0
-  power_min: 0.4
-  power_max: 2.2
-
-  ceb_removal_min: 60.0
-  ceb_removal_max: 250.0

+ 0 - 48
models/uf-rl/xishan/uf_analyze_config.yaml

@@ -1,48 +0,0 @@
-UF:
-  units: ["UF1", "UF2", "UF3", "UF4"]
-  area_m2: 128 * 40
-
-  inlet_codes: [21.0, 26.0]
-  stable_inlet_code: [24.0, 26.0]
-
-  physical_bw_code: [40.0, 50.0]
-  chemical_bw_code: [90.0, 100.0]
-
-  # 列名
-  flow_col_template: "C.M.{unit}_FT_JS@out"
-  tmp_col: "C.M.{unit}_DB@press_PV"
-  press_col: "C.M.{unit}_PT_JS@out"
-  ctrl_col: "C.M.{unit}_DB@word_control"
-  temp_col: "C.M.RO_TT_ZJS@out"
-  orp_col: "C.M.UF_ORP_ZCS@out"
-  cond_col: "C.M.RO_Cond_ZJS@out"
-
-
-Params:
-  # 稳定段提取
-  min_stable_points: 30
-  initial_points: 10
-
-  # 阻力趋势计算
-  segment_head_n: 5
-  segment_tail_n: 5
-
-  scale_factor: 1e10
-
-
-Plot:
-  figsize: [12, 6]
-  dpi: 120
-  color_inlet: "#1f77b4"
-  color_bw_phys: "#ff7f0e"
-  color_bw_chem: "#d62728"
-
-Paths:
-  project_root: "E:/Greentech" # 请根据项目根目录修改相应路径
-
-  raw_data_path: "models/uf-rl/datasets/UF_xishan_data/raw"
-  output_path: "models/uf-rl/datasets/UF_xishan_data/processed/segments"
-  filter_output_path: "models/uf-rl/datasets/UF_xishan_data/processed/filter_segments"
-
-  output_format: "csv"
-

+ 0 - 55
models/uf-rl/yancheng/uf_analyze_config.yaml

@@ -1,55 +0,0 @@
-UF:
-  units: [ "1", "2" ]
-  area_m2: 128 * 40
-
-  inlet_codes: [221.0, 300.0]
-  stable_codes: [221.0, 260.0]
-
-  physical_bw_code: [301.0, 340.0]
-  chemical_bw_code: [400.0, 660.0]
-
-  # 列名
-  column_formats:
-    flow_col: "ns=3;s={unit}#UF_JSFLOW_O"
-    tmp_col: "ns=3;s=UF{unit}_SSD_KMYC"
-    press_col: "ns=3;s={unit}#UF_JSPRESS_O"
-    ctrl_col: "ns=3;s=UF{unit}_STEP"
-    temp_col: "ns=3;s=ZJS_TEMP_O"
-    orp_col: "ns=3;s=RO_JSORP_O"
-    ph_col: "ns=3;s=RO_JSPH_O"
-    event_col: "event_type"
-    BWB_POWER_col: "ns=3;s=ZZ_{unit}#UFBWB_POWER"
-    GSB_POWER_col: "ns=3;s=ZZ_UFGSB_POWER"
-    NaClO_col: "ns=3;s=CN_LEVEL_O"
-    HCL_col: "ns=3;s=S_LEVEL_O"
-    NaOH_col: "ns=3;s=J_LEVEL_O"
-
-
-Params:
-  # 稳定段提取
-  min_stable_points: 30
-  initial_points: 10
-
-  # 阻力趋势计算
-  segment_head_n: 5
-  segment_tail_n: 5
-
-  scale_factor: 1e10
-
-
-Plot:
-  figsize: [12, 6]
-  dpi: 120
-  color_inlet: "#1f77b4"
-  color_bw_phys: "#ff7f0e"
-  color_bw_chem: "#d62728"
-
-Paths:
-  project_root: "E:/Greentech" # 请根据项目根目录修改相应路径
-
-  raw_data_path: "models/uf-rl/datasets/UF_yancheng_data/raw"
-  output_path: "models/uf-rl/datasets/UF_yancheng_data/processed/segments"
-  filter_output_path: "models/uf-rl/datasets/UF_yancheng_data/processed/filter_segments"
-
-  output_format: "csv"
-