【发布时间】:2021-01-31 12:43:58
【问题描述】:
我对 CPLEX Optimization Studio 有疑问。我想解决以下二次约束问题,但我得到'CPLEX Error 5002:'qconstraint1' is not convex.->'。最初我认为这是因为优化目标没有自动设置为 3,但即使我明确设置,错误仍然存在。一个有趣的事实是,这个问题在 AMPL 或 MATLAB 环境中都能正常解决。
我该如何解决这个问题?
/*********************************************
* OPL 12.10.0.0 Model
* Author: johnm
* Creation Date: Oct 16, 2020 at 6:29:33 PM
*********************************************/
execute{
cplex.optimalitytarget=3;
}
range R=1..6;
dvar float x[R];
minimize x[1] + x[2] + x[3] + x[4] + x[5] + x[6];
subject to{
constraint1: x[1] + x[2] + x[5] == 8;
constraint2: x[3] + x[5] + x[6] == 10;
qconstraint1: -x[1]^2 + x[2]^2 + x[3]^2 <= 0;
qconstraint2: -x[4]^2 + x[5]^2 <= 0;
bound_x1: x[1] >= 0;
bound_x4: x[4] >= 0;
bound_x6: x[6] >= 0;
}
【问题讨论】: