[2008][08-1]
Computer aided ship design Computer aided ship design Part 3. Optimization Methods Part 3. Optimization Methods
October 2008 Prof. Kyu-Yeul Lee
Department of Naval Architecture and Ocean Engineering,
Seoul National University of College of Engineering
2.3
2.3 직접 직접 탐사법 탐사법
(Direct Search Method)
(Direct Search Method)
¡ 기준점에서의 Local Pattern Search와 최적해 방향으로 가속화하는 Global Pattern Move를 이용해 최적해를 찾는 방법
3
t0
x2
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법 탐사법
7
2. Global Pattern Move 2. Global Pattern Move 3. Local Pattern Search 3. Local Pattern Search 1. Base Point가 계산 됨 1. Base Point가 계산 됨
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
3
b1
b2 2
t0
b3
b4 4 5
0 b
t Þ
x1 5
t0 7
Global Pattern Move
Local Pattern Search 기준점
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법 탐사법 예시 예시 (1/3) (1/3)
x2
b2 2
t0
3
t0
b3
1. ‘Local Pattern Search’ at point b
1• x1 방향 탐색
목적 함수 개선이 없음 à x1 방향 이동 없음
• x2 방향 탐색
목적 함수 개선이 있음 à +x2 방향 이동
• 최종 이동 후 base point b2 정의
2. ‘Global Pattern Move’ at point b
2• b2에서 b1을 대칭시켜 임시점 t02를 구함
• t02에서 목적 함수 값이 b2보다 개선되었으므로 t02에서 Local Pattern Search 수행
2. Global Pattern Move 2. Global Pattern Move 3. Local Pattern Search 3. Local Pattern Search 1. Base Point가 계산 됨 1. Base Point가 계산 됨
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
4
x1
b1
2. ‘Global Pattern Move’ at point b
2• b2에서 b1을 대칭시켜 임시점 t02를 구함
• t02에서 목적 함수 값이 b2보다 개선되었으므로 t02에서 Local Pattern Search 수행
3. ‘Local Pattern Search’ at point t
02• x1 방향 탐색
목적 함수 개선이 있음 à +x1 방향 이동
• x2 방향 탐색
목적 함수 개선이 있음 à +x2 방향 이동
• 최종 이동 후 base point b3 정의
4. ‘Global Pattern Move’ at point b
3• b3에서 t03을 대칭시켜 임시점 t03를 구함
• t03에서 목적 함수 값이 b3보다 개선되지
않았으므로 b3에서 Local Pattern Search 수행
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법 탐사법 예시 예시 (2/3) (2/3)
x2
b2 2
t0
3
t0
b3
b4 t40
5. ‘Local Pattern Search’ at point b
3• x1 방향 탐색
목적 함수 개선이 있음 à +x1 방향 이동
• x2 방향 탐색
목적 함수 개선이 없음 à x2 방향 이동 없음
• 최종 이동 후 base point b4 정의
6. ‘Global Pattern Move’ at point b
4• b4에서 b3을 대칭시켜 임시점 t04를 구함
• t04에서 목적 함수 값이 b4보다 개선되었으므로 t04에서 Local Pattern Search 수행
= b5 t50
2. Global Pattern Move 2. Global Pattern Move 3. Local Pattern Search 3. Local Pattern Search 1. Base Point가 계산 됨 1. Base Point가 계산 됨
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
5
x1
b1
6. ‘Global Pattern Move’ at point b
4• b4에서 b3을 대칭시켜 임시점 t04를 구함
• t04에서 목적 함수 값이 b4보다 개선되었으므로 t04에서 Local Pattern Search 수행
7. ‘Local Pattern Search’ at point t
04• x1 방향 탐색
목적 함수 개선이 없음 à x1 방향 이동 없음
• x2 방향 탐색
목적 함수 개선이 없음 à x2 방향 이동 없음
• 목적 함수의 개선이 없으므로 현재 위치를 base point b5로 정의
8. ‘Global Pattern Move’ at point b
5• b5에서 b4을 대칭시켜 임시점 t05를 구함
• t05에서 목적 함수 값이 b5보다 개선되지 않으므로, b5에서 Local Pattern Search 수행
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법 탐사법 예시 예시 (3/3) (3/3)
x2
b2 2
t0
3
t0
b3
b4 t40
9. ‘Local Pattern Search’ at point b
5• x1 방향 탐색
목적 함수 개선이 없음 à x1 방향 이동 없음
• x2 방향 탐색
목적 함수 개선이 없음 à x2 방향 이동 없음
• 목적 함수의 개선이 없으므로 현재 위치를 base point b6로 정의
• b5 = b6 이므로 step size를 ½로 줄이고 Local Pattern Search 수행
= b5 t50
2. Global Pattern Move 2. Global Pattern Move 3. Local Pattern Search 3. Local Pattern Search 1. Base Point가 계산 됨 1. Base Point가 계산 됨
= b6
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
6
x1
b1
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법 탐사법: Local Pattern Search : Local Pattern Search 규칙 규칙 (1/2) (1/2)
① xi 양의 방향 탐색
- 이동 후의 점 에서 함수값이 더 크다면
Local Pattern Search의 일반적 규칙
- 이동 후의 점 에서 함수값이 더 작다면 - xi 양의 방향으로 Step size만큼 탐색 점을
이동시킨 후 함수값을 비교한다
b
k- 이동 전의 점으로 돌아와 xi 음의 방향으로 탐색을 한다.
b
kF
- 이동 후의 점에서
xi+1방향으로 탐색을 시작한다.
b
kS
(F: Fail, S: Success)
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
7
b
kS
② xi 음의 방향 탐색
- xi 음의 방향으로 Step size만큼 탐색 점을 이동시킨 후 함수값을 비교한다 (xi 양의 방향으로 탐색이 실패할 경우에만
음의 방향으로 탐색을 실시한다.)
b
kF
- 이동 후의 점 에서 함수값이 더 크다면
- 이동 후의 점 에서 함수값이 더 작다면
- 이동 전의 점으로 돌아와 xi+1방향으로 탐색을 시작 한다.
b
kF
- 이동 후의 점에서
xi+1방향으로 탐색을 시작 한다.
b
kF
F
S
- i를 1부터 변수의 개수 n까지 증가시키면서 탐색한다.
- n번째 변수까지 탐색을 마치면 그 점을 새로운 Base Point bk+1로 정의한다.
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법 탐사법: Local Pattern Search : Local Pattern Search 규칙 규칙 (2/2) (2/2)
b1
b2 2
t0
3
t0
b3
b4 4 5
0 b
t Þ x2
5
t0 7
Global Pattern Move
Case 1 Case 2
Case 3
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
8
b
k§ Local Pattern Search
<Case 1> <Case 2>
(F: Fail, S: Success)
F F
S
b
kS
S <Case 3>
b
kF F
F F
b
kStep/2
bk+1 bk+1
x1
Global Pattern Move
Local Pattern Search 기준점
* 위 첨자 k는 step 번호를 의미 한다.
2개의 좌표 축(x
1, x
2)을 가진 경우의 Local Pattern Search 예시
(x1 방향 탐색)
2개의 좌표 축(x
1, x
2)을 가진 경우의 Local Pattern Search 예시
(x1 방향 탐색)
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법의 탐사법의 알고리즘 알고리즘 요약 요약 (1) (1)
1) Local Pattern Search (총 n개의 좌표 축을 가진 경우에 대하여) 1) Local Pattern Search (총 n개의 좌표 축을 가진 경우에 대하여)
1. 기준점(Base Point) b
1에서의 함수 f 의 값을 계산한다.
2. 점 b
1±δ
1에서의 함수 f 의 값을 계산한다. 여기서 δ
1은 Input Step Size이며 δ
1= [δ
1, 0, 0, …, 0]
T로 표현되는 n개의 원소를 가지는 벡터이다. 함수 값의 개선이 있는 점을 t
11이라 놓고 이로부터 계속 탐사를 진행한다.
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
9
2개의 좌표 축(x
1, x
2)을 가진 경우의 Local Pattern Search 예시
(x1 방향 탐색)
b
12. 점 b
1±δ
1에서의 함수 f 의 값을 계산한다. 여기서 δ
1은 Input Step Size이며 δ
1= [δ
1, 0, 0, …, 0]
T로 표현되는 n개의 원소를 가지는 벡터이다. 함수 값의 개선이 있는 점을 t
11이라 놓고 이로부터 계속 탐사를 진행한다.
3. 점 t
11±δ
2에서의 함수 f 의 값을 계산한다. 여기서 δ
2는 역시 Input Step Size이며 δ
2= [0, δ
2, 0, …, 0]
T이다. 그리고 함수 값의 개선이 있는 점을 t
21이라 놓는다.
x1
x2
1
= t
12개의 좌표 축(x
1, x
2)을 가진 경우의 Local Pattern Search 예시
(x2 방향 탐색)
2개의 좌표 축(x
1, x
2)을 가진 경우의 Local Pattern Search 예시
(x2 방향 탐색)
b
1 x1x2
1
= t
1 1t
22.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법의 탐사법의 알고리즘 알고리즘 요약 요약 (2) (2)
1) Local Pattern Search (총 n개의 좌표 축을 가진 경우에 대하여) 1) Local Pattern Search (총 n개의 좌표 축을 가진 경우에 대하여)
4. 나머지 좌표 축에 대해 위와 같은 Local Pattern Search 과정을 수행하고 새로운 기준점(New Base Point)을 설정한다. 즉, Local Pattern Search 과정이 끝나면 새로운 기준점이 선정된다. (선정된 새로운 기준점 b
2= t
n1)
5. 새로운 기준점과 그 직전 기준점의 방향으로 Global Pattern Move를 수행한다.
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
10
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Hooke & Hooke & Jeeves Jeeves의 의 직접 직접 탐사법의 탐사법의 알고리즘 알고리즘 요약 요약 (3) (3) 2) Global Pattern Move
2) Global Pattern Move
1. Local Pattern Search에 의해 얻어진 2개의 기준점을 연결하는 방향을 따라 제일 마지막 기준점에서 이 두 기준점 사이의 거리만큼 떨어져 있는 점을 임시
기준점(Temporary Point)로 설정하고(“Global Pattern Move”), 임시점에서의 함수 f 의 값을 계산한다. Global Pattern Move에 의해 선정된 임시 기준점은 다음과 같다.
k k
k k
k
k b b b b b
t0+1 = + 2( +1 - ) = 2 +1 - 3
t
0 2개의 좌표 축을 가진 경우의Global Pattern Move의 예시 임시 기준점에서의 함수 값이
개선되지 않은 경우 2개의 좌표 축을 가진 경우의
Global Pattern Move의 예시 임시 기준점에서의 함수 값이
개선되지 않은 경우
2. 만일 이 임시점에서 함수 f 의 값이 개선된다면
이 점에서부터 다시 Local Pattern Search를 수행한다. 함수 f 의 값이 개선되지 않는다면 그 직전의 기준점으로 돌아가 Local Pattern Search를 수행한다.
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
11
b
2 2t
0b
3b
4 2개의 좌표 축을 가진 경우의Global Pattern Move의 예시 임시 기준점에서의 함수 값이
개선되지 않은 경우 2개의 좌표 축을 가진 경우의
Global Pattern Move의 예시 임시 기준점에서의 함수 값이
개선되지 않은 경우
2. 만일 이 임시점에서 함수 f 의 값이 개선된다면
이 점에서부터 다시 Local Pattern Search를 수행한다. 함수 f 의 값이 개선되지 않는다면 그 직전의 기준점으로 돌아가 Local Pattern Search를 수행한다.
3) Closing Conditions 3) Closing Conditions
1. 만일 Local Pattern Search를 수행한 후에도 b
k+1= b
k이 되어 어떠한 개선이 이루어지지 않는다면 모든 δ
i를 δ
i/2로 바꾸어 위 과정을 반복한다.
2. 만일 모든 δ
i가 ε
i보다 작으면 탐사 과정을 마친다.
비제약
비제약 최적화 최적화 문제 문제
¡ 어느 선박의 상대적 건조비를 L/B와 C
B의 함수로 다음 그림과 같이 표시할 수 있다고 하면 건조비가 최소가 되는 L/B와 C
B의 값을 Hooke & Jeeves의 탐사법과 Nelder & Mead의 Simplex 방법을 이용하여 최적점을 구하고 그 과정을 그림에 각각 표시하시오.
— Hooke & Jeeves의 탐사법
¡ 출발점: L/B = 1, CB = 0.1
¡ 출발점의 step size: D(L/B) = 0.5, D(CB) = 0.1
— Nelder & Mead의 Simplex 방법
¡ 출발 모서리점: (L/B, CB) = (1, 0.1), (1.5, 0.1), (1.5, 0.2)
¡ 중지 기준: 0.01
C
B목적 함수의 contour line(f = const.)
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
12
¡ 어느 선박의 상대적 건조비를 L/B와 C
B의 함수로 다음 그림과 같이 표시할 수 있다고 하면 건조비가 최소가 되는 L/B와 C
B의 값을 Hooke & Jeeves의 탐사법과 Nelder & Mead의 Simplex 방법을 이용하여 최적점을 구하고 그 과정을 그림에 각각 표시하시오.
— Hooke & Jeeves의 탐사법
¡ 출발점: L/B = 1, CB = 0.1
¡ 출발점의 step size: D(L/B) = 0.5, D(CB) = 0.1
— Nelder & Mead의 Simplex 방법
¡ 출발 모서리점: (L/B, CB) = (1, 0.1), (1.5, 0.1), (1.5, 0.2)
¡ 중지 기준: 0.01
C
BL/B
0.10.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 미지수 2개인 최적화 문제 Å
비제약
비제약 최적화최적화 문제문제
-- Hooke & JeevesHooke & Jeeves의의 직접직접 탐사법을탐사법을 이용한이용한 해법해법(1)(1) CB
x B L
x1 = / , 2 =
) 3 . 0 , 5 . 6 (
) 2 . 0 , 5 . 6 (
, 1 . 0
, 5 . 0
), 2 . 0 , 7 (
1
: 1
1 2 2
1 1
1 1 1
1 0
0 1
0
2 1
0
=
® +
=
® -
=
= D
= D
=
·
t t
t t
b t
b
방향 에서
방향 에서
탐사 국부
단계
x x
x x
라고 놓고 각 탐사 단계를 설명하면 다음과 같다.
CB
0.5 0.6 0.7 0.8 0.9
2
t0
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
13
.
Point)
(Base
)
(
12
선정한다 으로
기준점
새로운 를
하였으므로
감소 함수값이
성공 탐사가
국부
t
1 2
1 t
b =
1
: 2
전체 탐사
· 단계
0.4) , 6 (
1 02
0
b t =
b 와 에서
.
02
에서의 함수값이 개선되었으므로 이 점에서부터 다시 국부탐사를 한다 임시점 t
L/B
0.1 0.2 0.3 0.4 0.5
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 b0
1
t1 2
t0 1
t2
b1
비제약
비제약 최적화최적화 문제문제
-- Hooke & JeevesHooke & Jeeves의의 직접직접 탐사법을탐사법을 이용한이용한 해법해법(2)(2)
) 5 . 0 , 5 . 5 (
) 4 . 0 , 5 . 5 (
2
: 3
2 2 2
2 1
2 1 1
2 0
=
® +
=
® -
·
t t
t t
방향 에서
방향 에서
탐사 국부
단계
x x
2 2
2 t
b =
2
: 4
전체 탐사
· 단계
0.7) , 5 . 4 (
2 30
1
b t =
b 와 에서
CB
0.5 0.6 0.7 0.8 0.9
2
t0 2
t1 3
t0 t13
2
t2
b2 3
t2
b3
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
14
0.7) , 5 . 4 (
2 30
1
b t =
b 와 에서
) 6 . 0 , 5 (
) 7 . 0 , 5 (
3
: 5
3 2 2
3 1
0 1 1
3 0
=
® -
=
®
·
t t
t t
방향 에서
방향 에서
탐사 국부
단계
x x
3 2
3 t
b =
L/B
0.1 0.2 0.3 0.4 0.5
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 b0
1
t1
b1 2
t0 2
t1 2
t2
비제약
비제약 최적화최적화 문제문제
-- Hooke & JeevesHooke & Jeeves의의 직접직접 탐사법을탐사법을 이용한이용한 해법해법(3)(3)
3
: 6
전체 탐사
· 단계
3 4
0 4
0 3
2
0.7) , 5 . 4 (
b t
t b
b
=
=
없으므로 감소가
함수값의
목적 에서는
에서 와
4 0 4 1 4 2 2
1 4
0
,
4
: 7
t t t t
=
=
·
없으므로 감소가
목적함수의 방향으로도
방향으로도 에서는
탐사 국부
단계
x
x
CB
0.5 0.6 0.7 0.8 0.9
2
t0 2
t1
b2 3
t0 t13 b3 4
t0
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
15 4
0 4 1 4 2 2
1 4
0
,
4
: 7
t t t t
=
=
·
없으므로 감소가
목적함수의 방향으로도
방향으로도 에서는
탐사 국부
단계
x
x
4 5
0
2 1
3
4
0 . 25 , 0 . 05 ,
4
: 8
b t
b b
=
= D
= D
®
=
·
x x
탐사 전체
단계
종료 탐사가
없으므로 감소가
함수의 목적
모두 국부탐사
전체탐사와 이후로는
탐사 까지의
탐사종료 단계
)
6 . 0 , 0 . 5 ( ) , / ( ) , (
: 9
2
1
= =
·
C
BB L x
x
6 . 0
, 0 . 5 /
건조비가 최소가되는 최적점은 L B = CB = 상대적
L/B
0.1 0.2 0.3 0.4 0.5
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 b0
1
t1
b1 2
t0 2
t1
2.3
2.3 직접 직접 탐사법 탐사법(Direct Search Method) (Direct Search Method)
-- Nelder Nelder & Mead & Mead 의 의 Simplex Simplex 방법 방법 알고리즘 알고리즘 개요 개요
x2 1. 설계 변수의 개수보다 1개가 많은 점을 선택
(설계 변수가 2개이므로 3개의 점 선택) 2. 목적 함수가 개선되는 방향으로 삼각형을
대칭 시켜 목적 함수값을 개선
3. 목적 함수가 개선될 경우 삼각형을 늘이고, 개선이 되지 않으면 줄이면서 최적 설계점을 찾아나감
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
16
x1
¡ n개의 설계 변수를 가진 n차원 문제에서 (n+1)개의 모서리를 가진 기하학적 형상(Simplex)의 모양과 위치를 반사(Reflection), 확장(Expansion),
수축(Contraction) 및 감소(Reduction)의 4가지 형태로 계속 변화시키면서 최적점을 찾는 방법
=
2.3
2.3 직접직접 탐사법탐사법
-- Nelder & Mead’s Simplex Nelder & Mead’s Simplex 방법방법
x
hx
hReflection
Original Simplex
Expansion
x
cx
hx
hContraction
x
hReduction
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
17
=
=
=
=
=
=
=
x
eNew Simplex Expansion to x
ewhen
x
bx
rxh: Simplex point having the largest objective function value xb: Center point between x1and x2
x
2f(x
r) < f(x
l) & f(x
e) < f(x
l)
x
lReflection to x
rx
bx
rx
2x
l(= x
l)
Original
Simplex x
cx
rContraction to x
cwhen
) ( )
(
rf
hf x ³ x
Contraction to x
cwhen
) ( )
(
rf
hf x < x
x
bx
bx
lx
lx
cx
2x
2x
bx
lReduction toward x
lwhen
x
2f(x
c) ³ f(x
h)
2.3
2.3 직접직접 탐사법탐사법
-- Nelder & MeadNelder & Mead의의 Simplex Simplex 방법의방법의 알고리즘알고리즘
¡ 단계 1 : Simplex 생성 및 목적 함수 값 계산
— Simplex의 (n+1)개의 점에서의 목적 함수 f 의 값을 계산한다.
¡ 단계 2 : 최대 및 최소값 설정
— 현재의 Simplex에서 f(x)의 값을 최대 및 최소로 하는 점을 각각 x
h, x
l이라 둔다.
¡ 단계 3 : 중심 계산
— x
h를 제외한 모든 x
i에 대한 중심(x
b)을 다음과 같이 구하고 이 점에서의 함수 값을 계산한다.
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
18
¡ 단계 1 : Simplex 생성 및 목적 함수 값 계산
— Simplex의 (n+1)개의 점에서의 목적 함수 f 의 값을 계산한다.
¡ 단계 2 : 최대 및 최소값 설정
— 현재의 Simplex에서 f(x)의 값을 최대 및 최소로 하는 점을 각각 x
h, x
l이라 둔다.
¡ 단계 3 : 중심 계산
— x
h를 제외한 모든 x
i에 대한 중심(x
b)을 다음과 같이 구하고 이 점에서의 함수 값을 계산한다.
)
, 1 1 (
1
제외 는
단 h
n
i
i
b n x x
x
å
+
=
=
x
h
x
bx
lx
22
2
1 x
x x +
b =
2.3
2.3 직접직접 탐사법탐사법(Direct Search Method)(Direct Search Method)
-- Nelder & MeadNelder & Mead의의 Simplex Simplex 방법의방법의 알고리즘의알고리즘의 요약요약(1)(1)
¡ 단계 4 : 중지 조건
— 만일 중지 조건을 만족하면 탐사 과정을 중지하고 x
l을 최적 값으로 선택한다.
그렇지 않으면 다음 과정으로 간다.
¡ 단계 5 : 반사(Reflection)
— x
h를 x
b에 대해 반사한 점 x
r을 다음과 같이 구한다.
이 점에서의 함수 값 f(x
r)을 계산하고, 다음 조건에 따라 Simplex를 변경시킨다.
e
£ +
å
-+
=
2 / 1 2 1
1
} )]
( )
( 1 [
{ 1 b
n
i
i f
n f x x
x
hx
bx
2x
l(= x
l)
x
b와 각 꼭지점 사이 거리의 평균선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
19
=
=
¡ 단계 4 : 중지 조건
— 만일 중지 조건을 만족하면 탐사 과정을 중지하고 x
l을 최적 값으로 선택한다.
그렇지 않으면 다음 과정으로 간다.
¡ 단계 5 : 반사(Reflection)
— x
h를 x
b에 대해 반사한 점 x
r을 다음과 같이 구한다.
이 점에서의 함수 값 f(x
r)을 계산하고, 다음 조건에 따라 Simplex를 변경시킨다.
h b
r x x
x = 2 -
Reflection to x
rOriginal Simplex
x
hx
bx
lx
rx
2¡ 단계 6 : 확장(Expansion)
— 단계 6-1 : f(x
r) < f(x
l)일 때
x
b를 x
r에 대해 반사시켜 확장한 점 x
e를 구한다.
이 점에서 함수 값 f(x
e)를 계산하고 이를 f(x
l)과 비교한다.
¡ 단계 6-1-1 : f(x
e) < f(x
l)일 때
xh를 xe(확장점)로 대체하고 단계 2로 간다.
¡ 단계 6-1-2 : f(x
e) ³ f(x
l)일 때
xh를 xr(반사점)로 대체하고 단계 2로 간다.
=
=
2.3
2.3 직접직접 탐사법탐사법
-- Nelder & MeadNelder & Mead의의 Simplex Simplex 방법의방법의 알고리즘의알고리즘의 요약요약(2)(2)
b r
e x x
x = 2 -
Original
Simplex
x
hx
bx
lx
2선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
20
¡ 단계 6 : 확장(Expansion)
— 단계 6-1 : f(x
r) < f(x
l)일 때
x
b를 x
r에 대해 반사시켜 확장한 점 x
e를 구한다.
이 점에서 함수 값 f(x
e)를 계산하고 이를 f(x
l)과 비교한다.
¡ 단계 6-1-1 : f(x
e) < f(x
l)일 때
xh를 xe(확장점)로 대체하고 단계 2로 간다.
¡ 단계 6-1-2 : f(x
e) ³ f(x
l)일 때
xh를 xr(반사점)로 대체하고 단계 2로 간다.
=
=
=
=
xeÆxh
x
rOriginal Simplex
x
hx
bx
lx
2xrÆxh
Æ 단계 6-1-1
f(x
e) < f(x
l)
Æ 단계 6-1-2
f(x
e) ³ f(x
l)
=
=
2.3
2.3 직접직접 탐사법탐사법
-- Nelder & MeadNelder & Mead의의 Simplex Simplex 방법의방법의 알고리즘의알고리즘의 요약요약(3)(3)
¡ 단계 6 : 확장(Expansion)
— 단계 6-2 : f(x
r) ³ f(x
l)일 때
¡ 단계 6-2-1 : x
h를 제외한 x
i중에서 f(x
r) < f(x
i)인 경우가 존재할 때
xh를 xr(반사점)로 대체하고 단계 2로 간다.
¡ 단계 6-2-2 : x
h를 제외한 x
i중에서 f(x
r) < f(x
i)인 경우가 존재하지 않을 때
다음 단계로 간다.Original Simplex
x
hx
bx
lx
2Æ 단계 6-2-1 어떤
x
i에서f(x
r) < f(x
i)
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
21
=
¡ 단계 6 : 확장(Expansion)
— 단계 6-2 : f(x
r) ³ f(x
l)일 때
¡ 단계 6-2-1 : x
h를 제외한 x
i중에서 f(x
r) < f(x
i)인 경우가 존재할 때
xh를 xr(반사점)로 대체하고 단계 2로 간다.
¡ 단계 6-2-2 : x
h를 제외한 x
i중에서 f(x
r) < f(x
i)인 경우가 존재하지 않을 때
다음 단계로 간다.xrÆxh
Æ 단계 6-2-1 어떤
x
i에서f(x
r) < f(x
i)
¡ 단계 7 : 수축(Contraction)
— 단계 7-1 : f(x
r) < f(x
h)일 때
수축점을 다음과 같이 구하고 이 점에서의 함수 값을 계산한다.
— 단계 7-2 : f(x
r) ³ f(x
h)일 때
수축점을 다음과 같이 구하고 이 점에서의 함수 값을 계산한다.
=
=
2.3
2.3 직접직접 탐사법탐사법
-- Nelder & MeadNelder & Mead의의 Simplex Simplex 방법의방법의 알고리즘의알고리즘의 요약요약(4)(4)
2 / ) ( r b
c x x
x = +
x
rx
hx
bx
l xcx
2Æ 단계 7-1
f(x
r) < f(x
h)
xc =(xr +xb)/2선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
22
¡ 단계 7 : 수축(Contraction)
— 단계 7-1 : f(x
r) < f(x
h)일 때
수축점을 다음과 같이 구하고 이 점에서의 함수 값을 계산한다.
— 단계 7-2 : f(x
r) ³ f(x
h)일 때
수축점을 다음과 같이 구하고 이 점에서의 함수 값을 계산한다.
=
=
2 / ) ( h b
c x x
x = +
xc
x
hx
bx
lx
2Æ 단계 7-2
f(x
r) ³ f(x
h)
( )/2b h
c x x
x = +
=
=
=
=
2.3
2.3 직접직접 탐사법탐사법
-- Nelder & MeadNelder & Mead의의 Simplex Simplex 방법의방법의 알고리즘의알고리즘의 요약요약(5)(5)
¡ 단계 8 : 감소(Reduction)
— 단계 8-1 : f(x
c) < f(x
h)일 때
x
h를 x
c(수축점)로 대체하고 단계 2로 간다.
— 단계 8-2 : f(x
c) ³ f(x
h)일 때
Simplex의 점들을 x
l로 향하여 감소시킨 후 단계 2로 간다. 이 때 Simplex의 감소된 점들은 다음과 같이 구한다.
x
rx
hx
bx
l xcÆxhx
2xcÆxh
x
hx
bx
lx
2또는
Æ 단계 8-1f(x
c) < f(x
h)
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
23
¡ 단계 8 : 감소(Reduction)
— 단계 8-1 : f(x
c) < f(x
h)일 때
x
h를 x
c(수축점)로 대체하고 단계 2로 간다.
— 단계 8-2 : f(x
c) ³ f(x
h)일 때
Simplex의 점들을 x
l로 향하여 감소시킨 후 단계 2로 간다. 이 때 Simplex의 감소된 점들은 다음과 같이 구한다.
x
hx
bx
l(= x
l)
Reduction toward x
lx
2 2/ ) ( i l
i x x
x = + Æ 단계 8-2
f(x
c) ³ f(x
h)
x
r비제약
비제약 최적화최적화 문제문제
-- NelderNelder & Mead& Mead의의 Simplex Simplex 방법을방법을 이용한이용한 해법해법(1)(1)
CB
0.4 0.5 0.6 0.7 0.8 0.9
5,e
1 2 3
1) 삼각형 1 : , , x x x
CB
x B L
x1 = / , 2 = 라고 놓고 각 탐사 단계를 설명하면 다음과 같다.
2 1 3
1 3
4,
1 3 4
2) ,
, Expansion
2 : , ,
h
r r
e
x x x x
x x x x
x x x x
®
®
®
가 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 모두 작으므로
을 한다.
삼각형
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
24
L/B
0.1 0.2 0.3 0.4
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
1 2,h 3 4,e
x
i숫자는 의 인덱스 i를 나타냄
x
i알파벳은 의 종류를 나타냄
h: 삼각형 꼭지점 중 함수 값이 가장 큰 점
r: reflection e: expansion c: contraction
r r
2 1 3
1 3
4,
1 3 4
2) ,
, Expansion
2 : , ,
h
r r
e
x x x x
x x x x
x x x x
®
®
®
가 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 모두 작으므로
을 한다.
삼각형
1 3 4
3 4
5, 3 4 5
3) ,
,
Expansion 3 : , ,
h
r r
e
x x x x
x x x x
x x x x
®
® ®
이 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 모두 작으므로
을 한다. 삼각형
비제약
비제약 최적화최적화 문제문제
-- NelderNelder & Mead& Mead의의 Simplex Simplex 방법을방법을 이용한이용한 해법해법(1)(1)
CB
0.4 0.5 0.6 0.7 0.8 0.9
5,e 6,e
7,r
1 2 3
1) 삼각형 1 : , , x x x
CB
x B L
x1 = / , 2 = 라고 놓고 각 탐사 단계를 설명하면 다음과 같다.
r
2 1 3
1 3
4,
1 3 4
2) ,
, Expansion
2 : , ,
h
r r
e
x x x x
x x x x
x x x x
®
®
®
가 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 모두 작으므로
을 한다.
삼각형
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
25
L/B
0.1 0.2 0.3 0.4
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
3 4,e
x
i숫자는 의 인덱스 i를 나타냄
x
i알파벳은 의 종류를 나타냄
h: 삼각형 꼭지점 중 함수 값이 가장 큰 점
r: reflection e: expansion c: contraction
2 1 3
1 3
4,
1 3 4
2) ,
, Expansion
2 : , ,
h
r r
e
x x x x
x x x x
x x x x
®
®
®
가 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 모두 작으므로
을 한다.
삼각형
1 3 4
3 4
5, 3 4 5
3) ,
,
Expansion 3 : , ,
h
r r
e
x x x x
x x x x
x x x x
®
® ®
이 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 모두 작으므로
을 한다. 삼각형
3 4 5
4 5 5, 3 4 5
4) ,
, Expansion 4 : , ,
h r
r e
x x x x x
x x x x x x x
®
® ®
이 이므로 의 중심을 기준으로 대칭 시킨다.
이 보다 모두 작으므로 을 한다. 삼각형
4 5 6 7,
7, 6 5 6 7
5) ,
5 : , ,
h r
r
x x x x x
x x x x x
®
® 가 이므로 의 중심을 기준으로 대칭 시킨다.
의 값이 보다는 크므로 다음 단계로 간다. 삼각형
비제약
비제약 최적화최적화 문제문제
-- Nelder & MeadNelder & Mead의의 Simplex Simplex 방법을방법을 이용한이용한 해법해법(2)(2)
CB
0.4 0.5 0.6 0.7 0.8 0.9
5 6
7
8,c
9,c
5 6 7
5 6 7
5 8,
6 7 8
6) ,
,
6 : , ,
h
r r
c
x x x x
x x x x x
x x
x x x
®
®
®
가 이므로 의 중심을 기준 으로 대칭 시킨다.
이 , 보다 모두 크므로 방향으로 수축을 한다.
삼각형
r
r
7 6 8
6 8 7
9,
6 8 9
7) ,
,
7 : , ,
h
r r
r c
x x x x
x
x x x x
x x
x x x
®
®
®
이 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 크고 보다 작으므로 방향으로 수축을 한다.
삼각형
선박기본설계개론
선박기본설계개론, 2006.3Computer Aided Ship Design 2008 Computer Aided Ship Design 2008 –– PART III: Optimization Methods, 2006.3 PART III: Optimization Methods NAOE/SNU
26
L/B
0.1 0.2 0.3 0.4
1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0
r
7 6 8
6 8 7
9,
6 8 9
7) ,
,
7 : , ,
h
r r
r c
x x x x
x
x x x x
x x
x x x
®
®
®
이 이므로 의 중심을 기준 으로 대칭 시킨다.
이 보다 크고 보다 작으므로 방향으로 수축을 한다.
삼각형