최적화 의사 결정표
다음 표는 솔버를 선택하는 데 도움을 주기 위해 설계되었습니다. 다중 목적 함수 최적화 또는 방정식 풀이를 다루지는 않습니다. Optimization Toolbox 함수가 처리하는 문제에 모든 솔버에 대한 더 자세한 내용이 나와 있습니다.
표 설명:
*는 관련 솔버가 Global Optimization Toolbox (Global Optimization Toolbox) 함수(Optimization Toolbox™ 솔버와는 별도의 라이선스가 필요)에 있음을 의미합니다.
fmincon
은 매끄러운 제약 조건을 갖는 대부분의 매끄러운 목적 함수에 적용됩니다. 이 솔버는 최소제곱 계획법, 선형 계획법 또는 2차 계획법에 대해서는 권장 솔버로 등재되지 않습니다.아래에 등재된 솔버가 일반적으로 더 효율적이기 때문입니다.표에 권장 함수가 나와 있기는 하지만, 이는 사용자가 선택할 수 있는 함수를 무조건적으로 제한하려는 것은 아닙니다. 예를 들어,
fmincon
은 일부 매끄럽지 않은 문제에 효과적일 수 있습니다.Global Optimization Toolbox의
ga
(Global Optimization Toolbox) 함수와surrogateopt
(Global Optimization Toolbox) 함수는 혼합 정수 비선형 계획법 문제를 해결할 수 있습니다.Statistics and Machine Learning Toolbox™의
bayesopt
(Statistics and Machine Learning Toolbox) 함수는 연속 변수, 정수 변수 또는 범주형 변수의 조합을 갖는 낮은 차원의 결정론적 또는 확률적 최적화 문제를 해결할 수 있습니다.
목적 함수와 제약 조건별 솔버
제약 조건 유형 | 목적 함수 유형 | ||||
---|---|---|---|---|---|
선형 | 2차 | 최소제곱 | 매끄러운 비선형 | 매끄럽지 않음 | |
없음 | n/a(f = 상수 또는 최솟값 = ) | quadprog , 정보 | mldivide , lsqcurvefit , lsqnonlin , 정보 | fminsearch , fminunc , 정보 | fminsearch , * |
범위 | linprog , 정보 | quadprog , 정보 | lsqcurvefit , lsqlin , lsqnonlin , lsqnonneg , 정보 | fminbnd , fmincon , fseminf , 정보 | fminbnd , * |
선형 | linprog , 정보 | quadprog , 정보 | lsqcurvefit , lsqlin , lsqnonlin , 정보 | fmincon , fseminf , 정보 | * |
원뿔 | coneprog , 정보 | fmincon , 정보 | lsqcurvefit , fmincon , lsqnonlin , 정보 | fmincon , 정보 | * |
일반적인 매끄러운 제약 조건 | fmincon , 정보 | fmincon , 정보 | lsqcurvefit , fmincon , lsqnonlin , 정보 | fmincon , fseminf , 정보 | * |
범위 또는 선형 제약 조건을 갖는 이산 | intlinprog , 정보 | * | * | * | * |
참고
이 표에는 다중 목적 함수 솔버와 방정식 솔버는 있지 않습니다. Optimization Toolbox 함수로 해결할 수 있는 문제의 전체 목록은 Optimization Toolbox 함수가 처리하는 문제 항목을 참조하십시오.
참고
일부 솔버에는 여러 알고리즘이 있습니다. 알고리즘 선택에 관해 도움이 필요하면 알고리즘 선택하기 항목을 참조하십시오.