量子计算机在信用评分卡组合优化中的应用:基于 QUBO 模型的求解
量子计算机在信用评分卡组合优化中的应用:基于 QUBO 模型的求解/n/n在银行信用卡或相关的贷款等业务中,对客户授信之前,需要先通过各种审核规则对客户的信用等级进行评定,通过评定后的客户才能获得信用或贷款资格。规则审核过程实际是经过一重或者多重组合规则后对客户进行打分,这些规则就被称为信用评分卡,每个信用评分卡又有多种阈值设置(但且只有一个阈值生效),这就使得不同的信用评分卡在不同的阈值下,对应不同的通过率和坏账率,一般通过率越高,坏账率也会越高,反之,通过率越低,坏账率也越低。/n/n对银行来说,通过率越高,通过贷款资格审核的客户数量就越多,相应的银行获得的利息收入就会越多,但高通过率一般对应着高坏账率,而坏账意味着资金的损失风险,因此银行最终的收入可以定义为:/n/n最终收入 = 贷款利息收入 - 坏账损失/n/n下表举例 3 个不同的信用评分卡,可以看到每种信用评分卡有 10 个阈值,每种阈值对应不同的坏账率和通过率:/n/n| 信用评分卡 1 | 信用评分卡 2 | 信用评分卡 3 |/n|---|---|---| /n| 阈值 | 通过率 | 坏账率 | 阈值 | 通过率 | 坏账率 | 阈值 | 通过率 | 坏账率 |/n| 1 | 5% | 0.50% | 1 | 5% | 0.50% | 1 | 5% | 0.50% |/n| 2 | 10% | 1.00% | 2 | 10% | 1.00% | 2 | 10% | 1.00% |/n| 3 | 25% | 1.50% | 3 | 25% | 1.50% | 3 | 20% | 1.70% |/n| 4 | 30% | 2.00% | 4 | 30% | 2.00% | 4 | 33% | 2.00% |/n| 5 | 40% | 2.50% | 5 | 45% | 2.50% | 5 | 40% | 2.70% |/n| 6 | 50% | 3.00% | 6 | 50% | 2.70% | 6 | 52% | 3.00% |/n| 7 | 60% | 3.50% | 7 | 65% | 3.50% | 7 | 62% | 3.70% |/n| 8 | 70% | 4.00% | 8 | 70% | 4.00% | 8 | 73% | 4.00% |/n| 9 | 80% | 4.50% | 9 | 82% | 4.70% | 9 | 82% | 4.70% |/n| 10 | 93% | 5.00% | 10 | 90% | 5.00% | 10 | 95% | 5.00% |/n/n赛题说明 1 :流程简化及示例/n/n由于银行场景的复杂性,往往需要采用选择多个不同的信用评分卡进行组合来实现最佳的风险控制策略。而实际中的信用评分卡组合是一个非常复杂的过程,为便于建模,我们将该问题进行做如下简化(本简化只适用于本次比赛赛题,不能完全代表实际场景)。/n/n假设贷款资金为 1000000 元,银行贷款利息收入率为 8%,并以上面列举的三个信用评分卡作为选定的信用评分卡组合来测算银行最终收入。/n/n由于每一信用评分卡有且只可选择 1 个阈值,假设信用评分卡 1 的阈值设置为 8,则通过表格可知,对应通过率为 70%,坏账率为 4.00%,信用评分卡 2 的阈值设置为 6,则通过率为 50%,坏账率为 2.70%,信用评分卡 3 的阈值设置为 7,则通过率为 62%,坏账率为 3.70%。/n/n例如如果我们选择三重信用卡组合策略,那么这三种信用评分卡组合后的总通过率为所有信用评分卡通过率相乘,即:/n/n0.7×0.5×0.62 = 0.217/n/n总坏账率为三种信用评分卡对应坏账率的平均值,即:/n/n1/3×(0.04+0.027+0.037) = 0.0367/n/n基于以上条件可求得,本次贷款利息收入为:/n/n贷款资金×利息收入率×总通过率×(1-总坏账率),即:/n/n1000000×0.08×(0.7×0.5×0.62) ×(1-1/3×(0.04+0.027+0.037)) = 16758.18(元)/n/n由坏账带来的坏账损失为:/n/n贷款资金×总通过率×总坏账率,即:/n/n1000000×(0.7×0.5×0.62) ×(1/3×(0.04+0.027+0.037))=7522.666(元)/n/n那么银行的最终收入为:/n/n贷款利息收入-坏账损失,即/n/n16758.18-7522.666 = 9235.514 (元)/n/n由此可见,选择不同的信用评分卡,不同的阈值组合,会给银行带来不同的收入与损失,由此决定银行最终收入。因此,银行的目标是选择最合理的信用评分卡组合以及其阈值,使得银行最终收入最多。/n/n赛题说明 2 : QUBO 模型简介/n/nQUBO 模型是指二次无约束二值优化(Quadratic Unconstrained Binary Optimization)模型,它是一种用于解决组合优化问题的数学模型。 在 QUBO 模型中,需要将问题转化为一个决策变量为二值变量,目标函数是一个二次函数形式优化模型。/n/nQUBO 模型可以运行在量子计算机硬件上,通过量子计算机进行毫秒级的加速求解。这种模型和加速方式在未来各行业中将得到广泛的实际应用。因此现阶段研究基于 QUBO 模型的量子专用算法十分有应用价值。例如典型的图着色、旅行商问题、车辆路径优化问题等, 都可以转化为 QUBO 模型并借助于量子计算机求解。/n/n相关的 QUBO 的转化方法与例子可参考附件 2 中的参考文献。/n/n赛题说明 3 :赛题数据/n/n附件 1 中共包含 100 张信用评分卡,每张卡可设置 10 种阈值之一,并对应各自的通过率与坏账率共 200 列,其中 't_1' 代表信用评分卡 1 的通过率共 10 项,'h_1' 代表信用评分卡 1 的坏账率共 10 项,依次类推 't_100' 代表信用评分卡 100 的通过率,'h_100' 代表信用评分卡 100 的坏账率。/n/n根据上面的赛题说明及附件 1 中的数据,请你们团队通过建立数学模型完成如下问题 1 至问题 3。/n/n问题 3:从所给附录中 100 个信用评分卡中任选取 3 种信用评分卡,并设置合理的阈值,使得最终收入最多,请针对该问题进行建模,并将模型转为 QUBO 形式并求解。/n/n内容:/n/n问题一:建立数学模型/n/n定义变量:/n/n设 $x_i$ 表示选择第 $i$ 张信用评分卡,即 $x_i=1$ 表示选择,$x_i=0$ 表示不选择,$y_i$ 表示第 $i$ 张信用评分卡选择的阈值,$y_i/in/{1,2,/cdots,10/}$。/n/n目标函数:/n/n银行的最终收入为贷款利息收入减去坏账损失,即/n/n$$//text{最终收入}=//text{贷款利息收入}-//text{坏账损失}$$/n/n其中,贷款利息收入为 $1000000//times0.08$ 元,坏账损失为 $1000000//times//text{总通过率}//times//text{总坏账率}$ 元。/n/n最大化最终收入,即/n/n$$//max//left//{1000000//times0.08//times(1-//frac{1}{3}//sum_{i=1}^{3}h_{k_i,y_i})-1000000//times//frac{1}{3}//sum_{i=1}^{3}t_{k_i,y_i}//times h_{k_i,y_i}//right//}$$/n/n其中 $k_i$ 表示第 $i$ 张信用评分卡的编号。/n/n约束条件:/n/n1.选择的信用评分卡数量为 3 张,即/n/n$$//sum_{i=1}^{100}x_i=3$$/n/n2.每张信用评分卡只能选择一个阈值,即/n/n$$//sum_{j=1}^{10}y_i//times x_i=1,//quad i=1,2,//cdots,100$$/n/n3.每张信用评分卡只能选择一次,即/n/n$$x_i//in//{0,1//},//quad i=1,2,//cdots,100$$/n/n4.阈值必须是整数,即/n/n$$y_i//in//{1,2,//cdots,10//},//quad i=1,2,//cdots,100$$/n/n问题二:将模型转为 QUBO 形式/n/n将目标函数中的常数项去掉,设 $a=//frac{1000000//times0.08}{3}$,$b=1000000$,则目标函数变为/n/n$$//max//left//{a//times(1-//sum_{i=1}^{3}h_{k_i,y_i})-b//times//frac{1}{3}//sum_{i=1}^{3}t_{k_i,y_i}//times h_{k_i,y_i}//right//}$$/n/n将约束条件转化为 QUBO 形式:/n/n1.选择的信用评分卡数量为 3 张,即/n/n$$//left(//sum_{i=1}^{100}x_i-3//right)^2$$/n/n2.每张信用评分卡只能选择一个阈值,即/n/n$$//sum_{j=1}^{10}y_i//times x_i=1-//frac{1}{2}//left(//sum_{j=1}^{10}y_i//times x_i-1//right)^2,//quad i=1,2,//cdots,100$$/n/n3.每张信用评分卡只能选择一次,即/n/n$$x_i^2-x_i,//quad i=1,2,//cdots,100$$/n/n4.阈值必须是整数,即/n/n$$(y_i-1)^2-(y_i-1),//quad i=1,2,//cdots,100$$/n/n将目标函数转化为 QUBO 形式:/n/n$$//begin{aligned}/n&//max//left//{a//times(1-//sum_{i=1}^{3}h_{k_i,y_i})-b//times//frac{1}{3}//sum_{i=1}^{3}t_{k_i,y_i}//times h_{k_i,y_i}//right//}///n=&-a//sum_{i=1}^{3}h_{k_i,y_i}+//frac{b}{3}//sum_{i=1}^{3}t_{k_i,y_i}//times h_{k_i,y_i}+c/n//end{aligned}$$/n/n其中 $c$ 为常数,不影响最优解的求解。将目标函数转化为 QUBO 形式,需要将其转化为二次型的形式,即/n/n$$//begin{aligned}/n&-a//sum_{i=1}^{3}h_{k_i,y_i}+//frac{b}{3}//sum_{i=1}^{3}t_{k_i,y_i}//times h_{k_i,y_i}/////n=&-a//sum_{i=1}^{3}//sum_{j=1}^{10}h_{k_i,j}//times x_i+//frac{b}{3}//sum_{i=1}^{3}//sum_{j=1}^{10}t_{k_i,j}//times h_{k_i,j}//times x_i/////n=&-a//sum_{i=1}^{3}//sum_{j=1}^{10}//sum_{k=1}^{3}//sum_{l=1}^{10}h_{k_i,j}//times h_{k,l}//times x_i//times x_k/////n&+//frac{b}{3}//sum_{i=1}^{3}//sum_{j=1}^{10}//sum_{k=1}^{3}//sum_{l=1}^{10}t_{k_i,j}//times h_{k,l}//times x_i//times x_k/////n=&-//sum_{i=1}^{3}//sum_{j=1}^{10}//sum_{k=1}^{3}//sum_{l=1}^{10}(ah_{k_i,j}//times h_{k,l}-//frac{b}{3}t_{k_i,j}//times h_{k,l})//times x_i//times x_k/////n=&//sum_{i=1}^{3}//sum_{j=1}^{10}//sum_{k=1}^{3}//sum_{l=1}^{10}(b//times t_{k_i,j}-3a)//times h_{k_i,j}//times h_{k,l}//times x_i//times x_k/////n//end{aligned}$$/n/n因此,QUBO 模型的目标函数为/n/n$$//min//left//{-//sum_{i=1}^{3}//sum_{j=1}^{10}//sum_{k=1}^{3}//sum_{l=1}^{10}(b//times t_{k_i,j}-3a)//times h_{k_i,j}//times h_{k,l}//times x_i//times x_k//right//}$$/n/n问题三:求解最优解/n/n将 QUBO 模型输入量子计算机,求解最小能量对应的 $x_i$ 和 $y_i$ 的取值,即为最优解。/n
原文地址: https://www.cveoy.top/t/topic/nq0P 著作权归作者所有。请勿转载和采集!