Optimization Toolbox

선형, 이차, 정수 및 비선형 최적화 문제를 해결합니다.

Optimization Toolbox™는 목표를 최소화 또는 최대화하는 동시에 제약 조건을 만족하는 파라미터를 찾기 위한 함수를 제공합니다. Optimization Toolbox는 선형 계획법(LP), 혼합 정수 선형 계획법(MILP), 이차 계획법(QP), 비선형 계획법(NLP), 제약 선형 최소제곱법, 비선형 최소제곱법 및 비선형 방정식의 솔버로 구성되어 있습니다. 함수와 행렬을 사용하거나 수학 규칙을 표현하는 변수 표현식을 지정하여 최적화 문제를 정의할 수 있습니다.

Optimization Toolbox의 솔버를 사용하여 연속 문제와 이산 문제의 솔루션을 찾고, 트레이드오프 분석을 수행하고, 알고리즘과 응용프로그램에 최적화 방법을 적용할 수 있습니다. Optimization Toolbox를 사용하면 파라미터 추정, 성분 선택, 파라미터 튜닝을 비롯한 설계 최적화 작업을 수행할 수 있습니다. 포트폴리오 최적화, 리소스 할당, 생산 계획 및 스케줄링과 같은 분야에서 최적의 솔루션을 도출하는 용도로도 사용할 수 있습니다.

최적화 문제 정의

설계 문제 또는 의사결정 문제를 최적화 문제로 모델링합니다. 설계 파라미터와 의사결정을 최적화 변수로 설정합니다. 이 변수를 이용하여 목적 함수를 정의하여 최적화하고, 제약조건을 이용하여 가능한 변수 값을 한정합니다.

모델링

최적화 변수, 목표, 제약조건 등을 정의하여 문제 기술을 수학적 형식으로 변환함으로써, 최적화 기법을 통해 해결할 수 있도록 합니다.

문제 기반 최적화

수학적 양식을 반영하는 식을 이용하여 MATLAB에서 목표와 제약조건을 기술합니다. 최적화 변수, 수학 연산자, 행렬 연산, 변수들의 함수 등을 이용하여 구축합니다. 자동으로 선택된 솔버를 적용합니다.

솔버 기반 최적화

비선형일 경우 함수를, 선형일 경우 계수 행렬을 이용하여 MATLAB에서 목표와 제약조건을 기술합니다. MATLAB 행렬 연산, 수학 연산자, 함수 등으로 이용하여 구축합니다. 적절한 솔버를 적용합니다.

최적화 문제 풀이

최적화 문제에 솔버를 적용하여 최적 해를 구합니다. 최적 해란 제약조건이 있을 경우, 제약조건을 만족하고, 목적 함수가 있을 경우, 목적 함수의 최적 값을 산출하는 최적화 변수 값 집합을 가리킵니다.

솔버 선택

목표의 유형에 따라 비선형, 이차, 선형, 혼합 정수, 최소제곱 또는 다중목표 솔버 등과 최적화 문제의 제약조건을 이용하여 풉니다. 문제 기반 접근법에서 솔버는 자동으로 선택됩니다.

비선형 함수를 최적화하는 과정에서 계산된 점들

옵션 설정

최적화 옵션을 설정하여 최적화 과정을 세밀하게 조정합니다. 예를 들면 솔버가 사용할 최적화 알고리즘을 선택하거나 종료 조건을 설정합니다. 옵션을 설정하여 모니터링하고 최적화 솔버의 진행과정을 플롯합니다.

결과 검토 및 개선

최적성 척도와 반복 표시를 검토하여 해를 평가합니다. Exit(종료) 메시지에 있는 링크를 이용하여 더 자세히 알아봅니다. 그래디언트를 제공하거나 병렬 컴퓨팅을 이용하여 그래디언트를 추정함으로써 비선형 문제에 대한 성능을 개선합니다.

반복 표시를 이용한 솔버 진행과정 모니터링.

비선형 계획법

비선형 목표를 가진 최적화 문제 또는 비선형 제약조건이 적용되는 최적화 문제를 해결합니다.

솔버

쿼시 뉴턴(quasi-Newton), 신뢰 영역(trust-region) 또는 넬더 미드 심플렉스(Nelder-Mead Simplex) 알고리즘을 적용하여 제약조건이 없는 문제를 풉니다. 내점, SQP(sequential-quadratic-programming) 또는 신뢰 영역 반영(trust-region-reflective) 알고리즘을 적용하여 제약조건이 있는 문제를 풉니다.

활용 분야

비선형 최적화를 이용하여 파라미터를 추정하고 조정하며, 최적 설계를 구하고 최적 궤적을 계산하거나 강건한 포트폴리오를 구축하거나 변수 간에 비선형 관계가 있는 기타 분야에 활용합니다.

선형 및 이차 계획법

선형 또는 convex형 2차 목표를 갖고, 선형 제약조건이 적용되는 최적화 문제를 풉니다.

선형 계획법 솔버

듀얼 심플렉스 또는 내점 알고리즘을 적용하여 선형 프로그램을 해결합니다.

선형 프로그램의 실현 가능 영역과 최적 해

이차 계획법 솔버

내점 또는 신뢰 영역 반영 알고리즘을 적용하여 2차 프로그램을 풉니다.

이차 프로그램의 실현 가능 영역과 최적 해.

활용 분야

리소스 할당, 생산 계획, 블렌딩, 투자 계획 등의 문제에 선형 계획법을 사용합니다. 설계 최적화, 포트폴리오 최적화, 수력발전용 댐 제어 등의 문제에 이차 계획법을 이용합니다.

이차 계획법으로 구한 최적 제어 전략.

혼합 정수 선형 계획법

선형 제약조건이 적용되는 선형 목표를 갖고, 일부 또는 모든 변수가 정수 값이어야 한다는 추가 제약조건이 있는 최적화 문제를 풉니다.

솔버

전처리, 실현가능점에 관한 휴리스틱스, 절제 평면 등이 포함된 분기 한정(branch and bound) 알고리즘을 이용하여 혼합 정수 선형 계획법 문제를 풉니다.

분기 한정 알고리즘 적용. 

혼합 정수 선형 계획법 기반 알고리즘

혼합 정수 선형 계획법 솔버를 이용하여 특수목표 알고리즘을 구축합니다.

각 도시를 한 번만 방문하는 최단 경로.

활용 분야

변수 값이 정수여야 한다는 제약조건뿐만 아니라 켬/끔 의사결정 또는 논리적 제약조건이 있을 때, 정수 변수가 있는 모델 라우팅, 스케줄링, 계획, 할당, 자본 예산수립 문제 등에 흔히 적용됩니다.

전기 가격이 변동하는 조건에서 발전기 2대의 스케줄을 수립합니다.

다중목표 최적화

일련의 제약조건이 적용되는 다중목표 함수가 있는 최적화 문제 해결

솔버

문제를 목표달성 문제 또는 미니맥스(minimax) 문제로 표현합니다. 각각의 목표에 선택적으로 가중치가 부여된 목표 값이 있을 때는 목표달성을 이용합니다. 목표 함수 집합의 최악의 경우 값을 최소화할 때는 미니맥스를 이용합니다.

Fgoalattin을 이용하여 목표 가중치들을 스위핑한 결과.

활용 분야

충돌하는 2개 또는 여러 개의 목표 간에 절충이 필요할 때 다중목표 최적화를 이용합니다. 구조물 설계에서 중량과 강도, 포트폴리오 최적화에서 리스크와 투자성과 등의 예가 있습니다.

최초 필터 계수와 최적화된 필터 계수의 진폭 응답.

최소제곱 및 방정식 풀이

경계 제약조건이 적용되는 비선형 최소제곱 문제와 비선형 방정식계을 해결합니다. 경계 제약조건과 선형 제약조건이 적용되는 선형 최소제곱 문제를 풉니다.

부분적 접근법과 전체적 접근법 비교.

선형 최소제곱 활용 분야

선형 최소제곱 솔버를 이용하여 선형 모델을 획득한 데이터에 피팅하거나 경계 제약조건 및 선형 제약조건이 적용되는 선형 방정식계를 풉니다.

선형 최소제곱 문제를 풀어서 흐릿한 이미지를 복구.

비선형 최소제곱 활용 분야

비선형 최소제곱 솔버를 이용하여 비선형 모델을 획득한 데이터에 피팅하거나, 파라미터에 경계 제약조건이 적용될 때 비선형 방정식계를 풉니다.

원형 경로를 로렌츠 상미분방정식 시스템에 피팅

배포

최적화 기반 의사결정 지원 및 설계 툴 구축

MATLAB Compiler 지원

MATLAB Compiler™MATLAB Compiler SDK™를 사용하여 MATLAB 최적화 모델을 독립 실행 파일, 웹 앱, C/C++ 공유 라이브러리, Microsoft® .NET 어셈블리, Java® 클래스, Python® 패키지로서 배포합니다.

최적의 발전 스케줄을 계산하는 앱입니다.

최신 기능

코드 생성

fmincon을 사용하여 비선형 제약 조건이 있는 최적화 문제를 푸는 C/C++ 코드 생성(MATLAB Coder 필요)

최적화 모델링

함수 또는 유리함수식에서 최적화 변수를 사용하여 비선형 최소제곱 문제와 비선형 방정식 시스템 표현

최적화 풀기

자동으로 선택된 솔버를 사용하여 비선형 최소제곱 문제와 비선형 방정식 시스템 풀기

이 기능과 그에 상응하는 함수에 대한 세부 정보는릴리스 정보 를 참조하십시오.

무료 평가판 받기

30일 동안 사용해 보세요.

다운로드

구매하기

제품별 가격을 확인하세요.

학생이세요?

학생용 MATLAB 및 Simulink를 확인하세요.

자세히 보기