system: [SYSTEM]

user: 4. 布尔控制网络最小能耗问题的半张量方法表示及问题的求解 4.1. 半张量积的方法表示布尔控制网络最小能耗问题 为了应用半张量积方法，引入如下定义及引理： 定义4.1.1 [ 4 ] ：设 X = ( x 1   ， x 2 ， ⋯ ， x s ) 是一个行向量， Y = ( y 1 ， y 2 ， ⋯ ， y t ) T 是一个列向量。 1) 如果 t 是 s 的因子，即 s = t × n ，则 n 维行向量 〈 X ， Y 〉 L : = ∑ k = 1 t X k y k ∈ ℝ n 称为 X 和 Y 左半张量内积， X = ( X 1 ， X 2 ， ⋯ ， X t ) ， X i ∈ ℝ n ， i = 1 ， 2 ， ⋯ ， t 。 2) 如果 s 是 t 的因子，即 t = s × n ，则 n 维行向量 〈 X ， Y 〉 L : = ( 〈 Y T ， X T 〉 L ) T ∈ ℝ n 也称为 Y 和 X 左半张量内积。 引理4.1.1 [ 10 ] ：设 x 1 ， ⋯ ， x n 是 n 个逻辑变量，对于任意的 n 元布尔函数 f ( x 1 ， ⋯ ， x n ) : D n → D ，存在唯一的逻辑矩阵 M f ∈ L 2 × 2 n ，使得 f ( x 1 ， ⋯ ， x n ) = M f ⋉ i = 1 n x ^ i ，                               x ^ i ∈ Δ 上式称为布尔函数 f 的代数形式。 根据引理4.1.1、定义4.1.1和半张量矩阵的运算性质，我们可以将问题(P)等价于如下问题： 设 p l j ( j = 1 ， ⋯ ， m ; l = 1 ， 2 ， ⋯ ， 2 m − 1 ) 为 m 个指标按照 I d ( λ 1 ， λ 2 ， ⋯ ， λ m ; n 1 = ⋯ = n m = 2 ) 的自然索引 λ j = 1 时的第 l 个元素对应的单指标索引。 状态方程 x ^ ( k + 1 ) = L ⋉ u ^ ( k ) ⋉ x ^ ( k ) . (3) 初始状态 x ^ ( 0 ) = x ^ 0 和终端 x ^ ( s ) = x ^ d 给定， 为容许控制集。目标泛函为 J ( u ^ ) = ∑ k = 0 s − 1 〈 ( d i a g         Q ) T ， ( ( ∑ l = 1 2 m − 1 δ 2 m p l 1 ) T           ( ∑ l = 1 2 m − 1 δ 2 m p l 2 ) T   ⋯ ( ∑ l = 1 2 m − 1 δ 2 m p l m ) T ) T 〉 L T u ^ ( k ) . (4) 最优控制问题( P ^ )：寻找 u ^ ∗ ∈ U ^ a d s . t .               J ( u ^ ∗ ) ≤ J ( u ^ ) ，                       ∀ u ^ ∈ U ^ a d 其中 x ^ ( k ) = ⋉ i = 1 n x ^ i ( k ) ∈ Δ 2 n 是状态变量， u ^ ( k ) = ⋉ i = 1 m u ^ i ( k ) ∈ Δ 2 m 是控制变量， L ∈ L 2 n × 2 n + m 为结构矩阵。 4.2. 最优控制问题的求解 最优控制问题求解常用的方法有变分法、动态规划法和庞特里亚金极大值原理。本文采用动态规划法求解最优控制问题(P)。根据最优性原理，针对半张量积表示的最优控制问题( P ^ )，我们得到如下定理。 定理4.2.1 [ 11 ] ：(最优性原理)对于问题( P ^ )，如果 p o s ∗ = { u ^ ∗ ( 0 ) ， ⋯ ， u ^ ∗ ( s − 1 ) } 是最优策略，则任意的 1 ≤ k ≤ s ，它的子策略 p k s ∗ = { u ^ ∗ ( k ) ， ⋯ ， u ^ ∗ ( s − 1 ) } 对于由 x ^ ( 0 ) ， p o k − 1 ∗ 确定的 x ^ ∗ ( k ) 为起点的第 k 到 s 后部分子过程而言，也是最优策略。 下面我们将定理4.2.1的思想，转化为可计算的递归算法。对任意给定 t ∈ { 0 ， 1 ， ⋯ ， s − 1 } 和 x ^ ∈ Δ 2 n ，考虑如下受控系统 { x ^ ( k + 1 ) = L ⋉ u ^ ( k ) ⋉ x ^ ( k ) x ^ ( t ) = x ^                                   k = t ， t + 1 ， ⋯ ， s − 1 (5) 其中 x ^ ( k ) ∈ Δ 2 n ， u ^ ( k ) ∈ Δ 2 m ，设其性能指标为 J ^ ( u ^ ( · ) ; t ， x ^ ) = ∑ k = t s − 1 〈 ( d i a g         Q ) T ， ( ( ∑ l = 1 2 m − 1 δ 2 m p l 1 ) T           ( ∑ l = 1 2 m − 1 δ 2 m p l 2 ) T     ⋯       ( ∑ l = 1 2 m − 1 δ 2 m p l m ) T ) T 〉 L T u ^ ( k ) = ∑ k = t s − 1 r T u ^ ( k ) (6) 其中， r = 〈 ( d i a g         Q ) T ， ( ( ∑ l = 1 2 m − 1 δ 2 m p l 1 ) T           ( ∑ l = 1 2 m − 1 δ 2 m p l 2 ) T     ⋯       ( ∑ l = 1 2 m − 1 δ 2 m p l m ) T ) T 〉 L 。 最优控制问题( P t x ^ )为：对于给定的 t ∈ { 0 ， 1 ， ⋯ ， s − 1 } 和 x ^ ∈ Δ 2 n ，对应于系统(5)，寻找序列 { u ^ * ( t ) ， u ^ * ( t + 1 ) ， ⋯ ， u ^ * ( s − 1 ) } ，使得 x ^ * ( s ) 达到期待的终端值。即 x ^ * ( s ) = x ^ d ，且 J ^ ( u ^ * ( · ) ; t ， x ^ * ) = min 。 显然， t = 0 且 x ^ ( 0 ) = x ^ 0 时，问题( P t x ^ )即为我们需求的最优控制问题( P ^ )。此处我们不考虑不可控问题，假设存在控制序列使状态从 x ^ 0 到 x ^ d ，我们定义如下值函数 { V ( t ， x ^ ) = min u ^ ( t ) ， u ^ ( t + 1 ) ， ⋯ ， u ^ ( s − 1 ) J ^ ( u ^ ( · ) ; t ， x ^ ) ，                           ∀   t ∈ { 0 ， 1 ， ⋯ ， s − 1 }   ，       x ^ ∈ Δ 2 n V ( s ， x ^ ) = 0 ，                                                                                   ∀ x ^ ∈ Δ 2 n 则可以得到如下定理。 定理4.2.2：对任何的 t ∈ { 0 ， 1 ， ⋯ ， s − 1 } 和 x ^ ∈ Δ 2 n ，有 { V ( t ， x ^ ) = min u ^ ( t ) { r T u ^ ( t ) + V ( t + 1 ， x ^ ( t + 1 ; u ^ ( · ) ) ) } ，                         t = s − 1 ， s − 2 ， ⋯ ， 1 ， 0 V ( s ， x ^ ) = 0 ，                                                                                   ∀ x ^ ∈ Δ 2 n 证明：由值函数 V ( t ， x ^ ) 的定义知 V ( t ， x ^ ) ≤ J ^ ( u ^ ( · ) ; t ， x ^ ) = ∑ k = t s − 1 r T u ^ ( k ) = r T u ^ ( t ) + ∑ k = t + 1 s − 1 r T u ^ ( k ) ，           ∀ { u ^ ( t ) ， u ^ ( t + 1 ) ， ⋯ ， u ^ ( s − 1 ) } 两端关于序列 { u ^ ( t ) ， u ^ ( t + 1 ) ， ⋯ ， u ^ ( s − 1 ) } 取最小泛函 V ( t ， x ^ ) ≤ min u ^ ( t ) ， u ^ ( t + 1 ) ， ⋯ ， u ^ ( s − 1 ) { r T u ^ ( t ) + ∑ k = t + 1 s − 1 r T u ^ ( k ) } ≤ min u ^ ( t ) { r T u ^ ( t ) + V ( t + 1 ， x ^ ( t + 1 ; u ^ ( · ) ) ) } 对任何序列 { u ^ ( t ) ， u ^ ( t + 1 ) ， ⋯ ， u ^ ( s − 1 ) } ，有 J ^ ( u ^ ( · ) ; t ， x ^ ) = ∑ k = t s − 1 r T u ^ ( k ) ≥ r T u ^ ( k ) + min u ^ ( t + 1 ) ， ⋯ ， u ^ ( s − 1 ) ∑ k = t + 1 s − 1 r T u ^ ( k ) 故 V ( t ， x ^ ) ≥ min u ^ ( t ) { r T u ^ ( k ) + min u ^ ( t + 1 ) ， ⋯ ， u ^ ( s − 1 ) ∑ k = t + 1 s − 1 r T u ^ ( k ) } = min u ^ ( t ) { r T u ^ ( k ) + V ( t + 1 ， x ^ ( t + 1 ; u ^ ( · ) ) ) } ∴ V ( t ， x ^ ) = min u ^ ( t ) { r T u ^ ( t ) + V ( t + 1 ， x ^ ( t + 1 ; u ^ ( · ) ) ) } 证毕。 有了上述递归公式，我们可以使用计算机编程求其解。 4.3. 应用实例 例4.3.1设离散系统的状态方程为 给定初始状态 x 1 ( 0 ) = x 2 ( 0 ) = 0   ，终端状态 x 1 ( 3 ) = x 2 ( 3 ) = 1 ，性能指标为 J ( u ) = ∑ k = 0 2 3 u 1 ( k ) + 2 u 2 ( k ) = ∑ k = 0 2 u T ( k ) Q u ( k ) 其中， x i ( k ) ∈ D ， i = 1 ， 2 逻辑变量， u i ( k ) ∈ D ， i = 1 ， 2 控制变量， u ( k ) = ( u 1 ( k )               u 2 ( k ) ) T ， Q 为2阶的对角阵 Q = d i a g { 3 ， 2 } ，求使性能指标最小的控制序列。 解：将逻辑最优控制问题转化为代数形式： x ^ ( k + 1 ) = L ⋉ u ^ ( k ) ⋉ x ^ ( k ) ，                 k = 0 ， 1 ， 2 初始条件 x ^ ( 0 ) = δ 4 4 ，终端 x ^ ( 3 ) = δ 4 1 ，性能指标为 J ( u ^ ) = ∑ k = 0 2 〈 ( d i a g           Q ) T ， ( ( ∑ l = 1 2 δ 4 p l 1 ) T           ( ∑ l = 1 2 δ 4 p l 2 ) T ) T 〉 L T u ^ ( k ) 其中， L = [ 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 ] ， x ^ i ( k ) ∈ Δ 为状态变量， x ^ ( k ) = ⋉ i = 1 2 x ^ i ( k ) ， u ^ i ( k ) ∈ Δ 为控制变量， u ^ ( k ) = ⋉ i = 1 2 u ^ i ( k ) 。求使性能指标最小的控制系列 u ^ ∗ ( 0 ) ， u ^ ∗ ( 1 ) ， u ^ ∗ ( 2 ) 。 应用动态规划求解 情形1：由状态方程 x ^ ( 3 ) = L ⋉ u ^ ( 2 ) ⋉ x ^ ( 2 ) 有， J ∗ [ u ^ ( 2 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5                   3                   2                 0 )   u ^ ( 2 ) } = min u ^ ( 2 ) ∈ Δ { 3 ，                           u ^ ( 2 ) = δ 4 2 2 ，                             u ^ ( 2 ) = δ 4 3 于是， u ^ ∗ ( 2 ) = δ 4 3 ， J ∗ [ u ^ ( 2 ) ] = 2 ，此时 x ^ ∗ ( 2 ) = δ 4 1 。 又由于 x ^ ∗ ( 2 ) = δ 4 1 ，则 J ∗ [ u ^ ( 1 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5                 3                 2               0 ) u ^ ( 1 ) + J ∗ [ u ^ ( 2 ) ] } = min u ^ ( 2 ) ∈ Δ { 3 + 2 ，                                       u ^ ( 1 ) = δ 4 2   2 + 2 ，                                       u ^ ( 1 ) = δ 4 3 于是， u ^ ∗ ( 1 ) = δ 4 3 ， J ∗ [ u ^ ( 1 ) ] = 4 ，此时 x ^ ∗ ( 1 ) = δ 4 1 。 由于 x ^ ∗ ( 1 ) = δ 4 1 ，则 J ∗ [ u ^ ( 0 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5                 3                 2               0 ) u ^ ( 0 ) + J ∗ [ u ^ ( 1 ) ] } = min u ^ ( 2 ) ∈ Δ { 3 + 4 ，                                 u ^ ( 0 ) = δ 4 2 2 + 4 ，                                   u ^ ( 0 ) = δ 4 3 于是， u ^ ∗ ( 0 ) = δ 4 3 ， J ∗ [ u ^ ( 0 ) ] = 6 ， x ^ ( 0 ) = δ 4 1 ，由 x ^ ( 0 ) = δ 4 4 ，因此，此情形不是最优解。 情形2 u ^ ∗ ( 2 ) = δ 4 3 ， J ∗ [ u ^ ( 2 ) ] = 2 ，此时 x ^ ∗ ( 2 ) = δ 4 1 。 u ^ ∗ ( 1 ) = δ 4 2 ， J ∗ [ u ^ ( 1 ) ] = 5 ，此时 x ^ ∗ ( 1 ) = δ 4 2 。 J ∗ [ u ^ ( 0 ) ] = min u ^ ( 2 ) ∈ Δ { ( 5                 3                 2               0 ) u ^ ( 0 ) + J ∗ [ u ^ ( 1 ) ] } = min u ^ ( 2 ) ∈ Δ { 5 + 5 ，                                             u ^ ( 0 ) = δ 4 2   3 + 5 ，                                             u ^ ( 0 ) = δ 4 2   2 + 5 ，                                               u ^ ( 0 ) = δ 4 3 0 + 5 ，                                               u ^ ( 0 ) = δ 4 3 又由于 x ^ ( 0 ) = δ 4 4 ，因此，此情形也不是最优解。 情形3 u ^ ∗ ( 2 ) = δ 4 2 ， J ∗ [ u ^ ( 2 ) ] = 3 ，此时 x ^ ∗ ( 2 ) = δ 4 2 。 u ^ ∗ ( 1 ) = δ 4 3 ， J ∗ [ u ^ ( 1 ) ] = 5 ，此时 x ^ ∗ ( 1 ) = δ 4 3 。 u ^ ∗ ( 0 ) = δ 4 4 ， J ∗ [ u ^ ( 0 ) ] = 5 ， x ^ ( 0 ) = δ 4 4 。 又 x ^ ( 0 ) = δ 4 4 ，因此，所求的最优控制序列为 u ^ ∗ ( 0 ) = δ 4 4 ， u ^ ∗ ( 1 ) = δ 4 3 ， u ^ ∗ ( 2 ) = δ 4 2 ，最优轨线为 x ^ ∗ ( 1 ) = δ 4 3 ， x ^ ∗ ( 2 ) = δ 4 2 ， x ^ ∗ ( 3 ) = δ 4 1 ，性能指标 J ∗ [ u ^ ( 0 ) ] = 5 。 因为 u ^ ∗ ( k ) = ⋉ i = 1 2 u ^ i * ( k ) ，所以 u ^ 1 * ( 0 ) = δ 2 2 ， u ^ 2 * ( 0 ) = δ 2 2 ， u ^ 1 * ( 1 ) = δ 2 2 ， u ^ 2 * ( 1 ) = δ 2 1 ， u ^ 1 * ( 2 ) = δ 2 1 ， u ^ 2 * ( 2 ) = δ 2 2 ，根据逻辑算子的向量表示，最优控制问题的最优控制序列为 u * ( 0 ) = ( 0             0 ) T ， u * ( 1 ) = ( 0             1 ) T ， u * ( 2 ) = ( 1             0 ) T ，同理得到最优轨线为 x * ( 1 ) = ( 0             1 ) T ， x * ( 2 ) = ( 1             0 ) T ， x * ( 3 ) = ( 1             1 ) T ，性能指标为 J ∗ [ u ( 0 ) ] = 5 。 注4.3：在工程实践中一般应用计算机编程求解。这一类问题的动态规划法采用”空间换时间”的办法，从后往前将每一步可能的值存储到相应单元中，然后根据初始条件确定其最优解。