QAP问题介绍

474 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第14天,点击查看活动详情

QAP问题--计算式转化成多项式

我们首先介绍一下拉格朗日插值法的具体概念

拉格朗日插值法

  1. 拉格朗日插值法:即对于一些给定的点,我们可以找到一个式子将这几个点穿起来,也就是说,找到一个同时经过这些点的函数
  2. 接下来是对拉格朗日函数的描述:
微信图片_20221209165219.jpg 以上是本人对拉格朗日插值法的简要介绍,接下来通过示例来介绍一下QAP问题的具体形式:

示例:

此示例引自whrunningduck的博客

1.png

2.png 以上四个等式可以作为列出矩阵的依据

3.png

  1. 在等式sym_3=sym_2+sym_1中,因为要将算式表示为s.a=s.bs.c的形式,当仅s.b就能表达这个等式时,为了凑满s.bs.c,就用~one来补充s.c
    • 即(s.c=[~one,x,~out,sym_1,sym_2,sym_3].[1,0,0,0,0,0])
  2. 再将以上提到的四个等式分别写成s.a=s.b*s.c的形式,此时,就获得了3个4行6列的矩阵A,B,C(分别由四个等式的a,b,c组合构成)

4.png

  1. 此处可以理解为一个多项式p(x)可以被分解成h(x)*z(x)的形式 , 即p(x)=h(x)z(x),z(x)作为目标多项式,由p(x)的部分解构成,例如p(x)的解是x0,x1....xi,那么z(x)=(x-x0)(x-x1)...(x-xj),j<=i。