Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Introducción a la tarea Optimize de Live Editor

Este script de ejemplo le ayuda a utilizar la tarea Optimize de Live Editor para realizar optimizaciones o resolver ecuaciones. Modifique el script para su propio problema.

El script resuelve un problema de optimización no lineal con restricciones no lineales.

Incluir parámetros o datos

Habitualmente, tiene datos o valores para pasar al solver. Coloque esos valores en la sección de entrada (donde vea x0) y ejecute la sección seleccionando Section > Run Section (Sección > Ejecutar sección) o pulsando Control+Enter.

Establezca el punto inicial en x0 y escale a para la optimización.

x0 = [2;1];
a = 100;

Coloque el valor x0 y cualquier otro dato del problema en el espacio de trabajo ejecutando esta sección antes de proceder.

Tarea Optimize de Live Editor

Esta tarea tiene incluidas funciones objetivo y funciones de restricción no lineales. Para cambiar estas funciones, edite las listas de funciones debajo de la tarea.

Para cambiar las restricciones, seleccione los tipos de restricciones adecuados e introduzca los valores en los cuadros de entrada. Es posible que necesite introducir valores en la sección que contiene x0 en la parte de arriba y ejecutar la sección para colocar valores en el espacio de trabajo.

Ejecute la tarea haciendo clic en la barra rayada de la izquierda, seleccionando Run (Ejecutar) o Section > Run Section (Sección > Ejecutar sección), o pulsando Control+Enter.

Resultados

Optimize guarda la solución en la variable del espacio de trabajo solution y guarda el valor de la función objetivo en la solución en la variable del espacio de trabajo objectiveValue. Puede consultar y modificar estos nombres de variables en la parte superior de la tarea Optimize.

Visualice estas variables.

Visualice los valores de la función de restricción no lineal en la solución.

Funciones auxiliares — Funciones locales

El siguiente código crea la función objetivo. Modifique este código para su problema.

function f = objectiveFcn(x,a)
f = a*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
end

El siguiente código crea la función de restricción. Modifique este código para su problema.

function [c,ceq] = constraintFcn(x)
c(1) = x(1)^2 + x(2)^2 - 5;
c(2) = 3 - x(1)^2 - x(2)^2;
ceq = [];  % No equality constraints
end

Consulte también

Temas relacionados