주요 특징

혼합 정수 선형 계획법 문제를 사용하여 웨어하우스와 공장에서 판매 위치로 공급하는 최적의 방법을 결정합니다.


최적화 문제 정의 및 해결

최적화 기법은 최상의 결과를 내는 설계 매개 변수 또는 의사 결정 집합을 찾기 위해 사용됩니다. 최적화 문제는 설계 또는 의사 결정 문제에 대한 모델링을 의미합니다. 설계 파라미터나 의사 결정을 최적화 변수로 모델링할 수 있습니다. 최적화 문제에는 이 밖에도 목적함수와 (해당하는 경우) 제약 조건이라는 성분이 있습니다. 목적함수는 최소화 또는 최대화하려는 수량을 계산합니다. 제약 조건은 최적화 변수의 가능한 값을 제한합니다.

최소제곱법 문제와 비선형 방정식 시스템은 제곱의 합을 최소화하여 푸는 문제이기 때문에 최적화 문제입니다.

문제 설명을 최적화를 통해 해결할 수 있는 수학적 계획법으로 전환합니다(증기 및 전기 발전소 예를 보임).

문제 기반 최적화 모델링

최적화 변수로 만든 표현식을 사용하여 문제 기반 워크플로로 목적과 제약 조건을 정의합니다. 이 방법은 선형 및 혼합 정수 선형 최적화 문제에서 사용할 수 있습니다.

Solve a linear program with Optimization Toolbox solvers and a problem-based approach, using a steam and electric power plant example.

문제 기반 모델링을 사용하여 최적의 생성 일정을 도출합니다.


솔버 기반 최적화 모델링

솔버 기반 워크플로를 사용하여 목적함수와 제약 조건을 정의합니다. 사용자가 선택한 솔버에 필요한 최적화 변수와 함수 또는 행렬을 함께 사용할 수 있습니다. 이 방법은 Optimization Toolbox에 포함된 모든 솔버에서 사용할 수 있습니다.

Optimization Toolbox™ Solver를 사용하여 선형 계획법을 해결합니다(증기 및 전기 발전소 예를 보임).

솔버 기반 모델링을 사용하여 최적의 포트폴리오를 도출합니다


Solver 선택

Optimization Toolbox는 다양한 목적 함수와 제약 조건을 풀기 위한 다양한 Solver를 포함합니다. 최적화 의사 결정 테이블은 솔버 기반 방법을 사용할 때 문제에 가장 적합한 솔버를 선택할 수 있도록 지원합니다. 문제 기반 방법을 사용할 때는 가장 적합한 솔버가 자동으로 선택됩니다.

Optimization Toolbox는 한 번의 함수 호출로 여러 종류의 최적화 문제를 풀 수 있도록 다양한 함수를 제공합니다. 열 생성(column generation) 알고리즘과 같은 복잡한 최적화 알고리즘을 구축하거나 로봇의 동작 계획과 같이 알고리즘의 여러 단계 중 하나로 최적화가 포함되어 있는 경우에도 Optimization Toolbox의 함수를 사용할 수 있습니다.

열 생성으로 로드 커팅(cutting stock) 문제 풀기.


도함수 제공

솔버 옵션을 사용하면 최적화 과정을 튜닝하거나 수정하고, 솔버 과정을 시각화할 수 있습니다.

Set options with optimoptions in Optimization Toolbox to tune solvers and monitor optimization progress.

도함수 제공

Optimization Toolbox Solver는 유한 차이를 이용하여 목적함수의 편도함수를 예측함으로써 비선형 함수를 최소화합니다. 편도함수의 값을 계산하는 함수를 정의하여 도함수 계산에 필요한 오버헤드를 대폭 줄일 수 있습니다.

목적함수의 편도함수를 계산하는 작업은 매우 지루하고 시간이 많이 걸립니다. Symbolic Math Toolbox™를 사용하여목적함수를 정의하면 내장 함수를 사용하여 목적함수의 편도함수를 자동으로 계산할 수 있습니다. 그런 다음 Optimization Toolbox 솔버와 함께 사용할 수 있는 MATLAB 코드를 생성할 수 있습니다.


배포

Optimization Toolbox Solver를 MATLAB Compiler™와 함께 사용하여 MATLAB이 없는 사용자들과도 공유할 수 있는 의사 결정 지원 툴을 만들 수 있습니다. 이러한 독립형 응용 프로그램은 로열티 없이 최종 사용자에게 무제한 배포할 수 있습니다. MATLAB Compiler SDK™를 사용하면 MATLAB 최적화 알고리즘을 C++, Java®, Python®, .NET과 같은 다른 언어와 통합할 수 있습니다.


비선형 최적화

Optimization Toolbox는 MATLAB에서 비선형 계획법 문제를 해결하는 데 널리 사용되는 최적화 알고리즘을 제공합니다. Toolbox에는 제약 및 비제약 비선형 최적화 문제 해결을 위한 Solver와최소제곱법 최적화 Solver가 포함되어 있습니다.


비제약 비선형 최적화

Optimization Toolbox는 다음 세 개의 알고리즘을 사용하여 비제약 비선형 최소화 문제를 해결합니다:

  • Quasi-Newton 알고리즘은 헤시안 행렬의 근삿값을 업데이트하기 위해 혼합된 이차 및 삼차 선 검색 절차와 BFGS(Broyden-Fletcher-Goldfarb-Shanno) 공식을 사용합니다.
  • Nelder-Mead(또는 downhill simplex) 알고리즘은 함수 값만 사용하며(도함수 필요 없음) nonsmooth 목적함수를 처리하는 직접 검색 알고리즘입니다. Global Optimization Toolbox는 도함수가 필요 없는, 비선형 최적화를 위한 알고리즘을 추가로 제공합니다.
  • trust-region 알고리즘은제약 조건이 없는 비선형 문제에 사용되며희소 행렬 구조(sparse matrix)를 이용할 수 있는 대규모 문제에 특히 유용합니다.

최고 효율을 위한 엔진 성능 맵 검색을 위해 비제약 비선형 최적화 사용


제약 비선형 최적화

제약 비선형 최적화 문제는 선형 또는 비선형 목적함수로 구성되어 있고 선형 및 비선형 제약을 받을 수 있습니다. Optimization Toolbox는 다음 3개의 알고리즘을 사용하여 이러한 문제를 해결합니다.

  • Interior-point 알고리즘은 일반 비선형 최적화에 사용됩니다. 희소 또는 구조를 이용할 수 있는 대규모 문제에 특히 유용하며 사용자 정의 목적함수 및 제약함수 평가 실패에도 문제가 없습니다. 이 알고리즘은 barrier 함수를 바탕으로 하며, 선택적으로 최적화 실행 과정에서 한계에 따라 모든 반복을 엄격하게 유지합니다.
  • SQP 알고리즘은 일반 비선형 최적화에 사용됩니다. 이는 모든 반복에서변수의 유계를 적용하며 사용자 정의 목적함수 및 제약함수 평가 실패에도 문제가 없습니다.
  • trust-region reflective 알고리즘은 한계 제약 문제 또는 선형 등식에만 사용됩니다. 이 알고리즘은 특히 대규모 문제에 유용합니다.

interior point 및 trust-region reflective 알고리즘을 사용하면 다양한 접근법을 통해 헤시안 행렬을 예측할 수 있습니다.

interior point 알고리즘의 경우 다음을 통해 헤시안 행렬을 예측할 수 있습니다.

  • BFGS(밀집)
  • 제한 메모리 BFGS(대규모 문제)
  • Hessian-multiply 함수
  • Actual Hessian(희소 또는 밀집)
  • gradient의 유한 차분법 (희소 행렬 구현 방법에 대해 전문지식이 없어도 사용 가능)

trust-region reflective 알고리즘의 경우 다음을 사용할 수 있습니다.

  • 증감의 유한 차이, 헤시안의 희소 구조
  • Actual Hessian(희소 또는 밀집)
  • Hessian-multiply 함수

interior-point 및 trust-region reflective 알고리즘을 사용하면 헤시안 행렬을 명확히 작성하지 않아도 함수로 헤시안과 벡터의 곱을 계산할 수 있어 메모리 사용량이 줄어듭니다.

제약 비선형 최적화를 사용하여 최적의 현가장치 시스템 설계


선형 및 이차 계획법

Optimization Toolbox는 대규모 선형 및 이차 계획법 문제를 해결할 수 있습니다.


선형 계획법

선형 계획법 문제는 한계, 선형 등식 및 부등식 제약을 받는 선형 목적함수를 최소화 또는 최대화하는 것과 연관됩니다. 선형 계획법은 재무, 에너지 등 변수 사이의 관계가 선형적으로 표현될 수 있는 응용 분야에서 사용됩니다.

Optimization Toolbox에는 선형 계획법 문제를 해결하기 위해 사용되는 두 개의 알고리즘이 포함됩니다.

  • dual-simplex 알고리즘은 simplex 알고리즘의 유형입니다. simplex 알고리즘은 선형 문제에 대한 후보 좌표 해를 생성하고 테스트하기 위한 절차적 방법이며 선형 계획법에 가장 널리 쓰이는 알고리즘입니다.
  • interior-point 알고리즘은 primal-dual predictor-corrector 알고리즘을 기반으로 하며 선형 계획법 문제 해결에 사용됩니다. 이 알고리즘은 구조가 있거나 희소 행렬로 정의할 수 있는 대규모 문제에 특히 유용합니다.

증기 및 전력 생산 시설 설계에 선형 계획법 사용


이차 계획법

이차 계획법 문제는 한계, 선형 등식 및 부등식 제약을 받는 다변 이차 함수를 최소화하는 것과 연관됩니다. 이차 계획법은 금융 포트폴리오 최적화, 전기 시설의 전력 발전 최적화, 엔지니어링 설계 최적화 등의 분야에서 사용됩니다.

Optimization Toolbox에는 이차 계획법 해결을 위한 두 개의 알고리즘이 포함됩니다.

  • interior-point-convex 알고리즘은 모든 제약 조건을 포함한 convex형 문제를 해결합니다.
  • trust-region-reflective 알고리즘은설계 변수의 유계 혹은 선형 부등식 조건의 제약 조건을 포함한 문제를 해결합니다.
In this webinar, you will learn how MATLAB can be used to solve optimization problems using an example quadratic optimization problem and the symbolic math tools in MATLAB.

Interior-point-convex 및 trust-region-reflective 알고리즘은 모두 대규모이기 때문에 대규모의 희소 문제를 처리할 수 있습니다. 또한 interior-point-convex 알고리즘은 내부 선형 대수 루틴을 최적화했으며 presolve 모듈은 속도 향상, 수치적 안정성 제공, 실행 불가 사전 탐지 기능을 포함하고 있습니다.

세 가지 뮤추얼 펀드의 수익 기반 스타일 분석을 수행하는 데 이차 계획법 사용


MILP(혼합 정수 선형 계획법)

MILP(혼합 정수 선형 계획법)선형 계획법 문제에 최적 해의 변수 중 일부 또는 전부가 정수여야 한다는 추가적인 제약이 더해진 것입니다.

일부 최적화 문제에서는 변수가 소수값을 가질 수 없습니다. 예를 들어 변수가 구입할 주식의 개수를 나타내는 경우 정수 값만 가질 수 있습니다. 마찬가지로 변수가 발전기의 on/off 상태를 나타내는 경우 이진 값(0 또는 1)만 가질 수 있습니다. MILP(혼합 정수 선형 계획법) 문제는 최적 해에서 이러한 변수가 정수 값만 갖도록 제약함으로써 이러한 동작을 모델링합니다.

릴리스 2014a의 MILP(혼합 정수 선형 계획법)를 위한 새로운 최적화 솔버(Solver)의 사용법을 배웁니다. 새롭게 추가된 솔버를 사용하여 정수형 타입의  최적화 문제를  해결할 수 있습니다.

Optimization Toolbox는 다음과 같은 알고리즘을 사용하여 혼합 정수 선형 계획법 문제를 해결합니다.

  • 정수 계획법 사전 처리를 수행하여 실행 가능한 영역을 좁히는 알고리즘
  • 단면을 적용하여 실행 가능한 영역을 좁히는 알고리즘
  • 휴리스틱을 사용하여 실행 가능한 정수 해를 찾는 알고리즘
  • 선형 계획법 모형 문제를 해결하는 분기 및 경계 알고리즘을 통해 더 나은 실행 가능한 해가 없는지 검증하는 알고리즘
귀하의 디자인 향상과 더 나은 비즈니스 의사결정을 위해 MATLAB® 최적화 툴을 사용해 보십시오. 최적화 문제를 세팅하고 해결하기 위한 활용법을 알아봅니다.

다목적 최적화

Multiobjective optimization는 제약 조건들의 모음을 대상으로하는 다목적 함수의 최소화에 사용합니다. Optimization Toolbox는 두 개 공식의 해를 찾기 위한 다목적 최적화 문제를 해결하기 위해 다음 함수가 제공됩니다.

  • goal attainment 문제는 목표 벡터에 주어진 목표값을 얻기 위해 선형 또는 비선형 벡터 함수 값을 낮추는 것과 연관됩니다. 목표의 상대적 중요성은 웨이트 벡터를 사용하여 명시됩니다. 목표 도달 문제는 선형 및 비선형 제약조건을 포함하여 적용 가능합니다.
  • minimax 문제는 선형 및 비선형 제약제약 조건을 포함한 다변수 함수의 최악의 경우 값을 최소화 하는 문제 입니다.

Optimization Toolbox는 두 유형의 다목적 문제를 모두 표준 제약 최적화 문제로 변환한 후 active-set 계획법을 사용하여 문제를 해결합니다.

Global Optimization Toolbox는 nonsmooth 문제에 대한 추가 다목적 Solver를 제공합니다.

다목적 최적화를 사용하여 low-pass 필터 설계


비선형 최소제곱법, 데이터 Fitting, 비선형 방정식

Optimization Toolbox는 선형/비선형 최소제곱법 문제, 데이터 Fitting 문제, 비선형 방정식을 해결합니다.


선형 및 비선형 최소제곱법 최적화

Toolbox에는 제약 선형 최소제곱법 문제를 해결하기 위해 다음 두 개의 알고리즘이 포함되어 있습니다.

  • interior-point 알고리즘은 경계조건과 선형 부등식 또는 등식이 있는 문제를 해결합니다.
  • trust-region-reflective 알고리즘은 경계조건만 있는 대규모 문제를 해결합니다.

Toolbox에는 비선형 최소제곱법 문제를 해결하기 위한 다음 두 개의 알고리즘이 포함되어 있습니다.

  • trust-region-reflective 알고리즘은 비선형 최소제곱법 문제 전용 trust-region 접근 방식을 구현합니다. 이 알고리즘은 비제약 및 경계 조건 제약 문제에 사용됩니다.
  • Levenberg-Marquardt 알고리즘은 제약 조건이 없는 문제에서 사용합니다.

비선형 최소제곱법을 사용하여 초월 방정식 피팅


데이터 Fitting

Toolbox는 일련의 데이터 점에 가장 적합한 비선형 함수군의 멤버를 찾을 수 있는, 데이터 fitting 문제용 특수 인터페이스를 제공합니다. Toolbox는 비선형 최소제곱법 문제에 사용하는 것과 동일한 알고리즘을 데이터 fitting 문제에 사용합니다.

최소제곱법 curve fitting을 사용하여 비선형 지수 방정식 Fitting


비선형 방정식 해결

Optimization Toolbox는 미지수가 많은 비선형 방정식을 해결하기 위해 dogleg trust-region 알고리즘을 구현합니다. Toolbox는 trust-region 알고리즘 및 Levenberg-Marquardt 알고리즘을 사용하여 이 문제를 해결할 수 있습니다.

비선형 방정식 Solver를 이용하여 n차원 Rosenbrock 함수 해결


병렬 컴퓨팅

Optimization Toolbox를 Parallel Computing Toolbox와 함께 사용하면 병렬 연산을 통해 문제를 해결할 수 있습니다. 내장 병렬 컴퓨팅 지원을 사용하거나 해당 최적화 문제에 대한 맞춤형 병렬 컴퓨팅 구현을 정의하여 해를 구하는 시간을 단축할 수 있습니다.

Optimization Toolbox의 내장 병렬 컴퓨팅을 사용하면 일반 비선형 최적화 문제, 비선형 최소제곱법 및 방정식, 비선형 방정식 및 다목적 문제에서 Solver를 사용할 때 증감 평가 단계를 가속화할 수 있습니다.

병렬 컴퓨팅 기능을 사용하기 위해 최적화 문제를 명확히 정의하는 방법으로 맞춤형 병렬 컴퓨팅을 구현할 수 있습니다. 목적함수나 제약함수를 정의하여 병렬 컴퓨팅을 사용할 수 있으며, 이런 경우목적 함수, 제약조건을 계산하는 데 필요한 시간을 단축할 수 있습니다.

Parallel Computing Toolbox로 최적화 문제를 보다 빠르게 해결하십시오.

비선형 최적화 Solver에서 내장 병렬 컴퓨팅 지원을 사용하여 전자기학 문제에 대한 해를 구하는 시간 단축. 내장 기능은 해법이 왼쪽에 표시된 상태에서 목적함수(오른쪽 상단) 및 제약함수(오른쪽 하단)에 대해 UseParallel 옵션(왼쪽)을 지정하여 설정합니다.