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, kursun bir parçasıdır

Python ile Optimizasyona Giriş

Kursa Göz Atın

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ı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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