21、网络优化:可控动态过程的探索

网络优化:可控动态过程的探索

1. 引言

在大型系统设计中,一个基本挑战是如何减少达到设计过程目标函数最优点所需的时间。传统的计算机辅助设计方法主要包括两部分:一是以网络形式建立的系统模型,由代数或积分 - 微分方程描述;二是参数优化过程,用于寻找与设计系统所需特性相对应的目标函数的最优值。

为减少电路分析所需时间,有一些有效方法。例如,由于大规模电路矩阵非常稀疏,可使用特殊的稀疏矩阵技术;也可基于分解技术减少线性和非线性方程的计算量,如通过分支撕裂或节点撕裂将电路矩阵划分为带边块对角形式,并结合直接求解算法解决问题。此外,优化技术对总计算机时间也有很大影响,数值方法已用于无约束和有约束优化,其实践应用包括 VLSI 电路设计、成品率、时序和面积优化等。

传统的网络设计策略基于基尔霍夫定律进行分析,而新的网络优化问题表述则提出了广义优化的概念,即忽略整个网络或部分网络的基尔霍夫定律。在这种情况下,除了最小化预先定义的目标函数,还需最小化描述网络模型的方程组的残差。这种方法在一些 CAD 系统中得到应用,可显著减少设计总时间,可称为修改后的传统设计策略。

2. 问题表述

传统设计策略是在给定拓扑结构的模拟网络设计中,在 $K$ 维空间 $R^K$ 中无条件最小化目标函数 $C(X)$,同时求解依赖于向量 $X$ 某些分量的 $M$ 个方程组。假设物理模型可由非线性代数方程组描述:
$g_j(X) = 0, j = 1, 2, …, M$

向量 $X \in R^N$ 可分为两部分:$X = (X’, X’‘)$,其中 $X’ \in R^K$ 是独立变量向量,$X’’ \in R^M$ 是依赖变量向量,且 $N = K + M$。这种独立和依赖变量的划分是一种约定,任何参数都可视为独立或依赖变量。

在一般情况下,目标函数 $C(X)$ 在独立变量空间 $R^K$ 中的最小化过程可由向量方程描述:
$X_{s + 1}’ = X_s’ + t_s \cdot H_s$

其中,$s$ 是迭代次数,$t_s$ 是迭代参数,$H$ 是确定目标函数 $C(X)$ 下降方向的函数。

设计过程的一个特点是,在优化过程的每一步不必满足方程组的条件,只需在设计过程的最终点满足即可。此时,向量函数 $H$ 依赖于目标函数 $C(X)$ 和附加惩罚函数 $\phi(X)$,惩罚函数的结构包含方程组的所有方程,例如可定义为:
$\phi(X_s) = \frac{1}{\epsilon} \sum_{j = 1}^{M} g_j(X_s)^2$

在这种情况下,设计过程可定义为无条件优化问题:
$X_{s + 1} = X_s + t_s \cdot H_s$

在空间 $R^N$ 中,没有额外的约束系统,但有新的目标函数 $F(X)$,例如可定义为加法函数:
$F(X) = C(X) + \phi(X)$

在目标函数 $F(X)$ 的最小点,目标函数 $C(X)$ 也达到最小,且方程组在优化过程的最终点得到满足。这种方法可称为修改后的传统设计方法,它在空间 $R^N$ 中产生不同的设计策略和轨迹。

另一方面,如果惩罚函数仅由方程组的一部分形成,而其余部分视为约束系统,则可推广使用附加惩罚函数的思想。例如,惩罚函数仅包含 $Z$ 个首项:
$\phi(X) = \frac{1}{\epsilon} \sum_{i = 1}^{Z} g_i(X)^2$

其中,$Z \in [0, M]$,其他 $M - Z$ 个方程形成修改后的方程组:
$g_j(X) = 0, j = Z + 1, Z + 2, …, M$

显然,参数 $Z$ 的每个新值都会产生新的设计策略和轨迹。这种情况可扩展到惩罚函数包含方程组的 $Z$ 个任意方程的情况,此时不同设计策略的总数为 $2^M$。这些策略在相同的优化过程中存在,优化过程在 $R^{K + Z}$ 空间中实现。随着系统复杂度的增加,依赖参数 $M$ 的数量增加,不同设计策略的数量呈指数增长,且这些策略的操作次数和总运行时间不同。

接下来,我们估计几种设计策略的操作次数。传统设计策略包括两个方程组,假设优化过程基于梯度方法,可由独立变量的常微分方程组定义:
$\frac{dx_i}{dt} = -b \cdot \frac{\delta C(X)}{\delta x_i}, i = 1, 2, …, K$

其中,$b$ 是迭代参数。使用牛顿法求解方程组的操作次数为 $S \cdot [M^3 + 2M^2 + M + P]$,其中 $P$ 是计算 $g_j(X)$ 的平均操作次数,$S$ 是牛顿法求解方程组的迭代次数。使用牛顿法对常微分方程组进行单步积分的操作次数为 $(K + C) \cdot (K + 1) \cdot (S \cdot [M^3 + 2M^2 + M + P])$,其中 $C$ 是计算目标函数的操作次数。因此,使用牛顿法解决问题的总操作次数为:
$N_1 = L_1 \cdot (K + C) \cdot (K + 1) \cdot (S \cdot [M^3 + 2M^2 + M + P])$

修改后的传统设计策略由优化过程的方程组完全定义,无额外限制。此时独立变量数量为 $K + M$,基本方程组形式为:
$\frac{dx_i}{dt} = -b \cdot \frac{\delta F(X)}{\delta x_i}, i = 1, 2, …, K + M$

其中,$F(X) = C(X) + \frac{1}{\epsilon} \sum_{j = 1}^{M} g_j(X)^2$。解决该方程组的总操作次数为:
$N_2 = L_2 \cdot (K + M + C) \cdot (K + M + 1)$

更一般的设计策略是具有可变数量独立参数 $K + Z$ 的策略,使用两个方程组:
$\frac{dx_i}{dt} = -b \cdot \frac{\delta F(X)}{\delta x_i}, i = 1, 2, …, K + Z$

其中,$F(X) = C(X) + \frac{1}{\epsilon} \sum_{j = 1}^{Z} g_j(X)^2$。解决这两个方程组的总操作次数 $N_3$ 可估计为:
$N_3 = L_3 \cdot (K + Z + C) \cdot (K + Z + 1) \cdot (S \cdot [(Z + M - Z)^3 + 2(Z + M - Z)^2 + (Z + M - Z) + P])$

当 $Z = 0$ 时,该公式变为传统设计策略的操作次数;当 $Z = M$ 时,变为修改后的传统设计策略的操作次数。分析 $N_3$ 作为参数 $Z$ 的函数,可找到具有最小运行时间的策略的条件。对于线性系统,牛顿法的迭代次数 $S = 1$,传统方法是最优的;但对于非线性系统则不然。

为确保最优点 $Z_{opt}$ 位于 $[0, M]$ 区间内,需要满足导数在区间边界的两个条件:$N_3’(0) < 0$ 和 $N_3’(M) > 0$。引入额外参数 $q = \frac{M}{K}$,在特定条件下可计算导数的值,并确定参数 $n$ 的条件。当 $n$ 取不同值时,可得到不同的不等式条件,若迭代次数 $S_0$ 等于 4 或 5,则可满足 $N_3’(M) > 0$ 的条件,从而使最优点 $Z_{opt}$ 位于 $[0, M]$ 区间内。

以下是不同设计策略的操作次数比较表格:
| 策略类型 | 独立变量数量 | 总操作次数公式 |
| — | — | — |
| 传统设计策略 | $K$ | $N_1 = L_1 \cdot (K + C) \cdot (K + 1) \cdot (S \cdot [M^3 + 2M^2 + M + P])$ |
| 修改后的传统设计策略 | $K + M$ | $N_2 = L_2 \cdot (K + M + C) \cdot (K + M + 1)$ |
| 一般设计策略 | $K + Z$ | $N_3 = L_3 \cdot (K + Z + C) \cdot (K + Z + 1) \cdot (S \cdot [(Z + M - Z)^3 + 2(Z + M - Z)^2 + (Z + M - Z) + P])$ |

3. 基于控制理论的问题表述

构建最优设计算法的最通用方法可基于最优控制理论。在整个优化过程中,可通过方程 (4) 和 (6) 以及可变参数 $Z$ 定义设计策略,即可以在优化过程的每个点改变独立变量的数量和惩罚函数公式中的项数。

引入控制函数向量 $U = (u_1, u_2, …, u_m)$,其中 $u_j \in \Omega$,$\Omega = {0, 1}$。控制函数 $u_j$ 表示设计过程的控制函数,其含义为:若 $u_j = 0$,则序号为 $j$ 的方程属于方程组 (6),且 $g_j(X)^2$ 项从惩罚函数公式的右侧消除;若 $u_j = 1$,则第 $j$ 个方程从方程组 (6) 中排除,相应项出现在惩罚函数公式的右侧。此时,系统模型方程和惩罚函数的类型可重写为:
$(1 - u_j) \cdot g_j(X) = 0, j = 1, 2, …, M$
$\phi(X) = \frac{1}{\epsilon} \sum_{j = 1}^{M} u_j \cdot g_j(X)^2$

所有控制函数 $u_j$ 都是设计过程当前点的函数。此时,定向运动向量 $H = f(X, U)$ 是向量 $X$ 和 $U$ 的函数。在单个优化过程中生成的不同设计策略数量几乎是无限的,其中存在一个或多个最优策略,可在最短时间内实现设计的所有目标。因此,寻找最优策略的问题可表述为最优控制理论中典型的泛函最小化问题,泛函值表示处理器的实际运行时间。

将系统的最优设计问题从时间角度表述为最优控制理论中的泛函最小化问题,不依赖于优化算法的具体实现,可嵌入到任意优化过程中。网络优化过程可表述为可控动态过程,通过控制向量 $U$ 的变化来控制设计过程。

设计过程可采用离散或连续形式描述,连续形式是最优控制理论的传统形式。将优化过程对应的数值方程 (2) 替换为微分方程:
$\frac{dX}{dt} = f(X, U)$

其中,右侧部分 $f(X, U)$ 是定向运动向量 $H$,依赖于广义目标函数 $F(X, U)$。函数 $f(X, U)$ 的结构可根据不同的优化方法定义:
- 对于梯度方法:$f(X, U) = - \frac{\partial F(X, U)}{\partial X}$
- 对于牛顿法:$f(X, U) = - [\frac{\partial^2 F(X, U)}{\partial X^2}]^{-1} \cdot \frac{\partial F(X, U)}{\partial X}$
- 对于 DFP 方法:$f(X, U) = - B(X, U) \cdot \frac{\partial F(X, U)}{\partial X}$

其中,$B(X, U)$ 是 DFP 算法的对称正定矩阵。

构建最优设计算法的问题可表述为微分方程组 (16) 的泛函最小化问题,右侧部分依赖于具体的优化方法,具有由公式 (5)、(15) 定义的目标函数和约束条件 (14)。由于右侧部分是分段连续函数,解决此类问题可基于已知的最大值原理,但对于高维非线性问题直接应用该原理存在困难,可基于优化控制问题近似解的相关规定解决。

以下是不同优化方法下设计过程的方程组:
| 优化方法 | 方程组形式 |
| — | — |
| 梯度方法 | $\frac{dx_i}{dt} = - \frac{\partial F(X, U)}{\partial x_i}, i = 1, 2, …, K$
$\frac{dx_i}{dt} = - \frac{\partial F(X, U)}{\partial x_i} + \eta(X) - (1 - u_i) \cdot \frac{\partial F(X, U)}{\partial x_i}, i = K + 1, K + 2, …, N$ |
| 牛顿法或 DFP 方法 | $\frac{dx_i}{dt} = - \sum_{k = 1}^{N} b_{ik} \cdot \frac{\partial F(X, U)}{\partial x_k}, i = 1, 2, …, K$
$\frac{dx_i}{dt} = - \sum_{k = 1}^{N} b_{ik} \cdot \frac{\partial F(X, U)}{\partial x_k} + \eta(X) - (1 - u_i) \cdot \frac{\partial F(X, U)}{\partial x_i}, i = K + 1, K + 2, …, N$ |

其中,$b_{ik}$ 是牛顿法中逆海森矩阵的元素或 DFP 方法中矩阵 $B(X, U)$ 的元素。

mermaid 流程图如下:

graph TD;
    A[开始] --> B[定义设计策略和控制向量 U];
    B --> C[根据 U 确定系统模型方程和惩罚函数];
    C --> D[选择优化方法];
    D --> E[构建微分方程组];
    E --> F[求解微分方程组];
    F --> G[判断是否满足终止条件];
    G -- 是 --> H[输出最优设计结果];
    G -- 否 --> B;
4. 数值结果

通过数值结果展示了新设计过程表述在构建最优(从最小运行时间角度)算法方面的前景。主要关注新方法带来的新机会。所使用的网络节点数从 3 到 5 不等,处理的是直流分析问题,目标函数 $C(X)$ 定义为某些节点的预设和当前节点电压平方差的总和,并补充了网络某些元件的额外不等式。

计算采用了不同的优化方法:梯度法、牛顿法和 Davidon - Fletcher - Powell 方法 (DFP)。基本方程组 (16) 使用四阶龙格 - 库塔方法进行积分,积分步长可变且针对每个新策略进行优化,以最小化处理器运行时间。计算中的处理器操作时间对应于奔腾 4 2.2 GHz 处理器的计算机。

以一个具有四个独立变量($K = 4$)、三个依赖变量($M = 3$)和两个非线性元件的三节点网络为例,非线性元件定义为:
$y_{n1} = \frac{a_{n1}}{b_{n1} + (V_2 - V_1)^2}$
$y_{n2} = \frac{a_{n2}}{b_{n2} + (V_3 - V_2)^2}$

向量 $X$ 的分量定义为:$x_1 = y_1^2, x_2 = y_2^2, x_3 = y_3^2, x_4 = y_4^2, x_5 = V_1, x_6 = V_2, x_7 = V_3$。这样定义可确保电导为正值,从而可在无限制的变量幅度空间中进行优化。

该网络的优化算法由七个方程组成,网络模型由三个非线性方程表示:
$\frac{dx_i}{dt} = - \frac{\partial F(X, U)}{\partial x_i}, i = 1, 2, 3, 4$
$\frac{dx_i}{dt} = - \frac{\partial F(X, U)}{\partial x_i} + \eta(X) - (1 - u_i) \cdot \frac{\partial F(X, U)}{\partial x_i}, i = 5, 6, 7$

其中,$F(X, U) = C(X) + \frac{1}{\epsilon} \sum_{j = 1}^{3} u_j \cdot g_j(X)^2$

对该网络在固定控制向量 $U$ 下的所有设计策略进行分析,结果如下表所示:
| N | 控制函数向量 $U(u_1, u_2, u_3)$ | 梯度方法 - 迭代次数 | 梯度方法 - 总设计时间 (sec) | 牛顿方法 - 迭代次数 | 牛顿方法 - 总设计时间 (sec) | DFP 方法 - 迭代次数 | DFP 方法 - 总设计时间 (sec) |
| — | — | — | — | — | — | — | — |
| 1 | (0, 0, 0) | 59 | 0.229 | 8 | 0.1331 | 12 | 0.0853 |
| 2 | (0, 0, 1) | 167 | 0.273 | 6 | 0.0637 | 17 | 0.0552 |
| 3 | (0, 1, 0) | 174 | 0.291 | 11 | 0.1193 | 15 | 0.0503 |
| 4 | (0, 1, 1) | 185 | 0.154 | 11 | 0.0758 | 22 | 0.0421 |
| 5 | (1, 0, 0) | 63 | 0.122 | 8 | 0.0986 | 22 | 0.0839 |
| 6 | (1, 0, 1) | 198 | 0.245 | 9 | 0.0905 | 19 | 0.0499 |
| 7 | (1, 1, 0) | 228 | 0.258 | 15 | 0.1382 | 18 | 0.0442 |
| 8 | (1, 1, 1) | 293 | 0.176 | 17 | 0.0853 | 33 | 0.0504 |

其中,控制向量 (0, 0, 0) 对应的是传统设计策略 (TDS),控制向量 (1, 1, 1) 对应的是修改后的传统设计策略 (MTDS),其余为新的中间策略。策略 5 对梯度法最优,策略 2 对牛顿法最优,策略 4 对 DFP 法最优,但这些策略并非整体最优。通过特殊程序改变控制向量,找到的所有方法的最优策略结果如下表所示:
| N | 方法 | 最优控制函数向量 $U(u_1, u_2, u_3)$ | 迭代次数 | 切换点 | 总设计时间 (sec) |
| — | — | — | — | — | — |
| 1 | 梯度方法 | (101); (000); (111) | 81 | 3; 7 | 0.0636 |
| 2 | 牛顿方法 | (111); (000); (011) | 6 | 1; 2 | 0.0492 |
| 3 | DFP 方法 | (101); (011) | 15 | 2 | 0.0301 |

与传统策略相比,最优策略在梯度法下时间增益为 3.6 倍,牛顿法下为 2.7 倍,DFP 法下为 2.83 倍。

对于一个具有五个独立变量($K = 5$)、四个依赖变量($M = 4$)和两个非线性元件的四节点网络,系统 (16) 包含九个方程,系统模型包含四个方程。对所有策略的分析结果如下表所示:
| N | 控制函数向量 $U(u_1, u_2, u_3, u_4)$ | 梯度方法 - 迭代次数 | 梯度方法 - 总设计时间 (sec) | 牛顿方法 - 迭代次数 | 牛顿方法 - 总设计时间 (sec) | DFP 方法 - 迭代次数 | DFP 方法 - 总设计时间 (sec) |
| — | — | — | — | — | — | — | — |
| 1 | (0, 0, 0, 0) | 114 | 0.819 | 10 | 0.366 | 15 | 0.187 |
| 2 | (0, 0, 0, 1) | 87 | 0.388 | 8 | 0.251 | 26 | 0.207 |
| 3 | (0, 0, 1, 0) | 51 | 0.269 | 10 | 0.361 | 11 | 0.103 |
| 4 | (0, 0, 1, 1) | 77 | 0.176 | 8 | 0.171 | 29 | 0.129 |
| 5 | (0, 1, 0, 0) | 100 | 0.526 | 7 | 0.251 | 12 | 0.112 |
| 6 | (0, 1, 0, 1) | 217 | 0.486 | 9 | 0.189 | 14 | 0.061 |
| 7 | (0, 1, 1, 0) | 166 | 0.338 | 14 | 0.273 | 19 | 0.076 |
| 8 | (0, 1, 1, 1) | 402 | 0.596 | 11 | 0.182 | 34 | 0.104 |
| 9 | (1, 0, 0, 0) | 111 | 0.586 | 5 | 0.181 | 11 | 0.103 |
| 10 | (1, 0, 0, 1) | 73 | 0.166 | 7 | 0.149 | 14 | 0.062 |
| 11 | (1, 0, 1, 0) | 115 | 0.256 | 8 | 0.167 | 16 | 0.104 |
| 12 | (1, 0, 1, 1) | 135 | 0.225 | 10 | 0.184 | 20 | 0.068 |
| 13 | (1, 1, 0, 0) | 519 | 1.055 | 13 | 0.253 | 14 | 0.056 |
| 14 | (1, 1, 0, 1) | 595 | 0.882 | 10 | 0.166 | 18 | 0.055 |
| 15 | (1, 1, 1, 0) | 159 | 0.169 | 15 | 0.185 | 20 | 0.046 |
| 16 | (1, 1, 1, 1) | 330 | 0.276 | 24 | 0.234 | 51 | 0.101 |

在这种情况下,有 16 种不同的设计策略。对于梯度法有 13 种策略、牛顿法有 15 种策略、DFP 法有 14 种策略的处理器时间小于传统策略 1。整体中,梯度法的最优策略是策略 10,时间增益为 4.93 倍;牛顿法的最优策略是策略 10,时间增益为 2.46 倍;DFP 法的最优策略是策略 14,时间增益为 4.06 倍。

通过特殊程序找到的准最优策略结果如下表所示:
| N | 方法 | 最优控制函数向量 $U(u_1, u_2, u_3, u_4)$ | 迭代次数 | 切换点 | 总设计时间 (sec) |
| — | — | — | — | — | — |
| 1 | 梯度方法 | (1011); (0000); (1110) | 53 | 3; 4 | 0.0644 |
| 2 | 牛顿方法 | (1010); (1001) | 6 | 3 | 0.1265 |
| 3 | DFP 方法 | (0111); (1110) | 17 | 2 | 0.0405 |

这些准最优策略在梯度法下时间增益为 12.7 倍,牛顿法下为 2.89 倍,DFP 法下为 4.6 倍。

对于一个双晶体管放大器的电子网络,在直流条件下进行设计,晶体管采用 SPICE 系统中的稳态 Ebers - Moll 模型表示。目标函数定义为晶体管结电压的当前值和预设值平方差的总和。该网络有五个独立变量($K = 5$)和五个依赖变量($M = 5$),优化算法基于十个方程的系统,网络模型由五个非线性方程定义。完整的设计策略集包含 32 种不同策略。

对传统设计策略 (TDS) 和一些比传统策略耗时少的其他策略的分析结果如下表所示:
| N | 控制函数向量 $U(u_1, u_2, u_3, u_4, u_5)$ | 梯度方法 - 迭代次数 | 梯度方法 - 总设计时间 (sec) | DFP 方法 - 迭代次数 | DFP 方法 - 总设计时间 (sec) |
| — | — | — | — | — | — |
| 1 | (0, 0, 0, 0, 0) | 979 | 20.466 | 274 | 7.361 |
| 2 | (0, 0, 1, 0, 0) | 889 | 15.396 | 196 | 6.381 |
| 3 | (0, 0, 1, 0, 1) | 704 | 9.571 | 57 | 1.474 |
| 4 | (0, 0, 1, 1, 0) | 989 | 13.455 | 251 | 5.818 |
| 5 | (0, 0, 1, 1, 1) | 512 | 5.405 | 154 | 2.986 |
| 6 | (0, 1, 1, 0, 0) | 859 | 11.861 | 218 | 5.631 |
| 7 | (0, 1, 1, 0, 1) | 420 | 4.503 | 125 | 2.522 |
| 8 | (0, 1, 1, 1, 0) | 751 | 8.011 | 129 | 2.591 |
| 9 | (0, 1, 1, 1, 1) | 528 | 4.228 | 90 | 1.371 |
| 10 | (1, 0, 1, 0, 0) | 780 | 10.745 | 199 | 2.956 |
| 11 | (1, 0, 1, 0, 1) | 249 | 1.734 | 62 | 0.462 |
| 12 | (1, 0, 1, 1, 0) | 1253 | 13.297 | 135 | 1.545 |
| 13 | (1, 0, 1, 1, 1) | 386 | 2.161 | 30 | 0.281 |
| 14 | (1, 1, 1, 0, 0) | 1683 | 17.702 | 105 | 1.187 |
| 15 | (1, 1, 1, 0, 1) | 263 | 1.471 | 56 | 1.769 |
| 16 | (1, 1, 1, 1, 0) | 1191 | 9.459 | 77 | 0.656 |
| 17 | (1, 1, 1, 1, 1) | 637 | 1.039 | 65 | 0.296 |

其中,策略 17 对梯度法最优,策略 13 对 DFP 法最优,与传统策略相比,梯度法时间增益为 19.7 倍,DFP 法为 26.2 倍。

通过特殊程序找到的准最优策略结果如下表所示:
| N | 方法 | 最优控制函数向量 $U(u_1, u_2, u_3, u_4, u_5)$ | 迭代次数 | 切换点 | 总设计时间 (sec) | 计算机时间增益 |
| — | — | — | — | — | — | — |
| 1 | 梯度方法 | (11101); (11111) | 220 | 11 | 0.403 | 50.8 |
| 2 | DFP 方法 | (10111); (11111) | 37 | 11 | 0.157 | 46.9 |

最优策略在两种情况下都有一个切换点,与传统策略相比,梯度法时间增益为 50.8 倍,DFP 法为 46.9 倍。

不同优化程序下分析的无源电路($M$ 从 1 到 5)的计算机时间增益结果表明,时间最优设计策略相对于传统设计策略的计算机时间增益随依赖参数 $M$ 的增加而快速增加。有源网络优化结果也证实了时间最优设计策略的总计算机时间增益随网络复杂度的增加而增加。

综上所述,可得出以下结论:
1. 实际上,传统设计策略在时间上从未达到最优。
2. 新的设计策略形成了一个基础,可用于生成按运行时间标准最优的设计策略。
3. 通过最优策略获得的潜在时间增益随电子网络的规模和复杂度增加而增大。

网络优化:可控动态过程的探索

5. 加速效应

我们可以预估准最优策略在计算时间上的潜在增益,但要将这种预期增益变为现实,关键在于生成能够确定设计过程最优轨迹的算法。因此,研究设计最优轨迹的主要内在特性和限制,是创建最优算法时需要解决的首要任务。

基于相关概念,我们可以分析网络设计过程中出现的新效应。研究从一个简单的单节点、两参数非线性电路开始,这个电路虽无实际应用,但能很好地帮助我们理解基于新方法的网络设计过程,之后再考虑 N 维问题。这些例子都展示了一种可称为设计过程加速效应的现象,该现象源于不同控制函数下设计轨迹的不同表现。

以一个单节点非线性电子网络为例,假设元件 $nR$ 由非线性函数 $R_n = \frac{r_n}{1 + 10V^2}$ 描述。在此例中,我们定义电阻 $R_1$ 为独立参数($K = 1$),节点电压 $V_1$ 为依赖参数($M = 1$),并假设所有电阻均为正值。为自动满足这一要求,向量 $X$ 可定义为 $X = (x_1, x_2)$,其中 $x_1 = R_1^2$,$x_2 = V_1$。

对于控制向量 $U$,此例中的设计策略结构基础包含两种策略:当 $u_1 = 0$ 时为传统设计策略(TDS),$u_1 = 1$ 时为修改后的传统设计策略(MTDS)。当初始点 $X_0 = (1, 1)$ 时,TDS 和 MTDS 的设计轨迹如图所示。TDS 的迭代次数为 44,处理器时间为 $0.092\times10^{-3}$ s;MTDS 的迭代次数为 78,处理器时间为 $0.149\times10^{-3}$ s,可见传统策略更优。若在运动过程中,控制函数 $u_1$ 在第 18 步从 0 变为 1,设计时间可略有减少(5%)。

若变量 $x_2$ 的初始值取为 -1,即 $X_0 = (1, -1)$,TDS 的轨迹几乎不变,而 MTDS 的轨迹有所不同。当 $x_2$ 初始值为负时,MTDS 轨迹的第一部分位于不可行($x_2$ 为负)半空间,第二部分位于正半空间。当前点从点 S 到点 R 的运动速度较快,之后变慢,总时间比正初始近似时更长。值得注意的是,两种不同策略的轨迹从相反方向接近设计过程的最终点 F。此时,若在点 C(最终点 F 在 MTDS 轨迹上的投影)将控制函数 $u_1$ 从 1 变为 0,可加速设计过程。最优策略分为两部分:第一部分由曲线 SC 描述,对应 $u_1 = 1$,MTDS 位于物理非现实空间;在点 C,控制函数 $u_1$ 取 0 值,然后跳跃到最终点 F 或接近它,这取决于积分步长和规定精度。此例中,对应 $u_1 = 1$ 的迭代次数为 9,加上对应 $u_1 = 0$ 的一步(跳跃),最优轨迹的时间为 $0.0194\times10^{-3}$ s,设计过程加速了 4.7 倍。

对于更复杂的例子,同样能观察到加速效应。不过,此时轨迹位于 N 维空间,需要分析 N 维曲线的各种投影。我们对一些不同的无源和有源非线性网络进行了研究,以观察额外的加速效应。下图展示了两种不同优化程序(梯度法和 DFP 法)下,有源网络的最优设计策略在考虑加速效应时,计算机时间增益随晶体管单元数量 $NTR$ 的变化情况。

graph LR;
    A[单节点网络] --> B[不同初始点分析];
    B --> C[观察轨迹差异];
    C --> D[发现加速效应条件];
    D --> E[推广到复杂网络];
    E --> F[分析不同网络加速效应];

分析加速效应可知,该效应在特定初始条件下出现。例如,对于上述单节点网络,当初始点的坐标 $x_2$ 为负,且该坐标值位于特殊线(分离线)下方时,是获得加速效应的充分条件。但进一步分析表明,这些条件并非必要。下图展示了单节点网络 MTDS 设计过程的相图,其中包含两种分离线。第一种分离线 AFB 分隔从左右两侧接近最终点的轨迹;第二种分离线 CTFB 将相空间划分为两个子空间,位于该分离线包围子空间内的点无法产生加速效应,而位于分离线外的点对应的轨迹则能产生加速效应。沿着 TF 线的延伸,从分离线 CTFB 的上下方都可跳跃到最终点,这些几何条件是加速效应存在的充要条件。

在设计单级和两级晶体管放大器时,我们也观察到了类似现象。对于单级放大器,有三个独立变量($K = 3$)和三个依赖变量($M = 3$),向量 $X$ 包含六个分量;两级放大器的向量 $X$ 包含十个分量。下图展示了两种放大器 MTDS 设计过程相图的二维投影。从图中可以看出,无源和有源网络的相轨迹行为存在明显差异。在 $x_i^0 = 1.0$ 的情况下,分离线 SL1 和 SL2 的投影清晰可见,这表明是否存在能“跳跃”到设计过程最终点的轨迹。有趣的是,网络复杂度的增加会扩大加速效应的存在范围。例如,在两级放大器中,当 $x_i^0 = 2.0$ 时,观察平面 $x_5 - x_{10}$ 上轨迹的投影,可发现分离线包围的区域变窄,加速效应不存在的区域变小。当两级放大器的初始独立变量值 $x_i^0$ 增加到 3.0 时,分离线投影消失,与单级网络情况相同。

基于以上例子的分析,我们可以得出结论:电子网络结构的复杂化和初始独立变量值的增加,会扩大设计过程加速效应的存在范围。选择合适的设计过程初始点,能更大概率地实现加速效应。对不同设计策略轨迹的分析表明,分离线概念有助于我们理解和确定设计加速效应存在的充要条件。分离线将整个设计相空间划分为能实现加速效应的区域和不能实现的区域,前者可用于构建最优设计轨迹。选择设计过程的初始点位于分离线包围区域之外,是加速效应存在的充要条件。一般来说,分离线是一个结构复杂的超曲面,但在有源非线性网络的重要情况下,由于分离线内区域变窄甚至完全消失(当初始独立变量值足够大时),加速效应几乎在任何情况下都能实现。

6. 稳定性分析

前文阐述了模拟网络优化新方法的基本概念,该方法通过在电路分析和参数优化过程之间重新分配计算负担,为控制设计过程提供了新的可能性,从而有可能显著减少电路设计所需的处理器时间。实践证明,传统设计策略(TDS),即在设计的每一步都进行电路分析,在时间上并非最优。而且,与 TDS 相比,某些最优或更准确地说是准最优策略在设计电路时的时间优势,会随着设计电路的规模和复杂度增加而增大。

发现设计过程的加速效应,并探索决定该效应存在的条件,不仅能增加时间优势,还为构建准最优设计策略提供了起点。对该效应的分析得出了三个重要结论:
1. 要获得加速效应,设计过程的初始点应选择在由特殊超曲面(分离线)限定的区域之外。
2. 加速效应出现在从修改后的传统设计策略(MTDS)对应的轨迹过渡到 TDS 对应的轨迹,以及从任何类似 MTDS 的轨迹过渡到任何类似 TDS 的轨迹的过程中。
3. 加速效应的关键在于确定从一种策略过渡到另一种策略时切换点的准确位置。

为了在设计过程中获得最优的切换点序列,我们需要选择一个依赖于设计策略内部属性的特殊标准。寻找时间最优设计策略的问题,实际上涉及到每个轨迹的收敛性和稳定性这一更普遍的问题。根据实验,每种策略的设计时间取决于相应轨迹的收敛性和稳定性。

分析动态系统稳定性的常用方法之一是基于直接 Lyapunov 方法。我们将设计时间算法视为一个动态受控过程,其主要控制目标是最小化该过程的过渡时间。因此,我们可以使用直接 Lyapunov 方法来分析每个轨迹的稳定性和过渡过程(设计过程就是其中之一)的特性。

我们引入设计过程的 Lyapunov 函数,用于分析最优算法的特性和结构,特别是寻找控制向量的最优切换点位置。Lyapunov 函数有多种形式,我们可以选择以下形式来表示设计过程(1) - (5)的 Lyapunov 函数:
$V(X) = \sum_i (x_i - a_i)^2$
其中,$a_i$ 是坐标 $x_i$ 的稳定值。所有系数 $a_i$ 的集合是设计过程的主要结果,因为目标函数 $C(X)$ 在这些系数值处达到最小值,即设计目标得以实现。显然,这些系数只有在设计结束时才能准确知道。我们也可以用变量 $y_i = x_i - a_i$ 代替 $x_i$,此时方程变为:
$V(Y) = \sum_i y_i^2$
考虑新变量 $y_i$ 后,设计过程(1) - (5)的形式保持不变。并且,方程(23)满足 Lyapunov 函数定义的所有条件。实际上,该函数是分段连续函数,具有分段连续的一阶偏导数,同时具备三个主要性质:$V(Y) > 0$;$V(0) = 0$;当 $Y \to \infty$ 时,$V(Y) \to \infty$。因此,我们可以使用 Lyapunov 定理分析平衡点(点 $Y = 0$)的稳定性,也可以基于方程(22)分析点 $(a_1, a_2, …, a_N)$ 的稳定性,这两个问题本质上是相同的。不过,方程(22)的缺点是点 $(a_1, a_2, …, a_N)$ 只有在设计过程结束时才能确定。

为了在优化过程中控制设计过程的稳定性,我们需要定义一个不依赖于最终稳定点 $a$ 的 Lyapunov 函数。我们可以将其定义为:
$V(X, U) = [F(X, U)]^r$
或者
$V(X, U) = \sum_i (\frac{\partial F(X, U)}{\partial x_i})^2$
其中,$F(X, U)$ 是设计过程的广义目标函数,$r > 0$。在额外条件下,这两个方程都能确定 Lyapunov 函数,且在稳定点的足够大邻域内具有与方程(23)类似的性质。同时,它们也依赖于控制向量 $U$。

根据 Lyapunov 方法,关于轨迹稳定性的信息与 Lyapunov 函数的时间导数有关。直接计算 Lyapunov 函数的时间导数 $\dot{V}$,可以估计动态系统的稳定性。如果该导数为负,则设计过程及其对应的轨迹是稳定的。但需要注意的是,直接 Lyapunov 方法给出的是稳定性的充分而非必要条件。这意味着,即使导数为正,过程也可能失去稳定性或保持稳定。当导数 $\dot{V}$ 在正测度集上出现正值时,仅表明 Lyapunov 函数出现了少量增长而非减少,这体现了不稳定性。如果这种情况发生在远离稳定点的地方,设计过程就是发散的,无法得到该轨迹的解,此时需要改变设计过程的初始点或策略。如果正导数 $\dot{V}$ 出现在设计过程的后期(即接近稳定点时),则说明设计过程显著减速,该设计策略会陷入循环,无法达到所需的精度,导致工程时间大幅增加,这在实际设计中是常见的问题。若无法达到可接受的精度,就需要改变设计策略或初始点。

我们以一个双晶体管放大器电路为例,对不同设计策略进行稳定性分析。直接计算由方程(29)($r = 0.5$)确定的 Lyapunov 函数的时间导数 $\dot{V}$,结果表明,在设计的初始点,所有轨迹的导数均为负,即如果系统(1)的积分步长足够小,所有可能的设计策略及其轨迹在开始时都是稳定的。然而,当轨迹的当前点到达稳定点 $(a_1, a_2, …, a_N)$ 的某个 $\epsilon$ - 邻域时,Lyapunov 函数的导数变为正,当前设计策略失去稳定性,这意味着该策略无法确保轨迹收敛到稳定点,不能保证目标函数 $F(X, U)$ 以及 $C(X)$ 以 $\epsilon$ 的精度达到最小值。实际上,每个轨迹都有其自身的 $\epsilon$ - 邻域,该邻域决定了该轨迹所能达到的最大精度,在这个区域内会出现收敛问题。在接近 $\epsilon$ - 邻域的临界值之前,当前设计策略的设计过程会显著减速。

以下是双晶体管放大器不同设计策略的 $\epsilon$ - 邻域临界值表格:
| N | 控制向量 $U(u_1, u_2, u_3, u_4, u_5)$ | 迭代次数 | 计算机时间 (sec) | $\epsilon$ - 邻域临界值 |
| — | — | — | — | — |
| 1 | (0, 0, 0, 0, 0) | 3177 | 7.25 | $2.78\times10^{-8}$ |
| 2 | (0, 0, 0, 0, 1) | 3074 | 8.02 | $3.36\times10^{-7}$ |
| 3 | (0, 0, 0, 1, 1) | 11438 | 26.36 | $8.18\times10^{-7}$ |
| 4 | (0, 0, 1, 0, 1) | 799 | 1.16 | $9.38\times10^{-9}$ |
| 5 | (0, 0, 1, 1, 0) | 1798 | 2.61 | $1.61\times10^{-8}$ |
| 6 | (0, 1, 0, 1, 1) | 43431 | 76.89 | $3.16\times10^{-5}$ |
| 7 | (0, 1, 1, 0, 0) | 1378 | 2.25 | $1.67\times10^{-8}$ |
| 8 | (0, 1, 1, 0, 1) | 571 | 0.72 | $6.83\times10^{-9}$ |
| 9 | (0, 1, 1, 1, 0) | 1542 | 2.03 | $2.05\times10^{-8}$ |
| 10 | (1, 0, 0, 1, 1) | 11839 | 21.37 | $1.68\times10^{-5}$ |
| 11 | (1, 0, 1, 0, 0) | 2097 | 3.57 | $5.47\times10^{-7}$ |
| 12 | (1, 0, 1, 1, 0) | 6026 | 8.31 | $4.94\times10^{-7}$ |
| 13 | (1, 1, 1, 0, 0) | 6602 | 8.84 | $7.41\times10^{-7}$ |
| 14 | (1, 1, 1, 0, 1) | 935 | 0.71 | $1.33\times10^{-8}$ |
| 15 | (1, 1, 1, 1, 0) | 2340 | 2.31 | $1.62\times10^{-7}$ |
| 16 | (1, 1, 1, 1, 1) | 1502 | 0.38 | $1.09\times10^{-8}$ |

对上述表格结果的分析揭示了一些重要规律。首先,处理器时间与 $\epsilon$ - 邻域临界值之间存在很强的相关性。通常,$\epsilon$ - 邻域的可用值越小,处理器时间越短。我们可以根据处理器时间对所有策略进行排序,从最短时间(0.38 秒,策略 16)到最长时间(76.89 秒,策略 6)。另一方面,按照 $\epsilon$ - 邻域临界值从小到大的顺序对策略进行排序,两种排序方式下每个策略的编号略有不同。其中,有两种策略(13 和 6)的编号相同,七种策略的编号相差一位,四种策略相差两位,三种策略相差三位,平均差值为 1.5。考虑到 $\epsilon$ - 邻域的临界值是在系统(1)积分过程中通过平均近似得到的,我们可以认为处理器时间与 $\epsilon$ - 邻域临界值之间的对应关系是可以接受的。由于 $\epsilon$ - 邻域的参数是基于 Lyapunov 函数及其导数分析得到的,因此可以说处理器时间与 Lyapunov 函数的性质之间存在很强的相关性。

基于以上分析,我们可以推测:设计过程的 Lyapunov 函数及其导数是选择更有前景的设计策略的重要信息来源。

7. 结论

传统的模拟网络优化方法在时间上并非最优。基于控制理论,我们可以很好地解决最小时间设计算法的构建问题。在这种情况下,网络优化过程被表述为一个可控动态系统。

通过对不同例子的分析,我们可以得出结论:时间最优设计策略的潜在计算机时间增益会随着系统规模和复杂度的增加而增大。优化过程的 Lyapunov 函数及其时间导数包含了足够的信息,可用于选择更有前景的策略。上述方法为我们将寻找时间最优算法的问题,转化为最优控制理论中典型问题的近似解提供了可能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值