optimwarmstart

Создайте теплый стартовый объект

Описание

пример

ws = optimwarmstart(x0,options) создает объект теплого старта ws для использования с решателем, указанным в options. Пример использования объекта теплого старта см. в разделе Квадрог теплого старта.

пример

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

Примеры

свернуть все

Создайте объект теплого старта по умолчанию для 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 должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке 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 объект. Пример использования объекта теплого старта см. в разделе Квадрог теплого старта.

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

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

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

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

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

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

Алгоритмы

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

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

.
Введенный в R2021a