Целочисленные ограничения в нелинейной основанной на проблеме оптимизации

Чтобы решить нелинейную задачу оптимизации с целочисленными ограничениями с помощью подхода, основанного на проблеме, следуйте за одним из этих процессов:

Решатель по умолчанию для нелинейных проблем с целочисленными ограничениями ga. У вас должна быть лицензия Global Optimization Toolbox на solve функция, чтобы решить задачу с помощью также ga или surrogateopt.

Когда вы используете внешний решатель и вызов prob2struct, вы можете должны быть задать Solver аргумент значения имени.

Примечание

Для нелинейной проблемы с целочисленными ограничениями, если у вас нет лицензии Global Optimization Toolbox, необходимо включать Solver аргумент.

Даже если у вас есть лицензия Global Optimization Toolbox, вы все еще можете должны быть задать Solver аргумент значения имени. Внешний решатель может ожидать, что структура задачи будет в форме, которая соответствует конкретному решателю. Например, для проблемы с линейными и целочисленными ограничениями и квадратичной целевой функцией, внешний решатель может потребовать, чтобы целевая функция была описана как матрицы H и f в выражении ½xTHx + fTx. Чтобы получить эти матрицы, задайте 'quadprog' решатель при помощи Solver аргумент значения имени.

problem = prob2struct(prob,"Solver","quadprog");

Если вы не задаете quadprog решатель, получившаяся структура задачи может содержать указатель на функцию для целевой функции, а не матриц. В любом случае получившаяся структура задачи содержит целочисленные переменные в intcon поле .

Примечание

Для нелинейной проблемы с целочисленными ограничениями, когда вы задаете решатель, который не обрабатывает целочисленные ограничения, prob2struct выдает предупреждение, что решатель не может решить получившуюся структуру. Если вы затем пытаетесь решить задачу путем вызова решателя на структуре задачи, решатель игнорирует целочисленные ограничения. В этом случае решение не является решением исходной проблемы, но является вместо этого решением проблемы без целочисленных ограничений.

Смотрите также

|