功能:有约束0-1二次规划求解

格式:
[min, x] = QuadProg01QP(Q, A, b, equ, seed)
[min, x] = QuadProg01QP(Q, A, b, equ)
[min, x] = QuadProg01QP(Q, A, b)
[min, x] = QuadProg01QP(Q, A)

Q:一个n*n的矩阵变量
A:一个m*n的约束矩阵变量
b:一个m*1的约束矩阵变量,为空时,表示全为0
equ:一个m*1的矩阵变量,元素为0表示等式约束,为1表示小于等于约束
seed:初始化值的种子变量

min: 返回的最小值
x  : 返回一个n*1的矩阵变量，表示找到的一个解

说明:
1、本函数主要求解下面这一类QP问题
QP: 求x^TQx 的最小值min, 其中x中的元素只能为0或1，且满足约束 A * x <= b ,这里当equ当中元素为0时，表示A * x对应行的约束为等式约束，否则A * x对应行约束为小于等于约束

2、函数执行成功返回解，否则提示计算失败

例子:
// 求最小值: 4.5 * x1 - 5 * x2 + 6 * x3 + 6.5 * x1 * x2 - 3.6 * x1 * x3，其中x1,x2,x3只能为0或者1
//其中满足如下2个约束:
//(1)x1 + x2 + x3 = 2
//(2)4.5 * x1 + 7 * x2 - 5 * x3 <= 1

//1.下面构建对应矩阵
q = [4.5 6.5 -3.6; 0 -5 0; 0 0 6];//这里注意x1 = x1^2, x2 = x2^2, x3 = x3^2, x1 * x2 = x2 * x1
a = [1 1 1;4.5 7 -5];//约束式左边系数
b = [2,1];//约束式右边常量
c = [1,0];//约束方式，0表示等式约束，1表示小于等于约束
[m,x] = QuadProg01QP(Q, A, b, c)//回车得到如下结果
m =
[ 6.90000000000000 ]
x =
[ 1.00000000000000
  0.00000000000000
  1.00000000000000 ]
