You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不依赖前一状态建模类开关事件?含初始状态场景

类开关场景的无状态依赖建模方案

核心思路

不再依赖前一时刻状态变量switch_var(t-1)递推,而是直接通过开启/关闭事件的时间点与当前时刻的先后关系定义灯泡状态,所有约束均为线性,适配整数规划求解。


情况1:初始状态为关闭(switch_var(0)=0)

定义变量

  • switch_var(t):t时刻灯泡状态(二元变量,1=开启,0=关闭)
  • open(t):t时刻触发开启事件(二元变量,全局仅一个t取1)
  • close(t):t时刻触发关闭事件(二元变量,全局仅一个t取1)
  • T_open:开启事件发生的时间(整数变量,取值范围0 ≤ T_open ≤ T,T为最大时间节点)
  • T_close:关闭事件发生的时间(整数变量,取值范围0 ≤ T_close ≤ T+1,T_close=T+1表示从未关闭)

约束条件

  1. 绑定事件与时间点:

    sum_{t=0}^T t * open(t) = T_open
    sum_{t=0}^T open(t) ≤ 1
    sum_{t=0}^T t * close(t) = T_close
    sum_{t=0}^T close(t) ≤ 1
    

    确保开启/关闭事件最多触发一次,且T_open/T_close准确对应事件时间。

  2. 开启必须早于关闭(若关闭发生):

    T_open ≤ T_close
    

    若未触发关闭(T_close=T+1),此约束自动成立。

  3. 直接定义t时刻状态:
    当T_open ≤ t < T_close时,switch_var(t)=1,否则为0。线性化约束如下(取M=T+2为足够大的常数):

    T_open ≤ t + M*(1 - switch_var(t))
    T_close ≥ t + 1 - M*switch_var(t)
    
    • 当switch_var(t)=1时,约束强制T_open ≤ t且T_close ≥ t+1,满足开启后、关闭前的状态要求;
    • 当switch_var(t)=0时,约束因M足够大自动成立,无需额外处理。

示例验证

假设最大时间T=9(t=0到9),开启事件在t=4,关闭事件在t=9:

  • T_open=4,T_close=9
  • t=0-3:T_open>t,switch_var(t)=0
  • t=4-8:4≤t<9,switch_var(t)=1
  • t=9:t≥T_close,switch_var(t)=0
    结果完全符合预期:0 0 0 1 1 1 1 1 1 0

情况2:初始状态为开启(switch_var(0)=1)

此时无需开启事件,仅需处理关闭逻辑:

定义变量

  • switch_var(t):t时刻灯泡状态(二元变量,1=开启,0=关闭)
  • close(t):t时刻触发关闭事件(二元变量,全局仅一个t取1)
  • T_close:关闭事件发生的时间(整数变量,取值范围0 ≤ T_close ≤ T+1,T_close=T+1表示从未关闭)

约束条件

  1. 绑定关闭事件与时间点:

    sum_{t=0}^T t * close(t) = T_close
    sum_{t=0}^T close(t) ≤ 1
    
  2. 直接定义t时刻状态:
    当t < T_close时,switch_var(t)=1,否则为0。线性化约束如下(取M=T+2):

    T_close ≥ t + 1 - M*switch_var(t)
    
    • 当switch_var(t)=1时,约束强制T_close ≥ t+1,即关闭时间在当前时刻之后;
    • 当switch_var(t)=0时,约束强制T_close ≤ t,即关闭时间已过;
    • 若未触发关闭(T_close=T+1),所有t<T+1均满足t < T_close,switch_var(t)保持为1。

方案优势

彻底避免了递推式建模的边界问题(比如t从1开始时无需额外处理初始状态衔接),所有约束均为线性,可直接用于整数规划求解器,逻辑清晰且易维护。

内容的提问来源于stack exchange,提问作者Juan Miguel Dela Cruz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:04:52