이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

선형 제약 조건

선형 제약 조건이란?

여러 최적화 솔버가 선형 제약 조건을 허용합니다. 선형 제약 조건은 선형 등식 또는 선형 부등식을 충족하도록 해 x에 적용되는 제한 사항입니다. 선형 제약 조건을 허용하는 솔버에는 fmincon, intlinprog, linprog, lsqlin, quadprog, 다중 목적 함수 솔버 및 몇몇 Global Optimization Toolbox 솔버가 포함됩니다.

선형 부등식 제약 조건

선형 부등식 제약 조건은 A·x ≤ b 형식입니다. A가 mxn이면 n개의 성분을 갖는 변수 x에 m개의 제약 조건이 있습니다. 사용자는 mxn 행렬 A와 m개의 성분으로 구성된 벡터 b를 제공합니다.

선형 부등식 제약 조건을 A 인수 및 b 인수로 전달합니다.

예를 들어, 다음과 같은 선형 부등식을 제약 조건으로 갖는다고 가정하겠습니다.

x1 + x3 ≤ 4,
2x2 – x3 ≥ –2,
x1 – x2 + x3 – x4 ≥ 9.

여기에서 m = 3이고 n = 4입니다.

제약 조건을 아래와 같은 행렬 A와 벡터 b를 사용하여 작성합니다.

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

"보다 큼" 부등식을 "보다 작음" 부등식 형식으로 변환하기 위해 먼저 "보다 큼" 부등식에 –1을 곱했습니다. MATLAB® 구문에서는 다음과 같습니다.

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

선형 제약 조건에 대해 기울기를 지정할 필요가 없습니다. 솔버가 기울기를 자동으로 계산합니다. 선형 제약 조건은 헤세 행렬에는 영향을 주지 않습니다.

사용자가 초기점 x0을 행렬로 전달하더라도 솔버는 현재 점 x를 열 벡터로서 선형 제약 조건에 전달합니다. 행렬 인수 항목을 참조하십시오.

선형 제약 조건의 더 복잡한 예를 보려면 선형 계획 설정하기, 솔버 기반 항목을 참조하십시오.

중간 반복이 선형 제약 조건을 위반할 수 있습니다. Iterations Can Violate Constraints 항목을 참조하십시오.

선형 등식 제약 조건

선형 등식은 Aeq·x = beq 형식입니다. 이는 n개의 성분으로 구성된 벡터 x에 대한 m개의 방정식을 나타냅니다. 사용자는 mxn 행렬 Aeq와 m개의 성분으로 구성된 벡터 beq를 제공합니다.

선형 부등식 제약 조건에서 Ab 인수에 대해 설명된 것과 같은 방식으로, 선형 등식 제약 조건을 Aeq 인수 및 beq 인수로 전달합니다.

관련 항목