我已经在IBM ILOG CPLEX Optimization Studio中实现了我的问题。
现在,我想将目标函数修改为二次函数并解决问题。但是,它显示出错误5002:目标不是凸的。->问题可以通过求解目标3->求解为全局最优。
我已经阅读了用户指南和手册以及stackoverflow中的不同主题,我相信版本12.8可以解决混合整数二次问题。
modify my objective from this
dexpr float overallcost[f in cars] = holdingTime[f];
to this
dexpr float overallcost[f in cars] = holdTime[f]*holdTime[f];
错误5002:目标不是凸的。->问题可以通过求解目标3->求解为全局最优。
答案 0 :(得分:3)
根据错误消息的建议,您应尝试将解决方案目标参数设置为3,以强制CPLEX求解模型。
有关详细信息,请参见this chapter of the user manual,here是相应参数的文档。
要在IDE中设置此参数,请在您的项目中创建/添加设置文件,然后转到
Mathematical Programming
-> General
-> Type of solution to compute
并选择“全局最优解”。
答案 1 :(得分:1)
请参见
为了设置该参数以解决二次目标
您可以在模型中添加
execute
{
cplex.optimalitytarget=3;
}
致谢