Я пытаюсь решить большую проблему квадратичной оптимизации, используя CPLEX (cplexqp) в matlab. К сожалению, матрица H (или матрица Q, как ее называют некоторые источники) не является выпуклой по своей природе, и поэтому я хочу установить целевое значение оптимальности от 0 (по умолчанию) до 3, чтобы указывать CPLEX не прекращать работу при обнаружении невыпуклых Q , Однако я не уверен, как это сделать. Я пытался прочитать руководства и инструкции, и все они просто сказали установить оптимальность цели = 2 или 3 без каких-либо реальных примеров или общей команды о том, как это сделать. Я попытался сделать это в настройках, но получил сообщение об ошибке, что CPLEX не распознает 'optimitytarget'.
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
, но я не могу понять, где это установить.
Извините, если это тривиальный или тупой вопрос. Я чувствую, что это одна из вещей, которые очень просты, и вы либо знаете, либо не знаете, и я не знаю, как это сделать. Буду очень признателен за любую помощь или совет по этому поводу.