Main Content

Optimization Toolbox 솔버

Optimization Toolbox™ 솔버는 다음 네 가지의 일반적인 범주로 그룹화됩니다.

  • 최소화 함수

    이 그룹의 솔버는 시작점 x0 가까이에서 목적 함수의 국소 최솟값을 구하려고 시도합니다. 이러한 솔버는 제약 조건이 없는 최적화, 선형 계획법, 2차 계획법, 원뿔 계획법 및 일반적인 비선형 계획법의 문제를 해결합니다.

  • 다중 목적 함수의 최소화 함수

    이 그룹의 솔버는 여러 함수들의 최댓값을 최소화하거나(fminimax), 여러 함수들이 일부 지정된 값보다 아래에 있는 위치를 구하려고(fgoalattain) 시도합니다.

  • 방정식 솔버

    이 그룹의 솔버는 시작점 x0 가까이에서 스칼라 값 또는 벡터 값 비선형 방정식 f(x) = 0에 대한 해를 구하려고 시도합니다. 방정식 풀이는 x0 가까이에서 f(x)의 최소 노름을 구하는 것과 같으므로 최적화 형식으로 간주할 수 있습니다.

  • 최소제곱(곡선 피팅) 솔버

    이 그룹의 솔버는 제곱합을 최소화하려고 시도합니다. 이 유형의 문제는 모델을 데이터에 피팅할 때 종종 발생합니다. 이러한 솔버는 음이 아닌 해를 구하는 문제, 유계 또는 선형 제약 조건이 있는 해를 구하는 문제, 제약 조건을 완화하기 위해 파라미터화된 비선형 모델을 데이터에 피팅하는 문제를 해결합니다.

자세한 내용은 Optimization Toolbox 함수가 처리하는 문제 항목을 참조하십시오. 최소화를 위한 솔버 선택에 대한 도움말은 최적화 의사 결정표 항목을 참조하십시오.

최소화 함수는 최적화 문제를 다음 형식으로 정식화합니다.

minxf(x),

제약 조건이 적용될 수 있습니다. f(x)목적 함수라고 합니다. 일반적으로, f(x)double형의 스칼라 함수이고 x는 double형의 벡터 또는 스칼라입니다. 그러나 다중 목적 함수 최적화, 방정식 풀이 및 일부 제곱합 최소화 함수는 double형의 벡터 또는 행렬 목적 함수 F(x)를 가질 수 있습니다. 최소화가 아닌 최대화를 위해 Optimization Toolbox 솔버를 사용하려면 목적 함수 최대화하기 항목을 참조하십시오.

솔버의 목적 함수를 함수 파일 형식 또는 익명 함수 핸들의 형식으로 작성하십시오. 여러 솔버에 기울기 ∇f(x)를 제공할 수 있으며, 일부 솔버에는 헤세 행렬을 제공할 수 있습니다. 목적 함수 작성하기 항목을 참조하십시오. 제약 조건은 제약 조건 작성하기에 설명된 대로 특별한 형식을 가집니다.