최적화 - previewpolytope.snu.ac.kr/courses/lp15/nlp-preview(최종본).pdf · 2015-06-01 ·...

Post on 19-Mar-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

최적화 - preview최적화 구조 기울기 벡터, 감소방향, 가능방향, 개선방향정리

KKT 최적 필요 조건의 원리

볼록성 KKT 필요충분조건

최적화 알고리듬

알고리듬의 원리 - unconstrained, affine set, barrier method

참고 : 알고리듬의 종류

체인모양 결정문제

연결마디가 자유롭게 각을 이루도록, 다섯조각의 철사를 연결한 체인의 양끝을 각각 고리에 걸면 그 모양은 어떻게 될까?

결정변수 : 6개 마디의 좌표, (x1,y1), ..., (x6, y6).

제약 조건: 양끝 마디는 고리의 위치와 일치, 나머지 연속한 마디 사이 거리는 철사의 길이와 일치

목적함수 : 체인의 위치에너지 최소화

길이 26.5, 50.5, 34, 19.5, 41.5 cm 철사조각 연결 체인과 120cm 수평 간격의 고리일 때?

체인모양 결정문제 (계속)

min 26.5⇥ y1 + y2

2

+ 50.5⇥ y2 + y3

2

+ 34⇥ y3 + y4

2

+19.5⇥ y4+y5

2 + 41.5⇥ y5+y6

2sub.to (x1 � x2)

2+ (y1 � y2)

2= 26.5

2,

(x2 � x3)2+ (y2 � y3)

2= 50.5

2,

(x3 � x4)2+ (y3 � y4)

2= 34

2,

(x4 � x5)2+ (y4 � y5)

2= 19.5

2,

(x5 � x6)2+ (y5 � y6)

2= 41.5

2,

(x1, y1) = (0, 0),

(x6, y6) = (120, 0).

체인모양 결정문제 (계속)

최적화모형

(x1, y1) = (0, 0)(x2, y2) = (12.69,�23.27)(x3, y3) = (51.09,�56.06)(x4, y4) = (84.28,�48.72)(x5, y5) = (98.76,�35.65)(x6, y6) = (120, 0)

체인모양 결정문제 (계속)

최적해

실험 결과

체인모양 결정문제 (계속)

비선형계획문제min f(x)

s.t. gi(x) = 0, i = 1, 2, . . . ,m,

hj(x) 0, j = 1, 2, . . . , p

비선형계획문제 - 간단한 예방정식 Ax = b는 A의 열벡터를 조합하여 b를 나타내는 계수 x를 구하는 것이다. 만약 가능해가 없는 경우는 오차가 가장 작은 조합을 구하는 문제를 생각할 수 있다: min ‖Ax -b‖ ⇔ min ‖Ax -b‖2 = xTATAx - 2bTA x +bTb. 일반적으로 2차함수는 다음과 같이 표현할 수 있다. xTQx +cTx +d. 이는 벡터 b를 A 열공간에 투영하는 문제가 된다.

유사하게 표준형 선형시스템의 오차가 가장 적은 가능해를 구하는 문제도 생각할 수 있다.

기울기 벡터 (gradient vector)

는 점 에서 함수의 순간 증가율이 가장 큰 방향을, 그리고 그 크기 는 그 증가율이 된다.

rf(x̄) =⇣

@f

@x1(x̄), @f

@x2(x̄), . . . , @f

@xn(x̄)

⌘T

.

rf(x̄)x = x̄

|rf(x̄)|

비선형계획의 이론과 알고리듬은 문제의 선형근사에 기반을 두고 있다. 이러한 원리를 이해하는데 가장 기본적인 것이 기울기 벡터이다.

평면 슬로우프에 스키를 신고 서면, 미끄러지는 반대 방향이, 평면을 그래프로 가지는 1차함수의 기울기벡터의 방향이 되고, 단위 수평거리 당 함수의 감소 크기가 그 크기가 된다.

일차함수의 기울기 벡터

각 점에서 함수 그래프에 접하는 평면을 그래프로 가지는 일차함수의 기울기벡터를, 함수의 기울기 벡터로 정의. (그런 평면이 항상 유일한 것은 아니다. 이 경우 미분 불능 함수라고 한다.)

일반함수의 기울기 벡터

접평면이 나타내는 다음의 일차함수 기울기 벡터와 일치

f(x) = x

21 + 2x2

2

rf(x) = [2x1, 4x2]T

rf(1, 1) = [2, 4]T

g(x) = 2x1 + 4x2 � 3

함수

점 (1,1)에서의 기울기 벡터

일반함수의 기울기 벡터

등고선과 기울기 벡터

각 점에서 함수 그래프에 접하는 1차함수의 등고선은 함수의 그래프에 접한다. 왜냐하면 모두 공통의 기울기 벡터와 수직을 이루기 때문이다.

f : ℝ3→ℝ2, x=[x1, x2, x3]T ↦ f(x) = [f1(x1, x2, x3), f2(x1, x2, x3)]T

도함수 Df(x)는 ℝ3→ℝ2 선형변환으로 정의한다. (즉, 2✕3 행렬이 된다.)

f(x+y) = f(x) + Df(x) y + o(‖y‖)

약간의 해석학 1 -연쇄법칙 (chain rule)

Df(x) =

"@f1

@x1

@f1

@x2

@f1

@x3@f2

@x1

@f2

@x2

@f2

@x3

#

f : ℝ3→ℝ, x=[x1,x2,x3]T, ∈ ℝ1×3

g : ℝ→ℝ3, t ↦ [g1(t),g2(t),g3(t)]T, Dg(t) = [g1’(t), g2’(t), g3’(t)]T∈ ℝ3×1

h : ℝ→ℝ, t ↦ h(t)=f(g1(t),g2(t),g3(t))=f(g(t)), 즉, h=f∘g

h’(t) = Df(g(t))Dg(t)

예를 들어, g(t)=x+ty (x,y ∈ ℝ3, 상수 벡터)이면 Dg(t) =y 이므로 h’(t)= ∇Tf(x+ty)y. 이 때 h’(0)= ∇Tf(x)y를, f의 x에서 y로의 방향 도함수 (directional derivative)라고 부른다.

약간의 해석학 1 -연쇄법칙 (chain rule) -계속

Df(x) =h

@f

@x1

@f

@x2

@f

@x3

i

=h

@f

@x1(g(t)) @f

@x2(g(t)) @f

@x3(g(t))

i2

4g01(t)g02(t)g03(t)

3

5

= rT f(g(t))Dg(t)

g : ℝ→ℝ3, t ↦ [g1(t),g2(t),g3(t)]T, Dg(t) = [g1’(t), g2’(t), g3’(t)]T ∈ ℝ3×1

예를 들어, g(t)=x+ty (x,y ∈ ℝ3, 상수 벡터)이면 Dg(t) =y.

일반적으로 g’(t0)는 점 g(t0)에서 곡선의 접선벡터 (tangent vector)가 된다.

g(0)=x

약간의 해석학 1 -연쇄법칙 (chain rule) -계속

g(t)g’(0)=y

g(0)=x

g’(0)

KKT 필요 조건의 원리-등호제약

다음 간단한 예에서 볼 수 있듯이, 국지 최적해의 목적함수 기울기 벡터는 등호 제약식 기울기 벡터와 평행해야 한다 : ∃ λ∈ℝ: ∇f(x*)=λ∇g(x*).

충분조건이 아닌 것은 오른쪽 그림에서 최대화문제를 고려하면 된다.

KKT 필요 조건의 원리-등호제약x*가 max{f(x) : g(x) =0}의 국지해이고 ∇g(x*) ≠0 라고 하자. c: ℝ→ℝn를c(0) =x*만족하는, 곡면 g(x)=0에 품기는 임의의 곡선(curve)이라고 하자. u(t):=f(c(t)) 라고 하면 t=0는 maxtu(t)의 국지해가 된다. 따라서, u’(0) = ∇Tf(c(0))c’(0) =∇Tf(x*)c’(0)=0.  x*에서 곡면 g(x)=0의 임의의 접선 벡터는 c’(0)로 나타낼 수 있다. 그러므로 ∇Tf(x*)는 x*에서 접평면에 수직이다.

g(c(t))=0에서 (g(c(t)))’|t=0= ∇Tg(c(0))c’(0)=∇Tg(x*)c’(0)=0. ∇Tg(x*) 역시 접평면에 수직. 동일한 평면에 수직하므로 ∃ λ∈ℝ: ∇Tf(x*) = λ ∇Tg(x*)

0)( xg

)(tc

)0('c

)0(* cx

*)(xf�

KKT 필요 조건의 원리-등호제약참고: 엄밀하게는 곡선의 존재성을 보이는 것이 필요. (Implicit Function Theorem을 사용할 수 있다.)

앞의 방법을 확장하면 max{f(x) | g(x) = (g1(x), ..., g2(x))T = 0} 의 국지해 x* 에서 목적함수의 기울기 벡터가 제약식 기울기 벡터 공간에 속해야 한다: ∇f(x*)=λ1∇g1(x*) +…+λm∇gm(x*) , λ∈ℝm. (단, ∇g1(x*) , …, ∇gm(x*)이 선형독립조건이 필요.)

감소방향 정리

감소방향

점 에서 기울기벡터 와 둔각을 이루는 방향, 즉 , 를 만족하는 y 방향의 충분히 가까운 점들은 함수 값이 f( )보다 작은 것을 알 수 있다.

rf(x̄) rTf(x̄)y < 0

감소방향 정리미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는 감소방향이 된다. 즉, 와 내적이 양수가 되는 y가 있을 때, 로 부터 y 방향으로 충분히 가까이 있는 점들은 함수 값이 보다 작다:

9�̄ : 80 < � < �̄, f(x̄+ �y) < f(x̄)

fx = x̄

rf(x̄) 6= 0

�rf(x̄)

f(x̄)

감소방향 정리증명

1 변수의 경우, 이미 우리가 알고 있다. 도함수가 음수이면, 즉 양의 방향으로 감소하면 9�̄ > 0 : 80 < � < �̄, f(x̄+ �) < f(x̄).

ℝn 의 경우

감소방향 정리증명-참고

증가방향정리를 써보라.

증가 및 감소방향

증가방향 증가방향

감소방향

이는 함수의 가울기 벡터와 내적이 양인 방향은 증가방향, 음인 방향은 감소방향이 되는 것을 의미한다.

감소방향

가능 및 불가능 방향

불가능방향 불가능방향

가능방향

제약식의 g(x) ≤ 0의 경우, x가 g(x)= 0인 가능해일 때 기울기벡터 ∇g(x)와 내적이 음수인 방향은 함수 값을 감소시키므로, 가능성을 유지하며 움직일 수 이동할 수 있는 가능방향이 된다.

g(x)= x12+2x2

2- 3≤0g(x)= x1+2x2 - 3≤0

∇g(1,1)

∇g(1,1)

g(x)=0

g(x)=0

g(x)=6

g(x)=9

g(x)=0

g(x)=12

g(x)=27

2x1+4x2 - 6=0

가능방향∇g(x)Ty<0

∇g(x)Ty<0

KKT 필요 조건의 원리-부등호제약

필요조건 - 어떤 점이 국지해이면, 최소화 문제의 경우는 감소, 최대화 경우는 증가 방향이 가능 방향 중에 존재하지 않아야 한다.

선형문제를 먼저 예로 보자.max 4x1+2x2

s.t. x1+2x2 -10 ≤ 0 4x1-x2 -4 ≤ 0 -x1 ≤ 0 -x2 ≤ 0

(2,4)가 최적해이면 이로부터 증가방향과 가능방향의 교집합이 없어야 한다. 이는, 그림에서 목적함수 기울기벡터가, 해가 등호로 만족하는 제약식의 두 기울기 벡터사이에 있어야 한다는 의미이다.

증가방향

가능방향

증가방향

가능방향

∇g1(x)

∇g2(x)

∇f(x)

국지해(최적해)인 경우 국지해(최적해)가 아닌 경우

이는 ∇f(x)가 ∇g1(x)와 ∇g2(x)의 비음조합, 즉 ∇f(x) = λ1∇g1(x) + λ2∇g2(x) 인 λ1,λ2≥0가 존재한다는 것이다.

KKT 필요 조건의 원리-부등호제

이를 일반화하면 ‘b1Ty<0, b2

Ty<0인 모든 y에 대하여, aTy≤0’라는 것은 max{aTy : b1

Ty≤0, b2Ty≤0} ≤0라는 의

미이다. (역도 성립.)

이는 강쌍대정리에 의하여, B를 b1, b2를 행으로 하는 행렬이라고 할때 쌍대문제 min {0Tλ : BTy=a, λ1,λ2≥0}가 가능해를 가진다는 말과 같다. 즉, ‘a= λ1b1+λ2b2 λ1,λ2≥0’인 λ가 존재한다.

a= ∇f(x),bi= ∇gi(x)로 놓고 위의 사실을 적용하면 ‘∇f(x) =λ1∇g1(x)+λ1∇g1(x) 인 λ1,λ2≥0가 존재한다’는 의미이다.

증가방향

가능방향

b1

b2

a

y

KKT 필요 조건의 원리-부등호제약참고

[4,2]T= λ1[1,2]T + λ2[4,-1]T, λ1≥0, λ2≥0. 실제로 λ1=4/3, λ2=2/3가 이 관계를 만족.

min 10λ1+4λ2 s.t. λ1 +4λ2 ≥ 4 2λ1-λ2 ≥ 2 λ1≥0, λ2≥0

λ를 라그랑지 승수(Lagrangian multiplier)라고 한다.

λ1=4/3

λ2=2/3

참고 : 선형계획의 경우 위 조건을 만족하는 라그랑지 승수는 쌍대문제 최적해와 같다! (확인해 볼것.)

KKT 필요 조건의 원리-부등호제

KKT 필요 조건의 원리-부등호제

비선형문제의 예를 보자.

λ1

λ2

최적해에서 만족해야 하는 조건은 선형문제와 같다. 점 (2,4)에서, 목적함수의 기울기벡터가, 등호로 만족하는 두 제약식의 기울기벡터의 비음조합이 되어야 한다.

max x1x2

s.t. x1+2x2 -10 ≤ 0 x1

2-x2 ≤ 0 -x1 ≤ 0, -x2 ≤ 0

참고: 점 (2,4)가 자신을 중심으로 선형근사하여 얻은 선형계획문제의 최적해가 되고, 그 쌍대 최적해가 라그랑지 승수가 된다는 의미이다.

 다음을 증명하여 보자:

내부해 기본정리: b1, …,bm이  선형독립이면 b1

Ty<0, …,bmTy<0인 y가 존재 한다.

증명: 아니라고 하면, 어떤 y도 biTy≥0인 i가

존재한다는 의미이다. 이는 다음의 선형계획의 최적 목적함수 값이 0이라는 의미이다. min{t: b1

Ty≤t, …,bmTy≤t}.

강쌍대성에 의해 다음과 같은 π≤0이존재한다: [b1

… bm] π=0, eTπ=-1. 두번째 조건에서 π≠0 이므로 b1, …,bm이  선형독립이라는 것에 모순. ⃞

가능방향

b1

b2

y

KKT 필요 조건-부등호제약

 x*가 max{f(x): g(x)≤0} 국지해라고 하자. x*가 등호로 만족하는 제약식들을 g1(x)≤0, …,gk(x)≤0이라고 하자.

∇g1(x*) … ∇gk(x*)가 선형독립이면, ‘∇g1(x*)Ty<0, …, ∇gm(x*)Ty<0‘을 만족하는 y가 존재하며, 모두 가능방향이다. x*가 국지해이므로, ∇f(x*)Ty≤0’가 성립하여야 한다.

즉, 선형계획 max {∇f(x*)Ty: ∇g1(x*)Ty≤0, …, ∇gm(x*)Ty≤0}의 최적목적함수 값이 0이다. 강쌍대정리를 min {0Tλ : [∇g1(x*) … ∇gm(x*)]λ= ∇f(x*), λ ≥0}에 적용하면 바로 KKT 조건을 얻는다.

증가방향

가능방향

∇g1T(x*)

∇g2T(x*)

∇fT(x*)

y

KKT 필요 조건-부등호제약

f와 g=(g1, …, gp)가 미분가능하고 x*가 max{f(x)| g(x) ≤ 0}의 국지 최적해라고 하자. 만약 x*가 ‘regularity’ 가정을 만족하면, 다음의 μ가 존재한다.

∇f(x*)=μ1∇h1(x*)+…+ μp∇hp(x*)

μ≥0

hj(x*)<0이면, μj=0. 즉, μTh(x)=0.

연습문제: regularity 가정이 없는 경우, KKT 조건이 만족하지 않을 수 있는 것을 보여라.

충분조건은 일반적으로 성립하지 않는다. max{x2 : x2 ≤ x13}

KKT 필요 조건-부등호제약

KKT 필요 조건-등호및부등호 제약 등호와 부등호 제약식이 같이 존재하는 경우에도 조건을 쉽게 확장할 수 있다.

x*가 max{f(x): g1(x)=0, ..., gm(x)=0, h1(x)≤0, ..., hp(x)≤0}의 국지해라고 하자. x*가 등호로 만족하는 제약식들의 기울기 벡터들이 선형독립이면 다음이 λ∈ℝm와 μ∈ℝp가 존재한다:

∇f(x*)=λ1∇g1(x*) +…+λm∇gm(x*)+μ1∇h1(x*)+…+ μp∇hp(x*),

μ≥0,

μTh(x*) =0.

연습문제: 문제가 최소화가 되면? min{f(x): g1(x)=0, ..., gm(x)=0, h1(x)≤0, ..., hp(x)≤0.}

국지해 vs 최적해

g3(x) =-3(x1-1)2+x2-2≤0

x1+2x2-10≤0

앞 문제에 제약식 g3(x) = -3(x1-1)2+x2-2≤0을 추가 하면 (0,5)는 국지해가 된다.

가능방향 중 증가방향이 존재하지 않음을 확인하라.

대응하는 선형근사문제와 라그랑지 승수를 구하라.

해집합이 ‘볼록’이 아니어서 국지해로부터 최적해로 가능방향이 존재하지 않는다.

볼록 그리고 비볼록함수의 최적화

국지해 = 최적해 국지해 ≠ 최적해

볼록 그리고 비볼록 집합 위의 최적화

함수가 볼록해도 해집합이 볼록하지 않으면 국지해가 최적해가 되지 않을 수 있다.

볼록조합과 볼록집합 Convexity

두점 x,y∈ℝn를 포함하는 선분 {z≔ (1-λ)x+λy: 0 ≤λ≤1} 의 점을 x,y의 볼록조합(convex combination) 이라고 한다.

자신의 모든 원소 쌍의 볼록조합을 포함하는 집합을 볼록집합(convex set)이라고 한다.

볼록집합과 비볼록집합의 예

현(chord)

볼록함수

정의역(domain), D가 볼록집합이고 (예: D=ℝn), 현이 항상 그래프 위에 있는 함수를 볼록함수(convex function)라고 한다: ∀x,y∈D, ∀0 ≤λ≤1,

f((1-λ)x+λy)≤(1-λ)f(x)+λf(y).

-f가 볼록함수이면 f를 오목함수라고 한다. 이는 모든 현 보다 대응하는 그래프가 위에 있다는 말과 같다: f((1-λ)x+λy)≥(1-λ)f(x)+λf(y).

선형근사와 볼록함수(미분가능한) 볼록함수의 모든 점x에서 선형근사는 함수보다 항상 같거나 작다. 그리고 그 역도 성립한다: g(y)≔f(x) + ∇f(x)T(y-x) ≤ f(y) ∀y. 증명: 생략

z

z - x

볼록최적화

S = {x: g1(x)=0, ..., gm(x)=0, h1(x)≤0, ..., hp(x)≤0}를 볼록집합이라고 하자. 우선 g는 평면함수가 되어야 한다: g(x) = Ax -b. 그리고 hi(x)는 볼록함수로 가정한다.

볼록집합 위에서 볼록 함수를 최소화하거나, 오목 함수를 최대화 하는 것을 볼록 최적화문제 (convex optimization)라고 한다: max{f(x): x ∈S}, f concave, 또는 min{f(x): x ∈ S}, f convex.

볼록최적화 문제는 매우 좋은 성질을 갖는 최적화 문제이다. 이러한 성질들은 최적해를 효율적으로 계산하는 것을 가능하게 한다.

(약간의 가정을 추가하면) 선형계획과 같은 강쌍대성을 갖는다.

KKT 조건이 단순히 필요조건이 뿐 아니라 충분조건도 된다.

볼록최적화의 특성볼록최적화문제에서 국지해가 항상 최적해가 된다. 즉, 최적해가 아니면 국지해도 될 수 없다.

증명 목적함수를 f라고 하고 x가 최적해가 아니라고 하자. (그러면 국지해도 될수 없음을 보이자.) 이는 S에 y≠x가 존재하여 f(y) < f(x)라는 의미이다. 그러면 x와 y를 연결하는 선분의 다른 점들이 모두 목적함수가 f(x)보다 작다는 것을 보이면, x가 국지해가 될 수 없음을 증명하게 된다. (왜인가?)

선분의 점 z를 아래그림과 같이 임의로 잡으면, f의 볼록성에 의하여 f(z)≤(1-λ)f(x)+λf(y) <(1-λ)f(x)+λf(x)=f(x). (두번째 부등호는 가정에의하여 성립) ☐

볼록성+국지최적해=최적해

가능해집합 S와 목적함수가 모두 볼록인 최적화문제 min{f(x): x∈S}에서

f:ℝn→ℝ� 미분가능하다고 하자. 그러면 x∈S가 최적해가 될 필요충분조건은, 모든 가능방향 y가 증가방향이 되는 것이다. 즉, ∇f(x)Ty≥0이 되는 것이다.

따라서 최적해가 내부에 있다면 그 때 기울기벡터는 0이 되어야 한다.

볼록최적화 가능방향 정리

볼록최적화 가능방향 정리

증명: 필요조건은 감소방향 정리에 의하여 성립한다.

충분조건을 보이기 위해 x와 다른 임의의 가능해 z∈S를 생각하자. 그러면 선형근사와 볼록함수의 성질에 의하여 다음이 성립한다.

f(z) ≥ f(x) + ∇f(x)T(z-x) (✻)

집합 S의 볼록성에 의하여 y≔z-x는 가능방향이 된다. 따라서 가정에 의하여 ∇f(x)T(z-x)≥0임 되며, (✻)로 부터 f(z) ≥ f(x)가 성립한다. 따라서 x가 최적해이다. ☐

예: 볼록함수 f:ℝn→ℝ 의 최적화 문제 min{f(x) : x ≥ 0}의 최적조건은 x≥0, ∇f(x) ≥0, xT ∇f(x)=0임을 보이자.

예: 볼록함수 f(x)를 Ax =b위에서 최소화하는 문제의 최적해의 필요충분조건은 ATy = ∇f(x)가 되는 y가 존재하는 것이다.

볼록최적화 KKT 조건

볼록최적화 KKT 조건

가능방향 정리를 사용하면, 볼록최적화문제의 경우, KKT조건이 충분조건이 되는 것을 보일 수 있다.

문제 (P) : max{f(x): g(x)≡Ax-b=0, h(x) ≡ (h1(x), …, hm(x)) ≤0}의 가능해 z가 어떤 λ∈ℝm, μ∈ℝp와 KKT조건을 만족하면 최적해가 된다: ∇f(z)=λT∇g(z) +μT∇h(z)(=λTA+μ1∇h1(z)+…+ μp∇hp(z)); μ≥0; μTh(z) =0.

증명: L(x;λ,μ)≡f(x) - λTg(x) -μT∇h(x)라고 정의하자. (P)가 볼록최적화이므로 고정된 λ,μ 에 대해 L(x;λ,μ) 오목함수가 된다. 따라서 가능방향정리에 의하여 ∇xL(x;λ,μ)=0일 때 최대값이 되며, KKT조건의 첫번째에서 z가 그러한 점이다.

증명 (계속): 따라서 (P)의 임의의 가능해를 x라고 할 때,

L(z;λ,μ) =f(z) - λTg(z) -μTh(z) ≥ f(x) - λTg(x) -μTh(x) ≥ f(x). (✻)

마지막 부등호에서 μ≥0를 사용하였다. 또한 z는 가능해이고, KKT세번째 조건 μTh(z) =0 을 사용하면

L(z;λ,μ) =f(z). (✻ ✻)

(✻)과 (✻ ✻)를 결합하면, z는 (P)의 최적해. ⃞

regularity가 충족되면 이미 보인 것처럼 KKT 조건은 충분조건과 동시에 필요조건이 된다. 볼록최적화의 경우 regularity 대신 다음을 사용할 수 있다. “가능해 중에 h(x) <0를 만족하는 것이 존재한다.” Slater 조건.

볼록최적화 KKT 조건

비선형 알고리즘: 제약조건이 없는 경우

기울기벡터를 사용한 하강 알고리듬의 예 : min f(x)=2(x1-2)2+(x2-2)2

변화율이 충분히 작아질 때까지 다음을 반복

초기점: (3,5)

반복단계: xk+1 ← xk + σkdk , 여기서 dk=-∇f(xk), σk는 f(xk + σdk)를 최소로 만드는 σ.

선형근사를 사용하는 해법이라고 생각할 수 있다.

σ0

x0

x1

d0

이차근사를 사용한 해법을 생각할 수 있다. f(x)=2(x1-2)2+(x2-2)2 =2x1

2 + x22 - 8x1 -

4x2 +12 = =(1/2)xTQx +bTx +c

볼록함수이기 때문에 ∇f(x)=0을 만족하는 점 ‘stationary point’가 최소점.

∇f(x) =

x =-Q-1b = [2,2]T

반복단계: xk+1 ← xk + σkdk , 여기서 dk는 xk

에서 2차근사의 ‘stationary point’로의 방향. 예에서는 원래 함수가 2차함수이기 때문에 최적해를 1회에 도달하게 된다.

Newton 방법이라고 한다.

비선형 알고리즘: 제약조건이 없는 경우

d0

x0

x1

σ0

12

⇥x1 x2

⇤ 4 00 2

� x1

x2

�+

⇥�8 �4

⇤ x1

x2

�+ 12

4 00 2

� x1

x2

�+

�8�4

�= 0

비선형 알고리즘:등호 제약의 경우

등호제약식이 볼록 해집합을 가지려면 선형이 되어야한다.

g(x) = Ax -b =0

A의 열이 모두 선형독립이면, 벡터 를 Ax =0의 공간에 투영한 벡터는 다음의 관계로 주어진다: P= I-AT(AAT)-1A. 최적화 문제 min{‖d-d’‖2:Ax=0}의 KKT 조건을 고려할 것.

다양한 Primal method에 이러한 투영 방향이 원리적으로 사용. (projected gradient, reduced gradient, .... .)

g(x)≤0

비선형 알고리즘:부등호제약 Barrier method의 원리: Barrier를 사용하여 제약식 없는 최적화 문제로 변환.

B(h(・))를 x가 h(・) ≤ 0을 만족하면 B(h(x)) =0, 아니면 =∞ 인 함수라고

하자. 그러면 min {f(x):h(x)≤0}와 min {f(x)+B(h(x)): x ∈ℝn}은 동일한 문제가 된다. 하지만 이런 B(h(・))는 미분불능성이 심하여 경계점 부근에서 다루기가 힘들다. B(h(・))를 더 매끄러운 함수로 대신한다.

예: 로그 장벽 x ≥ 0 ≈ min -(1/t) ㏑x, t>0는 조정 파라미터.

로그장벽을 목적함수에 더하여 부등호 제약식에 대신한다: (P) min {f(x) : x ≥ 0} ≈ (BP) min {f(x) -(1/t)㏑x : x ∈ ℝ}.

(BP)의 최적해를 x*(t)라고 할때, t⟶+∞이면 x*(t)⟶x*.

비선형 알고리즘:부등호제약조건 예 : h1(x)=-x ≤ 0, h2(x)=x-10 ≤ 0 ⟷ min B(h1(x))+B(h2(x)) ≈ min -(1/t) (㏑x + ㏑(10-x))로 놓으면 t가 커질 때, 로그 배리어는 다음과 같이 변한다.

로그가 아닌 다른 장벽은?

+∞+∞

0

비선형 알고리즘의 종류Unconstrained method: Gradient method, Newton method, Quasi-Newton method, Conjugate direction method

Primal Methods: Feasible direction method, Projected gradient, Reduced gradient method

Dual Methods: Augmented Lagrangian method, Cutting Plane method,

Primal-Dual method.

Penalty and Barrier method.

top related