2차 계획법
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
2차 계획법은 선형 제약 조건 하에서 2차 함수를 최적화하는 수학적 최적화 문제이다. 문제 정의는 실수 벡터, 대칭 행렬, 행렬, 벡터를 사용하여 최소화 또는 최대화할 2차 함수와 제약 조건으로 구성된다. 2차 계획법은 내점법, 활성 집합 방법 등 다양한 해법을 통해 해결되며, Q 행렬이 양의 정부호 행렬인 경우 볼록 최적화의 특수한 경우로 볼 수 있다. 혼합 정수 2차 계획법(MIQP)은 변수 중 일부가 정수 값을 가져야 하는 경우에 적용되며, 수자원 관리 및 인덱스 펀드 구축 등에 활용된다. 2차 계획법 문제를 해결하기 위한 상용 및 오픈 소스 소프트웨어와 라이브러리가 다양하게 존재한다.
더 읽어볼만한 페이지
2. 문제 정의
실수 값을 갖는 n차원 벡터 '''c''', ''n''×''n''차원 실수 대칭 행렬 Q, ''m''×''n''차원 실수 행렬 A, 그리고 ''m''차원 실수 벡터 '''b'''가 주어졌을 때, 2차 계획법의 목표는 다음 식을 최소화하는 n차원 벡터 '''x'''를 찾는 것이다.[2][16]
여기서 '''x'''T는 벡터 '''x'''의 전치 행렬을 나타내며, ''A'''''x''' ⪯ '''b'''는 벡터 ''A'''''x'''의 모든 항목이 벡터 '''b'''의 해당 항목보다 작거나 같다는 것을 의미한다(성분별 부등식).
이차 제약 이차 계획법은 2차 계획법에서 2차 제약이 추가된 확장된 형태이다.
2. 1. 기본 형태
Quadratic programming영어(QP)는 n개의 변수와 m개의 제약 조건을 갖는 최적화 문제이며, 다음과 같이 공식화될 수 있다.[2]주어진 조건은 다음과 같다.
- 실수 값을 갖는 n차원 벡터 '''c''',
- n × n 차원 실수 대칭 행렬 Q,
- m × n 차원 실수 행렬 A,
- m차원 실수 벡터 '''b'''.
2차 계획법의 목표는 다음을 만족하는 n차원 벡터 '''x'''를 찾는 것이다.
여기서 '''x'''T는 벡터 '''x'''의 전치 행렬을 나타내며, 표기법 A'''x''' ⪯ '''b'''는 벡터 A'''x'''의 모든 항목이 벡터 '''b'''의 해당 항목보다 작거나 같다는 것을 의미한다(성분별 부등식).[16]
2. 2. 일반화
2차 계획법은 2차 제약 조건을 추가하여 확장될 수 있다. (2차 제약 2차 계획법)[2] 어떤 기준점 근방에서 함수 를 최소화할 때, 는 헤세 행렬 로, 는 기울기 로 설정된다. 관련 프로그래밍 문제인 2차 제약 2차 계획법은 변수에 2차 제약을 추가하여 제시할 수 있다.[16]3. 해법
2차 계획법 문제를 해결하기 위한 다양한 알고리즘이 존재한다. 일반적인 해법으로는 다음 방법들이 주로 사용된다.[3][4]
- 내점법
- 활성 집합 방법
- 확장 라그랑지안 방법
- 켤레 기울기 방법
- 기울기 투영법
- 단순법의 확장
만약 가 양의 정부호 행렬이면, 이 문제는 볼록 최적화의 특수한 사례가 된다.
3. 1. 일반적인 해법
가 양의 정부호 행렬인 경우, 이 문제는 보다 일반적인 볼록 최적화 분야의 특수한 사례이다.
3. 2. 등식 제약 조건만 있는 경우
가 양의 정부호 행렬이고 등식 제약 조건만 있는 경우, 2차 계획법 문제는 선형 시스템으로 변환되어 효율적으로 해결할 수 있다. 라그랑주 승수법을 사용하여 라그랑지안 함수의 극값을 구한다.다음과 같은 형태의 최적화 문제를 생각해보자.
:
:
이 문제의 해는 다음 선형 시스템으로 주어진다.
:
여기서 는 라그랑주 승수의 집합이며, 와 함께 해로 얻어진다.
이 시스템을 푸는 가장 쉬운 방법은 LU 분해와 같은 직접 해법이며, 작은 문제에서는 매우 실용적이다. 큰 문제의 경우, 이 시스템은 몇 가지 어려움을 야기한다. 특히 가 양의 정부호 행렬이더라도, 이 문제는 양의 정부호 행렬이 아니라는 점이 수치적 접근을 어렵게 만든다. 문제에 따라 다양한 접근 방식이 존재한다.[5][19]
제약 조건이 변수들을 너무 꽉 묶지 않는다면, 변수를 변경하여 제약 조건이 항상 만족되도록 하는 방법이 있다. 예를 들어, 이라고 가정하자 (0이 아닌 경우로 일반화하는 것은 간단하다). 제약 방정식 을 고려하여, 다음과 같이 정의된 새로운 변수 를 도입한다.
:
여기서 는 의 차원에서 제약 조건의 수를 뺀 차원을 갖는다. 그러면
:
이 된다. 를 이 되도록 선택하면, 제약 방정식은 항상 만족된다. 이러한 를 찾는 것은 의 영공간을 찾는 것을 포함하며, 이는 의 구조에 따라 다소 간단하다. 원래 식에 대입하면 제약 없는 최소화 문제는 다음과 같이 된다.
:
이 문제의 해는 다음과 같이 주어지며,
:
에 대한 특정 조건 하에서, 축소된 행렬 는 양의 정부호 행렬이 된다. 의 명시적인 계산을 피하는 켤레 기울기 방법의 변형을 작성하는 것도 가능하다.[20]
3. 3. 라그랑주 쌍대성
쌍대 문제도 참조2차 계획법 문제의 라그랑주 쌍대 문제 역시 2차 계획법 문제이다. 이를 확인하기 위해 ''c'' = 0이고 ''Q''가 양의 정부호인 경우에 집중해 보자. 라그랑주 승수를 사용하여 라그랑지안 함수를 다음과 같이 작성한다.
:
(라그랑지안) 쌍대 함수 ''g''(λ)를 로 정의하면, 과 ''Q''의 양의 정부호성을 사용하여 ''L''의 하한을 찾는다.
:
따라서 쌍대 함수는 다음과 같다.
:
그리고 2차 계획법 문제의 라그랑주 쌍대는 다음과 같다.
:
라그랑주 쌍대성 이론 외에도 다른 쌍대성 짝(예: Wolfe)이 있다.
4. 복잡도
양의 정부호 이차 형식 행렬 에 대해, 타원체법은 다항 시간 내에 2차 계획 문제를 풀 수 있다[21]。 의 부호가 부정인 경우, 2차 계획 문제는 NP-난해가 된다[22]。 실제로, 의 단 하나의 고유값만 음수이더라도, 2차 계획 문제는 NP-난해이다[23]。
4. 1. 볼록 2차 계획법
가 양의 정부호 행렬인 경우(볼록 문제)는 타원체 방법 등으로 다항 시간 내에 해결할 수 있다.[6][21] 예와 츠[7]는 카르마르카의 알고리즘을 선형 계획법에서 볼록 2차 계획법으로 확장하는 다항 시간 알고리즘을 제시했다. ''n''개의 변수와 ''L''개의 입력 비트를 갖는 시스템에서, 그들의 알고리즘은 O(L n)번의 반복을 필요로 하며, 각각 O(L n3)번의 산술 연산을 사용하여 총 실행 시간 복잡도는 O(''L''2 ''n''4)이다. 카푸어와 바이디아[8]는 O(''L'' * log ''L'' ''* n''3.67 * log ''n'')번의 산술 연산을 필요로 하는 또 다른 알고리즘을 제시했다.일반적인 문제에 대해 내점법, 유효 제약법(active set)[17], 확장 라그랑주 승수법(Augmented Lagrangian method)[18], 켤레 기울기법, 기울기 투영법, 심플렉스법의 확장[17] 등 다양한 해법이 널리 사용된다. 행렬 가 정부호 이차 형식이면 문제는 보다 일반적인 볼록 최적화 영역의 특수한 경우가 된다.
4. 2. 비볼록 2차 계획법
가 부정부호 행렬인 경우(비볼록 문제) 이 문제는 NP-난해이다.[9] 비볼록 이차 제약 조건 ''xi''2 = ''xi''는 ''xi''가 {0,1}에 속한다는 것과 동일하며, 이는 ''xi''가 이진 정수 변수임을 의미한다. 따라서 이러한 제약 조건은 이진 변수를 가진 모든 정수 계획 문제를 모델링하는 데 사용될 수 있으며, 이는 NP-난해로 알려져 있다.이러한 비볼록 문제는 여러 개의 정지점과 지역 최솟값을 가질 수 있다. 가 단 하나의 음의 고유값만 가지더라도 문제는 (강하게) NP-난해이다.[10]
비볼록 이차 계획법의 KKT점을 찾는 것은 CLS-난해이다.[11]
5. 혼합 정수 2차 계획법 (MIQP)
벡터의 하나 이상의 요소가 정수 값을 가져야 하는 경우가 있다. 이로 인해 혼합 정수 2차 계획법(MIQP) 문제가 발생한다.[12] MIQP의 응용 분야에는 수자원[13] 및 인덱스 펀드 구축이 있다.[14]
6. 구현 및 소프트웨어
2차 계획법(QP) 문제를 해결하기 위한 다양한 상용 및 오픈 소스 소프트웨어와 라이브러리가 존재한다. 이러한 소프트웨어 및 라이브러리들은 각기 다른 기능과 특징을 가지고 있어, 사용자는 자신의 필요에 맞는 도구를 선택하여 문제를 해결할 수 있다.
6. 1. 주요 소프트웨어 및 라이브러리
참조
[1]
간행물
Continuous Optimization (Nonlinear and Linear Programming)
Princeton University Press
[2]
서적
Numerical Optimization
https://archive.org/[...]
Springer-Verlag
[3]
서적
Linear complementarity, linear and nonlinear programming
http://ioe.engin.umi[...]
Heldermann Verlag
[4]
논문
Global linear convergence of an augmented Lagrangian algorithm for solving convex quadratic optimization problems
http://www.helderman[...]
[5]
논문
On the Solution of Equality Constrained Quadratic Programming Problems Arising in Optimization
2001-04
[6]
논문
"[Polynomial solvability of convex quadratic programming]"
[7]
논문
An extension of Karmarkar's projective algorithm for convex quadratic programming
https://doi.org/10.1[...]
1989-05-01
[8]
서적
Proceedings of the eighteenth annual ACM symposium on Theory of computing - STOC '86
Association for Computing Machinery
1986-11-01
[9]
논문
Computationally related problems
http://www.cise.ufl.[...]
[10]
논문
Quadratic programming with one negative eigenvalue is (strongly) NP-hard
[11]
arXiv
The Complexity of Computing KKT Solutions of Quadratic Programs
2023
[12]
논문
Mixed-integer quadratic programming
1982-12-01
[13]
논문
Booster System Design Using Mixed-Integer Quadratic Programming
2004-07-01
[14]
서적
Optimization Methods in Finance
https://www.cambridg[...]
Cambridge University Press
[15]
간행물
Polynomial Optimization
https://doi.org/10.1[...]
Springer International Publishing
2023-12-16
[16]
서적
Numerical Optimization
Springer-Verlag
[17]
서적
Linear complementarity, linear and nonlinear programming
http://ioe.engin.umi[...]
Heldermann Verlag
[18]
논문
Global linear convergence of an augmented Lagrangian algorithm for solving convex quadratic optimization problems
http://www.helderman[...]
[19]
Google Scholar
Google search.
https://scholar.goog[...]
[20]
논문
On the Solution of Equality Constrained Quadratic Programming Problems Arising in Optimization
SIAM Journal of Scientific Computing
2001-04
[21]
논문
"[Polynomial solvability of convex quadratic programming]"
[22]
논문
Computationally related problems
[23]
논문
Quadratic programming with one negative eigenvalue is NP-hard
[24]
문서
Mixed Integer Nonlinear Programming. 混合整数非線形計画問題のこと。
[25]
웹사이트
Object-Oriented Software for Quadratic Programming (Paper)
http://pages.cs.wisc[...]
University of Wisconsin-Madison
2003-02-25
[26]
웹사이트
Source repository for OOQP, a quadratic programming solver (and more)
https://github.com/e[...]
2014-07-11
[27]
논문
OptimJ used in an optimization model for mixed-model assembly lines
http://www.in-ter-tr[...]
University of Münster
[28]
논문
OptimJ used in an Approximate Subgame-Perfect Equilibrium Computation Technique for Repeated Games
http://www.aaai.org/[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com