【发布时间】:2019-04-04 05:42:22
【问题描述】:
我正在尝试在 matlab 中使用 CPLEX (cplexqp) 解决一个大的二次优化问题。不幸的是,H 矩阵(或某些来源称之为 Q 矩阵)本质上是非凸的,因此我想将最优目标从 0(默认)设置为 3,以告诉 CPLEX 在发现 Q 是非凸的时不要终止.但是,我不确定如何执行此操作。我试图阅读手册和说明,他们都只是说设置最优目标 = 2 或 3,而没有任何实际示例或有关如何执行此操作的一般命令。我尝试在选项中执行此操作,但收到 CPLEX 无法识别 'optimalitytarget' 的错误。
options = cplexoptimset('Display','on','TolFun',0.0000001,'TolRLPFun',0.0000001,'MaxNodes',50000,'MaxIter',50000, 'optimalitytarget',3);
我也试过了:
Cplex = cplexoptimset('cplex')
Cplex.Param.optimalitytarget = 3;
没有任何成功。我知道 API 是 Cplex.Param.optimalitytarget 但我似乎无法弄清楚在哪里设置它。
抱歉,这是一个微不足道或愚蠢的问题。我觉得这是一件非常简单的事情,要么你知道,要么你不知道,我不知道该怎么做。非常感谢您对此提供任何帮助或建议。
【问题讨论】:
-
您使用哪个 cplex 版本? (优化目标:原解决方案目标参数的新名称)
-
我使用的是 12.7 版本。
标签: matlab optimization cplex