기하 프로그래밍
Geometric programming기하학적 프로그램(GP)은 양식의 최적화 문제다.
서 … , f_},\은 (는) 양수이고, , 는 단수형이다.기하학적 프로그래밍의 맥락에서 (표준수학과는 달리 단수(monomial)는 다음과 같이 된 n {\R}}}부터R {\ {R까지 함수다.
서 c> 및 i 양수(posynomial)는 단수(monomials)의 모든 합이다.[1][2]
기하학적 프로그래밍은 볼록 최적화와 밀접한 관련이 있다: 어떤 GP도 변수의 변화에 의해 볼록하게 만들 수 있다.[2]GP는 IC 설계에서 구성요소 크기 조정,[3][4][5] 항공기 설계, 통계에서 로지스틱 회귀 분석을 위한 최대우도 추정, 제어 이론에서 양의 선형 시스템의 매개변수 조정을 포함하여 수많은 애플리케이션을 가지고 있다.[6]
볼록형
기하학적 프로그램은 일반적인 볼록 최적화 문제는 아니지만, 변수의 변화 및 목표와 제약 함수의 변형에 의해 볼록한 문제로 변형될 수 있다.특히 변수 = log( 를 변경하고 목적 및 제약함수의 로그를 취하면 함수 즉 양수인 log-sum-exp 함수로 변환된다. 즉 단조류가 아핀이 된다.따라서 이 변환은 모든 GP를 동등한 볼록 프로그램으로 변환한다.[2]실제로, 이러한 로그 로그 변환은 로그 로그 볼록 프로그래밍(LLCP)이라고 알려진 더 큰 종류의 문제를 동등한 볼록 형태로 변환하는 데 사용될 수 있다.[7]
소프트웨어
기하학적 프로그램을 구성하고 해결하는 데 도움이 되는 몇 가지 소프트웨어 패키지가 존재한다.
- MOSEK는 다른 비선형 최적화 문제뿐만 아니라 기하학적 프로그램을 해결할 수 있는 상용 해결사다.
- CVXOPT는 볼록 최적화 문제에 대한 오픈 소스 해결사다.
- GPkit은 기하학적 프로그래밍 모델을 깨끗하게 정의하고 조작하기 위한 Python 패키지다.여기 이 패키지로 작성된 GP 모델 예시들이 많이 있다.
- GGPLAB는 기하학적 프로그램(GP)과 일반화된 기하학적 프로그램(GGGP)을 지정하고 해결하기 위한 MATLAB 도구상자다.
- CVXPY는 GP, GGP, LLCP 등 볼록 최적화 문제를 지정하고 해결하기 위한 파이썬 내장 모델링 언어다.[7]
참고 항목
참조
- ^ Richard J. Duffin; Elmor L. Peterson; Clarence Zener (1967). Geometric Programming. John Wiley and Sons. p. 278. ISBN 0-471-22370-0.
- ^ a b c S. 보이드, S. J. 킴, L. 반덴베헤, A.하시비.기하학적 프로그래밍에 대한 자습서.2019년 10월 20일 회수
- ^ M. Hersenson, S. Boyd, T. Lee.기하학적 프로그래밍을 통한 CMOS Op-amp의 최적설계2019년 1월 8일 검색됨
- ^ S. 보이드, S. J. 킴, D.파틸, 그리고 M.호로위츠.기하학적 프로그래밍을 통한 디지털 회로 최적화.2019년 10월 20일 회수
- ^ W. 호버그와 P. 압베엘.항공기 설계 최적화를 위한 기하학적 프로그래밍.AIAA Journal 52.11(2014년): 2414-2426.
- ^ Ogura, Masaki; Kishida, Masako; Lam, James (2020). "Geometric Programming for Optimal Positive Linear Systems". IEEE Transactions on Automatic Control. 65 (11): 4648–4663. arXiv:1904.12976. doi:10.1109/TAC.2019.2960697. ISSN 0018-9286.
- ^ a b A. Agrawal, S. Diamond, S.보이드. 규율된 기하학적 프로그래밍.2019년 1월 8일 검색됨