All about

이 글은 제가 공부한 내용을 정리하는 글입니다. 잘못된 내용이 있을 수 있으며, 잘못된 내용을 찾으셨다면 리플로 알려주시길 부탁드립니다. 감사합니다.



Numerical Optimization, 즉 수치최적화를 공부하고 그 내용을 정리하고자 합니다.


Modeling Process


먼저 문제를 정의하는 것부터 생각해야 합니다. 예를 들어 석유 공급망을 설계하는 문제를 해결하고자 한다면


1) Define the optimization problem and model parameters


석유 공급망 해결 문제의 목표는 무엇인가? → 목표가 공급망 설계의 비용을 최소화하는 것인지, 설계된 공급망의 공급 속도를 최대화 하고 싶은지, 공급중 발생하는 비용을 최소화 하고 싶은 것인지 혹은 언급된 목표들을 복합적으로 달성하고 싶은 것인지 생각해야 합니다.


목표 설정이 끝났다면 문제를 설계하기 위해 문제의 변수들을 결정해야 합니다.


최소 몇개의 주유소를 건설해야 하는지, 사용할 수 있는 파이프 라인의 재료는 현재 얼마만큼 가지고 있으며, 부족한 재료를 구매하기 위해 사용할수 있는 금액은 얼마인지 등


2) Define decision variables


위 단계가 끝났다면, 이제 내가 결정할 수 있는 항목들을 따로 구분해야 합니다. 현재 문제가 강원도의 석유 공급망을 건설하는 계약이라면, 이 계약에서 클라이언트가 최소한 A 시와 B 시에 주유소를 건설하기 원했을때, A 시와 B 시에 건설되는 주유소는 내가 결정할 수 있는 영역이 아닌 것입니다. 그 외의 다른 도시들에 어떻게 주유소를 건설할지가 Decision Variable 이 됩니다.


3) Define the objective(cost function) and the constraints


위의 1) 에서 언급한 문제의 정의에서 '목표' 에 해당한 부분을 수식화하여 표현하면 cost function 이 됩니다.




첫번째 수식이 Cost function 이 되며, 아래의 3개 수식은 constraints 가 됩니다.

위 문제를 글로 풀어서 설명하면 아래와 같습니다.


석유 공급망 건설의 비용을 최소화 하시오. 비용(z) 은 다음과 같이 계산됩니다. 


Cost function

a) 건설되는 주유소 한 곳당(x_1) 건설비용은 7000만원입니다.

b) 사용되는 pipe line 1 km 당(x_2) 가격은 600만원입니다.

c) 새로운 도시에 주유소를 건설(x_3)할경우 허가를 위해 도시마다 500만원을 납부해야 합니다.


Constraints

a) 클라이언트는 최소 10개의 주유소를 건설하기 원합니다.

b) 현재 pipe line 생산 업체의 재고는 99 km 입니다.

c) 클라이언트는 최소 A, B 시에 주유소를 건설하기 원합니다.


Cost function 을 행렬로 바꾸어 표현하면 아래와 같습니다.



Optimization 문제의 정의는 다음과 같습니다.


"선형(비선형) 계획은 선형(비선형) 제한조건 하에서 선형(비선형) 비용함수(cost function, objective function, loss function) 을 최적화 하는 것이다."

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading