CVXPY를 사용한 최적화 문제 풀기 (1)

머신러닝과 딥러닝 · 2019. 12. 30. 16:16

 

 

선형 계획법 (Linear Programming)

Convex Optimization 중에서 목적함수와 제약이 둘다 선형일 경우를 말한다.

 

예시는 다음과 같다.

결정변수(decision variable)가 $ x_{1}, x_{2} $ 2개가 있는 2차원 문제라고 가정했을 때..

Objective Function이 두 개의 결정변수의 선형으로 표시가 되고

제약사항이 아래와 있는 경우... 또한 Convex 문제가 될 수 있다.

 

이를 풀어보자.

 

 

방법 1. 기하학적 접근법

기울기가 -2가 된다.

C에 값에 따라 위 아래로 움직일 수 있다.

C를 최대화하고 싶기 때문에 직선이 위쪽으로 배치되면 좋다.

제약조건 안에서!

$ x^{*} $는 2,3이다.

 

방법 2. CVXPY 이용

CVXPY에서는 엘리먼트 와이즈하게 표현해서 빨간글씨처럼 봐도 된다.

 

result는 objective function의 값이다.

 

 

이차 계획법 (Quadratic Programming)

아래 제약조건들 중에서 $ x+3y \geq 15$의 부호를 변경한다. 같은 모양으로 바꿔준다.

 

https://www.youtube.com/watch?v=tLxsqbLIvx4