Doğrusal kısıtlı bisküviler
Tebrikler! Bisküvi işin büyüdü. Artık ülke çapında teslimat yapmana yardımcı olacak iki fırının var: \(A\) ve \(B\).
Fırınlarının her biri günde 100 bisküvi üretebilir ve bir bisküvi üretmenin maliyeti fırın \(A\)'da miktar \(q\) için \(1.5\), fırın \(B\)'de ise \(1.75q\)'dur.
Fiyat, \(150 - q\) olarak tanımlanır.
İşlerin harika gidiyor ve gün için şimdiden 140 bisküvilik ön siparişin var. Günlük kârını en üst düzeye çıkarmak istiyorsun. Her fırında kaç bisküvi üretmelisin?
minimize, Bounds ve LinearConstraint senin için yüklendi ve gelir fonksiyonu R zaten tanımlı.
Bu egzersiz
Python ile Optimizasyona Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Maliyet fonksiyonu
C'yi fırın \(A\)'daki miktarlar içinq[0], fırın \(B\) içinq[1]kullanarak tanımla. profitfonksiyonunu tanımla.- Optimizasyon problemin için
boundsveconstraintsdeğerlerini tanımla. - Optimizasyonu gerçekleştir ve sonucu
resultdeğişkenine kaydet.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def R(q):
return (150 - q[0] - q[1]) * (q[0] + q[1])
# Define the cost function
def C(q):
return ____
# Define the profit function
def profit(q):
return ____
# Define the bounds and constraints
bounds = Bounds(____, ____)
constraints = LinearConstraint([1, 1], ____)
# Perform optimization
result = ____(lambda q: ____,
[50, 50],
bounds=bounds,
constraints=constraints)
print(result.message)
print(f'The optimal number of biscuits to bake in bakery A is: {result.x[0]:.2f}')
print(f'The optimal number of biscuits to bake in bakery B is: {result.x[1]:.2f}')
print(f'The bakery company made: ${-result.fun:.2f}')