본문 바로가기
AI 수학/최적화

최적화 문제의 분류

by 깊은대학 2020. 9. 30.

제약조건이 있는 비선형 다변수 함수 f(x)의 최소값 (또는 최대값)을 구하는 문제를 정적 최적화(static optimization) 문제 또는 비선형 프로그래밍 문제(NLP, nonlinear programming problem)라고 한다. 수식으로 표현하면 다음과 같다.

 

p=minxf(x)subject to   gi(x)0,   i=1,...,mhj(x)=0,   j=1,...,p

 

여기서 xRn을 최적화 변수(optimization variable)라고 하고, f(x):RnR 을 목적함수(objective function), gi(x):RnR 을 부등식 제약함수(inequality constraint function), hj(x):RnR 을 등식 제약함수(equality constraint function)라고 한다. 부등식, 등식 제약함수는 편의상 다음과 같이 벡터 형태로 표현하기도 한다.

 

g(x)0h(x)=0

 

여기서 부등식과 등식은 벡터 함수 g(x),h(x)의 성분별로 적용된다.

 

 

만약 제약조건을 만족하는 x값이 존재하지 않는다면 최적화 문제는 실현불가능(infeasible)이라고 하고 그 때의 최소값은 p=가 된다.

비선형 다변수 함수 f(x)의 최대값을 구하는 문제는 f(x)의 최소값을 구하는 문제와 같으므로 최적화 문제를 최소화와 최대화 문제로 따로 구별할 필요는 없다.

 

 

만약 목적함수와 부등식 제약함수가 컨벡스(convex) 함수이고 등식 제약함수가 어파인(affine) 함수로 주어진다면, 이 최적화 문제를 컨벡스 최적화 문제(convex optimization problem)라고 한다. 즉 컨벡스 최적화 문제는 다음과 같다.

 

p=minxf(x)subject to   gi(x)0,   i=1,...,mAx=b

 

여기서 f(x)gi(x),i=1,,m 는 컨벡스 함수이고 Ap×n 행렬, bp×1 벡터이다.

만약 목적함수와 부등식 제약함수, 등식 제약함수가 모두 어파인(affine) 함수로 주어진다면, 이 최적화 문제를 선형 프로그래밍(LP, linear programming)문제라고 한다. 즉 LP 문제는 다음과 같다.

 

p=minxcTx+dsubject to   GxzAx=b

 

여기서 Gm×n 행렬, zm×1 벡터, Ap×n 행렬, bp×1 벡터이다. LP는 다면체(polyhedron) 상에서 어파인 함수를 최소화하는 문제다.

 



만약 목적함수가 2차함수이고, 부등식 제약함수와 등식 제약함수가 어파인(affine) 함수로 주어진다면, 이 최적화 문제를 2차 프로그래밍(QP, quadratic programming)문제라고 한다. 즉 QP 문제는 다음과 같다.

 

p=minx12xTPx+cTx+dsubject to   GxzAx=b

 

여기서 Pn×n 행렬, Gm×n 행렬, zm×1 벡터, Ap×n 행렬, bp×1 벡터이다. P0 이면 목적함수가 컨벡스 함수이므로 QP는 컨벡스 문제가 된다. QP는 다면체 상에서 컨벡스 2차함수를 최소화하는 문제다.

 

 

 

댓글