Masalah perencanaan logistik 2
Anda kembali menjadi konsultan bagi produsen oven dapur untuk membantu merencanakan logistik mereka. Kali ini Anda menyusun rencana untuk enam bulan ke depan (Jan.–Jun.). Masih ada dua lokasi gudang (New York dan Atlanta), dan empat lokasi pelanggan regional (East, South, Midwest, West). Biaya pengiriman dari masing-masing gudang ke pelanggan regional tercantum pada tabel di bawah. Tujuan Anda adalah menentukan jumlah pengiriman dari setiap gudang ke pelanggan yang menghasilkan biaya terendah.
| Customer | New York | Atlanta |
|---|---|---|
| East | $211 | $232 |
| South | $232 | $212 |
| Midwest | $240 | $230 |
| West | $300 | $280 |
Sebuah dictionary Python bernama costs yang memuat biaya dalam model, serta tiga list months, warehouse, dan customers telah disiapkan untuk Anda. costs sudah dicetak untuk Anda; Anda juga dapat menelusuri list tersebut di konsol. Selain itu, model telah diinisialisasi untuk Anda.
Latihan ini merupakan bagian dari kursus
Analitik Rantai Pasok dengan Python
Instruksi latihan
- Definisikan variabel keputusan dalam model dengan terlebih dahulu menggunakan list comprehension untuk melakukan iterasi atas list
months,warehouse, dancustomersguna membuat daftar key. Gunakan daftar key tersebut denganLpVariable.dicts()untuk mendefinisikan variabel yang diperlukan. - Definisikan fungsi objektif dengan menjumlahkan semua biaya pengiriman dari gudang dan pelanggan tertentu selama enam bulan.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments',
key,
lowBound=____, cat=____)
# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)]
for m in months for w in warehouse for c in customers])