44、周期性任务调度的列生成方法

周期性任务调度的列生成方法

1. 松弛问题求解

在解决周期性任务调度问题时,通过松弛变量 $x_{j,p}$ 的整数约束,可得到 $x_{j,p} \geq 0$,因为约束 $x_{j,p} \leq 1$ 由约束 (2) 隐含。采用列生成方法,首先考虑主问题,初始时主问题仅包含一小部分变量,即所有消息变量 $y_m$。

由于通常不清楚问题是否可行,所以添加一个特殊的 ECU(称为超级 ECU $E_S$)使问题人为可行,该超级 ECU 能够调度所有任务,并且仅允许一种模式 $p_t$ 且 $p_t = T$。为了检测原问题是否可行,给模式变量 $x_{E_S,p_t}$ 分配一个比不使用 $E_S$ 的任何最优解都大的成本,这样通过检查目标值就能轻松判断。

使用单纯形法求解主问题,并通过求解定价问题检查是否存在具有负缩减成本的非基本变量 $x_{j,p}$ 或 $z_q$。若存在这样的变量,除退化情况外,可知主问题找到的最优解并非原问题的最优解,需将该变量添加到主问题并重复此步骤;否则,该解也是原问题的最优解。

搜索变量的过程可分为几个子问题,即搜索给定 ECU $E_j$ 的变量 $x_{j,p}$ 和变量 $z_q$。对于变量 $x_{j,p}$,其在 ILP 松弛系数矩阵中的列可表示为 $(p, I_j, M(p), 0^{|M|}, 0)$,其中 $I_j$ 是 ${0, 1}^{|ECU|}$ 中的向量,在位置 $j$ 处恰好有一个 1,若 $p$ 意味着消息 $m$ 必须通过总线发送,则 $M(p)$ 中消息 $m$ 对应位置为 1。定价问题如下:
[
\begin{align }
&\min c(

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值