Global optimum खोजें
आपको निम्नलिखित profit maximization समस्या दी गई है और आपका काम global maximum खोजना है।
\(\Pi= -\frac{1}{4}q^4 + 11q^3 - 160q^2 + 900q\)
मात्रा (quantity) के लिए \(0\) एक प्राकृतिक lower bound है और आपने देखा कि \(q=30\) पर profit negative है, इसलिए \(30\) upper bound का अच्छा उम्मीदवार है।
इस समस्या के लिए global optimum खोजें।
basinhopping आपके लिए import किया जा चुका है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Optimization परिचय
अभ्यास निर्देश
kwargsनामक dictionary of keyword arguments परिभाषित करें, जिसमें bounds \(0\) और \(30\) हों।basinhoppingचलाएँ, जहाँ objectiveprofitका negative हो, और initial guessx0को minimizer कोkwargsके रूप में पास करें।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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")