BaşlayınÜcretsiz Başlayın

Küresel optimumu bul

Aşağıdaki kâr maksimizasyonu problemi verildi ve senden küresel maksimumu bulman isteniyor.

\(\Pi= -\frac{1}{4}q^4 + 11q^3 - 160q^2 + 900q\)

Miktar için doğal alt sınır \(0\)'dır ve \(q=30\)'da kârın negatif olduğunu gözlemledin; dolayısıyla \(30\) üst sınır için iyi bir adaydır.

Bu problem için küresel optimumu bul.

basinhopping senin için içe aktarıldı.

Bu egzersiz

Python ile Optimizasyona Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Alt sınırı \(0\), üst sınırı \(30\) olacak şekilde anahtar argümanların sözlüğü kwargs'ı tanımla.
  • Amacı profit'in negatifi olacak şekilde ve başlangıç tahmini x0'ı minimizer'a kwargs ile geçirerek basinhopping'i çalıştır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

def profit(q): 
	return -q**4 / 4 + 11 * q**3 - 160 * q**2 + 900 * q
  
x0 = 0

# Define the keyword arguments for bounds
kwargs = {"bounds": [(____, ____)]} 

# Run basinhopping to find the optimal quantity
result = basinhopping(____ q: -profit(q), ____, ____=kwargs)

print(f"{result.message}")
print(f"The maximum according to basinhopping(x0={x0}) is at {result.x[0]:.2f}\n")
Kodu Düzenle ve Çalıştır