[파이썬][Scipy] minimize, fmin, minimize_scalar 예제

Scipy의 최적화 관련 함수인 minimize, fmin, minimize_scalar의 간단한 예제를 제공하겠습니다.

minimize 함수 예제:

minimize 함수는 다변수 함수의 최소화 문제를 해결하는 데 사용됩니다. 다음은 간단한 이차 함수를 최소화하는 예제입니다.

mport numpy as np
from scipy.optimize import minimize

# 목적 함수 정의
def quadratic_function(x):
    return (x[0] - 3) ** 2 + (x[1] - 2) ** 2

# 초기 추측값
initial_guess = [0, 0]

# 최적화 실행
result = minimize(quadratic_function, initial_guess)

# 결과 출력
print("최소값:", result.fun)
print("최적화된 변수 값:", result.x)

fmin 함수 예제:

fmin 함수는 1차원 목적 함수의 최소화 문제를 해결하는 데 사용됩니다. 다음은 간단한 1차 함수를 최소화하는 예제입니다.

from scipy.optimize import fmin

# 목적 함수 정의
def linear_function(x):
    return 2 * x**2 + 3 * x + 1

# 초기 추측값
initial_guess = 0

# 최적화 실행
result = fmin(linear_function, initial_guess)

# 결과 출력
print("최소값:", linear_function(result))
print("최적화된 변수 값:", result)

minimize_scalar 함수 예제:

minimize_scalar 함수는 1차원 목적 함수의 최소화 문제를 해결하는 데 사용됩니다. 다음은 간단한 1차 함수를 최소화하는 예제입니다.

from scipy.optimize import minimize_scalar

# 목적 함수 정의
def linear_function(x):
    return 2 * x**2 + 3 * x + 1

# 최적화 실행
result = minimize_scalar(linear_function)

# 결과 출력
print("최소값:", result.fun)
print("최적화된 변수 값:", result.x)

위의 예제에서는 간단한 목적 함수를 최소화하고 최적화된 변수 값을 출력하는 방법을 보여줍니다. 실제 응용 프로그램에서는 더 복잡한 목적 함수와 초기 추측값을 사용하여 최적화를 수행할 수 있습니다.