본문 바로가기

논문 읽어주는 대학원생

최적 설계란 무엇일까? 2편

저번 시간에는 최적설계가 무엇인지에 대해 소개드렸습니다. 최적설계의 핵심은 원하는 성능을 최대치로 내기 위해 성능지표를 수식화 하여 최대화 혹은 최소화 시키는 것이라고 말씀드렸습니다. 더 자세한 내용은 1편을 참고해 주세요. 
https://solz95.tistory.com/3

 

최적 설계란 무엇일까? 1편

최적 설계는 무엇일까요? 최적설계는 설계할 때 원하는 성능 지표를 수식화한 후 지표가 최대화 혹은 최소화 된 최적화 설계안을 찾아 가는 기법입니다. 제품을 설계할 때 우리는 다양한 설계안

solz95.tistory.com

이번 시간에는 수식화와 연관되어 있는 최적설계 정식화에 대해 소개드리도록 하겠습니다. 

 

정식화란 원하는 성능을 목적함수로 설정하고 제약하고자 하는 조건들을 제약조건으로 수식화하는 영역입니다. 

위와 같은 수식을 최소화 해 봅시다. 최적설계 정식화를 위해 다음의 3 조건이 충족되어야 합니다.

설계 변수가 정의되어야 한다.
원하는 성능을 목적함수로 정의해야 한다.  
제약 조건이 정의되어야 한다. (제약조건은 반드시 필요하지는 않다.)

 

이 식에서는 설계 변수가 x1 이 되겠죠? 그리고 목적함수가 상단의 식이 됩니다. 그리고 제약조건은 x1<2인 부분으로 설정해 봅시다. 아래의 표현이 최적설계 정식화 입니다.

 

Min (minimize) 앞에 목적 함수가 나오고 Min 밑에는 설계 변수가 나옵니다. 그리고 그 밑에 제약조건을 써주게 됩니다.

정식화가 꼭 필요한 이유는 정식화를 통해 최적설계가 시작되기 때문입니다. 원하는 목적함수와 제약조건들을 수식화하여 정식화 하면 수식적으로 그 근방에서 최고의 성능을 가진 설계변수 값들을 얻을 수 있게 됩니다. 1편에서 설명드렸던 의자를 예시로 들자면, 목적함수를 부피로 제약조건을 의자가 견딜 수 있는 하중으로 설정할 수 있습니다. 이 때 설계 변수가 의자의 치수가 되고 재료를 가장 덜 쓰는 쪽으로 최적설계가 진행이 되는 것과 동시에 설정했던 제약조건을 만족하는 (지정 했던 하중을 견딜 수 있는) 설계 변수 값(의자의 치수)를 얻을 수 있게 됩니다. 

 

본론으로 돌아와서, 위 식에서 최소값이 1에서 0인것은 자명합니다. 즉 이 문제의 답은 x1이 1일 때 입니다. 그리고 이 답은 제약조건인 x1 < 2 조건을 충족시킵니다. 최적설계는 이 답을 수치적으로 찾아가는 방법입니다.

 

여기에서는 쉬운 식을 목적함수로 설정하였지만 각각 원하는 지표를 수식화하여 정식화하면 최적설계기법에 활용할 수 있습니다.

 

수식화 부분은 최적설계할 때 매우 중요한 부분인데, 수식을 바탕으로 최적설계를 해야 하다 보니  이 부분이 틀려버리면 최적설계 결과가 안맞게 됩니다. 

 

더 나아가 이제 최적설계에서는 sensitivity 라는 미분화 된 objective function 값을 사용하는데, 이 미분 식도 틀려버리면 최적설계 알고리즘이 더 나은 값을 찾아주지 못합니다. (sensitivity 는 다음편에서 더 자세히 설명하도록 하겠다.) 근데 논문중에 이 수식들이 틀려있는 경우가 종종 있습니다...ㅎㅎ

 

새로 배우는 사람이 따라하지 못하게 하려고 하는건지 실수한건지 잘 모르겠습니다. 하지만 논문에 있는 수식을 사용할 때 꼭 한번씩 결과가 맞나 확인하는 과정이 필요합니다.

 

저는 대학원 생활을 할 때 이 수식화 하는 부분을 검증하려고 긴 시간을 투자한 경험이 있습니다. 수식에 친한 사람은 아니어서 이 과정이 괴로울 때가 많은데, 해당 기술을 습득하려면 반드시 해야할 영역인 것 같습니다. 

 

요약해서 이야기 하자면, 최적설계를 하기 위해서는 정식화라는 과정이 필요하며 정식화 구성 요소로는 설계 변수, 목적 함수, 제약조건이 있습니다. 핵심은 여러 문제들을 수식화 하여 정식화하는 것 입니다. 다음시간에는 sensitivity 에 대한 것을 말씀드리도록 하겠습니다.

 

들어 주셔서 감사합니다.