Использование оптимизирует задачу Live Editor эффективно

Организуйте задачу эффективно

Поместите Оптимизировать задачу Live Editor в live скрипт с разделом выше и двумя или больше разделами ниже задачи. Чтобы открыть Оптимизировать задачу в Live Editor, кликните по вкладке Insert и затем выберите Task > Optimize. Используйте кнопку Section Break на вкладке Insert, чтобы вставить новый раздел.

Live Script with section for data on top, then Optimize Live Editor task, then section for output, then section for functions.

По умолчанию кнопка Output on right нажимается справа от окна задачи.

Output on right button

Этот выбор помещает выход справа от задачи. Чтобы поместить выход ниже задачи, нажмите кнопку Output inline.

Output inline button

  • Выше задачи включайте раздел для данных, в которых вы нуждаетесь для оптимизации. Например, начальная точка x0, любые ограничительные матрицы, такие как Aeq или beq, и дополнительные параметры для объективных или нелинейных ограничительных функций принадлежат раздела выше задачи. Данные должны быть включены в раздел выше задачи так, чтобы можно было запустить целый скрипт успешно, например, после сохранения и перезагрузки его. Загрузки данных в рабочую область перед скриптом должны получить доступ к нему.

  • Поместите выходные параметры задачи в разделе ниже задачи. Например, отобразите solution и objectiveValue выходные параметры в этом разделе, после того, как задача пишет им в рабочую область. Можно включать несколько разделов ниже задачи просмотреть и работать с результатами задачи.

  • Итоговый раздел содержит любые локальные функции для проблемы. Локальные функции должны быть включены в конце live скрипта. Однако, если у вас есть функции, к которым вы получаете доступ больше чем из одного скрипта, включая их как отдельные файлы на MATLAB® путь может быть более удобным.

Поместите переменные оптимизации в один вектор и данные в других переменных

Оптимизируйте фронтэнд для основанного на решателе решения оптимизации и уравнения. По сути, это требует, чтобы все переменные были помещены в один вектор, как зарегистрировано в запись Скалярных Целевых функций. Например, предположите, что ваша целевая функция

f(x,y,z,w)=(x2+y4)exp((z/(1+x2))wexp(z).

В этом примере переменные x и z являются переменными оптимизации, и переменные y и w являются зафиксированными данными. Можно представлять функцию в разделе ниже Оптимизировать задачи можно следующим образом.

function f = myfun(vars,y,w)
x = vars(1);
z = vars(2);
f = (x^2 + y^4)*exp(-z/(1 + x^2))*w*exp(-z);
end

Задайте значения переменных y и w в разделе выше задачи.

y = log(pi);
w = 2/3;

Запустите раздел выше задачи путем нажатия Ctrl+Enter, чтобы поместить y и w в рабочую область. Затем выберите соответствующие входные параметры в разделе Select problem data задачи.

Optimization input = vars, Fixed input y = y, Fixed input w = w.

Задайте проблемный тип, чтобы получить рекомендуемый решатель

Раздел Specify problem type задачи обеспечивает кнопки для выбора типа целевой функции и типов ограничения. После того, как вы выберете эти элементы, Оптимизируете, сокращает количество доступных решателей и показывает один решатель, как рекомендуется. Например, для проблемы с наименьшие квадраты объективные и верхние и нижние границы, Оптимизируйте, показывает что lsqnonlin решатель рекомендуется.

Least squares objective, lower and upper bounds leads to lsqnonlin as recommended

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

Способы запустить задачу

Можно запустить Оптимизировать задачу Live Editor в различных способах:

  • Кликните по кнопке опций в правом верхнем из окна задачи и выберите Run Section.

    Run section from menu

  • Щелкните в задаче и затем нажмите Ctrl+Enter.

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

    Autorun section

  • Запустите раздел, содержащий задачу путем нажатия на чередуемую панель слева от задачи.

    Striped bar to the left of the task

  • Запустите целый live скрипт от вкладки Live Editor путем нажатия кнопки Run, или путем нажатия F5.

    Run button

Просмотрите прогресс решателя

Задача Live Editor позволяет вам контролировать прогресс решателя легко. Чтобы гарантировать, что решатель выполняет правильно, просмотрите, по крайней мере, график значения целевой функции. Кроме того, при помощи функции построения графика можно остановить решатель, не теряя данных.

Plot the objective value

Просмотрите эквивалентный код

Оптимизируйте внутренне создает код, чтобы совпадать с визуальными выборами. Можно просмотреть код путем нажатия на кнопку опций и выбора Controls and Code или Code Only.

Selecting Controls and Code

Код появляется ниже задачи.

lsqnonlin options and run syntax

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

Чтобы преобразовать задачу от визуального интерфейса до применимого кода, выберите Convert Task to Editable Code. Этот выбор удаляет визуальный интерфейс Optimize и позволяет вам продолжать с помощью кода.

Convert task menu item

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

Похожие темы