Main Content

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 Iterations Can Violate Constraints.

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