Latihan kendala logika
Pelanggan Anda memesan enam produk untuk dikirimkan selama bulan depan. Anda akan perlu mengirimkan beberapa muatan truk untuk mengantarkan semua produk. Ada batas berat pada truk Anda sebesar 25.000 lb. Demi arus kas, Anda ingin mengirim kombinasi produk paling menguntungkan yang dapat dimuat di truk Anda.
| Product | Weight (lbs) | Profitability ($US) |
|---|---|---|
| A | 12,583 | 102,564 |
| B | 9,204 | 130,043 |
| C | 12,611 | 127,648 |
| D | 12,131 | 155,058 |
| E | 12,889 | 238,846 |
| F | 11,529 | 197,030 |
Dua kamus Python weight dan prof, serta sebuah daftar prod, telah dibuat untuk Anda yang berisi berat, profitabilitas, dan nama setiap produk. Anda bisa mengeksplorasinya di konsol.
Latihan ini merupakan bagian dari kursus
Analitik Rantai Pasok dengan Python
Instruksi latihan
- Tambahkan kendala agar total berat truk kurang dari atau sama dengan 25.000 lb.
- Tambahkan kendala sehingga model akan, paling banyak, memilih hanya satu produk di antara D, E, dan F.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Initialized model, defined decision variables and objective
model = LpProblem("Loading Truck Problem", LpMaximize)
x = LpVariable.dicts('ship_', prod, cat='Binary')
model += lpSum([prof[i] * x[i] for i in prod])
# Define Constraint
model += lpSum([weight[i] * x[i] for i in prod]) ____ ____
model += ____
model.solve()
for i in prod:
print("{} status {}".format(i, x[i].varValue))