optimwarmstart

Создайте объект горячего запуска

Описание

пример

ws = optimwarmstart(x0,options) создает объект ws горячего запуска для использования с решателем, обозначенным в options. Для примера с помощью объекта горячего запуска смотрите Горячий запуск quadprog.

пример

ws = optimwarmstart(x0,options,Name,Value) включает границы памяти в ws использование аргументов name-value. Используйте границы памяти только при генерации кода.

Примеры

свернуть все

Создайте объект горячего запуска по умолчанию для quadprog.

x0 = [1 3 5];
options = optimoptions('quadprog','Algorithm','active-set');
ws = optimwarmstart(x0,options)
ws = 

  QuadprogWarmStart with properties:

          X: [3×1 double]
    Options: [1×1 optim.options.Quadprog]

    Code generation limitations

Создайте lsqlin объект горячего запуска для генерации кода с пределами памяти.

x0 = [1 3 5];
options = optimoptions('lsqlin','Algorithm','active-set');
ws = optimwarmstart(x0,options,...
    'MaxLinearEqualities',30,...
    'MaxLinearInequalities',5)

ws = LsqlinWarmStart with properties X and Options and a link "Code generation limitations"

Нажмите Code generation limitations соединитесь, чтобы видеть настройки памяти.

  MaxLinearEqualities: 30 
MaxLinearInequalities: 5 

Входные параметры

свернуть все

Начальная точка в виде действительного массива. Эта точка хранится в ws.X.

Пример: 10*rand(5,1)

Типы данных: double

Опции оптимизации в виде выхода optimoptions. Необходимо задать, по крайней мере, поддерживаемый решатель, также lsqlin или quadprog, и 'active-set' для и Algorithm опция. Например, введите следующий код, чтобы задать quadprog решатель.

options = optimoptions('quadprog','Algorithm','active-set');

Эти опции хранятся в ws.Options.

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: ws = optimwarmstart(x0,options,'MaxLinearEqualities',30,'MaxLinearInequalities',5) задает до 30 линейных равенств и 5 линейных неравенств.

Максимальное количество линейных ограничений равенства в виде положительного целого числа. Чтобы выделить достаточно памяти для ограничений равенства, задайте максимальное количество ограничений равенства во время целого запуска кода.

Используйте этот аргумент только для генерации кода без динамического выделения памяти. Необходимо использовать и этот аргумент и 'MaxLinearInequalities'.

Значение этого аргумента хранится в ws.MaxLinearEqualities.

Пример: 25

Типы данных: double

Максимальное количество линейных ограничений неравенства в виде положительного целого числа. Чтобы выделить достаточно памяти для ограничений неравенства, задайте максимальное количество ограничений неравенства во время целого запуска кода.

Используйте этот аргумент только для генерации кода без динамического выделения памяти. Необходимо использовать и этот аргумент и 'MaxLinearEqualities'.

Значение этого аргумента хранится в ws.MaxLinearInequalities.

Пример: 25

Типы данных: double

Выходные аргументы

свернуть все

Объект горячего запуска, возвращенный как LsqlinWarmStart возразите или QuadprogWarmStart объект. Для примера с помощью объекта горячего запуска смотрите Горячий запуск quadprog.

ws имеет следующие свойства только для чтения:

  • X — Начальная точка

  • Options — Опции оптимизации

  • MaxLinearEqualities — Максимальное количество линейных равенств для генерации кода

  • MaxLinearInequalities — Максимальное количество линейных неравенств для генерации кода

Изменить любые свойства ws, воссоздайте объект путем вызова optimwarmstart.

Алгоритмы

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

Расширенные возможности

Введенный в R2021a