Optimization Toolbox

선형, 2차, 원추, 정수, 비선형 최적화 문제를 풀 수 있습니다.

Optimization Toolbox™는 제약 조건을 충족하면서 목적 함수를 최소화 또는 최대화하는 파라미터를 찾을 수 있는 함수를 제공합니다. 툴박스에는 선형 계획법(LP), 혼합 정수 선형 계획법(MILP), 2차 계획법(QP), 2차 원뿔 계획법(SOCP), 비선형 계획법(NLP), 제약 조건이 있는 선형 최소제곱, 비선형 최소제곱 및 비선형 방정식을 위한 솔버가 있습니다.

함수와 행렬을 사용하거나 토대가 되는 수학을 반영하는 변수 표현식을 지정하여 최적화 문제를 정의할 수 있습니다. 더 빠르고 정확한 해를 구할 수 있도록 목적 함수 및 제약 조건 함수에 대한 자동 미분을 사용할 수 있습니다.

툴박스의 솔버를 사용하면 연속 및 이산 문제에 대한 최적해를 구하고 상반관계 분석을 수행하며 알고리즘과 응용 프로그램에 최적화 방법을 적용할 수 있습니다. 툴박스를 통해 파라미터 추정, 구성요소 선택 및 파라미터 조정 등의 설계 최적화 작업을 수행할 수 있습니다. 이를 통해 포트폴리오 최적화, 에너지 관리 및 거래, 생산 계획 등의 응용 분야에서 최적해를 구할 수 있습니다.

시작하기:

무료 치트 시트

데이터 과학을 위한 MATLAB의 8가지 치트 시트

데이터 과학 관련 가장 인기 있는 MATLAB 치트 시트 8개를 받을 수 있습니다.

치트 시트 다운로드

최적화 문제 정의

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

모델링

변수, 목적 함수 및 제약 조건을 정의하여 문제 설명을 수학적 형식으로 변환하면 최적화 기법을 사용하여 문제를 풀 수 있습니다.

문제 기반 최적화

최적화 변수로 구성된 표현식으로 목적 함수와 제약 조건을 작성할 수 있습니다. 비선형 표현식에 대해 자동 미분을 통해 보다 빠르고 견고하게 문제를 풀 수 있습니다 자동으로 선택된 솔버를 적용할 수 있습니다.

솔버 기반 최적화

함수를 사용하여 비선형 목적 함수와 제약 조건을 작성할 수 있으며 계수 행렬을 사용하여 선형 목적 함수와 제약 조건을 작성할 수 있습니다. 최적화 라이브 편집기 작업을 사용하여 대화형 방식으로 문제를 만들고 풀고, 코드를 생성해 공유하거나 응용 프로그램에 사용할 수 있습니다.

최적화 문제 풀기

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

솔버 선택

솔버 기반 접근법을 사용할 때 문제의 유형에 적합한 솔버를 선택하려면 최적화 라이브 편집기 작업을 사용할 수 있습니다. 문제 기반 접근법에서는 솔버가 자동으로 선택됩니다.

옵션 설정

최적화 옵션을 설정하여 최적화 과정을 조정할 수 있습니다. 예를 들어 솔버가 사용할 최적화 알고리즘을 선택하거나 종료 조건을 설정할 수 있습니다 옵션을 설정하여 최적화 솔버 진행 상황을 모니터링하고 플로팅할 수 있습니다.

결과 검토 및 개선

종료 메시지, 최적성 측정값 및 반복 과정 표시를 검토하여 해를 평가할 수 있습니다. 자동 미분을 사용하거나 기울기를 제공하거나 병렬 연산을 사용해 기울기를 추정하여 비선형 문제에 대한 성능을 개선할 수 있습니다.

반복 과정 표시로 솔버 진행 상황 모니터링.

비선형 계획법

비선형 목적 함수를 갖거나 비선형 제약 조건이 적용되는 최적화 문제를 풀 수 있습니다.

솔버

준뉴턴, Trust-Region 또는 넬더-미드 단체 알고리즘을 적용하여 비제약 조건 문제를 풀 수 있습니다. Interior-Point, 순차적 2차 계획법(SQP) 또는 Trust-Region-Reflective 알고리즘을 적용하여 제약 조건 문제를 풀 수 있습니다.

응용 사례

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

선형, 2차 및 원추 계획법

선형 또는 2차 목적 함수가 있고 선형 또는 2차 원추 제약 조건이 적용되는 볼록 최적화 문제를 풀 수 있습니다.

선형 계획법 솔버

Dual-Simplex 또는 Interior-Point 알고리즘을 적용하여 선형 계획법을 풀 수 있습니다.

선형 계획법의 실현가능 영역 및 최적해.

2차 및 2차 원뿔 계획법 솔버

Interior-Point, Active-Set, Trust-Region-Reflective 알고리즘을 적용하여 2차 계획법을 풀 수 있습니다. Interior-Point 방법을 적용하여 2차 원뿔 계획법을 풀 수 있습니다.

2차 계획법의 실현가능 영역 및 최적해.

응용 사례

자원 할당, 생산 계획, 배합 및 투자 계획 등의 문제에서 선형 계획법을 사용할 수 있습니다. 설계 최적화, 포트폴리오 최적화, 수력발전 댐 제어 등의 문제에서 2차 또는 2차 원뿔 계획법을 사용할 수 있습니다.

2차 계획법으로 찾은 최적의 제어 전략.

혼합 정수 선형 계획법

선형 제약 조건 및 일부 또는 모든 변수가 정수여야 하는 제약 조건이 적용되는 선형 목적 함수가 있는 최적화 문제를 풀 수 있습니다.

솔버

전처리, 실현가능점 생성에 대한 발견법, 평면 절단 방법을 포함하는 분기한정 알고리즘을 사용하여 혼합 정수 선형 계획법 문제를 풀 수 있습니다.

분기한정 알고리즘의 적용. 

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

혼합 정수 선형 계획법 솔버를 사용하여 특수 목적 알고리즘을 구축할 수 있습니다.

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

응용 사례

온/오프 의사결정 또는 논리적 제약 조건이 있고, 변수 값이 정수여야 하는 경우 정수 변수로 모델링할 수 있습니다. 경로 계획, 일정 계획, 계획, 할당 및 자본 예산 문제가 일반적인 응용 사례입니다.

가변 전력 요금제에서 발전기 2대의 가동 일정 수립.

다중 목적 함수 최적화

일련의 제약 조건이 적용된 여러 목적 함수가 있는 최적화 문제를 풀 수 있습니다.

솔버

목표 달성 또는 최대최소화로 문제를 공식화할 수 있습니다. 각 목적 함수에 대해 선택적으로 가중 목표 값이 적용되는 경우, 목표 달성을 사용할 수 있습니다. 일련의 목적 함수에 대한 최악의 경우 값을 최소화하는 경우, 최대최소화를 사용할 수 있습니다.

fgoalattain 함수를 사용하여 계산된 파레토 경계

응용 사례

목적 함수 충돌로 인해 절충이 필요한 경우 다중 목적 최적화를 사용할 수 있습니다. 구조 설계에서의 중량과 강도 그리고 포트폴리오 최적화에서의 위험 및 예상 수익이 바로 그러한 예입니다.

최초 필터 계수와 최적화된 필터 계수의 크기 응답.

최소제곱 및 방정식 풀기

범위 제약조건이 적용되는 비선형 최소제곱 문제와 비선형 연립방정식을 풀 수 있습니다. 범위 및 선형 제약 조건이 적용된 선형 최소제곱 문제를 풀 수 있습니다.

솔버

Levenberg-Marquardt, Trust-Region, Active-Set 또는 Interior-Point 알고리즘을 적용할 수 있습니다.

국소적 접근법과 전역적 접근법 비교.

선형 최소제곱 응용 분야

파라미터에 범위 제약 조건과 선형 제약 조건이 적용되는 경우를 포함해 선형 최소제곱 솔버를 사용하여 선형 모델을 데이터에 피팅하거나 선형 연립방정식을 풀 수 있습니다.

선형 최소제곱 문제를 풀어 흐릿한 영상 복원.

비선형 최소제곱 응용 분야

파라미터에 범위 제약 조건이 적용되는 경우를 포함해 비선형 최소제곱 솔버를 사용하여 비선형 모델을 데이터에 피팅하거나 비선형 연립방정식을 풀 수 있습니다.

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

배포

최적화 기반 의사결정 지원 및 설계 툴을 개발하고 엔터프라이즈 시스템과 통합하며 최적화 알고리즘을 임베디드 시스템에 배포할 수 있습니다.

MATLAB Compiler 지원

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

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

코드 생성

MATLAB Coder™를 사용하여 이식성과 가독성이 좋은 C 또는 C++ 코드를 생성하여 최적화 문제를 풀 수 있습니다. 임베디드 시스템을 포함한 모든 하드웨어에 대해 생성된 코드를 컴파일할 수 있습니다.

궤도 최적화 함수에 대한 MATLAB Coder 리포트.

최신 기능

최적화 라이브 편집기 작업

대화형 방식으로 최적화 문제를 만들고 풀기

자동 미분

목적 함수 및 제약 조건 함수의 기울기를 자동 계산하여 더 빠르고 정확한 문제 풀이

2차 원추 계획법

2차 원추 제약 조건, 선형 제약 조건 및 선형 목적 함수를 사용하여 볼록 최적화 문제 풀이

코드 생성

C/C++ 코드를 생성하여 fsolve로 비선형 방정식 풀이 (MATLAB Coder 필요)

코드 생성

C/C++ 코드를 생성하여 lsqcurvefit 또는 lsqnonlin을 사용하여 비선형 최소 제곱 문제 풀이 (MATLAB Coder 필요)

위 기능과 관련 함수에 대한 자세한 내용은 릴리스 정보를 참조하십시오.