주요 콘텐츠

Optimization Toolbox 함수가 처리하는 문제

다음 표에서는 최소화, 다중 목적 함수 최적화, 방정식 풀이, 최소제곱 (모델 피팅) 문제 풀이에 사용할 수 있는 함수를 보여줍니다.

최소화 문제

유형정식화솔버

스칼라 최소화

minxf(x)

이때 lb < x < ub 조건을 충족해야 합니다(x는 스칼라임).

fminbnd

제약 조건이 없는 최소화

minxf(x)

fminunc,
fminsearch

선형 계획법

minxfTx

이때 A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다.

linprog

혼합 정수 선형 계획법

minxfTx

이때 A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다(x(intcon)은 정수 값임)

intlinprog

2차 계획법

minx12xTHx+cTx

이때 A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다.

quadprog

원뿔 계획법

minxfTx

이때 AxbdTxγ, A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다.

coneprog

제약 조건이 있는 최소화

minxf(x)

이때 c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다.

fmincon

반무한 제약 조건이 있는 최소화

minxf(x)

이때 K(x,w) ≤ 0 for all w, c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다.

fseminf

다중 목적 함수 최적화 문제

유형정식화솔버

목표 달성

minx,γγ

이때 F(x) – w·γ ≤ goal, c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다.

fgoalattain

최대최소화

minxmaxiFi(x)

이때 c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub 조건을 충족해야 합니다.

fminimax

방정식 풀이 문제

유형정식화솔버

선형 방정식

C·x = d, n개의 방정식, n개의 변수

mldivide(행렬 왼쪽 나눗셈)

변수가 하나인 비선형 방정식

f(x) = 0

fzero

비선형 방정식

F(x) = 0, n개의 방정식, n개의 변수

fsolve

최소제곱 (모델 피팅) 문제

유형정식화솔버

선형 최소제곱

minx12Cxd22

m개의 방정식, n개의 변수

mldivide(행렬 왼쪽 나눗셈)

음이 아닌 선형 최소제곱

minx12Cxd22

이때 x ≥ 0 조건을 충족해야 합니다.

lsqnonneg

제약 조건이 있는 선형 최소제곱

minx12Cxd22

이때 A·xb, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다.

lsqlin

비선형 최소제곱

minxF(x)22=minxiFi2(x)

이때 lb ≤ x ≤ ub 조건을 충족해야 합니다.

lsqnonlin

비선형 곡선 피팅

minxF(x,xdata)ydata22

이때 lb ≤ x ≤ ub 조건을 충족해야 합니다.


lsqcurvefit

Optimization Toolbox™ 솔버는 매끄러운 문제에 적용됩니다. 이는 목적 함수와 비선형 제약 조건 함수를 적어도 두 번 연속해서 미분 가능해야 함을 의미합니다. 경우에 따라 Optimization Toolbox 솔버는 매끄럽지 않은 함수에서도 작동하므로, 어떤 문제에든 자유롭게 사용해 보십시오. 기본 MATLAB® 최적화 솔버인 fminbnd, fminsearch, fzero는 매끄러움 요구 사항을 갖지 않으며, 대부분의 Global Optimization Toolbox 솔버도 매끄러움 요구 사항을 갖지 않습니다.

참고 항목

도움말 항목