optimconstr
Crear un arreglo de restricciones de optimización vacío
Sintaxis
Descripción
Utilice optimconstr
para inicializar un conjunto de expresiones de restricción.
Sugerencia
Para ver el flujo de trabajo completo, consulte Flujo de trabajo de optimización basada en problemas.
crea un arreglo de restricciones de optimización vacías que están indexadas por constr
= optimconstr(cstr
)cstr
, un arreglo de celdas de vectores de caracteres o vectores de cadenas.
Si cstr
es ncstr
, donde ncstr
es el número de elementos de cstr
, constr
también es 1 por ncstr
. De lo contrario, constr
es ncstr
por 1.
o constr
= optimconstr(cstr
1,N
2,...,cstr
k)
o constr
= optimconstr({cstr
1,cstr
2,...,cstr
k})
, para cualquier combinación de los argumentos constr
= optimconstr([N
1,N
2,...,N
k])cstr
y N
, crea un arreglo de ncstr
1 por N
2 por ... por ncstr
k de restricciones de optimización vacías, donde ncstr
es el número de elementos de cstr
.
Ejemplos
Argumentos de entrada
Argumentos de salida
Limitaciones
Cada expresión de restricción en un problema debe utilizar la misma comparación. Por ejemplo, el siguiente código genera un error, dado que
cons1
utiliza la comparación<=
,cons2
utiliza la comparación>=
, ycons1
ycons2
están en la misma expresión.prob = optimproblem; x = optimvar('x',2,'LowerBound',0); cons1 = x(1) + x(2) <= 10; cons2 = 3*x(1) + 4*x(2) >= 2; prob.Constraints = [cons1;cons2]; % This line throws an error
Puede evitar este error utilizando expresiones separadas para las restricciones.
prob.Constraints.cons1 = cons1; prob.Constraints.cons2 = cons2;
Sugerencias
Por lo general, es más eficiente crear restricciones mediante expresiones vectorizadas que mediante bucles. Consulte Create Efficient Optimization Problems.
Puede usar
optimineq
en lugar deoptimconstr
para crear expresiones de desigualdad. De forma similar, puede usaroptimeq
en lugar deoptimconstr
para crear expresiones de igualdad.
Historial de versiones
Introducido en R2017b