利用CVX和gurobi这个求解器复现一篇混合整数线性规划问题时遇到的问题
1.当出现从cvx 转换为double 时出现错误:

我的代码如下:

其中cvx中的变量的定义部分为:

可以看到,我这里定义的是K为binary 型的变量,但是由于在cvx中,我对K_colomn_D1这一个矩阵进行了初始化的操作,此时的K_colomn_D1是double型,在进行赋值的时候,就会出现数据类型不一样的情况,导致出现错误。
改正:
如下图,去掉这一行,就可以正常运行程序了

添加:
在看CVX Users’ Guide的时候,看到了官方针对这个问题的具体解释:


在尝试使用CVX和gurobi求解器复现混合整数线性规划问题时,遇到了从cvx转换到double类型的错误。问题源于将一个binary变量K与double型矩阵K_column_D1进行赋值,导致数据类型不匹配的错误。解决方案是删除初始化double型矩阵的代码行,遵循CVX Users’ Guide中的建议,从而避免数据类型冲突,使程序能够正常运行。
最低0.47元/天 解锁文章
1万+

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



