Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Restricciones lineales

¿Qué son las restricciones lineales?

Varios solvers de optimización aceptan restricciones lineales, que son restricciones en la solución x para satisfacer igualdades o desigualdades lineales. Los solvers que aceptan restricciones lineales incluyen fmincon, intlinprog, linprog, lsqlin, quadprog, solvers multiobjetivo y algunos solvers de Global Optimization Toolbox.

Restricciones de desigualdad lineales

Las restricciones de desigualdad lineales tienen el formato A·x ≤ b. Cuando A es m por n, hay m restricciones en una variable x con n componentes. Usted proporciona la matriz A de m por n y el vector b de m componentes.

Pase las restricciones de desigualdad lineales en los argumentos A y b.

Por ejemplo, suponga que tiene las siguientes desigualdades lineales como restricciones:

x1 + x3 ≤ 4,
2x2x3 ≥ –2,
x1x2 + x3x4 ≥ 9.

Aquí, m = 3 y n = 4.

Escriba estas restricciones utilizando la siguiente matriz A y el vector b:

A=[101002101111],b=[429].

Observe que las desigualdades "mayor que" se multiplican primero por –1 para ponerlas en formato de desigualdad "menor que". En sintaxis de MATLAB®:

A = [1 0 1 0;
    0 -2 1 0;
    -1 1 -1 1];
b = [4;2;-9];

No es necesario proporcionar gradientes para restricciones lineales; los solvers los calculan automáticamente. Las restricciones lineales no afectan a las matrices hessianas.

Incluso si pasa un punto inicial x0 como una matriz, los solvers pasan el punto actual x como un vector columna a restricciones lineales. Consulte Argumentos de matriz.

Para ver un ejemplo de restricciones lineales más complejo, consulte Set Up a Linear Program, Solver-Based.

Las iteraciones intermedias pueden vulnerar las restricciones lineales. Consulte Las iteraciones pueden vulnerar las restricciones.

Restricciones de igualdad lineales

Las restricciones de igualdad lineales tienen el formato Aeq·x = beq, que representa m ecuaciones con vector x de n componentes. Usted proporciona la matriz Aeq de m por n y el vector beq de m componentes.

Pase las restricciones de desigualdad lineales en los argumentos Aeq y beq de la misma forma que se describe para los argumentos A y b en Restricciones de desigualdad lineales.

Temas relacionados