단변수 최적화

Python으로 배우는 Optimization 입문

Jasmin Ludolf

Content Developer

예시: 제조에서의 최적화

 

목적함수:

$P = 40q - 0.5q^2$

  • 단변수: 변수가 하나임

수량에 따른 이익 변화.

Python으로 배우는 Optimization 입문

예시: 제조에서의 최적화

 

목적함수:

$P = 40q - 0.5q^2$

  • 단변수: 변수가 하나임

수량에 따른 이익 변화.

Python으로 배우는 Optimization 입문

도함수 계산

 

목적함수:

$P = 40q - 0.5q^2$

도함수: 기울기의 변화를 설명

$\frac{dP}{dq} = 40 - q$

from sympy import symbols, diff, solve


q = symbols('q')
P = 40 * q - 0.5 * q**2
dp_dq = diff(P)
print(f"The derivative is: {dp_dq}")
The derivative is: 40 - 1.0*q
1 https://docs.sympy.org/latest/index.html
Python으로 배우는 Optimization 입문

임계점

도함수가 0인 곳이 최적점

  • 임계점: 도함수가 0인 점

최적의 $q$는 다음을 만족:

$\frac{dP}{dq} = 40 - q = 0$

q_opt = solve(dp_dq)
print(f"Optimum quantity: {q_opt}")
Optimum quantity: [40.0000000000000]
Python으로 배우는 Optimization 입문

최대값, 최소값, 또는 아님?

 

수량에 따른 이익 변화.

 

목적함수:

$p = 40q - 0.5q^2$

q_opt = solve(p_prime)
print(f"Optimum quantity: {q_opt}")
Optimum quantity: [40.0000000000000]
Python으로 배우는 Optimization 입문

볼록성과 오목성

 

오목 함수.

  • 최대값

 

볼록 함수.

  • 최소값
Python으로 배우는 Optimization 입문

이차 도함수

 

  • 도함수의 도함수
  • 변수 변화에 따른 기울기 변화율

 

  • 해당 점의 2차 도함수가 $< 0$이면: 최대값
  • 해당 점의 2차 도함수가 $> 0$이면: 최소값
  • 해당 점의 2차 도함수가 $= 0$이면: 해당 없음

수량에 따른 이익 변화.

Python으로 배우는 Optimization 입문

예시: 최대값, 최소값, 또는 아님?

 

도함수:

$\frac{dp}{dq} = 40 - q$

 

이차 도함수:

$\frac{d^2p}{dq^2} = -1 < 0$

  • 최대값!

 

d2p_dq2 = diff(dp_dq)

sol = d2p_dq2.subs('q', q_opt)
print(f"The 2nd derivative is: {sol}")
The 2nd derivative is: -1.0000000000000
Python으로 배우는 Optimization 입문

최적화에서의 도함수

 

  • 1차 도함수
    • 최적화에서 임계점 찾기
  • 2차 도함수
    • 최소값 또는 최대값 판별
Python으로 배우는 Optimization 입문

Lass uns üben!

Python으로 배우는 Optimization 입문

Preparing Video For Download...