《A fast quantum algorithm for searching the quasi-optimal solutions of unit commitment》
论文信息:X. Zheng, J. Wang, and M. Yue, “A fast quantum algorithm for searching the quasi-optimal solutions of unit commitment,” IEEE Trans. Power Syst., vol. 39, no. 2, pp. 4755–4758, Mar. 2024, doi: 10.1109/TPWRS.2024.3350382.
在该论文中,机组组合(UC)被视为一个搜索问题,即在一个由N个项目组成的随机排序数据库中找到目标解(N=2nN = 2^{n}N=2n,其中nnn是二进制机组组合变量的数量)。该数据库包含{0,1}n\{0, 1\}^n{0,1}n的所有可能排列,其中每一种排列都是一个二进制解,表明发电机(generator)的开/关状态。目标解是任何可行的二进制机组组合解,其产生的成本等于或略高于最小成本,因此是一个准最优解。
(其他量子方法如QAOA方法是将 UC 表述为二次无约束二进制优化 (QUBO) 问题,并采用量子退火或变分量子启发式方法,即查找/近似描述 QUBO 问题的 Ising 模型哈密顿量的基态(最低能量的状态)[2]、[3]、[4]。为了有效地处理连续决策变量,利用了 Benders 分解;参见 [5])
A. 用于物理约束的 Oracle( Physical Constraints)
机组组合(UC)中开/关决策的物理约束是如下的“最小开/关时间”约束,即发电机一旦开启或关闭,必须保持该状态至少一定的时间间隔,该约束是为避免机组频繁启停,规定机组启动后需持续运行一段最短时间、停机后需等待一段最短时间才能再次启动的约束条件 。
xg,t+τ≥xg,t−xg,t−1∀g∈G,∀t∈T,∀τ∈{1,min(TMUg−1,T−t)}
x_{g,t+\tau} \geq x_{g,t} - x_{g,t-1} \quad \forall g \in G, \forall t \in T, \forall \tau \in \{1, \min(TMU_g - 1, T - t)\}
xg,t+τ≥xg,t−xg,t−1∀g∈G,∀t∈T,∀τ∈{1,min(TMUg−1,T−t)}
xg,t+τ≤xg,t−xg,t−1+1∀g∈G,∀t∈T,∀τ∈{1,min(TMDg−1,T−t)}
x_{g,t+\tau} \leq x_{g,t} - x_{g,t-1} + 1 \quad \forall g \in G, \forall t \in T, \forall \tau \in \{1, \min(TMD_g - 1, T - t)\}
xg,t+τ≤xg,t−xg,t−1+1∀g∈G,∀t∈T,∀τ∈{1,min(TMDg−1,T−t)}
其中,TMUgTMU_gTMUg 是发电机 ggg 的最小开启时间,TMDgTMD_gTMDg 是发电机ggg 的最小关闭时间。
只有当xg,t+τ,xg,t,xg,t−1{x_{g, t+\tau}, x_{g, t}, x_{g, t-1}}xg,t+τ,xg,t,xg,t−1取值为{0, 1, 0}或{1, 0, 1}时,约束条件(1)才会被违反,所以设计一个量子线路来检测是否出现|010⟩和|101⟩,具体来说:使用辅助量子比特来指示是否符合约束。用泡利 - X门和多控制X门构建一个电路如下所示,当输入状态是|010⟩或者|101⟩时,就翻转辅助量子比特。

除了“最小开/关时间“约束,UC 问题还包括其他约束,例如发电机的斜坡限制(the ramping limits of generators)以及全系统约束,如功率流限制(power flow limits)。这些约束与连续变量有关,将由解耦的线性规划LP处理。(?解耦的LP时怎么处理连续变量约束的?好像是直接用经典计算来解决)
B. 准最优性准则的 Oracle (Quasi-Optimality Criterion)
目的:能够验证 搜索得到的UC 解是否为准最优(ϵ-最优:由相对最优性间隙定义,mipgap)。其任务为二分类(要么是准最优,要么不是,所以是二分类),因此可以用变分量子电路(VQC)。
首先,通过 basis embedding方法将N个UC解表示为n个qubit的叠加态(n位0/1bit串,比如|111111100…001⟩)。然后,将准最优解标记为1,其余的标记为-1。在经典计算机上优化 VQC 参数,若当前状态对应的解为 ε- 最优解,将选定的输出量子比特缩放至接近 |0⟩态;否则缩放至 |1⟩态。因此,在计算基下对输出量子比特的测量可得到 [-1,1] 的预测值。
以下介绍电路架构:采用低深度强纠缠的电路架构 [13],由单量子比特通用门G(ϕ,θ,ω)=Rz(ω)Ry(θ)Rz(ϕ)G(\phi, \theta, \omega)=R_z(\omega)R_y(\theta)R_z(\phi)G(ϕ,θ,ω)=Rz(ω)Ry(θ)Rz(ϕ)和两量子比特纠缠门C(G)C(G)C(G)交替层组成,两量子比特门C(G)C(G)C(G)可为 CNOT 门、受控 RY 门等(取决于所用门 G)。单量子比特层和两量子比特层的一次交替称为一个code block。重复执行code block 以提升 VQC 的表达能力[14]。下图为 3-qubit VQC 的示意图,其包含 2 个 code block(控制范围分别为 1 和 2),块重复次数为 1,可表示为 VQC (1;1,2),具体含义为VQC(blocks的重复次数=1;block#1的控制范围=1,block#2的控制范围=2)。
Question1:一个 UC 实例有 m 个最小启停时间约束如何理解?
一个 UC 实例中,不同机组各自有这样的约束,若有 m 个最小启停时间约束,就意味着从整体约束角度看,有 m 条这样关于机组启停时长限制的规则(可能对应不同机组,也可能是同一机组不同时段等情况的约束细分 )。比如,针对 5 台机组的 UC 实例,每台机组都有 “启动后需至少持续运行 3 小时(最小开机时间约束 )”“停机后需至少等待 2 小时才能再次启动(最小停机时间约束 )”,若把每台机组的开机和停机约束都单独算,就可能有多个(比如 5 台机组,每台 2 个约束,就有 10 个相关约束,可根据分析需求整合为 m 个 )
Question2:code block的控制范围(range of controls)是什么意思?
文中提到:two-qubit controlled-RY gates with a range of controls of 1(控制范围为 1 的双量子比特控制 - RY 门),那具体是什么含义呢?

C. 整体量子电路
整体量子电路又两部分组成,第一部分电路就是检测“最小开/关时间”约束的电路的重复,第二部分电路就是针对判断解是否为准最优的VQC训练电路。
1.假设 UC 问题有 n 个二进制变量和 m 个最小开 / 关时间约束,则引入 m 个辅助量子比特,利用 m 个图 1 形式的电路验证这些约束,此为预言机的第一阶段。随后,如果所有m个辅助量子比特均为1(约束满足)则反转第1个量子比特,该操作通过 m-controlled X gate实现。相当于把”最小开 / 关时间约束“的满足情况保存在第1个qubit,同时,将是否有解的情况(feasibility)通过第 1 个量子比特控制的 CNOT 门存储至倒数第 2个qubit。
2.前n+1n+1n+1个量子比特随后通过训练好的 VQC 电路。当第1个量子比特输出|0⟩态时表示当前为准最优解。
3.读出结果,即最后阶段,由第1个量子比特 和倒数第2个量子比特作为控制位,最后1个量子比特为目标位,实现2qubit控制 X 门,即根据(第1个&倒数第 2 个qubit)翻转(最后1个qubit)。
利用上述Oracle可构建Grover搜索量子电路,如下图所示。

该电路有1+n+m+21+n+m+21+n+m+2个输入量子比特,在加载可行性条件(feasibility)后,将第1个qubit输入VQC 。对第2~(1+n)个qubit 施加H门生成 N 个可能解的等概率叠加态,同时,对第(1+n+1)~(1+n+m)个qubit施加 X 门取反,若违反“最小开/关时间”约束则可能翻转回 | 0⟩态。倒数第 2个qubit存储叠加态的可行性条件(feasibility,是否有解)。last qubit经X门和H门后变为|−⟩态,利用X∣−⟩=−∣−⟩X|−⟩=-|−⟩X∣−⟩=−∣−⟩特性实现相位翻转。对符合准最优条件以及可行feasibility条件的目标状态进行相位翻转,最后经扩散器(Diffuser)放大目标状态的振幅并降低观测到坏状态的概率,最后进行测量得到结果。
D.量子算法 Quantum Algorithm
由于准最优解的数量 t 未知,无法计算最大化目标状态振幅的最小Grover迭代次数。此时可采用迭代次数为O(N/t)O(\sqrt{N/t})O(N/t)的算法。
求解 UC 问题的流程【算法 1】:
1: 设置 p=1p = 1p=1,并令 λ ∈(1, 4/3),4/3 为N/tN/tN/t的下界(通常适用于 UC 问题)。
2: 重复以下步骤:
3: 在区间 [0,p)[0, p)[0,p) 内均匀随机选择整数 jjj。
4: 按Grover搜索量子电路运行 jjj 次oracle和扩散器电路迭代。令量子比特 2 n+12 ~ n+12 n+1 的输出为 xxx。 在量子计算机上执行Grover搜索
5: 固定开/关状态为 xxx 求解机组组合(UC)问题,并将目标值记为 QQQ。 ▷ 在经典计算机上求解线性规划(LP)(包含其他约束? )
6: 将 ppp 设置为 min(λp,N)min(\lambda p, \sqrt{N})min(λp,N)。
7: 直到满足重复次数限制、达到时间上限,或目标值 QsQsQs 的偏差足够小。
8: 返回最小目标成本对应的 xxx。
论文中还进行了算法复杂度分析(略)
E.实验部分
为实现该方法,从 GUROB( 一个数学规划优化器)I求解池提取样本并标记,相对最优性间隙(mipgap) ε 设为 0.1%,使用 NesterovMomentumOptimizer优化器训练 VQC [13],优化器步长设为 0.5,损失函数为分类均方误差。
1.真实硬件测试
采用配备训练好的 VQC (1;1,2)(blocks的重复次数=1;block#1的控制范围=1,block#2的控制范围=2) 的 4 量子比特电路验证Oracle,如图 4 所示。

第 1 个量子比特在 VQC 后存储着 ε- 最优条件并控制最后的量子比特,第 2 和第 3 个量子比特为 4 个 UC 解的量子寄存器。由于所有解均可行,省略本应存储 “可行性” 情况的倒数第二个量子比特。前两个虚线框分别为Oracle和扩散器diffusion,块VQCinvVQC^{inv}VQCinv为保持输入不变的 VQC 反射。由于 4 个解中仅有 1 个我们想要的目标状态,理论上 1 次Grover迭代即可精确找到目标状态 [6],即 100% 概率观测到 ε- 最优解 “01”。
将该电路放在 5 量子比特 IBM ibmq_manila 设备上运行,,第 2 和第 3 量子比特结果为 |01⟩的占比 626 /1024 shots,算法成功概率( algorithm success probability,ASP)为 61.13%,如下图5所示。

值得一提的是,文献 [15] 的 3 量子比特Grover搜索算法成功概率(ASP) 从 78.1% 降至 38.9%,因此在NISQ量子计算机上获得 61.13% 的结果被视为合理。
为评估噪声对训练的影响,考虑 IBM 硬件真实噪声和模拟噪声(单量子比特门和两量子比特门错误概率分别设为 0.1% 和 1%),最小损失从 0.00001 升至 0.00028 和 0.02087,如下图 6 所示。若将含噪声训练的 VQC 部署至电路,ASP 将分别从 100% 降至 98.34% 和 75.20%。

2.可扩展性Scalability、可训练性Trainability与泛化性Generalizability
(1)可扩展性Scalability
尝试实现11-qubit的案例:样本来自 PJM 5 节点系统(源于美国 PJM 互联电网简化模型的小型测试平台),该系统总共有5个发电机,除发电机#4 的 5 个变量外其余 UC 变量固定。此时UC问题由 5 个二进制变量和 3 个”最小开/关时间“约束组成。因此 VQC 有n+1=6n+1=6n+1=6个输入量子比特,即 5 个变量qubit+ 1 个存储可行性的qubit。下表给出了所有(2^5=32$个可能解 UC solutions,是否ε最优(ε-optimality)和是否有解(feasibility)分别在第一列和最后一列中标记。

由于 UC 问题实例包含3个”最小启/停时间“约束,额外使用 3 个量子比特来验证与最小启停约束对应的可行性条件。第 1 个量子比特是 ε- 最优性条件的量子寄存器,倒数第二个量子比特是可行性寄存器(用于表示所有约束是否满足),最后一个量子比特携带 ∣−⟩|-\rangle∣−⟩态以实现相位翻转。若执行 2 次Grover迭代搜索,所使用的整体量子电路将如下图 1 所示。

量子oracle如下图 2 所示。前三个长条块是”最小启/停时间“约束的电路,后一个更长的长条块是一个以第 1 个量子比特为目标的多控制 X 门。然后通过control - X 门将可行性条件存储到倒数第二个量子比特(如果第一个约束不满足的话就不用加载可行性条件了)。训练后的变分量子电路VQC(blocks的重复次数=3;block#1的控制范围=1,block#2的控制范围=5)包含 3 次重复(repetitions),每次重复有 2 个模块(block)。第一个模块并行包含 6 个单量子比特门 G,随后是一些控制范围为 1 的双量子比特控制 RY 门。第二个模块结构类似,但控制范围为5。 在3次重复之后,另一个单量子比特门G(0.52,7.23,-0.91)会旋转第一个量子比特。接下来是一个多控制X门(就是最中间那个2控制x门),通过瞄准最后一个量子比特来翻转真实状态的相位,以及一个保持输入状态不变的反射。请注意,反射相位中门的旋转角度取电路左半部分对应值的负值。(后面又反着来一遍的目的是为了恢复输入嘛?)

以量子比特 2 ∼ 7 作为输入的扩散器电路如下图 3 所示。

由于 t 未知,应用【算法 1】,在量子模拟器上执行 4 次迭代(logλN/t=log8/732/10≈4log_{λ}\sqrt{N/t}=log_{8/7}\sqrt{32/10}≈4logλN/t=log8/732/10≈4),结果见下表 1。该案例中首次尝试即找到 ε- 最优解。

(2)可训练性 Trainability
对比不同 VQC 设计的可训练性,结果如下图 7 ,第一个【 6-qubit VQC(3;1,5) ,CRy】作为基准,它能够学习以实现近乎完美的分类。用作对比的VQC都无可行性量子比特,即不专门设置倒数第二个量子比特存储可行性信息。这些VQC的主要区别有:
- 不同量子比特数量(5/6):对比基准(蓝)和第二个(橙色)。
- 不同块重复次数(3或2):对比基准(蓝)和第三个(黄色)。
- 不同控制范围(第二个block的控制范围为2/4/5):对比基准(蓝)和倒数第二个(紫色)。
- 两量子比特门选择(CRy或CNOT):通过对比基准模型(蓝色)和最后一组CNOT(虚线)模型可以看出应选择CRy。

(3)泛化性 Generalizability
为了使量子算法具备适用性,电路设计应能够扩展至大规模UC问题,并泛化到多个UC实例,为此,针对一组大规模UC实例,它的准最优解集合要能和其他解有效区分(需以可接受的精度与其他解分离)。研究采用IEEE 118节点系统测试训练后的模型对具有未知负荷曲线的UC实例解的分类能力。利用带有二阶多项式核的支持向量机验证表明,对于含24个二进制变量的UC问题,样本外实例的最优二进制解可与超千万个非优解实现100%精度分离。下面是具体说明:
为证明设计的量子算法具有良好的泛化能力,即证明”UC问题的ε-最优解集合能够以高精度与其他解区分开“,利用支持向量机(SVM)对 ε-最优解 进行分类。具体来说:使用MATLAB 2023a提供的fitcsvm函数来训练一个配备二阶多项式核的SVM。 二阶多项式核会将输入向量x\boldsymbol{x}x映射到高维希尔伯特空间,在该空间中,输入向量x1\boldsymbol{x}_1x1和x2\boldsymbol{x}_2x2经映射后的两个向量的内积可通过公式(x1Tx2+k)2(\boldsymbol{x}_1^\text{T}\boldsymbol{x}_2 + k)^2(x1Tx2+k)2计算,其中常数kkk是核尺度。借助非线性特征映射,原本在原始空间中线性不可分的样本,在希尔伯特空间中可能变得可分。
①样本生成:在修改后的PJM 5节点系统和修改后的IEEE 118节点系统上,验证SVM能否将UC问题的解分类为“优解”(ε-最优二进制解)和“劣解”(其他解)的能力。首先需要枚举所有可能的解,但是由于物理内存的限制,对于过长的0 - 1向量,我们无法存储其所有可能的排列,因此固定大部分机组的状态,仅让两台机组的开/关状态自由变化(2个变元)。采用2小时的时间间隔,因此对于一个24小时的UC问题,存在24个二进制变量(24/2=12个时间段,每个时间段2个变量,12*2=24)。
②训练与测试结果:考虑可行性条件作为另一项特征,因此总输入特征数为 25(可行性条件特征对分类性能有显著的提升作用)。SVM的超参数如表 3 所示。

经训练的SVM在 1,677,216 个解中,将 4096 个(5 -bus)/21,451 个(118 -bus)解分类为 “优解”。然而,这些 “优解” 中有 3920 个 / 20,568 个因违反"最小开 / 关时间"约束被过滤掉。需要注意的是,量子oracle也能够过滤掉不可行解。在过滤掉被分类为 “优解” 的不可行解后,精炼后的优解数量为 176 个 / 883 个,这与目标优解的总数相近。
剩余 30% 的数据用于构建样本外的UC问题实例。精炼后的优解被输入到每个 UC 问题实例中,并求解一些线性规划(LP)问题。对于这些新的问题实例,部分解可能不可行。在 5 -bus 的最差情况下,精炼后的优解中仅 3.41% 是整数可行的,而在最佳情况下该比例为 100%。最差情况下的整数可行解所产生的目标值,相较于真实最小值,因问题实例不同会高出 0.75% 至 3.45%。不过,最优解确实包含在精炼后的优解中,因此就最小值目标而言,其达成率为 100% 。
F.结论
证明了在Grover搜索框架下利用所开发的量子Oracle搜索 UC 准最优解是可行的,并且已在小型测试系统上完成算法概念验证。未来工作将考虑训练 VQC 处理大规模 UC 问题的分类任务,并应对量子硬件噪声的干扰。
个人理解:其实本质就是构造了两个特征,分别是符合”最小开关时间“约束的特征&是否有解(feasibility)的特征,再把原来的01解序列(带标签”好解“or”坏解“)输入VQC(相当于神经网络)训练,本质是个二分类任务。(仅个人片面浅薄理解
226

被折叠的 条评论
为什么被折叠?



