Optimization Toolbox 함수가 처리하는 문제
다음 표에서는 최소화, 다중 목적 함수 최적화, 방정식 풀이, 최소제곱 (모델 피팅) 문제 풀이에 사용할 수 있는 함수를 보여줍니다.
최소화 문제
유형 | 정식화 | 솔버 |
---|---|---|
스칼라 최소화 |
이때 lb < x < ub 조건을 충족해야 합니다(x는 스칼라임). | fminbnd |
제약 조건이 없는 최소화 |
| |
선형 계획법 |
이때 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. | |
혼합 정수 선형 계획법 |
이때 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다(x(intcon)은 정수 값임) | |
2차 계획법 |
이때 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. | |
원뿔 계획법 |
이때 , A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. | |
제약 조건이 있는 최소화 |
이때 c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. | |
반무한 제약 조건이 있는 최소화 |
이때 K(x,w) ≤ 0 for all w, c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. |
다중 목적 함수 최적화 문제
유형 | 정식화 | 솔버 |
---|---|---|
목표 달성 |
이때 F(x) – w·γ ≤ goal, c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. | |
최대최소화 |
이때 c(x) ≤ 0, ceq(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. |
방정식 풀이 문제
최소제곱 (모델 피팅) 문제
유형 | 정식화 | 솔버 |
---|---|---|
선형 최소제곱 |
m개의 방정식, n개의 변수 |
|
음이 아닌 선형 최소제곱 |
이때 x ≥ 0 조건을 충족해야 합니다. | |
제약 조건이 있는 선형 최소제곱 |
이때 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub 조건을 충족해야 합니다. | |
비선형 최소제곱 |
이때 lb ≤ x ≤ ub 조건을 충족해야 합니다. | |
비선형 곡선 피팅 |
이때 lb ≤ x ≤ ub 조건을 충족해야 합니다. |
Optimization Toolbox™ 솔버는 매끄러운 문제에 적용됩니다. 이는 목적 함수와 비선형 제약 조건 함수를 적어도 두 번 연속해서 미분 가능해야 함을 의미합니다. 경우에 따라 Optimization Toolbox 솔버는 매끄럽지 않은 함수에서도 작동하므로, 어떤 문제에든 자유롭게 사용해 보십시오. 기본 MATLAB® 최적화 솔버인 fminbnd
, fminsearch
, fzero
는 매끄러움 요구 사항을 갖지 않으며, 대부분의 Global Optimization Toolbox 솔버도 매끄러움 요구 사항을 갖지 않습니다.