반무한 프로그래밍
Semidefinite programming반정의 프로그래밍(SDP)은 아핀 공간, 즉 스펙트럼 면과 양의 반정의 행렬의 원뿔의 교점에 걸쳐 선형 목적 함수(사용자가 최소화 또는 최대화를 원하는 사용자 지정 함수)의 최적화에 관련된 볼록 최적화의 하위 필드이다.
반무한 프로그래밍은 몇 가지 이유로 관심이 높아지고 있는 비교적 새로운 최적화 분야입니다.운영 연구 및 조합 최적화의 많은 실제 문제들은 반확정 프로그래밍 문제로 모델링되거나 근사될 수 있습니다.자동 제어 이론에서 SDP는 선형 행렬 부등식의 맥락에서 사용됩니다.SDP는 사실 콘 프로그래밍의 특수한 경우이며 내부 포인트 방식으로 효율적으로 해결할 수 있습니다.모든 선형 프로그램 및 (볼록한) 2차 프로그램은 SDP로 표현될 수 있으며, SDP의 계층을 통해 다항식 최적화 문제의 해결책을 근사화할 수 있다.반무한 프로그래밍은 복잡한 시스템의 최적화에 사용되어 왔다.최근 몇 년 동안 일부 양자 쿼리 복잡성 문제가 반확정 프로그램의 관점에서 공식화되었습니다.
동기 부여와 정의
초기 동기
선형 프로그래밍 문제는 폴리토프에 대한 실제 변수의 선형 객관 함수를 최대화 또는 최소화하고자 하는 문제입니다.반확정 프로그래밍에서는 대신 실값 벡터를 사용하고 벡터의 닷 곱을 취할 수 있습니다. LP(선형 프로그래밍)의 실변수에 대한 비음성 제약은 SDP(반확정 프로그래밍)의 행렬 변수에 대한 반확정성 제약으로 대체됩니다.구체적으로, 일반적인 반무한 프로그래밍 문제는 형식의 수학적 프로그래밍 문제로 정의될 수 있다.
서 i, k 및 kk})는 , ( x x는 i( x})의닷 입니다.
등가 제제
× \ n \ n \ \ displaystyle M \ m = i, m { } an x n ⋅、 x n x x 、 x _ j _ style m { n } ) vectors some some vectors vectors の Gram m it it vectors of of of of of of of of of of of of of of of of of i 입니다.이 경우, 우리는 이것을 M0(\ M 0으로 나타냅니다. 예를 들어 양의 반정의 행렬은 음이 아닌 고유값만을 갖는 자기 부가 행렬입니다.
모든 × {\ n n개의 실제 대칭 행렬의 공간을 n \^{으로 .공간에는 내부 제품(서 {은 트레이스를 나타냅니다 A, S ( ) = 1, i . \ , \ ^{ mathbbbs } ) 。
우리는 이전 섹션에서 주어진 수학 프로그램을 다음과 같이 똑같이 다시 쓸 수 있다.
여기서 C C의 입력i + j 는 의 i(\})에 지정되며 (\A_k는i의 입니다.ntry i + j ({를 전 항에서 참조해 .따라서 행렬 C C와 는 대칭이며 위의 내부 제품들이 잘 정의되어 있습니다.
slack 변수를 적절히 추가하면 이 SDP는 다음 중 하나의 형식으로 변환할 수 있습니다.
편의상 SDP는 약간 다르지만 동등한 형식으로 지정할 수 있습니다.예를 들어, 음이 아닌 스칼라 변수를 포함하는 선형식을 프로그램 사양에 추가할 수 있다.각 변수를 대각선 엔트리(의 경우 })로 X(\X에 통합할 수 있기 때문에 SDP로 유지됩니다. 0 ( \ X _ { i } \ 0)을 하기 i ( \ X { ij }0 )에 제약 조건 X i 을 추가할 수 있습니다.또 다른 예로, 의 양의 X ( \ \ i 벡터가 있습니다.의 i({x}) 엔트리가 ( ({ x_가 따라서 SDP는 종종 벡터의 스칼라 곱에 대한 선형식으로 공식화됩니다.표준형태의 SDP에 대한 용액으로 벡터{ { 는 O 3시간예를 들어 불완전한 콜레스키 분해 사용)에 회복할 수 있다.
이중성 이론
정의들
일반 SDP 형식의 선형 프로그래밍과 유사합니다.
(원래 문제 또는 P-SDP), Dual Semifinite Program(D-SDP)을 다음과 같이 정의합니다.
여기서 P P QQ의 경우 P P Q는P - 0를 합니다.
약한 이중성
약한 이중성 정리는 원시 SDP의 값이 적어도 이중 SDP의 값임을 나타냅니다.따라서 듀얼 SDP에 대한 실현 가능한 솔루션은 프라이머리 SDP 값을 낮게 계산하고 반대로 프라이머리 SDP에 대한 실현 가능한 솔루션은 듀얼 SDP 값을 높게 계산합니다.그 이유는
여기서 마지막 부등식은 두 행렬이 모두 양의 반정의 행렬이기 때문이고, 이 함수의 결과는 때때로 이중성 갭이라고 불린다.
강력한 이중성
프라이머리 SDP와 듀얼 SDP의 값이 같을 경우 SDP는 강력한 듀얼리티 속성을 충족한다고 합니다.모든 듀얼 선형 프로그램이 초기 목표와 동일한 최적의 목표를 갖는 선형 프로그램과 달리, 모든 SDP가 강력한 이중성을 충족하는 것은 아닙니다. 일반적으로 듀얼 SDP의 값은 초기값보다 훨씬 낮을 수 있으며 P-SDP 및 D-SPD는 다음 속성을 충족합니다.
(i) Primal 문제(P-SDP)가 다음과 같이 제한되고 엄밀하게 실현 가능하다고 가정한다(, X 0 n, 0 0 \ { } 0 ) i 입니다.다음으로 (D-SDP)에 대한 최적의 ydisplay { \ y^ { * } 。
(ii) 이중문제(D-SDP)가 위에서 경계가 있고 엄밀하게 실현 가능하다고 가정한다(, i ( 0 ) { \_ {}).C는 R { 에 해당합니다.다음으로 (P-SDP)에 대한 최적의 솔루션 X와 (i)와의 등식이 있다.
SDP 문제(및 일반적으로 볼록 최적화 문제)에 대해 강력한 이중성을 유지하기 위한 충분한 조건은 슬레이터의 조건입니다.또한 Ramana가 [1][2]제안한 확장 듀얼 문제를 사용하면 규칙성 조건을 추가하지 않고 SDP에 대해 강력한 듀얼리티를 얻을 수 있습니다.
예
예 1
3개의 랜덤 A A B 및(\C를 고려합니다.정의상 이들의 상관계수는 , (\ \ABBC})가 유효하고 다음 경우에만 유효합니다.
이 경우 이 행렬을 상관 행렬이라고 합니다. 지식(예를 들어 실험 결과)에서 A B- 1 - 0._ { -.1 4 C (\ 0. bc _ bc _ 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 가 취할 수 있는 최소값과 최대값을 결정하는 문제는 다음과 같습니다.
、 、 C 23 ( \ _ { } _ { 12 } \ _ { AC } = x_ { 13 } \_ { = _ { } ) we answer answer answer answer answer we we we we we we we we 。이는 SDP에 의해 공식화될 수 있습니다.우리는 변수 행렬을 증강하고 느슨한 변수를 도입함으로써 불평등 제약을 다룬다.
이 SDP를 해결하면 _}=의 최소값과 최대값이 각각 및 0.0.로 표시됩니다
예 2
문제를 고려하다
- ( x ) x \ ( ^ { d^{ d}
- + b0 { Ax + \ 0}에 준거합니다.
서 d x> { d { (x + 0 \ Ax + \ 0) 。
보조 tt를 도입하여 문제를 재구성할 수 있습니다.
- tt
- + 0, ( x ) x t{ \ + b \ 0 , , { \ { ( ^ { )^{2
이 공식에서는 변수 , \ x의 선형 함수가 목적입니다.
첫 번째 제한은 다음과 같이 기술할 수 있습니다.
서 행렬 diag x+ b)({는 벡터 x +({Ax+의 요소와 대각선 값이 같은 정사각형 행렬입니다.
두 번째 제한사항은 다음과 같이 기술할 수 있습니다.
D의(\ D는 다음과 같습니다.
우리는 슈어 보완 이론을 사용하여 다음을 확인할 수 있다.
(Boyd and Vandenberghe, 1996)
이 문제와 관련된 반확정 프로그램은
- tt
- ( + ) x 0 x] 0\ [ { \ { array } { } { \ { } ( + ) & & 0 & { }
예 3(Goemans-Williamson 최대 컷 근사 알고리즘)
반확정 프로그램은 NP-하드 최대화 문제에 대한 근사 알고리즘을 개발하기 위한 중요한 도구입니다.SDP에 기초한 첫 번째 근사 알고리즘은 Michel Goemans와 David P에 의한 것입니다. 윌리엄슨(JACM, 1995).그들은 최대 절단 문제를 연구했다.그래프 G = (V, E)가 주어졌을 때 정점 V의 파티션을 출력하여 한 변에서 다른 변으로 교차하는 에지 수를 최대화합니다.이 문제는 정수 2차 프로그램으로 나타낼 수 있습니다.
- ( ,j ) E - j 2, \ \ { ( i , ) \ E } { \ { 1 - _ { i }_ { j } { such { 1 ,- \ { i } \ { 1 - } } { 1 } }} . . { .1 - 1 - 1 - 1 - 1 - 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1 \ 1} } } } } } 。
P = NP가 아니면 이 최대화 문제를 효율적으로 해결할 수 없습니다.그러나 Goemans와 Williamson은 이러한 문제를 해결하기 위한 일반적인 3단계 절차를 관찰했습니다.
- 정수 2차 프로그램을 SDP로 완화합니다.
- SDP를 해결합니다(임의의 작은 가법 \ \ 。
- SDP 솔루션을 반올림하여 원래 정수 2차 프로그램에 대한 근사 솔루션을 구합니다.
맥스 컷을 할 때 가장 자연스러운 릴렉스는
- ( , ) E - , 2, { _ { ( , ) \ E } { \ { 1 - \ _ { , { j } \ { \ style} ) 。
목적함수와 제약조건은 모두 벡터 내적물의 선형함수이기 때문에 이것은 SDP이다.SDP를 해결하면 R \ 단위로 단위 벡터 가 제공됩니다. 벡터는 공선일 필요가 없으므로 이 완화 프로그램의 값은 원래 2차 정수 프로그램의 값보다 높을 수 있습니다.마지막으로 칸막이를 얻기 위해서는 반올림 절차가 필요하다.Goemans와 Williamson은 단순히 원점을 통해 균일하게 랜덤한 하이퍼플레인(hyperplane)을 선택하고 대응하는 벡터가 있는 하이퍼플레인(hyperplane)의 어느 쪽에 있는가에 따라 정점을 나눕니다.이 절차는 0.87856 - ε의 예상 근사비(성능 보증)를 달성하는 것으로 나타났습니다(절단의 예상 값은 에지가 절단될 확률의 에지 전체에 걸친 합계로, - 1 , \ style \^-에 비례합니다).\ 、 \ 。이 확률을 ( v , ) / (- \ _ { , v _ { j } \ ) / {과 비교하면, 이 비율은 항상 0.87856 이상입니다.고유 게임 추측을 가정하면 이 근사비가 본질적으로 최적임을 알 수 있다.
Goemans와 Williamson의 원본 논문 이후, SDP는 수많은 근사 알고리즘을 개발하기 위해 적용되어 왔다.최근 Prasad Raghavendra는 독특한 게임 [3]추측을 바탕으로 제약 만족 문제를 위한 일반적인 프레임워크를 개발했다.
알고리즘
SDP를 해결하기 위한 알고리즘에는 몇 가지 유형이 있습니다.이러한 알고리즘은 프로그램 설명 크기 및 ( / ) { ( / ) \ epsilon 시간 내에 SDP 값을 추가 \ \ }까지 출력합니다.
또한 문제의 제약조건을 검사하여 SDP 문제를 사전 처리하는 데 사용할 수 있는 안면 축소 알고리즘도 있습니다.이 값을 사용하여 엄밀한 타당성 결여를 탐지하고, 중복 행과 열을 삭제하며,[4] 변수 행렬의 크기를 줄일 수 있습니다.
내부 포인트 방식
대부분의 코드는 내부 포인트 방식(CSDP, MOSEK, SeDuMi, SDP3, DSDP, SDPA)을 기반으로 합니다.일반적인 선형 SDP 문제에 대해 견고하고 효율적입니다.알고리즘이 2차 방법이며 큰 행렬(종종 조밀)을 저장하고 인수분해해야 한다는 사실에 의해 제한됩니다.이론적으로 최첨단 고정밀 SDP 알고리즘은[5][6] 이 접근방식을 기반으로 합니다.
1차 방법
원뿔 최적화를 위한 1차 방법은 큰 헤시안 행렬을 계산, 저장 및 인수분해하지 않고 정확도 면에서 어느 정도 비용을 들여 내부 포인트 방법보다 훨씬 더 큰 문제로 확장된다.1차 방법은 분할 원뿔 솔버([7]SCS)에서 구현된다.또 다른 1차 방법은 곱셈기 교대방향법(ADMM)[8]이다.이 방법은 반정의 행렬의 원뿔에 대한 모든 단계 투영을 필요로 한다.
번들 방식
코드 ConicBundle은 SDP 문제를 평활하지 않은 최적화 문제로 공식화하고 이를 평활하지 않은 최적화의 Spectral Bundle 방식으로 해결합니다.이 접근방식은 특수한 종류의 선형 SDP 문제에 매우 효율적입니다.
기타 해결 방법
증강 라그랑지안 방식(PENSDP)에 기반한 알고리즘은 내부 포인트 방식과 동작이 유사하며 일부 매우 큰 규모의 문제에 특화할 수 있습니다.다른 알고리즘에서는 비선형 프로그래밍 문제(SDPLR)[9]로서 하위 정보 및 SDP 재구성을 사용합니다.
대략적인 방법
SDP를 대략적으로 해결하는 알고리즘도 제안되었습니다.이러한 방법의 주된 목표는 대략적인 해법으로 충분하고 복잡성이 최소화되어야 하는 애플리케이션에서 복잡성을 낮추는 것입니다.MIMO(Multiple Input Multiple Output) 무선 시스템에서 데이터 검출에 사용되고 있는 현저한 방법은 Triangular Asmidefinite Relaxation(TASER; 삼각근사 SEMidefinite 완화)입니다.TASER는 [10]반확정행렬 대신 반확행렬의 콜레스키 분해계수로 동작합니다.이 방법은 종종 정확한 솔버로부터의 해결책과 비슷하지만 10-20번의 알고리즘 반복만으로 최대 컷과 유사한 문제에 대한 대략적인 해결책을 계산합니다.
적용들
반무한 프로그래밍은 0.87856의 근사 비율의 최대 컷 문제 해법과 같은 조합 최적화 문제에 대한 근사 해법을 찾기 위해 적용되었다.SDP는 또한 장력 그래프를 결정하기 위해 기하학에서 사용되며, 제어 이론에서 LMI로, 역 타원 계수 문제에서 볼록, 비선형, 반정밀성 [11]제약으로 발생한다.
레퍼런스
- ^ Ramana, Motakuri V. (1997). "An exact duality theory for semidefinite programming and its complexity implications". Mathematical Programming. 77 (1): 129–162. doi:10.1007/BF02614433. ISSN 0025-5610. S2CID 12886462.
- ^ Vandenberghe, Lieven; Boyd, Stephen (1996). "Semidefinite Programming". SIAM Review. 38 (1): 49–95. doi:10.1137/1038003. ISSN 0036-1445.
- ^ Raghavendra, Prasad (2008). "Optimal algorithms and inapproximability results for every CSP?". Proceedings of the fortieth annual ACM symposium on Theory of computing. pp. 245–254. doi:10.1145/1374376.1374414. ISBN 9781605580470. S2CID 15075197.
- ^ Zhu, Yuzixuan; Pataki, Gábor; Tran-Dinh, Quoc (2019), "Sieve-SDP: a simple facial reduction algorithm to preprocess semidefinite programs", Mathematical Programming Computation, 11 (3): 503–586, arXiv:1710.08954, doi:10.1007/s12532-019-00164-4, ISSN 1867-2949, S2CID 53645581
- ^ Jiang, Haotian; Kathuria, Tarun; Lee, Yin Tat; Padmanabhan, Swati; Song, Zhao (November 2020). "A Faster Interior Point Method for Semidefinite Programming". 2020 IEEE 61st Annual Symposium on Foundations of Computer Science (FOCS). Durham, NC, USA: IEEE: 910–918. arXiv:2009.10217. doi:10.1109/FOCS46700.2020.00089. ISBN 978-1-7281-9621-3. S2CID 221836388.
- ^ Huang, Baihe; Jiang, Shunhua; Song, Zhao; Tao, Runzhou; Zhang, Ruizhe (2021-11-18). "Solving SDP Faster: A Robust IPM Framework and Efficient Implementation". arXiv:2101.08208 [math.OC].
- ^ Brendan O'Donoghue, Eric Chu, Neal Parikh, Stephen Boyd, "연산자 분할 및 균질 자기 이중 임베딩을 통한 원추 최적화", 최적화 이론 및 응용 저널, 2016, pp 1042-1068, https://web.stanford.edu//http/df/pdf.
- ^ 원, 자이웬, 도날드 골드파브, 와타오인. "교체 방향은 반무한 프로그래밍을 위한 라그랑지안 방법을 증가시켰다."수학 프로그래밍 연산 2.3-4(2010): 203-230.
- ^ Burer, Samuel; Monteiro, Renato D. C. (2003), "A nonlinear programming algorithm for solving semidefinite programs via low-rank factorization", Mathematical Programming, 95 (2): 329–357, CiteSeerX 10.1.1.682.1520, doi:10.1007/s10107-002-0352-8, ISSN 1436-4646, S2CID 7691228
- ^ Castañeda, O.; Goldstein, T.; Studer, C. (December 2016). "Data Detection in Large Multi-Antenna Wireless Systems via Approximate Semidefinite Relaxation". IEEE Transactions on Circuits and Systems I: Regular Papers. 63 (12): 2334–2346. arXiv:1609.01797. doi:10.1109/TCSI.2016.2607198. hdl:20.500.11850/448631. ISSN 1558-0806.
- ^ Harrach, Bastian (2021), "Solving an inverse elliptic coefficient problem by convex non-linear semidefinite programming", Optimization Letters, 16 (5): 1599–1609, arXiv:2105.11440, doi:10.1007/s11590-021-01802-4, S2CID 235166806
- Lieben Vandenberghe, Stephen Boyd, "Semidefinite Programming", SIAM Review 38, 1996년 3월, 페이지 49-95. pdf.
- Monique Laurent, Franz Rendl, "Semidefinite Programming and Integer Programming", 보고서 PNA-R0210, CWI, 암스테르담, 2002년 4월. optimization-online
- E. de Klerk, "반확정 프로그래밍의 전망:Interior Point Algorithms and Selected Applications", Kluwer Academic Publishers, 2002년 3월, ISBN 1-4020-0547-4.
- 로버트 M.Freund, "SDP(Semidefinite Programming) 소개", SDP 소개
외부 링크
- 현장 소개 및 이벤트 링크
- 반확정 프로그래밍에 관한 Laszlo Lovasz의 강의 노트