MulaiMulai sekarang secara gratis

Optimisasi linear dengan kendala: biskuit

Selamat! Bisnis biskuit Anda berkembang pesat. Kini Anda memiliki dua toko roti, \(A\) dan \(B\), untuk membantu mengirimkan biskuit Anda ke seluruh negeri.

Masing-masing toko roti dapat membuat 100 biskuit per hari dan biaya membuat satu biskuit di toko roti \(A\) adalah \(1.5\) kali kuantitas \(q\), sedangkan di toko roti \(B\) adalah \(1.75q\).

Harga didefinisikan oleh \(150 - q\).

Permintaan melonjak dan Anda sudah memiliki 140 pesanan awal biskuit untuk hari ini. Anda ingin memaksimalkan laba hari ini. Berapa banyak biskuit yang harus Anda buat di masing-masing toko roti?

minimize, Bounds, dan LinearConstraint telah dimuat untuk Anda dan fungsi pendapatan R sudah didefinisikan.

Latihan ini adalah bagian dari kursus

Pengantar Optimasi di Python

Lihat Kursus

Petunjuk latihan

  • Definisikan fungsi biaya C menggunakan q[0] untuk kuantitas di toko roti \(A\) dan q[1] untuk toko roti \(B\).
  • Definisikan fungsi profit.
  • Definisikan bounds dan constraints untuk masalah optimisasi Anda.
  • Lakukan optimisasi dan simpan ke result.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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}')
Edit dan Jalankan Kode